@almadar/ui 4.6.6 → 4.6.10
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 +1461 -1330
- package/dist/avl/index.js +385 -254
- package/dist/components/index.cjs +1124 -1059
- package/dist/components/index.js +225 -160
- package/dist/lib/index.cjs +19 -14
- package/dist/lib/index.js +19 -14
- package/dist/providers/EventBusProvider.d.ts +0 -21
- package/dist/providers/index.cjs +1023 -915
- package/dist/providers/index.js +272 -164
- package/dist/runtime/index.cjs +178 -87
- package/dist/runtime/index.js +179 -88
- package/dist/runtime/ui/SlotsContext.d.ts +3 -0
- package/package.json +2 -2
package/dist/providers/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as React116 from 'react';
|
|
2
|
+
import React116__default, { createContext, useContext, useRef, useEffect, useCallback, Suspense, useState, useMemo, useLayoutEffect, lazy, useId } from 'react';
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import { EventBusContext } from '@almadar/ui/providers';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
@@ -699,7 +699,7 @@ var init_Box = __esm({
|
|
|
699
699
|
fixed: "fixed",
|
|
700
700
|
sticky: "sticky"
|
|
701
701
|
};
|
|
702
|
-
Box =
|
|
702
|
+
Box = React116__default.forwardRef(
|
|
703
703
|
({
|
|
704
704
|
padding,
|
|
705
705
|
paddingX,
|
|
@@ -1398,7 +1398,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
1398
1398
|
const IconComp = value;
|
|
1399
1399
|
return /* @__PURE__ */ jsx(IconComp, { className: sizeClass });
|
|
1400
1400
|
}
|
|
1401
|
-
if (
|
|
1401
|
+
if (React116__default.isValidElement(value)) {
|
|
1402
1402
|
return value;
|
|
1403
1403
|
}
|
|
1404
1404
|
if (typeof value === "object" && value !== null && "render" in value) {
|
|
@@ -1474,7 +1474,7 @@ var init_Button = __esm({
|
|
|
1474
1474
|
md: "h-4 w-4",
|
|
1475
1475
|
lg: "h-5 w-5"
|
|
1476
1476
|
};
|
|
1477
|
-
Button =
|
|
1477
|
+
Button = React116__default.forwardRef(
|
|
1478
1478
|
({
|
|
1479
1479
|
className,
|
|
1480
1480
|
variant = "primary",
|
|
@@ -1577,7 +1577,7 @@ var init_Badge = __esm({
|
|
|
1577
1577
|
md: "px-2.5 py-1 text-sm",
|
|
1578
1578
|
lg: "px-3 py-1.5 text-base"
|
|
1579
1579
|
};
|
|
1580
|
-
Badge =
|
|
1580
|
+
Badge = React116__default.forwardRef(
|
|
1581
1581
|
({ className, variant = "default", size = "sm", amount, label, icon, children, ...props }, ref) => {
|
|
1582
1582
|
const iconSizes2 = { sm: "w-3 h-3", md: "w-3.5 h-3.5", lg: "w-4 h-4" };
|
|
1583
1583
|
const resolvedIcon = typeof icon === "string" ? (() => {
|
|
@@ -1714,11 +1714,30 @@ var init_Toast = __esm({
|
|
|
1714
1714
|
Toast.displayName = "Toast";
|
|
1715
1715
|
}
|
|
1716
1716
|
});
|
|
1717
|
+
function refId(obj) {
|
|
1718
|
+
if (obj === null || obj === void 0 || typeof obj !== "object") return null;
|
|
1719
|
+
const existing = refIds.get(obj);
|
|
1720
|
+
if (existing !== void 0) return existing;
|
|
1721
|
+
const id = nextRefId++;
|
|
1722
|
+
refIds.set(obj, id);
|
|
1723
|
+
return id;
|
|
1724
|
+
}
|
|
1725
|
+
var slotLog, refIds, nextRefId;
|
|
1726
|
+
var init_SlotsContext = __esm({
|
|
1727
|
+
"runtime/ui/SlotsContext.tsx"() {
|
|
1728
|
+
init_logger();
|
|
1729
|
+
slotLog = createLogger("almadar:ui:slot-render");
|
|
1730
|
+
refIds = /* @__PURE__ */ new WeakMap();
|
|
1731
|
+
nextRefId = 1;
|
|
1732
|
+
createContext({});
|
|
1733
|
+
createContext(null);
|
|
1734
|
+
}
|
|
1735
|
+
});
|
|
1717
1736
|
var Input;
|
|
1718
1737
|
var init_Input = __esm({
|
|
1719
1738
|
"components/atoms/Input.tsx"() {
|
|
1720
1739
|
init_cn();
|
|
1721
|
-
Input =
|
|
1740
|
+
Input = React116__default.forwardRef(
|
|
1722
1741
|
({
|
|
1723
1742
|
className,
|
|
1724
1743
|
inputType,
|
|
@@ -1836,7 +1855,7 @@ var Label;
|
|
|
1836
1855
|
var init_Label = __esm({
|
|
1837
1856
|
"components/atoms/Label.tsx"() {
|
|
1838
1857
|
init_cn();
|
|
1839
|
-
Label =
|
|
1858
|
+
Label = React116__default.forwardRef(
|
|
1840
1859
|
({ className, required, children, ...props }, ref) => {
|
|
1841
1860
|
return /* @__PURE__ */ jsxs(
|
|
1842
1861
|
"label",
|
|
@@ -1862,7 +1881,7 @@ var Textarea;
|
|
|
1862
1881
|
var init_Textarea = __esm({
|
|
1863
1882
|
"components/atoms/Textarea.tsx"() {
|
|
1864
1883
|
init_cn();
|
|
1865
|
-
Textarea =
|
|
1884
|
+
Textarea = React116__default.forwardRef(
|
|
1866
1885
|
({ className, error, ...props }, ref) => {
|
|
1867
1886
|
return /* @__PURE__ */ jsx(
|
|
1868
1887
|
"textarea",
|
|
@@ -1891,7 +1910,7 @@ var Select;
|
|
|
1891
1910
|
var init_Select = __esm({
|
|
1892
1911
|
"components/atoms/Select.tsx"() {
|
|
1893
1912
|
init_cn();
|
|
1894
|
-
Select =
|
|
1913
|
+
Select = React116__default.forwardRef(
|
|
1895
1914
|
({ className, options, placeholder, error, ...props }, ref) => {
|
|
1896
1915
|
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
1897
1916
|
/* @__PURE__ */ jsxs(
|
|
@@ -1933,7 +1952,7 @@ var Checkbox;
|
|
|
1933
1952
|
var init_Checkbox = __esm({
|
|
1934
1953
|
"components/atoms/Checkbox.tsx"() {
|
|
1935
1954
|
init_cn();
|
|
1936
|
-
Checkbox =
|
|
1955
|
+
Checkbox = React116__default.forwardRef(
|
|
1937
1956
|
({ className, label, id, ...props }, ref) => {
|
|
1938
1957
|
const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
1939
1958
|
return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
@@ -2015,7 +2034,7 @@ var init_Card = __esm({
|
|
|
2015
2034
|
md: "shadow",
|
|
2016
2035
|
lg: "shadow-lg"
|
|
2017
2036
|
};
|
|
2018
|
-
Card =
|
|
2037
|
+
Card = React116__default.forwardRef(
|
|
2019
2038
|
({
|
|
2020
2039
|
className,
|
|
2021
2040
|
variant = "bordered",
|
|
@@ -2051,9 +2070,9 @@ var init_Card = __esm({
|
|
|
2051
2070
|
}
|
|
2052
2071
|
);
|
|
2053
2072
|
Card.displayName = "Card";
|
|
2054
|
-
CardHeader =
|
|
2073
|
+
CardHeader = React116__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
|
|
2055
2074
|
CardHeader.displayName = "CardHeader";
|
|
2056
|
-
CardTitle =
|
|
2075
|
+
CardTitle = React116__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2057
2076
|
"h3",
|
|
2058
2077
|
{
|
|
2059
2078
|
ref,
|
|
@@ -2066,11 +2085,11 @@ var init_Card = __esm({
|
|
|
2066
2085
|
}
|
|
2067
2086
|
));
|
|
2068
2087
|
CardTitle.displayName = "CardTitle";
|
|
2069
|
-
CardContent =
|
|
2088
|
+
CardContent = React116__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
|
|
2070
2089
|
CardContent.displayName = "CardContent";
|
|
2071
2090
|
CardBody = CardContent;
|
|
2072
2091
|
CardBody.displayName = "CardBody";
|
|
2073
|
-
CardFooter =
|
|
2092
|
+
CardFooter = React116__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2074
2093
|
"div",
|
|
2075
2094
|
{
|
|
2076
2095
|
ref,
|
|
@@ -2091,7 +2110,7 @@ var init_Spinner = __esm({
|
|
|
2091
2110
|
md: "h-6 w-6",
|
|
2092
2111
|
lg: "h-8 w-8"
|
|
2093
2112
|
};
|
|
2094
|
-
Spinner =
|
|
2113
|
+
Spinner = React116__default.forwardRef(
|
|
2095
2114
|
({ className, size = "md", ...props }, ref) => {
|
|
2096
2115
|
return /* @__PURE__ */ jsx(
|
|
2097
2116
|
"div",
|
|
@@ -2539,7 +2558,7 @@ var Radio;
|
|
|
2539
2558
|
var init_Radio = __esm({
|
|
2540
2559
|
"components/atoms/Radio.tsx"() {
|
|
2541
2560
|
init_cn();
|
|
2542
|
-
Radio =
|
|
2561
|
+
Radio = React116__default.forwardRef(
|
|
2543
2562
|
({
|
|
2544
2563
|
label,
|
|
2545
2564
|
helperText,
|
|
@@ -2650,7 +2669,7 @@ var init_Switch = __esm({
|
|
|
2650
2669
|
"components/atoms/Switch.tsx"() {
|
|
2651
2670
|
"use client";
|
|
2652
2671
|
init_cn();
|
|
2653
|
-
Switch =
|
|
2672
|
+
Switch = React116.forwardRef(
|
|
2654
2673
|
({
|
|
2655
2674
|
checked,
|
|
2656
2675
|
defaultChecked = false,
|
|
@@ -2661,10 +2680,10 @@ var init_Switch = __esm({
|
|
|
2661
2680
|
name,
|
|
2662
2681
|
className
|
|
2663
2682
|
}, ref) => {
|
|
2664
|
-
const [isChecked, setIsChecked] =
|
|
2683
|
+
const [isChecked, setIsChecked] = React116.useState(
|
|
2665
2684
|
checked !== void 0 ? checked : defaultChecked
|
|
2666
2685
|
);
|
|
2667
|
-
|
|
2686
|
+
React116.useEffect(() => {
|
|
2668
2687
|
if (checked !== void 0) {
|
|
2669
2688
|
setIsChecked(checked);
|
|
2670
2689
|
}
|
|
@@ -3090,8 +3109,8 @@ var init_LawReferenceTooltip = __esm({
|
|
|
3090
3109
|
position = "top",
|
|
3091
3110
|
className
|
|
3092
3111
|
}) => {
|
|
3093
|
-
const [isVisible, setIsVisible] =
|
|
3094
|
-
const timeoutRef =
|
|
3112
|
+
const [isVisible, setIsVisible] = React116__default.useState(false);
|
|
3113
|
+
const timeoutRef = React116__default.useRef(null);
|
|
3095
3114
|
const handleMouseEnter = () => {
|
|
3096
3115
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
3097
3116
|
timeoutRef.current = setTimeout(() => setIsVisible(true), 200);
|
|
@@ -3100,7 +3119,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
3100
3119
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
3101
3120
|
setIsVisible(false);
|
|
3102
3121
|
};
|
|
3103
|
-
|
|
3122
|
+
React116__default.useEffect(() => {
|
|
3104
3123
|
return () => {
|
|
3105
3124
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
3106
3125
|
};
|
|
@@ -3310,7 +3329,7 @@ var init_StatusDot = __esm({
|
|
|
3310
3329
|
md: "w-2.5 h-2.5",
|
|
3311
3330
|
lg: "w-3 h-3"
|
|
3312
3331
|
};
|
|
3313
|
-
StatusDot =
|
|
3332
|
+
StatusDot = React116__default.forwardRef(
|
|
3314
3333
|
({ className, status = "offline", pulse = false, size = "md", label, ...props }, ref) => {
|
|
3315
3334
|
return /* @__PURE__ */ jsx(
|
|
3316
3335
|
"span",
|
|
@@ -3363,7 +3382,7 @@ var init_TrendIndicator = __esm({
|
|
|
3363
3382
|
down: TrendingDown,
|
|
3364
3383
|
flat: ArrowRight
|
|
3365
3384
|
};
|
|
3366
|
-
TrendIndicator =
|
|
3385
|
+
TrendIndicator = React116__default.forwardRef(
|
|
3367
3386
|
({
|
|
3368
3387
|
className,
|
|
3369
3388
|
value,
|
|
@@ -3430,7 +3449,7 @@ var init_RangeSlider = __esm({
|
|
|
3430
3449
|
md: "w-4 h-4",
|
|
3431
3450
|
lg: "w-5 h-5"
|
|
3432
3451
|
};
|
|
3433
|
-
RangeSlider =
|
|
3452
|
+
RangeSlider = React116__default.forwardRef(
|
|
3434
3453
|
({
|
|
3435
3454
|
className,
|
|
3436
3455
|
min = 0,
|
|
@@ -4026,7 +4045,7 @@ var init_ContentSection = __esm({
|
|
|
4026
4045
|
md: "py-16",
|
|
4027
4046
|
lg: "py-24"
|
|
4028
4047
|
};
|
|
4029
|
-
ContentSection =
|
|
4048
|
+
ContentSection = React116__default.forwardRef(
|
|
4030
4049
|
({ children, background = "default", padding = "lg", id, className }, ref) => {
|
|
4031
4050
|
return /* @__PURE__ */ jsx(
|
|
4032
4051
|
Box,
|
|
@@ -4560,7 +4579,7 @@ var init_AnimatedReveal = __esm({
|
|
|
4560
4579
|
"scale-up": { opacity: 1, transform: "scale(1) translateY(0)" },
|
|
4561
4580
|
"none": {}
|
|
4562
4581
|
};
|
|
4563
|
-
AnimatedReveal =
|
|
4582
|
+
AnimatedReveal = React116__default.forwardRef(
|
|
4564
4583
|
({
|
|
4565
4584
|
trigger = "scroll",
|
|
4566
4585
|
animation = "fade-up",
|
|
@@ -4720,7 +4739,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
4720
4739
|
"components/atoms/AnimatedGraphic.tsx"() {
|
|
4721
4740
|
"use client";
|
|
4722
4741
|
init_cn();
|
|
4723
|
-
AnimatedGraphic =
|
|
4742
|
+
AnimatedGraphic = React116__default.forwardRef(
|
|
4724
4743
|
({
|
|
4725
4744
|
src,
|
|
4726
4745
|
svgContent,
|
|
@@ -4743,7 +4762,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
4743
4762
|
const fetchedSvg = useFetchedSvg(svgContent ? void 0 : src);
|
|
4744
4763
|
const resolvedSvg = svgContent ?? fetchedSvg;
|
|
4745
4764
|
const prevAnimateRef = useRef(animate);
|
|
4746
|
-
const setRef =
|
|
4765
|
+
const setRef = React116__default.useCallback(
|
|
4747
4766
|
(node) => {
|
|
4748
4767
|
containerRef.current = node;
|
|
4749
4768
|
if (typeof ref === "function") ref(node);
|
|
@@ -4961,9 +4980,9 @@ function ScoreDisplay({
|
|
|
4961
4980
|
...rest
|
|
4962
4981
|
}) {
|
|
4963
4982
|
const resolvedValue = typeof value === "number" && !Number.isNaN(value) ? value : typeof rest.score === "number" && !Number.isNaN(rest.score) ? rest.score : 0;
|
|
4964
|
-
const [displayValue, setDisplayValue] =
|
|
4965
|
-
const [isAnimating, setIsAnimating] =
|
|
4966
|
-
|
|
4983
|
+
const [displayValue, setDisplayValue] = React116.useState(resolvedValue);
|
|
4984
|
+
const [isAnimating, setIsAnimating] = React116.useState(false);
|
|
4985
|
+
React116.useEffect(() => {
|
|
4967
4986
|
if (!animated || displayValue === resolvedValue) {
|
|
4968
4987
|
setDisplayValue(resolvedValue);
|
|
4969
4988
|
return;
|
|
@@ -5033,9 +5052,9 @@ function ControlButton({
|
|
|
5033
5052
|
className
|
|
5034
5053
|
}) {
|
|
5035
5054
|
const eventBus = useEventBus();
|
|
5036
|
-
const [isPressed, setIsPressed] =
|
|
5055
|
+
const [isPressed, setIsPressed] = React116.useState(false);
|
|
5037
5056
|
const actualPressed = pressed ?? isPressed;
|
|
5038
|
-
const handlePointerDown =
|
|
5057
|
+
const handlePointerDown = React116.useCallback(
|
|
5039
5058
|
(e) => {
|
|
5040
5059
|
e.preventDefault();
|
|
5041
5060
|
if (disabled) return;
|
|
@@ -5045,7 +5064,7 @@ function ControlButton({
|
|
|
5045
5064
|
},
|
|
5046
5065
|
[disabled, pressEvent, eventBus, onPress]
|
|
5047
5066
|
);
|
|
5048
|
-
const handlePointerUp =
|
|
5067
|
+
const handlePointerUp = React116.useCallback(
|
|
5049
5068
|
(e) => {
|
|
5050
5069
|
e.preventDefault();
|
|
5051
5070
|
if (disabled) return;
|
|
@@ -5055,7 +5074,7 @@ function ControlButton({
|
|
|
5055
5074
|
},
|
|
5056
5075
|
[disabled, releaseEvent, eventBus, onRelease]
|
|
5057
5076
|
);
|
|
5058
|
-
const handlePointerLeave =
|
|
5077
|
+
const handlePointerLeave = React116.useCallback(
|
|
5059
5078
|
(e) => {
|
|
5060
5079
|
if (isPressed) {
|
|
5061
5080
|
setIsPressed(false);
|
|
@@ -5953,9 +5972,9 @@ function MiniMap({
|
|
|
5953
5972
|
viewportRect,
|
|
5954
5973
|
className
|
|
5955
5974
|
}) {
|
|
5956
|
-
const canvasRef =
|
|
5957
|
-
const frameRef =
|
|
5958
|
-
|
|
5975
|
+
const canvasRef = React116.useRef(null);
|
|
5976
|
+
const frameRef = React116.useRef(0);
|
|
5977
|
+
React116.useEffect(() => {
|
|
5959
5978
|
const canvas = canvasRef.current;
|
|
5960
5979
|
if (!canvas) return;
|
|
5961
5980
|
const ctx = canvas.getContext("2d");
|
|
@@ -6294,7 +6313,7 @@ var init_ErrorBoundary = __esm({
|
|
|
6294
6313
|
"use client";
|
|
6295
6314
|
init_cn();
|
|
6296
6315
|
init_ErrorState();
|
|
6297
|
-
ErrorBoundary = class extends
|
|
6316
|
+
ErrorBoundary = class extends React116__default.Component {
|
|
6298
6317
|
constructor(props) {
|
|
6299
6318
|
super(props);
|
|
6300
6319
|
__publicField(this, "reset", () => {
|
|
@@ -7118,8 +7137,8 @@ var init_Tooltip = __esm({
|
|
|
7118
7137
|
if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
|
|
7119
7138
|
};
|
|
7120
7139
|
}, []);
|
|
7121
|
-
const triggerElement =
|
|
7122
|
-
const trigger =
|
|
7140
|
+
const triggerElement = React116__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
7141
|
+
const trigger = React116__default.cloneElement(triggerElement, {
|
|
7123
7142
|
ref: triggerRef,
|
|
7124
7143
|
onMouseEnter: handleMouseEnter,
|
|
7125
7144
|
onMouseLeave: handleMouseLeave,
|
|
@@ -7240,8 +7259,8 @@ var init_Popover = __esm({
|
|
|
7240
7259
|
onMouseEnter: handleOpen,
|
|
7241
7260
|
onMouseLeave: handleClose
|
|
7242
7261
|
};
|
|
7243
|
-
const childElement =
|
|
7244
|
-
const triggerElement =
|
|
7262
|
+
const childElement = React116__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
7263
|
+
const triggerElement = React116__default.cloneElement(
|
|
7245
7264
|
childElement,
|
|
7246
7265
|
{
|
|
7247
7266
|
ref: triggerRef,
|
|
@@ -7358,8 +7377,8 @@ var init_Menu = __esm({
|
|
|
7358
7377
|
"bottom-start": "top-full left-0 mt-2",
|
|
7359
7378
|
"bottom-end": "top-full right-0 mt-2"
|
|
7360
7379
|
};
|
|
7361
|
-
const triggerChild =
|
|
7362
|
-
const triggerElement =
|
|
7380
|
+
const triggerChild = React116__default.isValidElement(trigger) ? trigger : /* @__PURE__ */ jsx("span", { children: trigger });
|
|
7381
|
+
const triggerElement = React116__default.cloneElement(
|
|
7363
7382
|
triggerChild,
|
|
7364
7383
|
{
|
|
7365
7384
|
ref: triggerRef,
|
|
@@ -7878,12 +7897,12 @@ var init_MapView = __esm({
|
|
|
7878
7897
|
shadowSize: [41, 41]
|
|
7879
7898
|
});
|
|
7880
7899
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
7881
|
-
const { useEffect: useEffect62, useRef:
|
|
7900
|
+
const { useEffect: useEffect62, useRef: useRef63, useCallback: useCallback95, useState: useState87 } = React116__default;
|
|
7882
7901
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
7883
7902
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
7884
7903
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
7885
7904
|
const map = useMap();
|
|
7886
|
-
const prevRef =
|
|
7905
|
+
const prevRef = useRef63({ centerLat, centerLng, zoom });
|
|
7887
7906
|
useEffect62(() => {
|
|
7888
7907
|
const prev = prevRef.current;
|
|
7889
7908
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
@@ -7922,8 +7941,8 @@ var init_MapView = __esm({
|
|
|
7922
7941
|
showAttribution = true
|
|
7923
7942
|
}) {
|
|
7924
7943
|
const eventBus = useEventBus2();
|
|
7925
|
-
const [clickedPosition, setClickedPosition] =
|
|
7926
|
-
const handleMapClick =
|
|
7944
|
+
const [clickedPosition, setClickedPosition] = useState87(null);
|
|
7945
|
+
const handleMapClick = useCallback95((lat, lng) => {
|
|
7927
7946
|
if (showClickedPin) {
|
|
7928
7947
|
setClickedPosition({ lat, lng });
|
|
7929
7948
|
}
|
|
@@ -7932,7 +7951,7 @@ var init_MapView = __esm({
|
|
|
7932
7951
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
7933
7952
|
}
|
|
7934
7953
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
7935
|
-
const handleMarkerClick =
|
|
7954
|
+
const handleMarkerClick = useCallback95((marker) => {
|
|
7936
7955
|
onMarkerClick?.(marker);
|
|
7937
7956
|
if (markerClickEvent) {
|
|
7938
7957
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -8109,7 +8128,7 @@ function InputPattern({
|
|
|
8109
8128
|
fieldName
|
|
8110
8129
|
}) {
|
|
8111
8130
|
const { emit } = useEventBus();
|
|
8112
|
-
const [localValue, setLocalValue] =
|
|
8131
|
+
const [localValue, setLocalValue] = React116__default.useState(value);
|
|
8113
8132
|
const handleChange = (e) => {
|
|
8114
8133
|
setLocalValue(e.target.value);
|
|
8115
8134
|
if (onChange) {
|
|
@@ -8147,7 +8166,7 @@ function TextareaPattern({
|
|
|
8147
8166
|
fieldName
|
|
8148
8167
|
}) {
|
|
8149
8168
|
const { emit } = useEventBus();
|
|
8150
|
-
const [localValue, setLocalValue] =
|
|
8169
|
+
const [localValue, setLocalValue] = React116__default.useState(value);
|
|
8151
8170
|
const handleChange = (e) => {
|
|
8152
8171
|
setLocalValue(e.target.value);
|
|
8153
8172
|
if (onChange) {
|
|
@@ -8179,7 +8198,7 @@ function SelectPattern({
|
|
|
8179
8198
|
fieldName
|
|
8180
8199
|
}) {
|
|
8181
8200
|
const { emit } = useEventBus();
|
|
8182
|
-
const [localValue, setLocalValue] =
|
|
8201
|
+
const [localValue, setLocalValue] = React116__default.useState(value);
|
|
8183
8202
|
const handleChange = (e) => {
|
|
8184
8203
|
setLocalValue(e.target.value);
|
|
8185
8204
|
if (onChange) {
|
|
@@ -8208,7 +8227,7 @@ function CheckboxPattern({
|
|
|
8208
8227
|
className
|
|
8209
8228
|
}) {
|
|
8210
8229
|
const { emit } = useEventBus();
|
|
8211
|
-
const [localChecked, setLocalChecked] =
|
|
8230
|
+
const [localChecked, setLocalChecked] = React116__default.useState(checked);
|
|
8212
8231
|
const handleChange = (e) => {
|
|
8213
8232
|
setLocalChecked(e.target.checked);
|
|
8214
8233
|
if (onChange) {
|
|
@@ -8439,8 +8458,8 @@ function ActionButtons({
|
|
|
8439
8458
|
disabled
|
|
8440
8459
|
}) {
|
|
8441
8460
|
const eventBus = useEventBus();
|
|
8442
|
-
const [activeButtons, setActiveButtons] =
|
|
8443
|
-
const handlePress =
|
|
8461
|
+
const [activeButtons, setActiveButtons] = React116.useState(/* @__PURE__ */ new Set());
|
|
8462
|
+
const handlePress = React116.useCallback(
|
|
8444
8463
|
(id) => {
|
|
8445
8464
|
setActiveButtons((prev) => new Set(prev).add(id));
|
|
8446
8465
|
if (actionEvent) eventBus.emit(`UI:${actionEvent}`, { id, pressed: true });
|
|
@@ -8448,7 +8467,7 @@ function ActionButtons({
|
|
|
8448
8467
|
},
|
|
8449
8468
|
[actionEvent, eventBus, onAction]
|
|
8450
8469
|
);
|
|
8451
|
-
const handleRelease =
|
|
8470
|
+
const handleRelease = React116.useCallback(
|
|
8452
8471
|
(id) => {
|
|
8453
8472
|
setActiveButtons((prev) => {
|
|
8454
8473
|
const next = new Set(prev);
|
|
@@ -9004,7 +9023,7 @@ function bindEventBus(eventBus) {
|
|
|
9004
9023
|
eventLog.length = 0;
|
|
9005
9024
|
};
|
|
9006
9025
|
if (eventBus.onAny) {
|
|
9007
|
-
|
|
9026
|
+
const verificationRegistryEventLogger = (event) => {
|
|
9008
9027
|
if (eventLog.length < 200) {
|
|
9009
9028
|
eventLog.push({
|
|
9010
9029
|
type: event.type,
|
|
@@ -9012,7 +9031,11 @@ function bindEventBus(eventBus) {
|
|
|
9012
9031
|
timestamp: Date.now()
|
|
9013
9032
|
});
|
|
9014
9033
|
}
|
|
9034
|
+
};
|
|
9035
|
+
Object.defineProperty(verificationRegistryEventLogger, "name", {
|
|
9036
|
+
value: "verificationRegistry:eventLog"
|
|
9015
9037
|
});
|
|
9038
|
+
eventBus.onAny(verificationRegistryEventLogger);
|
|
9016
9039
|
}
|
|
9017
9040
|
}
|
|
9018
9041
|
}
|
|
@@ -10468,7 +10491,7 @@ var init_MarkdownContent = __esm({
|
|
|
10468
10491
|
init_Box();
|
|
10469
10492
|
init_useTranslate();
|
|
10470
10493
|
init_cn();
|
|
10471
|
-
MarkdownContent =
|
|
10494
|
+
MarkdownContent = React116__default.memo(
|
|
10472
10495
|
({ content, direction, className }) => {
|
|
10473
10496
|
const { t: _t } = useTranslate();
|
|
10474
10497
|
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
@@ -10685,7 +10708,7 @@ var init_CodeBlock = __esm({
|
|
|
10685
10708
|
loloStyle = { ...dark, ...loloStyleOverrides };
|
|
10686
10709
|
LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
|
|
10687
10710
|
HIDDEN_LINE_NUMBERS = { display: "none" };
|
|
10688
|
-
CodeBlock =
|
|
10711
|
+
CodeBlock = React116__default.memo(
|
|
10689
10712
|
({
|
|
10690
10713
|
code: rawCode,
|
|
10691
10714
|
language = "text",
|
|
@@ -11994,7 +12017,7 @@ var init_StateMachineView = __esm({
|
|
|
11994
12017
|
style: { top: title ? 30 : 0 },
|
|
11995
12018
|
children: [
|
|
11996
12019
|
entity && /* @__PURE__ */ jsx(EntityBox, { entity, config }),
|
|
11997
|
-
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(
|
|
12020
|
+
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(React116__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__PURE__ */ jsx(
|
|
11998
12021
|
StateNode,
|
|
11999
12022
|
{
|
|
12000
12023
|
state,
|
|
@@ -17777,7 +17800,7 @@ function CraftingRecipe({
|
|
|
17777
17800
|
className
|
|
17778
17801
|
}) {
|
|
17779
17802
|
const eventBus = useEventBus();
|
|
17780
|
-
const handleCraft =
|
|
17803
|
+
const handleCraft = React116.useCallback(() => {
|
|
17781
17804
|
onCraft?.();
|
|
17782
17805
|
if (craftEvent) {
|
|
17783
17806
|
eventBus.emit(craftEvent, { output: output.label });
|
|
@@ -17794,7 +17817,7 @@ function CraftingRecipe({
|
|
|
17794
17817
|
children: [
|
|
17795
17818
|
/* @__PURE__ */ jsx(HStack, { gap: "xs", className: "flex-wrap items-center", children: inputs.map((ingredient, index) => {
|
|
17796
17819
|
const hasSufficient = ingredient.available >= ingredient.required;
|
|
17797
|
-
return /* @__PURE__ */ jsxs(
|
|
17820
|
+
return /* @__PURE__ */ jsxs(React116.Fragment, { children: [
|
|
17798
17821
|
/* @__PURE__ */ jsx(Box, { className: "relative", children: /* @__PURE__ */ jsx(
|
|
17799
17822
|
ItemSlot,
|
|
17800
17823
|
{
|
|
@@ -18088,8 +18111,8 @@ function DPad({
|
|
|
18088
18111
|
}) {
|
|
18089
18112
|
const eventBus = useEventBus();
|
|
18090
18113
|
const sizes = sizeMap15[size];
|
|
18091
|
-
const [activeDirections, setActiveDirections] =
|
|
18092
|
-
const handlePress =
|
|
18114
|
+
const [activeDirections, setActiveDirections] = React116.useState(/* @__PURE__ */ new Set());
|
|
18115
|
+
const handlePress = React116.useCallback(
|
|
18093
18116
|
(direction) => {
|
|
18094
18117
|
setActiveDirections((prev) => new Set(prev).add(direction));
|
|
18095
18118
|
if (directionEvent) eventBus.emit(`UI:${directionEvent}`, { direction, pressed: true });
|
|
@@ -18097,7 +18120,7 @@ function DPad({
|
|
|
18097
18120
|
},
|
|
18098
18121
|
[directionEvent, eventBus, onDirection]
|
|
18099
18122
|
);
|
|
18100
|
-
const handleRelease =
|
|
18123
|
+
const handleRelease = React116.useCallback(
|
|
18101
18124
|
(direction) => {
|
|
18102
18125
|
setActiveDirections((prev) => {
|
|
18103
18126
|
const next = new Set(prev);
|
|
@@ -18976,7 +18999,7 @@ function DataList({
|
|
|
18976
18999
|
}) {
|
|
18977
19000
|
const eventBus = useEventBus();
|
|
18978
19001
|
const { t } = useTranslate();
|
|
18979
|
-
const [visibleCount, setVisibleCount] =
|
|
19002
|
+
const [visibleCount, setVisibleCount] = React116__default.useState(pageSize || Infinity);
|
|
18980
19003
|
const fields = fieldsProp ?? columnsProp ?? [];
|
|
18981
19004
|
const allData = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
18982
19005
|
const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
|
|
@@ -19017,7 +19040,7 @@ function DataList({
|
|
|
19017
19040
|
const items2 = data.map((item) => item);
|
|
19018
19041
|
const groups2 = groupBy ? groupData(items2, groupBy) : [{ label: "", items: items2 }];
|
|
19019
19042
|
const contentField = titleField?.name ?? fields[0]?.name ?? "";
|
|
19020
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "sm", className: cn("py-2", className), children: groups2.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
19043
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "sm", className: cn("py-2", className), children: groups2.map((group, gi) => /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
19021
19044
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
|
|
19022
19045
|
group.items.map((itemData, index) => {
|
|
19023
19046
|
const id = itemData.id || `${gi}-${index}`;
|
|
@@ -19209,7 +19232,7 @@ function DataList({
|
|
|
19209
19232
|
className
|
|
19210
19233
|
),
|
|
19211
19234
|
children: [
|
|
19212
|
-
groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
19235
|
+
groups.map((group, gi) => /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
19213
19236
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-4" : "mt-0" }),
|
|
19214
19237
|
group.items.map(
|
|
19215
19238
|
(itemData, index) => renderItem(itemData, index, gi === groups.length - 1 && index === group.items.length - 1)
|
|
@@ -20017,20 +20040,21 @@ var init_InputGroup = __esm({
|
|
|
20017
20040
|
|
|
20018
20041
|
// lib/debug.ts
|
|
20019
20042
|
function isDebugEnabled() {
|
|
20020
|
-
return
|
|
20043
|
+
if (DEBUG_ENABLED) return true;
|
|
20044
|
+
return typeof window !== "undefined" && window.__ALMADAR_DEBUG_VERIFY__ === true;
|
|
20021
20045
|
}
|
|
20022
20046
|
function debug(...args) {
|
|
20023
|
-
if (
|
|
20047
|
+
if (isDebugEnabled()) {
|
|
20024
20048
|
console.log("[DEBUG]", ...args);
|
|
20025
20049
|
}
|
|
20026
20050
|
}
|
|
20027
20051
|
function debugGroup(label) {
|
|
20028
|
-
if (
|
|
20052
|
+
if (isDebugEnabled()) {
|
|
20029
20053
|
console.group(`[DEBUG] ${label}`);
|
|
20030
20054
|
}
|
|
20031
20055
|
}
|
|
20032
20056
|
function debugGroupEnd() {
|
|
20033
|
-
if (
|
|
20057
|
+
if (isDebugEnabled()) {
|
|
20034
20058
|
console.groupEnd();
|
|
20035
20059
|
}
|
|
20036
20060
|
}
|
|
@@ -20481,7 +20505,7 @@ var init_WizardProgress = __esm({
|
|
|
20481
20505
|
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: normalizedSteps.map((step, index) => {
|
|
20482
20506
|
const isActive = index === currentStep;
|
|
20483
20507
|
const isCompleted = index < currentStep;
|
|
20484
|
-
return /* @__PURE__ */ jsxs(
|
|
20508
|
+
return /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
20485
20509
|
/* @__PURE__ */ jsx(
|
|
20486
20510
|
"button",
|
|
20487
20511
|
{
|
|
@@ -21392,7 +21416,7 @@ function InventoryGrid({
|
|
|
21392
21416
|
const eventBus = useEventBus();
|
|
21393
21417
|
const slotCount = totalSlots ?? items.length;
|
|
21394
21418
|
const emptySlotCount = Math.max(0, slotCount - items.length);
|
|
21395
|
-
const handleSelect =
|
|
21419
|
+
const handleSelect = React116.useCallback(
|
|
21396
21420
|
(id) => {
|
|
21397
21421
|
onSelect?.(id);
|
|
21398
21422
|
if (selectEvent) {
|
|
@@ -21605,15 +21629,15 @@ function GameCanvas2D({
|
|
|
21605
21629
|
fps = 60,
|
|
21606
21630
|
className
|
|
21607
21631
|
}) {
|
|
21608
|
-
const canvasRef =
|
|
21609
|
-
const rafRef =
|
|
21610
|
-
const frameRef =
|
|
21611
|
-
const lastTimeRef =
|
|
21612
|
-
const onDrawRef =
|
|
21632
|
+
const canvasRef = React116.useRef(null);
|
|
21633
|
+
const rafRef = React116.useRef(0);
|
|
21634
|
+
const frameRef = React116.useRef(0);
|
|
21635
|
+
const lastTimeRef = React116.useRef(0);
|
|
21636
|
+
const onDrawRef = React116.useRef(onDraw);
|
|
21613
21637
|
onDrawRef.current = onDraw;
|
|
21614
|
-
const onTickRef =
|
|
21638
|
+
const onTickRef = React116.useRef(onTick);
|
|
21615
21639
|
onTickRef.current = onTick;
|
|
21616
|
-
|
|
21640
|
+
React116.useEffect(() => {
|
|
21617
21641
|
const canvas = canvasRef.current;
|
|
21618
21642
|
if (!canvas) return;
|
|
21619
21643
|
const ctx = canvas.getContext("2d");
|
|
@@ -21902,7 +21926,7 @@ function TurnPanel({
|
|
|
21902
21926
|
className
|
|
21903
21927
|
}) {
|
|
21904
21928
|
const eventBus = useEventBus();
|
|
21905
|
-
const handleAction =
|
|
21929
|
+
const handleAction = React116.useCallback(
|
|
21906
21930
|
(event) => {
|
|
21907
21931
|
if (event) {
|
|
21908
21932
|
eventBus.emit(event, { turn: currentTurn, phase, activeTeam });
|
|
@@ -22048,7 +22072,7 @@ function UnitCommandBar({
|
|
|
22048
22072
|
className
|
|
22049
22073
|
}) {
|
|
22050
22074
|
const eventBus = useEventBus();
|
|
22051
|
-
const handleCommand =
|
|
22075
|
+
const handleCommand = React116.useCallback(
|
|
22052
22076
|
(event) => {
|
|
22053
22077
|
if (event) {
|
|
22054
22078
|
eventBus.emit(event, { unitId: selectedUnitId });
|
|
@@ -22533,7 +22557,7 @@ function GameMenu({
|
|
|
22533
22557
|
} catch {
|
|
22534
22558
|
}
|
|
22535
22559
|
const eventBus = eventBusProp || eventBusFromHook;
|
|
22536
|
-
const handleOptionClick =
|
|
22560
|
+
const handleOptionClick = React116.useCallback(
|
|
22537
22561
|
(option) => {
|
|
22538
22562
|
if (option.event && eventBus) {
|
|
22539
22563
|
eventBus.emit(`UI:${option.event}`, { option });
|
|
@@ -22647,7 +22671,7 @@ function GameOverScreen({
|
|
|
22647
22671
|
} catch {
|
|
22648
22672
|
}
|
|
22649
22673
|
const eventBus = eventBusProp || eventBusFromHook;
|
|
22650
|
-
const handleActionClick =
|
|
22674
|
+
const handleActionClick = React116.useCallback(
|
|
22651
22675
|
(action) => {
|
|
22652
22676
|
if (action.event && eventBus) {
|
|
22653
22677
|
eventBus.emit(`UI:${action.event}`, { action });
|
|
@@ -25751,7 +25775,7 @@ var init_StepFlow = __esm({
|
|
|
25751
25775
|
className
|
|
25752
25776
|
}) => {
|
|
25753
25777
|
if (orientation === "vertical") {
|
|
25754
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(
|
|
25778
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(React116__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
|
|
25755
25779
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", align: "center", children: [
|
|
25756
25780
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
25757
25781
|
showConnectors && index < steps.length - 1 && /* @__PURE__ */ jsx(Box, { className: "w-px h-8 bg-border" })
|
|
@@ -25762,7 +25786,7 @@ var init_StepFlow = __esm({
|
|
|
25762
25786
|
] })
|
|
25763
25787
|
] }) }, index)) });
|
|
25764
25788
|
}
|
|
25765
|
-
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(
|
|
25789
|
+
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(React116__default.Fragment, { children: [
|
|
25766
25790
|
/* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", className: "flex-1 w-full md:w-auto", children: [
|
|
25767
25791
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
25768
25792
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-center", children: step.title }),
|
|
@@ -27876,7 +27900,7 @@ var init_DocumentViewer = __esm({
|
|
|
27876
27900
|
}
|
|
27877
27901
|
});
|
|
27878
27902
|
function extractTitle(children) {
|
|
27879
|
-
if (!
|
|
27903
|
+
if (!React116__default.isValidElement(children)) return void 0;
|
|
27880
27904
|
const props = children.props;
|
|
27881
27905
|
if (typeof props.title === "string") {
|
|
27882
27906
|
return props.title;
|
|
@@ -27931,7 +27955,7 @@ function LinearView({
|
|
|
27931
27955
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
27932
27956
|
const isDone = i < currentIdx;
|
|
27933
27957
|
const isCurrent = i === currentIdx;
|
|
27934
|
-
return /* @__PURE__ */ jsxs(
|
|
27958
|
+
return /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
27935
27959
|
i > 0 && /* @__PURE__ */ jsx(
|
|
27936
27960
|
Typography,
|
|
27937
27961
|
{
|
|
@@ -28681,7 +28705,14 @@ var init_Form = __esm({
|
|
|
28681
28705
|
// Schema-based props
|
|
28682
28706
|
entity,
|
|
28683
28707
|
fields,
|
|
28684
|
-
|
|
28708
|
+
// No `= {}` default: a fresh `{}` evaluated inline on every render
|
|
28709
|
+
// would change the prop reference every tick and bust the useMemo
|
|
28710
|
+
// cache below (`[entity, initialData]` deps), reigniting the
|
|
28711
|
+
// setFormData useEffect on every keystroke and producing an
|
|
28712
|
+
// infinite re-render loop with stuck form inputs. The memo and
|
|
28713
|
+
// submit handler both handle `undefined` already via the
|
|
28714
|
+
// `typeof initialData === 'object'` guard.
|
|
28715
|
+
initialData,
|
|
28685
28716
|
isLoading = false,
|
|
28686
28717
|
error,
|
|
28687
28718
|
submitLabel,
|
|
@@ -28708,10 +28739,12 @@ var init_Form = __esm({
|
|
|
28708
28739
|
const isSchemaEntity = isOrbitalEntitySchema(entity);
|
|
28709
28740
|
const resolvedEntity = isSchemaEntity ? entity : void 0;
|
|
28710
28741
|
const entityName = typeof entity === "string" ? entity : resolvedEntity?.name;
|
|
28711
|
-
const
|
|
28712
|
-
|
|
28713
|
-
|
|
28714
|
-
|
|
28742
|
+
const normalizedInitialData = React116__default.useMemo(() => {
|
|
28743
|
+
const entityRowAsInitial = isPlainEntityRow(entity) ? entity : void 0;
|
|
28744
|
+
const callerInitial = initialData !== null && typeof initialData === "object" && !Array.isArray(initialData) ? initialData : {};
|
|
28745
|
+
return entityRowAsInitial !== void 0 ? { ...entityRowAsInitial, ...callerInitial } : callerInitial;
|
|
28746
|
+
}, [entity, initialData]);
|
|
28747
|
+
const entityDerivedFields = React116__default.useMemo(() => {
|
|
28715
28748
|
if (fields && fields.length > 0) return void 0;
|
|
28716
28749
|
if (!resolvedEntity) return void 0;
|
|
28717
28750
|
return resolvedEntity.fields.map(
|
|
@@ -28730,14 +28763,27 @@ var init_Form = __esm({
|
|
|
28730
28763
|
const conditionalFields = typeof conditionalFieldsRaw === "boolean" ? {} : conditionalFieldsRaw;
|
|
28731
28764
|
const hiddenCalculations = typeof hiddenCalculationsRaw === "boolean" ? [] : hiddenCalculationsRaw;
|
|
28732
28765
|
const violationTriggers = typeof violationTriggersRaw === "boolean" ? [] : violationTriggersRaw;
|
|
28733
|
-
const [formData, setFormData] =
|
|
28766
|
+
const [formData, setFormData] = React116__default.useState(
|
|
28734
28767
|
normalizedInitialData
|
|
28735
28768
|
);
|
|
28736
|
-
const [collapsedSections, setCollapsedSections] =
|
|
28769
|
+
const [collapsedSections, setCollapsedSections] = React116__default.useState(
|
|
28737
28770
|
/* @__PURE__ */ new Set()
|
|
28738
28771
|
);
|
|
28772
|
+
const formMode = props.mode;
|
|
28773
|
+
const mountedRef = React116__default.useRef(false);
|
|
28774
|
+
if (!mountedRef.current) {
|
|
28775
|
+
mountedRef.current = true;
|
|
28776
|
+
debug("forms", "mount", {
|
|
28777
|
+
mode: formMode,
|
|
28778
|
+
submitEvent,
|
|
28779
|
+
cancelEvent,
|
|
28780
|
+
fieldNames: (fields ?? []).map((f3) => f3.name ?? f3.field).filter(Boolean),
|
|
28781
|
+
initialDataKeys: Object.keys(normalizedInitialData),
|
|
28782
|
+
initialData: normalizedInitialData
|
|
28783
|
+
});
|
|
28784
|
+
}
|
|
28739
28785
|
const shouldShowCancel = showCancel ?? (fields && fields.length > 0);
|
|
28740
|
-
const evalContext =
|
|
28786
|
+
const evalContext = React116__default.useMemo(
|
|
28741
28787
|
() => ({
|
|
28742
28788
|
formValues: formData,
|
|
28743
28789
|
globalVariables: externalContext?.globalVariables ?? {},
|
|
@@ -28746,12 +28792,18 @@ var init_Form = __esm({
|
|
|
28746
28792
|
}),
|
|
28747
28793
|
[formData, externalContext]
|
|
28748
28794
|
);
|
|
28749
|
-
|
|
28795
|
+
React116__default.useEffect(() => {
|
|
28796
|
+
debug("forms", "initialData-sync", {
|
|
28797
|
+
mode: formMode,
|
|
28798
|
+
normalizedInitialData,
|
|
28799
|
+
prevFormData: formData,
|
|
28800
|
+
willSet: Object.keys(normalizedInitialData).length > 0
|
|
28801
|
+
});
|
|
28750
28802
|
if (Object.keys(normalizedInitialData).length > 0) {
|
|
28751
28803
|
setFormData(normalizedInitialData);
|
|
28752
28804
|
}
|
|
28753
28805
|
}, [normalizedInitialData]);
|
|
28754
|
-
const processCalculations =
|
|
28806
|
+
const processCalculations = React116__default.useCallback(
|
|
28755
28807
|
(changedFieldId, newFormData) => {
|
|
28756
28808
|
if (!hiddenCalculations.length) return;
|
|
28757
28809
|
const context = {
|
|
@@ -28776,7 +28828,7 @@ var init_Form = __esm({
|
|
|
28776
28828
|
},
|
|
28777
28829
|
[hiddenCalculations, externalContext, eventBus]
|
|
28778
28830
|
);
|
|
28779
|
-
const checkViolations =
|
|
28831
|
+
const checkViolations = React116__default.useCallback(
|
|
28780
28832
|
(changedFieldId, newFormData) => {
|
|
28781
28833
|
if (!violationTriggers.length) return;
|
|
28782
28834
|
const context = {
|
|
@@ -28803,6 +28855,7 @@ var init_Form = __esm({
|
|
|
28803
28855
|
);
|
|
28804
28856
|
const handleChange = (name, value) => {
|
|
28805
28857
|
const newFormData = { ...formData, [name]: value };
|
|
28858
|
+
debug("forms", "field-change", { mode: formMode, name, value, prevFormData: formData, newFormData });
|
|
28806
28859
|
setFormData(newFormData);
|
|
28807
28860
|
eventBus.emit("UI:FIELD_CHANGED", {
|
|
28808
28861
|
fieldId: name,
|
|
@@ -28813,7 +28866,7 @@ var init_Form = __esm({
|
|
|
28813
28866
|
processCalculations(name, newFormData);
|
|
28814
28867
|
checkViolations(name, newFormData);
|
|
28815
28868
|
};
|
|
28816
|
-
const isFieldVisible =
|
|
28869
|
+
const isFieldVisible = React116__default.useCallback(
|
|
28817
28870
|
(fieldName) => {
|
|
28818
28871
|
const condition = conditionalFields[fieldName];
|
|
28819
28872
|
if (!condition) return true;
|
|
@@ -28821,7 +28874,7 @@ var init_Form = __esm({
|
|
|
28821
28874
|
},
|
|
28822
28875
|
[conditionalFields, evalContext]
|
|
28823
28876
|
);
|
|
28824
|
-
const isSectionVisible =
|
|
28877
|
+
const isSectionVisible = React116__default.useCallback(
|
|
28825
28878
|
(section) => {
|
|
28826
28879
|
if (!section.condition) return true;
|
|
28827
28880
|
return Boolean(evaluateFormExpression(section.condition, evalContext));
|
|
@@ -28841,11 +28894,18 @@ var init_Form = __esm({
|
|
|
28841
28894
|
};
|
|
28842
28895
|
const handleSubmit = (e) => {
|
|
28843
28896
|
e.preventDefault();
|
|
28897
|
+
debug("forms", "submit-enter", {
|
|
28898
|
+
mode: formMode,
|
|
28899
|
+
submitEvent,
|
|
28900
|
+
formData,
|
|
28901
|
+
normalizedInitialData
|
|
28902
|
+
});
|
|
28844
28903
|
const mergedData = {
|
|
28845
28904
|
...normalizedInitialData,
|
|
28846
28905
|
...formData
|
|
28847
28906
|
};
|
|
28848
28907
|
const payload = { data: mergedData };
|
|
28908
|
+
debug("forms", "submit-emit", { mode: formMode, submitEvent: `UI:${submitEvent}`, payloadData: payload.data });
|
|
28849
28909
|
eventBus.emit(`UI:${submitEvent}`, payload);
|
|
28850
28910
|
if (onSubmit) {
|
|
28851
28911
|
eventBus.emit(`UI:${onSubmit}`, payload);
|
|
@@ -28858,7 +28918,7 @@ var init_Form = __esm({
|
|
|
28858
28918
|
eventBus.emit(`UI:${onCancel}`);
|
|
28859
28919
|
}
|
|
28860
28920
|
};
|
|
28861
|
-
const renderField =
|
|
28921
|
+
const renderField = React116__default.useCallback(
|
|
28862
28922
|
(field) => {
|
|
28863
28923
|
const fieldName = field.name || field.field;
|
|
28864
28924
|
if (!fieldName) return null;
|
|
@@ -28879,7 +28939,7 @@ var init_Form = __esm({
|
|
|
28879
28939
|
[formData, isFieldVisible, relationsData, relationsLoading, isLoading]
|
|
28880
28940
|
);
|
|
28881
28941
|
const effectiveFields = entityDerivedFields ?? fields;
|
|
28882
|
-
const normalizedFields =
|
|
28942
|
+
const normalizedFields = React116__default.useMemo(() => {
|
|
28883
28943
|
if (!effectiveFields || effectiveFields.length === 0) return [];
|
|
28884
28944
|
return effectiveFields.map((field) => {
|
|
28885
28945
|
if (typeof field === "string") {
|
|
@@ -28901,7 +28961,7 @@ var init_Form = __esm({
|
|
|
28901
28961
|
return field;
|
|
28902
28962
|
});
|
|
28903
28963
|
}, [effectiveFields, resolvedEntity]);
|
|
28904
|
-
const schemaFields =
|
|
28964
|
+
const schemaFields = React116__default.useMemo(() => {
|
|
28905
28965
|
if (normalizedFields.length === 0) return null;
|
|
28906
28966
|
if (isDebugEnabled()) {
|
|
28907
28967
|
debugGroup(`Form: ${entityName || "unknown"}`);
|
|
@@ -28911,7 +28971,7 @@ var init_Form = __esm({
|
|
|
28911
28971
|
}
|
|
28912
28972
|
return normalizedFields.map(renderField).filter(Boolean);
|
|
28913
28973
|
}, [normalizedFields, renderField, entityName, conditionalFields]);
|
|
28914
|
-
const sectionElements =
|
|
28974
|
+
const sectionElements = React116__default.useMemo(() => {
|
|
28915
28975
|
if (!sections || sections.length === 0) return null;
|
|
28916
28976
|
return sections.map((section) => {
|
|
28917
28977
|
if (!isSectionVisible(section)) {
|
|
@@ -30435,7 +30495,7 @@ var init_List = __esm({
|
|
|
30435
30495
|
if (entity && typeof entity === "object" && "id" in entity) return [entity];
|
|
30436
30496
|
return [];
|
|
30437
30497
|
}, [entity]);
|
|
30438
|
-
const getItemActions =
|
|
30498
|
+
const getItemActions = React116__default.useCallback(
|
|
30439
30499
|
(item) => {
|
|
30440
30500
|
if (!itemActions) return [];
|
|
30441
30501
|
if (typeof itemActions === "function") {
|
|
@@ -30872,7 +30932,7 @@ var init_MediaGallery = __esm({
|
|
|
30872
30932
|
[selectable, selectedItems, selectionEvent, eventBus]
|
|
30873
30933
|
);
|
|
30874
30934
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
30875
|
-
const items =
|
|
30935
|
+
const items = React116__default.useMemo(() => {
|
|
30876
30936
|
if (propItems) return propItems;
|
|
30877
30937
|
if (entityData.length === 0) return [];
|
|
30878
30938
|
return entityData.map((record, idx) => ({
|
|
@@ -31036,7 +31096,7 @@ var init_MediaGallery = __esm({
|
|
|
31036
31096
|
}
|
|
31037
31097
|
});
|
|
31038
31098
|
function extractTitle2(children) {
|
|
31039
|
-
if (!
|
|
31099
|
+
if (!React116__default.isValidElement(children)) return void 0;
|
|
31040
31100
|
const props = children.props;
|
|
31041
31101
|
if (typeof props.title === "string") {
|
|
31042
31102
|
return props.title;
|
|
@@ -31749,7 +31809,7 @@ var init_PageHeader = __esm({
|
|
|
31749
31809
|
info: "bg-info/10 text-info"
|
|
31750
31810
|
};
|
|
31751
31811
|
return /* @__PURE__ */ jsxs(Box, { className: cn("mb-6", className), children: [
|
|
31752
|
-
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(
|
|
31812
|
+
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(React116__default.Fragment, { children: [
|
|
31753
31813
|
idx > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "muted", children: "/" }),
|
|
31754
31814
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
31755
31815
|
"a",
|
|
@@ -31923,7 +31983,7 @@ var init_debugRegistry = __esm({
|
|
|
31923
31983
|
}
|
|
31924
31984
|
});
|
|
31925
31985
|
function useDebugData() {
|
|
31926
|
-
const [data, setData] =
|
|
31986
|
+
const [data, setData] = React116.useState(() => ({
|
|
31927
31987
|
traits: [],
|
|
31928
31988
|
ticks: [],
|
|
31929
31989
|
guards: [],
|
|
@@ -31937,7 +31997,7 @@ function useDebugData() {
|
|
|
31937
31997
|
},
|
|
31938
31998
|
lastUpdate: Date.now()
|
|
31939
31999
|
}));
|
|
31940
|
-
|
|
32000
|
+
React116.useEffect(() => {
|
|
31941
32001
|
const updateData = () => {
|
|
31942
32002
|
setData({
|
|
31943
32003
|
traits: getAllTraits(),
|
|
@@ -32046,12 +32106,12 @@ function layoutGraph(states, transitions, initialState, width, height) {
|
|
|
32046
32106
|
return positions;
|
|
32047
32107
|
}
|
|
32048
32108
|
function WalkMinimap() {
|
|
32049
|
-
const [walkStep, setWalkStep] =
|
|
32050
|
-
const [traits2, setTraits] =
|
|
32051
|
-
const [coveredEdges, setCoveredEdges] =
|
|
32052
|
-
const [completedTraits, setCompletedTraits] =
|
|
32053
|
-
const prevTraitRef =
|
|
32054
|
-
|
|
32109
|
+
const [walkStep, setWalkStep] = React116.useState(null);
|
|
32110
|
+
const [traits2, setTraits] = React116.useState([]);
|
|
32111
|
+
const [coveredEdges, setCoveredEdges] = React116.useState([]);
|
|
32112
|
+
const [completedTraits, setCompletedTraits] = React116.useState(/* @__PURE__ */ new Set());
|
|
32113
|
+
const prevTraitRef = React116.useRef(null);
|
|
32114
|
+
React116.useEffect(() => {
|
|
32055
32115
|
const interval = setInterval(() => {
|
|
32056
32116
|
const w = window;
|
|
32057
32117
|
const step = w.__orbitalWalkStep;
|
|
@@ -32498,15 +32558,15 @@ var init_EntitiesTab = __esm({
|
|
|
32498
32558
|
}
|
|
32499
32559
|
});
|
|
32500
32560
|
function EventFlowTab({ events: events2 }) {
|
|
32501
|
-
const [filter, setFilter] =
|
|
32502
|
-
const containerRef =
|
|
32503
|
-
const [autoScroll, setAutoScroll] =
|
|
32504
|
-
|
|
32561
|
+
const [filter, setFilter] = React116.useState("all");
|
|
32562
|
+
const containerRef = React116.useRef(null);
|
|
32563
|
+
const [autoScroll, setAutoScroll] = React116.useState(true);
|
|
32564
|
+
React116.useEffect(() => {
|
|
32505
32565
|
if (autoScroll && containerRef.current) {
|
|
32506
32566
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
32507
32567
|
}
|
|
32508
32568
|
}, [events2.length, autoScroll]);
|
|
32509
|
-
const filteredEvents =
|
|
32569
|
+
const filteredEvents = React116.useMemo(() => {
|
|
32510
32570
|
if (filter === "all") return events2;
|
|
32511
32571
|
return events2.filter((e) => e.type === filter);
|
|
32512
32572
|
}, [events2, filter]);
|
|
@@ -32625,7 +32685,7 @@ var init_EventFlowTab = __esm({
|
|
|
32625
32685
|
}
|
|
32626
32686
|
});
|
|
32627
32687
|
function GuardsPanel({ guards }) {
|
|
32628
|
-
const [filter, setFilter] =
|
|
32688
|
+
const [filter, setFilter] = React116.useState("all");
|
|
32629
32689
|
if (guards.length === 0) {
|
|
32630
32690
|
return /* @__PURE__ */ jsx(
|
|
32631
32691
|
EmptyState,
|
|
@@ -32638,7 +32698,7 @@ function GuardsPanel({ guards }) {
|
|
|
32638
32698
|
}
|
|
32639
32699
|
const passedCount = guards.filter((g) => g.result).length;
|
|
32640
32700
|
const failedCount = guards.length - passedCount;
|
|
32641
|
-
const filteredGuards =
|
|
32701
|
+
const filteredGuards = React116.useMemo(() => {
|
|
32642
32702
|
if (filter === "all") return guards;
|
|
32643
32703
|
if (filter === "passed") return guards.filter((g) => g.result);
|
|
32644
32704
|
return guards.filter((g) => !g.result);
|
|
@@ -32799,10 +32859,10 @@ function EffectBadge({ effect }) {
|
|
|
32799
32859
|
] });
|
|
32800
32860
|
}
|
|
32801
32861
|
function TransitionTimeline({ transitions }) {
|
|
32802
|
-
const containerRef =
|
|
32803
|
-
const [autoScroll, setAutoScroll] =
|
|
32804
|
-
const [expandedId, setExpandedId] =
|
|
32805
|
-
|
|
32862
|
+
const containerRef = React116.useRef(null);
|
|
32863
|
+
const [autoScroll, setAutoScroll] = React116.useState(true);
|
|
32864
|
+
const [expandedId, setExpandedId] = React116.useState(null);
|
|
32865
|
+
React116.useEffect(() => {
|
|
32806
32866
|
if (autoScroll && containerRef.current) {
|
|
32807
32867
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
32808
32868
|
}
|
|
@@ -33088,9 +33148,9 @@ function getAllEvents(traits2) {
|
|
|
33088
33148
|
}
|
|
33089
33149
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
33090
33150
|
const eventBus = useEventBus();
|
|
33091
|
-
const [log4, setLog] =
|
|
33092
|
-
const prevStatesRef =
|
|
33093
|
-
|
|
33151
|
+
const [log4, setLog] = React116.useState([]);
|
|
33152
|
+
const prevStatesRef = React116.useRef(/* @__PURE__ */ new Map());
|
|
33153
|
+
React116.useEffect(() => {
|
|
33094
33154
|
for (const trait of traits2) {
|
|
33095
33155
|
const prev = prevStatesRef.current.get(trait.id);
|
|
33096
33156
|
if (prev && prev !== trait.currentState) {
|
|
@@ -33260,10 +33320,10 @@ function VerifyModePanel({
|
|
|
33260
33320
|
serverCount,
|
|
33261
33321
|
localCount
|
|
33262
33322
|
}) {
|
|
33263
|
-
const [expanded, setExpanded] =
|
|
33264
|
-
const scrollRef =
|
|
33265
|
-
const prevCountRef =
|
|
33266
|
-
|
|
33323
|
+
const [expanded, setExpanded] = React116.useState(true);
|
|
33324
|
+
const scrollRef = React116.useRef(null);
|
|
33325
|
+
const prevCountRef = React116.useRef(0);
|
|
33326
|
+
React116.useEffect(() => {
|
|
33267
33327
|
if (expanded && transitions.length > prevCountRef.current && scrollRef.current) {
|
|
33268
33328
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
33269
33329
|
}
|
|
@@ -33329,10 +33389,10 @@ function RuntimeDebugger({
|
|
|
33329
33389
|
defaultTab,
|
|
33330
33390
|
schema
|
|
33331
33391
|
}) {
|
|
33332
|
-
const [isCollapsed, setIsCollapsed] =
|
|
33333
|
-
const [isVisible, setIsVisible] =
|
|
33392
|
+
const [isCollapsed, setIsCollapsed] = React116.useState(mode === "verify" ? true : defaultCollapsed);
|
|
33393
|
+
const [isVisible, setIsVisible] = React116.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
|
|
33334
33394
|
const debugData = useDebugData();
|
|
33335
|
-
|
|
33395
|
+
React116.useEffect(() => {
|
|
33336
33396
|
if (mode === "inline") return;
|
|
33337
33397
|
return onDebugToggle((enabled) => {
|
|
33338
33398
|
setIsVisible(enabled);
|
|
@@ -33341,7 +33401,7 @@ function RuntimeDebugger({
|
|
|
33341
33401
|
}
|
|
33342
33402
|
});
|
|
33343
33403
|
}, [mode]);
|
|
33344
|
-
|
|
33404
|
+
React116.useEffect(() => {
|
|
33345
33405
|
if (mode === "inline") return;
|
|
33346
33406
|
const handleKeyDown = (e) => {
|
|
33347
33407
|
if (e.key === "`" && isVisible) {
|
|
@@ -33890,7 +33950,7 @@ function SequenceBar({
|
|
|
33890
33950
|
onSlotRemove(index);
|
|
33891
33951
|
}, [onSlotRemove, playing]);
|
|
33892
33952
|
const paddedSlots = Array.from({ length: maxSlots }, (_, i) => slots[i]);
|
|
33893
|
-
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(
|
|
33953
|
+
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
33894
33954
|
i > 0 && /* @__PURE__ */ jsx(
|
|
33895
33955
|
Typography,
|
|
33896
33956
|
{
|
|
@@ -35235,7 +35295,7 @@ var init_StatCard2 = __esm({
|
|
|
35235
35295
|
const labelToUse = propLabel ?? propTitle;
|
|
35236
35296
|
const eventBus = useEventBus();
|
|
35237
35297
|
const { t } = useTranslate();
|
|
35238
|
-
const handleActionClick =
|
|
35298
|
+
const handleActionClick = React116__default.useCallback(() => {
|
|
35239
35299
|
if (action?.event) {
|
|
35240
35300
|
eventBus.emit(`UI:${action.event}`, {});
|
|
35241
35301
|
}
|
|
@@ -35246,7 +35306,7 @@ var init_StatCard2 = __esm({
|
|
|
35246
35306
|
const data = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
35247
35307
|
const isLoading = externalLoading ?? false;
|
|
35248
35308
|
const error = externalError;
|
|
35249
|
-
const computeMetricValue =
|
|
35309
|
+
const computeMetricValue = React116__default.useCallback(
|
|
35250
35310
|
(metric, items) => {
|
|
35251
35311
|
if (metric.value !== void 0) {
|
|
35252
35312
|
return metric.value;
|
|
@@ -35285,7 +35345,7 @@ var init_StatCard2 = __esm({
|
|
|
35285
35345
|
},
|
|
35286
35346
|
[]
|
|
35287
35347
|
);
|
|
35288
|
-
const schemaStats =
|
|
35348
|
+
const schemaStats = React116__default.useMemo(() => {
|
|
35289
35349
|
if (!metrics || metrics.length === 0) return null;
|
|
35290
35350
|
return metrics.map((metric) => ({
|
|
35291
35351
|
label: metric.label,
|
|
@@ -35293,7 +35353,7 @@ var init_StatCard2 = __esm({
|
|
|
35293
35353
|
format: metric.format
|
|
35294
35354
|
}));
|
|
35295
35355
|
}, [metrics, data, computeMetricValue]);
|
|
35296
|
-
const calculatedTrend =
|
|
35356
|
+
const calculatedTrend = React116__default.useMemo(() => {
|
|
35297
35357
|
if (manualTrend !== void 0) return manualTrend;
|
|
35298
35358
|
if (previousValue === void 0 || currentValue === void 0)
|
|
35299
35359
|
return void 0;
|
|
@@ -36277,7 +36337,7 @@ var init_Timeline = __esm({
|
|
|
36277
36337
|
}) => {
|
|
36278
36338
|
const { t } = useTranslate();
|
|
36279
36339
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
36280
|
-
const items =
|
|
36340
|
+
const items = React116__default.useMemo(() => {
|
|
36281
36341
|
if (propItems) return propItems;
|
|
36282
36342
|
if (entityData.length === 0) return [];
|
|
36283
36343
|
return entityData.map((record, idx) => {
|
|
@@ -36384,7 +36444,7 @@ var init_Timeline = __esm({
|
|
|
36384
36444
|
}
|
|
36385
36445
|
});
|
|
36386
36446
|
function extractToastProps(children) {
|
|
36387
|
-
if (!
|
|
36447
|
+
if (!React116__default.isValidElement(children)) {
|
|
36388
36448
|
if (typeof children === "string") {
|
|
36389
36449
|
return { message: children };
|
|
36390
36450
|
}
|
|
@@ -36422,7 +36482,7 @@ var init_ToastSlot = __esm({
|
|
|
36422
36482
|
eventBus.emit("UI:CLOSE");
|
|
36423
36483
|
};
|
|
36424
36484
|
if (!isVisible) return null;
|
|
36425
|
-
const isCustomContent =
|
|
36485
|
+
const isCustomContent = React116__default.isValidElement(children) && !message;
|
|
36426
36486
|
return /* @__PURE__ */ jsx(Box, { className: "fixed bottom-4 right-4 z-50", children: isCustomContent ? children : /* @__PURE__ */ jsx(
|
|
36427
36487
|
Toast,
|
|
36428
36488
|
{
|
|
@@ -36691,7 +36751,7 @@ var init_WizardContainer = __esm({
|
|
|
36691
36751
|
const isCompleted = index < currentStep;
|
|
36692
36752
|
const stepKey = step.id ?? step.tabId ?? `step-${index}`;
|
|
36693
36753
|
const stepTitle = step.title ?? step.name ?? `Step ${index + 1}`;
|
|
36694
|
-
return /* @__PURE__ */ jsxs(
|
|
36754
|
+
return /* @__PURE__ */ jsxs(React116__default.Fragment, { children: [
|
|
36695
36755
|
/* @__PURE__ */ jsx(
|
|
36696
36756
|
Button,
|
|
36697
36757
|
{
|
|
@@ -37073,12 +37133,12 @@ var init_WorldMapTemplate = __esm({
|
|
|
37073
37133
|
}
|
|
37074
37134
|
});
|
|
37075
37135
|
function lazyThree(name, loader) {
|
|
37076
|
-
const Lazy =
|
|
37136
|
+
const Lazy = React116__default.lazy(() => loader().then((m) => ({ default: m[name] })));
|
|
37077
37137
|
function ThreeWrapper(props) {
|
|
37078
|
-
return
|
|
37079
|
-
|
|
37138
|
+
return React116__default.createElement(
|
|
37139
|
+
React116__default.Suspense,
|
|
37080
37140
|
{ fallback: null },
|
|
37081
|
-
|
|
37141
|
+
React116__default.createElement(Lazy, props)
|
|
37082
37142
|
);
|
|
37083
37143
|
}
|
|
37084
37144
|
ThreeWrapper.displayName = `Lazy(${name})`;
|
|
@@ -37566,7 +37626,7 @@ function SuspenseConfigProvider({
|
|
|
37566
37626
|
config,
|
|
37567
37627
|
children
|
|
37568
37628
|
}) {
|
|
37569
|
-
return
|
|
37629
|
+
return React116__default.createElement(
|
|
37570
37630
|
SuspenseConfigContext.Provider,
|
|
37571
37631
|
{ value: config },
|
|
37572
37632
|
children
|
|
@@ -38030,7 +38090,7 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
38030
38090
|
const key = `${parentId}-${index}-trait:${traitName}`;
|
|
38031
38091
|
return /* @__PURE__ */ jsx(TraitFrame, { traitName }, key);
|
|
38032
38092
|
}
|
|
38033
|
-
return /* @__PURE__ */ jsx(
|
|
38093
|
+
return /* @__PURE__ */ jsx(React116__default.Fragment, { children: child }, `${parentId}-${index}`);
|
|
38034
38094
|
}
|
|
38035
38095
|
if (!child || typeof child !== "object") return null;
|
|
38036
38096
|
const childId = `${parentId}-${index}`;
|
|
@@ -38092,6 +38152,14 @@ function SlotContentRenderer({
|
|
|
38092
38152
|
patternPath
|
|
38093
38153
|
}) {
|
|
38094
38154
|
const entityProp = content.props.entity;
|
|
38155
|
+
if (content.pattern === "form-section") {
|
|
38156
|
+
slotLog.debug("SlotContentRenderer:form-section-render", {
|
|
38157
|
+
contentId: content.id,
|
|
38158
|
+
sourceTrait: content.sourceTrait,
|
|
38159
|
+
entityRefId: refId(entityProp),
|
|
38160
|
+
entityIsObject: entityProp !== null && typeof entityProp === "object" && !Array.isArray(entityProp)
|
|
38161
|
+
});
|
|
38162
|
+
}
|
|
38095
38163
|
if (typeof entityProp === "string" && entityProp.length > 0) {
|
|
38096
38164
|
if (typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production") {
|
|
38097
38165
|
throw new Error(
|
|
@@ -38235,6 +38303,7 @@ var init_UISlotRenderer = __esm({
|
|
|
38235
38303
|
init_Box();
|
|
38236
38304
|
init_Typography();
|
|
38237
38305
|
init_useEventBus();
|
|
38306
|
+
init_SlotsContext();
|
|
38238
38307
|
init_cn();
|
|
38239
38308
|
init_ErrorBoundary();
|
|
38240
38309
|
init_Skeleton();
|
|
@@ -38297,6 +38366,25 @@ init_logger();
|
|
|
38297
38366
|
var busLog = createLogger("almadar:eventbus");
|
|
38298
38367
|
var subLog2 = createLogger("almadar:eventbus:subscribe");
|
|
38299
38368
|
var EventBusContext2 = createContext(null);
|
|
38369
|
+
var listenerTags = /* @__PURE__ */ new WeakMap();
|
|
38370
|
+
function captureSubscriberTag(listener) {
|
|
38371
|
+
const fnName = listener.name;
|
|
38372
|
+
if (typeof fnName === "string" && fnName.length > 0 && fnName !== "listener") {
|
|
38373
|
+
return fnName;
|
|
38374
|
+
}
|
|
38375
|
+
const stack = new Error().stack ?? "";
|
|
38376
|
+
const lines = stack.split("\n");
|
|
38377
|
+
for (const raw of lines.slice(2)) {
|
|
38378
|
+
const line = raw.trim();
|
|
38379
|
+
if (!line) continue;
|
|
38380
|
+
if (line.includes("EventBusProvider") || line.includes("useEventBus")) continue;
|
|
38381
|
+
if (line.includes("captureSubscriberTag")) continue;
|
|
38382
|
+
const match = line.match(/([^/\\)]+\.(?:tsx?|jsx?))(?::(\d+))?/);
|
|
38383
|
+
if (match) return match[2] ? `${match[1]}:${match[2]}` : match[1];
|
|
38384
|
+
return line.slice(0, 120);
|
|
38385
|
+
}
|
|
38386
|
+
return "unknown";
|
|
38387
|
+
}
|
|
38300
38388
|
function EventBusProvider({ children, debug: debug2 = false }) {
|
|
38301
38389
|
const listenersRef = useRef(/* @__PURE__ */ new Map());
|
|
38302
38390
|
const anyListenersRef = useRef(/* @__PURE__ */ new Set());
|
|
@@ -38337,7 +38425,14 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
38337
38425
|
}
|
|
38338
38426
|
if (listeners6) {
|
|
38339
38427
|
const listenersCopy = Array.from(listeners6);
|
|
38340
|
-
for (
|
|
38428
|
+
for (let i = 0; i < listenersCopy.length; i++) {
|
|
38429
|
+
const listener = listenersCopy[i];
|
|
38430
|
+
busLog.debug("emit:listener", {
|
|
38431
|
+
type,
|
|
38432
|
+
kind: "specific",
|
|
38433
|
+
index: i,
|
|
38434
|
+
tag: listenerTags.get(listener) ?? "untagged"
|
|
38435
|
+
});
|
|
38341
38436
|
try {
|
|
38342
38437
|
listener(event);
|
|
38343
38438
|
} catch (error) {
|
|
@@ -38346,7 +38441,14 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
38346
38441
|
}
|
|
38347
38442
|
}
|
|
38348
38443
|
const anyListeners = Array.from(anyListenersRef.current);
|
|
38349
|
-
for (
|
|
38444
|
+
for (let i = 0; i < anyListeners.length; i++) {
|
|
38445
|
+
const listener = anyListeners[i];
|
|
38446
|
+
busLog.debug("emit:listener", {
|
|
38447
|
+
type,
|
|
38448
|
+
kind: "onAny",
|
|
38449
|
+
index: i,
|
|
38450
|
+
tag: listenerTags.get(listener) ?? "untagged"
|
|
38451
|
+
});
|
|
38350
38452
|
try {
|
|
38351
38453
|
listener(event);
|
|
38352
38454
|
} catch (error) {
|
|
@@ -38360,7 +38462,8 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
38360
38462
|
}
|
|
38361
38463
|
const listeners6 = listenersRef.current.get(type);
|
|
38362
38464
|
listeners6.add(listener);
|
|
38363
|
-
|
|
38465
|
+
if (!listenerTags.has(listener)) listenerTags.set(listener, captureSubscriberTag(listener));
|
|
38466
|
+
subLog2.debug("subscribe", { type, totalListeners: listeners6.size, tag: listenerTags.get(listener) });
|
|
38364
38467
|
if (debug2) {
|
|
38365
38468
|
console.log(`[EventBus] Subscribed to '${type}', total: ${listeners6.size}`);
|
|
38366
38469
|
}
|
|
@@ -38387,7 +38490,8 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
38387
38490
|
}, []);
|
|
38388
38491
|
const onAny = useCallback((listener) => {
|
|
38389
38492
|
anyListenersRef.current.add(listener);
|
|
38390
|
-
|
|
38493
|
+
if (!listenerTags.has(listener)) listenerTags.set(listener, captureSubscriberTag(listener));
|
|
38494
|
+
subLog2.debug("subscribe:any", { totalAnyListeners: anyListenersRef.current.size, tag: listenerTags.get(listener) });
|
|
38391
38495
|
if (debug2) {
|
|
38392
38496
|
console.log(`[EventBus] onAny subscribed, total: ${anyListenersRef.current.size}`);
|
|
38393
38497
|
}
|
|
@@ -38559,7 +38663,7 @@ function VerificationProvider({
|
|
|
38559
38663
|
useEffect(() => {
|
|
38560
38664
|
if (!isEnabled) return;
|
|
38561
38665
|
if (!eventBus.onAny) return;
|
|
38562
|
-
const
|
|
38666
|
+
const verificationProviderLifecycleListener = (evt) => {
|
|
38563
38667
|
const parsed = parseLifecycleEvent(evt.type);
|
|
38564
38668
|
if (!parsed) return;
|
|
38565
38669
|
log3.debug("lifecycle:event", { kind: parsed.kind, traitName: parsed.traitName, event: parsed.event, type: evt.type });
|
|
@@ -38649,7 +38753,11 @@ function VerificationProvider({
|
|
|
38649
38753
|
});
|
|
38650
38754
|
log3.warn("transition:error", { trait: parsed.traitName, event: parsed.event, from: fromState, error: errorMsg });
|
|
38651
38755
|
}
|
|
38756
|
+
};
|
|
38757
|
+
Object.defineProperty(verificationProviderLifecycleListener, "name", {
|
|
38758
|
+
value: "VerificationProvider:lifecycle"
|
|
38652
38759
|
});
|
|
38760
|
+
const unsub = eventBus.onAny(verificationProviderLifecycleListener);
|
|
38653
38761
|
registerCheck(
|
|
38654
38762
|
"verification-provider",
|
|
38655
38763
|
"VerificationProvider active (compiled path)",
|