@almadar/ui 4.54.14 → 4.54.15

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.
@@ -60481,7 +60481,10 @@ function buildTransitionSchema(fullSchema, orbitalName, traitName, transitionEve
60481
60481
  if (!Array.isArray(eff)) continue;
60482
60482
  const op = eff[0];
60483
60483
  if (op === "render-ui") {
60484
- previewEffects.push(eff);
60484
+ const slotTarget = eff[1];
60485
+ const PORTAL_SLOTS = /* @__PURE__ */ new Set(["modal", "drawer", "overlay", "center"]);
60486
+ const rewritten = typeof slotTarget === "string" && PORTAL_SLOTS.has(slotTarget) ? ["render-ui", "main", ...eff.slice(2)] : eff;
60487
+ previewEffects.push(rewritten);
60485
60488
  hasRenderUI = true;
60486
60489
  continue;
60487
60490
  }
@@ -60757,7 +60760,7 @@ var OrbPreviewNodeInner = (props) => {
60757
60760
  },
60758
60761
  children: [
60759
60762
  /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 12 }, children: "\u279E" }),
60760
- "Click to open"
60763
+ "Double-click to open"
60761
60764
  ]
60762
60765
  }
60763
60766
  )
@@ -60858,33 +60861,20 @@ var OrbPreviewNodeInner = (props) => {
60858
60861
  ref: setContentRef,
60859
60862
  className: `orb-preview-live nodrag${dragActive || l2IsOver ? " drag-active" : ""}`,
60860
60863
  onClick: handleContentClick,
60861
- children: orbitalSchema ? isExpanded ? (
60862
- // L2 transition card: OrbPreview's `<Box style={{height}}>` is the
60863
- // only positioned ancestor with a resolved height inside the
60864
- // runtime tree. When the synthesized transition's render-ui
60865
- // targets `modal`/`drawer`/`overlay`, UISlotRenderer paints them
60866
- // via `renderContainedPortal` as `absolute inset-0` which
60867
- // collapses to 0 when the parent chain is `height: auto` →
60868
- // `min-h-full` (no resolved height to inherit). Forcing a real
60869
- // pixel height here gives the contained modal a real card to
60870
- // fill, so the L2 preview shows the modal panel sized to the
60871
- // card instead of a tiny floating rectangle.
60872
- /* @__PURE__ */ jsxRuntime.jsx(
60864
+ children: orbitalSchema ? (
60865
+ // L1 and L2 both auto-grow with content. L2's `buildTransitionSchema`
60866
+ // rewrites portal slots (modal/drawer/overlay/center) to `main`, so
60867
+ // the rendered pattern lands inline in the main slot and contributes
60868
+ // to the card's height — same height model as L1 orbital cards.
60869
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsxRuntime.jsx(
60873
60870
  BrowserPlayground,
60874
60871
  {
60875
60872
  schema: orbitalSchema,
60876
60873
  mode: "mock",
60877
- height: `${preset.minHeight}px`
60874
+ height: "auto"
60878
60875
  }
60879
- )
60880
- ) : /* @__PURE__ */ jsxRuntime.jsx(Box, { style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsxRuntime.jsx(
60881
- BrowserPlayground,
60882
- {
60883
- schema: orbitalSchema,
60884
- mode: "mock",
60885
- height: "auto"
60886
- }
60887
- ) }) : /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center justify-center", style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground", children: "No preview available" }) })
60876
+ ) })
60877
+ ) : /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center justify-center", style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground", children: "No preview available" }) })
60888
60878
  }
60889
60879
  ),
60890
60880
  /* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "target", position: react.Position.Left, style: TARGET_HANDLE_STYLE }),
@@ -62377,10 +62367,7 @@ function FlowCanvasInner({
62377
62367
  const orbitalName = nodeData.orbitalName ?? node.id;
62378
62368
  onNodeClick?.({ level: "overview", orbital: orbitalName });
62379
62369
  onNodeSelect?.(orbitalName);
62380
- setExpandedOrbital(orbitalName);
62381
- setLevel("expanded");
62382
- onLevelChange?.("expanded", orbitalName);
62383
- }, [level, expandedOrbital, onNodeClick, onNodeSelect, onLevelChange]);
62370
+ }, [level, expandedOrbital, onNodeClick, onNodeSelect]);
62384
62371
  const handleClosePanel = React96.useCallback(() => {
62385
62372
  setSelectedNode(null);
62386
62373
  }, []);
package/dist/avl/index.js CHANGED
@@ -60435,7 +60435,10 @@ function buildTransitionSchema(fullSchema, orbitalName, traitName, transitionEve
60435
60435
  if (!Array.isArray(eff)) continue;
60436
60436
  const op = eff[0];
60437
60437
  if (op === "render-ui") {
60438
- previewEffects.push(eff);
60438
+ const slotTarget = eff[1];
60439
+ const PORTAL_SLOTS = /* @__PURE__ */ new Set(["modal", "drawer", "overlay", "center"]);
60440
+ const rewritten = typeof slotTarget === "string" && PORTAL_SLOTS.has(slotTarget) ? ["render-ui", "main", ...eff.slice(2)] : eff;
60441
+ previewEffects.push(rewritten);
60439
60442
  hasRenderUI = true;
