@almadar/shell-web 1.2.1 → 1.3.1

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 (82) hide show
  1. package/dist/AvlGlyph-6MA7AZBV.js +5 -0
  2. package/dist/AvlStateMachine-JC7L7XE4.js +8 -0
  3. package/dist/AvlTransitionDetail-DYNDVWPG.js +10 -0
  4. package/dist/AvlTransitionExplainer-2UZQADBO.js +11 -0
  5. package/dist/BehaviorView-GEXFDDJ4.js +10 -0
  6. package/dist/{FileTree-B3GDAjaQ.d.ts → FileTree-CYtJ4yHB.d.ts} +12 -2
  7. package/dist/FlowCanvas-FINBI4XQ.js +23 -0
  8. package/dist/{GameAudioProvider-BgWOOYT3.d.ts → GameAudioProvider-B8FBcGVE.d.ts} +1 -1
  9. package/dist/{KernelEngineContext-BPx-q0iw.d.ts → KernelEngineContext-6l6vkc50.d.ts} +1 -1
  10. package/dist/LayersPanel-RPYIG5OC.js +6 -0
  11. package/dist/ModuleCard-7WXCBELY.js +6 -0
  12. package/dist/OrbInspector-F5X7ZBNB.js +23 -0
  13. package/dist/OrbPreview-LQCUPAHB.js +23 -0
  14. package/dist/OrbPreview-V4VLWNMT.css +1754 -0
  15. package/dist/{Select-BJ8Fgc8A.d.ts → Select-DuX0Gvwo.d.ts} +14 -8
  16. package/dist/UISlotRenderer-RUI64CSS.js +23 -0
  17. package/dist/auth/react/index.js +4 -0
  18. package/dist/avl/index.d.ts +2 -2
  19. package/dist/avl/index.js +31 -31
  20. package/dist/{chunk-7UCL26QB.js → chunk-2X2SUH6H.js} +4 -4
  21. package/dist/{chunk-TAEOMNDK.js → chunk-6RVHS7VA.js} +44916 -44208
  22. package/dist/{chunk-RDPELAFQ.js → chunk-7GGUX2ER.js} +4 -4
  23. package/dist/{chunk-3YUMGEEW.js → chunk-AYQKZFUH.js} +1 -1
  24. package/dist/{chunk-S3LS3B7N.js → chunk-CB4POLGP.js} +1 -1
  25. package/dist/{chunk-LINJRTNB.js → chunk-FC3MXAFJ.js} +2 -2
  26. package/dist/{chunk-2LNXLMK3.js → chunk-FZOX7XTU.js} +41 -41
  27. package/dist/{chunk-CCO2ZH7F.js → chunk-GC7BGA5F.js} +3 -3
  28. package/dist/{chunk-ZDRDJKYB.js → chunk-MXN32OVV.js} +212 -20
  29. package/dist/{chunk-D5FJU4XC.js → chunk-OOG33EGF.js} +46 -14
  30. package/dist/{chunk-AU7O65OX.js → chunk-OXHXISFA.js} +1 -1
  31. package/dist/{chunk-PWXZN5G5.js → chunk-PD5QUVRE.js} +2 -2
  32. package/dist/{chunk-GHAF7QUD.js → chunk-QZ6TDP6I.js} +1 -1
  33. package/dist/{chunk-HA2BYO5E.js → chunk-R5Z655B4.js} +2 -2
  34. package/dist/{chunk-JEN4EIUF.js → chunk-RCB4CKRK.js} +1 -1
  35. package/dist/{chunk-AL2XXMYR.js → chunk-RQH6O76X.js} +20 -6
  36. package/dist/{chunk-3UQNFRYV.js → chunk-SO2MERCZ.js} +20 -25
  37. package/dist/{chunk-DPDKBY6Z.js → chunk-SVIH6ICP.js} +2 -1
  38. package/dist/{chunk-UFQLHCFJ.js → chunk-SZJEUMQ2.js} +2 -2
  39. package/dist/{chunk-V5SVGUYN.js → chunk-TDSE2L4F.js} +2 -2
  40. package/dist/{chunk-PCR37T3U.js → chunk-UUHF7XOZ.js} +9 -5
  41. package/dist/{chunk-B23EZH2P.js → chunk-VC5BOBVE.js} +3 -3
  42. package/dist/{chunk-LKL5RULQ.js → chunk-VQQEFPNX.js} +3 -2
  43. package/dist/{chunk-6RXP5ZXE.js → chunk-YNF2LH2I.js} +8 -8
  44. package/dist/{chunk-KTYOYEVA.js → chunk-YU2ZNLGI.js} +1 -1
  45. package/dist/{chunk-3DA36FOA.js → chunk-ZR2UDQOR.js} +2 -2
  46. package/dist/components/index.d.ts +295 -22
  47. package/dist/components/index.js +30 -25
  48. package/dist/context/index.js +3 -3
  49. package/dist/core.d.ts +23 -6
  50. package/dist/core.js +1 -1
  51. package/dist/{fx-Bx5RqplG.d.ts → fx-Bc3yEVED.d.ts} +2 -2
  52. package/dist/hooks/index.js +4 -4
  53. package/dist/index.d.ts +18 -5
  54. package/dist/index.js +4 -4
  55. package/dist/{kernel-client-NMZ56JVU.js → kernel-client-NSTJKR2U.js} +84 -35
  56. package/dist/{kernel-wire-CRsHtLsf.d.ts → kernel-wire-Ds7xSZzx.d.ts} +6 -0
  57. package/dist/lib/index.d.ts +2 -2
  58. package/dist/lib/index.js +3 -3
  59. package/dist/providers/index.d.ts +5 -5
  60. package/dist/providers/index.js +18 -18
  61. package/dist/runtime/index.d.ts +6 -2
  62. package/dist/runtime/index.js +17 -17
  63. package/dist/ssr/index.cjs +27 -4
  64. package/dist/ssr/index.d.cts +6 -0
  65. package/dist/ssr/index.d.ts +6 -0
  66. package/dist/ssr/index.js +27 -4
  67. package/dist/test-support.js +2 -2
  68. package/dist/{verificationRegistry-BLuQU1JV.d.ts → verificationRegistry-Dz5N0oxx.d.ts} +199 -8
  69. package/package.json +9 -9
  70. package/src/core/locales/ar.json +8 -1
  71. package/src/core/locales/en.json +8 -1
  72. package/src/core/locales/sl.json +8 -1
  73. package/dist/AvlGlyph-KZMJDBEB.js +0 -5
  74. package/dist/AvlStateMachine-KVZMFHFU.js +0 -8
  75. package/dist/AvlTransitionDetail-7DVGV27I.js +0 -10
  76. package/dist/AvlTransitionExplainer-RMJ5LQLK.js +0 -11
  77. package/dist/BehaviorView-EYRPME67.js +0 -10
  78. package/dist/FlowCanvas-J54627TC.js +0 -23
  79. package/dist/LayersPanel-PSXI4EHG.js +0 -6
  80. package/dist/ModuleCard-TNRLL45H.js +0 -6
  81. package/dist/OrbInspector-UBEQWWZ2.js +0 -23
  82. package/dist/UISlotRenderer-5OURMAP2.js +0 -23
