@almadar/ui 6.51.2 → 6.52.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.
Files changed (121) hide show
  1. package/dist/{Canvas3DHost-CLC_jXh_.d.ts → Canvas3DHost-CWO0tswb.d.ts} +1 -1
  2. package/dist/{FileTree-RKQqRhIM.d.ts → FileTree-DUi7e7Z8.d.ts} +5 -5
  3. package/dist/{GameAudioProvider-BgWLggIy.d.ts → GameAudioProvider-_hPzjqp-.d.ts} +1 -1
  4. package/dist/{NavStackContext-B-XLULCO.d.ts → NavStackContext-04NLdXsY.d.ts} +8 -0
  5. package/dist/Typography-7FRZOS2H.js +5 -0
  6. package/dist/{UISlotContext-DNM8iXna.d.ts → UISlotContext-CS487Uoc.d.ts} +1 -1
  7. package/dist/{UISlotRenderer-7UYHFW4S.js → UISlotRenderer-CR7SCAMR.js} +8 -8
  8. package/dist/avl/index.cjs +3401 -1590
  9. package/dist/avl/index.d.ts +4 -4
  10. package/dist/avl/index.js +26 -23
  11. package/dist/{chunk-6CFYRP4S.js → chunk-2QB2PXOO.js} +1 -3
  12. package/dist/{chunk-R4V7IZQP.js → chunk-5GCI6C7J.js} +2 -2
  13. package/dist/{chunk-BUEIZY54.js → chunk-BHZG4PDZ.js} +420 -422
  14. package/dist/{chunk-MWPX2O4M.js → chunk-CLSLVFSP.js} +3 -16
  15. package/dist/{chunk-GIPZSCND.js → chunk-EERAGPBW.js} +3078 -1832
  16. package/dist/{chunk-OLZ3EEML.js → chunk-G4GMXYMY.js} +109 -15
  17. package/dist/{chunk-HQDKHLFG.js → chunk-IN3BVW2Z.js} +15 -1
  18. package/dist/{chunk-FGHRVJCI.js → chunk-MSBMVG3B.js} +12 -2
  19. package/dist/{chunk-YKHNK5JH.js → chunk-NCNP2RKZ.js} +11 -4
  20. package/dist/{chunk-T7IH5ABO.js → chunk-QWDKMVLX.js} +69 -17
  21. package/dist/{chunk-NTO555KF.js → chunk-TWHYH25Q.js} +136 -15
  22. package/dist/{chunk-GHXWGQTX.js → chunk-V5AGW2JN.js} +1 -1
  23. package/dist/{chunk-L55SAFKL.js → chunk-WB2A6V3I.js} +31 -1
  24. package/dist/{chunk-JXUYEO7U.js → chunk-XUSSAWKL.js} +7 -1
  25. package/dist/{cn-CO-0rolG.d.ts → cn-ClXGlIOY.d.ts} +2 -2
  26. package/dist/components/index.cjs +4933 -3165
  27. package/dist/components/index.d.ts +499 -416
  28. package/dist/components/index.js +11 -11
  29. package/dist/context/index.cjs +12 -4
  30. package/dist/context/index.d.ts +3 -3
  31. package/dist/context/index.js +2 -2
  32. package/dist/hooks/index.cjs +73 -6
  33. package/dist/hooks/index.d.ts +32 -7
  34. package/dist/hooks/index.js +6 -6
  35. package/dist/lib/drawable/three/index.cjs +33 -2
  36. package/dist/lib/drawable/three/index.d.ts +5 -5
  37. package/dist/lib/drawable/three/index.js +7 -7
  38. package/dist/lib/index.cjs +69 -2
  39. package/dist/lib/index.d.ts +29 -6
  40. package/dist/lib/index.js +5 -5
  41. package/dist/locales/index.cjs +93 -3
  42. package/dist/locales/index.js +63 -3
  43. package/dist/{paintDispatch-CMgOyVjS.d.ts → paintDispatch-DHo3WhaU.d.ts} +4 -4
  44. package/dist/providers/index.cjs +3392 -1607
  45. package/dist/providers/index.d.ts +6 -6
  46. package/dist/providers/index.js +55 -16
  47. package/dist/runtime/index.cjs +3417 -1611
  48. package/dist/runtime/index.d.ts +2 -2
  49. package/dist/runtime/index.js +10 -10
  50. package/dist/ssr/index.cjs +306 -141
  51. package/dist/ssr/index.d.cts +32 -44
  52. package/dist/ssr/index.d.ts +32 -44
  53. package/dist/ssr/index.js +249 -84
  54. package/dist/{themeTokens-CN9WCXQc.d.ts → themeTokens-Ccu7EmGY.d.ts} +4 -2
  55. package/dist/{useUISlots-CwUWM1ra.d.ts → useUISlots-1dk2TR4j.d.ts} +1 -9
  56. package/dist/{verificationRegistry-DBHfOR9y.d.ts → verificationRegistry-BYD3cVhS.d.ts} +1 -1
  57. package/locales/ar.json +31 -1
  58. package/locales/en.json +31 -1
  59. package/locales/sl.json +31 -1
  60. package/package.json +12 -9
  61. package/tailwind-preset.cjs +24 -1
  62. package/themes/_base.css +86 -0
  63. package/themes/_contract.md +1 -0
  64. package/themes/almadar-website.css +2 -0
  65. package/themes/almadar.css +2 -0
  66. package/themes/aqua.css +5 -3
  67. package/themes/arabesque.css +9 -7
  68. package/themes/art-deco.css +5 -3
  69. package/themes/art-nouveau.css +4 -0
  70. package/themes/atelier.css +10 -8
  71. package/themes/bauhaus.css +2 -0
  72. package/themes/bloomberg-dense.css +13 -11
  73. package/themes/blueprint.css +2 -0
  74. package/themes/clay.css +2 -0
  75. package/themes/comic.css +12 -10
  76. package/themes/constructivist.css +2 -0
  77. package/themes/corporate.css +4 -2
  78. package/themes/cyberpunk.css +2 -0
  79. package/themes/frutiger-aero.css +2 -0
  80. package/themes/game-adventure.css +1 -0
  81. package/themes/game-rpg.css +1 -0
  82. package/themes/game-sci-fi.css +1 -0
  83. package/themes/game-ui-pack.css +1 -0
  84. package/themes/gazette.css +10 -8
  85. package/themes/glass.css +17 -15
  86. package/themes/gothic.css +2 -0
  87. package/themes/ink-wash.css +2 -0
  88. package/themes/kawaii.css +2 -0
  89. package/themes/kiosk.css +17 -15
  90. package/themes/linear-clean.css +12 -10
  91. package/themes/luxury.css +2 -0
  92. package/themes/mac-classic.css +2 -0
  93. package/themes/material.css +2 -0
  94. package/themes/memphis.css +2 -0
  95. package/themes/mid-century.css +2 -0
  96. package/themes/minimalist.css +2 -0
  97. package/themes/mudcloth.css +2 -0
  98. package/themes/neon.css +2 -0
  99. package/themes/neumorphic.css +2 -0
  100. package/themes/newsprint.css +2 -0
  101. package/themes/notion-editorial.css +12 -10
  102. package/themes/pixel.css +2 -0
  103. package/themes/prism.css +20 -18
  104. package/themes/retro.css +2 -0
  105. package/themes/risograph.css +2 -0
  106. package/themes/scandi.css +2 -0
  107. package/themes/sketch.css +2 -0
  108. package/themes/solarpunk.css +2 -0
  109. package/themes/steampunk.css +2 -0
  110. package/themes/swiss.css +2 -0
  111. package/themes/terminal.css +8 -6
  112. package/themes/trait-wars.css +2 -0
  113. package/themes/ukiyo-e.css +2 -0
  114. package/themes/vaporwave.css +2 -0
  115. package/themes/victorian.css +2 -0
  116. package/themes/wabi-sabi.css +2 -0
  117. package/themes/win95.css +2 -0
  118. package/themes/wireframe.css +2 -0
  119. package/themes/zine.css +2 -0
  120. package/dist/Typography-2Z3JKWHN.js +0 -5
  121. package/dist/{avl-3d-context-MAt_NuU9.d.ts → avl-3d-context-DLteNEwu.d.ts} +3 -3
