@almadar/ui 5.141.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 +1236 -1213
- package/dist/avl/index.js +263 -240
- 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/components/index.cjs +1220 -1197
- package/dist/components/index.d.cts +10 -3
- package/dist/components/index.d.ts +10 -3
- package/dist/components/index.js +254 -231
- package/dist/lib/drawable/three/index.cjs +187 -22
- package/dist/lib/drawable/three/index.d.cts +14 -173
- package/dist/lib/drawable/three/index.d.ts +14 -173
- package/dist/lib/drawable/three/index.js +188 -23
- package/dist/providers/index.cjs +1119 -1096
- package/dist/providers/index.js +238 -215
- package/dist/runtime/index.cjs +1097 -1074
- package/dist/runtime/index.js +243 -220
- package/package.json +3 -3
package/dist/components/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 React77 from 'react';
|
|
3
|
+
import React77__default, { createContext, useContext, useMemo, useRef, useEffect, useCallback, useState, useLayoutEffect, Suspense, useSyncExternalStore, lazy, useId } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { EventBusContext, useTraitScopeChain, useCurrentPagePath, useGameAudioContextOptional, useEntitySchemaOptional, useEntityBindingSnapshot, useTraitScope, TraitScopeProvider } from '@almadar/ui/providers';
|
|
@@ -262,7 +262,7 @@ var init_SvgFlow = __esm({
|
|
|
262
262
|
width = 100,
|
|
263
263
|
height = 100
|
|
264
264
|
}) => {
|
|
265
|
-
const markerId =
|
|
265
|
+
const markerId = React77__default.useMemo(() => {
|
|
266
266
|
flowIdCounter += 1;
|
|
267
267
|
return `almadar-flow-arrow-${flowIdCounter}`;
|
|
268
268
|
}, []);
|
|
@@ -855,7 +855,7 @@ var init_SvgRing = __esm({
|
|
|
855
855
|
width = 100,
|
|
856
856
|
height = 100
|
|
857
857
|
}) => {
|
|
858
|
-
const gradientId =
|
|
858
|
+
const gradientId = React77__default.useMemo(() => {
|
|
859
859
|
ringIdCounter += 1;
|
|
860
860
|
return `almadar-ring-glow-${ringIdCounter}`;
|
|
861
861
|
}, []);
|
|
@@ -1397,7 +1397,7 @@ var init_Icon = __esm({
|
|
|
1397
1397
|
const effectiveName = typeof icon === "string" && icon !== "" ? icon : name;
|
|
1398
1398
|
const effectiveStrokeWidth = strokeWidth != null && strokeWidth > 0 ? strokeWidth : void 0;
|
|
1399
1399
|
const family = useIconFamily();
|
|
1400
|
-
const RenderedComponent =
|
|
1400
|
+
const RenderedComponent = React77__default.useMemo(() => {
|
|
1401
1401
|
if (directIcon) return null;
|
|
1402
1402
|
return effectiveName ? resolveIconForFamily(effectiveName) : null;
|
|
1403
1403
|
}, [directIcon, effectiveName, family]);
|
|
@@ -1521,7 +1521,7 @@ var init_atlasSlice = __esm({
|
|
|
1521
1521
|
}
|
|
1522
1522
|
});
|
|
1523
1523
|
function useAtlasSliceDataUrl(asset) {
|
|
1524
|
-
const [, bump] =
|
|
1524
|
+
const [, bump] = React77.useReducer((x) => x + 1, 0);
|
|
1525
1525
|
if (!isAtlasAsset(asset)) return void 0;
|
|
1526
1526
|
const key = `${asset.atlas}#${asset.sprite}`;
|
|
1527
1527
|
const cached = sliceDataUrlCache.get(key);
|
|
@@ -1584,13 +1584,13 @@ function AtlasImage({
|
|
|
1584
1584
|
style,
|
|
1585
1585
|
"aria-hidden": ariaHidden
|
|
1586
1586
|
}) {
|
|
1587
|
-
const [, bump] =
|
|
1588
|
-
const canvasRef =
|
|
1587
|
+
const [, bump] = React77.useReducer((x) => x + 1, 0);
|
|
1588
|
+
const canvasRef = React77.useRef(null);
|
|
1589
1589
|
const sliced = isAtlasAsset(asset);
|
|
1590
1590
|
const atlas = sliced ? getAtlas(asset.atlas, bump) : void 0;
|
|
1591
1591
|
const img = sliced && asset?.url ? getSheetImage(asset.url, bump) : null;
|
|
1592
1592
|
const rect = sliced && atlas ? subRectFor(atlas, asset.sprite) : null;
|
|
1593
|
-
|
|
1593
|
+
React77.useEffect(() => {
|
|
1594
1594
|
const canvas = canvasRef.current;
|
|
1595
1595
|
if (!canvas || !img || !rect) return;
|
|
1596
1596
|
canvas.width = rect.sw;
|
|
@@ -1666,7 +1666,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
1666
1666
|
const IconComp = value;
|
|
1667
1667
|
return /* @__PURE__ */ jsx(IconComp, { className: sizeClass });
|
|
1668
1668
|
}
|
|
1669
|
-
if (
|
|
1669
|
+
if (React77__default.isValidElement(value)) {
|
|
1670
1670
|
return value;
|
|
1671
1671
|
}
|
|
1672
1672
|
if (typeof value === "object" && value !== null && isIconLike(value)) {
|
|
@@ -1743,7 +1743,7 @@ var init_Button = __esm({
|
|
|
1743
1743
|
md: "h-icon-default w-icon-default",
|
|
1744
1744
|
lg: "h-icon-default w-icon-default"
|
|
1745
1745
|
};
|
|
1746
|
-
Button =
|
|
1746
|
+
Button = React77__default.forwardRef(
|
|
1747
1747
|
({
|
|
1748
1748
|
className,
|
|
1749
1749
|
variant = "primary",
|
|
@@ -1815,7 +1815,7 @@ var init_Input = __esm({
|
|
|
1815
1815
|
init_cn();
|
|
1816
1816
|
init_Icon();
|
|
1817
1817
|
init_useEventBus();
|
|
1818
|
-
Input =
|
|
1818
|
+
Input = React77__default.forwardRef(
|
|
1819
1819
|
({
|
|
1820
1820
|
className,
|
|
1821
1821
|
inputType,
|
|
@@ -1839,9 +1839,9 @@ var init_Input = __esm({
|
|
|
1839
1839
|
const eventBus = useEventBus();
|
|
1840
1840
|
const type = inputType || htmlType || "text";
|
|
1841
1841
|
const isDeclarative = typeof onChange === "string";
|
|
1842
|
-
const [localValue, setLocalValue] =
|
|
1843
|
-
const pendingEchoRef =
|
|
1844
|
-
|
|
1842
|
+
const [localValue, setLocalValue] = React77__default.useState(value);
|
|
1843
|
+
const pendingEchoRef = React77__default.useRef(/* @__PURE__ */ new Set());
|
|
1844
|
+
React77__default.useEffect(() => {
|
|
1845
1845
|
if (!isDeclarative) return;
|
|
1846
1846
|
const incoming = value == null ? "" : String(value);
|
|
1847
1847
|
if (pendingEchoRef.current.has(incoming)) {
|
|
@@ -2001,7 +2001,7 @@ var Label;
|
|
|
2001
2001
|
var init_Label = __esm({
|
|
2002
2002
|
"components/core/atoms/Label.tsx"() {
|
|
2003
2003
|
init_cn();
|
|
2004
|
-
Label =
|
|
2004
|
+
Label = React77__default.forwardRef(
|
|
2005
2005
|
({ className, required, children, ...props }, ref) => {
|
|
2006
2006
|
return /* @__PURE__ */ jsxs(
|
|
2007
2007
|
"label",
|
|
@@ -2028,7 +2028,7 @@ var init_Textarea = __esm({
|
|
|
2028
2028
|
"components/core/atoms/Textarea.tsx"() {
|
|
2029
2029
|
init_cn();
|
|
2030
2030
|
init_useEventBus();
|
|
2031
|
-
Textarea =
|
|
2031
|
+
Textarea = React77__default.forwardRef(
|
|
2032
2032
|
({ className, error, onChange, ...props }, ref) => {
|
|
2033
2033
|
const eventBus = useEventBus();
|
|
2034
2034
|
const handleChange = (e) => {
|
|
@@ -2267,7 +2267,7 @@ var init_Select = __esm({
|
|
|
2267
2267
|
init_cn();
|
|
2268
2268
|
init_Icon();
|
|
2269
2269
|
init_useEventBus();
|
|
2270
|
-
Select =
|
|
2270
|
+
Select = React77__default.forwardRef(
|
|
2271
2271
|
(props, _ref) => {
|
|
2272
2272
|
const { multiple, searchable, clearable } = props;
|
|
2273
2273
|
if (multiple || searchable || clearable) {
|
|
@@ -2284,7 +2284,7 @@ var init_Checkbox = __esm({
|
|
|
2284
2284
|
"components/core/atoms/Checkbox.tsx"() {
|
|
2285
2285
|
init_cn();
|
|
2286
2286
|
init_useEventBus();
|
|
2287
|
-
Checkbox =
|
|
2287
|
+
Checkbox = React77__default.forwardRef(
|
|
2288
2288
|
({ className, label, id, onChange, ...props }, ref) => {
|
|
2289
2289
|
const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
2290
2290
|
const eventBus = useEventBus();
|
|
@@ -2338,7 +2338,7 @@ var init_Spinner = __esm({
|
|
|
2338
2338
|
md: "h-6 w-6",
|
|
2339
2339
|
lg: "h-8 w-8"
|
|
2340
2340
|
};
|
|
2341
|
-
Spinner =
|
|
2341
|
+
Spinner = React77__default.forwardRef(
|
|
2342
2342
|
({ className, size = "md", overlay, ...props }, ref) => {
|
|
2343
2343
|
if (overlay) {
|
|
2344
2344
|
return /* @__PURE__ */ jsx(
|
|
@@ -2428,7 +2428,7 @@ var init_Card = __esm({
|
|
|
2428
2428
|
chip: "shadow-none rounded-pill border-[length:var(--border-width)] border-border",
|
|
2429
2429
|
"tile-image-first": "p-0 overflow-hidden"
|
|
2430
2430
|
};
|
|
2431
|
-
Card =
|
|
2431
|
+
Card = React77__default.forwardRef(
|
|
2432
2432
|
({
|
|
2433
2433
|
className,
|
|
2434
2434
|
variant = "bordered",
|
|
@@ -2477,9 +2477,9 @@ var init_Card = __esm({
|
|
|
2477
2477
|
}
|
|
2478
2478
|
);
|
|
2479
2479
|
Card.displayName = "Card";
|
|
2480
|
-
CardHeader =
|
|
2480
|
+
CardHeader = React77__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
|
|
2481
2481
|
CardHeader.displayName = "CardHeader";
|
|
2482
|
-
CardTitle =
|
|
2482
|
+
CardTitle = React77__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2483
2483
|
"h3",
|
|
2484
2484
|
{
|
|
2485
2485
|
ref,
|
|
@@ -2492,11 +2492,11 @@ var init_Card = __esm({
|
|
|
2492
2492
|
}
|
|
2493
2493
|
));
|
|
2494
2494
|
CardTitle.displayName = "CardTitle";
|
|
2495
|
-
CardContent =
|
|
2495
|
+
CardContent = React77__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
|
|
2496
2496
|
CardContent.displayName = "CardContent";
|
|
2497
2497
|
CardBody = CardContent;
|
|
2498
2498
|
CardBody.displayName = "CardBody";
|
|
2499
|
-
CardFooter =
|
|
2499
|
+
CardFooter = React77__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2500
2500
|
"div",
|
|
2501
2501
|
{
|
|
2502
2502
|
ref,
|
|
@@ -2550,7 +2550,7 @@ var init_Badge = __esm({
|
|
|
2550
2550
|
md: "px-2.5 py-1 text-sm",
|
|
2551
2551
|
lg: "px-3 py-1.5 text-base"
|
|
2552
2552
|
};
|
|
2553
|
-
Badge =
|
|
2553
|
+
Badge = React77__default.forwardRef(
|
|
2554
2554
|
({ className, variant = "default", size = "sm", amount, label, icon, iconAsset, children, onRemove, removeLabel, ...props }, ref) => {
|
|
2555
2555
|
const iconSizes3 = {
|
|
2556
2556
|
sm: "h-icon-default w-icon-default",
|
|
@@ -2678,7 +2678,7 @@ var init_FilterPill = __esm({
|
|
|
2678
2678
|
md: "w-3.5 h-3.5",
|
|
2679
2679
|
lg: "w-4 h-4"
|
|
2680
2680
|
};
|
|
2681
|
-
FilterPill =
|
|
2681
|
+
FilterPill = React77__default.forwardRef(
|
|
2682
2682
|
({
|
|
2683
2683
|
className,
|
|
2684
2684
|
variant = "default",
|
|
@@ -2807,8 +2807,8 @@ var init_Avatar = __esm({
|
|
|
2807
2807
|
actionPayload
|
|
2808
2808
|
}) => {
|
|
2809
2809
|
const eventBus = useEventBus();
|
|
2810
|
-
const [imgFailed, setImgFailed] =
|
|
2811
|
-
|
|
2810
|
+
const [imgFailed, setImgFailed] = React77__default.useState(false);
|
|
2811
|
+
React77__default.useEffect(() => {
|
|
2812
2812
|
setImgFailed(false);
|
|
2813
2813
|
}, [src]);
|
|
2814
2814
|
const initials = providedInitials ?? (name ? generateInitials(name) : void 0);
|
|
@@ -3060,7 +3060,7 @@ var init_Box = __esm({
|
|
|
3060
3060
|
fixed: "fixed",
|
|
3061
3061
|
sticky: "sticky"
|
|
3062
3062
|
};
|
|
3063
|
-
Box =
|
|
3063
|
+
Box = React77__default.forwardRef(
|
|
3064
3064
|
({
|
|
3065
3065
|
padding,
|
|
3066
3066
|
paddingX,
|
|
@@ -3125,7 +3125,7 @@ var init_Box = __esm({
|
|
|
3125
3125
|
onPointerDown?.(e);
|
|
3126
3126
|
}, [hoverEvent, tapReveal, triggerProps, onPointerDown]);
|
|
3127
3127
|
const isClickable = action || onClick;
|
|
3128
|
-
return
|
|
3128
|
+
return React77__default.createElement(
|
|
3129
3129
|
Component,
|
|
3130
3130
|
{
|
|
3131
3131
|
ref,
|
|
@@ -3179,7 +3179,7 @@ var init_Center = __esm({
|
|
|
3179
3179
|
as: Component = "div"
|
|
3180
3180
|
}) => {
|
|
3181
3181
|
const mergedStyle = minHeight ? { minHeight, ...style } : style;
|
|
3182
|
-
return
|
|
3182
|
+
return React77__default.createElement(Component, {
|
|
3183
3183
|
className: cn(
|
|
3184
3184
|
inline ? "inline-flex" : "flex",
|
|
3185
3185
|
horizontal && "justify-center",
|
|
@@ -3447,7 +3447,7 @@ var init_Radio = __esm({
|
|
|
3447
3447
|
md: "w-2.5 h-2.5",
|
|
3448
3448
|
lg: "w-3 h-3"
|
|
3449
3449
|
};
|
|
3450
|
-
Radio =
|
|
3450
|
+
Radio = React77__default.forwardRef(
|
|
3451
3451
|
({
|
|
3452
3452
|
label,
|
|
3453
3453
|
helperText,
|
|
@@ -3464,12 +3464,12 @@ var init_Radio = __esm({
|
|
|
3464
3464
|
onChange,
|
|
3465
3465
|
...props
|
|
3466
3466
|
}, ref) => {
|
|
3467
|
-
const reactId =
|
|
3467
|
+
const reactId = React77__default.useId();
|
|
3468
3468
|
const baseId = id || `radio-${reactId}`;
|
|
3469
3469
|
const hasError = !!error;
|
|
3470
3470
|
const eventBus = useEventBus();
|
|
3471
|
-
const [selected, setSelected] =
|
|
3472
|
-
|
|
3471
|
+
const [selected, setSelected] = React77__default.useState(value);
|
|
3472
|
+
React77__default.useEffect(() => {
|
|
3473
3473
|
if (value !== void 0) setSelected(value);
|
|
3474
3474
|
}, [value]);
|
|
3475
3475
|
const pick = (next, e) => {
|
|
@@ -3651,7 +3651,7 @@ var init_Switch = __esm({
|
|
|
3651
3651
|
"components/core/atoms/Switch.tsx"() {
|
|
3652
3652
|
"use client";
|
|
3653
3653
|
init_cn();
|
|
3654
|
-
Switch =
|
|
3654
|
+
Switch = React77.forwardRef(
|
|
3655
3655
|
({
|
|
3656
3656
|
checked,
|
|
3657
3657
|
defaultChecked = false,
|
|
@@ -3662,10 +3662,10 @@ var init_Switch = __esm({
|
|
|
3662
3662
|
name,
|
|
3663
3663
|
className
|
|
3664
3664
|
}, ref) => {
|
|
3665
|
-
const [isChecked, setIsChecked] =
|
|
3665
|
+
const [isChecked, setIsChecked] = React77.useState(
|
|
3666
3666
|
checked !== void 0 ? checked : defaultChecked
|
|
3667
3667
|
);
|
|
3668
|
-
|
|
3668
|
+
React77.useEffect(() => {
|
|
3669
3669
|
if (checked !== void 0) {
|
|
3670
3670
|
setIsChecked(checked);
|
|
3671
3671
|
}
|
|
@@ -3828,7 +3828,7 @@ var init_Stack = __esm({
|
|
|
3828
3828
|
};
|
|
3829
3829
|
const isHorizontal = direction === "horizontal";
|
|
3830
3830
|
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";
|
|
3831
|
-
return
|
|
3831
|
+
return React77__default.createElement(
|
|
3832
3832
|
Component,
|
|
3833
3833
|
{
|
|
3834
3834
|
className: cn(
|
|
@@ -4117,7 +4117,7 @@ var init_Typography = __esm({
|
|
|
4117
4117
|
if (format !== void 0 && format !== "none" && (typeof body === "string" || typeof body === "number" || body instanceof Date)) {
|
|
4118
4118
|
body = formatValue(body, format);
|
|
4119
4119
|
}
|
|
4120
|
-
return
|
|
4120
|
+
return React77__default.createElement(
|
|
4121
4121
|
Component,
|
|
4122
4122
|
{
|
|
4123
4123
|
id,
|
|
@@ -4351,7 +4351,7 @@ var Dialog;
|
|
|
4351
4351
|
var init_Dialog = __esm({
|
|
4352
4352
|
"components/core/atoms/Dialog.tsx"() {
|
|
4353
4353
|
init_cn();
|
|
4354
|
-
Dialog =
|
|
4354
|
+
Dialog = React77__default.forwardRef(
|
|
4355
4355
|
({
|
|
4356
4356
|
role = "dialog",
|
|
4357
4357
|
"aria-modal": ariaModal = true,
|
|
@@ -4377,7 +4377,7 @@ var Aside;
|
|
|
4377
4377
|
var init_Aside = __esm({
|
|
4378
4378
|
"components/core/atoms/Aside.tsx"() {
|
|
4379
4379
|
init_cn();
|
|
4380
|
-
Aside =
|
|
4380
|
+
Aside = React77__default.forwardRef(
|
|
4381
4381
|
({ className, children, ...rest }, ref) => /* @__PURE__ */ jsx("aside", { ref, className: cn(className), ...rest, children })
|
|
4382
4382
|
);
|
|
4383
4383
|
Aside.displayName = "Aside";
|
|
@@ -4456,9 +4456,9 @@ var init_LawReferenceTooltip = __esm({
|
|
|
4456
4456
|
className
|
|
4457
4457
|
}) => {
|
|
4458
4458
|
const { t } = useTranslate();
|
|
4459
|
-
const [isVisible, setIsVisible] =
|
|
4460
|
-
const timeoutRef =
|
|
4461
|
-
const triggerRef =
|
|
4459
|
+
const [isVisible, setIsVisible] = React77__default.useState(false);
|
|
4460
|
+
const timeoutRef = React77__default.useRef(null);
|
|
4461
|
+
const triggerRef = React77__default.useRef(null);
|
|
4462
4462
|
const handleMouseEnter = () => {
|
|
4463
4463
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
4464
4464
|
timeoutRef.current = setTimeout(() => setIsVisible(true), 200);
|
|
@@ -4469,7 +4469,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
4469
4469
|
};
|
|
4470
4470
|
const { revealed, triggerProps } = useTapReveal({ refs: [triggerRef] });
|
|
4471
4471
|
const open = isVisible || revealed;
|
|
4472
|
-
|
|
4472
|
+
React77__default.useEffect(() => {
|
|
4473
4473
|
return () => {
|
|
4474
4474
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
4475
4475
|
};
|
|
@@ -4679,7 +4679,7 @@ var init_StatusDot = __esm({
|
|
|
4679
4679
|
md: "w-2.5 h-2.5",
|
|
4680
4680
|
lg: "w-3 h-3"
|
|
4681
4681
|
};
|
|
4682
|
-
StatusDot =
|
|
4682
|
+
StatusDot = React77__default.forwardRef(
|
|
4683
4683
|
({ className, status = "offline", pulse = false, size = "md", label, ...props }, ref) => {
|
|
4684
4684
|
return /* @__PURE__ */ jsx(
|
|
4685
4685
|
"span",
|
|
@@ -4733,7 +4733,7 @@ var init_TrendIndicator = __esm({
|
|
|
4733
4733
|
down: "trending-down",
|
|
4734
4734
|
flat: "arrow-right"
|
|
4735
4735
|
};
|
|
4736
|
-
TrendIndicator =
|
|
4736
|
+
TrendIndicator = React77__default.forwardRef(
|
|
4737
4737
|
({
|
|
4738
4738
|
className,
|
|
4739
4739
|
value,
|
|
@@ -4802,7 +4802,7 @@ var init_RangeSlider = __esm({
|
|
|
4802
4802
|
md: "w-4 h-4",
|
|
4803
4803
|
lg: "w-5 h-5"
|
|
4804
4804
|
};
|
|
4805
|
-
RangeSlider =
|
|
4805
|
+
RangeSlider = React77__default.forwardRef(
|
|
4806
4806
|
({
|
|
4807
4807
|
className,
|
|
4808
4808
|
min = 0,
|
|
@@ -5413,7 +5413,7 @@ var init_ContentSection = __esm({
|
|
|
5413
5413
|
md: "py-16",
|
|
5414
5414
|
lg: "py-24"
|
|
5415
5415
|
};
|
|
5416
|
-
ContentSection =
|
|
5416
|
+
ContentSection = React77__default.forwardRef(
|
|
5417
5417
|
({ children, background = "default", padding = "lg", id, className }, ref) => {
|
|
5418
5418
|
return /* @__PURE__ */ jsx(
|
|
5419
5419
|
Box,
|
|
@@ -5947,7 +5947,7 @@ var init_AnimatedReveal = __esm({
|
|
|
5947
5947
|
"scale-up": { opacity: 1, transform: "scale(1) translateY(0)" },
|
|
5948
5948
|
"none": {}
|
|
5949
5949
|
};
|
|
5950
|
-
AnimatedReveal =
|
|
5950
|
+
AnimatedReveal = React77__default.forwardRef(
|
|
5951
5951
|
({
|
|
5952
5952
|
trigger = "scroll",
|
|
5953
5953
|
animation = "fade-up",
|
|
@@ -6107,7 +6107,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
6107
6107
|
"components/marketing/atoms/AnimatedGraphic.tsx"() {
|
|
6108
6108
|
"use client";
|
|
6109
6109
|
init_cn();
|
|
6110
|
-
AnimatedGraphic =
|
|
6110
|
+
AnimatedGraphic = React77__default.forwardRef(
|
|
6111
6111
|
({
|
|
6112
6112
|
src,
|
|
6113
6113
|
svgContent,
|
|
@@ -6130,7 +6130,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
6130
6130
|
const fetchedSvg = useFetchedSvg(svgContent ? void 0 : src);
|
|
6131
6131
|
const resolvedSvg = svgContent ?? fetchedSvg;
|
|
6132
6132
|
const prevAnimateRef = useRef(animate);
|
|
6133
|
-
const setRef =
|
|
6133
|
+
const setRef = React77__default.useCallback(
|
|
6134
6134
|
(node) => {
|
|
6135
6135
|
containerRef.current = node;
|
|
6136
6136
|
if (typeof ref === "function") ref(node);
|
|
@@ -6231,7 +6231,7 @@ function resolveMarkerExpression(expression, entity, config, state) {
|
|
|
6231
6231
|
function isPlainObject(value) {
|
|
6232
6232
|
if (value === null || value === void 0 || typeof value !== "object") return false;
|
|
6233
6233
|
if (Array.isArray(value)) return false;
|
|
6234
|
-
if (
|
|
6234
|
+
if (React77__default.isValidElement(value)) return false;
|
|
6235
6235
|
if (value instanceof Date) return false;
|
|
6236
6236
|
if (typeof value === "function") return false;
|
|
6237
6237
|
return true;
|
|
@@ -6875,7 +6875,7 @@ var init_ErrorBoundary = __esm({
|
|
|
6875
6875
|
}
|
|
6876
6876
|
);
|
|
6877
6877
|
};
|
|
6878
|
-
ErrorBoundary = class extends
|
|
6878
|
+
ErrorBoundary = class extends React77__default.Component {
|
|
6879
6879
|
constructor(props) {
|
|
6880
6880
|
super(props);
|
|
6881
6881
|
__publicField(this, "reset", () => {
|
|
@@ -7158,7 +7158,7 @@ var init_Container = __esm({
|
|
|
7158
7158
|
as: Component = "div"
|
|
7159
7159
|
}) => {
|
|
7160
7160
|
const resolvedSize = maxWidth ?? size ?? "lg";
|
|
7161
|
-
return
|
|
7161
|
+
return React77__default.createElement(
|
|
7162
7162
|
Component,
|
|
7163
7163
|
{
|
|
7164
7164
|
className: cn(
|
|
@@ -10522,7 +10522,7 @@ var init_CodeBlock = __esm({
|
|
|
10522
10522
|
DIFF_STYLE_FALLBACK = { bg: "", prefix: " ", text: "text-foreground" };
|
|
10523
10523
|
LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
|
|
10524
10524
|
HIDDEN_LINE_NUMBERS = { display: "none" };
|
|
10525
|
-
CodeBlock =
|
|
10525
|
+
CodeBlock = React77__default.memo(
|
|
10526
10526
|
({
|
|
10527
10527
|
code: rawCode,
|
|
10528
10528
|
language = "text",
|
|
@@ -11110,7 +11110,7 @@ var init_MarkdownContent = __esm({
|
|
|
11110
11110
|
init_Box();
|
|
11111
11111
|
init_CodeBlock();
|
|
11112
11112
|
init_cn();
|
|
11113
|
-
MarkdownContent =
|
|
11113
|
+
MarkdownContent = React77__default.memo(
|
|
11114
11114
|
({ content, direction = "ltr", className }) => {
|
|
11115
11115
|
const { t: _t } = useTranslate();
|
|
11116
11116
|
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
@@ -12437,7 +12437,7 @@ var init_StateMachineView = __esm({
|
|
|
12437
12437
|
style: { top: title ? 30 : 0 },
|
|
12438
12438
|
children: [
|
|
12439
12439
|
entity && /* @__PURE__ */ jsx(EntityBox, { entity, config }),
|
|
12440
|
-
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(
|
|
12440
|
+
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(React77__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__PURE__ */ jsx(
|
|
12441
12441
|
StateNode,
|
|
12442
12442
|
{
|
|
12443
12443
|
state,
|
|
@@ -15002,6 +15002,12 @@ var init_CalendarGrid = __esm({
|
|
|
15002
15002
|
CalendarGrid.displayName = "CalendarGrid";
|
|
15003
15003
|
}
|
|
15004
15004
|
});
|
|
15005
|
+
var DrawableRegistryContext;
|
|
15006
|
+
var init_registry = __esm({
|
|
15007
|
+
"lib/drawable/registry.ts"() {
|
|
15008
|
+
DrawableRegistryContext = createContext(null);
|
|
15009
|
+
}
|
|
15010
|
+
});
|
|
15005
15011
|
function MiniMap({
|
|
15006
15012
|
tiles = DEFAULT_TILES,
|
|
15007
15013
|
units = DEFAULT_UNITS,
|
|
@@ -15014,8 +15020,8 @@ function MiniMap({
|
|
|
15014
15020
|
tileAssets,
|
|
15015
15021
|
unitAssets
|
|
15016
15022
|
}) {
|
|
15017
|
-
const canvasRef =
|
|
15018
|
-
const imgCacheRef =
|
|
15023
|
+
const canvasRef = React77.useRef(null);
|
|
15024
|
+
const imgCacheRef = React77.useRef(/* @__PURE__ */ new Map());
|
|
15019
15025
|
function loadImg(url) {
|
|
15020
15026
|
const cached = imgCacheRef.current.get(url);
|
|
15021
15027
|
if (cached) return cached.complete ? cached : null;
|
|
@@ -15031,7 +15037,7 @@ function MiniMap({
|
|
|
15031
15037
|
imgCacheRef.current.set(url, img);
|
|
15032
15038
|
return null;
|
|
15033
15039
|
}
|
|
15034
|
-
|
|
15040
|
+
React77.useEffect(() => {
|
|
15035
15041
|
const canvas = canvasRef.current;
|
|
15036
15042
|
if (!canvas) return;
|
|
15037
15043
|
const ctx = canvas.getContext("2d");
|
|
@@ -16016,12 +16022,6 @@ var init_DrawSprite = __esm({
|
|
|
16016
16022
|
};
|
|
16017
16023
|
}
|
|
16018
16024
|
});
|
|
16019
|
-
var DrawableRegistryContext;
|
|
16020
|
-
var init_registry = __esm({
|
|
16021
|
-
"lib/drawable/registry.ts"() {
|
|
16022
|
-
DrawableRegistryContext = createContext(null);
|
|
16023
|
-
}
|
|
16024
|
-
});
|
|
16025
16025
|
function isAnimatedShape(node) {
|
|
16026
16026
|
return Boolean(node.animation && node.animation.durationMs > 0 && node.animation.keyframes.length > 0);
|
|
16027
16027
|
}
|
|
@@ -16467,7 +16467,7 @@ function Canvas2D({
|
|
|
16467
16467
|
const registerChildDrawable = useCallback((node) => {
|
|
16468
16468
|
childDrawablesRef.current.push(node);
|
|
16469
16469
|
}, []);
|
|
16470
|
-
const hasJsxChildren =
|
|
16470
|
+
const hasJsxChildren = React77.Children.count(children) > 0;
|
|
16471
16471
|
function isDrawableLayer(node) {
|
|
16472
16472
|
return node.type === "draw-sprite-layer" || node.type === "draw-shape-layer" || node.type === "draw-text-layer";
|
|
16473
16473
|
}
|
|
@@ -16996,6 +16996,8 @@ function Canvas({
|
|
|
16996
16996
|
showCoordinates,
|
|
16997
16997
|
showTileInfo,
|
|
16998
16998
|
fogOfWar,
|
|
16999
|
+
lighting,
|
|
17000
|
+
post,
|
|
16999
17001
|
tileClickEvent,
|
|
17000
17002
|
unitClickEvent,
|
|
17001
17003
|
tileHoverEvent,
|
|
@@ -17007,10 +17009,25 @@ function Canvas({
|
|
|
17007
17009
|
}) {
|
|
17008
17010
|
canvasLog.debug("Canvas render", { mode, drawablesCount: drawables?.length, projection, camera: camera ? JSON.stringify(camera) : void 0 });
|
|
17009
17011
|
const zoom = camera?.zoom;
|
|
17012
|
+
const childDrawablesRef = useRef([]);
|
|
17013
|
+
if (mode === "3d") childDrawablesRef.current = [];
|
|
17014
|
+
const registerChildDrawable = useCallback((node) => {
|
|
17015
|
+
childDrawablesRef.current.push(node);
|
|
17016
|
+
}, []);
|
|
17017
|
+
const [childDrawables, setChildDrawables] = useState([]);
|
|
17018
|
+
useEffect(() => {
|
|
17019
|
+
if (mode !== "3d") return;
|
|
17020
|
+
const next = childDrawablesRef.current;
|
|
17021
|
+
canvasLog.debug("children:adopt", { registered: next.length, adopted: childDrawables.length });
|
|
17022
|
+
if (next.length === 0 && React77.Children.count(children) > 0) return;
|
|
17023
|
+
setChildDrawables(
|
|
17024
|
+
(prev) => prev.length === next.length && JSON.stringify(prev) === JSON.stringify(next) ? prev : [...next]
|
|
17025
|
+
);
|
|
17026
|
+
});
|
|
17010
17027
|
if (mode === "3d") {
|
|
17011
17028
|
const props3d = {
|
|
17012
17029
|
className,
|
|
17013
|
-
drawables,
|
|
17030
|
+
drawables: [...drawables ?? [], ...childDrawables],
|
|
17014
17031
|
isLoading,
|
|
17015
17032
|
cameraMode: to3DCameraMode(camera?.mode),
|
|
17016
17033
|
...zoom !== void 0 ? { scale: zoom } : {},
|
|
@@ -17026,6 +17043,8 @@ function Canvas({
|
|
|
17026
17043
|
showCoordinates,
|
|
17027
17044
|
showTileInfo,
|
|
17028
17045
|
fogOfWar,
|
|
17046
|
+
lighting,
|
|
17047
|
+
post,
|
|
17029
17048
|
tileClickEvent,
|
|
17030
17049
|
unitClickEvent,
|
|
17031
17050
|
tileHoverEvent,
|
|
@@ -17034,7 +17053,10 @@ function Canvas({
|
|
|
17034
17053
|
keyMap,
|
|
17035
17054
|
keyUpMap
|
|
17036
17055
|
};
|
|
17037
|
-
return /* @__PURE__ */
|
|
17056
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17057
|
+
/* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(Canvas3DHost, { ...props3d }) }),
|
|
17058
|
+
React77.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 }) })
|
|
17059
|
+
] });
|
|
17038
17060
|
}
|
|
17039
17061
|
return /* @__PURE__ */ jsx(
|
|
17040
17062
|
Canvas2D,
|
|
@@ -17066,6 +17088,7 @@ var Canvas3DHost, canvasLog;
|
|
|
17066
17088
|
var init_Canvas = __esm({
|
|
17067
17089
|
"components/game/molecules/Canvas.tsx"() {
|
|
17068
17090
|
"use client";
|
|
17091
|
+
init_registry();
|
|
17069
17092
|
init_Canvas2D();
|
|
17070
17093
|
Canvas3DHost = lazy(
|
|
17071
17094
|
() => import('@almadar/ui/components/molecules/game/three').then((m) => ({ default: m.Canvas3DHost }))
|
|
@@ -19341,9 +19364,9 @@ function ControlButton({
|
|
|
19341
19364
|
className
|
|
19342
19365
|
}) {
|
|
19343
19366
|
const eventBus = useEventBus();
|
|
19344
|
-
const [isPressed, setIsPressed] =
|
|
19367
|
+
const [isPressed, setIsPressed] = React77.useState(false);
|
|
19345
19368
|
const actualPressed = pressed ?? isPressed;
|
|
19346
|
-
const handlePointerDown =
|
|
19369
|
+
const handlePointerDown = React77.useCallback(
|
|
19347
19370
|
(e) => {
|
|
19348
19371
|
e.preventDefault();
|
|
19349
19372
|
if (disabled) return;
|
|
@@ -19353,7 +19376,7 @@ function ControlButton({
|
|
|
19353
19376
|
},
|
|
19354
19377
|
[disabled, pressEvent, eventBus, onPress]
|
|
19355
19378
|
);
|
|
19356
|
-
const handlePointerUp =
|
|
19379
|
+
const handlePointerUp = React77.useCallback(
|
|
19357
19380
|
(e) => {
|
|
19358
19381
|
e.preventDefault();
|
|
19359
19382
|
if (disabled) return;
|
|
@@ -19363,7 +19386,7 @@ function ControlButton({
|
|
|
19363
19386
|
},
|
|
19364
19387
|
[disabled, releaseEvent, eventBus, onRelease]
|
|
19365
19388
|
);
|
|
19366
|
-
const handlePointerLeave =
|
|
19389
|
+
const handlePointerLeave = React77.useCallback(
|
|
19367
19390
|
(e) => {
|
|
19368
19391
|
if (isPressed) {
|
|
19369
19392
|
setIsPressed(false);
|
|
@@ -19451,8 +19474,8 @@ function ControlGrid({
|
|
|
19451
19474
|
className
|
|
19452
19475
|
}) {
|
|
19453
19476
|
const eventBus = useEventBus();
|
|
19454
|
-
const [active, setActive] =
|
|
19455
|
-
const handlePress =
|
|
19477
|
+
const [active, setActive] = React77.useState(/* @__PURE__ */ new Set());
|
|
19478
|
+
const handlePress = React77.useCallback(
|
|
19456
19479
|
(id) => {
|
|
19457
19480
|
setActive((prev) => new Set(prev).add(id));
|
|
19458
19481
|
if (actionEvent) eventBus.emit(`UI:${actionEvent}`, { id, pressed: true });
|
|
@@ -19466,7 +19489,7 @@ function ControlGrid({
|
|
|
19466
19489
|
},
|
|
19467
19490
|
[kind, actionEvent, directionEvent, directionEvents, eventBus, onAction, onDirection]
|
|
19468
19491
|
);
|
|
19469
|
-
const handleRelease =
|
|
19492
|
+
const handleRelease = React77.useCallback(
|
|
19470
19493
|
(id) => {
|
|
19471
19494
|
setActive((prev) => {
|
|
19472
19495
|
const next = new Set(prev);
|
|
@@ -20704,8 +20727,8 @@ var init_Menu = __esm({
|
|
|
20704
20727
|
"bottom-end": "bottom-start"
|
|
20705
20728
|
};
|
|
20706
20729
|
const effectivePosition = direction === "rtl" ? rtlMirror[position] ?? position : position;
|
|
20707
|
-
const triggerChild =
|
|
20708
|
-
const triggerElement =
|
|
20730
|
+
const triggerChild = React77__default.isValidElement(trigger) ? trigger : /* @__PURE__ */ jsx(Typography, { variant: "small", as: "span", children: trigger });
|
|
20731
|
+
const triggerElement = React77__default.cloneElement(
|
|
20709
20732
|
triggerChild,
|
|
20710
20733
|
{
|
|
20711
20734
|
ref: triggerRef,
|
|
@@ -20800,14 +20823,14 @@ function useDataDnd(args) {
|
|
|
20800
20823
|
const isZone = Boolean(dragGroup || accepts || sortable);
|
|
20801
20824
|
const enabled = isZone || Boolean(dndRoot);
|
|
20802
20825
|
const eventBus = useEventBus();
|
|
20803
|
-
const parentRoot =
|
|
20826
|
+
const parentRoot = React77__default.useContext(RootCtx);
|
|
20804
20827
|
const isRoot = enabled && parentRoot === null;
|
|
20805
|
-
const zoneId =
|
|
20828
|
+
const zoneId = React77__default.useId();
|
|
20806
20829
|
const ownGroup = dragGroup ?? accepts ?? zoneId;
|
|
20807
|
-
const [optimisticOrders, setOptimisticOrders] =
|
|
20808
|
-
const optimisticOrdersRef =
|
|
20830
|
+
const [optimisticOrders, setOptimisticOrders] = React77__default.useState(() => /* @__PURE__ */ new Map());
|
|
20831
|
+
const optimisticOrdersRef = React77__default.useRef(optimisticOrders);
|
|
20809
20832
|
optimisticOrdersRef.current = optimisticOrders;
|
|
20810
|
-
const clearOptimisticOrder =
|
|
20833
|
+
const clearOptimisticOrder = React77__default.useCallback((group) => {
|
|
20811
20834
|
setOptimisticOrders((prev) => {
|
|
20812
20835
|
if (!prev.has(group)) return prev;
|
|
20813
20836
|
const next = new Map(prev);
|
|
@@ -20832,7 +20855,7 @@ function useDataDnd(args) {
|
|
|
20832
20855
|
const raw = it[dndItemIdField];
|
|
20833
20856
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
20834
20857
|
}).join("|");
|
|
20835
|
-
const itemIds =
|
|
20858
|
+
const itemIds = React77__default.useMemo(
|
|
20836
20859
|
() => orderedItems.map((it, idx) => {
|
|
20837
20860
|
const raw = it[dndItemIdField];
|
|
20838
20861
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
@@ -20843,7 +20866,7 @@ function useDataDnd(args) {
|
|
|
20843
20866
|
const raw = it[dndItemIdField];
|
|
20844
20867
|
return raw != null ? String(raw) : `__${idx}`;
|
|
20845
20868
|
}).join("|");
|
|
20846
|
-
|
|
20869
|
+
React77__default.useEffect(() => {
|
|
20847
20870
|
const root = isRoot ? null : parentRoot;
|
|
20848
20871
|
if (root) {
|
|
20849
20872
|
root.clearOptimisticOrder(ownGroup);
|
|
@@ -20851,20 +20874,20 @@ function useDataDnd(args) {
|
|
|
20851
20874
|
clearOptimisticOrder(ownGroup);
|
|
20852
20875
|
}
|
|
20853
20876
|
}, [itemsContentSig, ownGroup]);
|
|
20854
|
-
const zonesRef =
|
|
20855
|
-
const registerZone =
|
|
20877
|
+
const zonesRef = React77__default.useRef(/* @__PURE__ */ new Map());
|
|
20878
|
+
const registerZone = React77__default.useCallback((zoneId2, meta2) => {
|
|
20856
20879
|
zonesRef.current.set(zoneId2, meta2);
|
|
20857
20880
|
}, []);
|
|
20858
|
-
const unregisterZone =
|
|
20881
|
+
const unregisterZone = React77__default.useCallback((zoneId2) => {
|
|
20859
20882
|
zonesRef.current.delete(zoneId2);
|
|
20860
20883
|
}, []);
|
|
20861
|
-
const [activeDrag, setActiveDrag] =
|
|
20862
|
-
const [overZoneGroup, setOverZoneGroup] =
|
|
20863
|
-
const meta =
|
|
20884
|
+
const [activeDrag, setActiveDrag] = React77__default.useState(null);
|
|
20885
|
+
const [overZoneGroup, setOverZoneGroup] = React77__default.useState(null);
|
|
20886
|
+
const meta = React77__default.useMemo(
|
|
20864
20887
|
() => ({ group: ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, rawItems: items, idField: dndItemIdField }),
|
|
20865
20888
|
[ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, items, dndItemIdField]
|
|
20866
20889
|
);
|
|
20867
|
-
|
|
20890
|
+
React77__default.useEffect(() => {
|
|
20868
20891
|
const target = isRoot ? null : parentRoot;
|
|
20869
20892
|
if (!target) {
|
|
20870
20893
|
zonesRef.current.set(zoneId, meta);
|
|
@@ -20883,7 +20906,7 @@ function useDataDnd(args) {
|
|
|
20883
20906
|
}, [parentRoot, isRoot, zoneId, meta]);
|
|
20884
20907
|
const sensors = useAlmadarDndSensors(true);
|
|
20885
20908
|
const collisionDetection = almadarDndCollisionDetection;
|
|
20886
|
-
const findZoneByItem =
|
|
20909
|
+
const findZoneByItem = React77__default.useCallback(
|
|
20887
20910
|
(id) => {
|
|
20888
20911
|
for (const z of zonesRef.current.values()) {
|
|
20889
20912
|
if (z.itemIds.includes(id)) return z;
|
|
@@ -20892,7 +20915,7 @@ function useDataDnd(args) {
|
|
|
20892
20915
|
},
|
|
20893
20916
|
[]
|
|
20894
20917
|
);
|
|
20895
|
-
|
|
20918
|
+
React77__default.useCallback(
|
|
20896
20919
|
(group) => {
|
|
20897
20920
|
for (const z of zonesRef.current.values()) {
|
|
20898
20921
|
if (z.group === group) return z;
|
|
@@ -20901,7 +20924,7 @@ function useDataDnd(args) {
|
|
|
20901
20924
|
},
|
|
20902
20925
|
[]
|
|
20903
20926
|
);
|
|
20904
|
-
const handleDragEnd =
|
|
20927
|
+
const handleDragEnd = React77__default.useCallback(
|
|
20905
20928
|
(event) => {
|
|
20906
20929
|
const { active, over } = event;
|
|
20907
20930
|
const activeIdStr = String(active.id);
|
|
@@ -20992,8 +21015,8 @@ function useDataDnd(args) {
|
|
|
20992
21015
|
},
|
|
20993
21016
|
[eventBus]
|
|
20994
21017
|
);
|
|
20995
|
-
const sortableData =
|
|
20996
|
-
const SortableItem =
|
|
21018
|
+
const sortableData = React77__default.useMemo(() => ({ dndGroup: ownGroup }), [ownGroup]);
|
|
21019
|
+
const SortableItem = React77__default.useCallback(
|
|
20997
21020
|
({ id, children }) => {
|
|
20998
21021
|
const {
|
|
20999
21022
|
attributes,
|
|
@@ -21033,7 +21056,7 @@ function useDataDnd(args) {
|
|
|
21033
21056
|
id: droppableId,
|
|
21034
21057
|
data: sortableData
|
|
21035
21058
|
});
|
|
21036
|
-
const ctx =
|
|
21059
|
+
const ctx = React77__default.useContext(RootCtx);
|
|
21037
21060
|
const activeDrag2 = ctx?.activeDrag ?? null;
|
|
21038
21061
|
const overZoneGroup2 = ctx?.overZoneGroup ?? null;
|
|
21039
21062
|
const isThisZoneOver = overZoneGroup2 === ownGroup;
|
|
@@ -21048,7 +21071,7 @@ function useDataDnd(args) {
|
|
|
21048
21071
|
showForeignPlaceholder,
|
|
21049
21072
|
ctxAvailable: ctx != null
|
|
21050
21073
|
});
|
|
21051
|
-
|
|
21074
|
+
React77__default.useEffect(() => {
|
|
21052
21075
|
dndLog.info("dropzone:isOver:change", { droppableId, group: ownGroup, isOver, isThisZoneOver, showForeignPlaceholder, activeDragSourceGroup: activeDrag2?.sourceGroup ?? null });
|
|
21053
21076
|
}, [droppableId, isOver, isThisZoneOver, showForeignPlaceholder]);
|
|
21054
21077
|
return /* @__PURE__ */ jsx(
|
|
@@ -21062,11 +21085,11 @@ function useDataDnd(args) {
|
|
|
21062
21085
|
}
|
|
21063
21086
|
);
|
|
21064
21087
|
};
|
|
21065
|
-
const rootContextValue =
|
|
21088
|
+
const rootContextValue = React77__default.useMemo(
|
|
21066
21089
|
() => ({ registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder }),
|
|
21067
21090
|
[registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder]
|
|
21068
21091
|
);
|
|
21069
|
-
const handleDragStart =
|
|
21092
|
+
const handleDragStart = React77__default.useCallback((event) => {
|
|
21070
21093
|
const sourceZone = findZoneByItem(event.active.id);
|
|
21071
21094
|
const rect = event.active.rect.current.initial;
|
|
21072
21095
|
const height = rect?.height && rect.height > 0 ? rect.height : 64;
|
|
@@ -21085,7 +21108,7 @@ function useDataDnd(args) {
|
|
|
21085
21108
|
isRoot
|
|
21086
21109
|
});
|
|
21087
21110
|
}, [findZoneByItem, isRoot, zoneId]);
|
|
21088
|
-
const handleDragOver =
|
|
21111
|
+
const handleDragOver = React77__default.useCallback((event) => {
|
|
21089
21112
|
const { active, over } = event;
|
|
21090
21113
|
const overData = over?.data?.current;
|
|
21091
21114
|
const overGroup = overData?.dndGroup ?? null;
|
|
@@ -21155,7 +21178,7 @@ function useDataDnd(args) {
|
|
|
21155
21178
|
return next;
|
|
21156
21179
|
});
|
|
21157
21180
|
}, []);
|
|
21158
|
-
const handleDragCancel =
|
|
21181
|
+
const handleDragCancel = React77__default.useCallback((event) => {
|
|
21159
21182
|
setActiveDrag(null);
|
|
21160
21183
|
setOverZoneGroup(null);
|
|
21161
21184
|
dndLog.warn("dragCancel", {
|
|
@@ -21163,12 +21186,12 @@ function useDataDnd(args) {
|
|
|
21163
21186
|
reason: "dnd-kit cancelled the drag (escape key, pointer interrupted, or external)"
|
|
21164
21187
|
});
|
|
21165
21188
|
}, []);
|
|
21166
|
-
const handleDragEndWithCleanup =
|
|
21189
|
+
const handleDragEndWithCleanup = React77__default.useCallback((event) => {
|
|
21167
21190
|
handleDragEnd(event);
|
|
21168
21191
|
setActiveDrag(null);
|
|
21169
21192
|
setOverZoneGroup(null);
|
|
21170
21193
|
}, [handleDragEnd]);
|
|
21171
|
-
const wrapContainer =
|
|
21194
|
+
const wrapContainer = React77__default.useCallback(
|
|
21172
21195
|
(children) => {
|
|
21173
21196
|
if (!enabled) return children;
|
|
21174
21197
|
const strategy = layout === "grid" ? rectSortingStrategy : verticalListSortingStrategy;
|
|
@@ -21222,7 +21245,7 @@ var init_useDataDnd = __esm({
|
|
|
21222
21245
|
init_useAlmadarDndCollision();
|
|
21223
21246
|
init_Box();
|
|
21224
21247
|
dndLog = createLogger("almadar:ui:dnd");
|
|
21225
|
-
RootCtx =
|
|
21248
|
+
RootCtx = React77__default.createContext(null);
|
|
21226
21249
|
}
|
|
21227
21250
|
});
|
|
21228
21251
|
function renderIconInput(icon, props) {
|
|
@@ -21764,7 +21787,7 @@ function DataList({
|
|
|
21764
21787
|
}) {
|
|
21765
21788
|
const eventBus = useEventBus();
|
|
21766
21789
|
const { t } = useTranslate();
|
|
21767
|
-
const [visibleCount, setVisibleCount] =
|
|
21790
|
+
const [visibleCount, setVisibleCount] = React77__default.useState(pageSize || Infinity);
|
|
21768
21791
|
const fieldDefs = fields ?? columns ?? [];
|
|
21769
21792
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
21770
21793
|
const dnd = useDataDnd({
|
|
@@ -21780,14 +21803,14 @@ function DataList({
|
|
|
21780
21803
|
dndRoot
|
|
21781
21804
|
});
|
|
21782
21805
|
const orderedData = dnd.orderedItems;
|
|
21783
|
-
const allData =
|
|
21806
|
+
const allData = React77__default.useMemo(
|
|
21784
21807
|
() => sortRows(orderedData, sortBy, sortDirection),
|
|
21785
21808
|
[orderedData, sortBy, sortDirection]
|
|
21786
21809
|
);
|
|
21787
21810
|
const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
|
|
21788
21811
|
const hasMoreLocal = pageSize > 0 && visibleCount < allData.length;
|
|
21789
21812
|
const hasRenderProp = typeof children === "function";
|
|
21790
|
-
|
|
21813
|
+
React77__default.useEffect(() => {
|
|
21791
21814
|
const renderItemTypeOf = typeof schemaRenderItem;
|
|
21792
21815
|
const childrenTypeOf = typeof children;
|
|
21793
21816
|
if (data.length > 0 && !hasRenderProp) {
|
|
@@ -21902,7 +21925,7 @@ function DataList({
|
|
|
21902
21925
|
return v === void 0 || v === null || v === "" ? raw : String(v);
|
|
21903
21926
|
};
|
|
21904
21927
|
return /* @__PURE__ */ jsxs(VStack, { gap: "sm", className: cn("py-2", className), children: [
|
|
21905
|
-
groups2.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
21928
|
+
groups2.map((group, gi) => /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
21906
21929
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
|
|
21907
21930
|
group.items.map((itemData, index) => {
|
|
21908
21931
|
const id = itemData.id || `${gi}-${index}`;
|
|
@@ -22101,7 +22124,7 @@ function DataList({
|
|
|
22101
22124
|
className
|
|
22102
22125
|
),
|
|
22103
22126
|
children: [
|
|
22104
|
-
groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
22127
|
+
groups.map((group, gi) => /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
22105
22128
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-4" : "mt-0" }),
|
|
22106
22129
|
group.items.map(
|
|
22107
22130
|
(itemData, index) => renderItem(itemData, index, gi === groups.length - 1 && index === group.items.length - 1)
|
|
@@ -22210,8 +22233,8 @@ function ScalarControl({
|
|
|
22210
22233
|
}
|
|
22211
22234
|
const numeric = typeof value === "number";
|
|
22212
22235
|
const initial = value === null ? "" : String(value);
|
|
22213
|
-
const [draft, setDraft] =
|
|
22214
|
-
|
|
22236
|
+
const [draft, setDraft] = React77__default.useState(initial);
|
|
22237
|
+
React77__default.useEffect(() => setDraft(initial), [initial]);
|
|
22215
22238
|
const commit = () => {
|
|
22216
22239
|
if (numeric) {
|
|
22217
22240
|
const n = draft.trim() === "" ? 0 : Number(draft);
|
|
@@ -22279,8 +22302,8 @@ function Row({
|
|
|
22279
22302
|
onRemove,
|
|
22280
22303
|
readonly
|
|
22281
22304
|
}) {
|
|
22282
|
-
const [keyDraft, setKeyDraft] =
|
|
22283
|
-
|
|
22305
|
+
const [keyDraft, setKeyDraft] = React77__default.useState(rowKey);
|
|
22306
|
+
React77__default.useEffect(() => setKeyDraft(rowKey), [rowKey]);
|
|
22284
22307
|
const container = isObj(value) || isArr(value);
|
|
22285
22308
|
return /* @__PURE__ */ jsxs(VStack, { gap: "none", className: "group w-max min-w-full", children: [
|
|
22286
22309
|
/* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", className: "py-0.5 w-max", children: [
|
|
@@ -22323,7 +22346,7 @@ function ContainerNode({
|
|
|
22323
22346
|
depth,
|
|
22324
22347
|
readonly
|
|
22325
22348
|
}) {
|
|
22326
|
-
const [open, setOpen] =
|
|
22349
|
+
const [open, setOpen] = React77__default.useState(depth < 2);
|
|
22327
22350
|
const array = isArr(value);
|
|
22328
22351
|
const entries = array ? value.map((v, i) => [String(i), v]) : Object.entries(value);
|
|
22329
22352
|
const setObjValue = (key, next) => {
|
|
@@ -22465,7 +22488,7 @@ var init_FormSection = __esm({
|
|
|
22465
22488
|
columns = 1,
|
|
22466
22489
|
className
|
|
22467
22490
|
}) => {
|
|
22468
|
-
const [collapsed, setCollapsed] =
|
|
22491
|
+
const [collapsed, setCollapsed] = React77__default.useState(defaultCollapsed);
|
|
22469
22492
|
const { t } = useTranslate();
|
|
22470
22493
|
const eventBus = useEventBus();
|
|
22471
22494
|
const gridClass = {
|
|
@@ -22473,7 +22496,7 @@ var init_FormSection = __esm({
|
|
|
22473
22496
|
2: "grid-cols-1 md:grid-cols-2",
|
|
22474
22497
|
3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3"
|
|
22475
22498
|
}[columns];
|
|
22476
|
-
|
|
22499
|
+
React77__default.useCallback(() => {
|
|
22477
22500
|
if (collapsible) {
|
|
22478
22501
|
setCollapsed((prev) => !prev);
|
|
22479
22502
|
eventBus.emit("UI:TOGGLE_COLLAPSE", { collapsed: !collapsed });
|
|
@@ -22881,8 +22904,8 @@ function TextLikeControl({
|
|
|
22881
22904
|
onCommit
|
|
22882
22905
|
}) {
|
|
22883
22906
|
const initial = value === void 0 || value === null ? "" : String(value);
|
|
22884
|
-
const [draft, setDraft] =
|
|
22885
|
-
|
|
22907
|
+
const [draft, setDraft] = React77__default.useState(initial);
|
|
22908
|
+
React77__default.useEffect(() => setDraft(initial), [initial]);
|
|
22886
22909
|
const commit = () => {
|
|
22887
22910
|
if (numeric) {
|
|
22888
22911
|
const n = draft.trim() === "" ? 0 : Number(draft);
|
|
@@ -23067,14 +23090,14 @@ var init_NodeSlotEditor = __esm({
|
|
|
23067
23090
|
isObj2 = (v) => v !== null && v !== void 0 && typeof v === "object" && !Array.isArray(v);
|
|
23068
23091
|
NodeSlotEditor = ({ value, onChange, className }) => {
|
|
23069
23092
|
const { type, props, wasArray } = normalize(value);
|
|
23070
|
-
const patterns =
|
|
23093
|
+
const patterns = React77__default.useMemo(() => {
|
|
23071
23094
|
try {
|
|
23072
23095
|
return [...getKnownPatterns()].sort();
|
|
23073
23096
|
} catch {
|
|
23074
23097
|
return [];
|
|
23075
23098
|
}
|
|
23076
23099
|
}, []);
|
|
23077
|
-
const options =
|
|
23100
|
+
const options = React77__default.useMemo(
|
|
23078
23101
|
() => [{ value: "", label: "\u2014 none \u2014" }, ...patterns.map((p) => ({ value: p, label: p }))],
|
|
23079
23102
|
[patterns]
|
|
23080
23103
|
);
|
|
@@ -23086,7 +23109,7 @@ var init_NodeSlotEditor = __esm({
|
|
|
23086
23109
|
const pattern = { type: nextType, ...nextProps };
|
|
23087
23110
|
onChange(wasArray || value === void 0 ? [pattern] : pattern);
|
|
23088
23111
|
};
|
|
23089
|
-
const schemaEntries =
|
|
23112
|
+
const schemaEntries = React77__default.useMemo(() => {
|
|
23090
23113
|
if (!type) return [];
|
|
23091
23114
|
const def = getPatternDefinition(type);
|
|
23092
23115
|
if (!def?.propsSchema) return [];
|
|
@@ -23907,7 +23930,7 @@ var init_Flex = __esm({
|
|
|
23907
23930
|
flexStyle.flexBasis = typeof basis === "number" ? `${basis}px` : basis;
|
|
23908
23931
|
}
|
|
23909
23932
|
}
|
|
23910
|
-
return
|
|
23933
|
+
return React77__default.createElement(Component, {
|
|
23911
23934
|
className: cn(
|
|
23912
23935
|
inline ? "inline-flex" : "flex",
|
|
23913
23936
|
directionStyles[direction],
|
|
@@ -24026,7 +24049,7 @@ var init_Grid = __esm({
|
|
|
24026
24049
|
as: Component = "div"
|
|
24027
24050
|
}) => {
|
|
24028
24051
|
const mergedStyle = rows2 ? { gridTemplateRows: `repeat(${rows2}, minmax(0, 1fr))`, ...style } : style;
|
|
24029
|
-
return
|
|
24052
|
+
return React77__default.createElement(
|
|
24030
24053
|
Component,
|
|
24031
24054
|
{
|
|
24032
24055
|
className: cn(
|
|
@@ -24258,9 +24281,9 @@ var init_Popover = __esm({
|
|
|
24258
24281
|
onMouseLeave: handleClose,
|
|
24259
24282
|
onPointerDown: tapTriggerProps.onPointerDown
|
|
24260
24283
|
};
|
|
24261
|
-
const childElement =
|
|
24284
|
+
const childElement = React77__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
24262
24285
|
const childPointerDown = childElement.props.onPointerDown;
|
|
24263
|
-
const triggerElement =
|
|
24286
|
+
const triggerElement = React77__default.cloneElement(
|
|
24264
24287
|
childElement,
|
|
24265
24288
|
{
|
|
24266
24289
|
ref: triggerRef,
|
|
@@ -25119,9 +25142,9 @@ var init_Tooltip = __esm({
|
|
|
25119
25142
|
if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
|
|
25120
25143
|
};
|
|
25121
25144
|
}, []);
|
|
25122
|
-
const triggerElement =
|
|
25145
|
+
const triggerElement = React77__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
25123
25146
|
const childPointerDown = triggerElement.props.onPointerDown;
|
|
25124
|
-
const trigger =
|
|
25147
|
+
const trigger = React77__default.cloneElement(triggerElement, {
|
|
25125
25148
|
ref: triggerRef,
|
|
25126
25149
|
onMouseEnter: handleMouseEnter,
|
|
25127
25150
|
onMouseLeave: handleMouseLeave,
|
|
@@ -25211,7 +25234,7 @@ var init_WizardProgress = __esm({
|
|
|
25211
25234
|
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: normalizedSteps.map((step, index) => {
|
|
25212
25235
|
const isActive = index === currentStep;
|
|
25213
25236
|
const isCompleted = index < currentStep;
|
|
25214
|
-
return /* @__PURE__ */ jsxs(
|
|
25237
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
25215
25238
|
/* @__PURE__ */ jsx(
|
|
25216
25239
|
"button",
|
|
25217
25240
|
{
|
|
@@ -27022,7 +27045,7 @@ function GameMenu({
|
|
|
27022
27045
|
}) {
|
|
27023
27046
|
const resolvedOptions = (options?.length ? options : void 0) ?? (menuItems?.length ? menuItems : void 0) ?? DEFAULT_MENU_OPTIONS;
|
|
27024
27047
|
const eventBus = useEventBus();
|
|
27025
|
-
const handleOptionClick =
|
|
27048
|
+
const handleOptionClick = React77.useCallback(
|
|
27026
27049
|
(option) => {
|
|
27027
27050
|
if (option.event) {
|
|
27028
27051
|
eventBus.emit(`UI:${option.event}`, { option });
|
|
@@ -27258,7 +27281,7 @@ function StateGraph({
|
|
|
27258
27281
|
}) {
|
|
27259
27282
|
const eventBus = useEventBus();
|
|
27260
27283
|
const nodes = states ?? [];
|
|
27261
|
-
const positions =
|
|
27284
|
+
const positions = React77.useMemo(() => layoutStates(nodes, width, height), [nodes, width, height]);
|
|
27262
27285
|
return /* @__PURE__ */ jsxs(
|
|
27263
27286
|
Box,
|
|
27264
27287
|
{
|
|
@@ -27795,7 +27818,7 @@ function LinearView({
|
|
|
27795
27818
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
27796
27819
|
const isDone = i < currentIdx;
|
|
27797
27820
|
const isCurrent = i === currentIdx;
|
|
27798
|
-
return /* @__PURE__ */ jsxs(
|
|
27821
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
27799
27822
|
i > 0 && /* @__PURE__ */ jsx(
|
|
27800
27823
|
Typography,
|
|
27801
27824
|
{
|
|
@@ -28428,7 +28451,7 @@ function SequenceBar({
|
|
|
28428
28451
|
else onSlotRemove?.(index);
|
|
28429
28452
|
}, [emit, slotRemoveEvent, onSlotRemove, playing]);
|
|
28430
28453
|
const paddedSlots = Array.from({ length: maxSlots }, (_, i) => slots[i]);
|
|
28431
|
-
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(
|
|
28454
|
+
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
28432
28455
|
i > 0 && /* @__PURE__ */ jsx(
|
|
28433
28456
|
Typography,
|
|
28434
28457
|
{
|
|
@@ -29408,13 +29431,13 @@ var init_MapView = __esm({
|
|
|
29408
29431
|
shadowSize: [41, 41]
|
|
29409
29432
|
});
|
|
29410
29433
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
29411
|
-
const { useEffect:
|
|
29434
|
+
const { useEffect: useEffect66, useRef: useRef64, useCallback: useCallback107, useState: useState104 } = React77__default;
|
|
29412
29435
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
29413
29436
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
29414
29437
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
29415
29438
|
const map = useMap();
|
|
29416
|
-
const prevRef =
|
|
29417
|
-
|
|
29439
|
+
const prevRef = useRef64({ centerLat, centerLng, zoom });
|
|
29440
|
+
useEffect66(() => {
|
|
29418
29441
|
const prev = prevRef.current;
|
|
29419
29442
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
29420
29443
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -29425,7 +29448,7 @@ var init_MapView = __esm({
|
|
|
29425
29448
|
}
|
|
29426
29449
|
function MapClickHandler({ onMapClick }) {
|
|
29427
29450
|
const map = useMap();
|
|
29428
|
-
|
|
29451
|
+
useEffect66(() => {
|
|
29429
29452
|
if (!onMapClick) return;
|
|
29430
29453
|
const handler = (e) => {
|
|
29431
29454
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -29453,8 +29476,8 @@ var init_MapView = __esm({
|
|
|
29453
29476
|
showAttribution = true
|
|
29454
29477
|
}) {
|
|
29455
29478
|
const eventBus = useEventBus2();
|
|
29456
|
-
const [clickedPosition, setClickedPosition] =
|
|
29457
|
-
const handleMapClick =
|
|
29479
|
+
const [clickedPosition, setClickedPosition] = useState104(null);
|
|
29480
|
+
const handleMapClick = useCallback107((lat, lng) => {
|
|
29458
29481
|
if (showClickedPin) {
|
|
29459
29482
|
setClickedPosition({ lat, lng });
|
|
29460
29483
|
}
|
|
@@ -29463,7 +29486,7 @@ var init_MapView = __esm({
|
|
|
29463
29486
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
29464
29487
|
}
|
|
29465
29488
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
29466
|
-
const handleMarkerClick =
|
|
29489
|
+
const handleMarkerClick = useCallback107((marker) => {
|
|
29467
29490
|
onMarkerClick?.(marker);
|
|
29468
29491
|
if (markerClickEvent) {
|
|
29469
29492
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -30326,8 +30349,8 @@ function TableView({
|
|
|
30326
30349
|
}) {
|
|
30327
30350
|
const eventBus = useEventBus();
|
|
30328
30351
|
const { t } = useTranslate();
|
|
30329
|
-
const [visibleCount, setVisibleCount] =
|
|
30330
|
-
const [localSelected, setLocalSelected] =
|
|
30352
|
+
const [visibleCount, setVisibleCount] = React77__default.useState(pageSize > 0 ? pageSize : Infinity);
|
|
30353
|
+
const [localSelected, setLocalSelected] = React77__default.useState(/* @__PURE__ */ new Set());
|
|
30331
30354
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
30332
30355
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
30333
30356
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
@@ -30349,7 +30372,7 @@ function TableView({
|
|
|
30349
30372
|
const hasRenderProp = typeof children === "function";
|
|
30350
30373
|
const idField = dndItemIdField ?? "id";
|
|
30351
30374
|
const isCoarsePointer = useMediaQuery("(pointer: coarse)");
|
|
30352
|
-
|
|
30375
|
+
React77__default.useEffect(() => {
|
|
30353
30376
|
tableViewLog.debug("render", {
|
|
30354
30377
|
rowCount: data.length,
|
|
30355
30378
|
colCount: colDefs.length,
|
|
@@ -30406,7 +30429,7 @@ function TableView({
|
|
|
30406
30429
|
};
|
|
30407
30430
|
eventBus.emit(`UI:${itemClickEvent}`, payload);
|
|
30408
30431
|
};
|
|
30409
|
-
const colFloors =
|
|
30432
|
+
const colFloors = React77__default.useMemo(
|
|
30410
30433
|
() => colDefs.map((col) => {
|
|
30411
30434
|
const longest = data.reduce((widest, row) => {
|
|
30412
30435
|
const cell = formatCell(asFieldValue(getNestedValue(row, col.field ?? col.key)), col.format);
|
|
@@ -30568,12 +30591,12 @@ function TableView({
|
|
|
30568
30591
|
]
|
|
30569
30592
|
}
|
|
30570
30593
|
);
|
|
30571
|
-
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(
|
|
30594
|
+
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(React77__default.Fragment, { children: rowInner }, id);
|
|
30572
30595
|
};
|
|
30573
30596
|
const items = Array.from(data);
|
|
30574
30597
|
const groups = groupBy ? groupData2(items, groupBy) : [{ label: "", items }];
|
|
30575
30598
|
let runningIndex = 0;
|
|
30576
|
-
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
30599
|
+
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
30577
30600
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-3" : "mt-0" }),
|
|
30578
30601
|
group.items.map((row) => renderRow(row, runningIndex++))
|
|
30579
30602
|
] }, gi)) });
|
|
@@ -31936,7 +31959,7 @@ var init_StepFlow = __esm({
|
|
|
31936
31959
|
className
|
|
31937
31960
|
}) => {
|
|
31938
31961
|
if (orientation === "vertical") {
|
|
31939
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(
|
|
31962
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(React77__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
|
|
31940
31963
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", align: "center", children: [
|
|
31941
31964
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
31942
31965
|
showConnectors && index < steps.length - 1 && /* @__PURE__ */ jsx(Box, { className: "w-px h-8 bg-border" })
|
|
@@ -31947,7 +31970,7 @@ var init_StepFlow = __esm({
|
|
|
31947
31970
|
] })
|
|
31948
31971
|
] }) }, index)) });
|
|
31949
31972
|
}
|
|
31950
|
-
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(
|
|
31973
|
+
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(React77__default.Fragment, { children: [
|
|
31951
31974
|
/* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", className: "flex-1 w-full md:w-auto", children: [
|
|
31952
31975
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
31953
31976
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-center", children: step.title }),
|
|
@@ -32937,7 +32960,7 @@ var init_LikertScale = __esm({
|
|
|
32937
32960
|
md: "text-base",
|
|
32938
32961
|
lg: "text-lg"
|
|
32939
32962
|
};
|
|
32940
|
-
LikertScale =
|
|
32963
|
+
LikertScale = React77__default.forwardRef(
|
|
32941
32964
|
({
|
|
32942
32965
|
question,
|
|
32943
32966
|
options = DEFAULT_LIKERT_OPTIONS,
|
|
@@ -32949,7 +32972,7 @@ var init_LikertScale = __esm({
|
|
|
32949
32972
|
variant = "radios",
|
|
32950
32973
|
className
|
|
32951
32974
|
}, ref) => {
|
|
32952
|
-
const groupId =
|
|
32975
|
+
const groupId = React77__default.useId();
|
|
32953
32976
|
const eventBus = useEventBus();
|
|
32954
32977
|
const handleSelect = useCallback(
|
|
32955
32978
|
(next) => {
|
|
@@ -35238,7 +35261,7 @@ var init_DocBreadcrumb = __esm({
|
|
|
35238
35261
|
"aria-label": t("aria.breadcrumb"),
|
|
35239
35262
|
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", wrap: true, children: items.map((item, idx) => {
|
|
35240
35263
|
const isLast = idx === items.length - 1;
|
|
35241
|
-
return /* @__PURE__ */ jsxs(
|
|
35264
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
35242
35265
|
idx > 0 && /* @__PURE__ */ jsx(
|
|
35243
35266
|
Icon,
|
|
35244
35267
|
{
|
|
@@ -36107,7 +36130,7 @@ var init_MiniStateMachine = __esm({
|
|
|
36107
36130
|
const x = 2 + i * (NODE_W + GAP2 + ARROW_W + GAP2);
|
|
36108
36131
|
const tc = transitionCounts[s.name] ?? 0;
|
|
36109
36132
|
const role = getStateRole(s.name, s.isInitial ?? void 0, s.isTerminal ?? void 0, tc, maxTC);
|
|
36110
|
-
return /* @__PURE__ */ jsxs(
|
|
36133
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
36111
36134
|
/* @__PURE__ */ jsx(
|
|
36112
36135
|
AvlState,
|
|
36113
36136
|
{
|
|
@@ -36311,7 +36334,7 @@ var init_PageHeader = __esm({
|
|
|
36311
36334
|
info: "bg-info/10 text-info"
|
|
36312
36335
|
};
|
|
36313
36336
|
return /* @__PURE__ */ jsxs(Box, { className: cn("mb-6", className), children: [
|
|
36314
|
-
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(
|
|
36337
|
+
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(React77__default.Fragment, { children: [
|
|
36315
36338
|
idx > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "muted", children: "/" }),
|
|
36316
36339
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
36317
36340
|
"a",
|
|
@@ -36669,7 +36692,7 @@ var init_Section = __esm({
|
|
|
36669
36692
|
as: Component = "section"
|
|
36670
36693
|
}) => {
|
|
36671
36694
|
const hasHeader = title || description || action;
|
|
36672
|
-
return
|
|
36695
|
+
return React77__default.createElement(
|
|
36673
36696
|
Component,
|
|
36674
36697
|
{
|
|
36675
36698
|
className: cn(
|
|
@@ -37043,7 +37066,7 @@ var init_WizardContainer = __esm({
|
|
|
37043
37066
|
const isCompleted = index < currentStep;
|
|
37044
37067
|
const stepKey = step.id ?? step.tabId ?? `step-${index}`;
|
|
37045
37068
|
const stepTitle = step.title ?? step.name ?? `Step ${index + 1}`;
|
|
37046
|
-
return /* @__PURE__ */ jsxs(
|
|
37069
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
37047
37070
|
/* @__PURE__ */ jsx(
|
|
37048
37071
|
Button,
|
|
37049
37072
|
{
|
|
@@ -38830,7 +38853,7 @@ var init_ImportPreviewTree = __esm({
|
|
|
38830
38853
|
const renderUnit = (unit, childrenByParent, depth) => {
|
|
38831
38854
|
const summary = fieldSummary(unit);
|
|
38832
38855
|
const children = childrenByParent.get(unit.ref) ?? [];
|
|
38833
|
-
return /* @__PURE__ */ jsxs(
|
|
38856
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
38834
38857
|
/* @__PURE__ */ jsxs(
|
|
38835
38858
|
Box,
|
|
38836
38859
|
{
|
|
@@ -38927,7 +38950,7 @@ var init_ImportProgress = __esm({
|
|
|
38927
38950
|
PIPELINE.map((key, index) => {
|
|
38928
38951
|
const isComplete = index < currentIndex;
|
|
38929
38952
|
const isActive = index === currentIndex;
|
|
38930
|
-
return /* @__PURE__ */ jsxs(
|
|
38953
|
+
return /* @__PURE__ */ jsxs(React77__default.Fragment, { children: [
|
|
38931
38954
|
index > 0 ? /* @__PURE__ */ jsx(Box, { className: "h-px w-4 bg-border" }) : null,
|
|
38932
38955
|
/* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-1", "data-testid": `import-progress-step-${key}`, children: [
|
|
38933
38956
|
/* @__PURE__ */ jsx(
|
|
@@ -40274,7 +40297,7 @@ var init_DrawMesh = __esm({
|
|
|
40274
40297
|
}
|
|
40275
40298
|
});
|
|
40276
40299
|
function extractTitle(children) {
|
|
40277
|
-
if (!
|
|
40300
|
+
if (!React77__default.isValidElement(children)) return void 0;
|
|
40278
40301
|
const props = children.props;
|
|
40279
40302
|
if (typeof props.title === "string") {
|
|
40280
40303
|
return props.title;
|
|
@@ -40624,12 +40647,12 @@ var init_Form = __esm({
|
|
|
40624
40647
|
const isSchemaEntity = isOrbitalEntitySchema(entity);
|
|
40625
40648
|
const resolvedEntity = isSchemaEntity ? entity : void 0;
|
|
40626
40649
|
const entityName = typeof entity === "string" ? entity : resolvedEntity?.name;
|
|
40627
|
-
const normalizedInitialData =
|
|
40650
|
+
const normalizedInitialData = React77__default.useMemo(() => {
|
|
40628
40651
|
const entityRowAsInitial = isPlainEntityRow(entity) ? entity : void 0;
|
|
40629
40652
|
const callerInitial = initialData !== null && typeof initialData === "object" && !Array.isArray(initialData) ? initialData : {};
|
|
40630
40653
|
return entityRowAsInitial !== void 0 ? { ...entityRowAsInitial, ...callerInitial } : callerInitial;
|
|
40631
40654
|
}, [entity, initialData]);
|
|
40632
|
-
const entityDerivedFields =
|
|
40655
|
+
const entityDerivedFields = React77__default.useMemo(() => {
|
|
40633
40656
|
if (fields && fields.length > 0) return void 0;
|
|
40634
40657
|
if (!resolvedEntity) return void 0;
|
|
40635
40658
|
return resolvedEntity.fields.map(
|
|
@@ -40650,16 +40673,16 @@ var init_Form = __esm({
|
|
|
40650
40673
|
const conditionalFields = typeof conditionalFieldsRaw === "boolean" ? {} : conditionalFieldsRaw;
|
|
40651
40674
|
const hiddenCalculations = typeof hiddenCalculationsRaw === "boolean" ? [] : hiddenCalculationsRaw;
|
|
40652
40675
|
const violationTriggers = typeof violationTriggersRaw === "boolean" ? [] : violationTriggersRaw;
|
|
40653
|
-
const [formData, setFormData] =
|
|
40676
|
+
const [formData, setFormData] = React77__default.useState(
|
|
40654
40677
|
normalizedInitialData
|
|
40655
40678
|
);
|
|
40656
|
-
const [collapsedSections, setCollapsedSections] =
|
|
40679
|
+
const [collapsedSections, setCollapsedSections] = React77__default.useState(
|
|
40657
40680
|
/* @__PURE__ */ new Set()
|
|
40658
40681
|
);
|
|
40659
|
-
const [submitError, setSubmitError] =
|
|
40660
|
-
const formRef =
|
|
40682
|
+
const [submitError, setSubmitError] = React77__default.useState(null);
|
|
40683
|
+
const formRef = React77__default.useRef(null);
|
|
40661
40684
|
const formMode = props.mode;
|
|
40662
|
-
const mountedRef =
|
|
40685
|
+
const mountedRef = React77__default.useRef(false);
|
|
40663
40686
|
if (!mountedRef.current) {
|
|
40664
40687
|
mountedRef.current = true;
|
|
40665
40688
|
debug("forms", "mount", {
|
|
@@ -40672,7 +40695,7 @@ var init_Form = __esm({
|
|
|
40672
40695
|
});
|
|
40673
40696
|
}
|
|
40674
40697
|
const shouldShowCancel = showCancel ?? (fields && fields.length > 0);
|
|
40675
|
-
const evalContext =
|
|
40698
|
+
const evalContext = React77__default.useMemo(
|
|
40676
40699
|
() => ({
|
|
40677
40700
|
formValues: formData,
|
|
40678
40701
|
globalVariables: externalContext?.globalVariables ?? {},
|
|
@@ -40681,7 +40704,7 @@ var init_Form = __esm({
|
|
|
40681
40704
|
}),
|
|
40682
40705
|
[formData, externalContext]
|
|
40683
40706
|
);
|
|
40684
|
-
|
|
40707
|
+
React77__default.useEffect(() => {
|
|
40685
40708
|
debug("forms", "initialData-sync", {
|
|
40686
40709
|
mode: formMode,
|
|
40687
40710
|
normalizedInitialData,
|
|
@@ -40692,7 +40715,7 @@ var init_Form = __esm({
|
|
|
40692
40715
|
setFormData(normalizedInitialData);
|
|
40693
40716
|
}
|
|
40694
40717
|
}, [normalizedInitialData]);
|
|
40695
|
-
const processCalculations =
|
|
40718
|
+
const processCalculations = React77__default.useCallback(
|
|
40696
40719
|
(changedFieldId, newFormData) => {
|
|
40697
40720
|
if (!hiddenCalculations.length) return;
|
|
40698
40721
|
const context = {
|
|
@@ -40717,7 +40740,7 @@ var init_Form = __esm({
|
|
|
40717
40740
|
},
|
|
40718
40741
|
[hiddenCalculations, externalContext, eventBus]
|
|
40719
40742
|
);
|
|
40720
|
-
const checkViolations =
|
|
40743
|
+
const checkViolations = React77__default.useCallback(
|
|
40721
40744
|
(changedFieldId, newFormData) => {
|
|
40722
40745
|
if (!violationTriggers.length) return;
|
|
40723
40746
|
const context = {
|
|
@@ -40755,7 +40778,7 @@ var init_Form = __esm({
|
|
|
40755
40778
|
processCalculations(name, newFormData);
|
|
40756
40779
|
checkViolations(name, newFormData);
|
|
40757
40780
|
};
|
|
40758
|
-
const isFieldVisible =
|
|
40781
|
+
const isFieldVisible = React77__default.useCallback(
|
|
40759
40782
|
(fieldName) => {
|
|
40760
40783
|
const condition = conditionalFields[fieldName];
|
|
40761
40784
|
if (!condition) return true;
|
|
@@ -40763,7 +40786,7 @@ var init_Form = __esm({
|
|
|
40763
40786
|
},
|
|
40764
40787
|
[conditionalFields, evalContext]
|
|
40765
40788
|
);
|
|
40766
|
-
const isSectionVisible =
|
|
40789
|
+
const isSectionVisible = React77__default.useCallback(
|
|
40767
40790
|
(section) => {
|
|
40768
40791
|
if (!section.condition) return true;
|
|
40769
40792
|
return Boolean(evaluateFormExpression(section.condition, evalContext));
|
|
@@ -40839,7 +40862,7 @@ var init_Form = __esm({
|
|
|
40839
40862
|
eventBus.emit(`UI:${onCancel}`);
|
|
40840
40863
|
}
|
|
40841
40864
|
};
|
|
40842
|
-
const renderField =
|
|
40865
|
+
const renderField = React77__default.useCallback(
|
|
40843
40866
|
(field) => {
|
|
40844
40867
|
const fieldName = field.name || field.field;
|
|
40845
40868
|
if (!fieldName) return null;
|
|
@@ -40860,7 +40883,7 @@ var init_Form = __esm({
|
|
|
40860
40883
|
[formData, isFieldVisible, relationsData, relationsLoading, isLoading]
|
|
40861
40884
|
);
|
|
40862
40885
|
const effectiveFields = entityDerivedFields ?? fields;
|
|
40863
|
-
const normalizedFields =
|
|
40886
|
+
const normalizedFields = React77__default.useMemo(() => {
|
|
40864
40887
|
if (!effectiveFields || effectiveFields.length === 0) return [];
|
|
40865
40888
|
return effectiveFields.map((field) => {
|
|
40866
40889
|
if (typeof field === "string") {
|
|
@@ -40884,7 +40907,7 @@ var init_Form = __esm({
|
|
|
40884
40907
|
return field;
|
|
40885
40908
|
});
|
|
40886
40909
|
}, [effectiveFields, resolvedEntity]);
|
|
40887
|
-
const schemaFields =
|
|
40910
|
+
const schemaFields = React77__default.useMemo(() => {
|
|
40888
40911
|
if (normalizedFields.length === 0) return null;
|
|
40889
40912
|
if (isDebugEnabled()) {
|
|
40890
40913
|
debugGroup(`Form: ${entityName || "unknown"}`);
|
|
@@ -40894,7 +40917,7 @@ var init_Form = __esm({
|
|
|
40894
40917
|
}
|
|
40895
40918
|
return normalizedFields.map(renderField).filter(Boolean);
|
|
40896
40919
|
}, [normalizedFields, renderField, entityName, conditionalFields]);
|
|
40897
|
-
const sectionElements =
|
|
40920
|
+
const sectionElements = React77__default.useMemo(() => {
|
|
40898
40921
|
if (!sections || sections.length === 0) return null;
|
|
40899
40922
|
return sections.map((section) => {
|
|
40900
40923
|
if (!isSectionVisible(section)) {
|
|
@@ -41620,7 +41643,7 @@ var init_List = __esm({
|
|
|
41620
41643
|
if (entity && typeof entity === "object" && "id" in entity) return [entity];
|
|
41621
41644
|
return [];
|
|
41622
41645
|
}, [entity]);
|
|
41623
|
-
const getItemActions =
|
|
41646
|
+
const getItemActions = React77__default.useCallback(
|
|
41624
41647
|
(item) => {
|
|
41625
41648
|
if (!itemActions) return [];
|
|
41626
41649
|
if (typeof itemActions === "function") {
|
|
@@ -42101,7 +42124,7 @@ var init_MediaGallery = __esm({
|
|
|
42101
42124
|
[selectable, selectedItems, selectionEvent, eventBus]
|
|
42102
42125
|
);
|
|
42103
42126
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
42104
|
-
const items =
|
|
42127
|
+
const items = React77__default.useMemo(() => {
|
|
42105
42128
|
if (propItems && propItems.length > 0) return propItems;
|
|
42106
42129
|
if (entityData.length === 0) return [];
|
|
42107
42130
|
return entityData.map((record, idx) => {
|
|
@@ -42266,7 +42289,7 @@ var init_MediaGallery = __esm({
|
|
|
42266
42289
|
}
|
|
42267
42290
|
});
|
|
42268
42291
|
function extractTitle2(children) {
|
|
42269
|
-
if (!
|
|
42292
|
+
if (!React77__default.isValidElement(children)) return void 0;
|
|
42270
42293
|
const props = children.props;
|
|
42271
42294
|
if (typeof props.title === "string") {
|
|
42272
42295
|
return props.title;
|
|
@@ -42521,7 +42544,7 @@ var init_debugRegistry = __esm({
|
|
|
42521
42544
|
}
|
|
42522
42545
|
});
|
|
42523
42546
|
function useDebugData() {
|
|
42524
|
-
const [data, setData] =
|
|
42547
|
+
const [data, setData] = React77.useState(() => ({
|
|
42525
42548
|
traits: [],
|
|
42526
42549
|
ticks: [],
|
|
42527
42550
|
guards: [],
|
|
@@ -42535,7 +42558,7 @@ function useDebugData() {
|
|
|
42535
42558
|
},
|
|
42536
42559
|
lastUpdate: Date.now()
|
|
42537
42560
|
}));
|
|
42538
|
-
|
|
42561
|
+
React77.useEffect(() => {
|
|
42539
42562
|
const updateData = () => {
|
|
42540
42563
|
setData({
|
|
42541
42564
|
traits: getAllTraits(),
|
|
@@ -42644,12 +42667,12 @@ function layoutGraph(states, transitions, initialState, width, height) {
|
|
|
42644
42667
|
return positions;
|
|
42645
42668
|
}
|
|
42646
42669
|
function WalkMinimap() {
|
|
42647
|
-
const [walkStep, setWalkStep] =
|
|
42648
|
-
const [traits2, setTraits] =
|
|
42649
|
-
const [coveredEdges, setCoveredEdges] =
|
|
42650
|
-
const [completedTraits, setCompletedTraits] =
|
|
42651
|
-
const prevTraitRef =
|
|
42652
|
-
|
|
42670
|
+
const [walkStep, setWalkStep] = React77.useState(null);
|
|
42671
|
+
const [traits2, setTraits] = React77.useState([]);
|
|
42672
|
+
const [coveredEdges, setCoveredEdges] = React77.useState([]);
|
|
42673
|
+
const [completedTraits, setCompletedTraits] = React77.useState(/* @__PURE__ */ new Set());
|
|
42674
|
+
const prevTraitRef = React77.useRef(null);
|
|
42675
|
+
React77.useEffect(() => {
|
|
42653
42676
|
const interval = setInterval(() => {
|
|
42654
42677
|
const w = window;
|
|
42655
42678
|
const step = w.__orbitalWalkStep;
|
|
@@ -43085,15 +43108,15 @@ var init_EntitiesTab = __esm({
|
|
|
43085
43108
|
});
|
|
43086
43109
|
function EventFlowTab({ events: events2 }) {
|
|
43087
43110
|
const { t } = useTranslate();
|
|
43088
|
-
const [filter, setFilter] =
|
|
43089
|
-
const containerRef =
|
|
43090
|
-
const [autoScroll, setAutoScroll] =
|
|
43091
|
-
|
|
43111
|
+
const [filter, setFilter] = React77.useState("all");
|
|
43112
|
+
const containerRef = React77.useRef(null);
|
|
43113
|
+
const [autoScroll, setAutoScroll] = React77.useState(true);
|
|
43114
|
+
React77.useEffect(() => {
|
|
43092
43115
|
if (autoScroll && containerRef.current) {
|
|
43093
43116
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
43094
43117
|
}
|
|
43095
43118
|
}, [events2.length, autoScroll]);
|
|
43096
|
-
const filteredEvents =
|
|
43119
|
+
const filteredEvents = React77.useMemo(() => {
|
|
43097
43120
|
if (filter === "all") return events2;
|
|
43098
43121
|
return events2.filter((e) => e.type === filter);
|
|
43099
43122
|
}, [events2, filter]);
|
|
@@ -43209,7 +43232,7 @@ var init_EventFlowTab = __esm({
|
|
|
43209
43232
|
});
|
|
43210
43233
|
function GuardsPanel({ guards }) {
|
|
43211
43234
|
const { t } = useTranslate();
|
|
43212
|
-
const [filter, setFilter] =
|
|
43235
|
+
const [filter, setFilter] = React77.useState("all");
|
|
43213
43236
|
if (guards.length === 0) {
|
|
43214
43237
|
return /* @__PURE__ */ jsx(
|
|
43215
43238
|
EmptyState,
|
|
@@ -43222,7 +43245,7 @@ function GuardsPanel({ guards }) {
|
|
|
43222
43245
|
}
|
|
43223
43246
|
const passedCount = guards.filter((g) => g.result).length;
|
|
43224
43247
|
const failedCount = guards.length - passedCount;
|
|
43225
|
-
const filteredGuards =
|
|
43248
|
+
const filteredGuards = React77.useMemo(() => {
|
|
43226
43249
|
if (filter === "all") return guards;
|
|
43227
43250
|
if (filter === "passed") return guards.filter((g) => g.result);
|
|
43228
43251
|
return guards.filter((g) => !g.result);
|
|
@@ -43385,10 +43408,10 @@ function EffectBadge({ effect }) {
|
|
|
43385
43408
|
}
|
|
43386
43409
|
function TransitionTimeline({ transitions }) {
|
|
43387
43410
|
const { t } = useTranslate();
|
|
43388
|
-
const containerRef =
|
|
43389
|
-
const [autoScroll, setAutoScroll] =
|
|
43390
|
-
const [expandedId, setExpandedId] =
|
|
43391
|
-
|
|
43411
|
+
const containerRef = React77.useRef(null);
|
|
43412
|
+
const [autoScroll, setAutoScroll] = React77.useState(true);
|
|
43413
|
+
const [expandedId, setExpandedId] = React77.useState(null);
|
|
43414
|
+
React77.useEffect(() => {
|
|
43392
43415
|
if (autoScroll && containerRef.current) {
|
|
43393
43416
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
43394
43417
|
}
|
|
@@ -43668,9 +43691,9 @@ function getAllEvents(traits2) {
|
|
|
43668
43691
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
43669
43692
|
const eventBus = useEventBus();
|
|
43670
43693
|
const { t } = useTranslate();
|
|
43671
|
-
const [log19, setLog] =
|
|
43672
|
-
const prevStatesRef =
|
|
43673
|
-
|
|
43694
|
+
const [log19, setLog] = React77.useState([]);
|
|
43695
|
+
const prevStatesRef = React77.useRef(/* @__PURE__ */ new Map());
|
|
43696
|
+
React77.useEffect(() => {
|
|
43674
43697
|
for (const trait of traits2) {
|
|
43675
43698
|
const prev = prevStatesRef.current.get(trait.id);
|
|
43676
43699
|
if (prev && prev !== trait.currentState) {
|
|
@@ -43839,10 +43862,10 @@ function VerifyModePanel({
|
|
|
43839
43862
|
localCount
|
|
43840
43863
|
}) {
|
|
43841
43864
|
const { t } = useTranslate();
|
|
43842
|
-
const [expanded, setExpanded] =
|
|
43843
|
-
const scrollRef =
|
|
43844
|
-
const prevCountRef =
|
|
43845
|
-
|
|
43865
|
+
const [expanded, setExpanded] = React77.useState(true);
|
|
43866
|
+
const scrollRef = React77.useRef(null);
|
|
43867
|
+
const prevCountRef = React77.useRef(0);
|
|
43868
|
+
React77.useEffect(() => {
|
|
43846
43869
|
if (expanded && transitions.length > prevCountRef.current && scrollRef.current) {
|
|
43847
43870
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
43848
43871
|
}
|
|
@@ -43899,10 +43922,10 @@ function RuntimeDebugger({
|
|
|
43899
43922
|
schema
|
|
43900
43923
|
}) {
|
|
43901
43924
|
const { t } = useTranslate();
|
|
43902
|
-
const [isCollapsed, setIsCollapsed] =
|
|
43903
|
-
const [isVisible, setIsVisible] =
|
|
43925
|
+
const [isCollapsed, setIsCollapsed] = React77.useState(mode === "verify" ? true : defaultCollapsed);
|
|
43926
|
+
const [isVisible, setIsVisible] = React77.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
|
|
43904
43927
|
const debugData = useDebugData();
|
|
43905
|
-
|
|
43928
|
+
React77.useEffect(() => {
|
|
43906
43929
|
if (mode === "inline") return;
|
|
43907
43930
|
return onDebugToggle((enabled) => {
|
|
43908
43931
|
setIsVisible(enabled);
|
|
@@ -43911,7 +43934,7 @@ function RuntimeDebugger({
|
|
|
43911
43934
|
}
|
|
43912
43935
|
});
|
|
43913
43936
|
}, [mode]);
|
|
43914
|
-
|
|
43937
|
+
React77.useEffect(() => {
|
|
43915
43938
|
if (mode === "inline") return;
|
|
43916
43939
|
const handleKeyDown = (e) => {
|
|
43917
43940
|
if (e.key === "`" && isVisible) {
|
|
@@ -44431,7 +44454,7 @@ var init_StatCard = __esm({
|
|
|
44431
44454
|
const labelToUse = propLabel ?? propTitle;
|
|
44432
44455
|
const eventBus = useEventBus();
|
|
44433
44456
|
const { t } = useTranslate();
|
|
44434
|
-
const handleActionClick =
|
|
44457
|
+
const handleActionClick = React77__default.useCallback(() => {
|
|
44435
44458
|
if (action?.event) {
|
|
44436
44459
|
eventBus.emit(`UI:${action.event}`, {});
|
|
44437
44460
|
}
|
|
@@ -44442,7 +44465,7 @@ var init_StatCard = __esm({
|
|
|
44442
44465
|
const data = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
44443
44466
|
const isLoading = externalLoading ?? false;
|
|
44444
44467
|
const error = externalError;
|
|
44445
|
-
const computeMetricValue =
|
|
44468
|
+
const computeMetricValue = React77__default.useCallback(
|
|
44446
44469
|
(metric, items) => {
|
|
44447
44470
|
if (metric.value !== void 0) {
|
|
44448
44471
|
return metric.value;
|
|
@@ -44481,7 +44504,7 @@ var init_StatCard = __esm({
|
|
|
44481
44504
|
},
|
|
44482
44505
|
[]
|
|
44483
44506
|
);
|
|
44484
|
-
const schemaStats =
|
|
44507
|
+
const schemaStats = React77__default.useMemo(() => {
|
|
44485
44508
|
if (!metrics || metrics.length === 0) return null;
|
|
44486
44509
|
return metrics.map((metric) => ({
|
|
44487
44510
|
label: metric.label,
|
|
@@ -44489,7 +44512,7 @@ var init_StatCard = __esm({
|
|
|
44489
44512
|
format: metric.format
|
|
44490
44513
|
}));
|
|
44491
44514
|
}, [metrics, data, computeMetricValue]);
|
|
44492
|
-
const calculatedTrend =
|
|
44515
|
+
const calculatedTrend = React77__default.useMemo(() => {
|
|
44493
44516
|
if (manualTrend !== void 0) return manualTrend;
|
|
44494
44517
|
if (previousValue === void 0 || currentValue2 === void 0)
|
|
44495
44518
|
return void 0;
|
|
@@ -45129,8 +45152,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
45129
45152
|
] });
|
|
45130
45153
|
};
|
|
45131
45154
|
InlineActivityStream = ({ activities, autoScroll = true, className }) => {
|
|
45132
|
-
const endRef =
|
|
45133
|
-
|
|
45155
|
+
const endRef = React77__default.useRef(null);
|
|
45156
|
+
React77__default.useEffect(() => {
|
|
45134
45157
|
if (!autoScroll) return;
|
|
45135
45158
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
45136
45159
|
}, [activities.length, autoScroll]);
|
|
@@ -45224,7 +45247,7 @@ var init_SubagentTracePanel = __esm({
|
|
|
45224
45247
|
};
|
|
45225
45248
|
SubagentRichCard = ({ subagent }) => {
|
|
45226
45249
|
const { t } = useTranslate();
|
|
45227
|
-
const activities =
|
|
45250
|
+
const activities = React77__default.useMemo(
|
|
45228
45251
|
() => subagentMessagesToActivities(subagent.messages),
|
|
45229
45252
|
[subagent.messages]
|
|
45230
45253
|
);
|
|
@@ -45301,8 +45324,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
45301
45324
|
] });
|
|
45302
45325
|
};
|
|
45303
45326
|
CoordinatorConversation = ({ messages, autoScroll = true, className }) => {
|
|
45304
|
-
const endRef =
|
|
45305
|
-
|
|
45327
|
+
const endRef = React77__default.useRef(null);
|
|
45328
|
+
React77__default.useEffect(() => {
|
|
45306
45329
|
if (!autoScroll) return;
|
|
45307
45330
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
45308
45331
|
}, [messages.length, autoScroll]);
|
|
@@ -45737,7 +45760,7 @@ var init_Timeline = __esm({
|
|
|
45737
45760
|
}) => {
|
|
45738
45761
|
const { t } = useTranslate();
|
|
45739
45762
|
const entityData = entity ?? [];
|
|
45740
|
-
const items =
|
|
45763
|
+
const items = React77__default.useMemo(() => {
|
|
45741
45764
|
if (propItems) return propItems;
|
|
45742
45765
|
if (entityData.length === 0) return [];
|
|
45743
45766
|
return entityData.map((record, idx) => {
|
|
@@ -45839,7 +45862,7 @@ var init_Timeline = __esm({
|
|
|
45839
45862
|
}
|
|
45840
45863
|
});
|
|
45841
45864
|
function extractToastProps(children) {
|
|
45842
|
-
if (!
|
|
45865
|
+
if (!React77__default.isValidElement(children)) {
|
|
45843
45866
|
if (typeof children === "string") {
|
|
45844
45867
|
return { message: children };
|
|
45845
45868
|
}
|
|
@@ -45881,7 +45904,7 @@ var init_ToastSlot = __esm({
|
|
|
45881
45904
|
eventBus.emit(`${prefix}CLOSE`);
|
|
45882
45905
|
};
|
|
45883
45906
|
if (!isVisible) return null;
|
|
45884
|
-
const isCustomContent =
|
|
45907
|
+
const isCustomContent = React77__default.isValidElement(children) && !message;
|
|
45885
45908
|
return /* @__PURE__ */ jsx(Box, { className: "fixed bottom-4 right-4 z-50", children: isCustomContent ? children : /* @__PURE__ */ jsx(
|
|
45886
45909
|
Toast,
|
|
45887
45910
|
{
|
|
@@ -46456,7 +46479,7 @@ function SuspenseConfigProvider({
|
|
|
46456
46479
|
config,
|
|
46457
46480
|
children
|
|
46458
46481
|
}) {
|
|
46459
|
-
return
|
|
46482
|
+
return React77__default.createElement(
|
|
46460
46483
|
SuspenseConfigContext.Provider,
|
|
46461
46484
|
{ value: config },
|
|
46462
46485
|
children
|
|
@@ -46498,7 +46521,7 @@ function enrichFormFields(fields, entityDef) {
|
|
|
46498
46521
|
}
|
|
46499
46522
|
return { name: field, label: humanizeFieldName(field) };
|
|
46500
46523
|
}
|
|
46501
|
-
if (field && typeof field === "object" && !Array.isArray(field) && !
|
|
46524
|
+
if (field && typeof field === "object" && !Array.isArray(field) && !React77__default.isValidElement(field) && !(field instanceof Date)) {
|
|
46502
46525
|
const obj = field;
|
|
46503
46526
|
const fieldName = typeof obj.name === "string" ? obj.name : typeof obj.field === "string" ? obj.field : void 0;
|
|
46504
46527
|
if (!fieldName) return field;
|
|
@@ -46970,7 +46993,7 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
46970
46993
|
const key = `${parentId}-${index}-trait:${traitName}`;
|
|
46971
46994
|
return /* @__PURE__ */ jsx(TraitFrame, { traitName }, key);
|
|
46972
46995
|
}
|
|
46973
|
-
return /* @__PURE__ */ jsx(
|
|
46996
|
+
return /* @__PURE__ */ jsx(React77__default.Fragment, { children: child }, `${parentId}-${index}`);
|
|
46974
46997
|
}
|
|
46975
46998
|
if (!child || typeof child !== "object") return null;
|
|
46976
46999
|
const childId = `${parentId}-${index}`;
|
|
@@ -47027,14 +47050,14 @@ function isPatternConfig(value) {
|
|
|
47027
47050
|
if (value === null || value === void 0) return false;
|
|
47028
47051
|
if (typeof value !== "object") return false;
|
|
47029
47052
|
if (Array.isArray(value)) return false;
|
|
47030
|
-
if (
|
|
47053
|
+
if (React77__default.isValidElement(value)) return false;
|
|
47031
47054
|
if (value instanceof Date) return false;
|
|
47032
47055
|
if (typeof value === "function") return false;
|
|
47033
47056
|
const record = value;
|
|
47034
47057
|
return "type" in record && typeof record.type === "string" && getComponentForPattern$1(record.type) !== null;
|
|
47035
47058
|
}
|
|
47036
47059
|
function isPlainConfigObject(value) {
|
|
47037
|
-
if (
|
|
47060
|
+
if (React77__default.isValidElement(value)) return false;
|
|
47038
47061
|
if (value instanceof Date) return false;
|
|
47039
47062
|
const proto = Object.getPrototypeOf(value);
|
|
47040
47063
|
return proto === Object.prototype || proto === null;
|
|
@@ -47175,7 +47198,7 @@ function SlotContentRenderer({
|
|
|
47175
47198
|
for (const slotKey of CONTENT_NODE_SLOTS) {
|
|
47176
47199
|
const slotVal = restProps[slotKey];
|
|
47177
47200
|
if (slotVal === void 0 || slotVal === null) continue;
|
|
47178
|
-
if (
|
|
47201
|
+
if (React77__default.isValidElement(slotVal) || typeof slotVal === "string" || typeof slotVal === "number" || typeof slotVal === "boolean") continue;
|
|
47179
47202
|
const typelessChildren = !Array.isArray(slotVal) && typeof slotVal === "object" && !("type" in slotVal) && Array.isArray(slotVal.children) ? slotVal.children : void 0;
|
|
47180
47203
|
if (typelessChildren !== void 0 || Array.isArray(slotVal) || typeof slotVal === "object" && "type" in slotVal) {
|
|
47181
47204
|
nodeSlotOverrides[slotKey] = renderPatternChildren(
|
|
@@ -47229,7 +47252,7 @@ function SlotContentRenderer({
|
|
|
47229
47252
|
const resolvedItems = Array.isArray(entityVal) && entityVal[0] !== "fn" ? entityVal : null;
|
|
47230
47253
|
if (resolvedItems && resolvedItems.length > 0 && !finalProps.fields && !finalProps.columns) {
|
|
47231
47254
|
const sample = resolvedItems[0];
|
|
47232
|
-
if (sample && typeof sample === "object" && !Array.isArray(sample) && !
|
|
47255
|
+
if (sample && typeof sample === "object" && !Array.isArray(sample) && !React77__default.isValidElement(sample) && !(sample instanceof Date)) {
|
|
47233
47256
|
const keys = Object.keys(sample).filter((k) => k !== "id" && k !== "_id");
|
|
47234
47257
|
finalProps.fields = keys.map((k, i) => ({ name: k, variant: i === 0 ? "h4" : "body" }));
|
|
47235
47258
|
}
|