@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.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import * as React95 from 'react';
3
- import React95__default, { createContext, useState, useMemo, useRef, useEffect, useContext, useCallback, Suspense, useLayoutEffect, Profiler, useReducer, useSyncExternalStore, lazy, useId } from 'react';
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 React95__default.createElement(
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 = React95__default.forwardRef(
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 React95__default.createElement(
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 React95__default.createElement(
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(React95__default.Fragment, { children: [
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 (React95__default.isValidElement(value)) return false;
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" && !React95__default.isValidElement(value) && !(value instanceof Date)) {
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" && !React95__default.isValidElement(resolved) && !(resolved instanceof Date)) {
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 = React95__default.useMemo(() => {
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] = React95.useReducer((x) => x + 1, 0);
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] = React95.useReducer((x) => x + 1, 0);
5072
- const canvasRef = React95.useRef(null);
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
- React95.useEffect(() => {
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 (React95__default.isValidElement(value)) {
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.forwardRef(
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] = React95__default.useState(value);
7011
- const pendingEchoRef = React95__default.useRef(/* @__PURE__ */ new Set());
7012
- React95__default.useEffect(() => {
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-4", className), ...props }));
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 = React95__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
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 = React95__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props }));
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 = React95__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
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 = React95__default.forwardRef(
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] = React95__default.useState(false);
7902
- React95__default.useEffect(() => {
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 React95__default.createElement(Component, {
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 = React95__default.forwardRef(
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 = React95__default.useId();
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] = React95__default.useState(value);
8305
- React95__default.useEffect(() => {
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 = React95.forwardRef(
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] = React95.useState(
8498
+ const [isChecked, setIsChecked] = React96.useState(
8499
8499
  checked !== void 0 ? checked : defaultChecked
8500
8500
  );
8501
- React95.useEffect(() => {
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 = React95__default.forwardRef(
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] = React95__default.useState(false);
8859
- const timeoutRef = React95__default.useRef(null);
8860
- const triggerRef = React95__default.useRef(null);
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
- React95__default.useEffect(() => {
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.forwardRef(
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 = React95__default.useCallback(
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] = React95.useState(false);
11330
+ const [isPressed, setIsPressed] = React96.useState(false);
11331
11331
  const actualPressed = pressed ?? isPressed;
11332
- const handlePointerDown = React95.useCallback(
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 = React95.useCallback(
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 = React95.useCallback(
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] = React95.useState(/* @__PURE__ */ new Set());
11612
- const [coarse, setCoarse] = React95.useState(
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
- React95.useEffect(() => {
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 = React95.useCallback(
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 = React95.useCallback(
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 = React95.useCallback(
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 = React95.useMemo(() => layoutStates(nodes, width, height), [nodes, width, height]);
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 = React95.useRef(null);
12307
- const imgCacheRef = React95.useRef(/* @__PURE__ */ new Map());
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
- React95.useEffect(() => {
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 = React95.Children.count(children) > 0;
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 && React95.Children.count(children) > 0) return;
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
- React95.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 }) })
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: [
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 React95__default.Component {
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 React95__default.createElement(
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
- CodeBlock = React95__default.memo(
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: /* @__PURE__ */ jsx(
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 = React95__default.memo(
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 = React95__default.memo(
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(React95__default.Fragment, { children: renderStateNode(state, config) }, state.id) : /* @__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 = React95__default.isValidElement(trigger) ? React95__default.cloneElement(trigger, {
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 = React95__default.useContext(RootCtx);
28353
+ const parentRoot = React96__default.useContext(RootCtx);
28143
28354
  const isRoot = enabled && parentRoot === null;
28144
- const zoneId = React95__default.useId();
28355
+ const zoneId = React96__default.useId();
28145
28356
  const ownGroup = dragGroup ?? accepts ?? zoneId;
28146
- const [optimisticOrders, setOptimisticOrders] = React95__default.useState(() => /* @__PURE__ */ new Map());
28147
- const optimisticOrdersRef = React95__default.useRef(optimisticOrders);
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 = React95__default.useCallback((group) => {
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 = React95__default.useMemo(
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
- React95__default.useEffect(() => {
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 = React95__default.useRef(/* @__PURE__ */ new Map());
28194
- const registerZone = React95__default.useCallback((zoneId2, meta2) => {
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 = React95__default.useCallback((zoneId2) => {
28408
+ const unregisterZone = React96__default.useCallback((zoneId2) => {
28198
28409
  zonesRef.current.delete(zoneId2);
28199
28410
  }, []);
28200
- const [activeDrag, setActiveDrag] = React95__default.useState(null);
28201
- const [overZoneGroup, setOverZoneGroup] = React95__default.useState(null);
28202
- const meta = React95__default.useMemo(
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
- React95__default.useEffect(() => {
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 = React95__default.useCallback(
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
- React95__default.useCallback(
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 = React95__default.useCallback(
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 = React95__default.useMemo(() => ({ dndGroup: ownGroup }), [ownGroup]);
28335
- const SortableItem = React95__default.useCallback(
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 = React95__default.useContext(RootCtx);
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
- React95__default.useEffect(() => {
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 = React95__default.useMemo(
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 = React95__default.useCallback((event) => {
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 = React95__default.useCallback((event) => {
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 = React95__default.useCallback((event) => {
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 = React95__default.useCallback((event) => {
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 = React95__default.useCallback(
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 = React95__default.createContext(null);
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] = React95__default.useState(pageSize || Infinity);
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 = React95__default.useMemo(
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
- React95__default.useEffect(() => {
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: [
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] = React95__default.useState(defaultCollapsed);
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
- React95__default.useCallback(() => {
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 = React95__default.useMemo(() => new Map(items.map((node) => [node.id, node])), [items]);
30194
- const selectedAncestors = React95__default.useMemo(() => ancestorsOf(selectedId, byId), [selectedId, byId]);
30195
- const lastSelectedRef = React95__default.useRef(selectedId);
30196
- React95__default.useEffect(() => {
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 React95__default.createElement(Component, {
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 React95__default.createElement(
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 = React95__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
31782
+ const childElement = React96__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
31572
31783
  const childPointerDown = childElement.props.onPointerDown;
31573
- const triggerElement = React95__default.cloneElement(
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 = React95__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
32398
+ const triggerElement = React96__default.isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
32188
32399
  const childPointerDown = triggerElement.props.onPointerDown;
32189
- const trigger = React95__default.cloneElement(triggerElement, {
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(React95__default.Fragment, { children: [
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: useCallback98, useState: useState106 } = React95__default;
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] = useState106(null);
34984
- const handleMapClick = useCallback98((lat, lng) => {
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 = useCallback98((marker) => {
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] = React95__default.useState(pageSize > 0 ? pageSize : Infinity);
35884
- const [localSelected, setLocalSelected] = React95__default.useState(/* @__PURE__ */ new Set());
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
- React95__default.useEffect(() => {
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 = React95__default.useMemo(
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(React95__default.Fragment, { children: rowInner }, id);
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "start", className: "w-full", children: [
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(React95__default.Fragment, { children: [
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 = React95__default.forwardRef(
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 = React95__default.useId();
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: [
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 React95__default.createElement(
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: [
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(React95__default.Fragment, { children: [
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] = React95__default.useState(null);
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-full overflow-auto", mainClassName), children: main }),
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-full overflow-auto border-r border-border",
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 (!React95__default.isValidElement(children)) return void 0;
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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] = React95__default.useState(
46353
+ const [formData, setFormData] = React96__default.useState(
46143
46354
  normalizedInitialData
46144
46355
  );
46145
- const [collapsedSections, setCollapsedSections] = React95__default.useState(
46356
+ const [collapsedSections, setCollapsedSections] = React96__default.useState(
46146
46357
  /* @__PURE__ */ new Set()
46147
46358
  );
46148
- const [submitError, setSubmitError] = React95__default.useState(null);
46149
- const formRef = React95__default.useRef(null);
46359
+ const [submitError, setSubmitError] = React96__default.useState(null);
46360
+ const formRef = React96__default.useRef(null);
46150
46361
  const formMode = props.mode;
46151
- const mountedRef = React95__default.useRef(false);
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 = React95__default.useMemo(
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
- React95__default.useEffect(() => {
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 = React95__default.useCallback(
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 = React95__default.useCallback(
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 = React95__default.useCallback(
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 = React95__default.useCallback(
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 = React95__default.useCallback(
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useCallback(
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 = React95__default.useMemo(() => {
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 (!React95__default.isValidElement(children)) return void 0;
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] = React95.useState(() => ({
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
- React95.useEffect(() => {
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] = React95.useState(null);
48279
- const [traits2, setTraits] = React95.useState([]);
48280
- const [coveredEdges, setCoveredEdges] = React95.useState([]);
48281
- const [completedTraits, setCompletedTraits] = React95.useState(/* @__PURE__ */ new Set());
48282
- const prevTraitRef = React95.useRef(null);
48283
- React95.useEffect(() => {
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] = React95.useState("all");
48720
- const containerRef = React95.useRef(null);
48721
- const [autoScroll, setAutoScroll] = React95.useState(true);
48722
- React95.useEffect(() => {
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 = React95.useMemo(() => {
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] = React95.useState("all");
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 = React95.useMemo(() => {
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 = React95.useRef(null);
49020
- const [autoScroll, setAutoScroll] = React95.useState(true);
49021
- const [expandedId, setExpandedId] = React95.useState(null);
49022
- React95.useEffect(() => {
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] = React95.useState([]);
49303
- const prevStatesRef = React95.useRef(/* @__PURE__ */ new Map());
49304
- React95.useEffect(() => {
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] = React95.useState(true);
49474
- const scrollRef = React95.useRef(null);
49475
- const prevCountRef = React95.useRef(0);
49476
- React95.useEffect(() => {
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] = React95.useState(mode === "verify" ? true : defaultCollapsed);
49534
- const [isVisible, setIsVisible] = React95.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
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
- React95.useEffect(() => {
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
- React95.useEffect(() => {
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 = React95__default.useCallback(() => {
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 = React95__default.useCallback(
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useRef(null);
50675
- React95__default.useEffect(() => {
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 = React95__default.useMemo(
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 = React95__default.useRef(null);
50847
- React95__default.useEffect(() => {
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 = React95__default.useMemo(() => {
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 (!React95__default.isValidElement(children)) {
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 = React95__default.isValidElement(children) && !message;
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 React95__default.createElement(
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) && !React95__default.isValidElement(field) && !(field instanceof Date)) {
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) && !React95__default.isValidElement(field) && !(field instanceof Date)) {
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(React95__default.Fragment, { children: child }, `${parentId}-${index}`);
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 (React95__default.isValidElement(value)) return false;
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 (React95__default.isValidElement(value)) return value;
52859
+ if (React96__default.isValidElement(value)) return value;
52647
52860
  if (Array.isArray(value)) {
52648
- return value.map((item, index) => /* @__PURE__ */ jsx(React95__default.Fragment, { children: renderPatternValue(item) }, index));
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 (React95__default.isValidElement(value)) return false;
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 (React95__default.isValidElement(slotVal) || typeof slotVal === "string" || typeof slotVal === "number" || typeof slotVal === "boolean") continue;
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) && !React95__default.isValidElement(sample) && !(sample instanceof Date)) {
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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 = React95__default.useMemo(() => {
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(React95__default.Fragment, { children: [
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 = React95__default.useMemo(() => {
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(React95__default.Fragment, { children: [
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" && !React95__default.isValidElement(body) && !(body instanceof Date) && typeof body !== "function") {
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" && !React95__default.isValidElement(value) && !(value instanceof Date) && typeof value !== "function" && !isRenderBindingMarker(value)) {
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" || React95__default.isValidElement(resolvedBody) || resolvedBody instanceof Date) {
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 React95__default.createElement(SlotContentRenderer2, { content: childContent });
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" && !React95__default.isValidElement(node) && !(node instanceof Date)) {
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] = React95__default.useState(null);
58639
- const lastPointerRef = React95__default.useRef(null);
58640
- const trackPointer = React95__default.useCallback((ev) => {
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 = React95__default.useCallback((e) => {
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 = React95__default.useCallback((e) => {
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 = React95__default.useCallback(() => {
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 = React95__default.memo(OrbPreviewNodeInner);
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 = React95__default.memo(EventFlowEdgeInner);
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 = React95__default.memo(BehaviorComposeNodeInner);
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 = React95__default.memo(TraitCardNodeInner);
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 = React95__default.useRef(false);
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 = React95__default.useRef(nodePositions);
61317
+ const savedPositionsRef = React96__default.useRef(nodePositions);
61105
61318
  savedPositionsRef.current = nodePositions;
61106
- const nodesRef = React95__default.useRef(nodes);
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(React95__default.Fragment, { children: [
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 = React95__default.useMemo(() => {
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(React95__default.Fragment, { children: [
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,