@almadar/ui 6.4.0 → 6.5.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 +1551 -1338
- package/dist/avl/index.js +504 -291
- package/dist/components/index.cjs +1502 -1466
- package/dist/components/index.d.cts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +484 -448
- package/dist/providers/index.cjs +1434 -1221
- package/dist/providers/index.js +475 -262
- package/dist/runtime/index.cjs +1399 -1186
- package/dist/runtime/index.js +480 -267
- package/package.json +3 -3
package/dist/avl/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React96 from 'react';
|
|
3
|
+
import React96__default, { createContext, useState, useMemo, useRef, useEffect, useContext, useCallback, Suspense, useLayoutEffect, Profiler, useReducer, useSyncExternalStore, lazy, useId } from 'react';
|
|
4
4
|
import { getAllPages, matchPathAmong, CurrentPagePathProvider, NavStackProvider, OrbitalProvider, EventBusContext, useTraitScopeChain, useNavStack, ServerBridgeProvider, VerificationProvider, EntitySchemaProvider, OrbitalThemeProvider, useServerBridge, EntityBindingContext, useEntitySchema, RenderSlotProvider, useEntitySchemaOptional, useEntityBindingSnapshot, TraitScopeProvider, useTraitScope, useCurrentPagePath, useRenderSlot, useGameAudioContextOptional } from '@almadar/ui/providers';
|
|
5
5
|
import { createLogger, setNamespaceLevel, isLogLevelEnabled } from '@almadar/logger';
|
|
6
6
|
import ELK from 'elkjs/lib/elk.bundled.js';
|
|
@@ -3301,7 +3301,7 @@ var init_Typography = __esm({
|
|
|
3301
3301
|
if (format !== void 0 && format !== "none" && (typeof body === "string" || typeof body === "number" || body instanceof Date)) {
|
|
3302
3302
|
body = formatValue(body, format);
|
|
3303
3303
|
}
|
|
3304
|
-
return
|
|
3304
|
+
return React96__default.createElement(
|
|
3305
3305
|
Component,
|
|
3306
3306
|
{
|
|
3307
3307
|
id,
|
|
@@ -3647,7 +3647,7 @@ var init_Box = __esm({
|
|
|
3647
3647
|
fixed: "fixed",
|
|
3648
3648
|
sticky: "sticky"
|
|
3649
3649
|
};
|
|
3650
|
-
Box =
|
|
3650
|
+
Box = React96__default.forwardRef(
|
|
3651
3651
|
({
|
|
3652
3652
|
padding,
|
|
3653
3653
|
paddingX,
|
|
@@ -3712,7 +3712,7 @@ var init_Box = __esm({
|
|
|
3712
3712
|
onPointerDown?.(e);
|
|
3713
3713
|
}, [hoverEvent, tapReveal, triggerProps, onPointerDown]);
|
|
3714
3714
|
const isClickable = action || onClick;
|
|
3715
|
-
return
|
|
3715
|
+
return React96__default.createElement(
|
|
3716
3716
|
Component,
|
|
3717
3717
|
{
|
|
3718
3718
|
ref,
|
|
@@ -3808,7 +3808,7 @@ var init_Stack = __esm({
|
|
|
3808
3808
|
};
|
|
3809
3809
|
const isHorizontal = direction === "horizontal";
|
|
3810
3810
|
const directionClass = responsive && isHorizontal ? reverse ? "flex-col-reverse md:flex-row-reverse" : "flex-col md:flex-row" : isHorizontal ? reverse ? "flex-row-reverse" : "flex-row" : reverse ? "flex-col-reverse" : "flex-col";
|
|
3811
|
-
return
|
|
3811
|
+
return React96__default.createElement(
|
|
3812
3812
|
Component,
|
|
3813
3813
|
{
|
|
3814
3814
|
className: cn(
|
|
@@ -4300,7 +4300,7 @@ var init_MiniStateMachine = __esm({
|
|
|
4300
4300
|
const x = 2 + i * (NODE_W + GAP + ARROW_W + GAP);
|
|
4301
4301
|
const tc = transitionCounts[s.name] ?? 0;
|
|
4302
4302
|
const role = getStateRole(s.name, s.isInitial ?? void 0, s.isTerminal ?? void 0, tc, maxTC);
|
|
4303
|
-
return /* @__PURE__ */ jsxs(
|
|
4303
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
4304
4304
|
/* @__PURE__ */ jsx(
|
|
4305
4305
|
AvlState,
|
|
4306
4306
|
{
|
|
@@ -4583,7 +4583,7 @@ function resolveMarkerExpression(expression, entity, config, state) {
|
|
|
4583
4583
|
function isPlainObject(value) {
|
|
4584
4584
|
if (value === null || value === void 0 || typeof value !== "object") return false;
|
|
4585
4585
|
if (Array.isArray(value)) return false;
|
|
4586
|
-
if (
|
|
4586
|
+
if (React96__default.isValidElement(value)) return false;
|
|
4587
4587
|
if (value instanceof Date) return false;
|
|
4588
4588
|
if (typeof value === "function") return false;
|
|
4589
4589
|
return true;
|
|
@@ -4592,7 +4592,7 @@ function isEvaluatorResolvedData(value) {
|
|
|
4592
4592
|
return evaluatorResolvedData.has(value);
|
|
4593
4593
|
}
|
|
4594
4594
|
function brandResolved(value) {
|
|
4595
|
-
if (value !== null && typeof value === "object" && !
|
|
4595
|
+
if (value !== null && typeof value === "object" && !React96__default.isValidElement(value) && !(value instanceof Date)) {
|
|
4596
4596
|
resolvedMarkerFree.add(value);
|
|
4597
4597
|
}
|
|
4598
4598
|
}
|
|
@@ -4625,7 +4625,7 @@ function walkValue(value, scopeTrait, entity, config, state) {
|
|
|
4625
4625
|
}
|
|
4626
4626
|
const resolved = resolveMarkerExpression(value.expression, entity, config, state);
|
|
4627
4627
|
markerResolutionCache.set(value, { entity, config, state, resolved });
|
|
4628
|
-
if (resolved !== null && typeof resolved === "object" && !
|
|
4628
|
+
if (resolved !== null && typeof resolved === "object" && !React96__default.isValidElement(resolved) && !(resolved instanceof Date)) {
|
|
4629
4629
|
resolvedMarkerFree.add(resolved);
|
|
4630
4630
|
evaluatorResolvedData.add(resolved);
|
|
4631
4631
|
}
|
|
@@ -4876,7 +4876,7 @@ var init_Icon = __esm({
|
|
|
4876
4876
|
const effectiveName = typeof icon === "string" && icon !== "" ? icon : name;
|
|
4877
4877
|
const effectiveStrokeWidth = strokeWidth != null && strokeWidth > 0 ? strokeWidth : void 0;
|
|
4878
4878
|
const family = useIconFamily();
|
|
4879
|
-
const RenderedComponent =
|
|
4879
|
+
const RenderedComponent = React96__default.useMemo(() => {
|
|
4880
4880
|
if (directIcon) return null;
|
|
4881
4881
|
return effectiveName ? resolveIconForFamily(effectiveName) : null;
|
|
4882
4882
|
}, [directIcon, effectiveName, family]);
|
|
@@ -5005,7 +5005,7 @@ var init_atlasSlice = __esm({
|
|
|
5005
5005
|
}
|
|
5006
5006
|
});
|
|
5007
5007
|
function useAtlasSliceDataUrl(asset) {
|
|
5008
|
-
const [, bump] =
|
|
5008
|
+
const [, bump] = React96.useReducer((x) => x + 1, 0);
|
|
5009
5009
|
if (!isAtlasAsset(asset)) return void 0;
|
|
5010
5010
|
const key = `${asset.atlas}#${asset.sprite}`;
|
|
5011
5011
|
const cached = sliceDataUrlCache.get(key);
|
|
@@ -5068,13 +5068,13 @@ function AtlasImage({
|
|
|
5068
5068
|
style,
|
|
5069
5069
|
"aria-hidden": ariaHidden
|
|
5070
5070
|
}) {
|
|
5071
|
-
const [, bump] =
|
|
5072
|
-
const canvasRef =
|
|
5071
|
+
const [, bump] = React96.useReducer((x) => x + 1, 0);
|
|
5072
|
+
const canvasRef = React96.useRef(null);
|
|
5073
5073
|
const sliced = isAtlasAsset(asset);
|
|
5074
5074
|
const atlas = sliced ? getAtlas(asset.atlas, bump) : void 0;
|
|
5075
5075
|
const img = sliced && asset?.url ? getSheetImage(asset.url, bump) : null;
|
|
5076
5076
|
const rect = sliced && atlas ? subRectFor(atlas, asset.sprite) : null;
|
|
5077
|
-
|
|
5077
|
+
React96.useEffect(() => {
|
|
5078
5078
|
const canvas = canvasRef.current;
|
|
5079
5079
|
if (!canvas || !img || !rect) return;
|
|
5080
5080
|
canvas.width = rect.sw;
|
|
@@ -5150,7 +5150,7 @@ function resolveIconProp(value, sizeClass) {
|
|
|
5150
5150
|
const IconComp = value;
|
|
5151
5151
|
return /* @__PURE__ */ jsx(IconComp, { className: sizeClass });
|
|
5152
5152
|
}
|
|
5153
|
-
if (
|
|
5153
|
+
if (React96__default.isValidElement(value)) {
|
|
5154
5154
|
return value;
|
|
5155
5155
|
}
|
|
5156
5156
|
if (typeof value === "object" && value !== null && isIconLike(value)) {
|
|
@@ -5227,7 +5227,7 @@ var init_Button = __esm({
|
|
|
5227
5227
|
md: "h-icon-default w-icon-default",
|
|
5228
5228
|
lg: "h-icon-default w-icon-default"
|
|
5229
5229
|
};
|
|
5230
|
-
Button =
|
|
5230
|
+
Button = React96__default.forwardRef(
|
|
5231
5231
|
({
|
|
5232
5232
|
className,
|
|
5233
5233
|
variant = "primary",
|
|
@@ -5297,7 +5297,7 @@ var Dialog;
|
|
|
5297
5297
|
var init_Dialog = __esm({
|
|
5298
5298
|
"components/core/atoms/Dialog.tsx"() {
|
|
5299
5299
|
init_cn();
|
|
5300
|
-
Dialog =
|
|
5300
|
+
Dialog = React96__default.forwardRef(
|
|
5301
5301
|
({
|
|
5302
5302
|
role = "dialog",
|
|
5303
5303
|
"aria-modal": ariaModal = true,
|
|
@@ -5859,7 +5859,7 @@ var init_Badge = __esm({
|
|
|
5859
5859
|
md: "px-2.5 py-1 text-sm",
|
|
5860
5860
|
lg: "px-3 py-1.5 text-base"
|
|
5861
5861
|
};
|
|
5862
|
-
Badge =
|
|
5862
|
+
Badge = React96__default.forwardRef(
|
|
5863
5863
|
({ className, variant = "default", size = "sm", amount, label, icon, iconAsset, children, onRemove, removeLabel, ...props }, ref) => {
|
|
5864
5864
|
const iconSizes3 = {
|
|
5865
5865
|
sm: "h-icon-default w-icon-default",
|
|
@@ -6209,7 +6209,7 @@ var init_SvgFlow = __esm({
|
|
|
6209
6209
|
width = 100,
|
|
6210
6210
|
height = 100
|
|
6211
6211
|
}) => {
|
|
6212
|
-
const markerId =
|
|
6212
|
+
const markerId = React96__default.useMemo(() => {
|
|
6213
6213
|
flowIdCounter += 1;
|
|
6214
6214
|
return `almadar-flow-arrow-${flowIdCounter}`;
|
|
6215
6215
|
}, []);
|
|
@@ -6802,7 +6802,7 @@ var init_SvgRing = __esm({
|
|
|
6802
6802
|
width = 100,
|
|
6803
6803
|
height = 100
|
|
6804
6804
|
}) => {
|
|
6805
|
-
const gradientId =
|
|
6805
|
+
const gradientId = React96__default.useMemo(() => {
|
|
6806
6806
|
ringIdCounter += 1;
|
|
6807
6807
|
return `almadar-ring-glow-${ringIdCounter}`;
|
|
6808
6808
|
}, []);
|
|
@@ -6983,7 +6983,7 @@ var init_Input = __esm({
|
|
|
6983
6983
|
init_cn();
|
|
6984
6984
|
init_Icon();
|
|
6985
6985
|
init_useEventBus();
|
|
6986
|
-
Input =
|
|
6986
|
+
Input = React96__default.forwardRef(
|
|
6987
6987
|
({
|
|
6988
6988
|
className,
|
|
6989
6989
|
inputType,
|
|
@@ -7007,9 +7007,9 @@ var init_Input = __esm({
|
|
|
7007
7007
|
const eventBus = useEventBus();
|
|
7008
7008
|
const type = inputType || htmlType || "text";
|
|
7009
7009
|
const isDeclarative = typeof onChange === "string";
|
|
7010
|
-
const [localValue, setLocalValue] =
|
|
7011
|
-
const pendingEchoRef =
|
|
7012
|
-
|
|
7010
|
+
const [localValue, setLocalValue] = React96__default.useState(value);
|
|
7011
|
+
const pendingEchoRef = React96__default.useRef(/* @__PURE__ */ new Set());
|
|
7012
|
+
React96__default.useEffect(() => {
|
|
7013
7013
|
if (!isDeclarative) return;
|
|
7014
7014
|
const incoming = value == null ? "" : String(value);
|
|
7015
7015
|
if (pendingEchoRef.current.has(incoming)) {
|
|
@@ -7176,7 +7176,7 @@ var Label;
|
|
|
7176
7176
|
var init_Label = __esm({
|
|
7177
7177
|
"components/core/atoms/Label.tsx"() {
|
|
7178
7178
|
init_cn();
|
|
7179
|
-
Label =
|
|
7179
|
+
Label = React96__default.forwardRef(
|
|
7180
7180
|
({ className, required, children, ...props }, ref) => {
|
|
7181
7181
|
return /* @__PURE__ */ jsxs(
|
|
7182
7182
|
"label",
|
|
@@ -7203,7 +7203,7 @@ var init_Textarea = __esm({
|
|
|
7203
7203
|
"components/core/atoms/Textarea.tsx"() {
|
|
7204
7204
|
init_cn();
|
|
7205
7205
|
init_useEventBus();
|
|
7206
|
-
Textarea =
|
|
7206
|
+
Textarea = React96__default.forwardRef(
|
|
7207
7207
|
({ className, error, onChange, ...props }, ref) => {
|
|
7208
7208
|
const eventBus = useEventBus();
|
|
7209
7209
|
const handleChange = (e) => {
|
|
@@ -7453,7 +7453,7 @@ var init_Select = __esm({
|
|
|
7453
7453
|
init_cn();
|
|
7454
7454
|
init_Icon();
|
|
7455
7455
|
init_useEventBus();
|
|
7456
|
-
Select =
|
|
7456
|
+
Select = React96__default.forwardRef(
|
|
7457
7457
|
(props, _ref) => {
|
|
7458
7458
|
const { multiple, searchable, clearable } = props;
|
|
7459
7459
|
if (multiple || searchable || clearable) {
|
|
@@ -7470,7 +7470,7 @@ var init_Checkbox = __esm({
|
|
|
7470
7470
|
"components/core/atoms/Checkbox.tsx"() {
|
|
7471
7471
|
init_cn();
|
|
7472
7472
|
init_useEventBus();
|
|
7473
|
-
Checkbox =
|
|
7473
|
+
Checkbox = React96__default.forwardRef(
|
|
7474
7474
|
({ className, label, id, onChange, ...props }, ref) => {
|
|
7475
7475
|
const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
7476
7476
|
const eventBus = useEventBus();
|
|
@@ -7524,7 +7524,7 @@ var init_Spinner = __esm({
|
|
|
7524
7524
|
md: "h-6 w-6",
|
|
7525
7525
|
lg: "h-8 w-8"
|
|
7526
7526
|
};
|
|
7527
|
-
Spinner =
|
|
7527
|
+
Spinner = React96__default.forwardRef(
|
|
7528
7528
|
({ className, size = "md", overlay, ...props }, ref) => {
|
|
7529
7529
|
if (overlay) {
|
|
7530
7530
|
return /* @__PURE__ */ jsx(
|
|
@@ -7614,7 +7614,7 @@ var init_Card = __esm({
|
|
|
7614
7614
|
chip: "shadow-none rounded-pill border-[length:var(--border-width)] border-border",
|
|
7615
7615
|
"tile-image-first": "p-0 overflow-hidden"
|
|
7616
7616
|
};
|
|
7617
|
-
Card =
|
|
7617
|
+
Card = React96__default.forwardRef(
|
|
7618
7618
|
({
|
|
7619
7619
|
className,
|
|
7620
7620
|
variant = "bordered",
|
|
@@ -7663,9 +7663,9 @@ var init_Card = __esm({
|
|
|
7663
7663
|
}
|
|
7664
7664
|
);
|
|
7665
7665
|
Card.displayName = "Card";
|
|
7666
|
-
CardHeader =
|
|
7666
|
+
CardHeader = React96__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
|
|
7667
7667
|
CardHeader.displayName = "CardHeader";
|
|
7668
|
-
CardTitle =
|
|
7668
|
+
CardTitle = React96__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7669
7669
|
"h3",
|
|
7670
7670
|
{
|
|
7671
7671
|
ref,
|
|
@@ -7678,11 +7678,11 @@ var init_Card = __esm({
|
|
|
7678
7678
|
}
|
|
7679
7679
|
));
|
|
7680
7680
|
CardTitle.displayName = "CardTitle";
|
|
7681
|
-
CardContent =
|
|
7681
|
+
CardContent = React96__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
|
|
7682
7682
|
CardContent.displayName = "CardContent";
|
|
7683
7683
|
CardBody = CardContent;
|
|
7684
7684
|
CardBody.displayName = "CardBody";
|
|
7685
|
-
CardFooter =
|
|
7685
|
+
CardFooter = React96__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7686
7686
|
"div",
|
|
7687
7687
|
{
|
|
7688
7688
|
ref,
|
|
@@ -7769,7 +7769,7 @@ var init_FilterPill = __esm({
|
|
|
7769
7769
|
md: "w-3.5 h-3.5",
|
|
7770
7770
|
lg: "w-4 h-4"
|
|
7771
7771
|
};
|
|
7772
|
-
FilterPill =
|
|
7772
|
+
FilterPill = React96__default.forwardRef(
|
|
7773
7773
|
({
|
|
7774
7774
|
className,
|
|
7775
7775
|
variant = "default",
|
|
@@ -7898,8 +7898,8 @@ var init_Avatar = __esm({
|
|
|
7898
7898
|
actionPayload
|
|
7899
7899
|
}) => {
|
|
7900
7900
|
const eventBus = useEventBus();
|
|
7901
|
-
const [imgFailed, setImgFailed] =
|
|
7902
|
-
|
|
7901
|
+
const [imgFailed, setImgFailed] = React96__default.useState(false);
|
|
7902
|
+
React96__default.useEffect(() => {
|
|
7903
7903
|
setImgFailed(false);
|
|
7904
7904
|
}, [src]);
|
|
7905
7905
|
const initials = providedInitials ?? (name ? generateInitials(name) : void 0);
|
|
@@ -8012,7 +8012,7 @@ var init_Center = __esm({
|
|
|
8012
8012
|
as: Component = "div"
|
|
8013
8013
|
}) => {
|
|
8014
8014
|
const mergedStyle = minHeight ? { minHeight, ...style } : style;
|
|
8015
|
-
return
|
|
8015
|
+
return React96__default.createElement(Component, {
|
|
8016
8016
|
className: cn(
|
|
8017
8017
|
inline ? "inline-flex" : "flex",
|
|
8018
8018
|
horizontal && "justify-center",
|
|
@@ -8280,7 +8280,7 @@ var init_Radio = __esm({
|
|
|
8280
8280
|
md: "w-2.5 h-2.5",
|
|
8281
8281
|
lg: "w-3 h-3"
|
|
8282
8282
|
};
|
|
8283
|
-
Radio =
|
|
8283
|
+
Radio = React96__default.forwardRef(
|
|
8284
8284
|
({
|
|
8285
8285
|
label,
|
|
8286
8286
|
helperText,
|
|
@@ -8297,12 +8297,12 @@ var init_Radio = __esm({
|
|
|
8297
8297
|
onChange,
|
|
8298
8298
|
...props
|
|
8299
8299
|
}, ref) => {
|
|
8300
|
-
const reactId =
|
|
8300
|
+
const reactId = React96__default.useId();
|
|
8301
8301
|
const baseId = id || `radio-${reactId}`;
|
|
8302
8302
|
const hasError = !!error;
|
|
8303
8303
|
const eventBus = useEventBus();
|
|
8304
|
-
const [selected, setSelected] =
|
|
8305
|
-
|
|
8304
|
+
const [selected, setSelected] = React96__default.useState(value);
|
|
8305
|
+
React96__default.useEffect(() => {
|
|
8306
8306
|
if (value !== void 0) setSelected(value);
|
|
8307
8307
|
}, [value]);
|
|
8308
8308
|
const pick = (next, e) => {
|
|
@@ -8484,7 +8484,7 @@ var init_Switch = __esm({
|
|
|
8484
8484
|
"components/core/atoms/Switch.tsx"() {
|
|
8485
8485
|
"use client";
|
|
8486
8486
|
init_cn();
|
|
8487
|
-
Switch =
|
|
8487
|
+
Switch = React96.forwardRef(
|
|
8488
8488
|
({
|
|
8489
8489
|
checked,
|
|
8490
8490
|
defaultChecked = false,
|
|
@@ -8495,10 +8495,10 @@ var init_Switch = __esm({
|
|
|
8495
8495
|
name,
|
|
8496
8496
|
className
|
|
8497
8497
|
}, ref) => {
|
|
8498
|
-
const [isChecked, setIsChecked] =
|
|
8498
|
+
const [isChecked, setIsChecked] = React96.useState(
|
|
8499
8499
|
checked !== void 0 ? checked : defaultChecked
|
|
8500
8500
|
);
|
|
8501
|
-
|
|
8501
|
+
React96.useEffect(() => {
|
|
8502
8502
|
if (checked !== void 0) {
|
|
8503
8503
|
setIsChecked(checked);
|
|
8504
8504
|
}
|
|
@@ -8776,7 +8776,7 @@ var Aside;
|
|
|
8776
8776
|
var init_Aside = __esm({
|
|
8777
8777
|
"components/core/atoms/Aside.tsx"() {
|
|
8778
8778
|
init_cn();
|
|
8779
|
-
Aside =
|
|
8779
|
+
Aside = React96__default.forwardRef(
|
|
8780
8780
|
({ className, children, ...rest }, ref) => /* @__PURE__ */ jsx("aside", { ref, className: cn(className), ...rest, children })
|
|
8781
8781
|
);
|
|
8782
8782
|
Aside.displayName = "Aside";
|
|
@@ -8855,9 +8855,9 @@ var init_LawReferenceTooltip = __esm({
|
|
|
8855
8855
|
className
|
|
8856
8856
|
}) => {
|
|
8857
8857
|
const { t } = useTranslate();
|
|
8858
|
-
const [isVisible, setIsVisible] =
|
|
8859
|
-
const timeoutRef =
|
|
8860
|
-
const triggerRef =
|
|
8858
|
+
const [isVisible, setIsVisible] = React96__default.useState(false);
|
|
8859
|
+
const timeoutRef = React96__default.useRef(null);
|
|
8860
|
+
const triggerRef = React96__default.useRef(null);
|
|
8861
8861
|
const handleMouseEnter = () => {
|
|
8862
8862
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
8863
8863
|
timeoutRef.current = setTimeout(() => setIsVisible(true), 200);
|
|
@@ -8868,7 +8868,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
8868
8868
|
};
|
|
8869
8869
|
const { revealed, triggerProps } = useTapReveal({ refs: [triggerRef] });
|
|
8870
8870
|
const open = isVisible || revealed;
|
|
8871
|
-
|
|
8871
|
+
React96__default.useEffect(() => {
|
|
8872
8872
|
return () => {
|
|
8873
8873
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
8874
8874
|
};
|
|
@@ -9078,7 +9078,7 @@ var init_StatusDot = __esm({
|
|
|
9078
9078
|
md: "w-2.5 h-2.5",
|
|
9079
9079
|
lg: "w-3 h-3"
|
|
9080
9080
|
};
|
|
9081
|
-
StatusDot =
|
|
9081
|
+
StatusDot = React96__default.forwardRef(
|
|
9082
9082
|
({ className, status = "offline", pulse = false, size = "md", label, ...props }, ref) => {
|
|
9083
9083
|
return /* @__PURE__ */ jsx(
|
|
9084
9084
|
"span",
|
|
@@ -9132,7 +9132,7 @@ var init_TrendIndicator = __esm({
|
|
|
9132
9132
|
down: "trending-down",
|
|
9133
9133
|
flat: "arrow-right"
|
|
9134
9134
|
};
|
|
9135
|
-
TrendIndicator =
|
|
9135
|
+
TrendIndicator = React96__default.forwardRef(
|
|
9136
9136
|
({
|
|
9137
9137
|
className,
|
|
9138
9138
|
value,
|
|
@@ -9201,7 +9201,7 @@ var init_RangeSlider = __esm({
|
|
|
9201
9201
|
md: "w-4 h-4",
|
|
9202
9202
|
lg: "w-5 h-5"
|
|
9203
9203
|
};
|
|
9204
|
-
RangeSlider =
|
|
9204
|
+
RangeSlider = React96__default.forwardRef(
|
|
9205
9205
|
({
|
|
9206
9206
|
className,
|
|
9207
9207
|
min = 0,
|
|
@@ -9858,7 +9858,7 @@ var init_ContentSection = __esm({
|
|
|
9858
9858
|
md: "py-16",
|
|
9859
9859
|
lg: "py-24"
|
|
9860
9860
|
};
|
|
9861
|
-
ContentSection =
|
|
9861
|
+
ContentSection = React96__default.forwardRef(
|
|
9862
9862
|
({ children, background = "default", padding = "lg", id, className }, ref) => {
|
|
9863
9863
|
return /* @__PURE__ */ jsx(
|
|
9864
9864
|
Box,
|
|
@@ -10392,7 +10392,7 @@ var init_AnimatedReveal = __esm({
|
|
|
10392
10392
|
"scale-up": { opacity: 1, transform: "scale(1) translateY(0)" },
|
|
10393
10393
|
"none": {}
|
|
10394
10394
|
};
|
|
10395
|
-
AnimatedReveal =
|
|
10395
|
+
AnimatedReveal = React96__default.forwardRef(
|
|
10396
10396
|
({
|
|
10397
10397
|
trigger = "scroll",
|
|
10398
10398
|
animation = "fade-up",
|
|
@@ -10552,7 +10552,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
10552
10552
|
"components/marketing/atoms/AnimatedGraphic.tsx"() {
|
|
10553
10553
|
"use client";
|
|
10554
10554
|
init_cn();
|
|
10555
|
-
AnimatedGraphic =
|
|
10555
|
+
AnimatedGraphic = React96__default.forwardRef(
|
|
10556
10556
|
({
|
|
10557
10557
|
src,
|
|
10558
10558
|
svgContent,
|
|
@@ -10575,7 +10575,7 @@ var init_AnimatedGraphic = __esm({
|
|
|
10575
10575
|
const fetchedSvg = useFetchedSvg(svgContent ? void 0 : src);
|
|
10576
10576
|
const resolvedSvg = svgContent ?? fetchedSvg;
|
|
10577
10577
|
const prevAnimateRef = useRef(animate);
|
|
10578
|
-
const setRef =
|
|
10578
|
+
const setRef = React96__default.useCallback(
|
|
10579
10579
|
(node) => {
|
|
10580
10580
|
containerRef.current = node;
|
|
10581
10581
|
if (typeof ref === "function") ref(node);
|
|
@@ -11327,9 +11327,9 @@ function ControlButton({
|
|
|
11327
11327
|
className
|
|
11328
11328
|
}) {
|
|
11329
11329
|
const eventBus = useEventBus();
|
|
11330
|
-
const [isPressed, setIsPressed] =
|
|
11330
|
+
const [isPressed, setIsPressed] = React96.useState(false);
|
|
11331
11331
|
const actualPressed = pressed ?? isPressed;
|
|
11332
|
-
const handlePointerDown =
|
|
11332
|
+
const handlePointerDown = React96.useCallback(
|
|
11333
11333
|
(e) => {
|
|
11334
11334
|
e.preventDefault();
|
|
11335
11335
|
if (disabled) return;
|
|
@@ -11339,7 +11339,7 @@ function ControlButton({
|
|
|
11339
11339
|
},
|
|
11340
11340
|
[disabled, pressEvent, eventBus, onPress]
|
|
11341
11341
|
);
|
|
11342
|
-
const handlePointerUp =
|
|
11342
|
+
const handlePointerUp = React96.useCallback(
|
|
11343
11343
|
(e) => {
|
|
11344
11344
|
e.preventDefault();
|
|
11345
11345
|
if (disabled) return;
|
|
@@ -11349,7 +11349,7 @@ function ControlButton({
|
|
|
11349
11349
|
},
|
|
11350
11350
|
[disabled, releaseEvent, eventBus, onRelease]
|
|
11351
11351
|
);
|
|
11352
|
-
const handlePointerLeave =
|
|
11352
|
+
const handlePointerLeave = React96.useCallback(
|
|
11353
11353
|
(e) => {
|
|
11354
11354
|
if (isPressed) {
|
|
11355
11355
|
setIsPressed(false);
|
|
@@ -11608,18 +11608,18 @@ function ControlGrid({
|
|
|
11608
11608
|
className
|
|
11609
11609
|
}) {
|
|
11610
11610
|
const eventBus = useEventBus();
|
|
11611
|
-
const [active, setActive] =
|
|
11612
|
-
const [coarse, setCoarse] =
|
|
11611
|
+
const [active, setActive] = React96.useState(/* @__PURE__ */ new Set());
|
|
11612
|
+
const [coarse, setCoarse] = React96.useState(
|
|
11613
11613
|
() => typeof window !== "undefined" && window.matchMedia("(pointer: coarse)").matches
|
|
11614
11614
|
);
|
|
11615
|
-
|
|
11615
|
+
React96.useEffect(() => {
|
|
11616
11616
|
if (visibility !== "auto" || typeof window === "undefined") return;
|
|
11617
11617
|
const mq = window.matchMedia("(pointer: coarse)");
|
|
11618
11618
|
const onChange = (e) => setCoarse(e.matches);
|
|
11619
11619
|
mq.addEventListener("change", onChange);
|
|
11620
11620
|
return () => mq.removeEventListener("change", onChange);
|
|
11621
11621
|
}, [visibility]);
|
|
11622
|
-
const handlePress =
|
|
11622
|
+
const handlePress = React96.useCallback(
|
|
11623
11623
|
(id) => {
|
|
11624
11624
|
setActive((prev) => new Set(prev).add(id));
|
|
11625
11625
|
if (actionEvent) eventBus.emit(`UI:${actionEvent}`, { id, pressed: true });
|
|
@@ -11633,7 +11633,7 @@ function ControlGrid({
|
|
|
11633
11633
|
},
|
|
11634
11634
|
[kind, actionEvent, directionEvent, directionEvents, eventBus, onAction, onDirection]
|
|
11635
11635
|
);
|
|
11636
|
-
const handleRelease =
|
|
11636
|
+
const handleRelease = React96.useCallback(
|
|
11637
11637
|
(id) => {
|
|
11638
11638
|
setActive((prev) => {
|
|
11639
11639
|
const next = new Set(prev);
|
|
@@ -11996,7 +11996,7 @@ function GameMenu({
|
|
|
11996
11996
|
}) {
|
|
11997
11997
|
const resolvedOptions = (options?.length ? options : void 0) ?? (menuItems?.length ? menuItems : void 0) ?? DEFAULT_MENU_OPTIONS;
|
|
11998
11998
|
const eventBus = useEventBus();
|
|
11999
|
-
const handleOptionClick =
|
|
11999
|
+
const handleOptionClick = React96.useCallback(
|
|
12000
12000
|
(option) => {
|
|
12001
12001
|
if (option.event) {
|
|
12002
12002
|
eventBus.emit(`UI:${option.event}`, { option });
|
|
@@ -12232,7 +12232,7 @@ function StateGraph({
|
|
|
12232
12232
|
}) {
|
|
12233
12233
|
const eventBus = useEventBus();
|
|
12234
12234
|
const nodes = states ?? [];
|
|
12235
|
-
const positions =
|
|
12235
|
+
const positions = React96.useMemo(() => layoutStates(nodes, width, height), [nodes, width, height]);
|
|
12236
12236
|
return /* @__PURE__ */ jsxs(
|
|
12237
12237
|
Box,
|
|
12238
12238
|
{
|
|
@@ -12303,8 +12303,8 @@ function MiniMap({
|
|
|
12303
12303
|
tileAssets,
|
|
12304
12304
|
unitAssets
|
|
12305
12305
|
}) {
|
|
12306
|
-
const canvasRef =
|
|
12307
|
-
const imgCacheRef =
|
|
12306
|
+
const canvasRef = React96.useRef(null);
|
|
12307
|
+
const imgCacheRef = React96.useRef(/* @__PURE__ */ new Map());
|
|
12308
12308
|
function loadImg(url) {
|
|
12309
12309
|
const cached = imgCacheRef.current.get(url);
|
|
12310
12310
|
if (cached) return cached.complete ? cached : null;
|
|
@@ -12320,7 +12320,7 @@ function MiniMap({
|
|
|
12320
12320
|
imgCacheRef.current.set(url, img);
|
|
12321
12321
|
return null;
|
|
12322
12322
|
}
|
|
12323
|
-
|
|
12323
|
+
React96.useEffect(() => {
|
|
12324
12324
|
const canvas = canvasRef.current;
|
|
12325
12325
|
if (!canvas) return;
|
|
12326
12326
|
const ctx = canvas.getContext("2d");
|
|
@@ -13787,7 +13787,7 @@ function Canvas2D({
|
|
|
13787
13787
|
const registerChildDrawable = useCallback((node) => {
|
|
13788
13788
|
childDrawablesRef.current.push(node);
|
|
13789
13789
|
}, []);
|
|
13790
|
-
const hasJsxChildren =
|
|
13790
|
+
const hasJsxChildren = React96.Children.count(children) > 0;
|
|
13791
13791
|
function isDrawableLayer(node) {
|
|
13792
13792
|
return node.type === "draw-sprite-layer" || node.type === "draw-shape-layer" || node.type === "draw-text-layer";
|
|
13793
13793
|
}
|
|
@@ -14345,7 +14345,7 @@ function Canvas({
|
|
|
14345
14345
|
if (mode !== "3d") return;
|
|
14346
14346
|
const next = childDrawablesRef.current;
|
|
14347
14347
|
canvasLog.debug("children:adopt", { registered: next.length, adopted: childDrawables.length });
|
|
14348
|
-
if (next.length === 0 &&
|
|
14348
|
+
if (next.length === 0 && React96.Children.count(children) > 0) return;
|
|
14349
14349
|
setChildDrawables(
|
|
14350
14350
|
(prev) => prev.length === next.length && JSON.stringify(prev) === JSON.stringify(next) ? prev : [...next]
|
|
14351
14351
|
);
|
|
@@ -14383,7 +14383,7 @@ function Canvas({
|
|
|
14383
14383
|
};
|
|
14384
14384
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
14385
14385
|
/* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(Canvas3DHost, { ...props3d }) }),
|
|
14386
|
-
|
|
14386
|
+
React96.Children.count(children) > 0 && /* @__PURE__ */ jsx(DrawableRegistryContext.Provider, { value: registerChildDrawable, children: /* @__PURE__ */ jsx("div", { "aria-hidden": "true", style: { position: "absolute", width: 0, height: 0, overflow: "hidden" }, children }) })
|
|
14387
14387
|
] });
|
|
14388
14388
|
}
|
|
14389
14389
|
return /* @__PURE__ */ jsx(
|
|
@@ -14541,7 +14541,7 @@ function LinearView({
|
|
|
14541
14541
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
14542
14542
|
const isDone = i < currentIdx;
|
|
14543
14543
|
const isCurrent = i === currentIdx;
|
|
14544
|
-
return /* @__PURE__ */ jsxs(
|
|
14544
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
14545
14545
|
i > 0 && /* @__PURE__ */ jsx(
|
|
14546
14546
|
Typography,
|
|
14547
14547
|
{
|
|
@@ -15076,7 +15076,7 @@ function SequenceBar({
|
|
|
15076
15076
|
else onSlotRemove?.(index);
|
|
15077
15077
|
}, [emit, slotRemoveEvent, onSlotRemove, playing]);
|
|
15078
15078
|
const paddedSlots = Array.from({ length: maxSlots }, (_, i) => slots[i]);
|
|
15079
|
-
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(
|
|
15079
|
+
return /* @__PURE__ */ jsx(HStack, { className: cn("items-center", className), gap: "sm", children: paddedSlots.map((slot, i) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
15080
15080
|
i > 0 && /* @__PURE__ */ jsx(
|
|
15081
15081
|
Typography,
|
|
15082
15082
|
{
|
|
@@ -15936,7 +15936,7 @@ var init_ErrorBoundary = __esm({
|
|
|
15936
15936
|
}
|
|
15937
15937
|
);
|
|
15938
15938
|
};
|
|
15939
|
-
ErrorBoundary = class extends
|
|
15939
|
+
ErrorBoundary = class extends React96__default.Component {
|
|
15940
15940
|
constructor(props) {
|
|
15941
15941
|
super(props);
|
|
15942
15942
|
__publicField(this, "reset", () => {
|
|
@@ -16205,7 +16205,7 @@ var init_Container = __esm({
|
|
|
16205
16205
|
as: Component = "div"
|
|
16206
16206
|
}) => {
|
|
16207
16207
|
const resolvedSize = maxWidth ?? size ?? "lg";
|
|
16208
|
-
return
|
|
16208
|
+
return React96__default.createElement(
|
|
16209
16209
|
Component,
|
|
16210
16210
|
{
|
|
16211
16211
|
className: cn(
|
|
@@ -19631,7 +19631,7 @@ function useLanguageReady(language) {
|
|
|
19631
19631
|
}, [language]);
|
|
19632
19632
|
return ready;
|
|
19633
19633
|
}
|
|
19634
|
-
var dynamicallyLoaded, codeLanguageLoader, orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
|
|
19634
|
+
var dynamicallyLoaded, codeLanguageLoader, orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, HIGHLIGHT_CAPACITY_BYTES, CodeBlock;
|
|
19635
19635
|
var init_CodeBlock = __esm({
|
|
19636
19636
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
19637
19637
|
init_cn();
|
|
@@ -19864,7 +19864,8 @@ var init_CodeBlock = __esm({
|
|
|
19864
19864
|
DIFF_STYLE_FALLBACK = { bg: "", prefix: " ", text: "text-foreground" };
|
|
19865
19865
|
LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
|
|
19866
19866
|
HIDDEN_LINE_NUMBERS = { display: "none" };
|
|
19867
|
-
|
|
19867
|
+
HIGHLIGHT_CAPACITY_BYTES = 512 * 1024;
|
|
19868
|
+
CodeBlock = React96__default.memo(
|
|
19868
19869
|
({
|
|
19869
19870
|
code: rawCode,
|
|
19870
19871
|
language = "text",
|
|
@@ -19894,6 +19895,8 @@ var init_CodeBlock = __esm({
|
|
|
19894
19895
|
const isOrb = language === "orb";
|
|
19895
19896
|
const isLolo = language === "lolo";
|
|
19896
19897
|
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
19898
|
+
const overCapacity = code.length > HIGHLIGHT_CAPACITY_BYTES;
|
|
19899
|
+
const plainCodeColor = activeStyle['code[class*="language-"]']?.color ?? "#d4d4d4";
|
|
19897
19900
|
const languageReady = useLanguageReady(language);
|
|
19898
19901
|
const eventBus = useEventBus();
|
|
19899
19902
|
const { t } = useTranslate();
|
|
@@ -19960,8 +19963,8 @@ var init_CodeBlock = __esm({
|
|
|
19960
19963
|
const isFoldable = foldableProp ?? true;
|
|
19961
19964
|
const [collapsed, setCollapsed] = useState(() => /* @__PURE__ */ new Set());
|
|
19962
19965
|
const foldRegions = useMemo(
|
|
19963
|
-
() => isFoldable ? computeFoldRegions(code) : [],
|
|
19964
|
-
[code, isFoldable]
|
|
19966
|
+
() => isFoldable && !overCapacity ? computeFoldRegions(code) : [],
|
|
19967
|
+
[code, isFoldable, overCapacity]
|
|
19965
19968
|
);
|
|
19966
19969
|
const foldStartMap = useMemo(() => {
|
|
19967
19970
|
const m = /* @__PURE__ */ new Map();
|
|
@@ -19995,8 +19998,67 @@ var init_CodeBlock = __esm({
|
|
|
19995
19998
|
useEffect(() => {
|
|
19996
19999
|
setCollapsed(/* @__PURE__ */ new Set());
|
|
19997
20000
|
}, [code]);
|
|
20001
|
+
const editableOverCapacity = editableValue.length > HIGHLIGHT_CAPACITY_BYTES;
|
|
20002
|
+
const editableHighlightedElement = useMemo(
|
|
20003
|
+
() => editableOverCapacity ? /* @__PURE__ */ jsx(
|
|
20004
|
+
"div",
|
|
20005
|
+
{
|
|
20006
|
+
style: {
|
|
20007
|
+
padding: "1rem",
|
|
20008
|
+
margin: 0,
|
|
20009
|
+
whiteSpace: "pre",
|
|
20010
|
+
minWidth: "100%",
|
|
20011
|
+
color: plainCodeColor,
|
|
20012
|
+
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", "Courier New", monospace',
|
|
20013
|
+
fontSize: "13px",
|
|
20014
|
+
lineHeight: "1.5"
|
|
20015
|
+
},
|
|
20016
|
+
children: editableValue || " "
|
|
20017
|
+
}
|
|
20018
|
+
) : /* @__PURE__ */ jsx(
|
|
20019
|
+
SyntaxHighlighter,
|
|
20020
|
+
{
|
|
20021
|
+
PreTag: "div",
|
|
20022
|
+
language,
|
|
20023
|
+
style: activeStyle,
|
|
20024
|
+
wrapLines: errorLines && errorLines.size > 0,
|
|
20025
|
+
lineProps: errorLineProps,
|
|
20026
|
+
customStyle: {
|
|
20027
|
+
backgroundColor: "transparent",
|
|
20028
|
+
borderRadius: 0,
|
|
20029
|
+
padding: "1rem",
|
|
20030
|
+
margin: 0,
|
|
20031
|
+
whiteSpace: "pre",
|
|
20032
|
+
minWidth: "100%",
|
|
20033
|
+
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", "Courier New", monospace',
|
|
20034
|
+
fontSize: "13px",
|
|
20035
|
+
lineHeight: "1.5"
|
|
20036
|
+
},
|
|
20037
|
+
codeTagProps: {
|
|
20038
|
+
style: {
|
|
20039
|
+
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", "Courier New", monospace',
|
|
20040
|
+
fontSize: "13px",
|
|
20041
|
+
lineHeight: "1.5"
|
|
20042
|
+
}
|
|
20043
|
+
},
|
|
20044
|
+
children: editableValue || " "
|
|
20045
|
+
}
|
|
20046
|
+
),
|
|
20047
|
+
[editableValue, editableOverCapacity, plainCodeColor, language, activeStyle, errorLines, errorLineProps, languageReady]
|
|
20048
|
+
);
|
|
19998
20049
|
const highlightedElement = useMemo(
|
|
19999
|
-
() => /* @__PURE__ */ jsx(
|
|
20050
|
+
() => overCapacity ? /* @__PURE__ */ jsx(
|
|
20051
|
+
"div",
|
|
20052
|
+
{
|
|
20053
|
+
style: {
|
|
20054
|
+
margin: 0,
|
|
20055
|
+
whiteSpace: "pre",
|
|
20056
|
+
minWidth: "100%",
|
|
20057
|
+
color: plainCodeColor
|
|
20058
|
+
},
|
|
20059
|
+
children: code
|
|
20060
|
+
}
|
|
20061
|
+
) : /* @__PURE__ */ jsx(
|
|
20000
20062
|
SyntaxHighlighter,
|
|
20001
20063
|
{
|
|
20002
20064
|
PreTag: "div",
|
|
@@ -20018,7 +20080,7 @@ var init_CodeBlock = __esm({
|
|
|
20018
20080
|
children: code
|
|
20019
20081
|
}
|
|
20020
20082
|
),
|
|
20021
|
-
[code, language, activeStyle, languageReady]
|
|
20083
|
+
[code, overCapacity, plainCodeColor, language, activeStyle, languageReady]
|
|
20022
20084
|
);
|
|
20023
20085
|
useLayoutEffect(() => {
|
|
20024
20086
|
const container = codeRef.current;
|
|
@@ -20347,35 +20409,7 @@ var init_CodeBlock = __esm({
|
|
|
20347
20409
|
overflow: "hidden",
|
|
20348
20410
|
pointerEvents: "none"
|
|
20349
20411
|
},
|
|
20350
|
-
children:
|
|
20351
|
-
SyntaxHighlighter,
|
|
20352
|
-
{
|
|
20353
|
-
PreTag: "div",
|
|
20354
|
-
language,
|
|
20355
|
-
style: activeStyle,
|
|
20356
|
-
wrapLines: errorLines && errorLines.size > 0,
|
|
20357
|
-
lineProps: errorLineProps,
|
|
20358
|
-
customStyle: {
|
|
20359
|
-
backgroundColor: "transparent",
|
|
20360
|
-
borderRadius: 0,
|
|
20361
|
-
padding: "1rem",
|
|
20362
|
-
margin: 0,
|
|
20363
|
-
whiteSpace: "pre",
|
|
20364
|
-
minWidth: "100%",
|
|
20365
|
-
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", "Courier New", monospace',
|
|
20366
|
-
fontSize: "13px",
|
|
20367
|
-
lineHeight: "1.5"
|
|
20368
|
-
},
|
|
20369
|
-
codeTagProps: {
|
|
20370
|
-
style: {
|
|
20371
|
-
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", "Courier New", monospace',
|
|
20372
|
-
fontSize: "13px",
|
|
20373
|
-
lineHeight: "1.5"
|
|
20374
|
-
}
|
|
20375
|
-
},
|
|
20376
|
-
children: editableValue || " "
|
|
20377
|
-
}
|
|
20378
|
-
)
|
|
20412
|
+
children: editableHighlightedElement
|
|
20379
20413
|
}
|
|
20380
20414
|
),
|
|
20381
20415
|
/* @__PURE__ */ jsx(
|
|
@@ -20459,7 +20493,7 @@ var init_MermaidDiagram = __esm({
|
|
|
20459
20493
|
init_CodeBlock();
|
|
20460
20494
|
init_cn();
|
|
20461
20495
|
mermaidModule = null;
|
|
20462
|
-
MermaidDiagram =
|
|
20496
|
+
MermaidDiagram = React96__default.memo(
|
|
20463
20497
|
({ code, className }) => {
|
|
20464
20498
|
const { resolvedMode } = useTheme();
|
|
20465
20499
|
const containerRef = useRef(null);
|
|
@@ -20517,7 +20551,7 @@ var init_MarkdownContent = __esm({
|
|
|
20517
20551
|
init_CodeBlock();
|
|
20518
20552
|
init_MermaidDiagram();
|
|
20519
20553
|
init_cn();
|
|
20520
|
-
MarkdownContent =
|
|
20554
|
+
MarkdownContent = React96__default.memo(
|
|
20521
20555
|
({ content, direction = "ltr", className }) => {
|
|
20522
20556
|
const { t: _t } = useTranslate();
|
|
20523
20557
|
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
@@ -21847,7 +21881,7 @@ var init_StateMachineView = __esm({
|
|
|
21847
21881
|
style: { top: title ? 30 : 0 },
|
|
21848
21882
|
children: [
|
|
21849
21883
|
entity && /* @__PURE__ */ jsx(EntityBox, { entity, config }),
|
|
21850
|
-
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(
|
|
21884
|
+
states.map((state) => renderStateNode ? /* @__PURE__ */ jsx(React96__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__PURE__ */ jsx(
|
|
21851
21885
|
StateNode2,
|
|
21852
21886
|
{
|
|
21853
21887
|
state,
|
|
@@ -26761,6 +26795,183 @@ var init_CodeRunnerPanel = __esm({
|
|
|
26761
26795
|
CodeRunnerPanel.displayName = "CodeRunnerPanel";
|
|
26762
26796
|
}
|
|
26763
26797
|
});
|
|
26798
|
+
function matchesQuery(query, text) {
|
|
26799
|
+
if (!query) return true;
|
|
26800
|
+
let qi = 0;
|
|
26801
|
+
const q = query.toLowerCase();
|
|
26802
|
+
const t = text.toLowerCase();
|
|
26803
|
+
for (let ti = 0; ti < t.length && qi < q.length; ti++) {
|
|
26804
|
+
if (t[ti] === q[qi]) qi++;
|
|
26805
|
+
}
|
|
26806
|
+
return qi === q.length;
|
|
26807
|
+
}
|
|
26808
|
+
function commandMatches(command, query) {
|
|
26809
|
+
if (!query) return true;
|
|
26810
|
+
if (matchesQuery(query, command.label)) return true;
|
|
26811
|
+
return (command.keywords ?? []).some((keyword) => matchesQuery(query, keyword));
|
|
26812
|
+
}
|
|
26813
|
+
var UNGROUPED, CommandPalette;
|
|
26814
|
+
var init_CommandPalette = __esm({
|
|
26815
|
+
"components/core/molecules/CommandPalette.tsx"() {
|
|
26816
|
+
"use client";
|
|
26817
|
+
init_Box();
|
|
26818
|
+
init_Stack();
|
|
26819
|
+
init_Typography();
|
|
26820
|
+
init_Icon();
|
|
26821
|
+
init_Input();
|
|
26822
|
+
init_Badge();
|
|
26823
|
+
init_cn();
|
|
26824
|
+
init_useEventBus();
|
|
26825
|
+
init_Modal();
|
|
26826
|
+
UNGROUPED = /* @__PURE__ */ Symbol("command-palette-ungrouped");
|
|
26827
|
+
CommandPalette = ({
|
|
26828
|
+
open,
|
|
26829
|
+
onOpenChange,
|
|
26830
|
+
commands,
|
|
26831
|
+
onSelect,
|
|
26832
|
+
placeholder = "Type a command...",
|
|
26833
|
+
emptyLabel = "No matching commands",
|
|
26834
|
+
className
|
|
26835
|
+
}) => {
|
|
26836
|
+
const eventBus = useEventBus();
|
|
26837
|
+
const [query, setQuery] = useState("");
|
|
26838
|
+
const [highlightIndex, setHighlightIndex] = useState(0);
|
|
26839
|
+
const filtered = useMemo(
|
|
26840
|
+
() => commands.filter((command) => commandMatches(command, query)),
|
|
26841
|
+
[commands, query]
|
|
26842
|
+
);
|
|
26843
|
+
const groups = useMemo(() => {
|
|
26844
|
+
const order = [];
|
|
26845
|
+
const byGroup = /* @__PURE__ */ new Map();
|
|
26846
|
+
for (const command of filtered) {
|
|
26847
|
+
const key = command.group ?? UNGROUPED;
|
|
26848
|
+
if (!byGroup.has(key)) {
|
|
26849
|
+
byGroup.set(key, []);
|
|
26850
|
+
order.push(key);
|
|
26851
|
+
}
|
|
26852
|
+
byGroup.get(key).push(command);
|
|
26853
|
+
}
|
|
26854
|
+
return order.map((key) => ({ group: key === UNGROUPED ? void 0 : key, items: byGroup.get(key) }));
|
|
26855
|
+
}, [filtered]);
|
|
26856
|
+
const resetQuery = useCallback(() => {
|
|
26857
|
+
setQuery("");
|
|
26858
|
+
setHighlightIndex(0);
|
|
26859
|
+
}, []);
|
|
26860
|
+
const handleClose = useCallback(() => {
|
|
26861
|
+
resetQuery();
|
|
26862
|
+
onOpenChange(false);
|
|
26863
|
+
}, [onOpenChange, resetQuery]);
|
|
26864
|
+
const handleSelect = useCallback(
|
|
26865
|
+
(command) => {
|
|
26866
|
+
if (command.disabled) return;
|
|
26867
|
+
if (command.event) eventBus.emit(`UI:${command.event}`, { commandId: command.id });
|
|
26868
|
+
if (command.action) eventBus.emit(`UI:${command.action}`, command.actionPayload ?? {});
|
|
26869
|
+
onSelect?.(command);
|
|
26870
|
+
handleClose();
|
|
26871
|
+
},
|
|
26872
|
+
[eventBus, onSelect, handleClose]
|
|
26873
|
+
);
|
|
26874
|
+
const handleQueryChange = useCallback((e) => {
|
|
26875
|
+
setQuery(e.target.value);
|
|
26876
|
+
setHighlightIndex(0);
|
|
26877
|
+
}, []);
|
|
26878
|
+
const handleKeyDown = useCallback(
|
|
26879
|
+
(e) => {
|
|
26880
|
+
if (filtered.length === 0) return;
|
|
26881
|
+
if (e.key === "ArrowDown") {
|
|
26882
|
+
e.preventDefault();
|
|
26883
|
+
setHighlightIndex((prev) => prev < filtered.length - 1 ? prev + 1 : 0);
|
|
26884
|
+
} else if (e.key === "ArrowUp") {
|
|
26885
|
+
e.preventDefault();
|
|
26886
|
+
setHighlightIndex((prev) => prev > 0 ? prev - 1 : filtered.length - 1);
|
|
26887
|
+
} else if (e.key === "Enter") {
|
|
26888
|
+
e.preventDefault();
|
|
26889
|
+
const command = filtered[highlightIndex];
|
|
26890
|
+
if (command) handleSelect(command);
|
|
26891
|
+
}
|
|
26892
|
+
},
|
|
26893
|
+
[filtered, highlightIndex, handleSelect]
|
|
26894
|
+
);
|
|
26895
|
+
return /* @__PURE__ */ jsx(
|
|
26896
|
+
Modal,
|
|
26897
|
+
{
|
|
26898
|
+
isOpen: open,
|
|
26899
|
+
onClose: handleClose,
|
|
26900
|
+
onExited: resetQuery,
|
|
26901
|
+
showCloseButton: false,
|
|
26902
|
+
size: "md",
|
|
26903
|
+
className,
|
|
26904
|
+
children: /* @__PURE__ */ jsx(Box, { "data-testid": "command-palette", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
26905
|
+
/* @__PURE__ */ jsx(
|
|
26906
|
+
Input,
|
|
26907
|
+
{
|
|
26908
|
+
inputType: "search",
|
|
26909
|
+
placeholder,
|
|
26910
|
+
value: query,
|
|
26911
|
+
onChange: handleQueryChange,
|
|
26912
|
+
onKeyDown: handleKeyDown,
|
|
26913
|
+
leftIcon: "search",
|
|
26914
|
+
clearable: query.length > 0,
|
|
26915
|
+
onClear: resetQuery,
|
|
26916
|
+
autoFocus: true,
|
|
26917
|
+
"data-testid": "command-palette-input"
|
|
26918
|
+
}
|
|
26919
|
+
),
|
|
26920
|
+
filtered.length === 0 ? /* @__PURE__ */ jsx(Box, { className: "px-2 py-6 text-center", "data-testid": "command-palette-empty", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "muted", children: emptyLabel }) }) : /* @__PURE__ */ jsx(
|
|
26921
|
+
Box,
|
|
26922
|
+
{
|
|
26923
|
+
className: "max-h-80 overflow-y-auto",
|
|
26924
|
+
role: "listbox",
|
|
26925
|
+
"aria-label": placeholder,
|
|
26926
|
+
children: /* @__PURE__ */ jsx(VStack, { gap: "none", children: groups.map(({ group, items }) => /* @__PURE__ */ jsxs(Box, { children: [
|
|
26927
|
+
group ? /* @__PURE__ */ jsx(
|
|
26928
|
+
Typography,
|
|
26929
|
+
{
|
|
26930
|
+
variant: "caption",
|
|
26931
|
+
color: "muted",
|
|
26932
|
+
className: "px-3 pt-2 pb-1 block",
|
|
26933
|
+
children: group
|
|
26934
|
+
}
|
|
26935
|
+
) : null,
|
|
26936
|
+
items.map((command) => {
|
|
26937
|
+
const index = filtered.indexOf(command);
|
|
26938
|
+
const isHighlighted = index === highlightIndex;
|
|
26939
|
+
return /* @__PURE__ */ jsxs(
|
|
26940
|
+
Box,
|
|
26941
|
+
{
|
|
26942
|
+
as: "button",
|
|
26943
|
+
role: "option",
|
|
26944
|
+
"aria-selected": isHighlighted,
|
|
26945
|
+
"aria-disabled": command.disabled || void 0,
|
|
26946
|
+
"data-testid": `command-palette-item-${command.id}`,
|
|
26947
|
+
onMouseEnter: () => !command.disabled && setHighlightIndex(index),
|
|
26948
|
+
onClick: () => handleSelect(command),
|
|
26949
|
+
className: cn(
|
|
26950
|
+
"w-full flex items-center gap-3 px-3 py-2 text-start rounded-sm",
|
|
26951
|
+
"text-sm transition-colors",
|
|
26952
|
+
"focus:outline-none",
|
|
26953
|
+
isHighlighted && "bg-muted",
|
|
26954
|
+
command.disabled && "opacity-50 cursor-not-allowed"
|
|
26955
|
+
),
|
|
26956
|
+
children: [
|
|
26957
|
+
command.icon ? /* @__PURE__ */ jsx(Icon, { icon: command.icon, size: "sm", className: "flex-shrink-0" }) : null,
|
|
26958
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", className: "flex-1 truncate", children: command.label }),
|
|
26959
|
+
command.shortcut ? /* @__PURE__ */ jsx(Badge, { variant: "neutral", size: "sm", children: command.shortcut }) : null
|
|
26960
|
+
]
|
|
26961
|
+
},
|
|
26962
|
+
command.id
|
|
26963
|
+
);
|
|
26964
|
+
})
|
|
26965
|
+
] }, String(group ?? "__ungrouped__"))) })
|
|
26966
|
+
}
|
|
26967
|
+
)
|
|
26968
|
+
] }) })
|
|
26969
|
+
}
|
|
26970
|
+
);
|
|
26971
|
+
};
|
|
26972
|
+
CommandPalette.displayName = "CommandPalette";
|
|
26973
|
+
}
|
|
26974
|
+
});
|
|
26764
26975
|
function formatCount(count) {
|
|
26765
26976
|
if (count >= 1e3) {
|
|
26766
26977
|
return `${(count / 1e3).toFixed(1)}k`;
|
|
@@ -28036,7 +28247,7 @@ var init_Menu = __esm({
|
|
|
28036
28247
|
"bottom-end": "bottom-start"
|
|
28037
28248
|
};
|
|
28038
28249
|
const effectivePosition = direction === "rtl" ? rtlMirror[position] ?? position : position;
|
|
28039
|
-
const triggerElement =
|
|
28250
|
+
const triggerElement = React96__default.isValidElement(trigger) ? React96__default.cloneElement(trigger, {
|
|
28040
28251
|
ref: triggerRef,
|
|
28041
28252
|
onClick: handleToggle
|
|
28042
28253
|
}) : /* @__PURE__ */ jsx(
|
|
@@ -28139,14 +28350,14 @@ function useDataDnd(args) {
|
|
|
28139
28350
|
const isZone = Boolean(dragGroup || accepts || sortable);
|
|
28140
28351
|
const enabled = isZone || Boolean(dndRoot);
|
|
28141
28352
|
const eventBus = useEventBus();
|
|
28142
|
-
const parentRoot =
|
|
28353
|
+
const parentRoot = React96__default.useContext(RootCtx);
|
|
28143
28354
|
const isRoot = enabled && parentRoot === null;
|
|
28144
|
-
const zoneId =
|
|
28355
|
+
const zoneId = React96__default.useId();
|
|
28145
28356
|
const ownGroup = dragGroup ?? accepts ?? zoneId;
|
|
28146
|
-
const [optimisticOrders, setOptimisticOrders] =
|
|
28147
|
-
const optimisticOrdersRef =
|
|
28357
|
+
const [optimisticOrders, setOptimisticOrders] = React96__default.useState(() => /* @__PURE__ */ new Map());
|
|
28358
|
+
const optimisticOrdersRef = React96__default.useRef(optimisticOrders);
|
|
28148
28359
|
optimisticOrdersRef.current = optimisticOrders;
|
|
28149
|
-
const clearOptimisticOrder =
|
|
28360
|
+
const clearOptimisticOrder = React96__default.useCallback((group) => {
|
|
28150
28361
|
setOptimisticOrders((prev) => {
|
|
28151
28362
|
if (!prev.has(group)) return prev;
|
|
28152
28363
|
const next = new Map(prev);
|
|
@@ -28171,7 +28382,7 @@ function useDataDnd(args) {
|
|
|
28171
28382
|
const raw = it[dndItemIdField];
|
|
28172
28383
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
28173
28384
|
}).join("|");
|
|
28174
|
-
const itemIds =
|
|
28385
|
+
const itemIds = React96__default.useMemo(
|
|
28175
28386
|
() => orderedItems.map((it, idx) => {
|
|
28176
28387
|
const raw = it[dndItemIdField];
|
|
28177
28388
|
return raw != null ? String(raw) : `__idx_${idx}`;
|
|
@@ -28182,7 +28393,7 @@ function useDataDnd(args) {
|
|
|
28182
28393
|
const raw = it[dndItemIdField];
|
|
28183
28394
|
return raw != null ? String(raw) : `__${idx}`;
|
|
28184
28395
|
}).join("|");
|
|
28185
|
-
|
|
28396
|
+
React96__default.useEffect(() => {
|
|
28186
28397
|
const root = isRoot ? null : parentRoot;
|
|
28187
28398
|
if (root) {
|
|
28188
28399
|
root.clearOptimisticOrder(ownGroup);
|
|
@@ -28190,20 +28401,20 @@ function useDataDnd(args) {
|
|
|
28190
28401
|
clearOptimisticOrder(ownGroup);
|
|
28191
28402
|
}
|
|
28192
28403
|
}, [itemsContentSig, ownGroup]);
|
|
28193
|
-
const zonesRef =
|
|
28194
|
-
const registerZone =
|
|
28404
|
+
const zonesRef = React96__default.useRef(/* @__PURE__ */ new Map());
|
|
28405
|
+
const registerZone = React96__default.useCallback((zoneId2, meta2) => {
|
|
28195
28406
|
zonesRef.current.set(zoneId2, meta2);
|
|
28196
28407
|
}, []);
|
|
28197
|
-
const unregisterZone =
|
|
28408
|
+
const unregisterZone = React96__default.useCallback((zoneId2) => {
|
|
28198
28409
|
zonesRef.current.delete(zoneId2);
|
|
28199
28410
|
}, []);
|
|
28200
|
-
const [activeDrag, setActiveDrag] =
|
|
28201
|
-
const [overZoneGroup, setOverZoneGroup] =
|
|
28202
|
-
const meta =
|
|
28411
|
+
const [activeDrag, setActiveDrag] = React96__default.useState(null);
|
|
28412
|
+
const [overZoneGroup, setOverZoneGroup] = React96__default.useState(null);
|
|
28413
|
+
const meta = React96__default.useMemo(
|
|
28203
28414
|
() => ({ group: ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, rawItems: items, idField: dndItemIdField }),
|
|
28204
28415
|
[ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, items, dndItemIdField]
|
|
28205
28416
|
);
|
|
28206
|
-
|
|
28417
|
+
React96__default.useEffect(() => {
|
|
28207
28418
|
const target = isRoot ? null : parentRoot;
|
|
28208
28419
|
if (!target) {
|
|
28209
28420
|
zonesRef.current.set(zoneId, meta);
|
|
@@ -28222,7 +28433,7 @@ function useDataDnd(args) {
|
|
|
28222
28433
|
}, [parentRoot, isRoot, zoneId, meta]);
|
|
28223
28434
|
const sensors = useAlmadarDndSensors(true);
|
|
28224
28435
|
const collisionDetection = almadarDndCollisionDetection;
|
|
28225
|
-
const findZoneByItem =
|
|
28436
|
+
const findZoneByItem = React96__default.useCallback(
|
|
28226
28437
|
(id) => {
|
|
28227
28438
|
for (const z of zonesRef.current.values()) {
|
|
28228
28439
|
if (z.itemIds.includes(id)) return z;
|
|
@@ -28231,7 +28442,7 @@ function useDataDnd(args) {
|
|
|
28231
28442
|
},
|
|
28232
28443
|
[]
|
|
28233
28444
|
);
|
|
28234
|
-
|
|
28445
|
+
React96__default.useCallback(
|
|
28235
28446
|
(group) => {
|
|
28236
28447
|
for (const z of zonesRef.current.values()) {
|
|
28237
28448
|
if (z.group === group) return z;
|
|
@@ -28240,7 +28451,7 @@ function useDataDnd(args) {
|
|
|
28240
28451
|
},
|
|
28241
28452
|
[]
|
|
28242
28453
|
);
|
|
28243
|
-
const handleDragEnd =
|
|
28454
|
+
const handleDragEnd = React96__default.useCallback(
|
|
28244
28455
|
(event) => {
|
|
28245
28456
|
const { active, over } = event;
|
|
28246
28457
|
const activeIdStr = String(active.id);
|
|
@@ -28331,8 +28542,8 @@ function useDataDnd(args) {
|
|
|
28331
28542
|
},
|
|
28332
28543
|
[eventBus]
|
|
28333
28544
|
);
|
|
28334
|
-
const sortableData =
|
|
28335
|
-
const SortableItem =
|
|
28545
|
+
const sortableData = React96__default.useMemo(() => ({ dndGroup: ownGroup }), [ownGroup]);
|
|
28546
|
+
const SortableItem = React96__default.useCallback(
|
|
28336
28547
|
({ id, children }) => {
|
|
28337
28548
|
const {
|
|
28338
28549
|
attributes,
|
|
@@ -28372,7 +28583,7 @@ function useDataDnd(args) {
|
|
|
28372
28583
|
id: droppableId,
|
|
28373
28584
|
data: sortableData
|
|
28374
28585
|
});
|
|
28375
|
-
const ctx =
|
|
28586
|
+
const ctx = React96__default.useContext(RootCtx);
|
|
28376
28587
|
const activeDrag2 = ctx?.activeDrag ?? null;
|
|
28377
28588
|
const overZoneGroup2 = ctx?.overZoneGroup ?? null;
|
|
28378
28589
|
const isThisZoneOver = overZoneGroup2 === ownGroup;
|
|
@@ -28387,7 +28598,7 @@ function useDataDnd(args) {
|
|
|
28387
28598
|
showForeignPlaceholder,
|
|
28388
28599
|
ctxAvailable: ctx != null
|
|
28389
28600
|
});
|
|
28390
|
-
|
|
28601
|
+
React96__default.useEffect(() => {
|
|
28391
28602
|
dndLog.info("dropzone:isOver:change", { droppableId, group: ownGroup, isOver, isThisZoneOver, showForeignPlaceholder, activeDragSourceGroup: activeDrag2?.sourceGroup ?? null });
|
|
28392
28603
|
}, [droppableId, isOver, isThisZoneOver, showForeignPlaceholder]);
|
|
28393
28604
|
return /* @__PURE__ */ jsx(
|
|
@@ -28401,11 +28612,11 @@ function useDataDnd(args) {
|
|
|
28401
28612
|
}
|
|
28402
28613
|
);
|
|
28403
28614
|
};
|
|
28404
|
-
const rootContextValue =
|
|
28615
|
+
const rootContextValue = React96__default.useMemo(
|
|
28405
28616
|
() => ({ registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder }),
|
|
28406
28617
|
[registerZone, unregisterZone, activeDrag, overZoneGroup, optimisticOrders, clearOptimisticOrder]
|
|
28407
28618
|
);
|
|
28408
|
-
const handleDragStart =
|
|
28619
|
+
const handleDragStart = React96__default.useCallback((event) => {
|
|
28409
28620
|
const sourceZone = findZoneByItem(event.active.id);
|
|
28410
28621
|
const rect = event.active.rect.current.initial;
|
|
28411
28622
|
const height = rect?.height && rect.height > 0 ? rect.height : 64;
|
|
@@ -28424,7 +28635,7 @@ function useDataDnd(args) {
|
|
|
28424
28635
|
isRoot
|
|
28425
28636
|
});
|
|
28426
28637
|
}, [findZoneByItem, isRoot, zoneId]);
|
|
28427
|
-
const handleDragOver =
|
|
28638
|
+
const handleDragOver = React96__default.useCallback((event) => {
|
|
28428
28639
|
const { active, over } = event;
|
|
28429
28640
|
const overData = over?.data?.current;
|
|
28430
28641
|
const overGroup = overData?.dndGroup ?? null;
|
|
@@ -28494,7 +28705,7 @@ function useDataDnd(args) {
|
|
|
28494
28705
|
return next;
|
|
28495
28706
|
});
|
|
28496
28707
|
}, []);
|
|
28497
|
-
const handleDragCancel =
|
|
28708
|
+
const handleDragCancel = React96__default.useCallback((event) => {
|
|
28498
28709
|
setActiveDrag(null);
|
|
28499
28710
|
setOverZoneGroup(null);
|
|
28500
28711
|
dndLog.warn("dragCancel", {
|
|
@@ -28502,12 +28713,12 @@ function useDataDnd(args) {
|
|
|
28502
28713
|
reason: "dnd-kit cancelled the drag (escape key, pointer interrupted, or external)"
|
|
28503
28714
|
});
|
|
28504
28715
|
}, []);
|
|
28505
|
-
const handleDragEndWithCleanup =
|
|
28716
|
+
const handleDragEndWithCleanup = React96__default.useCallback((event) => {
|
|
28506
28717
|
handleDragEnd(event);
|
|
28507
28718
|
setActiveDrag(null);
|
|
28508
28719
|
setOverZoneGroup(null);
|
|
28509
28720
|
}, [handleDragEnd]);
|
|
28510
|
-
const wrapContainer =
|
|
28721
|
+
const wrapContainer = React96__default.useCallback(
|
|
28511
28722
|
(children) => {
|
|
28512
28723
|
if (!enabled) return children;
|
|
28513
28724
|
const strategy = layout === "grid" ? rectSortingStrategy : verticalListSortingStrategy;
|
|
@@ -28561,7 +28772,7 @@ var init_useDataDnd = __esm({
|
|
|
28561
28772
|
init_useAlmadarDndCollision();
|
|
28562
28773
|
init_Box();
|
|
28563
28774
|
dndLog = createLogger("almadar:ui:dnd");
|
|
28564
|
-
RootCtx =
|
|
28775
|
+
RootCtx = React96__default.createContext(null);
|
|
28565
28776
|
}
|
|
28566
28777
|
});
|
|
28567
28778
|
function renderIconInput(icon, props) {
|
|
@@ -29076,7 +29287,7 @@ function DataList({
|
|
|
29076
29287
|
}) {
|
|
29077
29288
|
const eventBus = useEventBus();
|
|
29078
29289
|
const { t } = useTranslate();
|
|
29079
|
-
const [visibleCount, setVisibleCount] =
|
|
29290
|
+
const [visibleCount, setVisibleCount] = React96__default.useState(pageSize || Infinity);
|
|
29080
29291
|
const fieldDefs = fields ?? columns ?? [];
|
|
29081
29292
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
29082
29293
|
const dnd = useDataDnd({
|
|
@@ -29092,14 +29303,14 @@ function DataList({
|
|
|
29092
29303
|
dndRoot
|
|
29093
29304
|
});
|
|
29094
29305
|
const orderedData = dnd.orderedItems;
|
|
29095
|
-
const allData =
|
|
29306
|
+
const allData = React96__default.useMemo(
|
|
29096
29307
|
() => sortRows(orderedData, sortBy, sortDirection),
|
|
29097
29308
|
[orderedData, sortBy, sortDirection]
|
|
29098
29309
|
);
|
|
29099
29310
|
const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
|
|
29100
29311
|
const hasMoreLocal = pageSize > 0 && visibleCount < allData.length;
|
|
29101
29312
|
const hasRenderProp = typeof children === "function";
|
|
29102
|
-
|
|
29313
|
+
React96__default.useEffect(() => {
|
|
29103
29314
|
const renderItemTypeOf = typeof schemaRenderItem;
|
|
29104
29315
|
const childrenTypeOf = typeof children;
|
|
29105
29316
|
if (data.length > 0 && !hasRenderProp) {
|
|
@@ -29219,7 +29430,7 @@ function DataList({
|
|
|
29219
29430
|
return v === void 0 || v === null || v === "" ? raw : String(v);
|
|
29220
29431
|
};
|
|
29221
29432
|
return /* @__PURE__ */ jsxs(VStack, { gap: "sm", className: cn("py-2", className), children: [
|
|
29222
|
-
groups2.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
29433
|
+
groups2.map((group, gi) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
29223
29434
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
|
|
29224
29435
|
group.items.map((itemData, index) => {
|
|
29225
29436
|
const id = itemData.id || `${gi}-${index}`;
|
|
@@ -29435,7 +29646,7 @@ function DataList({
|
|
|
29435
29646
|
className
|
|
29436
29647
|
),
|
|
29437
29648
|
children: [
|
|
29438
|
-
groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
29649
|
+
groups.map((group, gi) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
29439
29650
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-4" : "mt-0" }),
|
|
29440
29651
|
group.items.map(
|
|
29441
29652
|
(itemData, index) => renderItem(itemData, index, gi === groups.length - 1 && index === group.items.length - 1)
|
|
@@ -29522,7 +29733,7 @@ var init_FormSection = __esm({
|
|
|
29522
29733
|
columns = 1,
|
|
29523
29734
|
className
|
|
29524
29735
|
}) => {
|
|
29525
|
-
const [collapsed, setCollapsed] =
|
|
29736
|
+
const [collapsed, setCollapsed] = React96__default.useState(defaultCollapsed);
|
|
29526
29737
|
const { t } = useTranslate();
|
|
29527
29738
|
const eventBus = useEventBus();
|
|
29528
29739
|
const gridClass = {
|
|
@@ -29530,7 +29741,7 @@ var init_FormSection = __esm({
|
|
|
29530
29741
|
2: "grid-cols-1 md:grid-cols-2",
|
|
29531
29742
|
3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3"
|
|
29532
29743
|
}[columns];
|
|
29533
|
-
|
|
29744
|
+
React96__default.useCallback(() => {
|
|
29534
29745
|
if (collapsible) {
|
|
29535
29746
|
setCollapsed((prev) => !prev);
|
|
29536
29747
|
eventBus.emit("UI:TOGGLE_COLLAPSE", { collapsed: !collapsed });
|
|
@@ -30190,10 +30401,10 @@ var init_FileTree = __esm({
|
|
|
30190
30401
|
indent = 16
|
|
30191
30402
|
}) => {
|
|
30192
30403
|
const [overrides, setOverrides] = useState(() => /* @__PURE__ */ new Map());
|
|
30193
|
-
const byId =
|
|
30194
|
-
const selectedAncestors =
|
|
30195
|
-
const lastSelectedRef =
|
|
30196
|
-
|
|
30404
|
+
const byId = React96__default.useMemo(() => new Map(items.map((node) => [node.id, node])), [items]);
|
|
30405
|
+
const selectedAncestors = React96__default.useMemo(() => ancestorsOf(selectedId, byId), [selectedId, byId]);
|
|
30406
|
+
const lastSelectedRef = React96__default.useRef(selectedId);
|
|
30407
|
+
React96__default.useEffect(() => {
|
|
30197
30408
|
if (selectedId === lastSelectedRef.current) return;
|
|
30198
30409
|
lastSelectedRef.current = selectedId;
|
|
30199
30410
|
setOverrides((prev) => {
|
|
@@ -31027,7 +31238,7 @@ var init_Flex = __esm({
|
|
|
31027
31238
|
flexStyle.flexBasis = typeof basis === "number" ? `${basis}px` : basis;
|
|
31028
31239
|
}
|
|
31029
31240
|
}
|
|
31030
|
-
return
|
|
31241
|
+
return React96__default.createElement(Component, {
|
|
31031
31242
|
className: cn(
|
|
31032
31243
|
inline ? "inline-flex" : "flex",
|
|
31033
31244
|
directionStyles[direction],
|
|
@@ -31146,7 +31357,7 @@ var init_Grid = __esm({
|
|
|
31146
31357
|
as: Component = "div"
|
|
31147
31358
|
}) => {
|
|
31148
31359
|
const mergedStyle = rows ? { gridTemplateRows: `repeat(${rows}, minmax(0, 1fr))`, ...style } : style;
|
|
31149
|
-
return
|
|
31360
|
+
return React96__default.createElement(
|
|
31150
31361
|
Component,
|
|
31151
31362
|
{
|
|
31152
31363
|
className: cn(
|
|
@@ -31568,9 +31779,9 @@ var init_Popover = __esm({
|
|
|
31568
31779
|
onMouseLeave: handleClose,
|
|
31569
31780
|
onPointerDown: tapTriggerProps.onPointerDown
|
|
31570
31781
|
};
|
|
31571
|
-
const childElement =
|
|
31782
|
+
const childElement = React96__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
31572
31783
|
const childPointerDown = childElement.props.onPointerDown;
|
|
31573
|
-
const triggerElement =
|
|
31784
|
+
const triggerElement = React96__default.cloneElement(
|
|
31574
31785
|
childElement,
|
|
31575
31786
|
{
|
|
31576
31787
|
ref: triggerRef,
|
|
@@ -32184,9 +32395,9 @@ var init_Tooltip = __esm({
|
|
|
32184
32395
|
if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
|
|
32185
32396
|
};
|
|
32186
32397
|
}, []);
|
|
32187
|
-
const triggerElement =
|
|
32398
|
+
const triggerElement = React96__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
32188
32399
|
const childPointerDown = triggerElement.props.onPointerDown;
|
|
32189
|
-
const trigger =
|
|
32400
|
+
const trigger = React96__default.cloneElement(triggerElement, {
|
|
32190
32401
|
ref: triggerRef,
|
|
32191
32402
|
onMouseEnter: handleMouseEnter,
|
|
32192
32403
|
onMouseLeave: handleMouseLeave,
|
|
@@ -32276,7 +32487,7 @@ var init_WizardProgress = __esm({
|
|
|
32276
32487
|
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: normalizedSteps.map((step, index) => {
|
|
32277
32488
|
const isActive = index === currentStep;
|
|
32278
32489
|
const isCompleted = index < currentStep;
|
|
32279
|
-
return /* @__PURE__ */ jsxs(
|
|
32490
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
32280
32491
|
/* @__PURE__ */ jsx(
|
|
32281
32492
|
"button",
|
|
32282
32493
|
{
|
|
@@ -34935,7 +35146,7 @@ var init_MapView = __esm({
|
|
|
34935
35146
|
shadowSize: [41, 41]
|
|
34936
35147
|
});
|
|
34937
35148
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
34938
|
-
const { useEffect: useEffect68, useRef: useRef67, useCallback:
|
|
35149
|
+
const { useEffect: useEffect68, useRef: useRef67, useCallback: useCallback99, useState: useState107 } = React96__default;
|
|
34939
35150
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
34940
35151
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
34941
35152
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
@@ -34980,8 +35191,8 @@ var init_MapView = __esm({
|
|
|
34980
35191
|
showAttribution = true
|
|
34981
35192
|
}) {
|
|
34982
35193
|
const eventBus = useEventBus2();
|
|
34983
|
-
const [clickedPosition, setClickedPosition] =
|
|
34984
|
-
const handleMapClick =
|
|
35194
|
+
const [clickedPosition, setClickedPosition] = useState107(null);
|
|
35195
|
+
const handleMapClick = useCallback99((lat, lng) => {
|
|
34985
35196
|
if (showClickedPin) {
|
|
34986
35197
|
setClickedPosition({ lat, lng });
|
|
34987
35198
|
}
|
|
@@ -34990,7 +35201,7 @@ var init_MapView = __esm({
|
|
|
34990
35201
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
34991
35202
|
}
|
|
34992
35203
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
34993
|
-
const handleMarkerClick =
|
|
35204
|
+
const handleMarkerClick = useCallback99((marker) => {
|
|
34994
35205
|
onMarkerClick?.(marker);
|
|
34995
35206
|
if (markerClickEvent) {
|
|
34996
35207
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -35880,8 +36091,8 @@ function TableView({
|
|
|
35880
36091
|
}) {
|
|
35881
36092
|
const eventBus = useEventBus();
|
|
35882
36093
|
const { t } = useTranslate();
|
|
35883
|
-
const [visibleCount, setVisibleCount] =
|
|
35884
|
-
const [localSelected, setLocalSelected] =
|
|
36094
|
+
const [visibleCount, setVisibleCount] = React96__default.useState(pageSize > 0 ? pageSize : Infinity);
|
|
36095
|
+
const [localSelected, setLocalSelected] = React96__default.useState(/* @__PURE__ */ new Set());
|
|
35885
36096
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
35886
36097
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
35887
36098
|
const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
@@ -35902,7 +36113,7 @@ function TableView({
|
|
|
35902
36113
|
const hasMore = pageSize > 0 && visibleCount < ordered2.length;
|
|
35903
36114
|
const hasRenderProp = typeof children === "function";
|
|
35904
36115
|
const idField = dndItemIdField ?? "id";
|
|
35905
|
-
|
|
36116
|
+
React96__default.useEffect(() => {
|
|
35906
36117
|
tableViewLog.debug("render", {
|
|
35907
36118
|
rowCount: data.length,
|
|
35908
36119
|
colCount: colDefs.length,
|
|
@@ -35952,7 +36163,7 @@ function TableView({
|
|
|
35952
36163
|
};
|
|
35953
36164
|
eventBus.emit(`UI:${rowClickEvent}`, payload);
|
|
35954
36165
|
};
|
|
35955
|
-
const colFloors =
|
|
36166
|
+
const colFloors = React96__default.useMemo(
|
|
35956
36167
|
() => colDefs.map((col) => {
|
|
35957
36168
|
const longest = data.reduce((widest, row) => {
|
|
35958
36169
|
const cell = formatCell(asFieldValue(getNestedValue(row, col.field ?? col.key)), col.format);
|
|
@@ -36095,12 +36306,12 @@ function TableView({
|
|
|
36095
36306
|
]
|
|
36096
36307
|
}
|
|
36097
36308
|
);
|
|
36098
|
-
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(
|
|
36309
|
+
return dnd.isZone ? /* @__PURE__ */ jsx(dnd.SortableItem, { id: row[idField] ?? id, children: rowInner }, id) : /* @__PURE__ */ jsx(React96__default.Fragment, { children: rowInner }, id);
|
|
36099
36310
|
};
|
|
36100
36311
|
const items = Array.from(data);
|
|
36101
36312
|
const groups = groupBy ? groupData2(items, groupBy) : [{ label: "", items }];
|
|
36102
36313
|
let runningIndex = 0;
|
|
36103
|
-
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(
|
|
36314
|
+
const body = /* @__PURE__ */ jsx(Box, { role: "rowgroup", children: groups.map((group, gi) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
36104
36315
|
group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: gi > 0 ? "mt-3" : "mt-0" }),
|
|
36105
36316
|
group.items.map((row) => renderRow(row, runningIndex++))
|
|
36106
36317
|
] }, gi)) });
|
|
@@ -37469,7 +37680,7 @@ var init_StepFlow = __esm({
|
|
|
37469
37680
|
className
|
|
37470
37681
|
}) => {
|
|
37471
37682
|
if (orientation === "vertical") {
|
|
37472
|
-
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(
|
|
37683
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("w-full", className), children: steps.map((step, index) => /* @__PURE__ */ jsx(React96__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
|
|
37473
37684
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", align: "center", children: [
|
|
37474
37685
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
37475
37686
|
showConnectors && index < steps.length - 1 && /* @__PURE__ */ jsx(Box, { className: "w-px h-8 bg-border" })
|
|
@@ -37480,7 +37691,7 @@ var init_StepFlow = __esm({
|
|
|
37480
37691
|
] })
|
|
37481
37692
|
] }) }, index)) });
|
|
37482
37693
|
}
|
|
37483
|
-
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(
|
|
37694
|
+
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(React96__default.Fragment, { children: [
|
|
37484
37695
|
/* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", className: "flex-1 w-full md:w-auto", children: [
|
|
37485
37696
|
/* @__PURE__ */ jsx(StepCircle, { step, index }),
|
|
37486
37697
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-center", children: step.title }),
|
|
@@ -38470,7 +38681,7 @@ var init_LikertScale = __esm({
|
|
|
38470
38681
|
md: "text-base",
|
|
38471
38682
|
lg: "text-lg"
|
|
38472
38683
|
};
|
|
38473
|
-
LikertScale =
|
|
38684
|
+
LikertScale = React96__default.forwardRef(
|
|
38474
38685
|
({
|
|
38475
38686
|
question,
|
|
38476
38687
|
options = DEFAULT_LIKERT_OPTIONS,
|
|
@@ -38482,7 +38693,7 @@ var init_LikertScale = __esm({
|
|
|
38482
38693
|
variant = "radios",
|
|
38483
38694
|
className
|
|
38484
38695
|
}, ref) => {
|
|
38485
|
-
const groupId =
|
|
38696
|
+
const groupId = React96__default.useId();
|
|
38486
38697
|
const eventBus = useEventBus();
|
|
38487
38698
|
const handleSelect = useCallback(
|
|
38488
38699
|
(next) => {
|
|
@@ -40905,7 +41116,7 @@ var init_DocBreadcrumb = __esm({
|
|
|
40905
41116
|
"aria-label": t("aria.breadcrumb"),
|
|
40906
41117
|
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", wrap: true, children: items.map((item, idx) => {
|
|
40907
41118
|
const isLast = idx === items.length - 1;
|
|
40908
|
-
return /* @__PURE__ */ jsxs(
|
|
41119
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
40909
41120
|
idx > 0 && /* @__PURE__ */ jsx(
|
|
40910
41121
|
Icon,
|
|
40911
41122
|
{
|
|
@@ -41570,7 +41781,7 @@ var init_PageHeader = __esm({
|
|
|
41570
41781
|
info: "bg-info/10 text-info"
|
|
41571
41782
|
};
|
|
41572
41783
|
return /* @__PURE__ */ jsxs(Box, { className: cn("mb-6", className), children: [
|
|
41573
|
-
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(
|
|
41784
|
+
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(React96__default.Fragment, { children: [
|
|
41574
41785
|
idx > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "muted", children: "/" }),
|
|
41575
41786
|
crumb.href ? /* @__PURE__ */ jsx(
|
|
41576
41787
|
"a",
|
|
@@ -41928,7 +42139,7 @@ var init_Section = __esm({
|
|
|
41928
42139
|
as: Component = "section"
|
|
41929
42140
|
}) => {
|
|
41930
42141
|
const hasHeader = title || description || action;
|
|
41931
|
-
return
|
|
42142
|
+
return React96__default.createElement(
|
|
41932
42143
|
Component,
|
|
41933
42144
|
{
|
|
41934
42145
|
className: cn(
|
|
@@ -42302,7 +42513,7 @@ var init_WizardContainer = __esm({
|
|
|
42302
42513
|
const isCompleted = index < currentStep;
|
|
42303
42514
|
const stepKey = step.id ?? step.tabId ?? `step-${index}`;
|
|
42304
42515
|
const stepTitle = step.title ?? step.name ?? `Step ${index + 1}`;
|
|
42305
|
-
return /* @__PURE__ */ jsxs(
|
|
42516
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
42306
42517
|
/* @__PURE__ */ jsx(
|
|
42307
42518
|
Button,
|
|
42308
42519
|
{
|
|
@@ -44089,7 +44300,7 @@ var init_ImportPreviewTree = __esm({
|
|
|
44089
44300
|
const renderUnit = (unit, childrenByParent, depth) => {
|
|
44090
44301
|
const summary = fieldSummary(unit);
|
|
44091
44302
|
const children = childrenByParent.get(unit.ref) ?? [];
|
|
44092
|
-
return /* @__PURE__ */ jsxs(
|
|
44303
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
44093
44304
|
/* @__PURE__ */ jsxs(
|
|
44094
44305
|
Box,
|
|
44095
44306
|
{
|
|
@@ -44186,7 +44397,7 @@ var init_ImportProgress = __esm({
|
|
|
44186
44397
|
PIPELINE.map((key, index) => {
|
|
44187
44398
|
const isComplete = index < currentIndex;
|
|
44188
44399
|
const isActive = index === currentIndex;
|
|
44189
|
-
return /* @__PURE__ */ jsxs(
|
|
44400
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
44190
44401
|
index > 0 ? /* @__PURE__ */ jsx(Box, { className: "h-px w-4 bg-border" }) : null,
|
|
44191
44402
|
/* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-1", "data-testid": `import-progress-step-${key}`, children: [
|
|
44192
44403
|
/* @__PURE__ */ jsx(
|
|
@@ -45127,7 +45338,7 @@ var init_DetailPanel = __esm({
|
|
|
45127
45338
|
}) => {
|
|
45128
45339
|
const eventBus = useEventBus();
|
|
45129
45340
|
const { t } = useTranslate();
|
|
45130
|
-
const [titleDraft, setTitleDraft] =
|
|
45341
|
+
const [titleDraft, setTitleDraft] = React96__default.useState(null);
|
|
45131
45342
|
const isFieldDefArray = (arr) => {
|
|
45132
45343
|
if (!arr || arr.length === 0) return false;
|
|
45133
45344
|
const first = arr[0];
|
|
@@ -45593,7 +45804,7 @@ var init_SplitPane = __esm({
|
|
|
45593
45804
|
/* @__PURE__ */ jsx(
|
|
45594
45805
|
"div",
|
|
45595
45806
|
{
|
|
45596
|
-
className: cn("overflow-auto", leftClassName),
|
|
45807
|
+
className: cn("flex flex-col overflow-auto", leftClassName),
|
|
45597
45808
|
style: {
|
|
45598
45809
|
[isHorizontal ? "width" : "height"]: `${ratio}%`,
|
|
45599
45810
|
flexShrink: 0
|
|
@@ -45611,7 +45822,7 @@ var init_SplitPane = __esm({
|
|
|
45611
45822
|
)
|
|
45612
45823
|
}
|
|
45613
45824
|
),
|
|
45614
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex-1 overflow-auto", rightClassName), children: right })
|
|
45825
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col flex-1 min-h-0 min-w-0 overflow-auto", rightClassName), children: right })
|
|
45615
45826
|
]
|
|
45616
45827
|
}
|
|
45617
45828
|
);
|
|
@@ -45657,7 +45868,7 @@ var init_DockLayout = __esm({
|
|
|
45657
45868
|
const showBottomPanel = Boolean(bottomPanel) && !bottomPanelCollapsed;
|
|
45658
45869
|
const showSecondarySidebar = Boolean(secondarySidebar) && !secondarySidebarCollapsed;
|
|
45659
45870
|
const centerRow = /* @__PURE__ */ jsxs(HStack, { gap: "none", className: "flex-1 min-h-0 min-w-0", children: [
|
|
45660
|
-
/* @__PURE__ */ jsx(Box, { className: cn("flex-1 min-w-0 h-
|
|
45871
|
+
/* @__PURE__ */ jsx(Box, { className: cn("flex-1 min-w-0 min-h-0 overflow-auto", mainClassName), children: main }),
|
|
45661
45872
|
showSecondarySidebar && /* @__PURE__ */ jsx(
|
|
45662
45873
|
Box,
|
|
45663
45874
|
{
|
|
@@ -45688,7 +45899,7 @@ var init_DockLayout = __esm({
|
|
|
45688
45899
|
Box,
|
|
45689
45900
|
{
|
|
45690
45901
|
className: cn(
|
|
45691
|
-
"flex-shrink-0 h-
|
|
45902
|
+
"flex-shrink-0 min-h-0 overflow-auto border-r border-border",
|
|
45692
45903
|
railClassName
|
|
45693
45904
|
),
|
|
45694
45905
|
style: { width: railWidth },
|
|
@@ -45737,7 +45948,7 @@ var init_DockLayout = __esm({
|
|
|
45737
45948
|
}
|
|
45738
45949
|
});
|
|
45739
45950
|
function extractTitle(children) {
|
|
45740
|
-
if (!
|
|
45951
|
+
if (!React96__default.isValidElement(children)) return void 0;
|
|
45741
45952
|
const props = children.props;
|
|
45742
45953
|
if (typeof props.title === "string") {
|
|
45743
45954
|
return props.title;
|
|
@@ -46099,7 +46310,7 @@ var init_Form = __esm({
|
|
|
46099
46310
|
const isSchemaEntity = isOrbitalEntitySchema(entity);
|
|
46100
46311
|
const resolvedEntity = isSchemaEntity ? entity : void 0;
|
|
46101
46312
|
const entityName = typeof entity === "string" ? entity : resolvedEntity?.name;
|
|
46102
|
-
const normalizedInitialData =
|
|
46313
|
+
const normalizedInitialData = React96__default.useMemo(() => {
|
|
46103
46314
|
const entityRowAsInitial = isPlainEntityRow(entity) ? entity : void 0;
|
|
46104
46315
|
const callerInitial = initialData !== null && typeof initialData === "object" && !Array.isArray(initialData) ? initialData : {};
|
|
46105
46316
|
const merged = entityRowAsInitial !== void 0 ? { ...entityRowAsInitial, ...callerInitial } : callerInitial;
|
|
@@ -46118,7 +46329,7 @@ var init_Form = __esm({
|
|
|
46118
46329
|
}
|
|
46119
46330
|
return normalized;
|
|
46120
46331
|
}, [entity, initialData]);
|
|
46121
|
-
const entityDerivedFields =
|
|
46332
|
+
const entityDerivedFields = React96__default.useMemo(() => {
|
|
46122
46333
|
if (fields && fields.length > 0) return void 0;
|
|
46123
46334
|
if (!resolvedEntity) return void 0;
|
|
46124
46335
|
return resolvedEntity.fields.map(
|
|
@@ -46139,16 +46350,16 @@ var init_Form = __esm({
|
|
|
46139
46350
|
const conditionalFields = typeof conditionalFieldsRaw === "boolean" ? {} : conditionalFieldsRaw;
|
|
46140
46351
|
const hiddenCalculations = typeof hiddenCalculationsRaw === "boolean" ? [] : hiddenCalculationsRaw;
|
|
46141
46352
|
const violationTriggers = typeof violationTriggersRaw === "boolean" ? [] : violationTriggersRaw;
|
|
46142
|
-
const [formData, setFormData] =
|
|
46353
|
+
const [formData, setFormData] = React96__default.useState(
|
|
46143
46354
|
normalizedInitialData
|
|
46144
46355
|
);
|
|
46145
|
-
const [collapsedSections, setCollapsedSections] =
|
|
46356
|
+
const [collapsedSections, setCollapsedSections] = React96__default.useState(
|
|
46146
46357
|
/* @__PURE__ */ new Set()
|
|
46147
46358
|
);
|
|
46148
|
-
const [submitError, setSubmitError] =
|
|
46149
|
-
const formRef =
|
|
46359
|
+
const [submitError, setSubmitError] = React96__default.useState(null);
|
|
46360
|
+
const formRef = React96__default.useRef(null);
|
|
46150
46361
|
const formMode = props.mode;
|
|
46151
|
-
const mountedRef =
|
|
46362
|
+
const mountedRef = React96__default.useRef(false);
|
|
46152
46363
|
if (!mountedRef.current) {
|
|
46153
46364
|
mountedRef.current = true;
|
|
46154
46365
|
debug("forms", "mount", {
|
|
@@ -46161,7 +46372,7 @@ var init_Form = __esm({
|
|
|
46161
46372
|
});
|
|
46162
46373
|
}
|
|
46163
46374
|
const shouldShowCancel = showCancel ?? (fields && fields.length > 0);
|
|
46164
|
-
const evalContext =
|
|
46375
|
+
const evalContext = React96__default.useMemo(
|
|
46165
46376
|
() => ({
|
|
46166
46377
|
formValues: formData,
|
|
46167
46378
|
globalVariables: externalContext?.globalVariables ?? {},
|
|
@@ -46170,7 +46381,7 @@ var init_Form = __esm({
|
|
|
46170
46381
|
}),
|
|
46171
46382
|
[formData, externalContext]
|
|
46172
46383
|
);
|
|
46173
|
-
|
|
46384
|
+
React96__default.useEffect(() => {
|
|
46174
46385
|
debug("forms", "initialData-sync", {
|
|
46175
46386
|
mode: formMode,
|
|
46176
46387
|
normalizedInitialData,
|
|
@@ -46181,7 +46392,7 @@ var init_Form = __esm({
|
|
|
46181
46392
|
setFormData(normalizedInitialData);
|
|
46182
46393
|
}
|
|
46183
46394
|
}, [normalizedInitialData]);
|
|
46184
|
-
const processCalculations =
|
|
46395
|
+
const processCalculations = React96__default.useCallback(
|
|
46185
46396
|
(changedFieldId, newFormData) => {
|
|
46186
46397
|
if (!hiddenCalculations.length) return;
|
|
46187
46398
|
const context = {
|
|
@@ -46206,7 +46417,7 @@ var init_Form = __esm({
|
|
|
46206
46417
|
},
|
|
46207
46418
|
[hiddenCalculations, externalContext, eventBus]
|
|
46208
46419
|
);
|
|
46209
|
-
const checkViolations =
|
|
46420
|
+
const checkViolations = React96__default.useCallback(
|
|
46210
46421
|
(changedFieldId, newFormData) => {
|
|
46211
46422
|
if (!violationTriggers.length) return;
|
|
46212
46423
|
const context = {
|
|
@@ -46244,7 +46455,7 @@ var init_Form = __esm({
|
|
|
46244
46455
|
processCalculations(name, newFormData);
|
|
46245
46456
|
checkViolations(name, newFormData);
|
|
46246
46457
|
};
|
|
46247
|
-
const isFieldVisible =
|
|
46458
|
+
const isFieldVisible = React96__default.useCallback(
|
|
46248
46459
|
(fieldName2) => {
|
|
46249
46460
|
const condition = conditionalFields[fieldName2];
|
|
46250
46461
|
if (!condition) return true;
|
|
@@ -46252,7 +46463,7 @@ var init_Form = __esm({
|
|
|
46252
46463
|
},
|
|
46253
46464
|
[conditionalFields, evalContext]
|
|
46254
46465
|
);
|
|
46255
|
-
const isSectionVisible =
|
|
46466
|
+
const isSectionVisible = React96__default.useCallback(
|
|
46256
46467
|
(section) => {
|
|
46257
46468
|
if (!section.condition) return true;
|
|
46258
46469
|
return Boolean(evaluateFormExpression(section.condition, evalContext));
|
|
@@ -46328,7 +46539,7 @@ var init_Form = __esm({
|
|
|
46328
46539
|
eventBus.emit(`UI:${onCancel}`);
|
|
46329
46540
|
}
|
|
46330
46541
|
};
|
|
46331
|
-
const renderField =
|
|
46542
|
+
const renderField = React96__default.useCallback(
|
|
46332
46543
|
(field) => {
|
|
46333
46544
|
const fieldName2 = field.name || field.field;
|
|
46334
46545
|
if (!fieldName2) return null;
|
|
@@ -46350,7 +46561,7 @@ var init_Form = __esm({
|
|
|
46350
46561
|
[formData, isFieldVisible, relationsData, relationsLoading, isLoading]
|
|
46351
46562
|
);
|
|
46352
46563
|
const effectiveFields = entityDerivedFields ?? fields;
|
|
46353
|
-
const normalizedFields =
|
|
46564
|
+
const normalizedFields = React96__default.useMemo(() => {
|
|
46354
46565
|
if (!effectiveFields || effectiveFields.length === 0) return [];
|
|
46355
46566
|
return effectiveFields.map((field) => {
|
|
46356
46567
|
if (typeof field === "string") {
|
|
@@ -46385,7 +46596,7 @@ var init_Form = __esm({
|
|
|
46385
46596
|
};
|
|
46386
46597
|
});
|
|
46387
46598
|
}, [effectiveFields, resolvedEntity, fieldOverrides]);
|
|
46388
|
-
const schemaFields =
|
|
46599
|
+
const schemaFields = React96__default.useMemo(() => {
|
|
46389
46600
|
if (normalizedFields.length === 0) return null;
|
|
46390
46601
|
if (isDebugEnabled()) {
|
|
46391
46602
|
debugGroup(`Form: ${entityName || "unknown"}`);
|
|
@@ -46395,7 +46606,7 @@ var init_Form = __esm({
|
|
|
46395
46606
|
}
|
|
46396
46607
|
return normalizedFields.map(renderField).filter(Boolean);
|
|
46397
46608
|
}, [normalizedFields, renderField, entityName, conditionalFields]);
|
|
46398
|
-
const sectionElements =
|
|
46609
|
+
const sectionElements = React96__default.useMemo(() => {
|
|
46399
46610
|
if (!sections || sections.length === 0) return null;
|
|
46400
46611
|
return sections.map((section) => {
|
|
46401
46612
|
if (!isSectionVisible(section)) {
|
|
@@ -47231,7 +47442,7 @@ var init_List = __esm({
|
|
|
47231
47442
|
if (entity && typeof entity === "object" && "id" in entity) return [entity];
|
|
47232
47443
|
return [];
|
|
47233
47444
|
}, [entity]);
|
|
47234
|
-
const getItemActions =
|
|
47445
|
+
const getItemActions = React96__default.useCallback(
|
|
47235
47446
|
(item) => {
|
|
47236
47447
|
if (!itemActions) return [];
|
|
47237
47448
|
if (typeof itemActions === "function") {
|
|
@@ -47713,7 +47924,7 @@ var init_MediaGallery = __esm({
|
|
|
47713
47924
|
[selectable, selectedItems, selectionEvent, eventBus]
|
|
47714
47925
|
);
|
|
47715
47926
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
47716
|
-
const items =
|
|
47927
|
+
const items = React96__default.useMemo(() => {
|
|
47717
47928
|
if (propItems && propItems.length > 0) return propItems;
|
|
47718
47929
|
if (entityData.length === 0) return [];
|
|
47719
47930
|
return entityData.map((record, idx) => {
|
|
@@ -47878,7 +48089,7 @@ var init_MediaGallery = __esm({
|
|
|
47878
48089
|
}
|
|
47879
48090
|
});
|
|
47880
48091
|
function extractTitle2(children) {
|
|
47881
|
-
if (!
|
|
48092
|
+
if (!React96__default.isValidElement(children)) return void 0;
|
|
47882
48093
|
const props = children.props;
|
|
47883
48094
|
if (typeof props.title === "string") {
|
|
47884
48095
|
return props.title;
|
|
@@ -48152,7 +48363,7 @@ var init_debugRegistry = __esm({
|
|
|
48152
48363
|
}
|
|
48153
48364
|
});
|
|
48154
48365
|
function useDebugData() {
|
|
48155
|
-
const [data, setData] =
|
|
48366
|
+
const [data, setData] = React96.useState(() => ({
|
|
48156
48367
|
traits: [],
|
|
48157
48368
|
ticks: [],
|
|
48158
48369
|
guards: [],
|
|
@@ -48166,7 +48377,7 @@ function useDebugData() {
|
|
|
48166
48377
|
},
|
|
48167
48378
|
lastUpdate: Date.now()
|
|
48168
48379
|
}));
|
|
48169
|
-
|
|
48380
|
+
React96.useEffect(() => {
|
|
48170
48381
|
const updateData = () => {
|
|
48171
48382
|
setData({
|
|
48172
48383
|
traits: getAllTraits(),
|
|
@@ -48275,12 +48486,12 @@ function layoutGraph(states, transitions, initialState, width, height) {
|
|
|
48275
48486
|
return positions;
|
|
48276
48487
|
}
|
|
48277
48488
|
function WalkMinimap() {
|
|
48278
|
-
const [walkStep, setWalkStep] =
|
|
48279
|
-
const [traits2, setTraits] =
|
|
48280
|
-
const [coveredEdges, setCoveredEdges] =
|
|
48281
|
-
const [completedTraits, setCompletedTraits] =
|
|
48282
|
-
const prevTraitRef =
|
|
48283
|
-
|
|
48489
|
+
const [walkStep, setWalkStep] = React96.useState(null);
|
|
48490
|
+
const [traits2, setTraits] = React96.useState([]);
|
|
48491
|
+
const [coveredEdges, setCoveredEdges] = React96.useState([]);
|
|
48492
|
+
const [completedTraits, setCompletedTraits] = React96.useState(/* @__PURE__ */ new Set());
|
|
48493
|
+
const prevTraitRef = React96.useRef(null);
|
|
48494
|
+
React96.useEffect(() => {
|
|
48284
48495
|
const interval = setInterval(() => {
|
|
48285
48496
|
const w = window;
|
|
48286
48497
|
const step = w.__orbitalWalkStep;
|
|
@@ -48716,15 +48927,15 @@ var init_EntitiesTab = __esm({
|
|
|
48716
48927
|
});
|
|
48717
48928
|
function EventFlowTab({ events: events2 }) {
|
|
48718
48929
|
const { t } = useTranslate();
|
|
48719
|
-
const [filter, setFilter] =
|
|
48720
|
-
const containerRef =
|
|
48721
|
-
const [autoScroll, setAutoScroll] =
|
|
48722
|
-
|
|
48930
|
+
const [filter, setFilter] = React96.useState("all");
|
|
48931
|
+
const containerRef = React96.useRef(null);
|
|
48932
|
+
const [autoScroll, setAutoScroll] = React96.useState(true);
|
|
48933
|
+
React96.useEffect(() => {
|
|
48723
48934
|
if (autoScroll && containerRef.current) {
|
|
48724
48935
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
48725
48936
|
}
|
|
48726
48937
|
}, [events2.length, autoScroll]);
|
|
48727
|
-
const filteredEvents =
|
|
48938
|
+
const filteredEvents = React96.useMemo(() => {
|
|
48728
48939
|
if (filter === "all") return events2;
|
|
48729
48940
|
return events2.filter((e) => e.type === filter);
|
|
48730
48941
|
}, [events2, filter]);
|
|
@@ -48840,7 +49051,7 @@ var init_EventFlowTab = __esm({
|
|
|
48840
49051
|
});
|
|
48841
49052
|
function GuardsPanel({ guards }) {
|
|
48842
49053
|
const { t } = useTranslate();
|
|
48843
|
-
const [filter, setFilter] =
|
|
49054
|
+
const [filter, setFilter] = React96.useState("all");
|
|
48844
49055
|
if (guards.length === 0) {
|
|
48845
49056
|
return /* @__PURE__ */ jsx(
|
|
48846
49057
|
EmptyState,
|
|
@@ -48853,7 +49064,7 @@ function GuardsPanel({ guards }) {
|
|
|
48853
49064
|
}
|
|
48854
49065
|
const passedCount = guards.filter((g) => g.result).length;
|
|
48855
49066
|
const failedCount = guards.length - passedCount;
|
|
48856
|
-
const filteredGuards =
|
|
49067
|
+
const filteredGuards = React96.useMemo(() => {
|
|
48857
49068
|
if (filter === "all") return guards;
|
|
48858
49069
|
if (filter === "passed") return guards.filter((g) => g.result);
|
|
48859
49070
|
return guards.filter((g) => !g.result);
|
|
@@ -49016,10 +49227,10 @@ function EffectBadge({ effect }) {
|
|
|
49016
49227
|
}
|
|
49017
49228
|
function TransitionTimeline({ transitions }) {
|
|
49018
49229
|
const { t } = useTranslate();
|
|
49019
|
-
const containerRef =
|
|
49020
|
-
const [autoScroll, setAutoScroll] =
|
|
49021
|
-
const [expandedId, setExpandedId] =
|
|
49022
|
-
|
|
49230
|
+
const containerRef = React96.useRef(null);
|
|
49231
|
+
const [autoScroll, setAutoScroll] = React96.useState(true);
|
|
49232
|
+
const [expandedId, setExpandedId] = React96.useState(null);
|
|
49233
|
+
React96.useEffect(() => {
|
|
49023
49234
|
if (autoScroll && containerRef.current) {
|
|
49024
49235
|
containerRef.current.scrollTop = containerRef.current.scrollHeight;
|
|
49025
49236
|
}
|
|
@@ -49299,9 +49510,9 @@ function getAllEvents(traits2) {
|
|
|
49299
49510
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
49300
49511
|
const eventBus = useEventBus();
|
|
49301
49512
|
const { t } = useTranslate();
|
|
49302
|
-
const [log11, setLog] =
|
|
49303
|
-
const prevStatesRef =
|
|
49304
|
-
|
|
49513
|
+
const [log11, setLog] = React96.useState([]);
|
|
49514
|
+
const prevStatesRef = React96.useRef(/* @__PURE__ */ new Map());
|
|
49515
|
+
React96.useEffect(() => {
|
|
49305
49516
|
for (const trait of traits2) {
|
|
49306
49517
|
const prev = prevStatesRef.current.get(trait.id);
|
|
49307
49518
|
if (prev && prev !== trait.currentState) {
|
|
@@ -49470,10 +49681,10 @@ function VerifyModePanel({
|
|
|
49470
49681
|
localCount
|
|
49471
49682
|
}) {
|
|
49472
49683
|
const { t } = useTranslate();
|
|
49473
|
-
const [expanded, setExpanded] =
|
|
49474
|
-
const scrollRef =
|
|
49475
|
-
const prevCountRef =
|
|
49476
|
-
|
|
49684
|
+
const [expanded, setExpanded] = React96.useState(true);
|
|
49685
|
+
const scrollRef = React96.useRef(null);
|
|
49686
|
+
const prevCountRef = React96.useRef(0);
|
|
49687
|
+
React96.useEffect(() => {
|
|
49477
49688
|
if (expanded && transitions.length > prevCountRef.current && scrollRef.current) {
|
|
49478
49689
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
49479
49690
|
}
|
|
@@ -49530,10 +49741,10 @@ function RuntimeDebugger({
|
|
|
49530
49741
|
schema
|
|
49531
49742
|
}) {
|
|
49532
49743
|
const { t } = useTranslate();
|
|
49533
|
-
const [isCollapsed, setIsCollapsed] =
|
|
49534
|
-
const [isVisible, setIsVisible] =
|
|
49744
|
+
const [isCollapsed, setIsCollapsed] = React96.useState(mode === "verify" ? true : defaultCollapsed);
|
|
49745
|
+
const [isVisible, setIsVisible] = React96.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
|
|
49535
49746
|
const debugData = useDebugData();
|
|
49536
|
-
|
|
49747
|
+
React96.useEffect(() => {
|
|
49537
49748
|
if (mode === "inline") return;
|
|
49538
49749
|
return onDebugToggle((enabled) => {
|
|
49539
49750
|
setIsVisible(enabled);
|
|
@@ -49542,7 +49753,7 @@ function RuntimeDebugger({
|
|
|
49542
49753
|
}
|
|
49543
49754
|
});
|
|
49544
49755
|
}, [mode]);
|
|
49545
|
-
|
|
49756
|
+
React96.useEffect(() => {
|
|
49546
49757
|
if (mode === "inline") return;
|
|
49547
49758
|
const handleKeyDown = (e) => {
|
|
49548
49759
|
if (e.key === "`" && isVisible) {
|
|
@@ -49973,7 +50184,7 @@ var init_StatCard = __esm({
|
|
|
49973
50184
|
const labelToUse = propLabel ?? propTitle;
|
|
49974
50185
|
const eventBus = useEventBus();
|
|
49975
50186
|
const { t } = useTranslate();
|
|
49976
|
-
const handleActionClick =
|
|
50187
|
+
const handleActionClick = React96__default.useCallback(() => {
|
|
49977
50188
|
if (action?.event) {
|
|
49978
50189
|
eventBus.emit(`UI:${action.event}`, {});
|
|
49979
50190
|
}
|
|
@@ -49984,7 +50195,7 @@ var init_StatCard = __esm({
|
|
|
49984
50195
|
const data = Array.isArray(entity) ? entity : entity ? [entity] : [];
|
|
49985
50196
|
const isLoading = externalLoading ?? false;
|
|
49986
50197
|
const error = externalError;
|
|
49987
|
-
const computeMetricValue =
|
|
50198
|
+
const computeMetricValue = React96__default.useCallback(
|
|
49988
50199
|
(metric, items) => {
|
|
49989
50200
|
if (metric.value !== void 0) {
|
|
49990
50201
|
return metric.value;
|
|
@@ -50023,7 +50234,7 @@ var init_StatCard = __esm({
|
|
|
50023
50234
|
},
|
|
50024
50235
|
[]
|
|
50025
50236
|
);
|
|
50026
|
-
const schemaStats =
|
|
50237
|
+
const schemaStats = React96__default.useMemo(() => {
|
|
50027
50238
|
if (!metrics || metrics.length === 0) return null;
|
|
50028
50239
|
return metrics.map((metric) => ({
|
|
50029
50240
|
label: metric.label,
|
|
@@ -50031,7 +50242,7 @@ var init_StatCard = __esm({
|
|
|
50031
50242
|
format: metric.format
|
|
50032
50243
|
}));
|
|
50033
50244
|
}, [metrics, data, computeMetricValue]);
|
|
50034
|
-
const calculatedTrend =
|
|
50245
|
+
const calculatedTrend = React96__default.useMemo(() => {
|
|
50035
50246
|
if (manualTrend !== void 0) return manualTrend;
|
|
50036
50247
|
if (previousValue === void 0 || currentValue === void 0)
|
|
50037
50248
|
return void 0;
|
|
@@ -50671,8 +50882,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
50671
50882
|
] });
|
|
50672
50883
|
};
|
|
50673
50884
|
InlineActivityStream = ({ activities, autoScroll = true, className }) => {
|
|
50674
|
-
const endRef =
|
|
50675
|
-
|
|
50885
|
+
const endRef = React96__default.useRef(null);
|
|
50886
|
+
React96__default.useEffect(() => {
|
|
50676
50887
|
if (!autoScroll) return;
|
|
50677
50888
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
50678
50889
|
}, [activities.length, autoScroll]);
|
|
@@ -50766,7 +50977,7 @@ var init_SubagentTracePanel = __esm({
|
|
|
50766
50977
|
};
|
|
50767
50978
|
SubagentRichCard = ({ subagent }) => {
|
|
50768
50979
|
const { t } = useTranslate();
|
|
50769
|
-
const activities =
|
|
50980
|
+
const activities = React96__default.useMemo(
|
|
50770
50981
|
() => subagentMessagesToActivities(subagent.messages),
|
|
50771
50982
|
[subagent.messages]
|
|
50772
50983
|
);
|
|
@@ -50843,8 +51054,8 @@ var init_SubagentTracePanel = __esm({
|
|
|
50843
51054
|
] });
|
|
50844
51055
|
};
|
|
50845
51056
|
CoordinatorConversation = ({ messages, autoScroll = true, className }) => {
|
|
50846
|
-
const endRef =
|
|
50847
|
-
|
|
51057
|
+
const endRef = React96__default.useRef(null);
|
|
51058
|
+
React96__default.useEffect(() => {
|
|
50848
51059
|
if (!autoScroll) return;
|
|
50849
51060
|
endRef.current?.scrollIntoView({ behavior: "smooth", block: "end" });
|
|
50850
51061
|
}, [messages.length, autoScroll]);
|
|
@@ -51279,7 +51490,7 @@ var init_Timeline = __esm({
|
|
|
51279
51490
|
}) => {
|
|
51280
51491
|
const { t } = useTranslate();
|
|
51281
51492
|
const entityData = entity ?? [];
|
|
51282
|
-
const items =
|
|
51493
|
+
const items = React96__default.useMemo(() => {
|
|
51283
51494
|
if (propItems) return propItems;
|
|
51284
51495
|
if (entityData.length === 0) return [];
|
|
51285
51496
|
return entityData.map((record, idx) => {
|
|
@@ -51381,7 +51592,7 @@ var init_Timeline = __esm({
|
|
|
51381
51592
|
}
|
|
51382
51593
|
});
|
|
51383
51594
|
function extractToastProps(children) {
|
|
51384
|
-
if (!
|
|
51595
|
+
if (!React96__default.isValidElement(children)) {
|
|
51385
51596
|
if (typeof children === "string") {
|
|
51386
51597
|
return { message: children };
|
|
51387
51598
|
}
|
|
@@ -51423,7 +51634,7 @@ var init_ToastSlot = __esm({
|
|
|
51423
51634
|
eventBus.emit(`${prefix}CLOSE`);
|
|
51424
51635
|
};
|
|
51425
51636
|
if (!isVisible) return null;
|
|
51426
|
-
const isCustomContent =
|
|
51637
|
+
const isCustomContent = React96__default.isValidElement(children) && !message;
|
|
51427
51638
|
return /* @__PURE__ */ jsx(Box, { className: "fixed bottom-4 right-4 z-50", children: isCustomContent ? children : /* @__PURE__ */ jsx(
|
|
51428
51639
|
Toast,
|
|
51429
51640
|
{
|
|
@@ -51491,6 +51702,7 @@ var init_component_registry_generated = __esm({
|
|
|
51491
51702
|
init_ChoiceButton();
|
|
51492
51703
|
init_CodeBlock();
|
|
51493
51704
|
init_CodeRunnerPanel();
|
|
51705
|
+
init_CommandPalette();
|
|
51494
51706
|
init_CommunityLinks();
|
|
51495
51707
|
init_ConditionalWrapper();
|
|
51496
51708
|
init_ConfettiEffect();
|
|
@@ -51765,6 +51977,7 @@ var init_component_registry_generated = __esm({
|
|
|
51765
51977
|
"ChoiceButton": ChoiceButton,
|
|
51766
51978
|
"CodeBlock": CodeBlock,
|
|
51767
51979
|
"CodeRunnerPanel": CodeRunnerPanel,
|
|
51980
|
+
"CommandPalette": CommandPalette,
|
|
51768
51981
|
"CommunityLinks": CommunityLinks,
|
|
51769
51982
|
"ConditionalWrapper": ConditionalWrapper,
|
|
51770
51983
|
"ConfettiEffect": ConfettiEffect,
|
|
@@ -52013,7 +52226,7 @@ function SuspenseConfigProvider({
|
|
|
52013
52226
|
config,
|
|
52014
52227
|
children
|
|
52015
52228
|
}) {
|
|
52016
|
-
return
|
|
52229
|
+
return React96__default.createElement(
|
|
52017
52230
|
SuspenseConfigContext.Provider,
|
|
52018
52231
|
{ value: config },
|
|
52019
52232
|
children
|
|
@@ -52061,7 +52274,7 @@ function enrichFormFields(fields, entityDef) {
|
|
|
52061
52274
|
}
|
|
52062
52275
|
return { name: field, label: humanizeFieldName(field) };
|
|
52063
52276
|
}
|
|
52064
|
-
if (field && typeof field === "object" && !Array.isArray(field) && !
|
|
52277
|
+
if (field && typeof field === "object" && !Array.isArray(field) && !React96__default.isValidElement(field) && !(field instanceof Date)) {
|
|
52065
52278
|
const obj = field;
|
|
52066
52279
|
const fieldName2 = typeof obj.name === "string" ? obj.name : typeof obj.field === "string" ? obj.field : void 0;
|
|
52067
52280
|
if (!fieldName2) return field;
|
|
@@ -52114,7 +52327,7 @@ function enrichDetailFields(fields, entityDef) {
|
|
|
52114
52327
|
const meta = metaFor(field);
|
|
52115
52328
|
return meta ? { key: field, ...meta } : field;
|
|
52116
52329
|
}
|
|
52117
|
-
if (field && typeof field === "object" && !Array.isArray(field) && !
|
|
52330
|
+
if (field && typeof field === "object" && !Array.isArray(field) && !React96__default.isValidElement(field) && !(field instanceof Date)) {
|
|
52118
52331
|
const obj = field;
|
|
52119
52332
|
const fieldName2 = typeof obj.key === "string" ? obj.key : typeof obj.name === "string" ? obj.name : void 0;
|
|
52120
52333
|
if (!fieldName2 || obj.type) return field;
|
|
@@ -52573,7 +52786,7 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
52573
52786
|
const key = `${parentId}-${index}-trait:${traitName}`;
|
|
52574
52787
|
return /* @__PURE__ */ jsx(TraitFrame, { traitName }, key);
|
|
52575
52788
|
}
|
|
52576
|
-
return /* @__PURE__ */ jsx(
|
|
52789
|
+
return /* @__PURE__ */ jsx(React96__default.Fragment, { children: child }, `${parentId}-${index}`);
|
|
52577
52790
|
}
|
|
52578
52791
|
if (!child || typeof child !== "object") return null;
|
|
52579
52792
|
const childId = `${parentId}-${index}`;
|
|
@@ -52630,7 +52843,7 @@ function isPatternConfig(value) {
|
|
|
52630
52843
|
if (value === null || value === void 0) return false;
|
|
52631
52844
|
if (typeof value !== "object") return false;
|
|
52632
52845
|
if (Array.isArray(value)) return false;
|
|
52633
|
-
if (
|
|
52846
|
+
if (React96__default.isValidElement(value)) return false;
|
|
52634
52847
|
if (value instanceof Date) return false;
|
|
52635
52848
|
if (typeof value === "function") return false;
|
|
52636
52849
|
const record = value;
|
|
@@ -52643,9 +52856,9 @@ function renderPatternValue(value) {
|
|
|
52643
52856
|
if (typeof value === "string") return renderPatternChildren(value, () => {
|
|
52644
52857
|
});
|
|
52645
52858
|
if (value instanceof Date) return value.toLocaleString();
|
|
52646
|
-
if (
|
|
52859
|
+
if (React96__default.isValidElement(value)) return value;
|
|
52647
52860
|
if (Array.isArray(value)) {
|
|
52648
|
-
return value.map((item, index) => /* @__PURE__ */ jsx(
|
|
52861
|
+
return value.map((item, index) => /* @__PURE__ */ jsx(React96__default.Fragment, { children: renderPatternValue(item) }, index));
|
|
52649
52862
|
}
|
|
52650
52863
|
if (isPatternConfig(value)) {
|
|
52651
52864
|
const { type, ...props } = value;
|
|
@@ -52655,7 +52868,7 @@ function renderPatternValue(value) {
|
|
|
52655
52868
|
return null;
|
|
52656
52869
|
}
|
|
52657
52870
|
function isPlainConfigObject(value) {
|
|
52658
|
-
if (
|
|
52871
|
+
if (React96__default.isValidElement(value)) return false;
|
|
52659
52872
|
if (value instanceof Date) return false;
|
|
52660
52873
|
const proto = Object.getPrototypeOf(value);
|
|
52661
52874
|
return proto === Object.prototype || proto === null;
|
|
@@ -52829,7 +53042,7 @@ function SlotContentRenderer({
|
|
|
52829
53042
|
for (const slotKey of CONTENT_NODE_SLOTS) {
|
|
52830
53043
|
const slotVal = restProps[slotKey];
|
|
52831
53044
|
if (slotVal === void 0 || slotVal === null) continue;
|
|
52832
|
-
if (
|
|
53045
|
+
if (React96__default.isValidElement(slotVal) || typeof slotVal === "string" || typeof slotVal === "number" || typeof slotVal === "boolean") continue;
|
|
52833
53046
|
const typelessChildren = !Array.isArray(slotVal) && typeof slotVal === "object" && !("type" in slotVal) && Array.isArray(slotVal.children) ? slotVal.children : void 0;
|
|
52834
53047
|
if (typelessChildren !== void 0 || Array.isArray(slotVal) || typeof slotVal === "object" && "type" in slotVal) {
|
|
52835
53048
|
nodeSlotOverrides[slotKey] = renderPatternChildren(
|
|
@@ -52883,7 +53096,7 @@ function SlotContentRenderer({
|
|
|
52883
53096
|
const resolvedItems = Array.isArray(entityVal) && entityVal[0] !== "fn" ? entityVal : null;
|
|
52884
53097
|
if (resolvedItems && resolvedItems.length > 0 && !finalProps.fields && !finalProps.columns) {
|
|
52885
53098
|
const sample = resolvedItems[0];
|
|
52886
|
-
if (sample && typeof sample === "object" && !Array.isArray(sample) && !
|
|
53099
|
+
if (sample && typeof sample === "object" && !Array.isArray(sample) && !React96__default.isValidElement(sample) && !(sample instanceof Date)) {
|
|
52887
53100
|
const keys = Object.keys(sample).filter((k) => k !== "id" && k !== "_id");
|
|
52888
53101
|
finalProps.fields = keys.map((k, i) => ({ name: k, variant: i === 0 ? "h4" : "body" }));
|
|
52889
53102
|
}
|
|
@@ -53247,7 +53460,7 @@ var AvlTransition = ({
|
|
|
53247
53460
|
opacity = 1,
|
|
53248
53461
|
className
|
|
53249
53462
|
}) => {
|
|
53250
|
-
const ids =
|
|
53463
|
+
const ids = React96__default.useMemo(() => {
|
|
53251
53464
|
avlTransitionId += 1;
|
|
53252
53465
|
return { arrow: `avl-tr-${avlTransitionId}-arrow` };
|
|
53253
53466
|
}, []);
|
|
@@ -53808,7 +54021,7 @@ var AvlStateMachine = ({
|
|
|
53808
54021
|
color = "var(--color-primary)",
|
|
53809
54022
|
animated = false
|
|
53810
54023
|
}) => {
|
|
53811
|
-
const ids =
|
|
54024
|
+
const ids = React96__default.useMemo(() => {
|
|
53812
54025
|
avlSmId += 1;
|
|
53813
54026
|
const base = `avl-sm-${avlSmId}`;
|
|
53814
54027
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
@@ -54007,7 +54220,7 @@ var AvlOrbitalUnit = ({
|
|
|
54007
54220
|
color = "var(--color-primary)",
|
|
54008
54221
|
animated = false
|
|
54009
54222
|
}) => {
|
|
54010
|
-
const ids =
|
|
54223
|
+
const ids = React96__default.useMemo(() => {
|
|
54011
54224
|
avlOuId += 1;
|
|
54012
54225
|
const base = `avl-ou-${avlOuId}`;
|
|
54013
54226
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
@@ -54103,7 +54316,7 @@ var AvlClosedCircuit = ({
|
|
|
54103
54316
|
color = "var(--color-primary)",
|
|
54104
54317
|
animated = false
|
|
54105
54318
|
}) => {
|
|
54106
|
-
const ids =
|
|
54319
|
+
const ids = React96__default.useMemo(() => {
|
|
54107
54320
|
avlCcId += 1;
|
|
54108
54321
|
const base = `avl-cc-${avlCcId}`;
|
|
54109
54322
|
return { glow: `${base}-glow`, grad: `${base}-grad`, arrow: `${base}-arrow` };
|
|
@@ -54258,7 +54471,7 @@ var AvlEmitListen = ({
|
|
|
54258
54471
|
color = "var(--color-primary)",
|
|
54259
54472
|
animated = false
|
|
54260
54473
|
}) => {
|
|
54261
|
-
const ids =
|
|
54474
|
+
const ids = React96__default.useMemo(() => {
|
|
54262
54475
|
avlElId += 1;
|
|
54263
54476
|
const base = `avl-el-${avlElId}`;
|
|
54264
54477
|
return { arrow: `${base}-arrow`, grad: `${base}-grad` };
|
|
@@ -54532,7 +54745,7 @@ function renderNode(node, color, glowId) {
|
|
|
54532
54745
|
const baseR = node.type === "operator" ? 20 : 16;
|
|
54533
54746
|
const r2 = Math.max(baseR, labelLen * 3.5 + 6);
|
|
54534
54747
|
const nc = nodeColor(node.type, color);
|
|
54535
|
-
return /* @__PURE__ */ jsxs(
|
|
54748
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
54536
54749
|
node.children.map((child, i) => {
|
|
54537
54750
|
const childR = Math.max(
|
|
54538
54751
|
child.type === "operator" ? 20 : 16,
|
|
@@ -54589,7 +54802,7 @@ var AvlExprTree = ({
|
|
|
54589
54802
|
className,
|
|
54590
54803
|
color = "var(--color-primary)"
|
|
54591
54804
|
}) => {
|
|
54592
|
-
const ids =
|
|
54805
|
+
const ids = React96__default.useMemo(() => {
|
|
54593
54806
|
avlEtId += 1;
|
|
54594
54807
|
return { glow: `avl-et-${avlEtId}-glow` };
|
|
54595
54808
|
}, []);
|
|
@@ -55424,7 +55637,7 @@ var SystemNode = ({ data }) => {
|
|
|
55424
55637
|
stateChain.length > 0 && /* @__PURE__ */ jsx("svg", { width: stateChain.length * 14 + 2, height: 10, viewBox: `0 0 ${stateChain.length * 14 + 2} 10`, children: stateChain.map((s, i) => {
|
|
55425
55638
|
const tc = transitionCounts[s.name] ?? 0;
|
|
55426
55639
|
const role = getStateRole(s.name, s.isInitial ?? void 0, s.isTerminal ?? void 0, tc, maxTC);
|
|
55427
|
-
return /* @__PURE__ */ jsxs(
|
|
55640
|
+
return /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
55428
55641
|
/* @__PURE__ */ jsx(AvlState, { x: i * 14 + 1, y: 1, width: 10, height: 8, name: "", role, isInitial: s.isInitial ?? void 0, isTerminal: s.isTerminal ?? void 0 }),
|
|
55429
55642
|
i < stateChain.length - 1 && /* @__PURE__ */ jsx("line", { x1: i * 14 + 12, y1: 5, x2: i * 14 + 15, y2: 5, stroke: "var(--color-border)", strokeWidth: 0.5 })
|
|
55430
55643
|
] }, s.name);
|
|
@@ -56511,7 +56724,7 @@ function resolveLambdaBindings(body, params, item, index) {
|
|
|
56511
56724
|
}
|
|
56512
56725
|
return substituted;
|
|
56513
56726
|
}
|
|
56514
|
-
if (body !== null && typeof body === "object" && !
|
|
56727
|
+
if (body !== null && typeof body === "object" && !React96__default.isValidElement(body) && !(body instanceof Date) && typeof body !== "function") {
|
|
56515
56728
|
const out = {};
|
|
56516
56729
|
for (const [k, v] of Object.entries(body)) {
|
|
56517
56730
|
out[k] = recur(v);
|
|
@@ -56544,7 +56757,7 @@ function deferLambdaEntityExprs(value) {
|
|
|
56544
56757
|
}
|
|
56545
56758
|
return arr.map((v) => deferLambdaEntityExprs(v));
|
|
56546
56759
|
}
|
|
56547
|
-
if (value !== null && typeof value === "object" && !
|
|
56760
|
+
if (value !== null && typeof value === "object" && !React96__default.isValidElement(value) && !(value instanceof Date) && typeof value !== "function" && !isRenderBindingMarker(value)) {
|
|
56548
56761
|
const out = {};
|
|
56549
56762
|
for (const [k, v] of Object.entries(value)) {
|
|
56550
56763
|
out[k] = deferLambdaEntityExprs(v);
|
|
@@ -56558,7 +56771,7 @@ function makeLambdaFn(params, lambdaBody, callerKey) {
|
|
|
56558
56771
|
const resolvedBody = deferLambdaEntityExprs(
|
|
56559
56772
|
resolveLambdaBindings(lambdaBody, params, item, index)
|
|
56560
56773
|
);
|
|
56561
|
-
if (resolvedBody === null || typeof resolvedBody !== "object" || Array.isArray(resolvedBody) || typeof resolvedBody === "function" ||
|
|
56774
|
+
if (resolvedBody === null || typeof resolvedBody !== "object" || Array.isArray(resolvedBody) || typeof resolvedBody === "function" || React96__default.isValidElement(resolvedBody) || resolvedBody instanceof Date) {
|
|
56562
56775
|
return null;
|
|
56563
56776
|
}
|
|
56564
56777
|
const record = resolvedBody;
|
|
@@ -56577,7 +56790,7 @@ function makeLambdaFn(params, lambdaBody, callerKey) {
|
|
|
56577
56790
|
props: childProps,
|
|
56578
56791
|
priority: 0
|
|
56579
56792
|
};
|
|
56580
|
-
return
|
|
56793
|
+
return React96__default.createElement(SlotContentRenderer2, { content: childContent });
|
|
56581
56794
|
};
|
|
56582
56795
|
}
|
|
56583
56796
|
function convertNode(node, callerKey) {
|
|
@@ -56597,7 +56810,7 @@ function convertNode(node, callerKey) {
|
|
|
56597
56810
|
});
|
|
56598
56811
|
return anyChanged ? mapped : node;
|
|
56599
56812
|
}
|
|
56600
|
-
if (typeof node === "object" && !
|
|
56813
|
+
if (typeof node === "object" && !React96__default.isValidElement(node) && !(node instanceof Date)) {
|
|
56601
56814
|
return convertObjectProps(node);
|
|
56602
56815
|
}
|
|
56603
56816
|
return node;
|
|
@@ -58635,12 +58848,12 @@ function CanvasDndProvider({
|
|
|
58635
58848
|
}) {
|
|
58636
58849
|
const eventBus = useEventBus();
|
|
58637
58850
|
const sensors = useAlmadarDndSensors(false);
|
|
58638
|
-
const [activePayload, setActivePayload] =
|
|
58639
|
-
const lastPointerRef =
|
|
58640
|
-
const trackPointer =
|
|
58851
|
+
const [activePayload, setActivePayload] = React96__default.useState(null);
|
|
58852
|
+
const lastPointerRef = React96__default.useRef(null);
|
|
58853
|
+
const trackPointer = React96__default.useCallback((ev) => {
|
|
58641
58854
|
lastPointerRef.current = { x: ev.clientX, y: ev.clientY };
|
|
58642
58855
|
}, []);
|
|
58643
|
-
const handleDragStart =
|
|
58856
|
+
const handleDragStart = React96__default.useCallback((e) => {
|
|
58644
58857
|
const data = e.active.data.current;
|
|
58645
58858
|
const payload = data?.payload;
|
|
58646
58859
|
const activator = e.activatorEvent;
|
|
@@ -58654,7 +58867,7 @@ function CanvasDndProvider({
|
|
|
58654
58867
|
log9.warn("dragStart:missing-payload", { id: e.active.id });
|
|
58655
58868
|
}
|
|
58656
58869
|
}, [eventBus, trackPointer]);
|
|
58657
|
-
const handleDragEnd =
|
|
58870
|
+
const handleDragEnd = React96__default.useCallback((e) => {
|
|
58658
58871
|
setActivePayload(null);
|
|
58659
58872
|
document.removeEventListener("pointermove", trackPointer);
|
|
58660
58873
|
const activeData = e.active.data.current;
|
|
@@ -58690,7 +58903,7 @@ function CanvasDndProvider({
|
|
|
58690
58903
|
const suppressed = onDrop ? onDrop(drop) === true : false;
|
|
58691
58904
|
if (!suppressed) defaultEmit(eventBus, drop);
|
|
58692
58905
|
}, [eventBus, onDrop, trackPointer]);
|
|
58693
|
-
const handleDragCancel =
|
|
58906
|
+
const handleDragCancel = React96__default.useCallback(() => {
|
|
58694
58907
|
setActivePayload(null);
|
|
58695
58908
|
document.removeEventListener("pointermove", trackPointer);
|
|
58696
58909
|
log9.info("dragCancel");
|
|
@@ -59542,7 +59755,7 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
59542
59755
|
}
|
|
59543
59756
|
);
|
|
59544
59757
|
};
|
|
59545
|
-
var OrbPreviewNode =
|
|
59758
|
+
var OrbPreviewNode = React96__default.memo(OrbPreviewNodeInner);
|
|
59546
59759
|
OrbPreviewNode.displayName = "OrbPreviewNode";
|
|
59547
59760
|
orbPreviewLog.debug("export-resolved", () => ({
|
|
59548
59761
|
type: typeof OrbPreviewNode,
|
|
@@ -59647,7 +59860,7 @@ var EventFlowEdgeInner = (props) => {
|
|
|
59647
59860
|
) })
|
|
59648
59861
|
] });
|
|
59649
59862
|
};
|
|
59650
|
-
var EventFlowEdge =
|
|
59863
|
+
var EventFlowEdge = React96__default.memo(EventFlowEdgeInner);
|
|
59651
59864
|
EventFlowEdge.displayName = "EventFlowEdge";
|
|
59652
59865
|
|
|
59653
59866
|
// components/avl/molecules/BehaviorComposeNode.tsx
|
|
@@ -59794,7 +60007,7 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
59794
60007
|
}
|
|
59795
60008
|
);
|
|
59796
60009
|
};
|
|
59797
|
-
var BehaviorComposeNode =
|
|
60010
|
+
var BehaviorComposeNode = React96__default.memo(BehaviorComposeNodeInner);
|
|
59798
60011
|
BehaviorComposeNode.displayName = "BehaviorComposeNode";
|
|
59799
60012
|
|
|
59800
60013
|
// components/avl/lib/avl-behavior-compose-converter.ts
|
|
@@ -60954,7 +61167,7 @@ var TraitCardNodeInner = (props) => {
|
|
|
60954
61167
|
}
|
|
60955
61168
|
);
|
|
60956
61169
|
};
|
|
60957
|
-
var TraitCardNode =
|
|
61170
|
+
var TraitCardNode = React96__default.memo(TraitCardNodeInner);
|
|
60958
61171
|
TraitCardNode.displayName = "TraitCardNode";
|
|
60959
61172
|
|
|
60960
61173
|
// components/avl/organisms/FlowCanvas.tsx
|
|
@@ -61033,7 +61246,7 @@ function FlowCanvasInner({
|
|
|
61033
61246
|
initialOrbital
|
|
61034
61247
|
);
|
|
61035
61248
|
const [expandedBehaviorAlias, setExpandedBehaviorAlias] = useState(void 0);
|
|
61036
|
-
const screenSizeUserOverrideRef =
|
|
61249
|
+
const screenSizeUserOverrideRef = React96__default.useRef(false);
|
|
61037
61250
|
const [screenSize, setScreenSize] = useState(
|
|
61038
61251
|
() => typeof window === "undefined" ? "laptop" : detectScreenSize(window.innerWidth)
|
|
61039
61252
|
);
|
|
@@ -61101,9 +61314,9 @@ function FlowCanvasInner({
|
|
|
61101
61314
|
const [nodes, setNodes, onNodesChange] = useNodesState(activeNodes);
|
|
61102
61315
|
const [edges, setEdges, onEdgesChange] = useEdgesState(activeEdges);
|
|
61103
61316
|
const reactFlow = useReactFlow();
|
|
61104
|
-
const savedPositionsRef =
|
|
61317
|
+
const savedPositionsRef = React96__default.useRef(nodePositions);
|
|
61105
61318
|
savedPositionsRef.current = nodePositions;
|
|
61106
|
-
const nodesRef =
|
|
61319
|
+
const nodesRef = React96__default.useRef(nodes);
|
|
61107
61320
|
nodesRef.current = nodes;
|
|
61108
61321
|
useEffect(() => {
|
|
61109
61322
|
setEdges([]);
|
|
@@ -61440,7 +61653,7 @@ var ZoomBreadcrumb = ({
|
|
|
61440
61653
|
if (eventName && band === "detail") {
|
|
61441
61654
|
segments.push({ icon: "\u26A1", label: eventName });
|
|
61442
61655
|
}
|
|
61443
|
-
return /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-xs text-muted-foreground backdrop-blur-sm", children: segments.map((seg, i) => /* @__PURE__ */ jsxs(
|
|
61656
|
+
return /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-xs text-muted-foreground backdrop-blur-sm", children: segments.map((seg, i) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
61444
61657
|
i > 0 && /* @__PURE__ */ jsx("span", { className: "opacity-40", children: ">" }),
|
|
61445
61658
|
/* @__PURE__ */ jsx("span", { className: "opacity-60", children: seg.icon }),
|
|
61446
61659
|
/* @__PURE__ */ jsx("span", { children: seg.label })
|
|
@@ -61781,7 +61994,7 @@ var EventWireOverlay = ({
|
|
|
61781
61994
|
containerW,
|
|
61782
61995
|
containerH
|
|
61783
61996
|
}) => {
|
|
61784
|
-
const ids =
|
|
61997
|
+
const ids = React96__default.useMemo(() => {
|
|
61785
61998
|
avlOczWireId += 1;
|
|
61786
61999
|
return { arrow: `avl-ocz-wire-${avlOczWireId}-arrow` };
|
|
61787
62000
|
}, []);
|
|
@@ -62148,7 +62361,7 @@ var AvlOrbitalsCosmicZoom = ({
|
|
|
62148
62361
|
borderRadius: 6,
|
|
62149
62362
|
border: `1px solid ${color}`
|
|
62150
62363
|
},
|
|
62151
|
-
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", children: breadcrumbs.map((crumb, i) => /* @__PURE__ */ jsxs(
|
|
62364
|
+
children: /* @__PURE__ */ jsx(HStack, { gap: "xs", align: "center", children: breadcrumbs.map((crumb, i) => /* @__PURE__ */ jsxs(React96__default.Fragment, { children: [
|
|
62152
62365
|
i > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", style: { opacity: 0.5, color }, children: "/" }),
|
|
62153
62366
|
i < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx(
|
|
62154
62367
|
Box,
|