@@ -1,9 +1,9 @@
1
1
  import { OperatorCategory } from '@almadar/std';
2
2
  import * as React$1 from 'react';
3
3
  import React__default from 'react';
4
- import { FieldType, EntityPersistence, SExpr, EvalTrace, EventEmit, Expression, UISlot, OrbitalSchema, EntityData, EditFocus, EventPayload, DomainQuestion, DomainQuestionAnswer, ThemeDefinition, CircuitStepResult, GuardEvaluation, EffectTrace } from '@almadar/core';
5
- import { A as AvlNodeData, F as FileTreeItem } from '../FileTree-RKQqRhIM.js';
6
- export { a as AvlEdgeData, b as AvlStateMachine, c as AvlStateMachineProps, B as BehaviorView, M as ModuleCard, s as schemaToFlowGraph } from '../FileTree-RKQqRhIM.js';
4
+ import { FieldType, EntityPersistence, SExpr, EvalTrace, A11yProps, EventEmit, Expression, UISlot, OrbitalSchema, EntityData, EditFocus, EventPayload, DomainQuestion, DomainQuestionAnswer, ThemeDefinition, CircuitStepResult, GuardEvaluation, EffectTrace } from '@almadar/core';
5
+ import { A as AvlNodeData, F as FileTreeItem } from '../FileTree-DUi7e7Z8.js';
6
+ export { a as AvlEdgeData, b as AvlStateMachine, c as AvlStateMachineProps, B as BehaviorView, M as ModuleCard, s as schemaToFlowGraph } from '../FileTree-DUi7e7Z8.js';
7
7
  import { T as TraitLevelData, d as TraitTransitionInfo, c as TransitionLevelData } from '../avl-schema-parser-C0wnAp5x.js';