60440
60443
  continue;
60441
60444
  }
@@ -60711,7 +60714,7 @@ var OrbPreviewNodeInner = (props) => {
60711
60714
  },
60712
60715
  children: [
60713
60716
  /* @__PURE__ */ jsx("span", { style: { fontSize: 12 }, children: "\u279E" }),
60714
- "Click to open"
60717
+ "Double-click to open"
60715
60718
  ]
60716
60719
  }
60717
60720
  )
@@ -60812,33 +60815,20 @@ var OrbPreviewNodeInner = (props) => {
60812
60815
  ref: setContentRef,
60813
60816
  className: `orb-preview-live nodrag${dragActive || l2IsOver ? " drag-active" : ""}`,
60814
60817
  onClick: handleContentClick,
60815
- children: orbitalSchema ? isExpanded ? (
60816
- // L2 transition card: OrbPreview's `<Box style={{height}}>` is the
60817
- // only positioned ancestor with a resolved height inside the
60818
- // runtime tree. When the synthesized transition's render-ui
60819
- // targets `modal`/`drawer`/`overlay`, UISlotRenderer paints them
60820
- // via `renderContainedPortal` as `absolute inset-0` which
60821
- // collapses to 0 when the parent chain is `height: auto` →
60822
- // `min-h-full` (no resolved height to inherit). Forcing a real
60823
- // pixel height here gives the contained modal a real card to
60824
- // fill, so the L2 preview shows the modal panel sized to the
60825
- // card instead of a tiny floating rectangle.
60826
- /* @__PURE__ */ jsx(
60818
+ children: orbitalSchema ? (
60819
+ // L1 and L2 both auto-grow with content. L2's `buildTransitionSchema`
60820
+ // rewrites portal slots (modal/drawer/overlay/center) to `main`, so
60821
+ // the rendered pattern lands inline in the main slot and contributes
60822
+ // to the card's height — same height model as L1 orbital cards.
60823
+ /* @__PURE__ */ jsx(Box, { style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsx(
60827
60824
  BrowserPlayground,
60828
60825
  {
60829
60826
  schema: orbitalSchema,
60830
60827
  mode: "mock",
60831
- height: `${preset.minHeight}px`
60828
+ height: "auto"
60832
60829
  }
60833
- )
60834
- ) : /* @__PURE__ */ jsx(Box, { style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsx(
60835
- BrowserPlayground,
60836
- {
60837
- schema: orbitalSchema,
60838
- mode: "mock",
60839
- height: "auto"
60840
- }
60841
- ) }) : /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center", style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-muted-foreground", children: "No preview available" }) })
60830
+ ) })
60831
+ ) : /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center", style: { minHeight: preset.minHeight }, children: /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-muted-foreground", children: "No preview available" }) })
60842
60832
  }
60843
60833
  ),
60844
60834
  /* @__PURE__ */ jsx(Handle, { type: "target", position: Position.Left, style: TARGET_HANDLE_STYLE }),
@@ -62331,10 +62321,7 @@ function FlowCanvasInner({
62331
62321
  const orbitalName = nodeData.orbitalName ?? node.id;
62332
62322
  onNodeClick?.({ level: "overview", orbital: orbitalName });
62333
62323
  onNodeSelect?.(orbitalName);
62334
- setExpandedOrbital(orbitalName);
62335
- setLevel("expanded");
62336
- onLevelChange?.("expanded", orbitalName);
62337
- }, [level, expandedOrbital, onNodeClick, onNodeSelect, onLevelChange]);
62324
+ }, [level, expandedOrbital, onNodeClick, onNodeSelect]);
62338
62325
  const handleClosePanel = useCallback(() => {
62339
62326
  setSelectedNode(null);
62340
62327
  }, []);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "4.54.14",
3
+ "version": "4.54.15",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [