@almadar/ui 5.140.0 → 5.142.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 +1380 -1226
- package/dist/avl/index.js +409 -255
- package/dist/{avl-schema-parser-B8Onmfsu.d.cts → avl-schema-parser-DAs12kxP.d.ts} +229 -2
- package/dist/{avl-schema-parser-B8Onmfsu.d.ts → avl-schema-parser-wOkfbwAh.d.cts} +229 -2
- package/dist/{cn-Do5Ra3l3.d.ts → cn-BDwC4QpH.d.ts} +1 -1
- package/dist/{cn-DkGYzPOg.d.cts → cn-rwc3svaX.d.cts} +1 -1
- package/dist/components/index.cjs +1364 -1210
- package/dist/components/index.d.cts +13 -6
- package/dist/components/index.d.ts +13 -6
- package/dist/components/index.js +400 -246
- package/dist/lib/drawable/three/index.cjs +542 -154
- package/dist/lib/drawable/three/index.d.cts +14 -171
- package/dist/lib/drawable/three/index.d.ts +14 -171
- package/dist/lib/drawable/three/index.js +518 -130
- package/dist/lib/index.d.cts +2 -2
- package/dist/lib/index.d.ts +2 -2
- package/dist/{paintDispatch-B5pPeSEp.d.cts → paintDispatch-BQn5Lyx1.d.cts} +160 -3
- package/dist/{paintDispatch-B5pPeSEp.d.ts → paintDispatch-BQn5Lyx1.d.ts} +160 -3
- package/dist/providers/index.cjs +1263 -1109
- package/dist/providers/index.js +384 -230
- package/dist/runtime/index.cjs +1241 -1087
- package/dist/runtime/index.js +389 -235
- package/package.json +4 -4
package/dist/avl/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React94 from 'react';
|
|
3
|
+
import React94__default, { createContext, useState, useMemo, useRef, useEffect, useContext, useCallback, Suspense, useLayoutEffect, Profiler, useReducer, useSyncExternalStore, lazy, useId } from 'react';
|
|
4
4
|
import { getAllPages, matchPathAmong, OrbitalProvider, EventBusContext, useTraitScopeChain, ServerBridgeProvider, VerificationProvider, EntitySchemaProvider, OrbitalThemeProvider, useServerBridge, EntityBindingContext, useEntitySchema, useEntitySchemaOptional, useEntityBindingSnapshot, TraitScopeProvider, useTraitScope, useCurrentPagePath, useGameAudioContextOptional } from '@almadar/ui/providers';
|
|
5
5
|
import { createLogger, setNamespaceLevel, isLogLevelEnabled } from '@almadar/logger';
|
|
6
6
|
import ELK from 'elkjs/lib/elk.bundled.js';
|
|
@@ -3301,7 +3301,7 @@ var init_Typography = __esm({
|
|
|
3301
3301
|
if (format !== void 0 && format !== "none" && (typeof body === "string" || typeof body === "number" || body instanceof Date)) {
|
|
3302
3302
|
body = formatValue(body, format);
|
|
3303
3303
|
}
|
|
3304
|
-
return
|
|
3304
|
+
return React94__default.createElement(
|
|
3305
3305
|
Component,
|
|
3306
3306
|
{
|
|
3307
3307
|
id,
|
|
@@ -3647,7 +3647,7 @@ var init_Box = __esm({
|
|
|
3647
3647
|
fixed: "fixed",
|
|
3648
3648
|
sticky: "sticky"
|
|
3649
3649
|
};
|
|
3650
|
-
Box =
|
|
3650
|
+
Box = React94__default.forwardRef(
|
|
3651
3651
|
({
|
|
3652
3652
|
padding,
|
|
3653
3653
|
paddingX,
|
|
@@ -3712,7 +3712,7 @@ var init_Box = __esm({
|
|
|
3712
3712
|
onPointerDown?.(e);
|
|
3713
3713
|
}, [hoverEvent, tapReveal, triggerProps, onPointerDown]);
|
|
3714
3714
|
const isClickable = action || onClick;
|
|
3715
|
-
return
|
|
3715
|
+
return React94__default.createElement(
|
|
3716
3716
|
Component,
|
|
3717
3717
|
{
|
|
3718
3718
|
ref,
|
|
@@ -3808,7 +3808,7 @@ var init_Stack = __esm({
|
|
|
3808
3808
|
};
|
|
3809
3809
|
const isHorizontal = direction === "horizontal";
|
|
3810
3810
|
const directionClass = responsive && isHorizontal ? reverse ? "flex-col-reverse md:flex-row-reverse" : "flex-col md:flex-row" : isHorizontal ? reverse ? "flex-row-reverse" : "flex-row" : reverse ? "flex-col-reverse" : "flex-col";
|
|
3811
|
-
return
|
|
3811
|
+
return React94__default.createElement(
|
|
3812
3812
|
Component,
|
|
3813
3813
|
{
|
|
3814
3814
|
className: cn(
|
|
@@ -4300,7 +4300,7 @@ var init_MiniStateMachine = __esm({
|
|
|
4300
4300
|
const x = 2 + i * (NODE_W + GAP + ARROW_W + GAP);
|
|
4301
4301
|
const tc = transitionCounts[s.name] ?? 0;
|
|
4302
4302
|
const role = getStateRole(s.name, s.isInitial ?? void 0, s.isTerminal ?? void 0, tc, maxTC);
|
|
4303
|
-
return /* @__PURE__ */ jsxs(
|
|
4303
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
4304
4304
|
/* @__PURE__ */ jsx(
|
|
4305
4305
|
AvlState,
|
|
4306
4306
|
{
|
|
@@ -4583,7 +4583,7 @@ function resolveMarkerExpression(expression, entity, config, state) {
|
|
|
4583
4583
|
function isPlainObject(value) {
|
|
4584
4584
|
if (value === null || value === void 0 || typeof value !== "object") return false;
|
|
4585
4585
|
if (Array.isArray(value)) return false;
|
|
4586
|
-
if (
|
|
4586
|
+
if (React94__default.isValidElement(value)) return false;
|
|
4587
4587
|
if (value instanceof Date) return false;
|
|
4588
4588
|
if (typeof value === "function") return false;
|
|
4589
4589
|
return true;
|
|
@@ -4820,7 +4820,7 @@ var init_Icon = __esm({
|
|
|
4820
4820
|
const effectiveName = typeof icon === "string" && icon !== "" ? icon : name;
|
|
4821
4821
|
const effectiveStrokeWidth = strokeWidth != null && strokeWidth > 0 ? strokeWidth : void 0;
|
|
4822
4822
|
const family = useIconFamily();
|
|
4823
|
-
const RenderedComponent =
|
|
4823
|
+
const RenderedComponent = React94__default.useMemo(() => {
|
|
4824
4824
|
if (directIcon) return null;
|
|
4825
4825
|
return effectiveName ? resolveIconForFamily(effectiveName) : null;
|
|
4826
4826
|
}, [directIcon, effectiveName, family]);
|
|
@@ -4944,7 +4944,7 @@ var init_atlasSlice = __esm({
|
|
|
4944
4944
|
}
|
|
4945
4945
|
});
|
|
4946
4946
|
function useAtlasSliceDataUrl(asset) {
|
|
4947
|
-
const [, bump] =
|
|
4947
|
+
const [, bump] = React94.useReducer((x) => x + 1, 0);
|
|
4948
4948
|
if (!isAtlasAsset(asset)) return void 0;
|
|
4949
4949
|
const key = `${asset.atlas}#${asset.sprite}`;
|
|
4950
4950
|
const cached = sliceDataUrlCache.get(key);
|
|
@@ -5007,13 +5007,13 @@ function AtlasImage({
|
|
|
5007
5007
|
style,
|
|
5008
5008
|
"aria-hidden": ariaHidden
|
|
5009
5009
|
}) {
|
|
5010
|
-
const [, bump] =
|
|
5011
|
-
const canvasRef =
|
|
5010
|
+
const [, bump] = React94.useReducer((x) => x + 1, 0);
|
|
5011
|
+
const canvasRef = React94.useRef(null);
|
|
5012
5012
|
const sliced = isAtlasAsset(asset);
|
|
5013
5013
|
const atlas = sliced ? getAtlas(asset.atlas, bump) : void 0;
|
|
5014
5014
|
const img = sliced && asset?.url ? getSheetImage(asset.url, bump) : null;
|
|
5015
5015
|
const rect = sliced && atlas ? subRectFor(atlas, asset.sprite) : null;
|
|
5016
|
-
|
|
5016
|
+
React94.useEffect(() => {
|
|
5017
5017
|
const canvas = canvasRef.current;
|
|
5018
5018
|
if (!canvas || !img || !rect) return;
|
|
5019
5019
|
canvas.width = rect.sw;
|
|
@@ -5089,7 +5089,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
5089
5089
|
const IconComp = value;
|
|
5090
5090
|
return /* @__PURE__ */ jsx(IconComp, { className: sizeClass });
|
|
5091
5091
|
}
|
|
5092
|
-
if (
|
|
5092
|
+
if (React94__default.isValidElement(value)) {
|
|
5093
5093
|
return value;
|
|
5094
5094
|
}
|
|
5095
5095
|
if (typeof value === "object" && value !== null && isIconLike(value)) {
|
|
@@ -5166,7 +5166,7 @@ var init_Button = __esm({
|
|
|
5166
5166
|
md: "h-icon-default w-icon-default",
|
|
5167
5167
|
lg: "h-icon-default w-icon-default"
|
|
5168
5168
|
};
|
|
5169
|
-
Button =
|
|
5169
|
+
Button = React94__default.forwardRef(
|
|
5170
5170
|
({
|
|
5171
5171
|
className,
|
|
5172
5172
|
variant = "primary",
|
|
@@ -5236,7 +5236,7 @@ var Dialog;
|
|
|
5236
5236
|
var init_Dialog = __esm({
|
|
5237
5237
|
"components/core/atoms/Dialog.tsx"() {
|
|
5238
5238
|
init_cn();
|
|
5239
|
-
Dialog =
|
|
5239
|
+
Dialog = React94__default.forwardRef(
|
|
5240
5240
|
({
|
|
5241
5241
|
role = "dialog",
|
|
5242
5242
|
"aria-modal": ariaModal = true,
|
|
@@ -5799,7 +5799,7 @@ var init_Badge = __esm({
|
|
|
5799
5799
|
md: "px-2.5 py-1 text-sm",
|
|
5800
5800
|
lg: "px-3 py-1.5 text-base"
|
|
5801
5801
|
};
|
|
5802
|
-
Badge =
|
|
5802
|
+
Badge = React94__default.forwardRef(
|
|
5803
5803
|
({ className, variant = "default", size = "sm", amount, label, icon, iconAsset, children, onRemove, removeLabel, ...props }, ref) => {
|
|
5804
5804
|
const iconSizes3 = {
|
|
5805
5805
|
sm: "h-icon-default w-icon-default",
|
|
@@ -6149,7 +6149,7 @@ var init_SvgFlow = __esm({
|
|
|
6149
6149
|
width = 100,
|
|
6150
6150
|
height = 100
|
|
6151
6151
|
}) => {
|
|
6152
|
-
const markerId =
|
|
6152
|
+
const markerId = React94__default.useMemo(() => {
|
|
6153
6153
|
flowIdCounter += 1;
|
|
6154
6154
|
return `almadar-flow-arrow-${flowIdCounter}`;
|
|
6155
6155
|
}, []);
|
|
@@ -6742,7 +6742,7 @@ var init_SvgRing = __esm({
|
|
|
6742
6742
|
width = 100,
|
|
6743
6743
|
height = 100
|
|
6744
6744
|
}) => {
|
|
6745
|
-
const gradientId =
|
|
6745
|
+
const gradientId = React94__default.useMemo(() => {
|
|
6746
6746
|
ringIdCounter += 1;
|
|
6747
6747
|
return `almadar-ring-glow-${ringIdCounter}`;
|
|
6748
6748
|
}, []);
|
|
@@ -6923,7 +6923,7 @@ var init_Input = __esm({
|
|
|
6923
6923
|
init_cn();
|
|
6924
6924
|
init_Icon();
|
|
6925
6925
|
init_useEventBus();
|
|
6926
|
-
Input =
|
|
6926
|
+
Input = React94__default.forwardRef(
|
|
6927
6927
|
({
|
|
6928
6928
|
className,
|
|
6929
6929
|
inputType,
|
|
@@ -6947,9 +6947,9 @@ var init_Input = __esm({
|
|
|
6947
6947
|
const eventBus = useEventBus();
|
|
6948
6948
|
const type = inputType || htmlType || "text";
|
|
6949
6949
|
const isDeclarative = typeof onChange === "string";
|
|
6950
|
-
const [localValue, setLocalValue] =
|
|
6951
|
-
const pendingEchoRef =
|
|
6952
|
-
|
|
6950
|
+
const [localValue, setLocalValue] = React94__default.useState(value);
|
|
6951
|
+
const pendingEchoRef = React94__default.useRef(/* @__PURE__ */ new Set());
|
|
6952
|
+
React94__default.useEffect(() => {
|
|
6953
6953
|
if (!isDeclarative) return;
|
|
6954
6954
|
const incoming = value == null ? "" : String(value);
|
|
6955
6955
|
if (pendingEchoRef.current.has(incoming)) {
|
|
@@ -7109,7 +7109,7 @@ var Label;
|
|
|
7109
7109
|
var init_Label = __esm({
|
|
7110
7110
|
"components/core/atoms/Label.tsx"() {
|
|
7111
7111
|
init_cn();
|
|
7112
|
-
Label =
|
|
7112
|
+
Label = React94__default.forwardRef(
|
|
7113
7113
|
({ className, required, children, ...props }, ref) => {
|
|
7114
7114
|
return /* @__PURE__ */ jsxs(
|
|
7115
7115
|
"label",
|
|
@@ -7136,7 +7136,7 @@ var init_Textarea = __esm({
|
|
|
7136
7136
|
"components/core/atoms/Textarea.tsx"() {
|
|
7137
7137
|
init_cn();
|
|
7138
7138
|
init_useEventBus();
|
|
7139
|
-
Textarea =
|
|
7139
|
+
Textarea = React94__default.forwardRef(
|
|
7140
7140
|
({ className, error, onChange, ...props }, ref) => {
|
|
7141
7141
|
const eventBus = useEventBus();
|
|
7142
7142
|
const handleChange = (e) => {
|
|
@@ -7375,7 +7375,7 @@ var init_Select = __esm({
|
|
|
7375
7375
|
init_cn();
|
|
7376
7376
|
init_Icon();
|
|
7377
7377
|
init_useEventBus();
|
|
7378
|
-
Select =
|
|
7378
|
+
Select = React94__default.forwardRef(
|
|
7379
7379
|
(props, _ref) => {
|
|
7380
7380
|
const { multiple, searchable, clearable } = props;
|
|
7381
7381
|
if (multiple || searchable || clearable) {
|
|
@@ -7392,7 +7392,7 @@ var init_Checkbox = __esm({
|
|
|
7392
7392
|
"components/core/atoms/Checkbox.tsx"() {
|
|
7393
7393
|
init_cn();
|
|
7394
7394
|
init_useEventBus();
|
|
7395
|
-
Checkbox =
|
|
7395
|
+
Checkbox = React94__default.forwardRef(
|
|
7396
7396
|
({ className, label, id, onChange, ...props }, ref) => {
|
|
7397
7397
|
const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
7398
7398
|
const eventBus = useEventBus();
|
|
@@ -7446,7 +7446,7 @@ var init_Spinner = __esm({
|
|
|
7446
7446
|
md: "h-6 w-6",
|
|
7447
7447
|
lg: "h-8 w-8"
|
|
7448
7448
|
};
|
|
7449
|
-
Spinner =
|
|
7449
|
+
Spinner = React94__default.forwardRef(
|
|
7450
7450
|
({ className, size = "md", overlay, ...props }, ref) => {
|
|
7451
7451
|
if (overlay) {
|
|
7452
7452
|
return /* @__PURE__ */ jsx(
|
|
@@ -7536,7 +7536,7 @@ var init_Card = __esm({
|
|
|
7536
7536
|
chip: "shadow-none rounded-pill border-[length:var(--border-width)] border-border",
|
|
7537
7537
|
"tile-image-first": "p-0 overflow-hidden"
|
|
7538
7538
|
};
|
|
7539
|
-
Card =
|
|
7539
|
+
Card = React94__default.forwardRef(
|
|
7540
7540
|
({
|
|
7541
7541
|
className,
|
|
7542
7542
|
variant = "bordered",
|
|
@@ -7585,9 +7585,9 @@ var init_Card = __esm({
|
|
|
7585
7585
|
}
|
|
7586
7586
|
);
|
|
7587
7587
|
Card.displayName = "Card";
|
|
7588
|
-
CardHeader =
|
|
7588
|
+
CardHeader = React94__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
|
|
7589
7589
|
CardHeader.displayName = "CardHeader";
|
|
7590
|
-
CardTitle =
|
|
7590
|
+
CardTitle = React94__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7591
7591
|
"h3",
|
|
7592
7592
|
{
|
|
7593
7593
|
ref,
|
|
@@ -7600,11 +7600,11 @@ var init_Card = __esm({
|
|
|
7600
7600
|
}
|
|
7601
7601
|
));
|
|
7602
7602
|
CardTitle.displayName = "CardTitle";
|
|
7603
|
-
CardContent =
|
|
7603
|
+
CardContent = React94__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
|
|
7604
7604
|
CardContent.displayName = "CardContent";
|
|
7605
7605
|
CardBody = CardContent;
|
|
7606
7606
|
CardBody.displayName = "CardBody";
|
|
7607
|
-
CardFooter =
|
|
7607
|
+
CardFooter = React94__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7608
7608
|
"div",
|
|
7609
7609
|
{
|
|
7610
7610
|
ref,
|
|
@@ -7691,7 +7691,7 @@ var init_FilterPill = __esm({
|
|
|
7691
7691
|
md: "w-3.5 h-3.5",
|
|
7692
7692
|
lg: "w-4 h-4"
|
|
7693
7693
|
};
|
|
7694
|
-
FilterPill =
|
|
7694
|
+
FilterPill = React94__default.forwardRef(
|
|
7695
7695
|
({
|
|
7696
7696
|
className,
|
|
7697
7697
|
variant = "default",
|
|
@@ -7820,8 +7820,8 @@ var init_Avatar = __esm({
|
|
|
7820
7820
|
actionPayload
|
|
7821
7821
|
}) => {
|
|
7822
7822
|
const eventBus = useEventBus();
|
|
7823
|
-
const [imgFailed, setImgFailed] =
|
|
7824
|
-
|
|
7823
|
+
const [imgFailed, setImgFailed] = React94__default.useState(false);
|
|
7824
|
+
React94__default.useEffect(() => {
|
|
7825
7825
|
setImgFailed(false);
|
|
7826
7826
|
}, [src]);
|
|
7827
7827
|
const initials = providedInitials ?? (name ? generateInitials(name) : void 0);
|
|
@@ -7934,7 +7934,7 @@ var init_Center = __esm({
|
|
|
7934
7934
|
as: Component = "div"
|
|
7935
7935
|
}) => {
|
|
7936
7936
|
const mergedStyle = minHeight ? { minHeight, ...style } : style;
|
|
7937
|
-
return
|
|
7937
|
+
return React94__default.createElement(Component, {
|
|
7938
7938
|
className: cn(
|
|
7939
7939
|
inline ? "inline-flex" : "flex",
|
|
7940
7940
|
horizontal && "justify-center",
|
|
@@ -8202,7 +8202,7 @@ var init_Radio = __esm({
|
|
|
8202
8202
|
md: "w-2.5 h-2.5",
|
|
8203
8203
|
lg: "w-3 h-3"
|
|
8204
8204
|
};
|
|
8205
|
-
Radio =
|
|
8205
|
+
Radio = React94__default.forwardRef(
|
|
8206
8206
|
({
|
|
8207
8207
|
label,
|
|
8208
8208
|
helperText,
|
|
@@ -8219,12 +8219,12 @@ var init_Radio = __esm({
|
|
|
8219
8219
|
onChange,
|
|
8220
8220
|
...props
|
|
8221
8221
|
}, ref) => {
|
|
8222
|
-
const reactId =
|
|
8222
|
+
const reactId = React94__default.useId();
|
|
8223
8223
|
const baseId = id || `radio-${reactId}`;
|
|
8224
8224
|
const hasError = !!error;
|
|
8225
8225
|
const eventBus = useEventBus();
|
|
8226
|
-
const [selected, setSelected] =
|
|
8227
|
-
|
|
8226
|
+
const [selected, setSelected] = React94__default.useState(value);
|
|
8227
|
+
React94__default.useEffect(() => {
|
|
8228
8228
|
if (value !== void 0) setSelected(value);
|
|
8229
8229
|
}, [value]);
|
|
8230
8230
|
const pick = (next, e) => {
|
|
@@ -8406,7 +8406,7 @@ var init_Switch = __esm({
|
|
|
8406
8406
|
"components/core/atoms/Switch.tsx"() {
|
|
8407
8407
|
"use client";
|
|
8408
8408
|
init_cn();
|
|
8409
|
-
Switch =
|
|
8409
|
+
Switch = React94.forwardRef(
|
|
8410
8410
|
({
|
|
8411
8411
|
checked,
|
|
8412
8412
|
defaultChecked = false,
|
|
@@ -8417,10 +8417,10 @@ var init_Switch = __esm({
|
|
|
8417
8417
|
name,
|
|
8418
8418
|
className
|
|
8419
8419
|
}, ref) => {
|
|
8420
|
-
const [isChecked, setIsChecked] =
|
|
8420
|
+
const [isChecked, setIsChecked] = React94.useState(
|
|
8421
8421
|
checked !== void 0 ? checked : defaultChecked
|
|
8422
8422
|
);
|
|
8423
|
-
|
|
8423
|
+
React94.useEffect(() => {
|
|
8424
8424
|
if (checked !== void 0) {
|
|
8425
8425
|
setIsChecked(checked);
|
|
8426
8426
|
}
|
|
@@ -8698,7 +8698,7 @@ var Aside;
|
|
|
8698
8698
|
var init_Aside = __esm({
|
|
8699
8699
|
"components/core/atoms/Aside.tsx"() {
|
|
8700
8700
|
init_cn();
|
|
8701
|
-
Aside =
|
|
8701
|
+
Aside = React94__default.forwardRef(
|
|
8702
8702
|
({ className, children, ...rest }, ref) => /* @__PURE__ */ jsx("aside", { ref, className: cn(className), ...rest, children })
|
|
8703
8703
|
);
|
|
8704
8704
|
Aside.displayName = "Aside";
|
|
@@ -8777,9 +8777,9 @@ var init_LawReferenceTooltip = __esm({
|
|
|
8777
8777
|
className
|
|
8778
8778
|
}) => {
|
|
8779
8779
|
const { t } = useTranslate();
|
|
8780
|
-
const [isVisible, setIsVisible] =
|
|
8781
|
-
const timeoutRef =
|
|
8782
|
-
const triggerRef =
|
|
8780
|
+
const [isVisible, setIsVisible] = React94__default.useState(false);
|
|
8781
|
+
const timeoutRef = React94__default.useRef(null);
|
|
8782
|
+
const triggerRef = React94__default.useRef(null);
|
|
8783
8783
|
const handleMouseEnter = () => {
|
|
8784
8784
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
8785
8785
|
timeoutRef.current = setTimeout(() => setIsVisible(true), 200);
|
|
@@ -8790,7 +8790,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
8790
8790
|
};
|
|
8791
8791
|
const { revealed, triggerProps } = useTapReveal({ refs: [triggerRef] });
|
|
8792
8792
|
const open = isVisible || revealed;
|
|
8793
|
-
|
|
8793
|
+
React94__default.useEffect(() => {
|
|
8794
8794
|
return () => {
|
|
8795
8795
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
8796
8796
|
};
|
|
@@ -9000,7 +9000,7 @@ var init_StatusDot = __esm({
|
|
|
9000
9000
|
md: "w-2.5 h-2.5",
|
|
9001
9001
|
lg: "w-3 h-3"
|
|
9002
9002
|
};
|
|
9003
|
-
StatusDot =
|
|
9003
|
+
StatusDot = React94__default.forwardRef(
|
|
9004
9004
|
({ className, status = "offline", pulse = false, size = "md", label, ...props }, ref) => {
|
|
9005
9005
|
return /* @__PURE__ */ jsx(
|
|
9006
9006
|
"span",
|
|
@@ -9054,7 +9054,7 @@ var init_TrendIndicator = __esm({
|
|
|
9054
9054
|
down: "trending-down",
|
|
9055
9055
|
flat: "arrow-right"
|
|
9056
9056
|
};
|
|
9057
|
-
TrendIndicator =
|
|
9057
|
+
TrendIndicator = React94__default.forwardRef(
|
|
9058
9058
|
({
|
|
9059
9059
|
className,
|
|
9060
9060
|
value,
|
|
@@ -9123,7 +9123,7 @@ var init_RangeSlider = __esm({
|
|
|
9123
9123
|
md: "w-4 h-4",
|
|
9124
9124
|
lg: "w-5 h-5"
|
|
9125
9125
|
};
|
|
9126
|
-
RangeSlider =
|
|
9126
|
+
RangeSlider = React94__default.forwardRef(
|
|
9127
9127
|
({
|
|
9128
9128
|
className,
|
|
9129
9129
|
min = 0,
|
|
@@ -9734,7 +9734,7 @@ var init_ContentSection = __esm({
|
|
|
9734
9734
|
md: "py-16",
|
|
9735
9735
|
lg: "py-24"
|
|
9736
9736
|
};
|
|
9737
|
-
ContentSection =
|
|
9737
|
+
ContentSection = React94__default.forwardRef(
|
|
9738
9738
|
({ children, background = "default", padding = "lg", id, className }, ref) => {
|
|
9739
9739
|
return /* @__PURE__ */ jsx(
|
|
9740
9740
|
Box,
|
|
@@ -10268,7 +10268,7 @@ var init_AnimatedReveal = __esm({
|
|
|
10268
10268
|
"scale-up": { opacity: 1, transform: "scale(1) translateY(0)" },
|
|
10269
10269
|
"none": {}
|
|
10270
10270
|
};
|
|
10271
|
-
AnimatedReveal =
|
|
10271
|
+
AnimatedReveal = React94__default.forwardRef(
|
|
10272
10272
|
({
|
|
10273
10273
|
trigger = "scroll",
|
|
10274
10274
|
animation = "fade-up",
|
|
@@ -10428,7 +10428,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
10428
10428
|
"components/marketing/atoms/AnimatedGraphic.tsx"() {
|
|
10429
10429
|
"use client";
|
|
10430
10430
|
init_cn();
|
|
10431
|
-
AnimatedGraphic =
|
|
10431
|
+
AnimatedGraphic = React94__default.forwardRef(
|
|
10432
10432
|
({
|
|
10433
10433
|
src,
|
|
10434
10434
|
svgContent,
|
|
@@ -10451,7 +10451,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
10451
10451
|
const fetchedSvg = useFetchedSvg(svgContent ? void 0 : src);
|
|
10452
10452
|
const resolvedSvg = svgContent ?? fetchedSvg;
|
|
10453
10453
|
const prevAnimateRef = useRef(animate);
|
|
10454
|
-
const setRef =
|
|
10454
|
+
const setRef = React94__default.useCallback(
|
|
10455
10455
|
(node) => {
|
|
10456
10456
|
containerRef.current = node;
|
|
10457
10457
|
if (typeof ref === "function") ref(node);
|
|
@@ -11178,9 +11178,9 @@ function ControlButton({
|
|
|
11178
11178
|
className
|
|
11179
11179
|
}) {
|
|
11180
11180
|
const eventBus = useEventBus();
|
|
11181
|
-
const [isPressed, setIsPressed] =
|
|
11181
|
+
const [isPressed, setIsPressed] = React94.useState(false);
|
|
11182
11182
|
const actualPressed = pressed ?? isPressed;
|
|
11183
|
-
const handlePointerDown =
|
|
11183
|
+
const handlePointerDown = React94.useCallback(
|
|
11184
11184
|
(e) => {
|
|
11185
11185
|
e.preventDefault();
|
|
11186
11186
|
if (disabled) return;
|
|
@@ -11190,7 +11190,7 @@ function ControlButton({
|
|
|
11190
11190
|
},
|
|
11191
11191
|
[disabled, pressEvent, eventBus, onPress]
|
|
11192
11192
|
);
|
|
11193
|
-
const handlePointerUp =
|
|
11193
|
+
const handlePointerUp = React94.useCallback(
|
|
11194
11194
|
(e) => {
|
|
11195
11195
|
e.preventDefault();
|
|
11196
11196
|
if (disabled) return;
|
|
@@ -11200,7 +11200,7 @@ function ControlButton({
|
|
|
11200
11200
|
},
|
|
11201
11201
|
[disabled, releaseEvent, eventBus, onRelease]
|
|
11202
11202
|
);
|
|
11203
|
-
const handlePointerLeave =
|
|
11203
|
+
const handlePointerLeave = React94.useCallback(
|
|
11204
11204
|
(e) => {
|
|
11205
11205
|
if (isPressed) {
|
|
11206
11206
|
setIsPressed(false);
|
|
@@ -11458,8 +11458,8 @@ function ControlGrid({
|
|
|
11458
11458
|
className
|
|
11459
11459
|
}) {
|
|
11460
11460
|
const eventBus = useEventBus();
|
|
11461
|
-
const [active, setActive] =
|
|
11462
|
-
const handlePress =
|
|
11461
|
+
const [active, setActive] = React94.useState(/* @__PURE__ */ new Set());
|
|
11462
|
+
const handlePress = React94.useCallback(
|
|
11463
11463
|
(id) => {
|
|
11464
11464
|
setActive((prev) => new Set(prev).add(id));
|
|
11465
11465
|
if (actionEvent) eventBus.emit(`UI:${actionEvent}`, { id, pressed: true });
|
|
@@ -11473,7 +11473,7 @@ function ControlGrid({
|
|
|
11473
11473
|
},
|
|
11474
11474
|
[kind, actionEvent, directionEvent, directionEvents, eventBus, onAction, onDirection]
|
|
11475
11475
|
);
|
|
11476
|
-
const handleRelease =
|
|
11476
|
+
const handleRelease = React94.useCallback(
|
|
11477
11477
|
(id) => {
|
|
11478
11478
|
setActive((prev) => {
|
|
11479
11479
|
const next = new Set(prev);
|
|
@@ -11831,7 +11831,7 @@ function GameMenu({
|
|
|
11831
11831
|
}) {
|
|
11832
11832
|
const resolvedOptions = (options?.length ? options : void 0) ?? (menuItems?.length ? menuItems : void 0) ?? DEFAULT_MENU_OPTIONS;
|
|
11833
11833
|
const eventBus = useEventBus();
|
|
11834
|
-
const handleOptionClick =
|
|
11834
|
+
const handleOptionClick = React94.useCallback(
|
|
11835
11835
|
(option) => {
|
|
11836
11836
|
if (option.event) {
|
|
11837
11837
|
eventBus.emit(`UI:${option.event}`, { option });
|
|
@@ -12067,7 +12067,7 @@ function StateGraph({
|
|
|
12067
12067
|
}) {
|
|
12068
12068
|
const eventBus = useEventBus();
|
|
12069
12069
|
const nodes = states ?? [];
|
|
12070
|
-
const positions =
|
|
12070
|
+
const positions = React94.useMemo(() => layoutStates(nodes, width, height), [nodes, width, height]);
|
|
12071
12071
|
return /* @__PURE__ */ jsxs(
|
|
12072
12072
|
Box,
|
|
12073
12073
|
{
|
|
@@ -12138,8 +12138,8 @@ function MiniMap({
|
|
|
12138
12138
|
tileAssets,
|
|
12139
12139
|
unitAssets
|
|
12140
12140
|
}) {
|
|
12141
|
-
const canvasRef =
|
|
12142
|
-
const imgCacheRef =
|
|
12141
|
+
const canvasRef = React94.useRef(null);
|
|
12142
|
+
const imgCacheRef = React94.useRef(/* @__PURE__ */ new Map());
|
|
12143
12143
|
function loadImg(url) {
|
|
12144
12144
|
const cached = imgCacheRef.current.get(url);
|
|
12145
12145
|
if (cached) return cached.complete ? cached : null;
|
|
@@ -12155,7 +12155,7 @@ function MiniMap({
|
|
|
12155
12155
|
imgCacheRef.current.set(url, img);
|
|
12156
12156
|
return null;
|
|
12157
12157
|
}
|
|
12158
|
-
|
|
12158
|
+
React94.useEffect(() => {
|
|
12159
12159
|
const canvas = canvasRef.current;
|
|
12160
12160
|
if (!canvas) return;
|
|
12161
12161
|
const ctx = canvas.getContext("2d");
|
|
@@ -12553,9 +12553,26 @@ var init_imageCache = __esm({
|
|
|
12553
12553
|
});
|
|
12554
12554
|
|
|
12555
12555
|
// lib/webPainter2d.ts
|
|
12556
|
+
function makeNoiseTile(alpha, color) {
|
|
12557
|
+
const tile = document.createElement("canvas");
|
|
12558
|
+
tile.width = NOISE_CELLS;
|
|
12559
|
+
tile.height = NOISE_CELLS;
|
|
12560
|
+
const t = tile.getContext("2d");
|
|
12561
|
+
if (t) {
|
|
12562
|
+
t.fillStyle = color;
|
|
12563
|
+
for (let y = 0; y < NOISE_CELLS; y++) {
|
|
12564
|
+
for (let x = 0; x < NOISE_CELLS; x++) {
|
|
12565
|
+
t.globalAlpha = noiseHash(x, y) * alpha;
|
|
12566
|
+
t.fillRect(x, y, 1, 1);
|
|
12567
|
+
}
|
|
12568
|
+
}
|
|
12569
|
+
}
|
|
12570
|
+
return tile;
|
|
12571
|
+
}
|
|
12556
12572
|
function createWebPainter(ctx, onAssetLoad) {
|
|
12557
12573
|
let vw = 0;
|
|
12558
12574
|
let vh = 0;
|
|
12575
|
+
const patternCache = /* @__PURE__ */ new Map();
|
|
12559
12576
|
const tracePoly = (points, closed) => {
|
|
12560
12577
|
if (points.length === 0) return;
|
|
12561
12578
|
ctx.beginPath();
|
|
@@ -12563,9 +12580,28 @@ function createWebPainter(ctx, onAssetLoad) {
|
|
|
12563
12580
|
for (let i = 1; i < points.length; i++) ctx.lineTo(points[i].x, points[i].y);
|
|
12564
12581
|
if (closed) ctx.closePath();
|
|
12565
12582
|
};
|
|
12583
|
+
const toCanvasPattern = (style) => {
|
|
12584
|
+
const key = JSON.stringify(style);
|
|
12585
|
+
let pattern = patternCache.get(key);
|
|
12586
|
+
if (pattern === void 0) {
|
|
12587
|
+
if (style.kind === "noise") {
|
|
12588
|
+
pattern = ctx.createPattern(makeNoiseTile(style.alpha ?? 0.12, style.color ?? "#000000"), "repeat");
|
|
12589
|
+
} else {
|
|
12590
|
+
const img = getOrLoadImage(style.url, onAssetLoad);
|
|
12591
|
+
if (!img) return "rgba(0,0,0,0)";
|
|
12592
|
+
pattern = ctx.createPattern(img, "repeat");
|
|
12593
|
+
}
|
|
12594
|
+
if (pattern && style.scale !== void 0 && style.scale !== 1) {
|
|
12595
|
+
pattern.setTransform(new DOMMatrix().scale(style.scale));
|
|
12596
|
+
}
|
|
12597
|
+
patternCache.set(key, pattern);
|
|
12598
|
+
}
|
|
12599
|
+
return pattern ?? "rgba(0,0,0,0)";
|
|
12600
|
+
};
|
|
12566
12601
|
const toCanvasStyle = (style) => {
|
|
12567
12602
|
if (typeof style === "string") return style;
|
|
12568
|
-
|
|
12603
|
+
if (style.kind === "noise" || style.kind === "image") return toCanvasPattern(style);
|
|
12604
|
+
const g = style.kind === "linear" ? ctx.createLinearGradient(style.x1, style.y1, style.x2, style.y2) : style.kind === "conic" ? ctx.createConicGradient(style.angle, style.cx, style.cy) : ctx.createRadialGradient(style.cx, style.cy, 0, style.cx, style.cy, style.r);
|
|
12569
12605
|
for (const stop of style.stops) g.addColorStop(stop.offset, stop.color);
|
|
12570
12606
|
return g;
|
|
12571
12607
|
};
|
|
@@ -12600,6 +12636,19 @@ function createWebPainter(ctx, onAssetLoad) {
|
|
|
12600
12636
|
ctx.shadowColor = shadow ? shadow.color : "transparent";
|
|
12601
12637
|
ctx.shadowBlur = shadow ? shadow.blur : 0;
|
|
12602
12638
|
},
|
|
12639
|
+
setBlend(mode) {
|
|
12640
|
+
ctx.globalCompositeOperation = mode ?? "source-over";
|
|
12641
|
+
},
|
|
12642
|
+
setLineDash(pattern, offset = 0) {
|
|
12643
|
+
ctx.setLineDash(pattern ? [...pattern] : []);
|
|
12644
|
+
ctx.lineDashOffset = offset;
|
|
12645
|
+
},
|
|
12646
|
+
setBlur(px) {
|
|
12647
|
+
ctx.filter = px && px > 0 ? `blur(${px}px)` : "none";
|
|
12648
|
+
},
|
|
12649
|
+
clipPath(d) {
|
|
12650
|
+
ctx.clip(new Path2D(d));
|
|
12651
|
+
},
|
|
12603
12652
|
resolveTexture(url) {
|
|
12604
12653
|
const img = getOrLoadImage(url, onAssetLoad);
|
|
12605
12654
|
if (!img) return null;
|
|
@@ -12675,13 +12724,18 @@ function createWebPainter(ctx, onAssetLoad) {
|
|
|
12675
12724
|
}
|
|
12676
12725
|
};
|
|
12677
12726
|
}
|
|
12678
|
-
var handleByImage, imageByHandle;
|
|
12727
|
+
var handleByImage, imageByHandle, noiseHash, NOISE_CELLS;
|
|
12679
12728
|
var init_webPainter2d = __esm({
|
|
12680
12729
|
"lib/webPainter2d.ts"() {
|
|
12681
12730
|
"use client";
|
|
12682
12731
|
init_imageCache();
|
|
12683
12732
|
handleByImage = /* @__PURE__ */ new WeakMap();
|
|
12684
12733
|
imageByHandle = /* @__PURE__ */ new WeakMap();
|
|
12734
|
+
noiseHash = (x, y) => {
|
|
12735
|
+
const s = Math.sin(x * 12.9898 + y * 78.233) * 43758.5453;
|
|
12736
|
+
return s - Math.floor(s);
|
|
12737
|
+
};
|
|
12738
|
+
NOISE_CELLS = 32;
|
|
12685
12739
|
}
|
|
12686
12740
|
});
|
|
12687
12741
|
|
|
@@ -12906,6 +12960,16 @@ function gradientStyle(g, ox, oy, scale) {
|
|
|
12906
12960
|
stops: g.stops
|
|
12907
12961
|
};
|
|
12908
12962
|
}
|
|
12963
|
+
if (g.kind === "conic") {
|
|
12964
|
+
if (!g.center) return void 0;
|
|
12965
|
+
return {
|
|
12966
|
+
kind: "conic",
|
|
12967
|
+
cx: ox + g.center.x * scale,
|
|
12968
|
+
cy: oy + g.center.y * scale,
|
|
12969
|
+
angle: g.angle ?? 0,
|
|
12970
|
+
stops: g.stops
|
|
12971
|
+
};
|
|
12972
|
+
}
|
|
12909
12973
|
if (!g.center || g.radius === void 0) return void 0;
|
|
12910
12974
|
return {
|
|
12911
12975
|
kind: "radial",
|
|
@@ -12915,6 +12979,13 @@ function gradientStyle(g, ox, oy, scale) {
|
|
|
12915
12979
|
stops: g.stops
|
|
12916
12980
|
};
|
|
12917
12981
|
}
|
|
12982
|
+
function patternStyle(p, unit) {
|
|
12983
|
+
if (p.kind === "image") {
|
|
12984
|
+
if (!p.url) return void 0;
|
|
12985
|
+
return { kind: "image", url: p.url, scale: (p.scale ?? 1) / unit };
|
|
12986
|
+
}
|
|
12987
|
+
return { kind: "noise", scale: (p.scale ?? 2) / unit, alpha: p.alpha, color: p.color };
|
|
12988
|
+
}
|
|
12918
12989
|
function DrawShape(props) {
|
|
12919
12990
|
const register = useContext(DrawableRegistryContext);
|
|
12920
12991
|
if (register) {
|
|
@@ -12943,7 +13014,9 @@ var init_DrawShape = __esm({
|
|
|
12943
13014
|
"radiusY",
|
|
12944
13015
|
"width",
|
|
12945
13016
|
"height",
|
|
12946
|
-
"strokeWidth"
|
|
13017
|
+
"strokeWidth",
|
|
13018
|
+
"strokeDashOffset",
|
|
13019
|
+
"blur"
|
|
12947
13020
|
];
|
|
12948
13021
|
lerp = (a, b, k) => a + (b - a) * k;
|
|
12949
13022
|
paintShape = (painter, rawNode, dctx) => {
|
|
@@ -12953,6 +13026,16 @@ var init_DrawShape = __esm({
|
|
|
12953
13026
|
if (node.opacity !== void 0 && node.opacity !== 1) painter.setAlpha(node.opacity);
|
|
12954
13027
|
const origin = dctx.projector.project(node.position);
|
|
12955
13028
|
const tileWidth = dctx.projector.tileWidth;
|
|
13029
|
+
const groupScale = dctx.groupScale ?? 1;
|
|
13030
|
+
const strokePx = (node.strokeWidth ?? 1) / groupScale;
|
|
13031
|
+
if (node.blendMode) painter.setBlend(node.blendMode);
|
|
13032
|
+
if (node.strokeDash && node.strokeDash.length > 0) {
|
|
13033
|
+
painter.setLineDash(
|
|
13034
|
+
node.strokeDash.map((v) => v / groupScale),
|
|
13035
|
+
(node.strokeDashOffset ?? 0) / groupScale
|
|
13036
|
+
);
|
|
13037
|
+
}
|
|
13038
|
+
if (node.blur !== void 0 && node.blur > 0) painter.setBlur(node.blur / groupScale);
|
|
12956
13039
|
if (node.rotate) {
|
|
12957
13040
|
const pivot = node.pivot ?? { x: 0.5, y: 0.5 };
|
|
12958
13041
|
const px = origin.x + pivot.x * tileWidth;
|
|
@@ -12961,15 +13044,18 @@ var init_DrawShape = __esm({
|
|
|
12961
13044
|
painter.rotate(node.rotate);
|
|
12962
13045
|
painter.translate(-px, -py);
|
|
12963
13046
|
}
|
|
12964
|
-
if (node.shadow) painter.setShadow({ color: node.shadow.color, blur: node.shadow.blur * tileWidth });
|
|
13047
|
+
if (node.shadow) painter.setShadow({ color: node.shadow.color, blur: node.shadow.blur * tileWidth * groupScale });
|
|
12965
13048
|
const fill = node.fill === "none" ? void 0 : node.fill;
|
|
12966
13049
|
const stroke = node.stroke === "none" ? void 0 : node.stroke;
|
|
12967
13050
|
const pxFill = node.gradient ? gradientStyle(node.gradient, origin.x, origin.y, tileWidth) ?? fill : fill;
|
|
13051
|
+
const pxStroke = node.strokeGradient ? gradientStyle(node.strokeGradient, origin.x, origin.y, tileWidth) ?? stroke : stroke;
|
|
13052
|
+
const patFill = node.fillPattern ? patternStyle(node.fillPattern, groupScale) : void 0;
|
|
12968
13053
|
switch (node.shape) {
|
|
12969
13054
|
case "cell": {
|
|
12970
13055
|
const pts = dctx.projector.cellPath(node.position);
|
|
12971
13056
|
if (pxFill) painter.fillPoly(pts, pxFill);
|
|
12972
|
-
if (
|
|
13057
|
+
if (patFill) painter.fillPoly(pts, patFill);
|
|
13058
|
+
if (pxStroke) painter.strokePoly(pts, pxStroke, strokePx, true);
|
|
12973
13059
|
break;
|
|
12974
13060
|
}
|
|
12975
13061
|
case "rect": {
|
|
@@ -12980,7 +13066,8 @@ var init_DrawShape = __esm({
|
|
|
12980
13066
|
const w = (node.width ?? 0) * tw;
|
|
12981
13067
|
const h = (node.height ?? 0) * tw;
|
|
12982
13068
|
if (pxFill) painter.fillRect(x, y, w, h, pxFill);
|
|
12983
|
-
if (
|
|
13069
|
+
if (patFill) painter.fillRect(x, y, w, h, patFill);
|
|
13070
|
+
if (pxStroke) painter.strokeRect(x, y, w, h, pxStroke, strokePx);
|
|
12984
13071
|
break;
|
|
12985
13072
|
}
|
|
12986
13073
|
case "ellipse": {
|
|
@@ -12991,7 +13078,8 @@ var init_DrawShape = __esm({
|
|
|
12991
13078
|
const rx = (node.radiusX ?? 0) * tw;
|
|
12992
13079
|
const ry = (node.radiusY ?? rx) * tw;
|
|
12993
13080
|
if (pxFill) painter.fillEllipse(cx, cy, rx, ry, pxFill);
|
|
12994
|
-
if (
|
|
13081
|
+
if (patFill) painter.fillEllipse(cx, cy, rx, ry, patFill);
|
|
13082
|
+
if (pxStroke) painter.strokeEllipse(cx, cy, rx, ry, pxStroke, strokePx);
|
|
12995
13083
|
break;
|
|
12996
13084
|
}
|
|
12997
13085
|
case "poly": {
|
|
@@ -13000,16 +13088,27 @@ var init_DrawShape = __esm({
|
|
|
13000
13088
|
y: origin.y + ((node.offsetY ?? 0) + pt.y) * tileWidth
|
|
13001
13089
|
}));
|
|
13002
13090
|
if (pxFill) painter.fillPoly(pts, pxFill);
|
|
13003
|
-
if (
|
|
13091
|
+
if (patFill) painter.fillPoly(pts, patFill);
|
|
13092
|
+
if (pxStroke) painter.strokePoly(pts, pxStroke, strokePx, true);
|
|
13004
13093
|
break;
|
|
13005
13094
|
}
|
|
13006
13095
|
case "path": {
|
|
13007
13096
|
if (!node.d) break;
|
|
13008
13097
|
painter.translate(origin.x + (node.offsetX ?? 0) * tileWidth, origin.y + (node.offsetY ?? 0) * tileWidth);
|
|
13009
13098
|
painter.scale(tileWidth, tileWidth);
|
|
13099
|
+
if (node.strokeDash && node.strokeDash.length > 0) {
|
|
13100
|
+
painter.setLineDash(
|
|
13101
|
+
node.strokeDash.map((v) => v / (groupScale * tileWidth)),
|
|
13102
|
+
(node.strokeDashOffset ?? 0) / (groupScale * tileWidth)
|
|
13103
|
+
);
|
|
13104
|
+
}
|
|
13105
|
+
if (node.blur !== void 0 && node.blur > 0) painter.setBlur(node.blur / (groupScale * tileWidth));
|
|
13010
13106
|
const localFill = node.gradient ? gradientStyle(node.gradient, 0, 0, 1) ?? fill : fill;
|
|
13107
|
+
const localStroke = node.strokeGradient ? gradientStyle(node.strokeGradient, 0, 0, 1) ?? stroke : stroke;
|
|
13108
|
+
const localPat = node.fillPattern ? patternStyle(node.fillPattern, groupScale * tileWidth) : void 0;
|
|
13011
13109
|
if (localFill) painter.fillPath(node.d, localFill);
|
|
13012
|
-
if (
|
|
13110
|
+
if (localPat) painter.fillPath(node.d, localPat);
|
|
13111
|
+
if (localStroke) painter.strokePath(node.d, localStroke, strokePx / tileWidth);
|
|
13013
13112
|
break;
|
|
13014
13113
|
}
|
|
13015
13114
|
}
|
|
@@ -13090,8 +13189,6 @@ var init_DrawTextLayer = __esm({
|
|
|
13090
13189
|
};
|
|
13091
13190
|
}
|
|
13092
13191
|
});
|
|
13093
|
-
|
|
13094
|
-
// lib/drawable/paintDispatch.ts
|
|
13095
13192
|
function paintDrawable(painter, node, dctx) {
|
|
13096
13193
|
switch (node.type) {
|
|
13097
13194
|
case "draw-sprite":
|
|
@@ -13112,10 +13209,20 @@ function paintDrawable(painter, node, dctx) {
|
|
|
13112
13209
|
if (node.scale !== void 0) painter.scale(node.scale, node.scale);
|
|
13113
13210
|
if (node.rotate !== void 0) painter.rotate(node.rotate);
|
|
13114
13211
|
if (node.opacity !== void 0 && node.opacity !== 1) painter.setAlpha(node.opacity);
|
|
13115
|
-
|
|
13212
|
+
if (node.clip) {
|
|
13213
|
+
const tw = dctx.projector.tileWidth;
|
|
13214
|
+
painter.scale(tw, tw);
|
|
13215
|
+
painter.clipPath(node.clip);
|
|
13216
|
+
painter.scale(1 / tw, 1 / tw);
|
|
13217
|
+
}
|
|
13218
|
+
const childCtx = node.scale !== void 0 && node.scale !== 1 ? { ...dctx, groupScale: (dctx.groupScale ?? 1) * node.scale } : dctx;
|
|
13219
|
+
for (const item of node.items) paintDrawable(painter, item, childCtx);
|
|
13116
13220
|
painter.restore();
|
|
13117
13221
|
break;
|
|
13118
13222
|
}
|
|
13223
|
+
case "draw-mesh":
|
|
13224
|
+
warnUnsupported2d("draw-mesh");
|
|
13225
|
+
break;
|
|
13119
13226
|
case "draw-sprite-layer":
|
|
13120
13227
|
paintSpriteLayer(painter, node, dctx);
|
|
13121
13228
|
break;
|
|
@@ -13127,6 +13234,7 @@ function paintDrawable(painter, node, dctx) {
|
|
|
13127
13234
|
break;
|
|
13128
13235
|
}
|
|
13129
13236
|
}
|
|
13237
|
+
var paint2dLog, warnedUnsupported2d, warnUnsupported2d;
|
|
13130
13238
|
var init_paintDispatch = __esm({
|
|
13131
13239
|
"lib/drawable/paintDispatch.ts"() {
|
|
13132
13240
|
init_contract();
|
|
@@ -13136,6 +13244,13 @@ var init_paintDispatch = __esm({
|
|
|
13136
13244
|
init_DrawSpriteLayer();
|
|
13137
13245
|
init_DrawShapeLayer();
|
|
13138
13246
|
init_DrawTextLayer();
|
|
13247
|
+
paint2dLog = createLogger("almadar:ui:drawable-2d");
|
|
13248
|
+
warnedUnsupported2d = /* @__PURE__ */ new Set();
|
|
13249
|
+
warnUnsupported2d = (kind) => {
|
|
13250
|
+
if (warnedUnsupported2d.has(kind)) return;
|
|
13251
|
+
warnedUnsupported2d.add(kind);
|
|
13252
|
+
paint2dLog.warn("unsupported drawable kind on the 2D painter \u2014 skipped", { kind });
|
|
13253
|
+
};
|
|
13139
13254
|
}
|
|
13140
13255
|
});
|
|
13141
13256
|
|
|
@@ -13150,6 +13265,7 @@ function collectDrawnItems(nodes) {
|
|
|
13150
13265
|
case "draw-shape":
|
|
13151
13266
|
case "draw-text":
|
|
13152
13267
|
case "draw-group":
|
|
13268
|
+
case "draw-mesh":
|
|
13153
13269
|
if (isValidScenePos(n.position)) out.push({ pos: n.position, id: n.id });
|
|
13154
13270
|
break;
|
|
13155
13271
|
case "draw-sprite-layer":
|
|
@@ -13220,7 +13336,7 @@ function Canvas2D({
|
|
|
13220
13336
|
const registerChildDrawable = useCallback((node) => {
|
|
13221
13337
|
childDrawablesRef.current.push(node);
|
|
13222
13338
|
}, []);
|
|
13223
|
-
const hasJsxChildren =
|
|
13339
|
+
const hasJsxChildren = React94.Children.count(children) > 0;
|
|
13224
13340
|
function isDrawableLayer(node) {
|
|
13225
13341
|
return node.type === "draw-sprite-layer" || node.type === "draw-shape-layer" || node.type === "draw-text-layer";
|
|
13226
13342
|
}
|
|
@@ -13749,6 +13865,8 @@ function Canvas({
|
|
|
13749
13865
|
showCoordinates,
|
|
13750
13866
|
showTileInfo,
|
|
13751
13867
|
fogOfWar,
|
|
13868
|
+
lighting,
|
|
13869
|
+
post,
|
|
13752
13870
|
tileClickEvent,
|
|
13753
13871
|
unitClickEvent,
|
|
13754
13872
|
tileHoverEvent,
|
|
@@ -13760,13 +13878,29 @@ function Canvas({
|
|
|
13760
13878
|
}) {
|
|
13761
13879
|
canvasLog.debug("Canvas render", { mode, drawablesCount: drawables?.length, projection, camera: camera ? JSON.stringify(camera) : void 0 });
|
|
13762
13880
|
const zoom = camera?.zoom;
|
|
13881
|
+
const childDrawablesRef = useRef([]);
|
|
13882
|
+
if (mode === "3d") childDrawablesRef.current = [];
|
|
13883
|
+
const registerChildDrawable = useCallback((node) => {
|
|
13884
|
+
childDrawablesRef.current.push(node);
|
|
13885
|
+
}, []);
|
|
13886
|
+
const [childDrawables, setChildDrawables] = useState([]);
|
|
13887
|
+
useEffect(() => {
|
|
13888
|
+
if (mode !== "3d") return;
|
|
13889
|
+
const next = childDrawablesRef.current;
|
|
13890
|
+
canvasLog.debug("children:adopt", { registered: next.length, adopted: childDrawables.length });
|
|
13891
|
+
if (next.length === 0 && React94.Children.count(children) > 0) return;
|
|
13892
|
+
setChildDrawables(
|
|
13893
|
+
(prev) => prev.length === next.length && JSON.stringify(prev) === JSON.stringify(next) ? prev : [...next]
|
|
13894
|
+
);
|
|
13895
|
+
});
|
|
13763
13896
|
if (mode === "3d") {
|
|
13764
13897
|
const props3d = {
|
|
13765
13898
|
className,
|
|
13766
|
-
drawables,
|
|
13899
|
+
drawables: [...drawables ?? [], ...childDrawables],
|
|
13767
13900
|
isLoading,
|
|
13768
13901
|
cameraMode: to3DCameraMode(camera?.mode),
|
|
13769
13902
|
...zoom !== void 0 ? { scale: zoom } : {},
|
|
13903
|
+
...camera?.fov !== void 0 ? { fov: camera.fov } : {},
|
|
13770
13904
|
...camera?.target !== void 0 ? { followTarget: camera.target } : {},
|
|
13771
13905
|
unitScale,
|
|
13772
13906
|
backgroundColor,
|
|
@@ -13778,6 +13912,8 @@ function Canvas({
|
|
|
13778
13912
|
showCoordinates,
|
|
13779
13913
|
showTileInfo,
|
|
13780
13914
|
fogOfWar,
|
|
13915
|
+
lighting,
|
|
13916
|
+
post,
|
|
13781
13917
|
tileClickEvent,
|
|
13782
13918
|
unitClickEvent,
|
|
13783
13919
|
tileHoverEvent,
|
|
@@ -13786,7 +13922,10 @@ function Canvas({
|
|
|
13786
13922
|
keyMap,
|
|
13787
13923
|
keyUpMap
|
|
13788
13924
|
};
|
|
13789
|
-
return /* @__PURE__ */
|
|
13925
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
13926
|
+
/* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(Canvas3DHost, { ...props3d }) }),
|
|
13927
|
+
React94.Children.count(children) > 0 && /* @__PURE__ */ jsx(DrawableRegistryContext.Provider, { value: registerChildDrawable, children: /* @__PURE__ */ jsx("div", { "aria-hidden": "true", style: { position: "absolute", width: 0, height: 0, overflow: "hidden" }, children }) })
|
|
13928
|
+
] });
|
|
13790
13929
|
}
|
|
13791
13930
|
return /* @__PURE__ */ jsx(
|
|
13792
13931
|
Canvas2D,
|
|
@@ -13818,6 +13957,7 @@ var Canvas3DHost, canvasLog;
|
|
|
13818
13957
|
var init_Canvas = __esm({
|
|
13819
13958
|
"components/game/molecules/Canvas.tsx"() {
|
|
13820
13959
|
"use client";
|
|
13960
|
+
init_registry();
|
|
13821
13961
|
init_Canvas2D();
|
|
13822
13962
|
Canvas3DHost = lazy(
|
|
13823
13963
|
() => import('@almadar/ui/components/molecules/game/three').then((m) => ({ default: m.Canvas3DHost }))
|
|
@@ -13942,7 +14082,7 @@ function LinearView({
|
|
|
13942
14082
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
13943
14083
|
const isDone = i < currentIdx;
|
|
13944
14084
|
const isCurrent = i === currentIdx;
|
|
13945
|
-
return /* @__PURE__ */ jsxs(
|
|
14085
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
13946
14086
|
i > 0 && /* @__PURE__ */ jsx(
|
|
13947
14087
|
Typography,
|
|
13948
14088
|
{
|
|
@@ -14477,7 +14617,7 @@ function SequenceBar({
|
|
|
14477
14617
|
else onSlotRemove?.(index);
|
|
14478
14618
|
}, [emit, slotRemoveEvent, onSlotRemove, playing]);
|
|
14479
14619
|
const paddedSlots = Array.from({ length: maxSlots }, (_, i) => slots[i]);
|
|
14480
|
-
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(
|
|
14620
|
+
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
14481
14621
|
i > 0 && /* @__PURE__ */ jsx(
|
|
14482
14622
|
Typography,
|
|
14483
14623
|
{
|
|
@@ -15126,7 +15266,7 @@ var init_ErrorBoundary = __esm({
|
|
|
15126
15266
|
}
|
|
15127
15267
|
);
|
|
15128
15268
|
};
|
|
15129
|
-
ErrorBoundary = class extends
|
|
15269
|
+
ErrorBoundary = class extends React94__default.Component {
|
|
15130
15270
|
constructor(props) {
|
|
15131
15271
|
super(props);
|
|
15132
15272
|
__publicField(this, "reset", () => {
|
|
@@ -15395,7 +15535,7 @@ var init_Container = __esm({
|
|
|
15395
15535
|
as: Component = "div"
|
|
15396
15536
|
}) => {
|
|
15397
15537
|
const resolvedSize = maxWidth ?? size ?? "lg";
|
|
15398
|
-
return
|
|
15538
|
+
return React94__default.createElement(
|
|
15399
15539
|
Component,
|
|
15400
15540
|
{
|
|
15401
15541
|
className: cn(
|
|
@@ -17533,7 +17673,7 @@ var init_CodeBlock = __esm({
|
|
|
17533
17673
|
DIFF_STYLE_FALLBACK = { bg: "", prefix: " ", text: "text-foreground" };
|
|
17534
17674
|
LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
|
|
17535
17675
|
HIDDEN_LINE_NUMBERS = { display: "none" };
|
|
17536
|
-
CodeBlock =
|
|
17676
|
+
CodeBlock = React94__default.memo(
|
|
17537
17677
|
({
|
|
17538
17678
|
code: rawCode,
|
|
17539
17679
|
language = "text",
|
|
@@ -18121,7 +18261,7 @@ var init_MarkdownContent = __esm({
|
|
|
18121
18261
|
init_Box();
|
|
18122
18262
|
init_CodeBlock();
|
|
18123
18263
|
init_cn();
|
|
18124
|
-
MarkdownContent =
|
|
18264
|
+
MarkdownContent = React94__default.memo(
|
|
18125
18265
|
({ content, direction = "ltr", className }) => {
|
|
18126
18266
|
const { t: _t } = useTranslate();
|
|
18127
18267
|
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
@@ -19448,7 +19588,7 @@ var init_StateMachineView = __esm({
|
|
|
19448
19588
|
style: { top: title ? 30 : 0 },
|
|
19449
19589
|
children: [
|
|
19450
19590
|
entity && /* @__PURE__ */ jsx(EntityBox, { entity, config }),
|
|
19451
|
-
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(
|
|
19591
|
+
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(React94__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__PURE__ */ jsx(
|
|
19452
19592
|
StateNode2,
|
|
19453
19593
|
{
|
|
19454
19594
|
state,
|
|
@@ -25270,8 +25410,8 @@ var init_Menu = __esm({
|
|
|
25270
25410
|
"bottom-end": "bottom-start"
|
|
25271
25411
|
};
|
|
25272
25412
|
const effectivePosition = direction === "rtl" ? rtlMirror[position] ?? position : position;
|
|
25273
|
-
const triggerChild =
|
|
25274
|
-
const triggerElement =
|
|
25413
|
+
const triggerChild = React94__default.isValidElement(trigger) ? trigger : /* @__PURE__ */ jsx(Typography, { variant: "small", as: "span", children: trigger });
|
|
25414
|
+
const triggerElement = React94__default.cloneElement(
|
|
25275
25415
|
triggerChild,
|
|
25276
25416
|
{
|
|
25277
25417
|
ref: triggerRef,
|
|
@@ -25366,14 +25506,14 @@ function useDataDnd(args) {
|
|
|
25366
25506
|
const isZone = Boolean(dragGroup || accepts || sortable);
|
|
25367
25507
|
const enabled = isZone || Boolean(dndRoot);
|
|
25368
25508
|
const eventBus = useEventBus();
|
|
25369
|
-
const parentRoot =
|
|
25509
|
+
const parentRoot = React94__default.useContext(RootCtx);
|
|
25370
25510
|
const isRoot = enabled && parentRoot === null;
|
|
25371
|
-
const zoneId =
|
|
25511
|
+
const zoneId = React94__default.useId();
|
|
25372
25512
|
const ownGroup = dragGroup ?? accepts ?? zoneId;
|
|
25373
|
-
const [optimisticOrders, setOptimisticOrders] =
|
|
25374
|
-
const optimisticOrdersRef =
|
|
25513
|
+
const [optimisticOrders, setOptimisticOrders] = React94__default.useState(() => /* @__PURE__ */ new Map());
|
|
25514
|
+
const optimisticOrdersRef = React94__default.useRef(optimisticOrders);
|
|
25375
25515
|
optimisticOrdersRef.current = optimisticOrders;
|
|
25376
|
-
const clearOptimisticOrder =
|
|
25516
|
+
const clearOptimisticOrder = React94__default.useCallback((group) => {
|
|
25377
25517
|
setOptimisticOrders((prev) => {
|
|
25378
25518
|
if (!prev.has(group)) return prev;
|
|
25379
25519
|
const next = new Map(prev);
|
|
@@ -25398,7 +25538,7 @@ function useDataDnd(args) {
|
|
|
25398
25538
|
const raw = it[dndItemIdField];
|
|
25399
25539
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
25400
25540
|
}).join("|");
|
|
25401
|
-
const itemIds =
|
|
25541
|
+
const itemIds = React94__default.useMemo(
|
|
25402
25542
|
() => orderedItems.map((it, idx) => {
|
|
25403
25543
|
const raw = it[dndItemIdField];
|
|
25404
25544
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
@@ -25409,7 +25549,7 @@ function useDataDnd(args) {
|
|
|
25409
25549
|
const raw = it[dndItemIdField];
|
|
25410
25550
|
return raw != null ? String(raw) : `__${idx}`;
|
|
25411
25551
|
}).join("|");
|
|
25412
|
-
|
|
25552
|
+
React94__default.useEffect(() => {
|
|
25413
25553
|
const root = isRoot ? null : parentRoot;
|
|
25414
25554
|
if (root) {
|
|
25415
25555
|
root.clearOptimisticOrder(ownGroup);
|
|
@@ -25417,20 +25557,20 @@ function useDataDnd(args) {
|
|
|
25417
25557
|
clearOptimisticOrder(ownGroup);
|
|
25418
25558
|
}
|
|
25419
25559
|
}, [itemsContentSig, ownGroup]);
|
|
25420
|
-
const zonesRef =
|
|
25421
|
-
const registerZone =
|
|
25560
|
+
const zonesRef = React94__default.useRef(/* @__PURE__ */ new Map());
|
|
25561
|
+
const registerZone = React94__default.useCallback((zoneId2, meta2) => {
|
|
25422
25562
|
zonesRef.current.set(zoneId2, meta2);
|
|
25423
25563
|
}, []);
|
|
25424
|
-
const unregisterZone =
|
|
25564
|
+
const unregisterZone = React94__default.useCallback((zoneId2) => {
|
|
25425
25565
|
zonesRef.current.delete(zoneId2);
|
|
25426
25566
|
}, []);
|
|
25427
|
-
const [activeDrag, setActiveDrag] =
|
|
25428
|
-
const [overZoneGroup, setOverZoneGroup] =
|
|
25429
|
-
const meta =
|
|
25567
|
+
const [activeDrag, setActiveDrag] = React94__default.useState(null);
|
|
25568
|
+
const [overZoneGroup, setOverZoneGroup] = React94__default.useState(null);
|
|
25569
|
+
const meta = React94__default.useMemo(
|
|
25430
25570
|
() => ({ group: ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, rawItems: items, idField: dndItemIdField }),
|
|
25431
25571
|
[ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, items, dndItemIdField]
|
|
25432
25572
|
);
|
|
25433
|
-
|
|
25573
|
+
React94__default.useEffect(() => {
|
|
25434
25574
|
const target = isRoot ? null : parentRoot;
|
|
25435
25575
|
if (!target) {
|
|
25436
25576
|
zonesRef.current.set(zoneId, meta);
|
|
@@ -25449,7 +25589,7 @@ function useDataDnd(args) {
|
|
|
25449
25589
|
}, [parentRoot, isRoot, zoneId, meta]);
|
|
25450
25590
|
const sensors = useAlmadarDndSensors(true);
|
|
25451
25591
|
const collisionDetection = almadarDndCollisionDetection;
|
|
25452
|
-
const findZoneByItem =
|
|
25592
|
+
const findZoneByItem = React94__default.useCallback(
|
|
25453
25593
|
(id) => {
|
|
25454
25594
|
for (const z of zonesRef.current.values()) {
|
|
25455
25595
|
if (z.itemIds.includes(id)) return z;
|
|
@@ -25458,7 +25598,7 @@ function useDataDnd(args) {
|
|
|
25458
25598
|
},
|
|
25459
25599
|
[]
|
|
25460
25600
|
);
|
|
25461
|
-
|
|
25601
|
+
React94__default.useCallback(
|
|
25462
25602
|
(group) => {
|
|
25463
25603
|
for (const z of zonesRef.current.values()) {
|
|
25464
25604
|
if (z.group === group) return z;
|
|
@@ -25467,7 +25607,7 @@ function useDataDnd(args) {
|
|
|
25467
25607
|
},
|
|
25468
25608
|
[]
|
|
25469
25609
|
);
|
|
25470
|
-
const handleDragEnd =
|
|
25610
|
+
const handleDragEnd = React94__default.useCallback(
|
|
25471
25611
|
(event) => {
|
|
25472
25612
|
const { active, over } = event;
|
|
25473
25613
|
const activeIdStr = String(active.id);
|
|
@@ -25558,8 +25698,8 @@ function useDataDnd(args) {
|
|
|
25558
25698
|
},
|
|
25559
25699
|
[eventBus]
|
|
25560
25700
|
);
|
|
25561
|
-
const sortableData =
|
|
25562
|
-
const SortableItem =
|
|
25701
|
+
const sortableData = React94__default.useMemo(() => ({ dndGroup: ownGroup }), [ownGroup]);
|
|
25702
|
+
const SortableItem = React94__default.useCallback(
|
|
25563
25703
|
({ id, children }) => {
|
|
25564
25704
|
const {
|
|
25565
25705
|
attributes,
|
|
@@ -25599,7 +25739,7 @@ function useDataDnd(args) {
|
|
|
25599
25739
|
id: droppableId,
|
|
25600
25740
|
data: sortableData
|
|
25601
25741
|
});
|
|
25602
|
-
const ctx =
|
|
25742
|
+
const ctx = React94__default.useContext(RootCtx);
|
|
25603
25743
|
const activeDrag2 = ctx?.activeDrag ?? null;
|
|
25604
25744
|
const overZoneGroup2 = ctx?.overZoneGroup ?? null;
|
|
25605
25745
|
const isThisZoneOver = overZoneGroup2 === ownGroup;
|
|
@@ -25614,7 +25754,7 @@ function useDataDnd(args) {
|
|
|
25614
25754
|
showForeignPlaceholder,
|
|
25615
25755
|
ctxAvailable: ctx != null
|
|
25616
25756
|
});
|
|
25617
|
-
|
|
25757
|
+
React94__default.useEffect(() => {
|
|
25618
25758
|
dndLog.info("dropzone:isOver:change", { droppableId, group: ownGroup, isOver, isThisZoneOver, showForeignPlaceholder, activeDragSourceGroup: activeDrag2?.sourceGroup ?? null });
|
|
25619
25759
|
}, [droppableId, isOver, isThisZoneOver, showForeignPlaceholder]);
|
|
25620
25760
|
return /* @__PURE__ */ jsx(
|
|
@@ -25628,11 +25768,11 @@ function useDataDnd(args) {
|
|
|
25628
25768
|
}
|
|
25629
25769
|
);
|
|
25630
25770
|
};
|
|
25631
|
-
const rootContextValue =
|
|
25771
|
+
const rootContextValue = React94__default.useMemo(
|
|
25632
25772
|
() => ({ registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder }),
|
|
25633
25773
|
[registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder]
|
|
25634
25774
|
);
|
|
25635
|
-
const handleDragStart =
|
|
25775
|
+
const handleDragStart = React94__default.useCallback((event) => {
|
|
25636
25776
|
const sourceZone = findZoneByItem(event.active.id);
|
|
25637
25777
|
const rect = event.active.rect.current.initial;
|
|
25638
25778
|
const height = rect?.height && rect.height > 0 ? rect.height : 64;
|
|
@@ -25651,7 +25791,7 @@ function useDataDnd(args) {
|
|
|
25651
25791
|
isRoot
|
|
25652
25792
|
});
|
|
25653
25793
|
}, [findZoneByItem, isRoot, zoneId]);
|
|
25654
|
-
const handleDragOver =
|
|
25794
|
+
const handleDragOver = React94__default.useCallback((event) => {
|
|
25655
25795
|
const { active, over } = event;
|
|
25656
25796
|
const overData = over?.data?.current;
|
|
25657
25797
|
const overGroup = overData?.dndGroup ?? null;
|
|
@@ -25721,7 +25861,7 @@ function useDataDnd(args) {
|
|
|
25721
25861
|
return next;
|
|
25722
25862
|
});
|
|
25723
25863
|
}, []);
|
|
25724
|
-
const handleDragCancel =
|
|
25864
|
+
const handleDragCancel = React94__default.useCallback((event) => {
|
|
25725
25865
|
setActiveDrag(null);
|
|
25726
25866
|
setOverZoneGroup(null);
|
|
25727
25867
|
dndLog.warn("dragCancel", {
|
|
@@ -25729,12 +25869,12 @@ function useDataDnd(args) {
|
|
|
25729
25869
|
reason: "dnd-kit cancelled the drag (escape key, pointer interrupted, or external)"
|
|
25730
25870
|
});
|
|
25731
25871
|
}, []);
|
|
25732
|
-
const handleDragEndWithCleanup =
|
|
25872
|
+
const handleDragEndWithCleanup = React94__default.useCallback((event) => {
|
|
25733
25873
|
handleDragEnd(event);
|
|
25734
25874
|
setActiveDrag(null);
|
|
25735
25875
|
setOverZoneGroup(null);
|
|
25736
25876
|
}, [handleDragEnd]);
|
|
25737
|
-
const wrapContainer =
|
|
25877
|
+
const wrapContainer = React94__default.useCallback(
|
|
25738
25878
|
(children) => {
|
|
25739
25879
|
if (!enabled) return children;
|
|
25740
25880
|
const strategy = layout === "grid" ? rectSortingStrategy : verticalListSortingStrategy;
|
|
@@ -25788,7 +25928,7 @@ var init_useDataDnd = __esm({
|
|
|
25788
25928
|
init_useAlmadarDndCollision();
|
|
25789
25929
|
init_Box();
|
|
25790
25930
|
dndLog = createLogger("almadar:ui:dnd");
|
|
25791
|
-
RootCtx =
|
|
25931
|
+
RootCtx = React94__default.createContext(null);
|
|
25792
25932
|
}
|
|
25793
25933
|
});
|
|
25794
25934
|
function renderIconInput(icon, props) {
|
|
@@ -26330,7 +26470,7 @@ function DataList({
|
|
|
26330
26470
|
}) {
|
|
26331
26471
|
const eventBus = useEventBus();
|
|
26332
26472
|
const { t } = useTranslate();
|
|
26333
|
-
const [visibleCount, setVisibleCount] =
|
|
26473
|
+
const [visibleCount, setVisibleCount] = React94__default.useState(pageSize || Infinity);
|
|
26334
26474
|
const fieldDefs = fields ?? columns ?? [];
|
|
26335
26475
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
26336
26476
|
const dnd = useDataDnd({
|
|
@@ -26346,14 +26486,14 @@ function DataList({
|
|
|
26346
26486
|
dndRoot
|
|
26347
26487
|
});
|
|
26348
26488
|
const orderedData = dnd.orderedItems;
|
|
26349
|
-
const allData =
|
|
26489
|
+
const allData = React94__default.useMemo(
|
|
26350
26490
|
() => sortRows(orderedData, sortBy, sortDirection),
|
|
26351
26491
|
[orderedData, sortBy, sortDirection]
|
|
26352
26492
|
);
|
|
26353
26493
|
const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
|
|
26354
26494
|
const hasMoreLocal = pageSize > 0 && visibleCount < allData.length;
|
|
26355
26495
|
const hasRenderProp = typeof children === "function";
|
|
26356
|
-
|
|
26496
|
+
React94__default.useEffect(() => {
|
|
26357
26497
|
const renderItemTypeOf = typeof schemaRenderItem;
|
|
26358
26498
|
const childrenTypeOf = typeof children;
|
|
26359
26499
|
if (data.length > 0 && !hasRenderProp) {
|
|
@@ -26468,7 +26608,7 @@ function DataList({
|
|
|
26468
26608
|
return v === void 0 || v === null || v === "" ? raw : String(v);
|
|
26469
26609
|
};
|
|
26470
26610
|
return /* @__PURE__ */ jsxs(VStack, { gap: "sm", className: cn("py-2", className), children: [
|
|
26471
|
-
groups2.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
26611
|
+
groups2.map((group, gi) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
26472
26612
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
|
|
26473
26613
|
group.items.map((itemData, index) => {
|
|
26474
26614
|
const id = itemData.id || `${gi}-${index}`;
|
|
@@ -26667,7 +26807,7 @@ function DataList({
|
|
|
26667
26807
|
className
|
|
26668
26808
|
),
|
|
26669
26809
|
children: [
|
|
26670
|
-
groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
26810
|
+
groups.map((group, gi) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
26671
26811
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-4" : "mt-0" }),
|
|
26672
26812
|
group.items.map(
|
|
26673
26813
|
(itemData, index) => renderItem(itemData, index, gi === groups.length - 1 && index === group.items.length - 1)
|
|
@@ -26754,7 +26894,7 @@ var init_FormSection = __esm({
|
|
|
26754
26894
|
columns = 1,
|
|
26755
26895
|
className
|
|
26756
26896
|
}) => {
|
|
26757
|
-
const [collapsed, setCollapsed] =
|
|
26897
|
+
const [collapsed, setCollapsed] = React94__default.useState(defaultCollapsed);
|
|
26758
26898
|
const { t } = useTranslate();
|
|
26759
26899
|
const eventBus = useEventBus();
|
|
26760
26900
|
const gridClass = {
|
|
@@ -26762,7 +26902,7 @@ var init_FormSection = __esm({
|
|
|
26762
26902
|
2: "grid-cols-1 md:grid-cols-2",
|
|
26763
26903
|
3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3"
|
|
26764
26904
|
}[columns];
|
|
26765
|
-
|
|
26905
|
+
React94__default.useCallback(() => {
|
|
26766
26906
|
if (collapsible) {
|
|
26767
26907
|
setCollapsed((prev) => !prev);
|
|
26768
26908
|
eventBus.emit("UI:TOGGLE_COLLAPSE", { collapsed: !collapsed });
|
|
@@ -27807,7 +27947,7 @@ var init_Flex = __esm({
|
|
|
27807
27947
|
flexStyle.flexBasis = typeof basis === "number" ? `${basis}px` : basis;
|
|
27808
27948
|
}
|
|
27809
27949
|
}
|
|
27810
|
-
return
|
|
27950
|
+
return React94__default.createElement(Component, {
|
|
27811
27951
|
className: cn(
|
|
27812
27952
|
inline ? "inline-flex" : "flex",
|
|
27813
27953
|
directionStyles[direction],
|
|
@@ -27926,7 +28066,7 @@ var init_Grid = __esm({
|
|
|
27926
28066
|
as: Component = "div"
|
|
27927
28067
|
}) => {
|
|
27928
28068
|
const mergedStyle = rows ? { gridTemplateRows: `repeat(${rows}, minmax(0, 1fr))`, ...style } : style;
|
|
27929
|
-
return
|
|
28069
|
+
return React94__default.createElement(
|
|
27930
28070
|
Component,
|
|
27931
28071
|
{
|
|
27932
28072
|
className: cn(
|
|
@@ -28158,9 +28298,9 @@ var init_Popover = __esm({
|
|
|
28158
28298
|
onMouseLeave: handleClose,
|
|
28159
28299
|
onPointerDown: tapTriggerProps.onPointerDown
|
|
28160
28300
|
};
|
|
28161
|
-
const childElement =
|
|
28301
|
+
const childElement = React94__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
28162
28302
|
const childPointerDown = childElement.props.onPointerDown;
|
|
28163
|
-
const triggerElement =
|
|
28303
|
+
const triggerElement = React94__default.cloneElement(
|
|
28164
28304
|
childElement,
|
|
28165
28305
|
{
|
|
28166
28306
|
ref: triggerRef,
|
|
@@ -28769,9 +28909,9 @@ var init_Tooltip = __esm({
|
|
|
28769
28909
|
if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
|
|
28770
28910
|
};
|
|
28771
28911
|
}, []);
|
|
28772
|
-
const triggerElement =
|
|
28912
|
+
const triggerElement = React94__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
28773
28913
|
const childPointerDown = triggerElement.props.onPointerDown;
|
|
28774
|
-
const trigger =
|
|
28914
|
+
const trigger = React94__default.cloneElement(triggerElement, {
|
|
28775
28915
|
ref: triggerRef,
|
|
28776
28916
|
onMouseEnter: handleMouseEnter,
|
|
28777
28917
|
onMouseLeave: handleMouseLeave,
|
|
@@ -28861,7 +29001,7 @@ var init_WizardProgress = __esm({
|
|
|
28861
29001
|
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: normalizedSteps.map((step, index) => {
|
|
28862
29002
|
const isActive = index === currentStep;
|
|
28863
29003
|
const isCompleted = index < currentStep;
|
|
28864
|
-
return /* @__PURE__ */ jsxs(
|
|
29004
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
28865
29005
|
/* @__PURE__ */ jsx(
|
|
28866
29006
|
"button",
|
|
28867
29007
|
{
|
|
@@ -30496,13 +30636,13 @@ var init_MapView = __esm({
|
|
|
30496
30636
|
shadowSize: [41, 41]
|
|
30497
30637
|
});
|
|
30498
30638
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
30499
|
-
const { useEffect:
|
|
30639
|
+
const { useEffect: useEffect64, useRef: useRef64, useCallback: useCallback96, useState: useState100 } = React94__default;
|
|
30500
30640
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
30501
30641
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
30502
30642
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
30503
30643
|
const map = useMap();
|
|
30504
|
-
const prevRef =
|
|
30505
|
-
|
|
30644
|
+
const prevRef = useRef64({ centerLat, centerLng, zoom });
|
|
30645
|
+
useEffect64(() => {
|
|
30506
30646
|
const prev = prevRef.current;
|
|
30507
30647
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
30508
30648
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -30513,7 +30653,7 @@ var init_MapView = __esm({
|
|
|
30513
30653
|
}
|
|
30514
30654
|
function MapClickHandler({ onMapClick }) {
|
|
30515
30655
|
const map = useMap();
|
|
30516
|
-
|
|
30656
|
+
useEffect64(() => {
|
|
30517
30657
|
if (!onMapClick) return;
|
|
30518
30658
|
const handler = (e) => {
|
|
30519
30659
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -30541,8 +30681,8 @@ var init_MapView = __esm({
|
|
|
30541
30681
|
showAttribution = true
|
|
30542
30682
|
}) {
|
|
30543
30683
|
const eventBus = useEventBus2();
|
|
30544
|
-
const [clickedPosition, setClickedPosition] =
|
|
30545
|
-
const handleMapClick =
|
|
30684
|
+
const [clickedPosition, setClickedPosition] = useState100(null);
|
|
30685
|
+
const handleMapClick = useCallback96((lat, lng) => {
|
|
30546
30686
|
if (showClickedPin) {
|
|
30547
30687
|
setClickedPosition({ lat, lng });
|
|
30548
30688
|
}
|
|
@@ -30551,7 +30691,7 @@ var init_MapView = __esm({
|
|
|
30551
30691
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
30552
30692
|
}
|
|
30553
30693
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
30554
|
-
const handleMarkerClick =
|
|
30694
|
+
const handleMarkerClick = useCallback96((marker) => {
|
|
30555
30695
|
onMarkerClick?.(marker);
|
|
30556
30696
|
if (markerClickEvent) {
|
|
30557
30697
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -31414,8 +31554,8 @@ function TableView({
|
|
|
31414
31554
|
}) {
|
|
31415
31555
|
const eventBus = useEventBus();
|
|
31416
31556
|
const { t } = useTranslate();
|
|
31417
|
-
const [visibleCount, setVisibleCount] =
|
|
31418
|
-
const [localSelected, setLocalSelected] =
|
|
31557
|
+
const [visibleCount, setVisibleCount] = React94__default.useState(pageSize > 0 ? pageSize : Infinity);
|
|
31558
|
+
const [localSelected, setLocalSelected] = React94__default.useState(/* @__PURE__ */ new Set());
|
|
31419
31559
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
31420
31560
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
31421
31561
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
@@ -31437,7 +31577,7 @@ function TableView({
|
|
|
31437
31577
|
const hasRenderProp = typeof children === "function";
|
|
31438
31578
|
const idField = dndItemIdField ?? "id";
|
|
31439
31579
|
const isCoarsePointer = useMediaQuery("(pointer: coarse)");
|
|
31440
|
-
|
|
31580
|
+
React94__default.useEffect(() => {
|
|
31441
31581
|
tableViewLog.debug("render", {
|
|
31442
31582
|
rowCount: data.length,
|
|
31443
31583
|
colCount: colDefs.length,
|
|
@@ -31494,7 +31634,7 @@ function TableView({
|
|
|
31494
31634
|
};
|
|
31495
31635
|
eventBus.emit(`UI:${itemClickEvent}`, payload);
|
|
31496
31636
|
};
|
|
31497
|
-
const colFloors =
|
|
31637
|
+
const colFloors = React94__default.useMemo(
|
|
31498
31638
|
() => colDefs.map((col) => {
|
|
31499
31639
|
const longest = data.reduce((widest, row) => {
|
|
31500
31640
|
const cell = formatCell(asFieldValue(getNestedValue(row, col.field ?? col.key)), col.format);
|
|
@@ -31656,12 +31796,12 @@ function TableView({
|
|
|
31656
31796
|
]
|
|
31657
31797
|
}
|
|
31658
31798
|
);
|
|
31659
|
-
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(
|
|
31799
|
+
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(React94__default.Fragment, { children: rowInner }, id);
|
|
31660
31800
|
};
|
|
31661
31801
|
const items = Array.from(data);
|
|
31662
31802
|
const groups = groupBy ? groupData2(items, groupBy) : [{ label: "", items }];
|
|
31663
31803
|
let runningIndex = 0;
|
|
31664
|
-
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
31804
|
+
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
31665
31805
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-3" : "mt-0" }),
|
|
31666
31806
|
group.items.map((row) => renderRow(row, runningIndex++))
|
|
31667
31807
|
] }, gi)) });
|
|
@@ -33024,7 +33164,7 @@ var init_StepFlow = __esm({
|
|
|
33024
33164
|
className
|
|
33025
33165
|
}) => {
|
|
33026
33166
|
if (orientation === "vertical") {
|
|
33027
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(
|
|
33167
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(React94__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
|
|
33028
33168
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", align: "center", children: [
|
|
33029
33169
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
33030
33170
|
showConnectors && index < steps.length - 1 && /* @__PURE__ */ jsx(Box, { className: "w-px h-8 bg-border" })
|
|
@@ -33035,7 +33175,7 @@ var init_StepFlow = __esm({
|
|
|
33035
33175
|
] })
|
|
33036
33176
|
] }) }, index)) });
|
|
33037
33177
|
}
|
|
33038
|
-
return /* @__PURE__ */ jsx(Box, { className: cn("w-full flex flex-col md:flex-row items-start gap-0", className), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
|
|
33178
|
+
return /* @__PURE__ */ jsx(Box, { className: cn("w-full flex flex-col md:flex-row items-start gap-0", className), children: steps.map((step, index) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
33039
33179
|
/* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", className: "flex-1 w-full md:w-auto", children: [
|
|
33040
33180
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
33041
33181
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-center", children: step.title }),
|
|
@@ -34025,7 +34165,7 @@ var init_LikertScale = __esm({
|
|
|
34025
34165
|
md: "text-base",
|
|
34026
34166
|
lg: "text-lg"
|
|
34027
34167
|
};
|
|
34028
|
-
LikertScale =
|
|
34168
|
+
LikertScale = React94__default.forwardRef(
|
|
34029
34169
|
({
|
|
34030
34170
|
question,
|
|
34031
34171
|
options = DEFAULT_LIKERT_OPTIONS,
|
|
@@ -34037,7 +34177,7 @@ var init_LikertScale = __esm({
|
|
|
34037
34177
|
variant = "radios",
|
|
34038
34178
|
className
|
|
34039
34179
|
}, ref) => {
|
|
34040
|
-
const groupId =
|
|
34180
|
+
const groupId = React94__default.useId();
|
|
34041
34181
|
const eventBus = useEventBus();
|
|
34042
34182
|
const handleSelect = useCallback(
|
|
34043
34183
|
(next) => {
|
|
@@ -36326,7 +36466,7 @@ var init_DocBreadcrumb = __esm({
|
|
|
36326
36466
|
"aria-label": t("aria.breadcrumb"),
|
|
36327
36467
|
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", wrap: true, children: items.map((item, idx) => {
|
|
36328
36468
|
const isLast = idx === items.length - 1;
|
|
36329
|
-
return /* @__PURE__ */ jsxs(
|
|
36469
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
36330
36470
|
idx > 0 && /* @__PURE__ */ jsx(
|
|
36331
36471
|
Icon,
|
|
36332
36472
|
{
|
|
@@ -36990,7 +37130,7 @@ var init_PageHeader = __esm({
|
|
|
36990
37130
|
info: "bg-info/10 text-info"
|
|
36991
37131
|
};
|
|
36992
37132
|
return /* @__PURE__ */ jsxs(Box, { className: cn("mb-6", className), children: [
|
|
36993
|
-
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ jsx(Box, { as: "nav", className: "mb-4", children: /* @__PURE__ */ jsx(Box, { as: "ol", className: "flex items-center gap-2 text-sm", children: breadcrumbs.map((crumb, idx) => /* @__PURE__ */ jsxs(
|
|
37133
|
+
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ jsx(Box, { as: "nav", className: "mb-4", children: /* @__PURE__ */ jsx(Box, { as: "ol", className: "flex items-center gap-2 text-sm", children: breadcrumbs.map((crumb, idx) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
36994
37134
|
idx > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "muted", children: "/" }),
|
|
36995
37135
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
36996
37136
|
"a",
|
|
@@ -37348,7 +37488,7 @@ var init_Section = __esm({
|
|
|
37348
37488
|
as: Component = "section"
|
|
37349
37489
|
}) => {
|
|
37350
37490
|
const hasHeader = title || description || action;
|
|
37351
|
-
return
|
|
37491
|
+
return React94__default.createElement(
|
|
37352
37492
|
Component,
|
|
37353
37493
|
{
|
|
37354
37494
|
className: cn(
|
|
@@ -37722,7 +37862,7 @@ var init_WizardContainer = __esm({
|
|
|
37722
37862
|
const isCompleted = index < currentStep;
|
|
37723
37863
|
const stepKey = step.id ?? step.tabId ?? `step-${index}`;
|
|
37724
37864
|
const stepTitle = step.title ?? step.name ?? `Step ${index + 1}`;
|
|
37725
|
-
return /* @__PURE__ */ jsxs(
|
|
37865
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
37726
37866
|
/* @__PURE__ */ jsx(
|
|
37727
37867
|
Button,
|
|
37728
37868
|
{
|
|
@@ -39509,7 +39649,7 @@ var init_ImportPreviewTree = __esm({
|
|
|
39509
39649
|
const renderUnit = (unit, childrenByParent, depth) => {
|
|
39510
39650
|
const summary = fieldSummary(unit);
|
|
39511
39651
|
const children = childrenByParent.get(unit.ref) ?? [];
|
|
39512
|
-
return /* @__PURE__ */ jsxs(
|
|
39652
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
39513
39653
|
/* @__PURE__ */ jsxs(
|
|
39514
39654
|
Box,
|
|
39515
39655
|
{
|
|
@@ -39606,7 +39746,7 @@ var init_ImportProgress = __esm({
|
|
|
39606
39746
|
PIPELINE.map((key, index) => {
|
|
39607
39747
|
const isComplete = index < currentIndex;
|
|
39608
39748
|
const isActive = index === currentIndex;
|
|
39609
|
-
return /* @__PURE__ */ jsxs(
|
|
39749
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
39610
39750
|
index > 0 ? /* @__PURE__ */ jsx(Box, { className: "h-px w-4 bg-border" }) : null,
|
|
39611
39751
|
/* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-1", "data-testid": `import-progress-step-${key}`, children: [
|
|
39612
39752
|
/* @__PURE__ */ jsx(
|
|
@@ -40708,18 +40848,30 @@ var init_DetailPanel = __esm({
|
|
|
40708
40848
|
DetailPanel.displayName = "DetailPanel";
|
|
40709
40849
|
}
|
|
40710
40850
|
});
|
|
40711
|
-
|
|
40712
|
-
|
|
40713
|
-
|
|
40851
|
+
function DrawGroup(props) {
|
|
40852
|
+
const register = useContext(DrawableRegistryContext);
|
|
40853
|
+
if (register) register({ ...props, type: "draw-group" });
|
|
40714
40854
|
return null;
|
|
40715
40855
|
}
|
|
40716
40856
|
var init_DrawGroup = __esm({
|
|
40717
40857
|
"components/game/atoms/DrawGroup.tsx"() {
|
|
40718
40858
|
"use client";
|
|
40859
|
+
init_registry();
|
|
40860
|
+
}
|
|
40861
|
+
});
|
|
40862
|
+
function DrawMesh(props) {
|
|
40863
|
+
const register = useContext(DrawableRegistryContext);
|
|
40864
|
+
if (register) register({ ...props, type: "draw-mesh" });
|
|
40865
|
+
return null;
|
|
40866
|
+
}
|
|
40867
|
+
var init_DrawMesh = __esm({
|
|
40868
|
+
"components/game/atoms/DrawMesh.tsx"() {
|
|
40869
|
+
"use client";
|
|
40870
|
+
init_registry();
|
|
40719
40871
|
}
|
|
40720
40872
|
});
|
|
40721
40873
|
function extractTitle(children) {
|
|
40722
|
-
if (!
|
|
40874
|
+
if (!React94__default.isValidElement(children)) return void 0;
|
|
40723
40875
|
const props = children.props;
|
|
40724
40876
|
if (typeof props.title === "string") {
|
|
40725
40877
|
return props.title;
|
|
@@ -41069,12 +41221,12 @@ var init_Form = __esm({
|
|
|
41069
41221
|
const isSchemaEntity = isOrbitalEntitySchema(entity);
|
|
41070
41222
|
const resolvedEntity = isSchemaEntity ? entity : void 0;
|
|
41071
41223
|
const entityName = typeof entity === "string" ? entity : resolvedEntity?.name;
|
|
41072
|
-
const normalizedInitialData =
|
|
41224
|
+
const normalizedInitialData = React94__default.useMemo(() => {
|
|
41073
41225
|
const entityRowAsInitial = isPlainEntityRow(entity) ? entity : void 0;
|
|
41074
41226
|
const callerInitial = initialData !== null && typeof initialData === "object" && !Array.isArray(initialData) ? initialData : {};
|
|
41075
41227
|
return entityRowAsInitial !== void 0 ? { ...entityRowAsInitial, ...callerInitial } : callerInitial;
|
|
41076
41228
|
}, [entity, initialData]);
|
|
41077
|
-
const entityDerivedFields =
|
|
41229
|
+
const entityDerivedFields = React94__default.useMemo(() => {
|
|
41078
41230
|
if (fields && fields.length > 0) return void 0;
|
|
41079
41231
|
if (!resolvedEntity) return void 0;
|
|
41080
41232
|
return resolvedEntity.fields.map(
|
|
@@ -41095,16 +41247,16 @@ var init_Form = __esm({
|
|
|
41095
41247
|
const conditionalFields = typeof conditionalFieldsRaw === "boolean" ? {} : conditionalFieldsRaw;
|
|
41096
41248
|
const hiddenCalculations = typeof hiddenCalculationsRaw === "boolean" ? [] : hiddenCalculationsRaw;
|
|
41097
41249
|
const violationTriggers = typeof violationTriggersRaw === "boolean" ? [] : violationTriggersRaw;
|
|
41098
|
-
const [formData, setFormData] =
|
|
41250
|
+
const [formData, setFormData] = React94__default.useState(
|
|
41099
41251
|
normalizedInitialData
|
|
41100
41252
|
);
|
|
41101
|
-
const [collapsedSections, setCollapsedSections] =
|
|
41253
|
+
const [collapsedSections, setCollapsedSections] = React94__default.useState(
|
|
41102
41254
|
/* @__PURE__ */ new Set()
|
|
41103
41255
|
);
|
|
41104
|
-
const [submitError, setSubmitError] =
|
|
41105
|
-
const formRef =
|
|
41256
|
+
const [submitError, setSubmitError] = React94__default.useState(null);
|
|
41257
|
+
const formRef = React94__default.useRef(null);
|
|
41106
41258
|
const formMode = props.mode;
|
|
41107
|
-
const mountedRef =
|
|
41259
|
+
const mountedRef = React94__default.useRef(false);
|
|
41108
41260
|
if (!mountedRef.current) {
|
|
41109
41261
|
mountedRef.current = true;
|
|
41110
41262
|
debug("forms", "mount", {
|
|
@@ -41117,7 +41269,7 @@ var init_Form = __esm({
|
|
|
41117
41269
|
});
|
|
41118
41270
|
}
|
|
41119
41271
|
const shouldShowCancel = showCancel ?? (fields && fields.length > 0);
|
|
41120
|
-
const evalContext =
|
|
41272
|
+
const evalContext = React94__default.useMemo(
|
|
41121
41273
|
() => ({
|
|
41122
41274
|
formValues: formData,
|
|
41123
41275
|
globalVariables: externalContext?.globalVariables ?? {},
|
|
@@ -41126,7 +41278,7 @@ var init_Form = __esm({
|
|
|
41126
41278
|
}),
|
|
41127
41279
|
[formData, externalContext]
|
|
41128
41280
|
);
|
|
41129
|
-
|
|
41281
|
+
React94__default.useEffect(() => {
|
|
41130
41282
|
debug("forms", "initialData-sync", {
|
|
41131
41283
|
mode: formMode,
|
|
41132
41284
|
normalizedInitialData,
|
|
@@ -41137,7 +41289,7 @@ var init_Form = __esm({
|
|
|
41137
41289
|
setFormData(normalizedInitialData);
|
|
41138
41290
|
}
|
|
41139
41291
|
}, [normalizedInitialData]);
|
|
41140
|
-
const processCalculations =
|
|
41292
|
+
const processCalculations = React94__default.useCallback(
|
|
41141
41293
|
(changedFieldId, newFormData) => {
|
|
41142
41294
|
if (!hiddenCalculations.length) return;
|
|
41143
41295
|
const context = {
|
|
@@ -41162,7 +41314,7 @@ var init_Form = __esm({
|
|
|
41162
41314
|
},
|
|
41163
41315
|
[hiddenCalculations, externalContext, eventBus]
|
|
41164
41316
|
);
|
|
41165
|
-
const checkViolations =
|
|
41317
|
+
const checkViolations = React94__default.useCallback(
|
|
41166
41318
|
(changedFieldId, newFormData) => {
|
|
41167
41319
|
if (!violationTriggers.length) return;
|
|
41168
41320
|
const context = {
|
|
@@ -41200,7 +41352,7 @@ var init_Form = __esm({
|
|
|
41200
41352
|
processCalculations(name, newFormData);
|
|
41201
41353
|
checkViolations(name, newFormData);
|
|
41202
41354
|
};
|
|
41203
|
-
const isFieldVisible =
|
|
41355
|
+
const isFieldVisible = React94__default.useCallback(
|
|
41204
41356
|
(fieldName) => {
|
|
41205
41357
|
const condition = conditionalFields[fieldName];
|
|
41206
41358
|
if (!condition) return true;
|
|
@@ -41208,7 +41360,7 @@ var init_Form = __esm({
|
|
|
41208
41360
|
},
|
|
41209
41361
|
[conditionalFields, evalContext]
|
|
41210
41362
|
);
|
|
41211
|
-
const isSectionVisible =
|
|
41363
|
+
const isSectionVisible = React94__default.useCallback(
|
|
41212
41364
|
(section) => {
|
|
41213
41365
|
if (!section.condition) return true;
|
|
41214
41366
|
return Boolean(evaluateFormExpression(section.condition, evalContext));
|
|
@@ -41284,7 +41436,7 @@ var init_Form = __esm({
|
|
|
41284
41436
|
eventBus.emit(`UI:${onCancel}`);
|
|
41285
41437
|
}
|
|
41286
41438
|
};
|
|
41287
|
-
const renderField =
|
|
41439
|
+
const renderField = React94__default.useCallback(
|
|
41288
41440
|
(field) => {
|
|
41289
41441
|
const fieldName = field.name || field.field;
|
|
41290
41442
|
if (!fieldName) return null;
|
|
@@ -41305,7 +41457,7 @@ var init_Form = __esm({
|
|
|
41305
41457
|
[formData, isFieldVisible, relationsData, relationsLoading, isLoading]
|
|
41306
41458
|
);
|
|
41307
41459
|
const effectiveFields = entityDerivedFields ?? fields;
|
|
41308
|
-
const normalizedFields =
|
|
41460
|
+
const normalizedFields = React94__default.useMemo(() => {
|
|
41309
41461
|
if (!effectiveFields || effectiveFields.length === 0) return [];
|
|
41310
41462
|
return effectiveFields.map((field) => {
|
|
41311
41463
|
if (typeof field === "string") {
|
|
@@ -41329,7 +41481,7 @@ var init_Form = __esm({
|
|
|
41329
41481
|
return field;
|
|
41330
41482
|
});
|
|
41331
41483
|
}, [effectiveFields, resolvedEntity]);
|
|
41332
|
-
const schemaFields =
|
|
41484
|
+
const schemaFields = React94__default.useMemo(() => {
|
|
41333
41485
|
if (normalizedFields.length === 0) return null;
|
|
41334
41486
|
if (isDebugEnabled()) {
|
|
41335
41487
|
debugGroup(`Form: ${entityName || "unknown"}`);
|
|
@@ -41339,7 +41491,7 @@ var init_Form = __esm({
|
|
|
41339
41491
|
}
|
|
41340
41492
|
return normalizedFields.map(renderField).filter(Boolean);
|
|
41341
41493
|
}, [normalizedFields, renderField, entityName, conditionalFields]);
|
|
41342
|
-
const sectionElements =
|
|
41494
|
+
const sectionElements = React94__default.useMemo(() => {
|
|
41343
41495
|
if (!sections || sections.length === 0) return null;
|
|
41344
41496
|
return sections.map((section) => {
|
|
41345
41497
|
if (!isSectionVisible(section)) {
|
|
@@ -42065,7 +42217,7 @@ var init_List = __esm({
|
|
|
42065
42217
|
if (entity && typeof entity === "object" && "id" in entity) return [entity];
|
|
42066
42218
|
return [];
|
|
42067
42219
|
}, [entity]);
|
|
42068
|
-
const getItemActions =
|
|
42220
|
+
const getItemActions = React94__default.useCallback(
|
|
42069
42221
|
(item) => {
|
|
42070
42222
|
if (!itemActions) return [];
|
|
42071
42223
|
if (typeof itemActions === "function") {
|
|
@@ -42546,7 +42698,7 @@ var init_MediaGallery = __esm({
|
|
|
42546
42698
|
[selectable, selectedItems, selectionEvent, eventBus]
|
|
42547
42699
|
);
|
|
42548
42700
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
42549
|
-
const items =
|
|
42701
|
+
const items = React94__default.useMemo(() => {
|
|
42550
42702
|
if (propItems && propItems.length > 0) return propItems;
|
|
42551
42703
|
if (entityData.length === 0) return [];
|
|
42552
42704
|
return entityData.map((record, idx) => {
|
|
@@ -42711,7 +42863,7 @@ var init_MediaGallery = __esm({
|
|
|
42711
42863
|
}
|
|
42712
42864
|
});
|
|
42713
42865
|
function extractTitle2(children) {
|
|
42714
|
-
if (!
|
|
42866
|
+
if (!React94__default.isValidElement(children)) return void 0;
|
|
42715
42867
|
const props = children.props;
|
|
42716
42868
|
if (typeof props.title === "string") {
|
|
42717
42869
|
return props.title;
|
|
@@ -42985,7 +43137,7 @@ var init_debugRegistry = __esm({
|
|
|
42985
43137
|
}
|
|
42986
43138
|
});
|
|
42987
43139
|
function useDebugData() {
|
|
42988
|
-
const [data, setData] =
|
|
43140
|
+
const [data, setData] = React94.useState(() => ({
|
|
42989
43141
|
traits: [],
|
|
42990
43142
|
ticks: [],
|
|
42991
43143
|
guards: [],
|
|
@@ -42999,7 +43151,7 @@ function useDebugData() {
|
|
|
42999
43151
|
},
|
|
43000
43152
|
lastUpdate: Date.now()
|
|
43001
43153
|
}));
|
|
43002
|
-
|
|
43154
|
+
React94.useEffect(() => {
|
|
43003
43155
|
const updateData = () => {
|
|
43004
43156
|
setData({
|
|
43005
43157
|
traits: getAllTraits(),
|
|
@@ -43108,12 +43260,12 @@ function layoutGraph(states, transitions, initialState, width, height) {
|
|
|
43108
43260
|
return positions;
|
|
43109
43261
|
}
|
|
43110
43262
|
function WalkMinimap() {
|
|
43111
|
-
const [walkStep, setWalkStep] =
|
|
43112
|
-
const [traits2, setTraits] =
|
|
43113
|
-
const [coveredEdges, setCoveredEdges] =
|
|
43114
|
-
const [completedTraits, setCompletedTraits] =
|
|
43115
|
-
const prevTraitRef =
|
|
43116
|
-
|
|
43263
|
+
const [walkStep, setWalkStep] = React94.useState(null);
|
|
43264
|
+
const [traits2, setTraits] = React94.useState([]);
|
|
43265
|
+
const [coveredEdges, setCoveredEdges] = React94.useState([]);
|
|
43266
|
+
const [completedTraits, setCompletedTraits] = React94.useState(/* @__PURE__ */ new Set());
|
|
43267
|
+
const prevTraitRef = React94.useRef(null);
|
|
43268
|
+
React94.useEffect(() => {
|
|
43117
43269
|
const interval = setInterval(() => {
|
|
43118
43270
|
const w = window;
|
|
43119
43271
|
const step = w.__orbitalWalkStep;
|
|
@@ -43549,15 +43701,15 @@ var init_EntitiesTab = __esm({
|
|
|
43549
43701
|
});
|
|
43550
43702
|
function EventFlowTab({ events: events2 }) {
|
|
43551
43703
|
const { t } = useTranslate();
|
|
43552
|
-
const [filter, setFilter] =
|
|
43553
|
-
const containerRef =
|
|
43554
|
-
const [autoScroll, setAutoScroll] =
|
|
43555
|
-
|
|
43704
|
+
const [filter, setFilter] = React94.useState("all");
|
|
43705
|
+
const containerRef = React94.useRef(null);
|
|
43706
|
+
const [autoScroll, setAutoScroll] = React94.useState(true);
|
|
43707
|
+
React94.useEffect(() => {
|
|
43556
43708
|
if (autoScroll && containerRef.current) {
|
|
43557
43709
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
43558
43710
|
}
|
|
43559
43711
|
}, [events2.length, autoScroll]);
|
|
43560
|
-
const filteredEvents =
|
|
43712
|
+
const filteredEvents = React94.useMemo(() => {
|
|
43561
43713
|
if (filter === "all") return events2;
|
|
43562
43714
|
return events2.filter((e) => e.type === filter);
|
|
43563
43715
|
}, [events2, filter]);
|
|
@@ -43673,7 +43825,7 @@ var init_EventFlowTab = __esm({
|
|
|
43673
43825
|
});
|
|
43674
43826
|
function GuardsPanel({ guards }) {
|
|
43675
43827
|
const { t } = useTranslate();
|
|
43676
|
-
const [filter, setFilter] =
|
|
43828
|
+
const [filter, setFilter] = React94.useState("all");
|
|
43677
43829
|
if (guards.length === 0) {
|
|
43678
43830
|
return /* @__PURE__ */ jsx(
|
|
43679
43831
|
EmptyState,
|
|
@@ -43686,7 +43838,7 @@ function GuardsPanel({ guards }) {
|
|
|
43686
43838
|
}
|
|
43687
43839
|
const passedCount = guards.filter((g) => g.result).length;
|
|
43688
43840
|
const failedCount = guards.length - passedCount;
|
|
43689
|
-
const filteredGuards =
|
|
43841
|
+
const filteredGuards = React94.useMemo(() => {
|
|
43690
43842
|
if (filter === "all") return guards;
|
|
43691
43843
|
if (filter === "passed") return guards.filter((g) => g.result);
|
|
43692
43844
|
return guards.filter((g) => !g.result);
|
|
@@ -43849,10 +44001,10 @@ function EffectBadge({ effect }) {
|
|
|
43849
44001
|
}
|
|
43850
44002
|
function TransitionTimeline({ transitions }) {
|
|
43851
44003
|
const { t } = useTranslate();
|
|
43852
|
-
const containerRef =
|
|
43853
|
-
const [autoScroll, setAutoScroll] =
|
|
43854
|
-
const [expandedId, setExpandedId] =
|
|
43855
|
-
|
|
44004
|
+
const containerRef = React94.useRef(null);
|
|
44005
|
+
const [autoScroll, setAutoScroll] = React94.useState(true);
|
|
44006
|
+
const [expandedId, setExpandedId] = React94.useState(null);
|
|
44007
|
+
React94.useEffect(() => {
|
|
43856
44008
|
if (autoScroll && containerRef.current) {
|
|
43857
44009
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
43858
44010
|
}
|
|
@@ -44132,9 +44284,9 @@ function getAllEvents(traits2) {
|
|
|
44132
44284
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
44133
44285
|
const eventBus = useEventBus();
|
|
44134
44286
|
const { t } = useTranslate();
|
|
44135
|
-
const [log11, setLog] =
|
|
44136
|
-
const prevStatesRef =
|
|
44137
|
-
|
|
44287
|
+
const [log11, setLog] = React94.useState([]);
|
|
44288
|
+
const prevStatesRef = React94.useRef(/* @__PURE__ */ new Map());
|
|
44289
|
+
React94.useEffect(() => {
|
|
44138
44290
|
for (const trait of traits2) {
|
|
44139
44291
|
const prev = prevStatesRef.current.get(trait.id);
|
|
44140
44292
|
if (prev && prev !== trait.currentState) {
|
|
@@ -44303,10 +44455,10 @@ function VerifyModePanel({
|
|
|
44303
44455
|
localCount
|
|
44304
44456
|
}) {
|
|
44305
44457
|
const { t } = useTranslate();
|
|
44306
|
-
const [expanded, setExpanded] =
|
|
44307
|
-
const scrollRef =
|
|
44308
|
-
const prevCountRef =
|
|
44309
|
-
|
|
44458
|
+
const [expanded, setExpanded] = React94.useState(true);
|
|
44459
|
+
const scrollRef = React94.useRef(null);
|
|
44460
|
+
const prevCountRef = React94.useRef(0);
|
|
44461
|
+
React94.useEffect(() => {
|
|
44310
44462
|
if (expanded && transitions.length > prevCountRef.current && scrollRef.current) {
|
|
44311
44463
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
44312
44464
|
}
|
|
@@ -44363,10 +44515,10 @@ function RuntimeDebugger({
|
|
|
44363
44515
|
schema
|
|
44364
44516
|
}) {
|
|
44365
44517
|
const { t } = useTranslate();
|
|
44366
|
-
const [isCollapsed, setIsCollapsed] =
|
|
44367
|
-
const [isVisible, setIsVisible] =
|
|
44518
|
+
const [isCollapsed, setIsCollapsed] = React94.useState(mode === "verify" ? true : defaultCollapsed);
|
|
44519
|
+
const [isVisible, setIsVisible] = React94.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
|
|
44368
44520
|
const debugData = useDebugData();
|
|
44369
|
-
|
|
44521
|
+
React94.useEffect(() => {
|
|
44370
44522
|
if (mode === "inline") return;
|
|
44371
44523
|
return onDebugToggle((enabled) => {
|
|
44372
44524
|
setIsVisible(enabled);
|
|
@@ -44375,7 +44527,7 @@ function RuntimeDebugger({
|
|
|
44375
44527
|
}
|
|
44376
44528
|
});
|
|
44377
44529
|
}, [mode]);
|
|
44378
|
-
|
|
44530
|
+
React94.useEffect(() => {
|
|
44379
44531
|
if (mode === "inline") return;
|
|
44380
44532
|
const handleKeyDown = (e) => {
|
|
44381
44533
|
if (e.key === "`" && isVisible) {
|
|
@@ -44895,7 +45047,7 @@ var init_StatCard = __esm({
|
|
|
44895
45047
|
const labelToUse = propLabel ?? propTitle;
|
|
44896
45048
|
const eventBus = useEventBus();
|
|
44897
45049
|
const { t } = useTranslate();
|
|
44898
|
-
const handleActionClick =
|
|
45050
|
+
const handleActionClick = React94__default.useCallback(() => {
|
|
44899
45051
|
if (action?.event) {
|
|
44900
45052
|
eventBus.emit(`UI:${action.event}`, {});
|
|
44901
45053
|
}
|
|
@@ -44906,7 +45058,7 @@ var init_StatCard = __esm({
|
|
|
44906
45058
|
const data = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
44907
45059
|
const isLoading = externalLoading ?? false;
|
|
44908
45060
|
const error = externalError;
|
|
44909
|
-
const computeMetricValue =
|
|
45061
|
+
const computeMetricValue = React94__default.useCallback(
|
|
44910
45062
|
(metric, items) => {
|
|
44911
45063
|
if (metric.value !== void 0) {
|
|
44912
45064
|
return metric.value;
|
|
@@ -44945,7 +45097,7 @@ var init_StatCard = __esm({
|
|
|
44945
45097
|
},
|
|
44946
45098
|
[]
|
|
44947
45099
|
);
|
|
44948
|
-
const schemaStats =
|
|
45100
|
+
const schemaStats = React94__default.useMemo(() => {
|
|
44949
45101
|
if (!metrics || metrics.length === 0) return null;
|
|
44950
45102
|
return metrics.map((metric) => ({
|
|
44951
45103
|
label: metric.label,
|
|
@@ -44953,7 +45105,7 @@ var init_StatCard = __esm({
|
|
|
44953
45105
|
format: metric.format
|
|
44954
45106
|
}));
|
|
44955
45107
|
}, [metrics, data, computeMetricValue]);
|
|
44956
|
-
const calculatedTrend =
|
|
45108
|
+
const calculatedTrend = React94__default.useMemo(() => {
|
|
44957
45109
|
if (manualTrend !== void 0) return manualTrend;
|
|
44958
45110
|
if (previousValue === void 0 || currentValue === void 0)
|
|
44959
45111
|
return void 0;
|
|
@@ -45593,8 +45745,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
45593
45745
|
] });
|
|
45594
45746
|
};
|
|
45595
45747
|
InlineActivityStream = ({ activities, autoScroll = true, className }) => {
|
|
45596
|
-
const endRef =
|
|
45597
|
-
|
|
45748
|
+
const endRef = React94__default.useRef(null);
|
|
45749
|
+
React94__default.useEffect(() => {
|
|
45598
45750
|
if (!autoScroll) return;
|
|
45599
45751
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
45600
45752
|
}, [activities.length, autoScroll]);
|
|
@@ -45688,7 +45840,7 @@ var init_SubagentTracePanel = __esm({
|
|
|
45688
45840
|
};
|
|
45689
45841
|
SubagentRichCard = ({ subagent }) => {
|
|
45690
45842
|
const { t } = useTranslate();
|
|
45691
|
-
const activities =
|
|
45843
|
+
const activities = React94__default.useMemo(
|
|
45692
45844
|
() => subagentMessagesToActivities(subagent.messages),
|
|
45693
45845
|
[subagent.messages]
|
|
45694
45846
|
);
|
|
@@ -45765,8 +45917,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
45765
45917
|
] });
|
|
45766
45918
|
};
|
|
45767
45919
|
CoordinatorConversation = ({ messages, autoScroll = true, className }) => {
|
|
45768
|
-
const endRef =
|
|
45769
|
-
|
|
45920
|
+
const endRef = React94__default.useRef(null);
|
|
45921
|
+
React94__default.useEffect(() => {
|
|
45770
45922
|
if (!autoScroll) return;
|
|
45771
45923
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
45772
45924
|
}, [messages.length, autoScroll]);
|
|
@@ -46201,7 +46353,7 @@ var init_Timeline = __esm({
|
|
|
46201
46353
|
}) => {
|
|
46202
46354
|
const { t } = useTranslate();
|
|
46203
46355
|
const entityData = entity ?? [];
|
|
46204
|
-
const items =
|
|
46356
|
+
const items = React94__default.useMemo(() => {
|
|
46205
46357
|
if (propItems) return propItems;
|
|
46206
46358
|
if (entityData.length === 0) return [];
|
|
46207
46359
|
return entityData.map((record, idx) => {
|
|
@@ -46303,7 +46455,7 @@ var init_Timeline = __esm({
|
|
|
46303
46455
|
}
|
|
46304
46456
|
});
|
|
46305
46457
|
function extractToastProps(children) {
|
|
46306
|
-
if (!
|
|
46458
|
+
if (!React94__default.isValidElement(children)) {
|
|
46307
46459
|
if (typeof children === "string") {
|
|
46308
46460
|
return { message: children };
|
|
46309
46461
|
}
|
|
@@ -46345,7 +46497,7 @@ var init_ToastSlot = __esm({
|
|
|
46345
46497
|
eventBus.emit(`${prefix}CLOSE`);
|
|
46346
46498
|
};
|
|
46347
46499
|
if (!isVisible) return null;
|
|
46348
|
-
const isCustomContent =
|
|
46500
|
+
const isCustomContent = React94__default.isValidElement(children) && !message;
|
|
46349
46501
|
return /* @__PURE__ */ jsx(Box, { className: "fixed bottom-4 right-4 z-50", children: isCustomContent ? children : /* @__PURE__ */ jsx(
|
|
46350
46502
|
Toast,
|
|
46351
46503
|
{
|
|
@@ -46441,6 +46593,7 @@ var init_component_registry_generated = __esm({
|
|
|
46441
46593
|
init_DocTOC();
|
|
46442
46594
|
init_DocumentViewer();
|
|
46443
46595
|
init_DrawGroup();
|
|
46596
|
+
init_DrawMesh();
|
|
46444
46597
|
init_DrawShape();
|
|
46445
46598
|
init_DrawShapeLayer();
|
|
46446
46599
|
init_DrawSprite();
|
|
@@ -46709,6 +46862,7 @@ var init_component_registry_generated = __esm({
|
|
|
46709
46862
|
"DocTOC": DocTOC,
|
|
46710
46863
|
"DocumentViewer": DocumentViewer,
|
|
46711
46864
|
"DrawGroup": DrawGroup,
|
|
46865
|
+
"DrawMesh": DrawMesh,
|
|
46712
46866
|
"DrawShape": DrawShape,
|
|
46713
46867
|
"DrawShapeLayer": DrawShapeLayer,
|
|
46714
46868
|
"DrawSprite": DrawSprite,
|
|
@@ -46918,7 +47072,7 @@ function SuspenseConfigProvider({
|
|
|
46918
47072
|
config,
|
|
46919
47073
|
children
|
|
46920
47074
|
}) {
|
|
46921
|
-
return
|
|
47075
|
+
return React94__default.createElement(
|
|
46922
47076
|
SuspenseConfigContext.Provider,
|
|
46923
47077
|
{ value: config },
|
|
46924
47078
|
children
|
|
@@ -46960,7 +47114,7 @@ function enrichFormFields(fields, entityDef) {
|
|
|
46960
47114
|
}
|
|
46961
47115
|
return { name: field, label: humanizeFieldName(field) };
|
|
46962
47116
|
}
|
|
46963
|
-
if (field && typeof field === "object" && !Array.isArray(field) && !
|
|
47117
|
+
if (field && typeof field === "object" && !Array.isArray(field) && !React94__default.isValidElement(field) && !(field instanceof Date)) {
|
|
46964
47118
|
const obj = field;
|
|
46965
47119
|
const fieldName = typeof obj.name === "string" ? obj.name : typeof obj.field === "string" ? obj.field : void 0;
|
|
46966
47120
|
if (!fieldName) return field;
|
|
@@ -47432,7 +47586,7 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
47432
47586
|
const key = `${parentId}-${index}-trait:${traitName}`;
|
|
47433
47587
|
return /* @__PURE__ */ jsx(TraitFrame, { traitName }, key);
|
|
47434
47588
|
}
|
|
47435
|
-
return /* @__PURE__ */ jsx(
|
|
47589
|
+
return /* @__PURE__ */ jsx(React94__default.Fragment, { children: child }, `${parentId}-${index}`);
|
|
47436
47590
|
}
|
|
47437
47591
|
if (!child || typeof child !== "object") return null;
|
|
47438
47592
|
const childId = `${parentId}-${index}`;
|
|
@@ -47489,14 +47643,14 @@ function isPatternConfig(value) {
|
|
|
47489
47643
|
if (value === null || value === void 0) return false;
|
|
47490
47644
|
if (typeof value !== "object") return false;
|
|
47491
47645
|
if (Array.isArray(value)) return false;
|
|
47492
|
-
if (
|
|
47646
|
+
if (React94__default.isValidElement(value)) return false;
|
|
47493
47647
|
if (value instanceof Date) return false;
|
|
47494
47648
|
if (typeof value === "function") return false;
|
|
47495
47649
|
const record = value;
|
|
47496
47650
|
return "type" in record && typeof record.type === "string" && getComponentForPattern$1(record.type) !== null;
|
|
47497
47651
|
}
|
|
47498
47652
|
function isPlainConfigObject(value) {
|
|
47499
|
-
if (
|
|
47653
|
+
if (React94__default.isValidElement(value)) return false;
|
|
47500
47654
|
if (value instanceof Date) return false;
|
|
47501
47655
|
const proto = Object.getPrototypeOf(value);
|
|
47502
47656
|
return proto === Object.prototype || proto === null;
|
|
@@ -47637,7 +47791,7 @@ function SlotContentRenderer({
|
|
|
47637
47791
|
for (const slotKey of CONTENT_NODE_SLOTS) {
|
|
47638
47792
|
const slotVal = restProps[slotKey];
|
|
47639
47793
|
if (slotVal === void 0 || slotVal === null) continue;
|
|
47640
|
-
if (
|
|
47794
|
+
if (React94__default.isValidElement(slotVal) || typeof slotVal === "string" || typeof slotVal === "number" || typeof slotVal === "boolean") continue;
|
|
47641
47795
|
const typelessChildren = !Array.isArray(slotVal) && typeof slotVal === "object" && !("type" in slotVal) && Array.isArray(slotVal.children) ? slotVal.children : void 0;
|
|
47642
47796
|
if (typelessChildren !== void 0 || Array.isArray(slotVal) || typeof slotVal === "object" && "type" in slotVal) {
|
|
47643
47797
|
nodeSlotOverrides[slotKey] = renderPatternChildren(
|
|
@@ -47691,7 +47845,7 @@ function SlotContentRenderer({
|
|
|
47691
47845
|
const resolvedItems = Array.isArray(entityVal) && entityVal[0] !== "fn" ? entityVal : null;
|
|
47692
47846
|
if (resolvedItems && resolvedItems.length > 0 && !finalProps.fields && !finalProps.columns) {
|
|
47693
47847
|
const sample = resolvedItems[0];
|
|
47694
|
-
if (sample && typeof sample === "object" && !Array.isArray(sample) && !
|
|
47848
|
+
if (sample && typeof sample === "object" && !Array.isArray(sample) && !React94__default.isValidElement(sample) && !(sample instanceof Date)) {
|
|
47695
47849
|
const keys = Object.keys(sample).filter((k) => k !== "id" && k !== "_id");
|
|
47696
47850
|
finalProps.fields = keys.map((k, i) => ({ name: k, variant: i === 0 ? "h4" : "body" }));
|
|
47697
47851
|
}
|
|
@@ -48060,7 +48214,7 @@ var AvlTransition = ({
|
|
|
48060
48214
|
opacity = 1,
|
|
48061
48215
|
className
|
|
48062
48216
|
}) => {
|
|
48063
|
-
const ids =
|
|
48217
|
+
const ids = React94__default.useMemo(() => {
|
|
48064
48218
|
avlTransitionId += 1;
|
|
48065
48219
|
return { arrow: `avl-tr-${avlTransitionId}-arrow` };
|
|
48066
48220
|
}, []);
|
|
@@ -48621,7 +48775,7 @@ var AvlStateMachine = ({
|
|
|
48621
48775
|
color = "var(--color-primary)",
|
|
48622
48776
|
animated = false
|
|
48623
48777
|
}) => {
|
|
48624
|
-
const ids =
|
|
48778
|
+
const ids = React94__default.useMemo(() => {
|
|
48625
48779
|
avlSmId += 1;
|
|
48626
48780
|
const base = `avl-sm-${avlSmId}`;
|
|
48627
48781
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
@@ -48820,7 +48974,7 @@ var AvlOrbitalUnit = ({
|
|
|
48820
48974
|
color = "var(--color-primary)",
|
|
48821
48975
|
animated = false
|
|
48822
48976
|
}) => {
|
|
48823
|
-
const ids =
|
|
48977
|
+
const ids = React94__default.useMemo(() => {
|
|
48824
48978
|
avlOuId += 1;
|
|
48825
48979
|
const base = `avl-ou-${avlOuId}`;
|
|
48826
48980
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
@@ -48916,7 +49070,7 @@ var AvlClosedCircuit = ({
|
|
|
48916
49070
|
color = "var(--color-primary)",
|
|
48917
49071
|
animated = false
|
|
48918
49072
|
}) => {
|
|
48919
|
-
const ids =
|
|
49073
|
+
const ids = React94__default.useMemo(() => {
|
|
48920
49074
|
avlCcId += 1;
|
|
48921
49075
|
const base = `avl-cc-${avlCcId}`;
|
|
48922
49076
|
return { glow: `${base}-glow`, grad: `${base}-grad`, arrow: `${base}-arrow` };
|
|
@@ -49071,7 +49225,7 @@ var AvlEmitListen = ({
|
|
|
49071
49225
|
color = "var(--color-primary)",
|
|
49072
49226
|
animated = false
|
|
49073
49227
|
}) => {
|
|
49074
|
-
const ids =
|
|
49228
|
+
const ids = React94__default.useMemo(() => {
|
|
49075
49229
|
avlElId += 1;
|
|
49076
49230
|
const base = `avl-el-${avlElId}`;
|
|
49077
49231
|
return { arrow: `${base}-arrow`, grad: `${base}-grad` };
|
|
@@ -49345,7 +49499,7 @@ function renderNode(node, color, glowId) {
|
|
|
49345
49499
|
const baseR = node.type === "operator" ? 20 : 16;
|
|
49346
49500
|
const r2 = Math.max(baseR, labelLen * 3.5 + 6);
|
|
49347
49501
|
const nc = nodeColor(node.type, color);
|
|
49348
|
-
return /* @__PURE__ */ jsxs(
|
|
49502
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
49349
49503
|
node.children.map((child, i) => {
|
|
49350
49504
|
const childR = Math.max(
|
|
49351
49505
|
child.type === "operator" ? 20 : 16,
|
|
@@ -49402,7 +49556,7 @@ var AvlExprTree = ({
|
|
|
49402
49556
|
className,
|
|
49403
49557
|
color = "var(--color-primary)"
|
|
49404
49558
|
}) => {
|
|
49405
|
-
const ids =
|
|
49559
|
+
const ids = React94__default.useMemo(() => {
|
|
49406
49560
|
avlEtId += 1;
|
|
49407
49561
|
return { glow: `avl-et-${avlEtId}-glow` };
|
|
49408
49562
|
}, []);
|
|
@@ -50237,7 +50391,7 @@ var SystemNode = ({ data }) => {
|
|
|
50237
50391
|
stateChain.length > 0 && /* @__PURE__ */ jsx("svg", { width: stateChain.length * 14 + 2, height: 10, viewBox: `0 0 ${stateChain.length * 14 + 2} 10`, children: stateChain.map((s, i) => {
|
|
50238
50392
|
const tc = transitionCounts[s.name] ?? 0;
|
|
50239
50393
|
const role = getStateRole(s.name, s.isInitial ?? void 0, s.isTerminal ?? void 0, tc, maxTC);
|
|
50240
|
-
return /* @__PURE__ */ jsxs(
|
|
50394
|
+
return /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
50241
50395
|
/* @__PURE__ */ jsx(AvlState, { x: i * 14 + 1, y: 1, width: 10, height: 8, name: "", role, isInitial: s.isInitial ?? void 0, isTerminal: s.isTerminal ?? void 0 }),
|
|
50242
50396
|
i < stateChain.length - 1 && /* @__PURE__ */ jsx("line", { x1: i * 14 + 12, y1: 5, x2: i * 14 + 15, y2: 5, stroke: "var(--color-border)", strokeWidth: 0.5 })
|
|
50243
50397
|
] }, s.name);
|
|
@@ -51324,7 +51478,7 @@ function resolveLambdaBindings(body, params, item, index) {
|
|
|
51324
51478
|
}
|
|
51325
51479
|
return substituted;
|
|
51326
51480
|
}
|
|
51327
|
-
if (body !== null && typeof body === "object" && !
|
|
51481
|
+
if (body !== null && typeof body === "object" && !React94__default.isValidElement(body) && !(body instanceof Date) && typeof body !== "function") {
|
|
51328
51482
|
const out = {};
|
|
51329
51483
|
for (const [k, v] of Object.entries(body)) {
|
|
51330
51484
|
out[k] = recur(v);
|
|
@@ -51357,7 +51511,7 @@ function deferLambdaEntityExprs(value) {
|
|
|
51357
51511
|
}
|
|
51358
51512
|
return arr.map((v) => deferLambdaEntityExprs(v));
|
|
51359
51513
|
}
|
|
51360
|
-
if (value !== null && typeof value === "object" && !
|
|
51514
|
+
if (value !== null && typeof value === "object" && !React94__default.isValidElement(value) && !(value instanceof Date) && typeof value !== "function" && !isRenderBindingMarker(value)) {
|
|
51361
51515
|
const out = {};
|
|
51362
51516
|
for (const [k, v] of Object.entries(value)) {
|
|
51363
51517
|
out[k] = deferLambdaEntityExprs(v);
|
|
@@ -51371,7 +51525,7 @@ function makeLambdaFn(params, lambdaBody, callerKey) {
|
|
|
51371
51525
|
const resolvedBody = deferLambdaEntityExprs(
|
|
51372
51526
|
resolveLambdaBindings(lambdaBody, params, item, index)
|
|
51373
51527
|
);
|
|
51374
|
-
if (resolvedBody === null || typeof resolvedBody !== "object" || Array.isArray(resolvedBody) || typeof resolvedBody === "function" ||
|
|
51528
|
+
if (resolvedBody === null || typeof resolvedBody !== "object" || Array.isArray(resolvedBody) || typeof resolvedBody === "function" || React94__default.isValidElement(resolvedBody) || resolvedBody instanceof Date) {
|
|
51375
51529
|
return null;
|
|
51376
51530
|
}
|
|
51377
51531
|
const record = resolvedBody;
|
|
@@ -51390,7 +51544,7 @@ function makeLambdaFn(params, lambdaBody, callerKey) {
|
|
|
51390
51544
|
props: childProps,
|
|
51391
51545
|
priority: 0
|
|
51392
51546
|
};
|
|
51393
|
-
return
|
|
51547
|
+
return React94__default.createElement(SlotContentRenderer2, { content: childContent });
|
|
51394
51548
|
};
|
|
51395
51549
|
}
|
|
51396
51550
|
function convertNode(node, callerKey) {
|
|
@@ -51410,7 +51564,7 @@ function convertNode(node, callerKey) {
|
|
|
51410
51564
|
});
|
|
51411
51565
|
return anyChanged ? mapped : node;
|
|
51412
51566
|
}
|
|
51413
|
-
if (typeof node === "object" && !
|
|
51567
|
+
if (typeof node === "object" && !React94__default.isValidElement(node) && !(node instanceof Date)) {
|
|
51414
51568
|
return convertObjectProps(node);
|
|
51415
51569
|
}
|
|
51416
51570
|
return node;
|
|
@@ -53333,8 +53487,8 @@ function CanvasDndProvider({
|
|
|
53333
53487
|
}) {
|
|
53334
53488
|
const eventBus = useEventBus();
|
|
53335
53489
|
const sensors = useAlmadarDndSensors(false);
|
|
53336
|
-
const [activePayload, setActivePayload] =
|
|
53337
|
-
const handleDragStart =
|
|
53490
|
+
const [activePayload, setActivePayload] = React94__default.useState(null);
|
|
53491
|
+
const handleDragStart = React94__default.useCallback((e) => {
|
|
53338
53492
|
const data = e.active.data.current;
|
|
53339
53493
|
const payload = data?.payload;
|
|
53340
53494
|
if (payload) {
|
|
@@ -53345,7 +53499,7 @@ function CanvasDndProvider({
|
|
|
53345
53499
|
log9.warn("dragStart:missing-payload", { id: e.active.id });
|
|
53346
53500
|
}
|
|
53347
53501
|
}, [eventBus]);
|
|
53348
|
-
const handleDragEnd =
|
|
53502
|
+
const handleDragEnd = React94__default.useCallback((e) => {
|
|
53349
53503
|
setActivePayload(null);
|
|
53350
53504
|
const activeData = e.active.data.current;
|
|
53351
53505
|
const payload = activeData?.payload;
|
|
@@ -53374,7 +53528,7 @@ function CanvasDndProvider({
|
|
|
53374
53528
|
const suppressed = onDrop ? onDrop(drop) === true : false;
|
|
53375
53529
|
if (!suppressed) defaultEmit(eventBus, drop);
|
|
53376
53530
|
}, [eventBus, onDrop]);
|
|
53377
|
-
const handleDragCancel =
|
|
53531
|
+
const handleDragCancel = React94__default.useCallback(() => {
|
|
53378
53532
|
setActivePayload(null);
|
|
53379
53533
|
log9.info("dragCancel");
|
|
53380
53534
|
}, []);
|
|
@@ -54132,7 +54286,7 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
54132
54286
|
}
|
|
54133
54287
|
);
|
|
54134
54288
|
};
|
|
54135
|
-
var OrbPreviewNode =
|
|
54289
|
+
var OrbPreviewNode = React94__default.memo(OrbPreviewNodeInner);
|
|
54136
54290
|
OrbPreviewNode.displayName = "OrbPreviewNode";
|
|
54137
54291
|
orbPreviewLog.debug("export-resolved", () => ({
|
|
54138
54292
|
type: typeof OrbPreviewNode,
|
|
@@ -54237,7 +54391,7 @@ var EventFlowEdgeInner = (props) => {
|
|
|
54237
54391
|
) })
|
|
54238
54392
|
] });
|
|
54239
54393
|
};
|
|
54240
|
-
var EventFlowEdge =
|
|
54394
|
+
var EventFlowEdge = React94__default.memo(EventFlowEdgeInner);
|
|
54241
54395
|
EventFlowEdge.displayName = "EventFlowEdge";
|
|
54242
54396
|
|
|
54243
54397
|
// components/avl/molecules/BehaviorComposeNode.tsx
|
|
@@ -54384,7 +54538,7 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
54384
54538
|
}
|
|
54385
54539
|
);
|
|
54386
54540
|
};
|
|
54387
|
-
var BehaviorComposeNode =
|
|
54541
|
+
var BehaviorComposeNode = React94__default.memo(BehaviorComposeNodeInner);
|
|
54388
54542
|
BehaviorComposeNode.displayName = "BehaviorComposeNode";
|
|
54389
54543
|
|
|
54390
54544
|
// components/avl/lib/avl-behavior-compose-converter.ts
|
|
@@ -55410,7 +55564,7 @@ var TraitCardNodeInner = (props) => {
|
|
|
55410
55564
|
}
|
|
55411
55565
|
);
|
|
55412
55566
|
};
|
|
55413
|
-
var TraitCardNode =
|
|
55567
|
+
var TraitCardNode = React94__default.memo(TraitCardNodeInner);
|
|
55414
55568
|
TraitCardNode.displayName = "TraitCardNode";
|
|
55415
55569
|
|
|
55416
55570
|
// components/avl/organisms/FlowCanvas.tsx
|
|
@@ -55491,7 +55645,7 @@ function FlowCanvasInner({
|
|
|
55491
55645
|
initialOrbital
|
|
55492
55646
|
);
|
|
55493
55647
|
const [expandedBehaviorAlias, setExpandedBehaviorAlias] = useState(void 0);
|
|
55494
|
-
const screenSizeUserOverrideRef =
|
|
55648
|
+
const screenSizeUserOverrideRef = React94__default.useRef(false);
|
|
55495
55649
|
const [screenSize, setScreenSize] = useState(
|
|
55496
55650
|
() => typeof window === "undefined" ? "laptop" : detectScreenSize(window.innerWidth)
|
|
55497
55651
|
);
|
|
@@ -55875,7 +56029,7 @@ var ZoomBreadcrumb = ({
|
|
|
55875
56029
|
if (eventName && band === "detail") {
|
|
55876
56030
|
segments.push({ icon: "\u26A1", label: eventName });
|
|
55877
56031
|
}
|
|
55878
|
-
return /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-xs text-muted-foreground backdrop-blur-sm", children: segments.map((seg, i) => /* @__PURE__ */ jsxs(
|
|
56032
|
+
return /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-xs text-muted-foreground backdrop-blur-sm", children: segments.map((seg, i) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
55879
56033
|
i > 0 && /* @__PURE__ */ jsx("span", { className: "opacity-40", children: ">" }),
|
|
55880
56034
|
/* @__PURE__ */ jsx("span", { className: "opacity-60", children: seg.icon }),
|
|
55881
56035
|
/* @__PURE__ */ jsx("span", { children: seg.label })
|
|
@@ -56216,7 +56370,7 @@ var EventWireOverlay = ({
|
|
|
56216
56370
|
containerW,
|
|
56217
56371
|
containerH
|
|
56218
56372
|
}) => {
|
|
56219
|
-
const ids =
|
|
56373
|
+
const ids = React94__default.useMemo(() => {
|
|
56220
56374
|
avlOczWireId += 1;
|
|
56221
56375
|
return { arrow: `avl-ocz-wire-${avlOczWireId}-arrow` };
|
|
56222
56376
|
}, []);
|
|
@@ -56583,7 +56737,7 @@ var AvlOrbitalsCosmicZoom = ({
|
|
|
56583
56737
|
borderRadius: 6,
|
|
56584
56738
|
border: `1px solid ${color}`
|
|
56585
56739
|
},
|
|
56586
|
-
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", children: breadcrumbs.map((crumb, i) => /* @__PURE__ */ jsxs(
|
|
56740
|
+
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", children: breadcrumbs.map((crumb, i) => /* @__PURE__ */ jsxs(React94__default.Fragment, { children: [
|
|
56587
56741
|
i > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", style: { opacity: 0.5, color }, children: "/" }),
|
|
56588
56742
|
i < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx(
|
|
56589
56743
|
Box,
|