8
8
  export { A as ApplicationLevelData, C as CrossLink, b as OrbitalLevelData, p as parseApplicationLevel, e as parseOrbitalLevel, f as parseTraitLevel, g as parseTransitionLevel, t as traitLevelFromTrait } from '../avl-schema-parser-C0wnAp5x.js';
9
9
  import { NodeProps, EdgeProps, Edge, Node, NodeTypes, ReactFlowProps } from '@xyflow/react';
@@ -254,7 +254,7 @@ declare const AvlCircuit: React__default.FC<AvlCircuitProps>;
254
254
 
255
255
  declare const AVL_GLYPH_KINDS: readonly ["application", "orbital", "entity", "trait", "page", "state", "transition", "event", "guard", "effect", "field", "fieldType", "binding", "bindingRef", "persistence", "operator", "sexpr", "literal"];
256
256
  type AvlGlyphKind = (typeof AVL_GLYPH_KINDS)[number];
257
- interface AvlGlyphProps {
257
+ interface AvlGlyphProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
258
258
  /** Which notation symbol to draw.
259
259
  * @example "state"
260
260
  */
package/dist/avl/index.js CHANGED
@@ -1,22 +1,22 @@
1
- import { BrowserPlayground, collectEmbeddedTraits } from '../chunk-T7IH5ABO.js';
2
- import { zoomReducer, initialZoomState, getBreadcrumbs } from '../chunk-R4V7IZQP.js';
3
- import { useTranslate as useTranslate$1 } from '../chunk-YKHNK5JH.js';
1
+ import { BrowserPlayground, collectEmbeddedTraits } from '../chunk-QWDKMVLX.js';
2
+ import { zoomReducer, initialZoomState, getBreadcrumbs } from '../chunk-5GCI6C7J.js';
3
+ import { useTranslate as useTranslate$1 } from '../chunk-NCNP2RKZ.js';
4
4
  import '../chunk-DQTV6QVS.js';
5
- import '../chunk-6CFYRP4S.js';
5
+ import '../chunk-2QB2PXOO.js';
6
6
  import { spacingTokenOf, positionOf, withPosition, snapToSpacingStep, defaultSpacingStepPx, spacingOf, withSizing, withSpacing, layoutOf, withLayout, sizingOf, DESIGN_COLOR_TOKENS, DESIGN_RADIUS_TOKENS, DESIGN_SPACING_SCALE, sizeLimitOf, withSizeLimit, isArbitraryClass, tokenOfDesignClass } from '../chunk-ERXIHZW3.js';
7
- import { Popover, Button, Icon, Select, Badge, IconButton, AvlStateMachine, Input, AvlFieldType, AvlEffect, AvlState, AvlPage, AvlEntity, useContainerWidth, useAlmadarDndSensors, almadarDndCollisionDetection, TagInput, Checkbox, Switch, CodeBlock, FileTree, Card, JsonTreeEditor, Accordion, RangeSlider, computeTraitLayout, edgePath, FormField, Radio, useCompactLayout, ButtonGroup, roundedEdgePath } from '../chunk-GIPZSCND.js';
8
- export { AvlEffect, AvlEntity, AvlFieldType, AvlPage, AvlState, AvlStateMachine, BehaviorView, FIELD_TYPE_SHAPES, MiniStateMachine, ModuleCard, computeTraitLayout, edgePath } from '../chunk-GIPZSCND.js';
9
- import { avlSeries, STATE_COLORS, Box, HStack, VStack, avlTint, CONNECTION_COLORS, parseTraitLevel, OPERATOR_CATEGORY_COLORS, AVL_INK, AVL_FONT, parseApplicationLevel, parseOrbitalLevel, getStateRole, effectCategoryOf, EFFECT_CATEGORY_COLORS, pressableProps, traitTransitionRenderUi, traitEventWires, effectZoneOf, avlBlend } from '../chunk-BUEIZY54.js';
10
- export { CONNECTION_COLORS, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, STATE_COLORS, effectCategoryOf, getStateRole, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, traitLevelFromTrait } from '../chunk-BUEIZY54.js';
11
- import { Typography, INLINE_TEXT_ATTR } from '../chunk-MWPX2O4M.js';
12
- import { useMediaQuery } from '../chunk-NTO555KF.js';
7
+ import { Popover, Button, Icon, Select, Badge, IconButton, AvlStateMachine, Input, AvlFieldType, AvlEffect, AvlState, AvlPage, AvlEntity, useContainerWidth, useAlmadarDndSensors, almadarDndCollisionDetection, TagInput, Checkbox, Switch, CodeBlock, FileTree, Card, JsonTreeEditor, Accordion, RangeSlider, computeTraitLayout, edgePath, FormField, Radio, useCompactLayout, ButtonGroup, roundedEdgePath } from '../chunk-EERAGPBW.js';
8
+ export { AvlEffect, AvlEntity, AvlFieldType, AvlPage, AvlState, AvlStateMachine, BehaviorView, FIELD_TYPE_SHAPES, MiniStateMachine, ModuleCard, computeTraitLayout, edgePath } from '../chunk-EERAGPBW.js';
9
+ import { avlSeries, STATE_COLORS, Box, HStack, VStack, avlTint, CONNECTION_COLORS, parseTraitLevel, OPERATOR_CATEGORY_COLORS, AVL_INK, AVL_FONT, parseApplicationLevel, parseOrbitalLevel, getStateRole, effectCategoryOf, EFFECT_CATEGORY_COLORS, pressableProps, traitTransitionRenderUi, traitEventWires, effectZoneOf, avlBlend } from '../chunk-BHZG4PDZ.js';
10
+ export { CONNECTION_COLORS, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, STATE_COLORS, effectCategoryOf, getStateRole, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, traitLevelFromTrait } from '../chunk-BHZG4PDZ.js';
11
+ import { Typography, INLINE_TEXT_ATTR } from '../chunk-CLSLVFSP.js';
12
+ import { usePrefersReducedMotion, useMediaQuery } from '../chunk-TWHYH25Q.js';
13
13
  import '../chunk-XJTHMW4G.js';
14
14
  import { useEventBus } from '../chunk-6EV3OEBQ.js';
15
- import { profilerOnRender, perfStart, perfEnd } from '../chunk-OLZ3EEML.js';
15
+ import { profilerOnRender, perfStart, perfEnd } from '../chunk-G4GMXYMY.js';
16
16
  import { isEditableTarget } from '../chunk-O7OLVVBR.js';
17
- import { cn } from '../chunk-HQDKHLFG.js';
18
- import '../chunk-GHXWGQTX.js';
19
- import '../chunk-L55SAFKL.js';
17
+ import { domPassthrough, cn } from '../chunk-IN3BVW2Z.js';
18
+ import '../chunk-V5AGW2JN.js';
19
+ import '../chunk-WB2A6V3I.js';
20
20
  import '../chunk-PQKU62LK.js';
21
21
  import '../chunk-YHY5K2Y7.js';
22
22
  import '../chunk-QPXIAUJD.js';
@@ -1286,7 +1286,8 @@ function Symbol({ kind, label, effectType, fieldType, persistence, namespace })
1286
1286
  return /* @__PURE__ */ jsx(AvlLiteral, { value: label ?? "42", size: 14 });
1287
1287
  }
