@almadar/ui 5.76.5 → 5.76.7

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 (64) hide show
  1. package/dist/avl/index.cjs +23 -83
  2. package/dist/avl/index.css +3 -3
  3. package/dist/avl/index.js +23 -83
  4. package/dist/components/core/atoms/FlipContainer.d.ts +1 -1
  5. package/dist/components/core/molecules/Card.d.ts +1 -1
  6. package/dist/components/core/molecules/DataGrid.d.ts +1 -1
  7. package/dist/components/core/molecules/DataList.d.ts +1 -1
  8. package/dist/components/core/molecules/DocPagination.d.ts +8 -1
  9. package/dist/components/core/molecules/DocSearch.d.ts +8 -1
  10. package/dist/components/core/molecules/FlipCard.d.ts +1 -1
  11. package/dist/components/core/molecules/MapView.d.ts +18 -1
  12. package/dist/components/core/molecules/SortableList.d.ts +1 -1
  13. package/dist/components/core/molecules/TableView.d.ts +1 -1
  14. package/dist/components/core/molecules/markdown/CodeBlock.d.ts +1 -1
  15. package/dist/components/core/organisms/DataTable.d.ts +1 -1
  16. package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +10 -1
  17. package/dist/components/core/organisms/debug/tabs/EntitiesTab.d.ts +2 -1
  18. package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +2 -1
  19. package/dist/components/core/organisms/debug/tabs/EventFlowTab.d.ts +6 -1
  20. package/dist/components/core/organisms/debug/tabs/GuardsPanel.d.ts +6 -1
  21. package/dist/components/core/organisms/debug/tabs/ServerBridgeTab.d.ts +12 -1
  22. package/dist/components/core/organisms/debug/tabs/TicksTab.d.ts +2 -1
  23. package/dist/components/core/organisms/debug/tabs/TraitsTab.d.ts +2 -1
  24. package/dist/components/core/organisms/debug/tabs/TransitionTimeline.d.ts +11 -1
  25. package/dist/components/core/organisms/debug/tabs/VerificationTab.d.ts +8 -1
  26. package/dist/components/game/2d/atoms/ActionButton.d.ts +2 -1
  27. package/dist/components/game/2d/atoms/ChoiceButton.d.ts +2 -1
  28. package/dist/components/game/2d/atoms/ComboCounter.d.ts +2 -1
  29. package/dist/components/game/2d/atoms/ControlButton.d.ts +2 -1
  30. package/dist/components/game/2d/atoms/DamageNumber.d.ts +2 -1
  31. package/dist/components/game/2d/atoms/DialogueBubble.d.ts +2 -1
  32. package/dist/components/game/2d/atoms/GameIcon.d.ts +2 -1
  33. package/dist/components/game/2d/atoms/HealthBar.d.ts +2 -1
  34. package/dist/components/game/2d/atoms/ItemSlot.d.ts +2 -1
  35. package/dist/components/game/2d/atoms/MiniMap.d.ts +2 -1
  36. package/dist/components/game/2d/atoms/ResourceCounter.d.ts +2 -1
  37. package/dist/components/game/2d/atoms/ScoreDisplay.d.ts +2 -1
  38. package/dist/components/game/2d/atoms/StatusEffect.d.ts +2 -1
  39. package/dist/components/game/2d/atoms/TimerDisplay.d.ts +2 -1
  40. package/dist/components/game/2d/atoms/TurnIndicator.d.ts +2 -1
  41. package/dist/components/game/2d/atoms/WaypointMarker.d.ts +2 -1
  42. package/dist/components/game/2d/molecules/GameHud.d.ts +2 -1
  43. package/dist/components/game/2d/molecules/GameMenu.d.ts +2 -1
  44. package/dist/components/game/2d/molecules/InventoryGrid.d.ts +2 -1
  45. package/dist/components/game/2d/molecules/ResourceBar.d.ts +2 -1
  46. package/dist/components/game/2d/molecules/StatBadge.d.ts +2 -1
  47. package/dist/components/game/2d/organisms/SimulationCanvas.d.ts +5 -5
  48. package/dist/components/game/shared/lib/editorUtils.d.ts +8 -8
  49. package/dist/components/index.cjs +19 -79
  50. package/dist/components/index.css +3 -3
  51. package/dist/components/index.js +19 -79
  52. package/dist/hooks/useGitHub.d.ts +7 -7
  53. package/dist/marketing/index.cjs +2 -2
  54. package/dist/marketing/index.js +2 -2
  55. package/dist/providers/EventBusProvider.d.ts +1 -1
  56. package/dist/providers/SelectionProvider.d.ts +1 -1
  57. package/dist/providers/ServerBridge.d.ts +1 -1
  58. package/dist/providers/index.cjs +19 -79
  59. package/dist/providers/index.css +3 -3
  60. package/dist/providers/index.js +19 -79
  61. package/dist/runtime/index.cjs +19 -79
  62. package/dist/runtime/index.css +3 -3
  63. package/dist/runtime/index.js +19 -79
  64. package/package.json +1 -1
