@almadar/ui 2.56.0 → 2.57.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 +1240 -1236
- package/dist/avl/index.js +169 -165
- package/dist/components/index.cjs +1175 -1053
- package/dist/components/index.js +272 -151
- package/dist/components/molecules/FileTree.d.ts +37 -0
- package/dist/components/molecules/index.d.ts +1 -0
- package/dist/providers/index.cjs +180 -179
- package/dist/providers/index.js +43 -42
- package/dist/runtime/index.cjs +911 -910
- package/dist/runtime/index.js +147 -146
- package/package.json +1 -1
package/dist/components/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { twMerge } from 'tailwind-merge';
|
|
3
|
-
import * as
|
|
4
|
-
import
|
|
3
|
+
import * as React91 from 'react';
|
|
4
|
+
import React91__default, { useCallback, createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, lazy, useContext, useId, Suspense, useSyncExternalStore } from 'react';
|
|
5
5
|
import { EventBusContext, useEntityRef, SelectionContext } from '@almadar/ui/providers';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import * as LucideIcons from 'lucide-react';
|
|
@@ -547,7 +547,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
547
547
|
const IconComp = value;
|
|
548
548
|
return /* @__PURE__ */ jsx(IconComp, { className: sizeClass });
|
|
549
549
|
}
|
|
550
|
-
if (
|
|
550
|
+
if (React91__default.isValidElement(value)) {
|
|
551
551
|
return value;
|
|
552
552
|
}
|
|
553
553
|
if (typeof value === "object" && value !== null && "render" in value) {
|
|
@@ -556,7 +556,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
556
556
|
}
|
|
557
557
|
return value;
|
|
558
558
|
}
|
|
559
|
-
var Button =
|
|
559
|
+
var Button = React91__default.forwardRef(
|
|
560
560
|
({
|
|
561
561
|
className,
|
|
562
562
|
variant = "primary",
|
|
@@ -618,7 +618,7 @@ Button.displayName = "Button";
|
|
|
618
618
|
|
|
619
619
|
// components/atoms/Input.tsx
|
|
620
620
|
init_cn();
|
|
621
|
-
var Input =
|
|
621
|
+
var Input = React91__default.forwardRef(
|
|
622
622
|
({
|
|
623
623
|
className,
|
|
624
624
|
inputType,
|
|
@@ -733,7 +733,7 @@ Input.displayName = "Input";
|
|
|
733
733
|
|
|
734
734
|
// components/atoms/Label.tsx
|
|
735
735
|
init_cn();
|
|
736
|
-
var Label =
|
|
736
|
+
var Label = React91__default.forwardRef(
|
|
737
737
|
({ className, required, children, ...props }, ref) => {
|
|
738
738
|
return /* @__PURE__ */ jsxs(
|
|
739
739
|
"label",
|
|
@@ -756,7 +756,7 @@ Label.displayName = "Label";
|
|
|
756
756
|
|
|
757
757
|
// components/atoms/Textarea.tsx
|
|
758
758
|
init_cn();
|
|
759
|
-
var Textarea =
|
|
759
|
+
var Textarea = React91__default.forwardRef(
|
|
760
760
|
({ className, error, ...props }, ref) => {
|
|
761
761
|
return /* @__PURE__ */ jsx(
|
|
762
762
|
"textarea",
|
|
@@ -782,7 +782,7 @@ Textarea.displayName = "Textarea";
|
|
|
782
782
|
|
|
783
783
|
// components/atoms/Select.tsx
|
|
784
784
|
init_cn();
|
|
785
|
-
var Select =
|
|
785
|
+
var Select = React91__default.forwardRef(
|
|
786
786
|
({ className, options, placeholder, error, ...props }, ref) => {
|
|
787
787
|
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
788
788
|
/* @__PURE__ */ jsxs(
|
|
@@ -821,7 +821,7 @@ Select.displayName = "Select";
|
|
|
821
821
|
|
|
822
822
|
// components/atoms/Checkbox.tsx
|
|
823
823
|
init_cn();
|
|
824
|
-
var Checkbox =
|
|
824
|
+
var Checkbox = React91__default.forwardRef(
|
|
825
825
|
({ className, label, id, ...props }, ref) => {
|
|
826
826
|
const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
827
827
|
return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
@@ -900,7 +900,7 @@ var shadowStyles = {
|
|
|
900
900
|
md: "shadow",
|
|
901
901
|
lg: "shadow-lg"
|
|
902
902
|
};
|
|
903
|
-
var Card =
|
|
903
|
+
var Card = React91__default.forwardRef(
|
|
904
904
|
({
|
|
905
905
|
className,
|
|
906
906
|
variant = "bordered",
|
|
@@ -936,9 +936,9 @@ var Card = React90__default.forwardRef(
|
|
|
936
936
|
}
|
|
937
937
|
);
|
|
938
938
|
Card.displayName = "Card";
|
|
939
|
-
var CardHeader =
|
|
939
|
+
var CardHeader = React91__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
|
|
940
940
|
CardHeader.displayName = "CardHeader";
|
|
941
|
-
var CardTitle =
|
|
941
|
+
var CardTitle = React91__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
942
942
|
"h3",
|
|
943
943
|
{
|
|
944
944
|
ref,
|
|
@@ -951,11 +951,11 @@ var CardTitle = React90__default.forwardRef(({ className, ...props }, ref) => /*
|
|
|
951
951
|
}
|
|
952
952
|
));
|
|
953
953
|
CardTitle.displayName = "CardTitle";
|
|
954
|
-
var CardContent =
|
|
954
|
+
var CardContent = React91__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
|
|
955
955
|
CardContent.displayName = "CardContent";
|
|
956
956
|
var CardBody = CardContent;
|
|
957
957
|
CardBody.displayName = "CardBody";
|
|
958
|
-
var CardFooter =
|
|
958
|
+
var CardFooter = React91__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
959
959
|
"div",
|
|
960
960
|
{
|
|
961
961
|
ref,
|
|
@@ -1004,7 +1004,7 @@ var sizeStyles2 = {
|
|
|
1004
1004
|
md: "px-2.5 py-1 text-sm",
|
|
1005
1005
|
lg: "px-3 py-1.5 text-base"
|
|
1006
1006
|
};
|
|
1007
|
-
var Badge =
|
|
1007
|
+
var Badge = React91__default.forwardRef(
|
|
1008
1008
|
({ className, variant = "default", size = "sm", amount, label, icon, children, ...props }, ref) => {
|
|
1009
1009
|
const iconSizes2 = { sm: "w-3 h-3", md: "w-3.5 h-3.5", lg: "w-4 h-4" };
|
|
1010
1010
|
const resolvedIcon = typeof icon === "string" ? (() => {
|
|
@@ -1040,7 +1040,7 @@ var sizeStyles3 = {
|
|
|
1040
1040
|
md: "h-6 w-6",
|
|
1041
1041
|
lg: "h-8 w-8"
|
|
1042
1042
|
};
|
|
1043
|
-
var Spinner =
|
|
1043
|
+
var Spinner = React91__default.forwardRef(
|
|
1044
1044
|
({ className, size = "md", ...props }, ref) => {
|
|
1045
1045
|
return /* @__PURE__ */ jsx(
|
|
1046
1046
|
"div",
|
|
@@ -1313,7 +1313,7 @@ var positionStyles = {
|
|
|
1313
1313
|
fixed: "fixed",
|
|
1314
1314
|
sticky: "sticky"
|
|
1315
1315
|
};
|
|
1316
|
-
var Box =
|
|
1316
|
+
var Box = React91__default.forwardRef(
|
|
1317
1317
|
({
|
|
1318
1318
|
padding,
|
|
1319
1319
|
paddingX,
|
|
@@ -1674,7 +1674,7 @@ ProgressBar.displayName = "ProgressBar";
|
|
|
1674
1674
|
|
|
1675
1675
|
// components/atoms/Radio.tsx
|
|
1676
1676
|
init_cn();
|
|
1677
|
-
var Radio =
|
|
1677
|
+
var Radio = React91__default.forwardRef(
|
|
1678
1678
|
({
|
|
1679
1679
|
label,
|
|
1680
1680
|
helperText,
|
|
@@ -1781,7 +1781,7 @@ Radio.displayName = "Radio";
|
|
|
1781
1781
|
|
|
1782
1782
|
// components/atoms/Switch.tsx
|
|
1783
1783
|
init_cn();
|
|
1784
|
-
var Switch =
|
|
1784
|
+
var Switch = React91.forwardRef(
|
|
1785
1785
|
({
|
|
1786
1786
|
checked,
|
|
1787
1787
|
defaultChecked = false,
|
|
@@ -1792,10 +1792,10 @@ var Switch = React90.forwardRef(
|
|
|
1792
1792
|
name,
|
|
1793
1793
|
className
|
|
1794
1794
|
}, ref) => {
|
|
1795
|
-
const [isChecked, setIsChecked] =
|
|
1795
|
+
const [isChecked, setIsChecked] = React91.useState(
|
|
1796
1796
|
checked !== void 0 ? checked : defaultChecked
|
|
1797
1797
|
);
|
|
1798
|
-
|
|
1798
|
+
React91.useEffect(() => {
|
|
1799
1799
|
if (checked !== void 0) {
|
|
1800
1800
|
setIsChecked(checked);
|
|
1801
1801
|
}
|
|
@@ -2469,8 +2469,8 @@ var LawReferenceTooltip = ({
|
|
|
2469
2469
|
position = "top",
|
|
2470
2470
|
className
|
|
2471
2471
|
}) => {
|
|
2472
|
-
const [isVisible, setIsVisible] =
|
|
2473
|
-
const timeoutRef =
|
|
2472
|
+
const [isVisible, setIsVisible] = React91__default.useState(false);
|
|
2473
|
+
const timeoutRef = React91__default.useRef(null);
|
|
2474
2474
|
const handleMouseEnter = () => {
|
|
2475
2475
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
2476
2476
|
timeoutRef.current = setTimeout(() => setIsVisible(true), 200);
|
|
@@ -2479,7 +2479,7 @@ var LawReferenceTooltip = ({
|
|
|
2479
2479
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
2480
2480
|
setIsVisible(false);
|
|
2481
2481
|
};
|
|
2482
|
-
|
|
2482
|
+
React91__default.useEffect(() => {
|
|
2483
2483
|
return () => {
|
|
2484
2484
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
2485
2485
|
};
|
|
@@ -2677,7 +2677,7 @@ var sizeStyles5 = {
|
|
|
2677
2677
|
md: "w-2.5 h-2.5",
|
|
2678
2678
|
lg: "w-3 h-3"
|
|
2679
2679
|
};
|
|
2680
|
-
var StatusDot =
|
|
2680
|
+
var StatusDot = React91__default.forwardRef(
|
|
2681
2681
|
({ className, status = "offline", pulse = false, size = "md", label, ...props }, ref) => {
|
|
2682
2682
|
return /* @__PURE__ */ jsx(
|
|
2683
2683
|
"span",
|
|
@@ -2727,7 +2727,7 @@ var iconMap = {
|
|
|
2727
2727
|
down: TrendingDown,
|
|
2728
2728
|
flat: ArrowRight
|
|
2729
2729
|
};
|
|
2730
|
-
var TrendIndicator =
|
|
2730
|
+
var TrendIndicator = React91__default.forwardRef(
|
|
2731
2731
|
({
|
|
2732
2732
|
className,
|
|
2733
2733
|
value,
|
|
@@ -2790,7 +2790,7 @@ var thumbSizes = {
|
|
|
2790
2790
|
md: "w-4 h-4",
|
|
2791
2791
|
lg: "w-5 h-5"
|
|
2792
2792
|
};
|
|
2793
|
-
var RangeSlider =
|
|
2793
|
+
var RangeSlider = React91__default.forwardRef(
|
|
2794
2794
|
({
|
|
2795
2795
|
className,
|
|
2796
2796
|
min = 0,
|
|
@@ -3350,7 +3350,7 @@ var paddingClasses = {
|
|
|
3350
3350
|
md: "py-16",
|
|
3351
3351
|
lg: "py-24"
|
|
3352
3352
|
};
|
|
3353
|
-
var ContentSection =
|
|
3353
|
+
var ContentSection = React91__default.forwardRef(
|
|
3354
3354
|
({ children, background = "default", padding = "lg", id, className }, ref) => {
|
|
3355
3355
|
return /* @__PURE__ */ jsx(
|
|
3356
3356
|
Box,
|
|
@@ -3874,7 +3874,7 @@ var animatedStyles = {
|
|
|
3874
3874
|
"scale-up": { opacity: 1, transform: "scale(1) translateY(0)" },
|
|
3875
3875
|
"none": {}
|
|
3876
3876
|
};
|
|
3877
|
-
var AnimatedReveal =
|
|
3877
|
+
var AnimatedReveal = React91__default.forwardRef(
|
|
3878
3878
|
({
|
|
3879
3879
|
trigger = "scroll",
|
|
3880
3880
|
animation = "fade-up",
|
|
@@ -4030,7 +4030,7 @@ function applyMorphAnimation(container, animate, duration, delay, easing) {
|
|
|
4030
4030
|
el.style.opacity = animate ? "1" : "0";
|
|
4031
4031
|
});
|
|
4032
4032
|
}
|
|
4033
|
-
var AnimatedGraphic =
|
|
4033
|
+
var AnimatedGraphic = React91__default.forwardRef(
|
|
4034
4034
|
({
|
|
4035
4035
|
src,
|
|
4036
4036
|
svgContent,
|
|
@@ -4053,7 +4053,7 @@ var AnimatedGraphic = React90__default.forwardRef(
|
|
|
4053
4053
|
const fetchedSvg = useFetchedSvg(svgContent ? void 0 : src);
|
|
4054
4054
|
const resolvedSvg = svgContent ?? fetchedSvg;
|
|
4055
4055
|
const prevAnimateRef = useRef(animate);
|
|
4056
|
-
const setRef =
|
|
4056
|
+
const setRef = React91__default.useCallback(
|
|
4057
4057
|
(node) => {
|
|
4058
4058
|
containerRef.current = node;
|
|
4059
4059
|
if (typeof ref === "function") ref(node);
|
|
@@ -4230,9 +4230,9 @@ function ScoreDisplay({
|
|
|
4230
4230
|
...rest
|
|
4231
4231
|
}) {
|
|
4232
4232
|
const resolvedValue = typeof value === "number" && !Number.isNaN(value) ? value : typeof rest.score === "number" && !Number.isNaN(rest.score) ? rest.score : 0;
|
|
4233
|
-
const [displayValue, setDisplayValue] =
|
|
4234
|
-
const [isAnimating, setIsAnimating] =
|
|
4235
|
-
|
|
4233
|
+
const [displayValue, setDisplayValue] = React91.useState(resolvedValue);
|
|
4234
|
+
const [isAnimating, setIsAnimating] = React91.useState(false);
|
|
4235
|
+
React91.useEffect(() => {
|
|
4236
4236
|
if (!animated || displayValue === resolvedValue) {
|
|
4237
4237
|
setDisplayValue(resolvedValue);
|
|
4238
4238
|
return;
|
|
@@ -4309,9 +4309,9 @@ function ControlButton({
|
|
|
4309
4309
|
className
|
|
4310
4310
|
}) {
|
|
4311
4311
|
const eventBus = useEventBus();
|
|
4312
|
-
const [isPressed, setIsPressed] =
|
|
4312
|
+
const [isPressed, setIsPressed] = React91.useState(false);
|
|
4313
4313
|
const actualPressed = pressed ?? isPressed;
|
|
4314
|
-
const handlePointerDown =
|
|
4314
|
+
const handlePointerDown = React91.useCallback(
|
|
4315
4315
|
(e) => {
|
|
4316
4316
|
e.preventDefault();
|
|
4317
4317
|
if (disabled) return;
|
|
@@ -4321,7 +4321,7 @@ function ControlButton({
|
|
|
4321
4321
|
},
|
|
4322
4322
|
[disabled, pressEvent, eventBus, onPress]
|
|
4323
4323
|
);
|
|
4324
|
-
const handlePointerUp =
|
|
4324
|
+
const handlePointerUp = React91.useCallback(
|
|
4325
4325
|
(e) => {
|
|
4326
4326
|
e.preventDefault();
|
|
4327
4327
|
if (disabled) return;
|
|
@@ -4331,7 +4331,7 @@ function ControlButton({
|
|
|
4331
4331
|
},
|
|
4332
4332
|
[disabled, releaseEvent, eventBus, onRelease]
|
|
4333
4333
|
);
|
|
4334
|
-
const handlePointerLeave =
|
|
4334
|
+
const handlePointerLeave = React91.useCallback(
|
|
4335
4335
|
(e) => {
|
|
4336
4336
|
if (isPressed) {
|
|
4337
4337
|
setIsPressed(false);
|
|
@@ -5202,9 +5202,9 @@ function MiniMap({
|
|
|
5202
5202
|
viewportRect,
|
|
5203
5203
|
className
|
|
5204
5204
|
}) {
|
|
5205
|
-
const canvasRef =
|
|
5206
|
-
const frameRef =
|
|
5207
|
-
|
|
5205
|
+
const canvasRef = React91.useRef(null);
|
|
5206
|
+
const frameRef = React91.useRef(0);
|
|
5207
|
+
React91.useEffect(() => {
|
|
5208
5208
|
const canvas = canvasRef.current;
|
|
5209
5209
|
if (!canvas) return;
|
|
5210
5210
|
const ctx = canvas.getContext("2d");
|
|
@@ -5453,7 +5453,7 @@ var ErrorState = ({
|
|
|
5453
5453
|
);
|
|
5454
5454
|
};
|
|
5455
5455
|
ErrorState.displayName = "ErrorState";
|
|
5456
|
-
var ErrorBoundary = class extends
|
|
5456
|
+
var ErrorBoundary = class extends React91__default.Component {
|
|
5457
5457
|
constructor(props) {
|
|
5458
5458
|
super(props);
|
|
5459
5459
|
__publicField(this, "reset", () => {
|
|
@@ -5494,6 +5494,127 @@ var ErrorBoundary = class extends React90__default.Component {
|
|
|
5494
5494
|
}
|
|
5495
5495
|
};
|
|
5496
5496
|
__publicField(ErrorBoundary, "displayName", "ErrorBoundary");
|
|
5497
|
+
init_Typography();
|
|
5498
|
+
function fileIcon(name) {
|
|
5499
|
+
const ext = name.split(".").pop()?.toLowerCase() ?? "";
|
|
5500
|
+
switch (ext) {
|
|
5501
|
+
case "ts":
|
|
5502
|
+
case "tsx":
|
|
5503
|
+
return "file-code";
|
|
5504
|
+
case "js":
|
|
5505
|
+
case "jsx":
|
|
5506
|
+
return "file-code";
|
|
5507
|
+
case "json":
|
|
5508
|
+
case "orb":
|
|
5509
|
+
return "file-json";
|
|
5510
|
+
case "css":
|
|
5511
|
+
case "scss":
|
|
5512
|
+
return "file-text";
|
|
5513
|
+
case "md":
|
|
5514
|
+
return "file-text";
|
|
5515
|
+
case "py":
|
|
5516
|
+
return "file-code";
|
|
5517
|
+
case "html":
|
|
5518
|
+
return "file-code";
|
|
5519
|
+
default:
|
|
5520
|
+
return "file";
|
|
5521
|
+
}
|
|
5522
|
+
}
|
|
5523
|
+
var TreeNodeItem = ({
|
|
5524
|
+
node,
|
|
5525
|
+
depth,
|
|
5526
|
+
indent,
|
|
5527
|
+
selectedPath,
|
|
5528
|
+
onFileSelect,
|
|
5529
|
+
defaultExpanded = false
|
|
5530
|
+
}) => {
|
|
5531
|
+
const [expanded, setExpanded] = useState(defaultExpanded || depth < 1);
|
|
5532
|
+
const isDir = node.type === "dir";
|
|
5533
|
+
const isSelected = node.path === selectedPath;
|
|
5534
|
+
const handleClick = useCallback(() => {
|
|
5535
|
+
if (isDir) {
|
|
5536
|
+
setExpanded((prev) => !prev);
|
|
5537
|
+
} else {
|
|
5538
|
+
onFileSelect?.(node.path);
|
|
5539
|
+
}
|
|
5540
|
+
}, [isDir, node.path, onFileSelect]);
|
|
5541
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5542
|
+
/* @__PURE__ */ jsxs(
|
|
5543
|
+
Box,
|
|
5544
|
+
{
|
|
5545
|
+
className: `flex items-center gap-1.5 py-0.5 px-2 cursor-pointer rounded-sm transition-colors ${isSelected ? "bg-[var(--color-primary)] bg-opacity-15 text-[var(--color-primary)]" : "hover:bg-[var(--color-muted)] hover:bg-opacity-30"}`,
|
|
5546
|
+
style: { paddingLeft: depth * indent + 8 },
|
|
5547
|
+
onClick: handleClick,
|
|
5548
|
+
role: "treeitem",
|
|
5549
|
+
"aria-selected": isSelected,
|
|
5550
|
+
"aria-expanded": isDir ? expanded : void 0,
|
|
5551
|
+
children: [
|
|
5552
|
+
isDir ? /* @__PURE__ */ jsx(
|
|
5553
|
+
Icon,
|
|
5554
|
+
{
|
|
5555
|
+
name: expanded ? "chevron-down" : "chevron-right",
|
|
5556
|
+
size: "xs",
|
|
5557
|
+
className: "text-[var(--color-muted-foreground)] flex-shrink-0"
|
|
5558
|
+
}
|
|
5559
|
+
) : /* @__PURE__ */ jsx(Box, { style: { width: 12, flexShrink: 0 } }),
|
|
5560
|
+
/* @__PURE__ */ jsx(
|
|
5561
|
+
Icon,
|
|
5562
|
+
{
|
|
5563
|
+
name: isDir ? expanded ? "folder-open" : "folder" : fileIcon(node.name),
|
|
5564
|
+
size: "xs",
|
|
5565
|
+
className: isDir ? "text-[var(--color-warning)]" : "text-[var(--color-muted-foreground)]"
|
|
5566
|
+
}
|
|
5567
|
+
),
|
|
5568
|
+
/* @__PURE__ */ jsx(
|
|
5569
|
+
Typography,
|
|
5570
|
+
{
|
|
5571
|
+
variant: "caption",
|
|
5572
|
+
className: `truncate font-mono text-[11px] ${isSelected ? "font-semibold" : ""}`,
|
|
5573
|
+
children: node.name
|
|
5574
|
+
}
|
|
5575
|
+
),
|
|
5576
|
+
!isDir && node.size !== void 0 && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-[var(--color-muted-foreground)] text-[9px] ml-auto flex-shrink-0", children: node.size < 1024 ? `${node.size}B` : `${Math.round(node.size / 1024)}KB` })
|
|
5577
|
+
]
|
|
5578
|
+
}
|
|
5579
|
+
),
|
|
5580
|
+
isDir && expanded && node.children && /* @__PURE__ */ jsx(Box, { role: "group", children: node.children.map((child) => /* @__PURE__ */ jsx(
|
|
5581
|
+
TreeNodeItem,
|
|
5582
|
+
{
|
|
5583
|
+
node: child,
|
|
5584
|
+
depth: depth + 1,
|
|
5585
|
+
indent,
|
|
5586
|
+
selectedPath,
|
|
5587
|
+
onFileSelect,
|
|
5588
|
+
defaultExpanded: depth < 0
|
|
5589
|
+
},
|
|
5590
|
+
child.path
|
|
5591
|
+
)) })
|
|
5592
|
+
] });
|
|
5593
|
+
};
|
|
5594
|
+
var FileTree = ({
|
|
5595
|
+
tree,
|
|
5596
|
+
selectedPath,
|
|
5597
|
+
onFileSelect,
|
|
5598
|
+
className,
|
|
5599
|
+
indent = 16
|
|
5600
|
+
}) => {
|
|
5601
|
+
if (tree.length === 0) {
|
|
5602
|
+
return /* @__PURE__ */ jsx(Box, { className: `p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "muted", children: "No files" }) });
|
|
5603
|
+
}
|
|
5604
|
+
return /* @__PURE__ */ jsx(Box, { className: `py-1 overflow-y-auto ${className ?? ""}`, role: "tree", children: tree.map((node) => /* @__PURE__ */ jsx(
|
|
5605
|
+
TreeNodeItem,
|
|
5606
|
+
{
|
|
5607
|
+
node,
|
|
5608
|
+
depth: 0,
|
|
5609
|
+
indent,
|
|
5610
|
+
selectedPath,
|
|
5611
|
+
onFileSelect,
|
|
5612
|
+
defaultExpanded: true
|
|
5613
|
+
},
|
|
5614
|
+
node.path
|
|
5615
|
+
)) });
|
|
5616
|
+
};
|
|
5617
|
+
FileTree.displayName = "FileTree";
|
|
5497
5618
|
|
|
5498
5619
|
// components/molecules/FormField.tsx
|
|
5499
5620
|
init_cn();
|
|
@@ -7246,8 +7367,8 @@ var Menu = ({
|
|
|
7246
7367
|
"bottom-start": "top-full left-0 mt-2",
|
|
7247
7368
|
"bottom-end": "top-full right-0 mt-2"
|
|
7248
7369
|
};
|
|
7249
|
-
const triggerChild =
|
|
7250
|
-
const triggerElement =
|
|
7370
|
+
const triggerChild = React91__default.isValidElement(trigger) ? trigger : /* @__PURE__ */ jsx("span", { children: trigger });
|
|
7371
|
+
const triggerElement = React91__default.cloneElement(
|
|
7251
7372
|
triggerChild,
|
|
7252
7373
|
{
|
|
7253
7374
|
ref: triggerRef,
|
|
@@ -7780,8 +7901,8 @@ var Popover = ({
|
|
|
7780
7901
|
onMouseEnter: handleOpen,
|
|
7781
7902
|
onMouseLeave: handleClose
|
|
7782
7903
|
};
|
|
7783
|
-
const childElement =
|
|
7784
|
-
const triggerElement =
|
|
7904
|
+
const childElement = React91__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
7905
|
+
const triggerElement = React91__default.cloneElement(
|
|
7785
7906
|
childElement,
|
|
7786
7907
|
{
|
|
7787
7908
|
ref: triggerRef,
|
|
@@ -8558,8 +8679,8 @@ var Tooltip = ({
|
|
|
8558
8679
|
if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
|
|
8559
8680
|
};
|
|
8560
8681
|
}, []);
|
|
8561
|
-
const triggerElement =
|
|
8562
|
-
const trigger =
|
|
8682
|
+
const triggerElement = React91__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
8683
|
+
const trigger = React91__default.cloneElement(triggerElement, {
|
|
8563
8684
|
ref: triggerRef,
|
|
8564
8685
|
onMouseEnter: handleMouseEnter,
|
|
8565
8686
|
onMouseLeave: handleMouseLeave,
|
|
@@ -8816,7 +8937,7 @@ var WizardProgress = ({
|
|
|
8816
8937
|
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: steps.map((step, index) => {
|
|
8817
8938
|
const isActive = index === currentStep;
|
|
8818
8939
|
const isCompleted = index < currentStep;
|
|
8819
|
-
return /* @__PURE__ */ jsxs(
|
|
8940
|
+
return /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
8820
8941
|
/* @__PURE__ */ jsx(
|
|
8821
8942
|
"button",
|
|
8822
8943
|
{
|
|
@@ -8950,7 +9071,7 @@ var WizardNavigation = ({
|
|
|
8950
9071
|
};
|
|
8951
9072
|
WizardNavigation.displayName = "WizardNavigation";
|
|
8952
9073
|
init_cn();
|
|
8953
|
-
var MarkdownContent =
|
|
9074
|
+
var MarkdownContent = React91__default.memo(
|
|
8954
9075
|
({ content, direction, className }) => {
|
|
8955
9076
|
const { t: _t } = useTranslate();
|
|
8956
9077
|
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
@@ -9156,7 +9277,7 @@ function computeFoldRegions(code) {
|
|
|
9156
9277
|
}
|
|
9157
9278
|
var LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
|
|
9158
9279
|
var HIDDEN_LINE_NUMBERS = { display: "none" };
|
|
9159
|
-
var CodeBlock =
|
|
9280
|
+
var CodeBlock = React91__default.memo(
|
|
9160
9281
|
({
|
|
9161
9282
|
code: rawCode,
|
|
9162
9283
|
language = "text",
|
|
@@ -10578,8 +10699,8 @@ function DPad({
|
|
|
10578
10699
|
}) {
|
|
10579
10700
|
const eventBus = useEventBus();
|
|
10580
10701
|
const sizes = sizeMap15[size];
|
|
10581
|
-
const [activeDirections, setActiveDirections] =
|
|
10582
|
-
const handlePress =
|
|
10702
|
+
const [activeDirections, setActiveDirections] = React91.useState(/* @__PURE__ */ new Set());
|
|
10703
|
+
const handlePress = React91.useCallback(
|
|
10583
10704
|
(direction) => {
|
|
10584
10705
|
setActiveDirections((prev) => new Set(prev).add(direction));
|
|
10585
10706
|
if (directionEvent) eventBus.emit(`UI:${directionEvent}`, { direction, pressed: true });
|
|
@@ -10587,7 +10708,7 @@ function DPad({
|
|
|
10587
10708
|
},
|
|
10588
10709
|
[directionEvent, eventBus, onDirection]
|
|
10589
10710
|
);
|
|
10590
|
-
const handleRelease =
|
|
10711
|
+
const handleRelease = React91.useCallback(
|
|
10591
10712
|
(direction) => {
|
|
10592
10713
|
setActiveDirections((prev) => {
|
|
10593
10714
|
const next = new Set(prev);
|
|
@@ -10649,8 +10770,8 @@ function ActionButtons({
|
|
|
10649
10770
|
disabled
|
|
10650
10771
|
}) {
|
|
10651
10772
|
const eventBus = useEventBus();
|
|
10652
|
-
const [activeButtons, setActiveButtons] =
|
|
10653
|
-
const handlePress =
|
|
10773
|
+
const [activeButtons, setActiveButtons] = React91.useState(/* @__PURE__ */ new Set());
|
|
10774
|
+
const handlePress = React91.useCallback(
|
|
10654
10775
|
(id) => {
|
|
10655
10776
|
setActiveButtons((prev) => new Set(prev).add(id));
|
|
10656
10777
|
if (actionEvent) eventBus.emit(`UI:${actionEvent}`, { id, pressed: true });
|
|
@@ -10658,7 +10779,7 @@ function ActionButtons({
|
|
|
10658
10779
|
},
|
|
10659
10780
|
[actionEvent, eventBus, onAction]
|
|
10660
10781
|
);
|
|
10661
|
-
const handleRelease =
|
|
10782
|
+
const handleRelease = React91.useCallback(
|
|
10662
10783
|
(id) => {
|
|
10663
10784
|
setActiveButtons((prev) => {
|
|
10664
10785
|
const next = new Set(prev);
|
|
@@ -10850,7 +10971,7 @@ function InventoryGrid({
|
|
|
10850
10971
|
const eventBus = useEventBus();
|
|
10851
10972
|
const slotCount = totalSlots ?? items.length;
|
|
10852
10973
|
const emptySlotCount = Math.max(0, slotCount - items.length);
|
|
10853
|
-
const handleSelect =
|
|
10974
|
+
const handleSelect = React91.useCallback(
|
|
10854
10975
|
(id) => {
|
|
10855
10976
|
onSelect?.(id);
|
|
10856
10977
|
if (selectEvent) {
|
|
@@ -10982,7 +11103,7 @@ function CraftingRecipe({
|
|
|
10982
11103
|
className
|
|
10983
11104
|
}) {
|
|
10984
11105
|
const eventBus = useEventBus();
|
|
10985
|
-
const handleCraft =
|
|
11106
|
+
const handleCraft = React91.useCallback(() => {
|
|
10986
11107
|
onCraft?.();
|
|
10987
11108
|
if (craftEvent) {
|
|
10988
11109
|
eventBus.emit(craftEvent, { output: output.label });
|
|
@@ -10999,7 +11120,7 @@ function CraftingRecipe({
|
|
|
10999
11120
|
children: [
|
|
11000
11121
|
/* @__PURE__ */ jsx(HStack, { gap: "xs", className: "flex-wrap items-center", children: inputs.map((ingredient, index) => {
|
|
11001
11122
|
const hasSufficient = ingredient.available >= ingredient.required;
|
|
11002
|
-
return /* @__PURE__ */ jsxs(
|
|
11123
|
+
return /* @__PURE__ */ jsxs(React91.Fragment, { children: [
|
|
11003
11124
|
/* @__PURE__ */ jsx(Box, { className: "relative", children: /* @__PURE__ */ jsx(
|
|
11004
11125
|
ItemSlot,
|
|
11005
11126
|
{
|
|
@@ -11108,15 +11229,15 @@ function GameCanvas2D({
|
|
|
11108
11229
|
fps = 60,
|
|
11109
11230
|
className
|
|
11110
11231
|
}) {
|
|
11111
|
-
const canvasRef =
|
|
11112
|
-
const rafRef =
|
|
11113
|
-
const frameRef =
|
|
11114
|
-
const lastTimeRef =
|
|
11115
|
-
const onDrawRef =
|
|
11232
|
+
const canvasRef = React91.useRef(null);
|
|
11233
|
+
const rafRef = React91.useRef(0);
|
|
11234
|
+
const frameRef = React91.useRef(0);
|
|
11235
|
+
const lastTimeRef = React91.useRef(0);
|
|
11236
|
+
const onDrawRef = React91.useRef(onDraw);
|
|
11116
11237
|
onDrawRef.current = onDraw;
|
|
11117
|
-
const onTickRef =
|
|
11238
|
+
const onTickRef = React91.useRef(onTick);
|
|
11118
11239
|
onTickRef.current = onTick;
|
|
11119
|
-
|
|
11240
|
+
React91.useEffect(() => {
|
|
11120
11241
|
const canvas = canvasRef.current;
|
|
11121
11242
|
if (!canvas) return;
|
|
11122
11243
|
const ctx = canvas.getContext("2d");
|
|
@@ -11383,7 +11504,7 @@ function TurnPanel({
|
|
|
11383
11504
|
className
|
|
11384
11505
|
}) {
|
|
11385
11506
|
const eventBus = useEventBus();
|
|
11386
|
-
const handleAction =
|
|
11507
|
+
const handleAction = React91.useCallback(
|
|
11387
11508
|
(event) => {
|
|
11388
11509
|
if (event) {
|
|
11389
11510
|
eventBus.emit(event, { turn: currentTurn, phase, activeTeam });
|
|
@@ -11517,7 +11638,7 @@ function UnitCommandBar({
|
|
|
11517
11638
|
className
|
|
11518
11639
|
}) {
|
|
11519
11640
|
const eventBus = useEventBus();
|
|
11520
|
-
const handleCommand =
|
|
11641
|
+
const handleCommand = React91.useCallback(
|
|
11521
11642
|
(event) => {
|
|
11522
11643
|
if (event) {
|
|
11523
11644
|
eventBus.emit(event, { unitId: selectedUnitId });
|
|
@@ -12072,7 +12193,7 @@ function GameMenu({
|
|
|
12072
12193
|
} catch {
|
|
12073
12194
|
}
|
|
12074
12195
|
const eventBus = eventBusProp || eventBusFromHook;
|
|
12075
|
-
const handleOptionClick =
|
|
12196
|
+
const handleOptionClick = React91.useCallback(
|
|
12076
12197
|
(option) => {
|
|
12077
12198
|
if (option.event && eventBus) {
|
|
12078
12199
|
eventBus.emit(`UI:${option.event}`, { option });
|
|
@@ -12199,7 +12320,7 @@ function GameOverScreen({
|
|
|
12199
12320
|
} catch {
|
|
12200
12321
|
}
|
|
12201
12322
|
const eventBus = eventBusProp || eventBusFromHook;
|
|
12202
|
-
const handleActionClick =
|
|
12323
|
+
const handleActionClick = React91.useCallback(
|
|
12203
12324
|
(action) => {
|
|
12204
12325
|
if (action.event && eventBus) {
|
|
12205
12326
|
eventBus.emit(`UI:${action.event}`, { action });
|
|
@@ -13858,7 +13979,7 @@ var MapViewImpl = lazy(async () => {
|
|
|
13858
13979
|
shadowSize: [41, 41]
|
|
13859
13980
|
});
|
|
13860
13981
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
13861
|
-
const { useEffect: useEffect66, useRef: useRef64, useCallback:
|
|
13982
|
+
const { useEffect: useEffect66, useRef: useRef64, useCallback: useCallback114, useState: useState99 } = React91__default;
|
|
13862
13983
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
13863
13984
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
13864
13985
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
@@ -13902,8 +14023,8 @@ var MapViewImpl = lazy(async () => {
|
|
|
13902
14023
|
showAttribution = true
|
|
13903
14024
|
}) {
|
|
13904
14025
|
const eventBus = useEventBus2();
|
|
13905
|
-
const [clickedPosition, setClickedPosition] =
|
|
13906
|
-
const handleMapClick =
|
|
14026
|
+
const [clickedPosition, setClickedPosition] = useState99(null);
|
|
14027
|
+
const handleMapClick = useCallback114((lat, lng) => {
|
|
13907
14028
|
if (showClickedPin) {
|
|
13908
14029
|
setClickedPosition({ lat, lng });
|
|
13909
14030
|
}
|
|
@@ -13912,7 +14033,7 @@ var MapViewImpl = lazy(async () => {
|
|
|
13912
14033
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
13913
14034
|
}
|
|
13914
14035
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
13915
|
-
const handleMarkerClick =
|
|
14036
|
+
const handleMarkerClick = useCallback114((marker) => {
|
|
13916
14037
|
onMarkerClick?.(marker);
|
|
13917
14038
|
if (markerClickEvent) {
|
|
13918
14039
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -15088,7 +15209,7 @@ var DataList = ({
|
|
|
15088
15209
|
}) => {
|
|
15089
15210
|
const eventBus = useEventBus();
|
|
15090
15211
|
const { t } = useTranslate();
|
|
15091
|
-
const [visibleCount, setVisibleCount] =
|
|
15212
|
+
const [visibleCount, setVisibleCount] = React91__default.useState(pageSize || Infinity);
|
|
15092
15213
|
const fields = fieldsProp ?? columnsProp ?? [];
|
|
15093
15214
|
const allData = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
15094
15215
|
const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
|
|
@@ -15125,7 +15246,7 @@ var DataList = ({
|
|
|
15125
15246
|
const items2 = data.map((item) => item);
|
|
15126
15247
|
const groups2 = groupBy ? groupData(items2, groupBy) : [{ label: "", items: items2 }];
|
|
15127
15248
|
const contentField = titleField?.name ?? fields[0]?.name ?? "";
|
|
15128
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "sm", className: cn("py-2", className), children: groups2.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
15249
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "sm", className: cn("py-2", className), children: groups2.map((group, gi) => /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
15129
15250
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
|
|
15130
15251
|
group.items.map((itemData, index) => {
|
|
15131
15252
|
const id = itemData.id || `${gi}-${index}`;
|
|
@@ -15328,7 +15449,7 @@ var DataList = ({
|
|
|
15328
15449
|
className
|
|
15329
15450
|
),
|
|
15330
15451
|
children: [
|
|
15331
|
-
groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
15452
|
+
groups.map((group, gi) => /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
15332
15453
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-4" : "mt-0" }),
|
|
15333
15454
|
group.items.map(
|
|
15334
15455
|
(itemData, index) => renderItem(itemData, index, gi === groups.length - 1 && index === group.items.length - 1)
|
|
@@ -17138,7 +17259,7 @@ var StepFlow = ({
|
|
|
17138
17259
|
className
|
|
17139
17260
|
}) => {
|
|
17140
17261
|
if (orientation === "vertical") {
|
|
17141
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(
|
|
17262
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(React91__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
|
|
17142
17263
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", align: "center", children: [
|
|
17143
17264
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
17144
17265
|
showConnectors && index < steps.length - 1 && /* @__PURE__ */ jsx(Box, { className: "w-px h-8 bg-border" })
|
|
@@ -17149,7 +17270,7 @@ var StepFlow = ({
|
|
|
17149
17270
|
] })
|
|
17150
17271
|
] }) }, index)) });
|
|
17151
17272
|
}
|
|
17152
|
-
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(
|
|
17273
|
+
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(React91__default.Fragment, { children: [
|
|
17153
17274
|
/* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", className: "flex-1 w-full md:w-auto", children: [
|
|
17154
17275
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
17155
17276
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-center", children: step.title }),
|
|
@@ -18349,7 +18470,7 @@ var StatCard = ({
|
|
|
18349
18470
|
const labelToUse = propLabel ?? propTitle;
|
|
18350
18471
|
const eventBus = useEventBus();
|
|
18351
18472
|
const { t } = useTranslate();
|
|
18352
|
-
const handleActionClick =
|
|
18473
|
+
const handleActionClick = React91__default.useCallback(() => {
|
|
18353
18474
|
if (action?.event) {
|
|
18354
18475
|
eventBus.emit(`UI:${action.event}`, {});
|
|
18355
18476
|
}
|
|
@@ -18360,7 +18481,7 @@ var StatCard = ({
|
|
|
18360
18481
|
const data = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
18361
18482
|
const isLoading = externalLoading ?? false;
|
|
18362
18483
|
const error = externalError;
|
|
18363
|
-
const computeMetricValue =
|
|
18484
|
+
const computeMetricValue = React91__default.useCallback(
|
|
18364
18485
|
(metric, items) => {
|
|
18365
18486
|
if (metric.value !== void 0) {
|
|
18366
18487
|
return metric.value;
|
|
@@ -18399,7 +18520,7 @@ var StatCard = ({
|
|
|
18399
18520
|
},
|
|
18400
18521
|
[]
|
|
18401
18522
|
);
|
|
18402
|
-
const schemaStats =
|
|
18523
|
+
const schemaStats = React91__default.useMemo(() => {
|
|
18403
18524
|
if (!metrics || metrics.length === 0) return null;
|
|
18404
18525
|
return metrics.map((metric) => ({
|
|
18405
18526
|
label: metric.label,
|
|
@@ -18407,7 +18528,7 @@ var StatCard = ({
|
|
|
18407
18528
|
format: metric.format
|
|
18408
18529
|
}));
|
|
18409
18530
|
}, [metrics, data, computeMetricValue]);
|
|
18410
|
-
const calculatedTrend =
|
|
18531
|
+
const calculatedTrend = React91__default.useMemo(() => {
|
|
18411
18532
|
if (manualTrend !== void 0) return manualTrend;
|
|
18412
18533
|
if (previousValue === void 0 || currentValue === void 0)
|
|
18413
18534
|
return void 0;
|
|
@@ -18576,7 +18697,7 @@ var PageHeader = ({
|
|
|
18576
18697
|
info: "bg-info/10 text-info"
|
|
18577
18698
|
};
|
|
18578
18699
|
return /* @__PURE__ */ jsxs(Box, { className: cn("mb-6", className), children: [
|
|
18579
|
-
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(
|
|
18700
|
+
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(React91__default.Fragment, { children: [
|
|
18580
18701
|
idx > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "muted", children: "/" }),
|
|
18581
18702
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
18582
18703
|
"a",
|
|
@@ -19109,7 +19230,7 @@ var FormSection = ({
|
|
|
19109
19230
|
columns = 1,
|
|
19110
19231
|
className
|
|
19111
19232
|
}) => {
|
|
19112
|
-
const [collapsed, setCollapsed] =
|
|
19233
|
+
const [collapsed, setCollapsed] = React91__default.useState(defaultCollapsed);
|
|
19113
19234
|
const { t } = useTranslate();
|
|
19114
19235
|
const eventBus = useEventBus();
|
|
19115
19236
|
const gridClass = {
|
|
@@ -19117,7 +19238,7 @@ var FormSection = ({
|
|
|
19117
19238
|
2: "grid-cols-1 md:grid-cols-2",
|
|
19118
19239
|
3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3"
|
|
19119
19240
|
}[columns];
|
|
19120
|
-
|
|
19241
|
+
React91__default.useCallback(() => {
|
|
19121
19242
|
if (collapsible) {
|
|
19122
19243
|
setCollapsed((prev) => !prev);
|
|
19123
19244
|
eventBus.emit("UI:TOGGLE_COLLAPSE", { collapsed: !collapsed });
|
|
@@ -19334,7 +19455,7 @@ var Form = ({
|
|
|
19334
19455
|
const normalizedInitialData = initialData ?? {};
|
|
19335
19456
|
const resolvedEntity = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
|
|
19336
19457
|
const entityName = typeof entity === "string" ? entity : resolvedEntity?.name;
|
|
19337
|
-
const entityDerivedFields =
|
|
19458
|
+
const entityDerivedFields = React91__default.useMemo(() => {
|
|
19338
19459
|
if (fields && fields.length > 0) return void 0;
|
|
19339
19460
|
if (!resolvedEntity) return void 0;
|
|
19340
19461
|
return resolvedEntity.fields.map(
|
|
@@ -19353,14 +19474,14 @@ var Form = ({
|
|
|
19353
19474
|
const conditionalFields = typeof conditionalFieldsRaw === "boolean" ? {} : conditionalFieldsRaw;
|
|
19354
19475
|
const hiddenCalculations = typeof hiddenCalculationsRaw === "boolean" ? [] : hiddenCalculationsRaw;
|
|
19355
19476
|
const violationTriggers = typeof violationTriggersRaw === "boolean" ? [] : violationTriggersRaw;
|
|
19356
|
-
const [formData, setFormData] =
|
|
19477
|
+
const [formData, setFormData] = React91__default.useState(
|
|
19357
19478
|
normalizedInitialData
|
|
19358
19479
|
);
|
|
19359
|
-
const [collapsedSections, setCollapsedSections] =
|
|
19480
|
+
const [collapsedSections, setCollapsedSections] = React91__default.useState(
|
|
19360
19481
|
/* @__PURE__ */ new Set()
|
|
19361
19482
|
);
|
|
19362
19483
|
const shouldShowCancel = showCancel ?? (fields && fields.length > 0);
|
|
19363
|
-
const evalContext =
|
|
19484
|
+
const evalContext = React91__default.useMemo(
|
|
19364
19485
|
() => ({
|
|
19365
19486
|
formValues: formData,
|
|
19366
19487
|
globalVariables: externalContext?.globalVariables ?? {},
|
|
@@ -19369,13 +19490,13 @@ var Form = ({
|
|
|
19369
19490
|
}),
|
|
19370
19491
|
[formData, externalContext]
|
|
19371
19492
|
);
|
|
19372
|
-
|
|
19493
|
+
React91__default.useEffect(() => {
|
|
19373
19494
|
const data = initialData;
|
|
19374
19495
|
if (data && Object.keys(data).length > 0) {
|
|
19375
19496
|
setFormData(data);
|
|
19376
19497
|
}
|
|
19377
19498
|
}, [initialData]);
|
|
19378
|
-
const processCalculations =
|
|
19499
|
+
const processCalculations = React91__default.useCallback(
|
|
19379
19500
|
(changedFieldId, newFormData) => {
|
|
19380
19501
|
if (!hiddenCalculations.length) return;
|
|
19381
19502
|
const context = {
|
|
@@ -19400,7 +19521,7 @@ var Form = ({
|
|
|
19400
19521
|
},
|
|
19401
19522
|
[hiddenCalculations, externalContext, eventBus]
|
|
19402
19523
|
);
|
|
19403
|
-
const checkViolations =
|
|
19524
|
+
const checkViolations = React91__default.useCallback(
|
|
19404
19525
|
(changedFieldId, newFormData) => {
|
|
19405
19526
|
if (!violationTriggers.length) return;
|
|
19406
19527
|
const context = {
|
|
@@ -19437,7 +19558,7 @@ var Form = ({
|
|
|
19437
19558
|
processCalculations(name, newFormData);
|
|
19438
19559
|
checkViolations(name, newFormData);
|
|
19439
19560
|
};
|
|
19440
|
-
const isFieldVisible =
|
|
19561
|
+
const isFieldVisible = React91__default.useCallback(
|
|
19441
19562
|
(fieldName) => {
|
|
19442
19563
|
const condition = conditionalFields[fieldName];
|
|
19443
19564
|
if (!condition) return true;
|
|
@@ -19445,7 +19566,7 @@ var Form = ({
|
|
|
19445
19566
|
},
|
|
19446
19567
|
[conditionalFields, evalContext]
|
|
19447
19568
|
);
|
|
19448
|
-
const isSectionVisible =
|
|
19569
|
+
const isSectionVisible = React91__default.useCallback(
|
|
19449
19570
|
(section) => {
|
|
19450
19571
|
if (!section.condition) return true;
|
|
19451
19572
|
return Boolean(evaluateFormExpression(section.condition, evalContext));
|
|
@@ -19477,7 +19598,7 @@ var Form = ({
|
|
|
19477
19598
|
eventBus.emit(`UI:${onCancel}`);
|
|
19478
19599
|
}
|
|
19479
19600
|
};
|
|
19480
|
-
const renderField =
|
|
19601
|
+
const renderField = React91__default.useCallback(
|
|
19481
19602
|
(field) => {
|
|
19482
19603
|
const fieldName = field.name || field.field;
|
|
19483
19604
|
if (!fieldName) return null;
|
|
@@ -19498,7 +19619,7 @@ var Form = ({
|
|
|
19498
19619
|
[formData, isFieldVisible, relationsData, relationsLoading, isLoading]
|
|
19499
19620
|
);
|
|
19500
19621
|
const effectiveFields = entityDerivedFields ?? fields;
|
|
19501
|
-
const normalizedFields =
|
|
19622
|
+
const normalizedFields = React91__default.useMemo(() => {
|
|
19502
19623
|
if (!effectiveFields || effectiveFields.length === 0) return [];
|
|
19503
19624
|
return effectiveFields.map((field) => {
|
|
19504
19625
|
if (typeof field === "string") {
|
|
@@ -19520,7 +19641,7 @@ var Form = ({
|
|
|
19520
19641
|
return field;
|
|
19521
19642
|
});
|
|
19522
19643
|
}, [effectiveFields, resolvedEntity]);
|
|
19523
|
-
const schemaFields =
|
|
19644
|
+
const schemaFields = React91__default.useMemo(() => {
|
|
19524
19645
|
if (normalizedFields.length === 0) return null;
|
|
19525
19646
|
if (isDebugEnabled()) {
|
|
19526
19647
|
debugGroup(`Form: ${entityName || "unknown"}`);
|
|
@@ -19530,7 +19651,7 @@ var Form = ({
|
|
|
19530
19651
|
}
|
|
19531
19652
|
return normalizedFields.map(renderField).filter(Boolean);
|
|
19532
19653
|
}, [normalizedFields, renderField, entityName, conditionalFields]);
|
|
19533
|
-
const sectionElements =
|
|
19654
|
+
const sectionElements = React91__default.useMemo(() => {
|
|
19534
19655
|
if (!sections || sections.length === 0) return null;
|
|
19535
19656
|
return sections.map((section) => {
|
|
19536
19657
|
if (!isSectionVisible(section)) {
|
|
@@ -20675,7 +20796,7 @@ var List = ({
|
|
|
20675
20796
|
if (entity && typeof entity === "object" && "id" in entity) return [entity];
|
|
20676
20797
|
return [];
|
|
20677
20798
|
}, [entity]);
|
|
20678
|
-
const getItemActions =
|
|
20799
|
+
const getItemActions = React91__default.useCallback(
|
|
20679
20800
|
(item) => {
|
|
20680
20801
|
if (!itemActions) return [];
|
|
20681
20802
|
if (typeof itemActions === "function") {
|
|
@@ -21450,7 +21571,7 @@ var WizardContainer = ({
|
|
|
21450
21571
|
const isCompleted = index < currentStep;
|
|
21451
21572
|
const stepKey = step.id ?? step.tabId ?? `step-${index}`;
|
|
21452
21573
|
const stepTitle = step.title ?? step.name ?? `Step ${index + 1}`;
|
|
21453
|
-
return /* @__PURE__ */ jsxs(
|
|
21574
|
+
return /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
21454
21575
|
/* @__PURE__ */ jsx(
|
|
21455
21576
|
Button,
|
|
21456
21577
|
{
|
|
@@ -22679,7 +22800,7 @@ var StateMachineView = ({
|
|
|
22679
22800
|
style: { top: title ? 30 : 0 },
|
|
22680
22801
|
children: [
|
|
22681
22802
|
entity && /* @__PURE__ */ jsx(EntityBox, { entity, config }),
|
|
22682
|
-
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(
|
|
22803
|
+
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(React91__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__PURE__ */ jsx(
|
|
22683
22804
|
StateNode,
|
|
22684
22805
|
{
|
|
22685
22806
|
state,
|
|
@@ -27190,7 +27311,7 @@ function LinearView({
|
|
|
27190
27311
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
27191
27312
|
const isDone = i < currentIdx;
|
|
27192
27313
|
const isCurrent = i === currentIdx;
|
|
27193
|
-
return /* @__PURE__ */ jsxs(
|
|
27314
|
+
return /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
27194
27315
|
i > 0 && /* @__PURE__ */ jsx(
|
|
27195
27316
|
Typography,
|
|
27196
27317
|
{
|
|
@@ -27857,7 +27978,7 @@ function SequenceBar({
|
|
|
27857
27978
|
onSlotRemove(index);
|
|
27858
27979
|
}, [onSlotRemove, playing]);
|
|
27859
27980
|
const paddedSlots = Array.from({ length: maxSlots }, (_, i) => slots[i]);
|
|
27860
|
-
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(
|
|
27981
|
+
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(React91__default.Fragment, { children: [
|
|
27861
27982
|
i > 0 && /* @__PURE__ */ jsx(
|
|
27862
27983
|
Typography,
|
|
27863
27984
|
{
|
|
@@ -30382,7 +30503,7 @@ function InputPattern({
|
|
|
30382
30503
|
className
|
|
30383
30504
|
}) {
|
|
30384
30505
|
const { emit } = useEventBus();
|
|
30385
|
-
const [localValue, setLocalValue] =
|
|
30506
|
+
const [localValue, setLocalValue] = React91__default.useState(value);
|
|
30386
30507
|
const handleChange = (e) => {
|
|
30387
30508
|
setLocalValue(e.target.value);
|
|
30388
30509
|
if (onChange) {
|
|
@@ -30419,7 +30540,7 @@ function TextareaPattern({
|
|
|
30419
30540
|
className
|
|
30420
30541
|
}) {
|
|
30421
30542
|
const { emit } = useEventBus();
|
|
30422
|
-
const [localValue, setLocalValue] =
|
|
30543
|
+
const [localValue, setLocalValue] = React91__default.useState(value);
|
|
30423
30544
|
const handleChange = (e) => {
|
|
30424
30545
|
setLocalValue(e.target.value);
|
|
30425
30546
|
if (onChange) {
|
|
@@ -30450,7 +30571,7 @@ function SelectPattern({
|
|
|
30450
30571
|
className
|
|
30451
30572
|
}) {
|
|
30452
30573
|
const { emit } = useEventBus();
|
|
30453
|
-
const [localValue, setLocalValue] =
|
|
30574
|
+
const [localValue, setLocalValue] = React91__default.useState(value);
|
|
30454
30575
|
const handleChange = (e) => {
|
|
30455
30576
|
setLocalValue(e.target.value);
|
|
30456
30577
|
if (onChange) {
|
|
@@ -30479,7 +30600,7 @@ function CheckboxPattern({
|
|
|
30479
30600
|
className
|
|
30480
30601
|
}) {
|
|
30481
30602
|
const { emit } = useEventBus();
|
|
30482
|
-
const [localChecked, setLocalChecked] =
|
|
30603
|
+
const [localChecked, setLocalChecked] = React91__default.useState(checked);
|
|
30483
30604
|
const handleChange = (e) => {
|
|
30484
30605
|
setLocalChecked(e.target.checked);
|
|
30485
30606
|
if (onChange) {
|
|
@@ -32391,7 +32512,7 @@ var DocumentViewer = ({
|
|
|
32391
32512
|
DocumentViewer.displayName = "DocumentViewer";
|
|
32392
32513
|
init_useEventBus();
|
|
32393
32514
|
function extractTitle(children) {
|
|
32394
|
-
if (!
|
|
32515
|
+
if (!React91__default.isValidElement(children)) return void 0;
|
|
32395
32516
|
const props = children.props;
|
|
32396
32517
|
if (typeof props.title === "string") {
|
|
32397
32518
|
return props.title;
|
|
@@ -33009,7 +33130,7 @@ var MediaGallery = ({
|
|
|
33009
33130
|
[selectable, selectedItems, selectionEvent, eventBus]
|
|
33010
33131
|
);
|
|
33011
33132
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
33012
|
-
const items =
|
|
33133
|
+
const items = React91__default.useMemo(() => {
|
|
33013
33134
|
if (propItems) return propItems;
|
|
33014
33135
|
if (entityData.length === 0) return [];
|
|
33015
33136
|
return entityData.map((record, idx) => ({
|
|
@@ -33172,7 +33293,7 @@ var MediaGallery = ({
|
|
|
33172
33293
|
MediaGallery.displayName = "MediaGallery";
|
|
33173
33294
|
init_useEventBus();
|
|
33174
33295
|
function extractTitle2(children) {
|
|
33175
|
-
if (!
|
|
33296
|
+
if (!React91__default.isValidElement(children)) return void 0;
|
|
33176
33297
|
const props = children.props;
|
|
33177
33298
|
if (typeof props.title === "string") {
|
|
33178
33299
|
return props.title;
|
|
@@ -33261,7 +33382,7 @@ function subscribeToDebugEvents(listener) {
|
|
|
33261
33382
|
|
|
33262
33383
|
// components/organisms/debug/hooks/useDebugData.ts
|
|
33263
33384
|
function useDebugData() {
|
|
33264
|
-
const [data, setData] =
|
|
33385
|
+
const [data, setData] = React91.useState(() => ({
|
|
33265
33386
|
traits: [],
|
|
33266
33387
|
ticks: [],
|
|
33267
33388
|
guards: [],
|
|
@@ -33275,7 +33396,7 @@ function useDebugData() {
|
|
|
33275
33396
|
},
|
|
33276
33397
|
lastUpdate: Date.now()
|
|
33277
33398
|
}));
|
|
33278
|
-
|
|
33399
|
+
React91.useEffect(() => {
|
|
33279
33400
|
const updateData = () => {
|
|
33280
33401
|
setData({
|
|
33281
33402
|
traits: getAllTraits(),
|
|
@@ -33372,12 +33493,12 @@ function layoutGraph(states, transitions, initialState, width, height) {
|
|
|
33372
33493
|
return positions;
|
|
33373
33494
|
}
|
|
33374
33495
|
function WalkMinimap() {
|
|
33375
|
-
const [walkStep, setWalkStep] =
|
|
33376
|
-
const [traits2, setTraits] =
|
|
33377
|
-
const [coveredEdges, setCoveredEdges] =
|
|
33378
|
-
const [completedTraits, setCompletedTraits] =
|
|
33379
|
-
const prevTraitRef =
|
|
33380
|
-
|
|
33496
|
+
const [walkStep, setWalkStep] = React91.useState(null);
|
|
33497
|
+
const [traits2, setTraits] = React91.useState([]);
|
|
33498
|
+
const [coveredEdges, setCoveredEdges] = React91.useState([]);
|
|
33499
|
+
const [completedTraits, setCompletedTraits] = React91.useState(/* @__PURE__ */ new Set());
|
|
33500
|
+
const prevTraitRef = React91.useRef(null);
|
|
33501
|
+
React91.useEffect(() => {
|
|
33381
33502
|
const interval = setInterval(() => {
|
|
33382
33503
|
const w = window;
|
|
33383
33504
|
const step = w.__orbitalWalkStep;
|
|
@@ -33806,15 +33927,15 @@ var TYPE_BADGES = {
|
|
|
33806
33927
|
state: { variant: "danger", icon: "\u{1F4CA}" }
|
|
33807
33928
|
};
|
|
33808
33929
|
function EventFlowTab({ events: events2 }) {
|
|
33809
|
-
const [filter, setFilter] =
|
|
33810
|
-
const containerRef =
|
|
33811
|
-
const [autoScroll, setAutoScroll] =
|
|
33812
|
-
|
|
33930
|
+
const [filter, setFilter] = React91.useState("all");
|
|
33931
|
+
const containerRef = React91.useRef(null);
|
|
33932
|
+
const [autoScroll, setAutoScroll] = React91.useState(true);
|
|
33933
|
+
React91.useEffect(() => {
|
|
33813
33934
|
if (autoScroll && containerRef.current) {
|
|
33814
33935
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
33815
33936
|
}
|
|
33816
33937
|
}, [events2.length, autoScroll]);
|
|
33817
|
-
const filteredEvents =
|
|
33938
|
+
const filteredEvents = React91.useMemo(() => {
|
|
33818
33939
|
if (filter === "all") return events2;
|
|
33819
33940
|
return events2.filter((e) => e.type === filter);
|
|
33820
33941
|
}, [events2, filter]);
|
|
@@ -33914,7 +34035,7 @@ function EventFlowTab({ events: events2 }) {
|
|
|
33914
34035
|
EventFlowTab.displayName = "EventFlowTab";
|
|
33915
34036
|
init_Typography();
|
|
33916
34037
|
function GuardsPanel({ guards }) {
|
|
33917
|
-
const [filter, setFilter] =
|
|
34038
|
+
const [filter, setFilter] = React91.useState("all");
|
|
33918
34039
|
if (guards.length === 0) {
|
|
33919
34040
|
return /* @__PURE__ */ jsx(
|
|
33920
34041
|
EmptyState,
|
|
@@ -33927,7 +34048,7 @@ function GuardsPanel({ guards }) {
|
|
|
33927
34048
|
}
|
|
33928
34049
|
const passedCount = guards.filter((g) => g.result).length;
|
|
33929
34050
|
const failedCount = guards.length - passedCount;
|
|
33930
|
-
const filteredGuards =
|
|
34051
|
+
const filteredGuards = React91.useMemo(() => {
|
|
33931
34052
|
if (filter === "all") return guards;
|
|
33932
34053
|
if (filter === "passed") return guards.filter((g) => g.result);
|
|
33933
34054
|
return guards.filter((g) => !g.result);
|
|
@@ -34075,10 +34196,10 @@ function EffectBadge({ effect }) {
|
|
|
34075
34196
|
] });
|
|
34076
34197
|
}
|
|
34077
34198
|
function TransitionTimeline({ transitions }) {
|
|
34078
|
-
const containerRef =
|
|
34079
|
-
const [autoScroll, setAutoScroll] =
|
|
34080
|
-
const [expandedId, setExpandedId] =
|
|
34081
|
-
|
|
34199
|
+
const containerRef = React91.useRef(null);
|
|
34200
|
+
const [autoScroll, setAutoScroll] = React91.useState(true);
|
|
34201
|
+
const [expandedId, setExpandedId] = React91.useState(null);
|
|
34202
|
+
React91.useEffect(() => {
|
|
34082
34203
|
if (autoScroll && containerRef.current) {
|
|
34083
34204
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
34084
34205
|
}
|
|
@@ -34344,9 +34465,9 @@ function getAllEvents(traits2) {
|
|
|
34344
34465
|
}
|
|
34345
34466
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
34346
34467
|
const eventBus = useEventBus();
|
|
34347
|
-
const [log3, setLog] =
|
|
34348
|
-
const prevStatesRef =
|
|
34349
|
-
|
|
34468
|
+
const [log3, setLog] = React91.useState([]);
|
|
34469
|
+
const prevStatesRef = React91.useRef(/* @__PURE__ */ new Map());
|
|
34470
|
+
React91.useEffect(() => {
|
|
34350
34471
|
for (const trait of traits2) {
|
|
34351
34472
|
const prev = prevStatesRef.current.get(trait.id);
|
|
34352
34473
|
if (prev && prev !== trait.currentState) {
|
|
@@ -34499,9 +34620,9 @@ function VerifyModePanel({
|
|
|
34499
34620
|
serverCount,
|
|
34500
34621
|
localCount
|
|
34501
34622
|
}) {
|
|
34502
|
-
const scrollRef =
|
|
34503
|
-
const prevCountRef =
|
|
34504
|
-
|
|
34623
|
+
const scrollRef = React91.useRef(null);
|
|
34624
|
+
const prevCountRef = React91.useRef(0);
|
|
34625
|
+
React91.useEffect(() => {
|
|
34505
34626
|
if (transitions.length > prevCountRef.current && scrollRef.current) {
|
|
34506
34627
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
34507
34628
|
}
|
|
@@ -34549,10 +34670,10 @@ function RuntimeDebugger({
|
|
|
34549
34670
|
defaultTab,
|
|
34550
34671
|
schema
|
|
34551
34672
|
}) {
|
|
34552
|
-
const [isCollapsed, setIsCollapsed] =
|
|
34553
|
-
const [isVisible, setIsVisible] =
|
|
34673
|
+
const [isCollapsed, setIsCollapsed] = React91.useState(mode === "verify" ? true : defaultCollapsed);
|
|
34674
|
+
const [isVisible, setIsVisible] = React91.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
|
|
34554
34675
|
const debugData = useDebugData();
|
|
34555
|
-
|
|
34676
|
+
React91.useEffect(() => {
|
|
34556
34677
|
if (mode === "inline") return;
|
|
34557
34678
|
return onDebugToggle((enabled) => {
|
|
34558
34679
|
setIsVisible(enabled);
|
|
@@ -34561,7 +34682,7 @@ function RuntimeDebugger({
|
|
|
34561
34682
|
}
|
|
34562
34683
|
});
|
|
34563
34684
|
}, [mode]);
|
|
34564
|
-
|
|
34685
|
+
React91.useEffect(() => {
|
|
34565
34686
|
if (mode === "inline") return;
|
|
34566
34687
|
const handleKeyDown = (e) => {
|
|
34567
34688
|
if (e.key === "`" && isVisible) {
|
|
@@ -34982,7 +35103,7 @@ var Timeline = ({
|
|
|
34982
35103
|
}) => {
|
|
34983
35104
|
const { t } = useTranslate();
|
|
34984
35105
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
34985
|
-
const items =
|
|
35106
|
+
const items = React91__default.useMemo(() => {
|
|
34986
35107
|
if (propItems) return propItems;
|
|
34987
35108
|
if (entityData.length === 0) return [];
|
|
34988
35109
|
return entityData.map((record, idx) => {
|
|
@@ -35085,7 +35206,7 @@ var Timeline = ({
|
|
|
35085
35206
|
Timeline.displayName = "Timeline";
|
|
35086
35207
|
init_useEventBus();
|
|
35087
35208
|
function extractToastProps(children) {
|
|
35088
|
-
if (!
|
|
35209
|
+
if (!React91__default.isValidElement(children)) {
|
|
35089
35210
|
if (typeof children === "string") {
|
|
35090
35211
|
return { message: children };
|
|
35091
35212
|
}
|
|
@@ -35116,7 +35237,7 @@ var ToastSlot = ({
|
|
|
35116
35237
|
eventBus.emit("UI:CLOSE");
|
|
35117
35238
|
};
|
|
35118
35239
|
if (!isVisible) return null;
|
|
35119
|
-
const isCustomContent =
|
|
35240
|
+
const isCustomContent = React91__default.isValidElement(children) && !message;
|
|
35120
35241
|
return /* @__PURE__ */ jsx(Box, { className: "fixed bottom-4 right-4 z-50", children: isCustomContent ? children : /* @__PURE__ */ jsx(
|
|
35121
35242
|
Toast,
|
|
35122
35243
|
{
|
|
@@ -35161,12 +35282,12 @@ WorldMapTemplate.displayName = "WorldMapTemplate";
|
|
|
35161
35282
|
|
|
35162
35283
|
// components/organisms/component-registry.generated.ts
|
|
35163
35284
|
function lazyThree(name, loader) {
|
|
35164
|
-
const Lazy =
|
|
35285
|
+
const Lazy = React91__default.lazy(() => loader().then((m) => ({ default: m[name] })));
|
|
35165
35286
|
function ThreeWrapper(props) {
|
|
35166
|
-
return
|
|
35167
|
-
|
|
35287
|
+
return React91__default.createElement(
|
|
35288
|
+
React91__default.Suspense,
|
|
35168
35289
|
{ fallback: null },
|
|
35169
|
-
|
|
35290
|
+
React91__default.createElement(Lazy, props)
|
|
35170
35291
|
);
|
|
35171
35292
|
}
|
|
35172
35293
|
ThreeWrapper.displayName = `Lazy(${name})`;
|
|
@@ -35454,7 +35575,7 @@ function SuspenseConfigProvider({
|
|
|
35454
35575
|
config,
|
|
35455
35576
|
children
|
|
35456
35577
|
}) {
|
|
35457
|
-
return
|
|
35578
|
+
return React91__default.createElement(
|
|
35458
35579
|
SuspenseConfigContext.Provider,
|
|
35459
35580
|
{ value: config },
|
|
35460
35581
|
children
|
|
@@ -37953,7 +38074,7 @@ function EntityDataProvider({
|
|
|
37953
38074
|
adapter,
|
|
37954
38075
|
children
|
|
37955
38076
|
}) {
|
|
37956
|
-
return
|
|
38077
|
+
return React91__default.createElement(
|
|
37957
38078
|
EntityDataContext.Provider,
|
|
37958
38079
|
{ value: adapter },
|
|
37959
38080
|
children
|
|
@@ -38877,4 +38998,4 @@ function useGitHubBranches(owner, repo, enabled = true) {
|
|
|
38877
38998
|
});
|
|
38878
38999
|
}
|
|
38879
39000
|
|
|
38880
|
-
export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, ActionPalette, ActionTile, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, AuthLayout, Avatar, Badge, BattleBoard, BattleTemplate, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, CastleBoard, CastleTemplate, Center, Chart, ChartLegend, Checkbox, ChoiceButton, ClassifierBoard, CodeBlock, CodeExample, CodeView, CodeViewer, CollapsibleSection, CombatLog, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, Container, ContentRenderer, ContentSection, ControlButton, CounterTemplate, CraftingRecipe, DEFAULT_SLOTS, DIAMOND_TOP_Y, DPad, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, DialogueBox, DialogueBubble, Divider, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ENTITY_EVENTS, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EnemyPlate, EntityDataProvider, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioContext, GameAudioProvider, GameAudioToggle, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GraphCanvas, GraphView, Grid, HStack, Header, Heading, HealthBar, HealthPanel, HeroOrganism, HeroSection, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, JazariStateMachine, Label, LandingPageTemplate, LawReferenceTooltip, Lightbox, LineChart, List, LoadingState, MapView, MarkdownContent, MarketingStatCard, MasterDetail, MediaGallery, Menu, Meter, MiniMap, Modal, ModalSlot, Navigation, NegotiatorBoard, NotifyListener, NumberStepper, ObjectRulePanel, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PhysicsManager, PlatformerCanvas, Popover, PowerupSlots, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Section, SectionHeader, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SortableList, Spacer, Spinner, Split, SplitPane, SplitSection, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateIndicator, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, Table, Tabs, TagCloud, TeamCard, TeamOrganism, TerrainPalette, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UncontrolledBattleBoard, UnitCommandBar, UploadDropZone, VStack, VariablePanel, ViolationAlert, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, WorldMapBoard, WorldMapTemplate, XPBar, applyTemporaryEffect, calculateAttackTargets, calculateDamage, calculateValidMoves, clearEntities, cn, combatAnimations, combatClasses, combatEffects, createInitialGameState, createTranslate, createUnitAnimationState, drawSprite, entityDataKeys, generateCombatMessage, getAllEntities, getByType, getCurrentFrame, getEntity, getSingleton, getTileDimensions, inferDirection, isoToScreen, mapBookData, parseQueryBinding, pendulum, projectileMotion, removeEntity, resolveFieldMap, resolveFrame, resolveSheetDirection, screenToIso, spawnEntity, springOscillator, tickAnimationState, transitionAnimation, updateEntity, updateSingleton, useAgentChat, useAuthContext, useBattleState, useCamera, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEntities, useEntitiesByType, useEntity, useEntity2 as useEntityById, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntityMutations, useEntitySuspense, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGameAudioContext, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useInput, useLongPress, useOrbitalHistory, useOrbitalMutations, usePhysics, usePhysics2D, usePinchZoom, usePlayer, usePreview, usePullToRefresh, useQuerySingleton, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useSpriteAnimations, useSwipeGesture, useTranslate, useUIEvents, useUISlotManager, useUpdateEntity, useValidation };
|
|
39001
|
+
export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, ActionPalette, ActionTile, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, AuthLayout, Avatar, Badge, BattleBoard, BattleTemplate, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, CastleBoard, CastleTemplate, Center, Chart, ChartLegend, Checkbox, ChoiceButton, ClassifierBoard, CodeBlock, CodeExample, CodeView, CodeViewer, CollapsibleSection, CombatLog, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, Container, ContentRenderer, ContentSection, ControlButton, CounterTemplate, CraftingRecipe, DEFAULT_SLOTS, DIAMOND_TOP_Y, DPad, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, DialogueBox, DialogueBubble, Divider, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ENTITY_EVENTS, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EnemyPlate, EntityDataProvider, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FileTree, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioContext, GameAudioProvider, GameAudioToggle, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GraphCanvas, GraphView, Grid, HStack, Header, Heading, HealthBar, HealthPanel, HeroOrganism, HeroSection, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, JazariStateMachine, Label, LandingPageTemplate, LawReferenceTooltip, Lightbox, LineChart, List, LoadingState, MapView, MarkdownContent, MarketingStatCard, MasterDetail, MediaGallery, Menu, Meter, MiniMap, Modal, ModalSlot, Navigation, NegotiatorBoard, NotifyListener, NumberStepper, ObjectRulePanel, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PhysicsManager, PlatformerCanvas, Popover, PowerupSlots, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Section, SectionHeader, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SortableList, Spacer, Spinner, Split, SplitPane, SplitSection, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateIndicator, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, Table, Tabs, TagCloud, TeamCard, TeamOrganism, TerrainPalette, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UncontrolledBattleBoard, UnitCommandBar, UploadDropZone, VStack, VariablePanel, ViolationAlert, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, WorldMapBoard, WorldMapTemplate, XPBar, applyTemporaryEffect, calculateAttackTargets, calculateDamage, calculateValidMoves, clearEntities, cn, combatAnimations, combatClasses, combatEffects, createInitialGameState, createTranslate, createUnitAnimationState, drawSprite, entityDataKeys, generateCombatMessage, getAllEntities, getByType, getCurrentFrame, getEntity, getSingleton, getTileDimensions, inferDirection, isoToScreen, mapBookData, parseQueryBinding, pendulum, projectileMotion, removeEntity, resolveFieldMap, resolveFrame, resolveSheetDirection, screenToIso, spawnEntity, springOscillator, tickAnimationState, transitionAnimation, updateEntity, updateSingleton, useAgentChat, useAuthContext, useBattleState, useCamera, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEntities, useEntitiesByType, useEntity, useEntity2 as useEntityById, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntityMutations, useEntitySuspense, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGameAudioContext, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useInput, useLongPress, useOrbitalHistory, useOrbitalMutations, usePhysics, usePhysics2D, usePinchZoom, usePlayer, usePreview, usePullToRefresh, useQuerySingleton, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useSpriteAnimations, useSwipeGesture, useTranslate, useUIEvents, useUISlotManager, useUpdateEntity, useValidation };
|