@@ -1,4 +1,4 @@
1
- import { cn, Typography, useTranslate, VStack, HStack, Icon, Button, Switch, Input } from './chunk-D5FJU4XC.js';
1
+ import { cn, Typography, useTranslate, VStack, HStack, Icon, Button, Switch, Input } from './chunk-OOG33EGF.js';
2
2
  import React from 'react';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -1,5 +1,5 @@
1
- import { useDraggable, useDropZone } from './chunk-GHAF7QUD.js';
2
- import { Box, domPassthrough, useTranslate, Icon, pressableProps, Typography } from './chunk-D5FJU4XC.js';
1
+ import { useDraggable, useDropZone } from './chunk-QZ6TDP6I.js';
2
+ import { Box, domPassthrough, useTranslate, Icon, pressableProps, Typography } from './chunk-OOG33EGF.js';
3
3
  import React, { createContext, useState, useCallback, useRef, useEffect, useContext } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
 
@@ -242,6 +242,7 @@ var FlatTreeNodeItem = ({
242
242
  onNodeReorder,
243
243
  selectedId,
244
244
  look,
245
+ foldsOnClick,
245
246
  isExpanded,
246
247
  onToggle
247
248
  }) => {
@@ -257,9 +258,13 @@ var FlatTreeNodeItem = ({
257
258
  if (isSelected) rowRef.current?.scrollIntoView({ block: "center" });
258
259
  }, [isSelected]);
259
260
  const handleClick = useCallback(() => {
261
+ if (hasChildren && foldsOnClick) {
262
+ onToggle(item.id, expanded);
263
+ return;
264
+ }
260
265
  if (hasChildren && !onNodeSelect) onToggle(item.id, expanded);
261
266
  onNodeSelect?.(item.id);
262
- }, [hasChildren, expanded, item.id, onNodeSelect, onToggle]);
267
+ }, [hasChildren, foldsOnClick, expanded, item.id, onNodeSelect, onToggle]);
263
268
  const handleChevron = useCallback((e) => {
264
269
  e.stopPropagation();
265
270
  onToggle(item.id, expanded);
@@ -373,6 +378,7 @@ var FlatTreeNodeItem = ({
373
378
  onNodeReorder,
374
379
  selectedId,
375
380
  look,
381
+ foldsOnClick,
376
382
  isExpanded,
377
383
  onToggle
378
384
  },
@@ -396,6 +402,7 @@ var FlatFileTree = ({
396
402
  expandedPaths,
397
403
  look = "files",
398
404
  onNodeSelect,
405
+ onNodeToggle,
399
406
  onNodeAction,
400
407
  nodeActionIcon,
401
408
  nodeActionLabel,
@@ -423,16 +430,20 @@ var FlatFileTree = ({
423
430
  });
424
431
  }, [selectedId, selectedAncestors, listedKey, listed]);
425
432
  const isExpanded = useCallback(
426
- (id, depth) => overrides.get(id) ?? (depth < 1 || selectedAncestors.has(id) || listed.has(id)),
427
- [overrides, selectedAncestors, listed]
433
+ (id, depth) => onNodeToggle ? listed.has(id) : overrides.get(id) ?? (depth < 1 || selectedAncestors.has(id) || listed.has(id)),
434
+ [onNodeToggle, overrides, selectedAncestors, listed]
428
435
  );
429
436
  const onToggle = useCallback((id, effective) => {
437
+ if (onNodeToggle) {
438
+ onNodeToggle(id, !effective);
439
+ return;
440
+ }
430
441
  setOverrides((prev) => {
431
442
  const next = new Map(prev);
432
443
  next.set(id, !effective);
433
444
  return next;
434
445
  });
435
- }, []);
446
+ }, [onNodeToggle]);
436
447
  if (items.length === 0) return null;
437
448
  const ids = new Set(items.map((node) => node.id));
438
449
  const childrenByParent = /* @__PURE__ */ new Map();
@@ -461,6 +472,7 @@ var FlatFileTree = ({
461
472
  onNodeReorder,
462
473
  selectedId,
463
474
  look,
475
+ foldsOnClick: onNodeToggle !== void 0,
464
476
  isExpanded,
465
477
  onToggle
466
478
  },
@@ -477,6 +489,7 @@ var FileTree = ({
477
489
  onNodeExpand,
478
490
  expandedPaths,
479
491
  onNodeSelect,
492
+ onNodeToggle,
480
493
  onNodeAction,
481
494
  nodeActionIcon,
482
495
  nodeActionLabel,
@@ -495,6 +508,7 @@ var FileTree = ({
495
508
  expandedPaths,
496
509
  look,
497
510
  onNodeSelect,
511
+ onNodeToggle,
498
512
  onNodeAction,
499
513
  nodeActionIcon,
500
514
  nodeActionLabel,
@@ -1,4 +1,5 @@
1
1
  import { createLogger } from '@almadar/logger';
2
+ import { getStdOperatorMeta } from '@almadar/std/registry';
2
3
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
4
 
4
5
  var log = createLogger("almadar:ui:theme-color");
@@ -208,6 +209,7 @@ var EFFECT_OPERATOR_CATEGORY = {
208
209
  "program/live": "system",
209
210
  "program/open": "system",
210
211
  "program/close": "system",
212
+ "program/host-ask": "system",
211
213
  "persist/read-named": "system",
212
214
  "credential-status": "system",
213
215
  "credential-forget": "system",
@@ -316,6 +318,7 @@ var EFFECT_OPERATOR_ZONE = {
316
318
  "program/live": "system",
317
319
  "program/open": "system",
318
320
  "program/close": "system",
321
+ "program/host-ask": "system",
319
322
  "persist/read-named": "system",
320
323
  "credential-status": "system",
321
324
  "credential-forget": "system",
@@ -426,8 +429,8 @@ var OPERATOR_CATEGORY_COLORS = {
426
429
  "std-workspace": avlBlend("var(--color-muted-foreground)", 60, "var(--color-warning)"),
427
430
  "std-session": avlBlend("var(--color-muted-foreground)", 60, "var(--color-success)"),
428
431
  "std-audio": avlBlend("var(--color-accent)", 50, "var(--color-warning)"),
432
+ "std-signal": avlBlend("var(--color-accent)", 40, "var(--color-info)"),
429
433
  "std-auth": avlBlend("var(--color-warning)", 60, "var(--color-primary)"),
430
- "std-trace": "var(--color-muted-foreground)",
431
434
  "std-behavior": avlBlend("var(--color-accent)", 60, "var(--color-success)"),
432
435
  "std-mem": avlBlend("var(--color-muted-foreground)", 70, "var(--color-error)"),
433
436
  "std-mem-read": avlBlend("var(--color-muted-foreground)", 70, "var(--color-info)"),
@@ -465,36 +468,12 @@ function headIcon(type, x, y, s, color) {
465
468
  strokeLinejoin: "round"
466
469
  }
467
470
  );
468
- case "persist":
469
- return /* @__PURE__ */ jsxs("g", { children: [
470
- /* @__PURE__ */ jsx("ellipse", { cx: x, cy: y - s * 0.6, rx: s, ry: s * 0.4, fill: "none", stroke: color, strokeWidth: 1.5 }),
471
- /* @__PURE__ */ jsx("line", { x1: x - s, y1: y - s * 0.6, x2: x - s, y2: y + s * 0.4, stroke: color, strokeWidth: 1.5 }),
472
- /* @__PURE__ */ jsx("line", { x1: x + s, y1: y - s * 0.6, x2: x + s, y2: y + s * 0.4, stroke: color, strokeWidth: 1.5 }),
473
- /* @__PURE__ */ jsx("ellipse", { cx: x, cy: y + s * 0.4, rx: s, ry: s * 0.4, fill: "none", stroke: color, strokeWidth: 1.5 })
474
- ] });
475
- case "fetch":
476
- return /* @__PURE__ */ jsxs("g", { children: [
477
- /* @__PURE__ */ jsx("line", { x1: x, y1: y - s, x2: x, y2: y + s * 0.6, stroke: color, strokeWidth: 1.5 }),
478
- /* @__PURE__ */ jsx("polyline", { points: `${x - s * 0.5},${y + s * 0.1} ${x},${y + s} ${x + s * 0.5},${y + s * 0.1}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
479
- ] });
480
471
  case "emit":
481
472
  return /* @__PURE__ */ jsxs("g", { children: [
482
473
  /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s * 0.3, fill: color }),
483
474
  /* @__PURE__ */ jsx("path", { d: `M${x - s * 0.7},${y - s * 0.7} A${s},${s} 0 0,1 ${x + s * 0.7},${y - s * 0.7}`, fill: "none", stroke: color, strokeWidth: 1.5 }),
484
475
  /* @__PURE__ */ jsx("path", { d: `M${x - s},${y - s} A${s * 1.4},${s * 1.4} 0 0,1 ${x + s},${y - s}`, fill: "none", stroke: color, strokeWidth: 1, opacity: 0.6 })
485
476
  ] });
486
- case "navigate":
487
- return /* @__PURE__ */ jsxs("g", { children: [
488
- /* @__PURE__ */ jsx("line", { x1: x - s, y1: y, x2: x + s * 0.6, y2: y, stroke: color, strokeWidth: 1.5 }),
489
- /* @__PURE__ */ jsx("polyline", { points: `${x + s * 0.1},${y - s * 0.5} ${x + s},${y} ${x + s * 0.1},${y + s * 0.5}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
490
- ] });
491
- case "call-service":
492
- return /* @__PURE__ */ jsxs("g", { children: [
493
- /* @__PURE__ */ jsx("line", { x1: x - s, y1: y - s * 0.3, x2: x + s, y2: y - s * 0.3, stroke: color, strokeWidth: 1.5 }),
494
- /* @__PURE__ */ jsx("polyline", { points: `${x + s * 0.5},${y - s * 0.7} ${x + s},${y - s * 0.3} ${x + s * 0.5},${y + s * 0.1}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" }),
495
- /* @__PURE__ */ jsx("line", { x1: x + s, y1: y + s * 0.3, x2: x - s, y2: y + s * 0.3, stroke: color, strokeWidth: 1.5 }),
496
- /* @__PURE__ */ jsx("polyline", { points: `${x - s * 0.5},${y - s * 0.1} ${x - s},${y + s * 0.3} ${x - s * 0.5},${y + s * 0.7}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
497
- ] });
498
477
  case "spawn":
499
478
  return /* @__PURE__ */ jsxs("g", { children: [
500
479
  /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.5 }),
@@ -570,6 +549,22 @@ var CATEGORY_GLYPH = {
570
549
  system: gear
571
550
  };
572
551
  function effectIcon(type, x, y, s, color) {
552
+ const glyph = getStdOperatorMeta(type)?.visual?.glyph;
553
+ if (glyph) {
554
+ return /* @__PURE__ */ jsx(
555
+ "path",
556
+ {
557
+ d: glyph,
558
+ transform: `translate(${x} ${y}) scale(${s})`,
559
+ vectorEffect: "non-scaling-stroke",
560
+ fill: "none",
561
+ stroke: color,
562
+ strokeWidth: 1.5,
563
+ strokeLinecap: "round",
564
+ strokeLinejoin: "round"
565
+ }
566
+ );
567
+ }
573
568
  const op = asEffectOperator(type);
574
569
  const own = op ? headIcon(op, x, y, s, color) : null;
575
570
  if (own) return own;
@@ -1,4 +1,4 @@
1
- import { STATE_COLORS } from './chunk-3UQNFRYV.js';
1
+ import { STATE_COLORS } from './chunk-SO2MERCZ.js';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { isTypeVariable } from '@almadar/core';
4
4
 
@@ -232,6 +232,7 @@ var FIELD_TYPE_SHAPES = {
232
232
  event: "hexagon",
233
233
  EventAddress: "hexagon",
234
234
  CallKey: "hexagon",
235
+ MessageKey: "hexagon",
235
236
  SExpr: "hexagon",
236
237
  array: "bars",
237
238
  tuple: "bars",
@@ -1,5 +1,5 @@
1
- import { FileTree } from './chunk-AL2XXMYR.js';
2
- import { parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, traitTransitionRenderUi } from './chunk-PCR37T3U.js';
1
+ import { FileTree } from './chunk-RQH6O76X.js';
2
+ import { parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, traitTransitionRenderUi } from './chunk-UUHF7XOZ.js';
3
3
  import { useMemo } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -1,5 +1,5 @@
1
- import { effectCategoryOf, AvlEffect } from './chunk-3UQNFRYV.js';
2
- import { useThemeScope, Box, useTapReveal, Typography, cn, domPassthrough, usePresence, useDialogBehavior, SurfaceBoundary, VStack, useTranslate } from './chunk-D5FJU4XC.js';
1
+ import { effectCategoryOf, AvlEffect } from './chunk-SO2MERCZ.js';
2
+ import { useThemeScope, Box, useTapReveal, Typography, cn, domPassthrough, usePresence, useDialogBehavior, SurfaceBoundary, VStack, useTranslate } from './chunk-OOG33EGF.js';
3
3
  import { createPortal } from 'react-dom';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import React, { useId, useState, useRef, useLayoutEffect, useEffect } from 'react';
@@ -1,4 +1,5 @@
1
1
  import { renderUiEntriesOf } from '@almadar/core/patterns';
2
+ import { getStdOperatorMeta } from '@almadar/std/registry';
2
3
  import { kernelEvaluator } from '@almadar/core';
3
4
 
4
5
  var wiresBySchema = /* @__PURE__ */ new WeakMap();
@@ -72,10 +73,12 @@ function getListens(trait) {
72
73
  function jsonEffects(t) {
73
74
  return t.effects ?? [];
74
75
  }
75
- function parseEffectType(effect) {
76
+ function parseEffectType(effect, described) {
76
77
  if (Array.isArray(effect)) {
77
78
  const [type, ...args] = effect;
78
- return { type: String(type), args };
79
+ const name = String(type);
80
+ const glyph = getStdOperatorMeta(name)?.visual?.glyph ?? described?.[name];
81
+ return glyph === void 0 ? { type: name, args } : { type: name, args, glyph };
79
82
  }
80
83
  return { type: "unknown", args: [] };
81
84
  }
@@ -231,7 +234,8 @@ function traitLevelFromDescription(description) {
231
234
  machine.linkedEntity ?? "",
232
235
  machine.stateMachine,
233
236
  description.events.emits,
234
- description.events.listens
237
+ description.events.listens,
238
+ machine.glyphs
235
239
  );
236
240
  }
237
241
  function traitLevelFromMounted(trait) {
@@ -246,7 +250,7 @@ function traitLevelFromMounted(trait) {
246
250
  listenedEvents: trait.listens.map((l) => l.event)
247
251
  };
248
252
  }
249
- function traitLevelOf(name, linkedEntity, sm, emittedEvents, listenedEvents) {
253
+ function traitLevelOf(name, linkedEntity, sm, emittedEvents, listenedEvents, glyphs) {
250
254
  const states = getStates(sm).map((s) => ({
251
255
  name: s.name ?? "",
252
256
  isInitial: s.isInitial ?? null,
@@ -257,7 +261,7 @@ function traitLevelOf(name, linkedEntity, sm, emittedEvents, listenedEvents) {
257
261
  to: t.to ?? "",
258
262
  event: t.event ?? "",
259
263
  guard: t.guard ?? null,
260
- effects: jsonEffects(t).map(parseEffectType),
264
+ effects: jsonEffects(t).map((e) => parseEffectType(e, glyphs)),
261
265
  index: i
262
266
  }));
263
267
  return {
@@ -1,6 +1,6 @@
1
- import { AvlStateMachine } from './chunk-RDPELAFQ.js';
2
- import { EmptyState } from './chunk-3YUMGEEW.js';
3
- import { useTranslate, Box, domPassthrough } from './chunk-D5FJU4XC.js';
1
+ import { AvlStateMachine } from './chunk-7GGUX2ER.js';
2
+ import { EmptyState } from './chunk-AYQKZFUH.js';
3
+ import { useTranslate, Box, domPassthrough } from './chunk-OOG33EGF.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var BehaviorView = ({ data, ...rest }) => {
@@ -1,5 +1,5 @@
1
- import { perfStore, pushPerfEntry } from './chunk-ZDRDJKYB.js';
2
- import { isMotionEnabled } from './chunk-D5FJU4XC.js';
1
+ import { perfStore, pushPerfEntry } from './chunk-MXN32OVV.js';
2
+ import { isMotionEnabled } from './chunk-OOG33EGF.js';
3
3
  import { useRef, useLayoutEffect, useSyncExternalStore } from 'react';
4
4
  import { ENTER_DELAY_STEPS, ENTER_ANIMATIONS, isFileValue } from '@almadar/core';
5
5
  export { getNestedValue } from '@almadar/core';
@@ -852,6 +852,7 @@ function bindEventBus(eventBus) {
852
852
  log.debug("sendEvent", { event: prefixed, traitScope, payloadKeys: payload ? Object.keys(payload) : [] });
853
853
  eventBus.emit(prefixed, payload);
854
854
  };
855
+ if (!verifierAttached()) return;
855
856
  const MAX_EVENT_LOG = 5e3;
856
857
  const eventLog = [];
857
858
  let eventLogDropped = 0;
@@ -1,11 +1,11 @@
1
- import { JsonTreeEditor } from './chunk-JEN4EIUF.js';
2
- import { transitionPlayback, Accordion } from './chunk-3DA36FOA.js';
3
- import { EmptyState } from './chunk-3YUMGEEW.js';
4
- import { useContainerWidth, roundedEdgePath } from './chunk-HA2BYO5E.js';
5
- import { parseTraitLevel } from './chunk-PCR37T3U.js';
6
- import { AvlExplain, AvlEffectChip } from './chunk-V5SVGUYN.js';
7
- import { AVL_INK, AVL_FONT, effectZoneOf, avlTint, AvlEffect, OPERATOR_CATEGORY_COLORS, avlBlend } from './chunk-3UQNFRYV.js';
8
- import { useTranslate, useMediaQuery, Box, Typography, Card, VStack, HStack, Badge, Button } from './chunk-D5FJU4XC.js';
1
+ import { JsonTreeEditor } from './chunk-RCB4CKRK.js';
2
+ import { transitionPlayback, Accordion } from './chunk-ZR2UDQOR.js';
3
+ import { EmptyState } from './chunk-AYQKZFUH.js';
4
+ import { useContainerWidth, roundedEdgePath } from './chunk-R5Z655B4.js';
5
+ import { parseTraitLevel } from './chunk-UUHF7XOZ.js';
6
+ import { AvlExplain, AvlEffectChip } from './chunk-TDSE2L4F.js';
7
+ import { AVL_INK, AVL_FONT, effectZoneOf, avlTint, AvlEffect, OPERATOR_CATEGORY_COLORS, avlBlend } from './chunk-SO2MERCZ.js';
8
+ import { useTranslate, useMediaQuery, Box, Typography, Card, VStack, HStack, Badge, Button } from './chunk-OOG33EGF.js';
9
9
  import { useRef, useMemo, useState } from 'react';
10
10
  import { formatSExpr, JsonValueSchema, isJsonObject, isBinding } from '@almadar/core';
11
11
  import { operatorVisualForm, getStdOperatorMeta } from '@almadar/std/registry';
@@ -1,4 +1,4 @@
1
- import { ThemeProvider, useTheme } from './chunk-D5FJU4XC.js';
1
+ import { ThemeProvider, useTheme } from './chunk-OOG33EGF.js';
2
2
 
3
3
  // src/providers/DesignThemeContext.tsx
4
4
  var DesignThemeProvider = ThemeProvider;
@@ -1,5 +1,5 @@
1
- import { traitLevelFromDescription } from './chunk-PCR37T3U.js';
2
- import { useContentSurface, useEventBus, Typography, Icon, cn, domPassthrough } from './chunk-D5FJU4XC.js';
1
+ import { traitLevelFromDescription } from './chunk-UUHF7XOZ.js';
2
+ import { useContentSurface, useEventBus, Typography, Icon, cn, domPassthrough } from './chunk-OOG33EGF.js';
3
3
  import { useState } from 'react';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5