1288
1288
  }
1289
- var AvlGlyph = ({ kind, label, size: size2 = "md", showCaption = true, className, ...variant }) => {
1289
+ var AvlGlyph = ({ kind, label, size: size2 = "md", showCaption = true, className, effectType, fieldType, persistence, namespace, ...rest }) => {
1290
+ const variant = { effectType, fieldType, persistence, namespace };
1290
1291
  const { t } = useTranslate();
1291
1292
  const groupRef = useRef(null);
1292
1293
  const [box, setBox] = useState({ x: -50, y: -50, w: 100, h: 100 });
@@ -1297,7 +1298,7 @@ var AvlGlyph = ({ kind, label, size: size2 = "md", showCaption = true, className
1297
1298
  if (b.width > 0 && b.height > 0) setBox({ x: b.x - PAD2, y: b.y - PAD2, w: b.width + 2 * PAD2, h: b.height + 2 * PAD2 });
1298
1299
  }, [kind, label, variant.effectType, variant.fieldType, variant.persistence, variant.namespace]);
1299
1300
  const height = HEIGHT[size2];
1300
- return /* @__PURE__ */ jsxs(Box, { "data-testid": "avl-glyph", "data-kind": kind, className: `inline-flex flex-col items-center gap-1 ${className ?? ""}`, children: [
1301
+ return /* @__PURE__ */ jsxs(Box, { ...domPassthrough(rest), "data-testid": "avl-glyph", "data-kind": kind, className: `inline-flex flex-col items-center gap-1 ${className ?? ""}`, children: [
1301
1302
  /* @__PURE__ */ jsx("svg", { height, width: height * box.w / box.h, viewBox: `${box.x} ${box.y} ${box.w} ${box.h}`, role: "img", "aria-label": label ?? t(`avl.glyph.${kind}`), children: /* @__PURE__ */ jsx("g", { ref: groupRef, children: /* @__PURE__ */ jsx(Symbol, { kind, label, ...variant }) }) }),
1302
1303
  showCaption ? /* @__PURE__ */ jsx(Box, { "data-testid": "avl-glyph-caption", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "muted", children: label ?? t(`avl.glyph.${kind}`) }) }) : null
1303
1304
  ] });
@@ -5126,6 +5127,7 @@ var OrbPreviewNodeInner = (props) => {
5126
5127
  const { t } = useTranslate();
5127
5128
  const eventBus = useEventBus();
5128
5129
  const reactFlow = useReactFlow();
5130
+ const cameraMs = usePrefersReducedMotion() ? 0 : 200;
5129
5131
  const contentRef = useRef(null);
5130
5132
  const [hovered, setHovered] = useState(false);
5131
5133
  const [playing, setPlaying] = useState(false);
@@ -5328,7 +5330,7 @@ var OrbPreviewNodeInner = (props) => {
5328
5330
  if (e.shiftKey && (e.code === "Digit1" || e.code === "Digit2") && hasCanvasTool(tools, "zoomToSelection")) {
5329
5331
  handled();
5330
5332
  if (e.code === "Digit1") {
5331
- void reactFlow.fitView({ padding: 0.1, duration: 200 });
5333
+ void reactFlow.fitView({ padding: 0.1, duration: cameraMs });
5332
5334
  return;
5333
5335
  }
5334
5336
  const container = contentRef.current;
@@ -5345,7 +5347,7 @@ var OrbPreviewNodeInner = (props) => {
5345
5347
  orbPreviewLog.info("zoom-to-selection", { paths, boxes, topLeft, bottomRight });
5346
5348
  void reactFlow.fitBounds(
5347
5349
  { x: topLeft.x, y: topLeft.y, width: bottomRight.x - topLeft.x, height: bottomRight.y - topLeft.y },
5348
- { padding: 0.2, duration: 200 }
5350
+ { padding: 0.2, duration: cameraMs }
5349
5351
  );
5350
5352
  return;
5351
5353
  }
@@ -6035,7 +6037,7 @@ var OrbPreviewNodeInner = (props) => {
6035
6037
  Box,
6036
6038
  {
6037
6039
  ref: setContentRef,
6038
- className: `orb-preview-live nodrag nopan relative outline-none${dragActive || reorderDragActive || l2IsOver ? " drag-active" : ""}`,
6040
+ className: `orb-preview-live nodrag nopan relative outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset${dragActive || reorderDragActive || l2IsOver ? " drag-active" : ""}`,
6039
6041
  "data-playing": playing,
6040
6042
  onClick: playing ? handleContentClick : void 0,
6041
6043
  onClickCapture: playing ? void 0 : handlePausedClickCapture,
@@ -8500,6 +8502,7 @@ function FlowCanvasInner({
8500
8502
  const [nodes, setNodes, onNodesChange] = useNodesState(activeNodes);
8501
8503
  const [edges, setEdges, onEdgesChange] = useEdgesState(activeEdges);
8502
8504
  const reactFlow = useReactFlow();
8505
+ const cameraMs = usePrefersReducedMotion() ? 0 : 300;
8503
8506
  const savedPositionsRef = React19.useRef(nodePositions);
8504
8507
  savedPositionsRef.current = nodePositions;
8505
8508
  const nodesRef = React19.useRef(nodes);
@@ -8527,8 +8530,8 @@ function FlowCanvasInner({
8527
8530
  const pending = pendingFitRef.current;
8528
8531
  if (!nodesInitialized || !pending) return;
8529
8532
  pendingFitRef.current = null;
8530
- void reactFlow.fitView({ duration: 300, padding: fitPadding, ...pending.centreOn ? { nodes: [{ id: pending.centreOn }] } : {} });
8531
- }, [nodesInitialized, nodes, reactFlow, fitPadding]);
8533
+ void reactFlow.fitView({ duration: cameraMs, padding: fitPadding, ...pending.centreOn ? { nodes: [{ id: pending.centreOn }] } : {} });
8534
+ }, [nodesInitialized, nodes, reactFlow, fitPadding, cameraMs]);
8532
8535
  const visibleEdges = useMemo(() => {
8533
8536
  const nodeIds = new Set(nodes.map((n) => n.id));
8534
8537
  return edges.filter((e) => nodeIds.has(e.source) && nodeIds.has(e.target));
@@ -8686,7 +8689,7 @@ function FlowCanvasInner({
8686
8689
  const applyScreenSize = (size2) => {
8687
8690
  pickScreenSize(size2);
8688
8691
  requestAnimationFrame(() => {
8689
- reactFlow.fitView({ duration: 300, padding: 0.25 });
8692
+ reactFlow.fitView({ duration: cameraMs, padding: 0.25 });
8690
8693
  });
8691
8694
  };
8692
8695
  const traitCardSelectionValue = useMemo(() => ({
@@ -8914,7 +8917,7 @@ function FlowCanvasInner({
8914
8917
  /* @__PURE__ */ jsx(
8915
8918
  Box,
8916
8919
  {
8917
- className: "relative flex-1 min-w-0 h-full outline-none flex flex-col",
8920
+ className: "relative flex-1 min-w-0 h-full outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset flex flex-col",
8918
8921
  tabIndex: 0,
8919
8922
  onKeyDown: handleCanvasKeyDown,
8920
8923
  "data-testid": "flow-canvas",
@@ -138,7 +138,6 @@ function aggregateSlot(sources) {
138
138
  children
139
139
  },
140
140
  priority: 0,
141
- animation: "fade",
142
141
  sourceTrait: MULTI_SOURCE_STACK_TRAIT
143
142
  };
144
143
  }
@@ -202,7 +201,6 @@ function useUISlotManager() {
202
201
  pattern: config.pattern,
203
202
  props: config.props ?? {},
204
203
  priority: config.priority ?? 0,
205
- animation: config.animation ?? "fade",
206
204
  onDismiss: config.onDismiss,
207
205
  sourceTrait: config.sourceTrait,
208
206
  slot: config.target,
@@ -243,7 +241,7 @@ function useUISlotManager() {
243
241
  });
244
242
  return prev;
245
243
  }
246
- if (existing && existing.priority === content.priority && existing.pattern === content.pattern && existing.animation === content.animation && existing.transitionEvent === content.transitionEvent && existing.fromState === content.fromState && existing.entity === content.entity && existing.nodeId === content.nodeId && existing.autoDismissAt === void 0 && content.autoDismissAt === void 0 && existing.onDismiss === void 0 === (content.onDismiss === void 0)) {
244
+ if (existing && existing.priority === content.priority && existing.pattern === content.pattern && existing.transitionEvent === content.transitionEvent && existing.fromState === content.fromState && existing.entity === content.entity && existing.nodeId === content.nodeId && existing.autoDismissAt === void 0 && content.autoDismissAt === void 0 && existing.onDismiss === void 0 === (content.onDismiss === void 0)) {
247
245
  const reconciled = reconcileSlotProps(existing.props, content.props);
248
246
  if (reconciled.equal) {
249
247
  log.debug("slot:flush-bail", { slot: config.target, sourceKey, pattern: content.pattern });
@@ -1,5 +1,5 @@
1
- import { avlBlend, AVL_INK, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, avlTint, Box, VStack, effectCategoryOf } from './chunk-BUEIZY54.js';
2
- import { Typography } from './chunk-MWPX2O4M.js';
1
+ import { avlBlend, AVL_INK, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, avlTint, Box, VStack, effectCategoryOf } from './chunk-BHZG4PDZ.js';
2
+ import { Typography } from './chunk-CLSLVFSP.js';
3
3
  import { Vector3, QuadraticBezierCurve3, MathUtils, Quaternion } from 'three';
4
4
  import { EntityPersistenceSchema } from '@almadar/core';
5
5
  import { getStdOperatorMeta } from '@almadar/std/registry';