@@ -630,7 +630,7 @@ var init_AvlFieldType = __esm({
630
630
  }
631
631
  });
632
632
 
633
- // node_modules/clsx/dist/clsx.mjs
633
+ // node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
634
634
  function r(e) {
635
635
  var t, f3, n = "";
636
636
  if ("string" == typeof e || "number" == typeof e) n += e;
@@ -645,11 +645,11 @@ function clsx() {
645
645
  return n;
646
646
  }
647
647
  var init_clsx = __esm({
648
- "node_modules/clsx/dist/clsx.mjs"() {
648
+ "node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"() {
649
649
  }
650
650
  });
651
651
 
652
- // node_modules/tailwind-merge/dist/bundle-mjs.mjs
652
+ // node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs
653
653
  function twJoin() {
654
654
  let index = 0;
655
655
  let argument;
@@ -693,7 +693,7 @@ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
693
693
  }
694
694
  var CLASS_PART_SEPARATOR, createClassGroupUtils, getGroupRecursive, arbitraryPropertyRegex, getGroupIdForArbitraryProperty, createClassMap, processClassesRecursively, getPart, isThemeGetter, getPrefixedClassGroupEntries, createLruCache, IMPORTANT_MODIFIER, createParseClassName, sortModifiers, createConfigUtils, SPLIT_CLASSES_REGEX, mergeClassList, toValue, fromTheme, arbitraryValueRegex, fractionRegex, stringLengths, tshirtUnitRegex, lengthUnitRegex, colorFunctionRegex, shadowRegex, imageRegex, isLength, isArbitraryLength, isNumber, isArbitraryNumber, isInteger, isPercent, isArbitraryValue, isTshirtSize, sizeLabels, isArbitrarySize, isArbitraryPosition, imageLabels, isArbitraryImage, isArbitraryShadow, isAny, getIsArbitraryValue, isLengthOnly, isNever, isShadow, isImage, getDefaultConfig, twMerge;
695
695
  var init_bundle_mjs = __esm({
696
- "node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
696
+ "node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
697
697
  CLASS_PART_SEPARATOR = "-";
698
698
  createClassGroupUtils = (config) => {
699
699
  const classMap = createClassMap(config);
@@ -8555,7 +8555,11 @@ var init_Switch = __esm({
8555
8555
  disabled,
8556
8556
  onClick: handleClick,
8557
8557
  className: cn(
8558
- "relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
8558
+ // Fixed rem sizes instead of spacing tokens: themes like atelier
8559
+ // redefine --space-11 to 68px, which makes w-11 enormous and leaves
8560
+ // the thumb stuck near the left edge. The switch geometry must stay
8561
+ // proportional regardless of a theme's density scale.
8562
+ "relative inline-flex h-[1.5rem] w-[2.75rem] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
8559
8563
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
8560
8564
  isChecked ? "bg-primary" : "bg-muted",
8561
8565
  disabled && "cursor-not-allowed opacity-50"
@@ -8564,8 +8568,8 @@ var init_Switch = __esm({
8564
8568
  "span",
8565
8569
  {
8566
8570
  className: cn(
8567
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform",
8568
- isChecked ? "translate-x-5" : "translate-x-0"
8571
+ "pointer-events-none block h-[1.25rem] w-[1.25rem] rounded-full bg-background shadow-lg ring-0 transition-transform",
8572
+ isChecked ? "translate-x-[1.25rem]" : "translate-x-0"
8569
8573
  )
8570
8574
  }
8571
8575
  )
@@ -22654,8 +22658,6 @@ function SimulationCanvas({
22654
22658
  preset: presetProp,
22655
22659
  width = 600,
22656
22660
  height = 400,
22657
- running,
22658
- speed = 1,
22659
22661
  bodies: externalBodies,
22660
22662
  className
22661
22663
  }) {
@@ -22666,59 +22668,6 @@ function SimulationCanvas({
22666
22668
  React114.useEffect(() => {
22667
22669
  bodiesRef.current = structuredClone(preset.bodies);
22668
22670
  }, [preset]);
22669
- const step = React114.useCallback(() => {
22670
- const dt = Math.min(1 / 60 * speed, 1 / 15);
22671
- const gx = preset.gravity?.x ?? 0;
22672
- const gy = preset.gravity?.y ?? 9.81;
22673
- const bodies = bodiesRef.current;
22674
- const maxVel = Math.max(width, height) * 5;
22675
- for (const body of bodies) {
22676
- if (body.fixed) continue;
22677
- body.vx += gx * dt;
22678
- body.vy += gy * dt;
22679
- body.vx = Math.max(-maxVel, Math.min(maxVel, body.vx));
22680
- body.vy = Math.max(-maxVel, Math.min(maxVel, body.vy));
22681
- body.x += body.vx * dt;
22682
- body.y += body.vy * dt;
22683
- if (body.y + body.radius > height) {
22684
- body.y = height - body.radius;
22685
- body.vy = -body.vy * 0.8;
22686
- }
22687
- if (body.y - body.radius < 0) {
22688
- body.y = body.radius;
22689
- body.vy = -body.vy * 0.8;
22690
- }
22691
- if (body.x + body.radius > width) {
22692
- body.x = width - body.radius;
22693
- body.vx = -body.vx * 0.8;
22694
- }
22695
- if (body.x - body.radius < 0) {
22696
- body.x = body.radius;
22697
- body.vx = -body.vx * 0.8;
22698
- }
22699
- }
22700
- if (preset.constraints) {
22701
- for (const c of preset.constraints) {
22702
- const a = bodies[c.bodyA];
22703
- const b = bodies[c.bodyB];
22704
- if (!a || !b) continue;
22705
- const dx = b.x - a.x;
22706
- const dy = b.y - a.y;
22707
- const dist = Math.sqrt(dx * dx + dy * dy) || 1e-3;
22708
- const diff = (dist - c.length) / dist;
22709
- const fx = dx * diff * c.stiffness;
22710
- const fy = dy * diff * c.stiffness;
22711
- if (!a.fixed) {
22712
- a.vx += fx * dt;
22713
- a.vy += fy * dt;
22714
- }
22715
- if (!b.fixed) {
22716
- b.vx -= fx * dt;
22717
- b.vy -= fy * dt;
22718
- }
22719
- }
22720
- }
22721
- }, [preset, width, height, speed]);
22722
22671
  const draw = React114.useCallback(() => {
22723
22672
  const canvas = canvasRef.current;
22724
22673
  if (!canvas) return;
@@ -22820,21 +22769,8 @@ function SimulationCanvas({
22820
22769
  return interp.startLoop(drawInterpolated);
22821
22770
  }, [externalBodies !== void 0, interp.startLoop]);
22822
22771
  React114.useEffect(() => {
22823
- if (externalBodies !== void 0) return;
22824
- if (!running) return;
22825
- let raf;
22826
- const loop = () => {
22827
- step();
22828
- draw();
22829
- raf = requestAnimationFrame(loop);
22830
- };
22831
- raf = requestAnimationFrame(loop);
22832
- return () => cancelAnimationFrame(raf);
22833
- }, [running, step, draw, externalBodies]);
22834
- React114.useEffect(() => {
22835
- if (externalBodies !== void 0) return;
22836
22772
  draw();
22837
- }, [draw, externalBodies]);
22773
+ }, [draw]);
22838
22774
  React114.useEffect(() => {
22839
22775
  if (typeof window === "undefined") return;
22840
22776
  const canvas = canvasRef.current;
@@ -25640,9 +25576,9 @@ var init_AuthLayout = __esm({
25640
25576
  }
25641
25577
  });
25642
25578
 
25643
- // node_modules/katex/dist/katex.min.css
25579
+ // node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.min.css
25644
25580
  var init_katex_min = __esm({
25645
- "node_modules/katex/dist/katex.min.css"() {
25581
+ "node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.min.css"() {
25646
25582
  }
25647
25583
  });
25648
25584
  var Tabs;
@@ -25956,7 +25892,7 @@ function generateDiff(oldVal, newVal) {
25956
25892
  }
25957
25893
  return diff;
25958
25894
  }
25959
- var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
25895
+ var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
25960
25896
  var init_CodeBlock = __esm({
25961
25897
  "components/core/molecules/markdown/CodeBlock.tsx"() {
25962
25898
  init_cn();
@@ -26073,9 +26009,13 @@ var init_CodeBlock = __esm({
26073
26009
  CODE_LANGUAGE_SET = new Set(CODE_LANGUAGES);
26074
26010
  DIFF_STYLES = {
26075
26011
  add: { bg: "bg-success/10", prefix: "+", text: "text-success" },
26012
+ added: { bg: "bg-success/10", prefix: "+", text: "text-success" },
26076
26013
  remove: { bg: "bg-error/10", prefix: "-", text: "text-error" },
26077
- context: { bg: "", prefix: " ", text: "text-foreground" }
26014
+ removed: { bg: "bg-error/10", prefix: "-", text: "text-error" },
26015
+ context: { bg: "", prefix: " ", text: "text-foreground" },
26016
+ unchanged: { bg: "", prefix: " ", text: "text-foreground" }
26078
26017
  };
26018
+ DIFF_STYLE_FALLBACK = { bg: "", prefix: " ", text: "text-foreground" };
26079
26019
  LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
26080
26020
  HIDDEN_LINE_NUMBERS = { display: "none" };
26081
26021
  CodeBlock = React114__namespace.default.memo(
@@ -26440,7 +26380,7 @@ var init_CodeBlock = __esm({
26440
26380
  }
26441
26381
  ),
26442
26382
  /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "overflow-auto bg-muted/20", style: { maxHeight }, children: diffLines ? /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column" }, className: "font-mono text-xs", children: diffLines.map((line, idx) => {
26443
- const style = DIFF_STYLES[line.type];
26383
+ const style = DIFF_STYLES[line.type] ?? DIFF_STYLE_FALLBACK;
26444
26384
  return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "none", align: "start", className: cn(style.bg, "px-4 py-0.5"), children: [
26445
26385
  showLineNumbers && /* @__PURE__ */ jsxRuntime.jsx(
26446
26386
  Typography,
@@ -29107,7 +29047,7 @@ var init_BookTableOfContents = __esm({
29107
29047
  style: { direction },
29108
29048
  children: [
29109
29049
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h1", className: "text-3xl font-bold text-center mb-4", children: t("book.tableOfContents") }),
29110
- parts.map((part, partIdx) => {
29050
+ (Array.isArray(parts) ? parts : []).map((part, partIdx) => {
29111
29051
  const chapters = Array.isArray(part.chapters) ? part.chapters : [];
29112
29052
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
29113
29053
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "center", children: [
@@ -43052,7 +42992,7 @@ var init_RichBlockEditor = __esm({
43052
42992
  changeEvent,
43053
42993
  readOnly = false,
43054
42994
  placeholder,
43055
- enableBlocks = false,
42995
+ enableBlocks = true,
43056
42996
  showToolbar = true,
43057
42997
  className
43058
42998
  }) => {
@@ -1,4 +1,4 @@
1
- /* node_modules/katex/dist/katex.min.css */
1
+ /* node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.min.css */
2
2
  @font-face {
3
3
  font-display: block;
4
4
  font-family: KaTeX_AMS;
@@ -214,11 +214,11 @@
214
214
  border-color: currentColor;
215
215
  }
216
216
  .katex .katex-version:after {
217
- content: "0.16.45";
217
+ content: "0.16.47";
218
218
  }
219
219
  .katex .katex-mathml {
220
- clip: rect(1px, 1px, 1px, 1px);
221
220
  border: 0;
221
+ clip-path: inset(50%);
222
222
  height: 1px;
223
223
  overflow: hidden;
224
224
  padding: 0;
package/dist/avl/index.js CHANGED
@@ -584,7 +584,7 @@ var init_AvlFieldType = __esm({
584
584
  }
585
585
  });
586
586
 
587
- // node_modules/clsx/dist/clsx.mjs
587
+ // node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
588
588
  function r(e) {
589
589
  var t, f3, n = "";
590
590
  if ("string" == typeof e || "number" == typeof e) n += e;
@@ -599,11 +599,11 @@ function clsx() {
599
599
  return n;
600
600
  }
601
601
  var init_clsx = __esm({
602
- "node_modules/clsx/dist/clsx.mjs"() {
602
+ "node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"() {
603
603
  }
604
604
  });
605
605
 
606
- // node_modules/tailwind-merge/dist/bundle-mjs.mjs
606
+ // node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs
607
607
  function twJoin() {
608
608
  let index = 0;
609
609
  let argument;
@@ -647,7 +647,7 @@ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
647
647
  }
648
648
  var CLASS_PART_SEPARATOR, createClassGroupUtils, getGroupRecursive, arbitraryPropertyRegex, getGroupIdForArbitraryProperty, createClassMap, processClassesRecursively, getPart, isThemeGetter, getPrefixedClassGroupEntries, createLruCache, IMPORTANT_MODIFIER, createParseClassName, sortModifiers, createConfigUtils, SPLIT_CLASSES_REGEX, mergeClassList, toValue, fromTheme, arbitraryValueRegex, fractionRegex, stringLengths, tshirtUnitRegex, lengthUnitRegex, colorFunctionRegex, shadowRegex, imageRegex, isLength, isArbitraryLength, isNumber, isArbitraryNumber, isInteger, isPercent, isArbitraryValue, isTshirtSize, sizeLabels, isArbitrarySize, isArbitraryPosition, imageLabels, isArbitraryImage, isArbitraryShadow, isAny, getIsArbitraryValue, isLengthOnly, isNever, isShadow, isImage, getDefaultConfig, twMerge;
649
649
  var init_bundle_mjs = __esm({
650
- "node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
650
+ "node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
651
651
  CLASS_PART_SEPARATOR = "-";
652
652
  createClassGroupUtils = (config) => {
653
653
  const classMap = createClassMap(config);
@@ -8509,7 +8509,11 @@ var init_Switch = __esm({
8509
8509
  disabled,
8510
8510
  onClick: handleClick,
8511
8511
  className: cn(
8512
- "relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
8512
+ // Fixed rem sizes instead of spacing tokens: themes like atelier
8513
+ // redefine --space-11 to 68px, which makes w-11 enormous and leaves
8514
+ // the thumb stuck near the left edge. The switch geometry must stay
8515
+ // proportional regardless of a theme's density scale.
8516
+ "relative inline-flex h-[1.5rem] w-[2.75rem] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
8513
8517
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
8514
8518
  isChecked ? "bg-primary" : "bg-muted",
8515
8519
  disabled && "cursor-not-allowed opacity-50"
@@ -8518,8 +8522,8 @@ var init_Switch = __esm({
8518
8522
  "span",
8519
8523
  {
8520
8524
  className: cn(
8521
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform",
8522
- isChecked ? "translate-x-5" : "translate-x-0"
8525
+ "pointer-events-none block h-[1.25rem] w-[1.25rem] rounded-full bg-background shadow-lg ring-0 transition-transform",
8526
+ isChecked ? "translate-x-[1.25rem]" : "translate-x-0"
8523
8527
  )
8524
8528
  }
8525
8529
  )
@@ -22608,8 +22612,6 @@ function SimulationCanvas({
22608
22612
  preset: presetProp,
22609
22613
  width = 600,
22610
22614
  height = 400,
22611
- running,
22612
- speed = 1,
22613
22615
  bodies: externalBodies,
22614
22616
  className
22615
22617
  }) {
@@ -22620,59 +22622,6 @@ function SimulationCanvas({
22620
22622
  useEffect(() => {
22621
22623
  bodiesRef.current = structuredClone(preset.bodies);
22622
22624
  }, [preset]);
22623
- const step = useCallback(() => {
22624
- const dt = Math.min(1 / 60 * speed, 1 / 15);
22625
- const gx = preset.gravity?.x ?? 0;
22626
- const gy = preset.gravity?.y ?? 9.81;
22627
- const bodies = bodiesRef.current;
22628
- const maxVel = Math.max(width, height) * 5;
22629
- for (const body of bodies) {
22630
- if (body.fixed) continue;
22631
- body.vx += gx * dt;
22632
- body.vy += gy * dt;
22633
- body.vx = Math.max(-maxVel, Math.min(maxVel, body.vx));
22634
- body.vy = Math.max(-maxVel, Math.min(maxVel, body.vy));
22635
- body.x += body.vx * dt;
22636
- body.y += body.vy * dt;
22637
- if (body.y + body.radius > height) {
22638
- body.y = height - body.radius;
22639
- body.vy = -body.vy * 0.8;
22640
- }
22641
- if (body.y - body.radius < 0) {
22642
- body.y = body.radius;
22643
- body.vy = -body.vy * 0.8;
22644
- }
22645
- if (body.x + body.radius > width) {
22646
- body.x = width - body.radius;
22647
- body.vx = -body.vx * 0.8;
22648
- }
22649
- if (body.x - body.radius < 0) {
22650
- body.x = body.radius;
22651
- body.vx = -body.vx * 0.8;
22652
- }
22653
- }
22654
- if (preset.constraints) {
22655
- for (const c of preset.constraints) {
22656
- const a = bodies[c.bodyA];
22657
- const b = bodies[c.bodyB];
22658
- if (!a || !b) continue;
22659
- const dx = b.x - a.x;
22660
- const dy = b.y - a.y;
22661
- const dist = Math.sqrt(dx * dx + dy * dy) || 1e-3;
22662
- const diff = (dist - c.length) / dist;
22663
- const fx = dx * diff * c.stiffness;
22664
- const fy = dy * diff * c.stiffness;
22665
- if (!a.fixed) {
22666
- a.vx += fx * dt;
22667
- a.vy += fy * dt;
22668
- }
22669
- if (!b.fixed) {
22670
- b.vx -= fx * dt;
22671
- b.vy -= fy * dt;
22672
- }
22673
- }
22674
- }
22675
- }, [preset, width, height, speed]);
22676
22625
  const draw = useCallback(() => {
22677
22626
  const canvas = canvasRef.current;
22678
22627
  if (!canvas) return;
@@ -22774,21 +22723,8 @@ function SimulationCanvas({
22774
22723
  return interp.startLoop(drawInterpolated);
22775
22724
  }, [externalBodies !== void 0, interp.startLoop]);
22776
22725
  useEffect(() => {
22777
- if (externalBodies !== void 0) return;
22778
- if (!running) return;
22779
- let raf;
22780
- const loop = () => {
22781
- step();
22782
- draw();
22783
- raf = requestAnimationFrame(loop);
22784
- };
22785
- raf = requestAnimationFrame(loop);
22786
- return () => cancelAnimationFrame(raf);
22787
- }, [running, step, draw, externalBodies]);
22788
- useEffect(() => {
22789
- if (externalBodies !== void 0) return;
22790
22726
  draw();
22791
- }, [draw, externalBodies]);
22727
+ }, [draw]);
22792
22728
  useEffect(() => {
22793
22729
  if (typeof window === "undefined") return;
22794
22730
  const canvas = canvasRef.current;
@@ -25594,9 +25530,9 @@ var init_AuthLayout = __esm({
25594
25530
  }
25595
25531
  });
25596
25532
 
25597
- // node_modules/katex/dist/katex.min.css
25533
+ // node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.min.css
25598
25534
  var init_katex_min = __esm({
25599
- "node_modules/katex/dist/katex.min.css"() {
25535
+ "node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.min.css"() {
25600
25536
  }
25601
25537
  });
25602
25538
  var Tabs;
@@ -25910,7 +25846,7 @@ function generateDiff(oldVal, newVal) {
25910
25846
  }
25911
25847
  return diff;
25912
25848
  }
25913
- var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
25849
+ var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
25914
25850
  var init_CodeBlock = __esm({
25915
25851
  "components/core/molecules/markdown/CodeBlock.tsx"() {
25916
25852
  init_cn();
@@ -26027,9 +25963,13 @@ var init_CodeBlock = __esm({
26027
25963
  CODE_LANGUAGE_SET = new Set(CODE_LANGUAGES);
26028
25964
  DIFF_STYLES = {
26029
25965
  add: { bg: "bg-success/10", prefix: "+", text: "text-success" },
25966
+ added: { bg: "bg-success/10", prefix: "+", text: "text-success" },
26030
25967
  remove: { bg: "bg-error/10", prefix: "-", text: "text-error" },
26031
- context: { bg: "", prefix: " ", text: "text-foreground" }
25968
+ removed: { bg: "bg-error/10", prefix: "-", text: "text-error" },
25969
+ context: { bg: "", prefix: " ", text: "text-foreground" },
25970
+ unchanged: { bg: "", prefix: " ", text: "text-foreground" }
26032
25971
  };
25972
+ DIFF_STYLE_FALLBACK = { bg: "", prefix: " ", text: "text-foreground" };
26033
25973
  LINE_PROPS_FN = (n) => ({ "data-line": String(n - 1) });
26034
25974
  HIDDEN_LINE_NUMBERS = { display: "none" };
26035
25975
  CodeBlock = React114__default.memo(
@@ -26394,7 +26334,7 @@ var init_CodeBlock = __esm({
26394
26334
  }
26395
26335
  ),
26396
26336
  /* @__PURE__ */ jsx(Box, { className: "overflow-auto bg-muted/20", style: { maxHeight }, children: diffLines ? /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, className: "font-mono text-xs", children: diffLines.map((line, idx) => {
26397
- const style = DIFF_STYLES[line.type];
26337
+ const style = DIFF_STYLES[line.type] ?? DIFF_STYLE_FALLBACK;
26398
26338
  return /* @__PURE__ */ jsxs(HStack, { gap: "none", align: "start", className: cn(style.bg, "px-4 py-0.5"), children: [
26399
26339
  showLineNumbers && /* @__PURE__ */ jsx(
26400
26340
  Typography,
@@ -29061,7 +29001,7 @@ var init_BookTableOfContents = __esm({
29061
29001
  style: { direction },
29062
29002
  children: [
29063
29003
  /* @__PURE__ */ jsx(Typography, { variant: "h1", className: "text-3xl font-bold text-center mb-4", children: t("book.tableOfContents") }),
29064
- parts.map((part, partIdx) => {
29004
+ (Array.isArray(parts) ? parts : []).map((part, partIdx) => {
29065
29005
  const chapters = Array.isArray(part.chapters) ? part.chapters : [];
29066
29006
  return /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
29067
29007
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", children: [
@@ -43006,7 +42946,7 @@ var init_RichBlockEditor = __esm({
43006
42946
  changeEvent,
43007
42947
  readOnly = false,
43008
42948
  placeholder,
43009
- enableBlocks = false,
42949
+ enableBlocks = true,
43010
42950
  showToolbar = true,
43011
42951
  className
43012
42952
  }) => {
@@ -16,6 +16,6 @@ export interface FlipContainerProps {
16
16
  onClick?: () => void;
17
17
  }
18
18
  export declare const FlipContainer: {
19
- ({ flipped, className, children, onClick, }: FlipContainerProps): import("react/jsx-runtime").JSX.Element;
19
+ ({ flipped, className, children, onClick, }: FlipContainerProps): React.JSX.Element;
20
20
  displayName: string;
21
21
  };
@@ -51,7 +51,7 @@ export interface CardProps {
51
51
  /**
52
52
  * Card component for displaying content in a contained box
53
53
  */
54
- export declare function Card({ title, subtitle, image, actions, children, onClick, className, action, longPressEvent, longPressPayload, }: CardProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare function Card({ title, subtitle, image, actions, children, onClick, className, action, longPressEvent, longPressPayload, }: CardProps): React.JSX.Element;
55
55
  export declare namespace Card {
56
56
  var displayName: string;
57
57
  }
@@ -111,7 +111,7 @@ export interface DataGridProps extends DataDndProps {
111
111
  */
112
112
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
113
113
  }
114
- export declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
114
+ export declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
115
115
  export declare namespace DataGrid {
116
116
  var displayName: string;
117
117
  }
@@ -123,7 +123,7 @@ export interface DataListProps extends DataDndProps {
123
123
  */
124
124
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
125
125
  }
126
- export declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, currentUser, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
126
+ export declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, currentUser, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
127
127
  export declare namespace DataList {
128
128
  var displayName: string;
129
129
  }
@@ -1,3 +1,10 @@
1
+ /**
2
+ * DocPagination Molecule
3
+ *
4
+ * Previous/Next navigation links for documentation pages.
5
+ * Composed from HStack, Box, VStack, Icon, and Typography atoms.
6
+ */
7
+ import React from 'react';
1
8
  export interface DocPaginationLink {
2
9
  label: string;
3
10
  href: string;
@@ -11,4 +18,4 @@ export interface DocPaginationProps {
11
18
  /** Additional class names */
12
19
  className?: string;
13
20
  }
14
- export declare function DocPagination({ prev, next, className }: DocPaginationProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export declare function DocPagination({ prev, next, className }: DocPaginationProps): React.JSX.Element | null;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * DocSearch — documentation search input with inline results dropdown (distinct from SearchInput).
3
+ * SearchInput emits bus events for entity-list filtering with debounce.
4
+ * DocSearch drives a callback-based result list with keyboard navigation and
5
+ * popover dropdown; designed for docs site navigation, not data-list filtering.
6
+ */
7
+ import React from 'react';
1
8
  export interface DocSearchResult {
2
9
  title: string;
3
10
  href: string;
@@ -12,4 +19,4 @@ export interface DocSearchProps {
12
19
  /** Additional class names */
13
20
  className?: string;
14
21
  }
15
- export declare function DocSearch({ placeholder, onSearch, className, }: DocSearchProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function DocSearch({ placeholder, onSearch, className, }: DocSearchProps): React.JSX.Element;
@@ -19,6 +19,6 @@ export interface FlipCardProps {
19
19
  height?: string;
20
20
  }
21
21
  export declare const FlipCard: {
22
- ({ front, back, flipped, onFlip, className, height, }: FlipCardProps): import("react/jsx-runtime").JSX.Element;
22
+ ({ front, back, flipped, onFlip, className, height, }: FlipCardProps): React.JSX.Element;
23
23
  displayName: string;
24
24
  };
@@ -1,3 +1,20 @@
1
+ /**
2
+ * MapView Molecule Component
3
+ *
4
+ * Interactive map using react-leaflet with OpenStreetMap tiles.
5
+ * Supports both programmatic callbacks (onMapClick) and schema-driven
6
+ * event dispatch (mapClickEvent) via the event bus.
7
+ *
8
+ * Why this file looks weird: Leaflet's core/Util.js evaluates
9
+ * `window.requestAnimationFrame` at module load time, which crashes any
10
+ * SSR/SSG environment (Docusaurus, Next.js RSC, etc.) the moment a
11
+ * consumer statically imports something that transitively reaches MapView.
12
+ * To stay SSR-safe, the actual leaflet bindings are loaded lazily inside
13
+ * a `React.lazy(async () => …)` callback so the leaflet module is only
14
+ * evaluated when the component is rendered for the first time, which
15
+ * never happens on the server because Suspense shows the fallback there.
16
+ */
17
+ import React from 'react';
1
18
  import type { EventEmit } from '@almadar/core';
2
19
  export type MapMarkerData = {
3
20
  /** Unique marker identifier */
@@ -67,4 +84,4 @@ export interface MapViewProps {
67
84
  * lazy implementation finishes loading on the client) so SSR never reaches
68
85
  * the leaflet code.
69
86
  */
70
- export declare function MapView(props: MapViewProps): import("react/jsx-runtime").JSX.Element;
87
+ export declare function MapView(props: MapViewProps): React.JSX.Element;
@@ -14,6 +14,6 @@ export interface SortableListProps {
14
14
  dragHandlePosition?: 'left' | 'right';
15
15
  className?: string;
16
16
  }
17
- declare function SortableListInner({ items: initialItemsProp, renderItem, reorderEvent, reorderPayload, dragHandlePosition, className, }: SortableListProps): import("react/jsx-runtime").JSX.Element;
17
+ declare function SortableListInner({ items: initialItemsProp, renderItem, reorderEvent, reorderPayload, dragHandlePosition, className, }: SortableListProps): React.JSX.Element;
18
18
  export declare const SortableList: typeof SortableListInner;
19
19
  export {};
@@ -105,7 +105,7 @@ export interface TableViewProps extends DataDndProps {
105
105
  */
106
106
  look?: 'dense' | 'spacious' | 'striped' | 'borderless' | 'bordered';
107
107
  }
108
- export declare function TableView({ entity, columns, fields, itemActions, maxInlineActions, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, }: TableViewProps): import("react/jsx-runtime").JSX.Element;
108
+ export declare function TableView({ entity, columns, fields, itemActions, maxInlineActions, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, }: TableViewProps): React.JSX.Element;
109
109
  export declare namespace TableView {
110
110
  var displayName: string;
111
111
  }
@@ -25,7 +25,7 @@ export type CodeLanguage = (typeof CODE_LANGUAGES)[number];
25
25
  export declare function toCodeLanguage(value: string | undefined): CodeLanguage;
26
26
  export type CodeViewerMode = 'code' | 'diff';
27
27
  export interface DiffLine {
28
- type: 'add' | 'remove' | 'context';
28
+ type: 'add' | 'added' | 'remove' | 'removed' | 'context' | 'unchanged';
29
29
  content: string;
30
30
  lineNumber?: number;
31
31
  }
@@ -69,7 +69,7 @@ export interface DataTableProps<T extends EntityRow & {
69
69
  }
70
70
  export declare function DataTable<T extends EntityRow & {
71
71
  id: string | number;
72
- }>({ fields, columns, entity, itemActions, isLoading, error, emptyIcon, emptyTitle, emptyDescription, emptyAction, selectable, selectedIds, sortBy, sortDirection, searchable, searchValue, searchPlaceholder, page, pageSize, totalCount, rowActions: externalRowActions, bulkActions, headerActions, showTotal, className, look, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
72
+ }>({ fields, columns, entity, itemActions, isLoading, error, emptyIcon, emptyTitle, emptyDescription, emptyAction, selectable, selectedIds, sortBy, sortDirection, searchable, searchValue, searchPlaceholder, page, pageSize, totalCount, rowActions: externalRowActions, bulkActions, headerActions, showTotal, className, look, }: DataTableProps<T>): React.JSX.Element;
73
73
  export declare namespace DataTable {
74
74
  var displayName: string;
75
75
  }
@@ -1,3 +1,12 @@
1
+ /**
2
+ * RuntimeDebugger - Main debug panel for KFlow applications
3
+ *
4
+ * Press backtick (`) to toggle. Displays traits, ticks, entities, events,
5
+ * guards, verification checks, transition timeline, and server bridge health.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import * as React from 'react';
1
10
  import type { OrbitalSchema } from '@almadar/core';
2
11
  import './RuntimeDebugger.css';
3
12
  export interface RuntimeDebuggerProps {
@@ -14,7 +23,7 @@ export interface RuntimeDebuggerProps {
14
23
  /** Raw schema for EventDispatcherTab payload extraction */
15
24
  schema?: OrbitalSchema;
16
25
  }
17
- export declare function RuntimeDebugger({ position, defaultCollapsed, className, mode, defaultTab, schema, }: RuntimeDebuggerProps): import("react/jsx-runtime").JSX.Element | null;
26
+ export declare function RuntimeDebugger({ position, defaultCollapsed, className, mode, defaultTab, schema, }: RuntimeDebuggerProps): React.JSX.Element | null;
18
27
  export declare namespace RuntimeDebugger {
19
28
  var displayName: string;
20
29
  }
@@ -2,11 +2,12 @@
2
2
  * EntitiesTab - Displays entity snapshots
3
3
  * Uses existing component library atoms/molecules.
4
4
  */
5
+ import * as React from 'react';
5
6
  import type { EntitySnapshot } from '../../../../../lib/entityDebug';
6
7
  interface EntitiesTabProps {
7
8
  snapshot: EntitySnapshot | null;
8
9
  }
9
- export declare function EntitiesTab({ snapshot }: EntitiesTabProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function EntitiesTab({ snapshot }: EntitiesTabProps): React.JSX.Element;
10
11
  export declare namespace EntitiesTab {
11
12
  var displayName: string;
12
13
  }
@@ -4,13 +4,14 @@
4
4
  * Shows available transitions per trait based on current state,
5
5
  * lets users click to fire events, and displays a compact transition log.
6
6
  */
7
+ import * as React from 'react';
7
8
  import type { OrbitalSchema } from '@almadar/core';
8
9
  import type { TraitDebugInfo } from '../../../../../lib/traitRegistry';
9
10
  interface EventDispatcherTabProps {
10
11
  traits: TraitDebugInfo[];
11
12
  schema?: OrbitalSchema;
12
13
  }
13
- export declare function EventDispatcherTab({ traits, schema }: EventDispatcherTabProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function EventDispatcherTab({ traits, schema }: EventDispatcherTabProps): React.JSX.Element;
14
15
  export declare namespace EventDispatcherTab {
15
16
  var displayName: string;
16
17
  }