@columenlabs/lumen-ui 0.1.110 → 0.1.112

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.
@@ -143,7 +143,10 @@ function Cell({ id, fixed, report, children, }) {
143
143
  return () => ro.disconnect();
144
144
  });
145
145
  const value = useMemo(() => ({ fixed }), [fixed]);
146
- return (_jsx(GridCellContext.Provider, { value: value, children: _jsx("div", { ref: ref, className: "h-full [&>*:has(>[data-slot=lumen-card])]:h-full", style: { paddingBottom: GRID_GAP }, children: children }) }));
146
+ return (_jsx(GridCellContext.Provider, { value: value, children: _jsx("div", { ref: ref,
147
+ // The cell's card fills it (a folded one keeps its header's height); nowhere else does a
148
+ // card take its parent's height.
149
+ className: "h-full [&>*:has(>[data-slot=lumen-card])]:h-full [&>*>[data-slot=lumen-card]:not([data-folded])]:h-full [&>[data-slot=lumen-card]:not([data-folded])]:h-full", style: { paddingBottom: GRID_GAP }, children: children }) }));
147
150
  }
148
151
  const gridConfig = (phone) => ({
149
152
  cols: phone ? GRID_PHONE_COLS : GRID_COLS,
@@ -221,10 +221,12 @@ export function LumenWidget({ id, kind, icon, title, note, controls, tools, phon
221
221
  const below = showFilter && !inline && (!mobile || filterOpen);
222
222
  // A row of numbers with no header drops its own frame: its cards sit on the page.
223
223
  const flat = headless && styleId === 'metric:row';
224
- return (_jsx(CardIdProvider, { id: id, children: _jsxs(Card, { "data-slot": "lumen-card", "data-card": id, "data-card-title": title, "data-card-kind": styleId, className: cn(
224
+ return (_jsx(CardIdProvider, { id: id, children: _jsxs(Card, { "data-slot": "lumen-card", "data-card": id, "data-card-title": title, "data-card-kind": styleId, "data-folded": folded || undefined, className: cn(
225
225
  // A border, not the card's ring: a ring draws outside the box, so the page's scroller
226
226
  // clipped it wherever a card touched its edge (the top row's top line).
227
- 'h-full gap-0 border border-foreground/10 py-0 ring-0', folded && 'h-auto',
227
+ // Its height is its content's: only a grid cell (LumenGrid) stretches it to the cell, so
228
+ // a card in a scrolling column (Settings, a drawer) never clips rows the column could scroll to.
229
+ 'gap-0 border border-foreground/10 py-0 ring-0',
228
230
  // The allocation bar's tooltip reaches past its short card, over the cards below.
229
231
  styleId === 'allocation:bar' ? 'relative overflow-visible hover:z-20' : 'overflow-clip',
230
232
  // The edit outline sits inside the card, over its pinned rows: an outer one is clipped by
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@columenlabs/lumen-ui",
3
- "version": "0.1.110",
3
+ "version": "0.1.112",
4
4
  "description": "Lumen: shared React components (frame, views, widgets, charts, drawers).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -49,7 +49,7 @@
49
49
  "@codemirror/lang-javascript": "6.2.5",
50
50
  "@codemirror/lang-json": "6.0.2",
51
51
  "@codemirror/lang-sql": "6.10.0",
52
- "@columenlabs/lumen-ui-types": "0.1.110",
52
+ "@columenlabs/lumen-ui-types": "0.1.112",
53
53
  "@dnd-kit/core": "6.3.1",
54
54
  "@dnd-kit/sortable": "10.0.0",
55
55
  "@dnd-kit/utilities": "3.2.2",