@almadar/ui 5.97.0 → 5.99.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/dist/avl/index.cjs +50 -42
- package/dist/avl/index.js +52 -44
- package/dist/components/game/3d/index.cjs +19 -6
- package/dist/components/game/3d/index.js +19 -6
- package/dist/components/game/3d/molecules/GameCanvas3D.d.ts +4 -2
- package/dist/components/game/shared/isometricTypes.d.ts +5 -0
- package/dist/components/index.cjs +29 -32
- package/dist/components/index.js +29 -32
- package/dist/lib/index.cjs +5 -2
- package/dist/lib/index.js +5 -2
- package/dist/providers/index.cjs +40 -40
- package/dist/providers/index.js +40 -40
- package/dist/runtime/index.cjs +50 -42
- package/dist/runtime/index.js +52 -44
- package/package.json +3 -3
package/dist/lib/index.js
CHANGED
|
@@ -501,11 +501,14 @@ function recordTransition(trace) {
|
|
|
501
501
|
}
|
|
502
502
|
if (entry.event === "INIT") {
|
|
503
503
|
const hasFetch = entry.effects.some((e) => e.type === "fetch");
|
|
504
|
+
const hasEntitySeed = entry.effects.some(
|
|
505
|
+
(e) => e.type === "set" && typeof e.args[0] === "string" && e.args[0].startsWith("@entity.")
|
|
506
|
+
);
|
|
504
507
|
const checkId = `init-fetch-${entry.traitName}`;
|
|
505
|
-
if (hasFetch) {
|
|
508
|
+
if (hasFetch || hasEntitySeed) {
|
|
506
509
|
registerCheck(
|
|
507
510
|
checkId,
|
|
508
|
-
`INIT transition for "${entry.traitName}" has fetch effect`,
|
|
511
|
+
`INIT transition for "${entry.traitName}" has fetch or entity-seed effect`,
|
|
509
512
|
"pass"
|
|
510
513
|
);
|
|
511
514
|
} else {
|
package/dist/providers/index.cjs
CHANGED
|
@@ -7223,11 +7223,14 @@ function recordTransition(trace) {
|
|
|
7223
7223
|
}
|
|
7224
7224
|
if (entry.event === "INIT") {
|
|
7225
7225
|
const hasFetch = entry.effects.some((e) => e.type === "fetch");
|
|
7226
|
+
const hasEntitySeed = entry.effects.some(
|
|
7227
|
+
(e) => e.type === "set" && typeof e.args[0] === "string" && e.args[0].startsWith("@entity.")
|
|
7228
|
+
);
|
|
7226
7229
|
const checkId = `init-fetch-${entry.traitName}`;
|
|
7227
|
-
if (hasFetch) {
|
|
7230
|
+
if (hasFetch || hasEntitySeed) {
|
|
7228
7231
|
registerCheck(
|
|
7229
7232
|
checkId,
|
|
7230
|
-
`INIT transition for "${entry.traitName}" has fetch effect`,
|
|
7233
|
+
`INIT transition for "${entry.traitName}" has fetch or entity-seed effect`,
|
|
7231
7234
|
"pass"
|
|
7232
7235
|
);
|
|
7233
7236
|
} else {
|
|
@@ -7870,7 +7873,7 @@ var init_ScoreDisplay = __esm({
|
|
|
7870
7873
|
}
|
|
7871
7874
|
});
|
|
7872
7875
|
function ControlButton({
|
|
7873
|
-
assetUrl
|
|
7876
|
+
assetUrl,
|
|
7874
7877
|
label,
|
|
7875
7878
|
icon,
|
|
7876
7879
|
size = "md",
|
|
@@ -7948,7 +7951,7 @@ function ControlButton({
|
|
|
7948
7951
|
}
|
|
7949
7952
|
);
|
|
7950
7953
|
}
|
|
7951
|
-
var sizeMap4, shapeMap, variantMap
|
|
7954
|
+
var sizeMap4, shapeMap, variantMap;
|
|
7952
7955
|
var init_ControlButton = __esm({
|
|
7953
7956
|
"components/game/2d/atoms/ControlButton.tsx"() {
|
|
7954
7957
|
"use client";
|
|
@@ -7975,11 +7978,6 @@ var init_ControlButton = __esm({
|
|
|
7975
7978
|
secondary: "bg-secondary text-secondary-foreground border-border hover:bg-secondary-hover",
|
|
7976
7979
|
ghost: "bg-transparent text-foreground border-border hover:bg-muted"
|
|
7977
7980
|
};
|
|
7978
|
-
DEFAULT_ASSET_URL = {
|
|
7979
|
-
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/circle_01.png",
|
|
7980
|
-
role: "ui",
|
|
7981
|
-
category: "control"
|
|
7982
|
-
};
|
|
7983
7981
|
ControlButton.displayName = "ControlButton";
|
|
7984
7982
|
}
|
|
7985
7983
|
});
|
|
@@ -8068,7 +8066,7 @@ function isKnownState(s) {
|
|
|
8068
8066
|
return s in DEFAULT_STATE_STYLES;
|
|
8069
8067
|
}
|
|
8070
8068
|
function StateIndicator({
|
|
8071
|
-
assetUrl =
|
|
8069
|
+
assetUrl = DEFAULT_ASSET_URL,
|
|
8072
8070
|
state = "idle",
|
|
8073
8071
|
label,
|
|
8074
8072
|
size = "md",
|
|
@@ -8098,14 +8096,14 @@ function StateIndicator({
|
|
|
8098
8096
|
}
|
|
8099
8097
|
);
|
|
8100
8098
|
}
|
|
8101
|
-
var
|
|
8099
|
+
var DEFAULT_ASSET_URL, DEFAULT_STATE_STYLES, DEFAULT_STYLE, STATIC_STATES, SIZE_CLASSES;
|
|
8102
8100
|
var init_StateIndicator = __esm({
|
|
8103
8101
|
"components/game/2d/atoms/StateIndicator.tsx"() {
|
|
8104
8102
|
init_Box();
|
|
8105
8103
|
init_Icon();
|
|
8106
8104
|
init_cn();
|
|
8107
8105
|
init_GameIcon();
|
|
8108
|
-
|
|
8106
|
+
DEFAULT_ASSET_URL = {
|
|
8109
8107
|
url: "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png",
|
|
8110
8108
|
role: "ui",
|
|
8111
8109
|
category: "state"
|
|
@@ -8191,7 +8189,7 @@ var init_TimerDisplay = __esm({
|
|
|
8191
8189
|
}
|
|
8192
8190
|
});
|
|
8193
8191
|
function ResourceCounter({
|
|
8194
|
-
assetUrl =
|
|
8192
|
+
assetUrl = DEFAULT_ASSET_URL2,
|
|
8195
8193
|
icon,
|
|
8196
8194
|
label = "Gold",
|
|
8197
8195
|
value = 250,
|
|
@@ -8224,7 +8222,7 @@ function ResourceCounter({
|
|
|
8224
8222
|
}
|
|
8225
8223
|
);
|
|
8226
8224
|
}
|
|
8227
|
-
var colorTokenClasses2,
|
|
8225
|
+
var colorTokenClasses2, DEFAULT_ASSET_URL2, sizeMap6;
|
|
8228
8226
|
var init_ResourceCounter = __esm({
|
|
8229
8227
|
"components/game/2d/atoms/ResourceCounter.tsx"() {
|
|
8230
8228
|
init_cn();
|
|
@@ -8240,7 +8238,7 @@ var init_ResourceCounter = __esm({
|
|
|
8240
8238
|
error: "text-error",
|
|
8241
8239
|
muted: "text-muted-foreground"
|
|
8242
8240
|
};
|
|
8243
|
-
|
|
8241
|
+
DEFAULT_ASSET_URL2 = {
|
|
8244
8242
|
url: "https://almadar-kflow-assets.web.app/shared/world-map/gold_mine.png",
|
|
8245
8243
|
role: "ui",
|
|
8246
8244
|
category: "coin"
|
|
@@ -8254,7 +8252,7 @@ var init_ResourceCounter = __esm({
|
|
|
8254
8252
|
}
|
|
8255
8253
|
});
|
|
8256
8254
|
function ItemSlot({
|
|
8257
|
-
assetUrl =
|
|
8255
|
+
assetUrl = DEFAULT_ASSET_URL3,
|
|
8258
8256
|
icon = "sword",
|
|
8259
8257
|
label = "Iron Sword",
|
|
8260
8258
|
quantity,
|
|
@@ -8309,7 +8307,7 @@ function ItemSlot({
|
|
|
8309
8307
|
}
|
|
8310
8308
|
);
|
|
8311
8309
|
}
|
|
8312
|
-
var sizeMap7, rarityBorderMap, rarityGlowMap,
|
|
8310
|
+
var sizeMap7, rarityBorderMap, rarityGlowMap, DEFAULT_ASSET_URL3, assetSizeMap;
|
|
8313
8311
|
var init_ItemSlot = __esm({
|
|
8314
8312
|
"components/game/2d/atoms/ItemSlot.tsx"() {
|
|
8315
8313
|
"use client";
|
|
@@ -8339,7 +8337,7 @@ var init_ItemSlot = __esm({
|
|
|
8339
8337
|
epic: "shadow-lg",
|
|
8340
8338
|
legendary: "shadow-lg"
|
|
8341
8339
|
};
|
|
8342
|
-
|
|
8340
|
+
DEFAULT_ASSET_URL3 = {
|
|
8343
8341
|
url: "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png",
|
|
8344
8342
|
role: "item",
|
|
8345
8343
|
category: "item"
|
|
@@ -8353,7 +8351,7 @@ var init_ItemSlot = __esm({
|
|
|
8353
8351
|
}
|
|
8354
8352
|
});
|
|
8355
8353
|
function TurnIndicator({
|
|
8356
|
-
assetUrl =
|
|
8354
|
+
assetUrl = DEFAULT_ASSET_URL4,
|
|
8357
8355
|
currentTurn = 1,
|
|
8358
8356
|
maxTurns,
|
|
8359
8357
|
activeTeam,
|
|
@@ -8393,7 +8391,7 @@ function TurnIndicator({
|
|
|
8393
8391
|
}
|
|
8394
8392
|
);
|
|
8395
8393
|
}
|
|
8396
|
-
var sizeMap8,
|
|
8394
|
+
var sizeMap8, DEFAULT_ASSET_URL4;
|
|
8397
8395
|
var init_TurnIndicator = __esm({
|
|
8398
8396
|
"components/game/2d/atoms/TurnIndicator.tsx"() {
|
|
8399
8397
|
init_cn();
|
|
@@ -8405,7 +8403,7 @@ var init_TurnIndicator = __esm({
|
|
|
8405
8403
|
md: { wrapper: "text-sm gap-2 px-3 py-1", dot: "w-2 h-2" },
|
|
8406
8404
|
lg: { wrapper: "text-base gap-2.5 px-4 py-1.5", dot: "w-2.5 h-2.5" }
|
|
8407
8405
|
};
|
|
8408
|
-
|
|
8406
|
+
DEFAULT_ASSET_URL4 = {
|
|
8409
8407
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/symbol_01.png",
|
|
8410
8408
|
role: "ui",
|
|
8411
8409
|
category: "turn"
|
|
@@ -8425,7 +8423,7 @@ function getComboScale(combo) {
|
|
|
8425
8423
|
return "";
|
|
8426
8424
|
}
|
|
8427
8425
|
function ComboCounter({
|
|
8428
|
-
assetUrl =
|
|
8426
|
+
assetUrl = DEFAULT_ASSET_URL5,
|
|
8429
8427
|
combo = 5,
|
|
8430
8428
|
multiplier,
|
|
8431
8429
|
streak,
|
|
@@ -8460,14 +8458,14 @@ function ComboCounter({
|
|
|
8460
8458
|
}
|
|
8461
8459
|
);
|
|
8462
8460
|
}
|
|
8463
|
-
var
|
|
8461
|
+
var DEFAULT_ASSET_URL5, sizeMap9;
|
|
8464
8462
|
var init_ComboCounter = __esm({
|
|
8465
8463
|
"components/game/2d/atoms/ComboCounter.tsx"() {
|
|
8466
8464
|
init_cn();
|
|
8467
8465
|
init_Box();
|
|
8468
8466
|
init_Typography();
|
|
8469
8467
|
init_GameIcon();
|
|
8470
|
-
|
|
8468
|
+
DEFAULT_ASSET_URL5 = {
|
|
8471
8469
|
url: "https://almadar-kflow-assets.web.app/shared/effects/flash/flash00.png",
|
|
8472
8470
|
role: "effect",
|
|
8473
8471
|
category: "effect"
|
|
@@ -8481,7 +8479,7 @@ var init_ComboCounter = __esm({
|
|
|
8481
8479
|
}
|
|
8482
8480
|
});
|
|
8483
8481
|
function WaypointMarker({
|
|
8484
|
-
assetUrl =
|
|
8482
|
+
assetUrl = DEFAULT_ASSET_URL6,
|
|
8485
8483
|
label,
|
|
8486
8484
|
icon,
|
|
8487
8485
|
active = true,
|
|
@@ -8541,7 +8539,7 @@ function WaypointMarker({
|
|
|
8541
8539
|
)
|
|
8542
8540
|
] });
|
|
8543
8541
|
}
|
|
8544
|
-
var
|
|
8542
|
+
var DEFAULT_ASSET_URL6, sizeMap10, checkIcon;
|
|
8545
8543
|
var init_WaypointMarker = __esm({
|
|
8546
8544
|
"components/game/2d/atoms/WaypointMarker.tsx"() {
|
|
8547
8545
|
init_cn();
|
|
@@ -8549,7 +8547,7 @@ var init_WaypointMarker = __esm({
|
|
|
8549
8547
|
init_Box();
|
|
8550
8548
|
init_Typography();
|
|
8551
8549
|
init_GameIcon();
|
|
8552
|
-
|
|
8550
|
+
DEFAULT_ASSET_URL6 = {
|
|
8553
8551
|
url: "https://almadar-kflow-assets.web.app/shared/world-map/battle_marker.png",
|
|
8554
8552
|
role: "ui",
|
|
8555
8553
|
category: "waypoint"
|
|
@@ -8570,7 +8568,7 @@ function formatDuration(seconds) {
|
|
|
8570
8568
|
return `${Math.round(seconds)}s`;
|
|
8571
8569
|
}
|
|
8572
8570
|
function StatusEffect({
|
|
8573
|
-
assetUrl =
|
|
8571
|
+
assetUrl = DEFAULT_ASSET_URL7,
|
|
8574
8572
|
icon,
|
|
8575
8573
|
label = "Shield",
|
|
8576
8574
|
duration = 30,
|
|
@@ -8621,7 +8619,7 @@ function StatusEffect({
|
|
|
8621
8619
|
label && /* @__PURE__ */ jsxRuntime.jsx(Typography, { as: "span", className: "text-xs text-muted-foreground mt-0.5 text-center whitespace-nowrap", children: label })
|
|
8622
8620
|
] });
|
|
8623
8621
|
}
|
|
8624
|
-
var
|
|
8622
|
+
var DEFAULT_ASSET_URL7, sizeMap11, variantStyles7;
|
|
8625
8623
|
var init_StatusEffect = __esm({
|
|
8626
8624
|
"components/game/2d/atoms/StatusEffect.tsx"() {
|
|
8627
8625
|
init_cn();
|
|
@@ -8629,7 +8627,7 @@ var init_StatusEffect = __esm({
|
|
|
8629
8627
|
init_Box();
|
|
8630
8628
|
init_Typography();
|
|
8631
8629
|
init_GameIcon();
|
|
8632
|
-
|
|
8630
|
+
DEFAULT_ASSET_URL7 = {
|
|
8633
8631
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/flame_01.png",
|
|
8634
8632
|
role: "ui",
|
|
8635
8633
|
category: "effect"
|
|
@@ -8648,7 +8646,7 @@ var init_StatusEffect = __esm({
|
|
|
8648
8646
|
}
|
|
8649
8647
|
});
|
|
8650
8648
|
function DamageNumber({
|
|
8651
|
-
assetUrl =
|
|
8649
|
+
assetUrl = DEFAULT_ASSET_URL8,
|
|
8652
8650
|
value = 42,
|
|
8653
8651
|
type = "damage",
|
|
8654
8652
|
size = "md",
|
|
@@ -8676,7 +8674,7 @@ function DamageNumber({
|
|
|
8676
8674
|
)
|
|
8677
8675
|
] });
|
|
8678
8676
|
}
|
|
8679
|
-
var sizeMap12, typeStyles, floatKeyframes,
|
|
8677
|
+
var sizeMap12, typeStyles, floatKeyframes, DEFAULT_ASSET_URL8;
|
|
8680
8678
|
var init_DamageNumber = __esm({
|
|
8681
8679
|
"components/game/2d/atoms/DamageNumber.tsx"() {
|
|
8682
8680
|
init_cn();
|
|
@@ -8700,7 +8698,7 @@ var init_DamageNumber = __esm({
|
|
|
8700
8698
|
100% { opacity: 0; transform: translateY(-32px) scale(0.8); }
|
|
8701
8699
|
}
|
|
8702
8700
|
`;
|
|
8703
|
-
|
|
8701
|
+
DEFAULT_ASSET_URL8 = {
|
|
8704
8702
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/spark_01.png",
|
|
8705
8703
|
role: "effect",
|
|
8706
8704
|
category: "effect"
|
|
@@ -8826,7 +8824,7 @@ var init_ChoiceButton = __esm({
|
|
|
8826
8824
|
}
|
|
8827
8825
|
});
|
|
8828
8826
|
function ActionButton({
|
|
8829
|
-
assetUrl =
|
|
8827
|
+
assetUrl = DEFAULT_ASSET_URL9,
|
|
8830
8828
|
label = "Attack",
|
|
8831
8829
|
icon,
|
|
8832
8830
|
cooldown = 0,
|
|
@@ -8895,7 +8893,7 @@ function ActionButton({
|
|
|
8895
8893
|
}
|
|
8896
8894
|
);
|
|
8897
8895
|
}
|
|
8898
|
-
var sizeMap13, variantStyles8,
|
|
8896
|
+
var sizeMap13, variantStyles8, DEFAULT_ASSET_URL9;
|
|
8899
8897
|
var init_ActionButton = __esm({
|
|
8900
8898
|
"components/game/2d/atoms/ActionButton.tsx"() {
|
|
8901
8899
|
init_cn();
|
|
@@ -8915,7 +8913,7 @@ var init_ActionButton = __esm({
|
|
|
8915
8913
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary-hover border-border",
|
|
8916
8914
|
danger: "bg-error text-error-foreground hover:bg-error/90 border-error"
|
|
8917
8915
|
};
|
|
8918
|
-
|
|
8916
|
+
DEFAULT_ASSET_URL9 = {
|
|
8919
8917
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/slash_01.png",
|
|
8920
8918
|
role: "ui",
|
|
8921
8919
|
category: "action"
|
|
@@ -9135,15 +9133,17 @@ function ControlGrid({
|
|
|
9135
9133
|
},
|
|
9136
9134
|
d
|
|
9137
9135
|
);
|
|
9136
|
+
const usesSemantic = !!directionEvents;
|
|
9137
|
+
const cell = (d) => !usesSemantic || directionEvents?.[d] ? dir(d) : /* @__PURE__ */ jsxRuntime.jsx(Box, {}, d);
|
|
9138
9138
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: cn("inline-grid grid-cols-3", ds.gap, ds.container, className), children: [
|
|
9139
9139
|
/* @__PURE__ */ jsxRuntime.jsx(Box, {}),
|
|
9140
|
-
|
|
9140
|
+
cell("up"),
|
|
9141
9141
|
/* @__PURE__ */ jsxRuntime.jsx(Box, {}),
|
|
9142
|
-
|
|
9142
|
+
cell("left"),
|
|
9143
9143
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
|
|
9144
|
-
|
|
9144
|
+
cell("right"),
|
|
9145
9145
|
/* @__PURE__ */ jsxRuntime.jsx(Box, {}),
|
|
9146
|
-
|
|
9146
|
+
cell("down"),
|
|
9147
9147
|
/* @__PURE__ */ jsxRuntime.jsx(Box, {})
|
|
9148
9148
|
] });
|
|
9149
9149
|
}
|
package/dist/providers/index.js
CHANGED
|
@@ -7178,11 +7178,14 @@ function recordTransition(trace) {
|
|
|
7178
7178
|
}
|
|
7179
7179
|
if (entry.event === "INIT") {
|
|
7180
7180
|
const hasFetch = entry.effects.some((e) => e.type === "fetch");
|
|
7181
|
+
const hasEntitySeed = entry.effects.some(
|
|
7182
|
+
(e) => e.type === "set" && typeof e.args[0] === "string" && e.args[0].startsWith("@entity.")
|
|
7183
|
+
);
|
|
7181
7184
|
const checkId = `init-fetch-${entry.traitName}`;
|
|
7182
|
-
if (hasFetch) {
|
|
7185
|
+
if (hasFetch || hasEntitySeed) {
|
|
7183
7186
|
registerCheck(
|
|
7184
7187
|
checkId,
|
|
7185
|
-
`INIT transition for "${entry.traitName}" has fetch effect`,
|
|
7188
|
+
`INIT transition for "${entry.traitName}" has fetch or entity-seed effect`,
|
|
7186
7189
|
"pass"
|
|
7187
7190
|
);
|
|
7188
7191
|
} else {
|
|
@@ -7825,7 +7828,7 @@ var init_ScoreDisplay = __esm({
|
|
|
7825
7828
|
}
|
|
7826
7829
|
});
|
|
7827
7830
|
function ControlButton({
|
|
7828
|
-
assetUrl
|
|
7831
|
+
assetUrl,
|
|
7829
7832
|
label,
|
|
7830
7833
|
icon,
|
|
7831
7834
|
size = "md",
|
|
@@ -7903,7 +7906,7 @@ function ControlButton({
|
|
|
7903
7906
|
}
|
|
7904
7907
|
);
|
|
7905
7908
|
}
|
|
7906
|
-
var sizeMap4, shapeMap, variantMap
|
|
7909
|
+
var sizeMap4, shapeMap, variantMap;
|
|
7907
7910
|
var init_ControlButton = __esm({
|
|
7908
7911
|
"components/game/2d/atoms/ControlButton.tsx"() {
|
|
7909
7912
|
"use client";
|
|
@@ -7930,11 +7933,6 @@ var init_ControlButton = __esm({
|
|
|
7930
7933
|
secondary: "bg-secondary text-secondary-foreground border-border hover:bg-secondary-hover",
|
|
7931
7934
|
ghost: "bg-transparent text-foreground border-border hover:bg-muted"
|
|
7932
7935
|
};
|
|
7933
|
-
DEFAULT_ASSET_URL = {
|
|
7934
|
-
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/circle_01.png",
|
|
7935
|
-
role: "ui",
|
|
7936
|
-
category: "control"
|
|
7937
|
-
};
|
|
7938
7936
|
ControlButton.displayName = "ControlButton";
|
|
7939
7937
|
}
|
|
7940
7938
|
});
|
|
@@ -8023,7 +8021,7 @@ function isKnownState(s) {
|
|
|
8023
8021
|
return s in DEFAULT_STATE_STYLES;
|
|
8024
8022
|
}
|
|
8025
8023
|
function StateIndicator({
|
|
8026
|
-
assetUrl =
|
|
8024
|
+
assetUrl = DEFAULT_ASSET_URL,
|
|
8027
8025
|
state = "idle",
|
|
8028
8026
|
label,
|
|
8029
8027
|
size = "md",
|
|
@@ -8053,14 +8051,14 @@ function StateIndicator({
|
|
|
8053
8051
|
}
|
|
8054
8052
|
);
|
|
8055
8053
|
}
|
|
8056
|
-
var
|
|
8054
|
+
var DEFAULT_ASSET_URL, DEFAULT_STATE_STYLES, DEFAULT_STYLE, STATIC_STATES, SIZE_CLASSES;
|
|
8057
8055
|
var init_StateIndicator = __esm({
|
|
8058
8056
|
"components/game/2d/atoms/StateIndicator.tsx"() {
|
|
8059
8057
|
init_Box();
|
|
8060
8058
|
init_Icon();
|
|
8061
8059
|
init_cn();
|
|
8062
8060
|
init_GameIcon();
|
|
8063
|
-
|
|
8061
|
+
DEFAULT_ASSET_URL = {
|
|
8064
8062
|
url: "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png",
|
|
8065
8063
|
role: "ui",
|
|
8066
8064
|
category: "state"
|
|
@@ -8146,7 +8144,7 @@ var init_TimerDisplay = __esm({
|
|
|
8146
8144
|
}
|
|
8147
8145
|
});
|
|
8148
8146
|
function ResourceCounter({
|
|
8149
|
-
assetUrl =
|
|
8147
|
+
assetUrl = DEFAULT_ASSET_URL2,
|
|
8150
8148
|
icon,
|
|
8151
8149
|
label = "Gold",
|
|
8152
8150
|
value = 250,
|
|
@@ -8179,7 +8177,7 @@ function ResourceCounter({
|
|
|
8179
8177
|
}
|
|
8180
8178
|
);
|
|
8181
8179
|
}
|
|
8182
|
-
var colorTokenClasses2,
|
|
8180
|
+
var colorTokenClasses2, DEFAULT_ASSET_URL2, sizeMap6;
|
|
8183
8181
|
var init_ResourceCounter = __esm({
|
|
8184
8182
|
"components/game/2d/atoms/ResourceCounter.tsx"() {
|
|
8185
8183
|
init_cn();
|
|
@@ -8195,7 +8193,7 @@ var init_ResourceCounter = __esm({
|
|
|
8195
8193
|
error: "text-error",
|
|
8196
8194
|
muted: "text-muted-foreground"
|
|
8197
8195
|
};
|
|
8198
|
-
|
|
8196
|
+
DEFAULT_ASSET_URL2 = {
|
|
8199
8197
|
url: "https://almadar-kflow-assets.web.app/shared/world-map/gold_mine.png",
|
|
8200
8198
|
role: "ui",
|
|
8201
8199
|
category: "coin"
|
|
@@ -8209,7 +8207,7 @@ var init_ResourceCounter = __esm({
|
|
|
8209
8207
|
}
|
|
8210
8208
|
});
|
|
8211
8209
|
function ItemSlot({
|
|
8212
|
-
assetUrl =
|
|
8210
|
+
assetUrl = DEFAULT_ASSET_URL3,
|
|
8213
8211
|
icon = "sword",
|
|
8214
8212
|
label = "Iron Sword",
|
|
8215
8213
|
quantity,
|
|
@@ -8264,7 +8262,7 @@ function ItemSlot({
|
|
|
8264
8262
|
}
|
|
8265
8263
|
);
|
|
8266
8264
|
}
|
|
8267
|
-
var sizeMap7, rarityBorderMap, rarityGlowMap,
|
|
8265
|
+
var sizeMap7, rarityBorderMap, rarityGlowMap, DEFAULT_ASSET_URL3, assetSizeMap;
|
|
8268
8266
|
var init_ItemSlot = __esm({
|
|
8269
8267
|
"components/game/2d/atoms/ItemSlot.tsx"() {
|
|
8270
8268
|
"use client";
|
|
@@ -8294,7 +8292,7 @@ var init_ItemSlot = __esm({
|
|
|
8294
8292
|
epic: "shadow-lg",
|
|
8295
8293
|
legendary: "shadow-lg"
|
|
8296
8294
|
};
|
|
8297
|
-
|
|
8295
|
+
DEFAULT_ASSET_URL3 = {
|
|
8298
8296
|
url: "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png",
|
|
8299
8297
|
role: "item",
|
|
8300
8298
|
category: "item"
|
|
@@ -8308,7 +8306,7 @@ var init_ItemSlot = __esm({
|
|
|
8308
8306
|
}
|
|
8309
8307
|
});
|
|
8310
8308
|
function TurnIndicator({
|
|
8311
|
-
assetUrl =
|
|
8309
|
+
assetUrl = DEFAULT_ASSET_URL4,
|
|
8312
8310
|
currentTurn = 1,
|
|
8313
8311
|
maxTurns,
|
|
8314
8312
|
activeTeam,
|
|
@@ -8348,7 +8346,7 @@ function TurnIndicator({
|
|
|
8348
8346
|
}
|
|
8349
8347
|
);
|
|
8350
8348
|
}
|
|
8351
|
-
var sizeMap8,
|
|
8349
|
+
var sizeMap8, DEFAULT_ASSET_URL4;
|
|
8352
8350
|
var init_TurnIndicator = __esm({
|
|
8353
8351
|
"components/game/2d/atoms/TurnIndicator.tsx"() {
|
|
8354
8352
|
init_cn();
|
|
@@ -8360,7 +8358,7 @@ var init_TurnIndicator = __esm({
|
|
|
8360
8358
|
md: { wrapper: "text-sm gap-2 px-3 py-1", dot: "w-2 h-2" },
|
|
8361
8359
|
lg: { wrapper: "text-base gap-2.5 px-4 py-1.5", dot: "w-2.5 h-2.5" }
|
|
8362
8360
|
};
|
|
8363
|
-
|
|
8361
|
+
DEFAULT_ASSET_URL4 = {
|
|
8364
8362
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/symbol_01.png",
|
|
8365
8363
|
role: "ui",
|
|
8366
8364
|
category: "turn"
|
|
@@ -8380,7 +8378,7 @@ function getComboScale(combo) {
|
|
|
8380
8378
|
return "";
|
|
8381
8379
|
}
|
|
8382
8380
|
function ComboCounter({
|
|
8383
|
-
assetUrl =
|
|
8381
|
+
assetUrl = DEFAULT_ASSET_URL5,
|
|
8384
8382
|
combo = 5,
|
|
8385
8383
|
multiplier,
|
|
8386
8384
|
streak,
|
|
@@ -8415,14 +8413,14 @@ function ComboCounter({
|
|
|
8415
8413
|
}
|
|
8416
8414
|
);
|
|
8417
8415
|
}
|
|
8418
|
-
var
|
|
8416
|
+
var DEFAULT_ASSET_URL5, sizeMap9;
|
|
8419
8417
|
var init_ComboCounter = __esm({
|
|
8420
8418
|
"components/game/2d/atoms/ComboCounter.tsx"() {
|
|
8421
8419
|
init_cn();
|
|
8422
8420
|
init_Box();
|
|
8423
8421
|
init_Typography();
|
|
8424
8422
|
init_GameIcon();
|
|
8425
|
-
|
|
8423
|
+
DEFAULT_ASSET_URL5 = {
|
|
8426
8424
|
url: "https://almadar-kflow-assets.web.app/shared/effects/flash/flash00.png",
|
|
8427
8425
|
role: "effect",
|
|
8428
8426
|
category: "effect"
|
|
@@ -8436,7 +8434,7 @@ var init_ComboCounter = __esm({
|
|
|
8436
8434
|
}
|
|
8437
8435
|
});
|
|
8438
8436
|
function WaypointMarker({
|
|
8439
|
-
assetUrl =
|
|
8437
|
+
assetUrl = DEFAULT_ASSET_URL6,
|
|
8440
8438
|
label,
|
|
8441
8439
|
icon,
|
|
8442
8440
|
active = true,
|
|
@@ -8496,7 +8494,7 @@ function WaypointMarker({
|
|
|
8496
8494
|
)
|
|
8497
8495
|
] });
|
|
8498
8496
|
}
|
|
8499
|
-
var
|
|
8497
|
+
var DEFAULT_ASSET_URL6, sizeMap10, checkIcon;
|
|
8500
8498
|
var init_WaypointMarker = __esm({
|
|
8501
8499
|
"components/game/2d/atoms/WaypointMarker.tsx"() {
|
|
8502
8500
|
init_cn();
|
|
@@ -8504,7 +8502,7 @@ var init_WaypointMarker = __esm({
|
|
|
8504
8502
|
init_Box();
|
|
8505
8503
|
init_Typography();
|
|
8506
8504
|
init_GameIcon();
|
|
8507
|
-
|
|
8505
|
+
DEFAULT_ASSET_URL6 = {
|
|
8508
8506
|
url: "https://almadar-kflow-assets.web.app/shared/world-map/battle_marker.png",
|
|
8509
8507
|
role: "ui",
|
|
8510
8508
|
category: "waypoint"
|
|
@@ -8525,7 +8523,7 @@ function formatDuration(seconds) {
|
|
|
8525
8523
|
return `${Math.round(seconds)}s`;
|
|
8526
8524
|
}
|
|
8527
8525
|
function StatusEffect({
|
|
8528
|
-
assetUrl =
|
|
8526
|
+
assetUrl = DEFAULT_ASSET_URL7,
|
|
8529
8527
|
icon,
|
|
8530
8528
|
label = "Shield",
|
|
8531
8529
|
duration = 30,
|
|
@@ -8576,7 +8574,7 @@ function StatusEffect({
|
|
|
8576
8574
|
label && /* @__PURE__ */ jsx(Typography, { as: "span", className: "text-xs text-muted-foreground mt-0.5 text-center whitespace-nowrap", children: label })
|
|
8577
8575
|
] });
|
|
8578
8576
|
}
|
|
8579
|
-
var
|
|
8577
|
+
var DEFAULT_ASSET_URL7, sizeMap11, variantStyles7;
|
|
8580
8578
|
var init_StatusEffect = __esm({
|
|
8581
8579
|
"components/game/2d/atoms/StatusEffect.tsx"() {
|
|
8582
8580
|
init_cn();
|
|
@@ -8584,7 +8582,7 @@ var init_StatusEffect = __esm({
|
|
|
8584
8582
|
init_Box();
|
|
8585
8583
|
init_Typography();
|
|
8586
8584
|
init_GameIcon();
|
|
8587
|
-
|
|
8585
|
+
DEFAULT_ASSET_URL7 = {
|
|
8588
8586
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/flame_01.png",
|
|
8589
8587
|
role: "ui",
|
|
8590
8588
|
category: "effect"
|
|
@@ -8603,7 +8601,7 @@ var init_StatusEffect = __esm({
|
|
|
8603
8601
|
}
|
|
8604
8602
|
});
|
|
8605
8603
|
function DamageNumber({
|
|
8606
|
-
assetUrl =
|
|
8604
|
+
assetUrl = DEFAULT_ASSET_URL8,
|
|
8607
8605
|
value = 42,
|
|
8608
8606
|
type = "damage",
|
|
8609
8607
|
size = "md",
|
|
@@ -8631,7 +8629,7 @@ function DamageNumber({
|
|
|
8631
8629
|
)
|
|
8632
8630
|
] });
|
|
8633
8631
|
}
|
|
8634
|
-
var sizeMap12, typeStyles, floatKeyframes,
|
|
8632
|
+
var sizeMap12, typeStyles, floatKeyframes, DEFAULT_ASSET_URL8;
|
|
8635
8633
|
var init_DamageNumber = __esm({
|
|
8636
8634
|
"components/game/2d/atoms/DamageNumber.tsx"() {
|
|
8637
8635
|
init_cn();
|
|
@@ -8655,7 +8653,7 @@ var init_DamageNumber = __esm({
|
|
|
8655
8653
|
100% { opacity: 0; transform: translateY(-32px) scale(0.8); }
|
|
8656
8654
|
}
|
|
8657
8655
|
`;
|
|
8658
|
-
|
|
8656
|
+
DEFAULT_ASSET_URL8 = {
|
|
8659
8657
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/spark_01.png",
|
|
8660
8658
|
role: "effect",
|
|
8661
8659
|
category: "effect"
|
|
@@ -8781,7 +8779,7 @@ var init_ChoiceButton = __esm({
|
|
|
8781
8779
|
}
|
|
8782
8780
|
});
|
|
8783
8781
|
function ActionButton({
|
|
8784
|
-
assetUrl =
|
|
8782
|
+
assetUrl = DEFAULT_ASSET_URL9,
|
|
8785
8783
|
label = "Attack",
|
|
8786
8784
|
icon,
|
|
8787
8785
|
cooldown = 0,
|
|
@@ -8850,7 +8848,7 @@ function ActionButton({
|
|
|
8850
8848
|
}
|
|
8851
8849
|
);
|
|
8852
8850
|
}
|
|
8853
|
-
var sizeMap13, variantStyles8,
|
|
8851
|
+
var sizeMap13, variantStyles8, DEFAULT_ASSET_URL9;
|
|
8854
8852
|
var init_ActionButton = __esm({
|
|
8855
8853
|
"components/game/2d/atoms/ActionButton.tsx"() {
|
|
8856
8854
|
init_cn();
|
|
@@ -8870,7 +8868,7 @@ var init_ActionButton = __esm({
|
|
|
8870
8868
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary-hover border-border",
|
|
8871
8869
|
danger: "bg-error text-error-foreground hover:bg-error/90 border-error"
|
|
8872
8870
|
};
|
|
8873
|
-
|
|
8871
|
+
DEFAULT_ASSET_URL9 = {
|
|
8874
8872
|
url: "https://almadar-kflow-assets.web.app/shared/effects/particles/slash_01.png",
|
|
8875
8873
|
role: "ui",
|
|
8876
8874
|
category: "action"
|
|
@@ -9090,15 +9088,17 @@ function ControlGrid({
|
|
|
9090
9088
|
},
|
|
9091
9089
|
d
|
|
9092
9090
|
);
|
|
9091
|
+
const usesSemantic = !!directionEvents;
|
|
9092
|
+
const cell = (d) => !usesSemantic || directionEvents?.[d] ? dir(d) : /* @__PURE__ */ jsx(Box, {}, d);
|
|
9093
9093
|
return /* @__PURE__ */ jsxs(Box, { className: cn("inline-grid grid-cols-3", ds.gap, ds.container, className), children: [
|
|
9094
9094
|
/* @__PURE__ */ jsx(Box, {}),
|
|
9095
|
-
|
|
9095
|
+
cell("up"),
|
|
9096
9096
|
/* @__PURE__ */ jsx(Box, {}),
|
|
9097
|
-
|
|
9097
|
+
cell("left"),
|
|
9098
9098
|
/* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(Box, { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
|
|
9099
|
-
|
|
9099
|
+
cell("right"),
|
|
9100
9100
|
/* @__PURE__ */ jsx(Box, {}),
|
|
9101
|
-
|
|
9101
|
+
cell("down"),
|
|
9102
9102
|
/* @__PURE__ */ jsx(Box, {})
|
|
9103
9103
|
] });
|
|
9104
9104
|
}
|