@ai-matrx/design-system 0.86.360 → 0.86.362

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 (80) hide show
  1. package/CHANGELOG.md +24 -2
  2. package/README.md +2 -0
  3. package/dist/carousel.js +5 -5
  4. package/dist/{chunk-ZU2ZODDD.js → chunk-2QFA6CK4.js} +4 -4
  5. package/dist/{chunk-UCEKAKHP.js → chunk-3YTF4MH2.js} +2 -2
  6. package/dist/{chunk-T57DLONB.js → chunk-AKSKVT2M.js} +17 -9
  7. package/dist/chunk-AKSKVT2M.js.map +1 -0
  8. package/dist/{chunk-LU75R6YX.js → chunk-KOUHF4JC.js} +2 -2
  9. package/dist/{chunk-HISATFYI.js → chunk-LS3C7IUV.js} +2 -2
  10. package/dist/{chunk-QK7GPIEA.js → chunk-QJ6SQNXD.js} +4 -4
  11. package/dist/{chunk-TSETPQWU.js → chunk-RO5CRIOL.js} +2 -2
  12. package/dist/{chunk-WHERV3VC.js → chunk-SOCDBDFS.js} +4 -4
  13. package/dist/{chunk-C5HYUXR2.js → chunk-UGUVTE77.js} +2 -2
  14. package/dist/{chunk-FF524V6P.js → chunk-VOLSYNJY.js} +3 -3
  15. package/dist/{chunk-WOA6WHV2.js → chunk-WLKHQGX5.js} +2 -2
  16. package/dist/{chunk-42GFQMLA.js → chunk-WUI5OFCH.js} +2 -2
  17. package/dist/clipboard-fallback-dialog.js +2 -2
  18. package/dist/controls.cjs +16 -8
  19. package/dist/controls.cjs.map +1 -1
  20. package/dist/controls.js +5 -5
  21. package/dist/data-table/data-row-inspector.js +5 -5
  22. package/dist/data-table/data-row-window.js +6 -6
  23. package/dist/data-table/index.cjs +858 -772
  24. package/dist/data-table/index.cjs.map +1 -1
  25. package/dist/data-table/index.js +541 -461
  26. package/dist/data-table/index.js.map +1 -1
  27. package/dist/data-table/pagination.cjs +16 -8
  28. package/dist/data-table/pagination.cjs.map +1 -1
  29. package/dist/data-table/pagination.js +3 -3
  30. package/dist/data-table/uuid-cell.js +3 -3
  31. package/dist/desktop.cjs +16 -8
  32. package/dist/desktop.cjs.map +1 -1
  33. package/dist/desktop.js +5 -5
  34. package/dist/index.cjs +20 -12
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +5 -0
  37. package/dist/index.d.ts +5 -0
  38. package/dist/index.js +11 -11
  39. package/dist/index.js.map +1 -1
  40. package/dist/intro-stage.cjs +24 -3
  41. package/dist/intro-stage.cjs.map +1 -1
  42. package/dist/intro-stage.d.cts +9 -3
  43. package/dist/intro-stage.d.ts +9 -3
  44. package/dist/intro-stage.js +24 -3
  45. package/dist/intro-stage.js.map +1 -1
  46. package/dist/item.cjs +16 -8
  47. package/dist/item.cjs.map +1 -1
  48. package/dist/item.js +4 -4
  49. package/dist/lite-table.js +2 -2
  50. package/dist/menu-look.cjs +16 -8
  51. package/dist/menu-look.cjs.map +1 -1
  52. package/dist/menu-look.js +2 -2
  53. package/dist/record-list.cjs +16 -8
  54. package/dist/record-list.cjs.map +1 -1
  55. package/dist/record-list.js +4 -4
  56. package/dist/settings.js +3 -3
  57. package/dist/styles.css +18 -0
  58. package/dist/thumbnail-grid.cjs +27 -1
  59. package/dist/thumbnail-grid.cjs.map +1 -1
  60. package/dist/thumbnail-grid.d.cts +16 -2
  61. package/dist/thumbnail-grid.d.ts +16 -2
  62. package/dist/thumbnail-grid.js +27 -1
  63. package/dist/thumbnail-grid.js.map +1 -1
  64. package/dist/writing-field.cjs +3 -2
  65. package/dist/writing-field.cjs.map +1 -1
  66. package/dist/writing-field.js +6 -5
  67. package/dist/writing-field.js.map +1 -1
  68. package/package.json +2 -2
  69. package/dist/chunk-T57DLONB.js.map +0 -1
  70. /package/dist/{chunk-ZU2ZODDD.js.map → chunk-2QFA6CK4.js.map} +0 -0
  71. /package/dist/{chunk-UCEKAKHP.js.map → chunk-3YTF4MH2.js.map} +0 -0
  72. /package/dist/{chunk-LU75R6YX.js.map → chunk-KOUHF4JC.js.map} +0 -0
  73. /package/dist/{chunk-HISATFYI.js.map → chunk-LS3C7IUV.js.map} +0 -0
  74. /package/dist/{chunk-QK7GPIEA.js.map → chunk-QJ6SQNXD.js.map} +0 -0
  75. /package/dist/{chunk-TSETPQWU.js.map → chunk-RO5CRIOL.js.map} +0 -0
  76. /package/dist/{chunk-WHERV3VC.js.map → chunk-SOCDBDFS.js.map} +0 -0
  77. /package/dist/{chunk-C5HYUXR2.js.map → chunk-UGUVTE77.js.map} +0 -0
  78. /package/dist/{chunk-FF524V6P.js.map → chunk-VOLSYNJY.js.map} +0 -0
  79. /package/dist/{chunk-WOA6WHV2.js.map → chunk-WLKHQGX5.js.map} +0 -0
  80. /package/dist/{chunk-42GFQMLA.js.map → chunk-WUI5OFCH.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  ItemRow
4
- } from "./chunk-WHERV3VC.js";
4
+ } from "./chunk-SOCDBDFS.js";
5
5
  import {
6
6
  ListEmptyView
7
7
  } from "./chunk-PRJW34R6.js";
@@ -11,7 +11,7 @@ import {
11
11
  ReadStaleNotice,
12
12
  readOf
13
13
  } from "./chunk-GUGBVQ4T.js";
14
- import "./chunk-42GFQMLA.js";
14
+ import "./chunk-WUI5OFCH.js";
15
15
  import "./chunk-HEFTQUJ5.js";
16
16
  import {
17
17
  MAC_LIST_ATTRIBUTE
@@ -25,11 +25,11 @@ import "./chunk-NDTDBBMM.js";
25
25
  import "./chunk-KPZX2M2C.js";
26
26
  import "./chunk-WFBPCMPF.js";
27
27
  import "./chunk-OPF265PU.js";
28
- import "./chunk-LU75R6YX.js";
28
+ import "./chunk-KOUHF4JC.js";
29
29
  import "./chunk-BD77DHUO.js";
30
30
  import "./chunk-BKCJUFD3.js";
31
31
  import "./chunk-MOZRIHJF.js";
32
- import "./chunk-T57DLONB.js";
32
+ import "./chunk-AKSKVT2M.js";
33
33
  import "./chunk-BNXNIN2S.js";
34
34
  import "./chunk-HS6GMHKZ.js";
35
35
  import "./chunk-B5D3VIMC.js";
package/dist/settings.js CHANGED
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-YRF22M5S.js";
17
17
  import {
18
18
  Tile
19
- } from "./chunk-WOA6WHV2.js";
19
+ } from "./chunk-WLKHQGX5.js";
20
20
  import {
21
21
  Drawer,
22
22
  DrawerContent,
@@ -47,12 +47,12 @@ import {
47
47
  SearchField,
48
48
  Switch,
49
49
  Tabs
50
- } from "./chunk-LU75R6YX.js";
50
+ } from "./chunk-KOUHF4JC.js";
51
51
  import "./chunk-BD77DHUO.js";
52
52
  import "./chunk-BKCJUFD3.js";
53
53
  import "./chunk-PIQJULQB.js";
54
54
  import "./chunk-MOZRIHJF.js";
55
- import "./chunk-T57DLONB.js";
55
+ import "./chunk-AKSKVT2M.js";
56
56
  import "./chunk-BNXNIN2S.js";
57
57
  import {
58
58
  Select,
package/dist/styles.css CHANGED
@@ -1239,6 +1239,24 @@ tr:has([data-matrx-cell-content]:is([data-matrx-cell-lines="two"], [data-matrx-c
1239
1239
  margin-top: calc(0.5lh - 8px);
1240
1240
  }
1241
1241
 
1242
+ /* A ROW WHOSE TEXT RUNS PAST ONE LINE KEEPS A ONE-LINE ROW'S AIR (Arman 2026-10-24: a page title
1243
+ stacked over its URL sat flush against both row lines — the cell padding was sized for one line,
1244
+ 0 px in the Mac look). `data-matrx-row-lines="multi"` is set by data-table/multiline-rows.ts from
1245
+ the text's own line boxes; every cell of that row gets the space above and below that a one-line
1246
+ row's text has, half of (row height − one line), and the row reads from its first line. The row
1247
+ actions sit centered on that first line too. */
1248
+ [data-matrx-table] tbody tr[data-row-id][data-matrx-row-lines="multi"] > td:not([data-matrx-table-row-action-cell]):not([data-matrx-table-message-cell]) {
1249
+ padding-block: calc((var(--matrx-table-row-height, 2.5rem) - 1lh) / 2) !important;
1250
+ vertical-align: top;
1251
+ }
1252
+ [data-matrx-table] tbody tr[data-row-id][data-matrx-row-lines="multi"] > td[data-matrx-table-row-action-cell] {
1253
+ padding-block: max(0px, calc((var(--matrx-table-row-height, 2.5rem) - var(--matrx-table-row-action-size, 2rem)) / 2)) !important;
1254
+ vertical-align: top;
1255
+ }
1256
+ [data-matrx-table] tbody tr[data-row-id][data-matrx-row-lines="multi"] > td [data-matrx-table-selection-target] {
1257
+ margin-top: calc(0.5lh - 8px);
1258
+ }
1259
+
1242
1260
  /* ONE LINE PER ROW — `cellLines="one"`, the table's default in every density (was condensed only,
1243
1261
  playground review B9; the agents list's six-line descriptions made a 130px row). Every descendant
1244
1262
  holds one line, the cell clips at its own edge (text never spills into the next column), and a
@@ -34,7 +34,8 @@ __export(thumbnail_grid_exports, {
34
34
  ThumbnailGrid: () => ThumbnailGrid,
35
35
  nudgeIds: () => nudgeIds,
36
36
  rangeIds: () => rangeIds,
37
- reorderIds: () => reorderIds
37
+ reorderIds: () => reorderIds,
38
+ revealScrollTop: () => revealScrollTop
38
39
  });
39
40
  module.exports = __toCommonJS(thumbnail_grid_exports);
40
41
 
@@ -593,6 +594,20 @@ function nudgeIds(ids, moved, by) {
593
594
  const target = by === -Infinity ? 0 : by === Infinity ? rest.length : Math.min(rest.length, Math.max(0, first + by));
594
595
  return [...rest.slice(0, target), ...group, ...rest.slice(target)];
595
596
  }
597
+ function revealScrollTop(box, el) {
598
+ const above = el.top - box.top;
599
+ const below = el.top + el.height - (box.top + box.height);
600
+ if (above < 0) return box.scrollTop + above;
601
+ if (below > 0) return box.scrollTop + Math.min(below, above);
602
+ return box.scrollTop;
603
+ }
604
+ function scrollParent(el) {
605
+ for (let n = el.parentElement; n; n = n.parentElement) {
606
+ const { overflowY } = getComputedStyle(n);
607
+ if ((overflowY === "auto" || overflowY === "scroll") && n.scrollHeight > n.clientHeight) return n;
608
+ }
609
+ return null;
610
+ }
596
611
  function rangeIds(ids, a, b) {
597
612
  const i = ids.indexOf(a), j = ids.indexOf(b);
598
613
  if (i < 0 || j < 0) return [];
@@ -664,6 +679,7 @@ function ThumbnailGrid({
664
679
  minThumbWidth = 120,
665
680
  columns,
666
681
  aspectRatio = "3 / 4",
682
+ revealId,
667
683
  disabled = false,
668
684
  className,
669
685
  "aria-label": ariaLabel
@@ -677,6 +693,16 @@ function ThumbnailGrid({
677
693
  const [dragIds, setDragIds] = React6.useState(null);
678
694
  const [activeId, setActiveId] = React6.useState(null);
679
695
  const [overId, setOverId] = React6.useState(null);
696
+ React6.useEffect(() => {
697
+ if (!revealId || dragIds) return;
698
+ const el = nodes.current.get(revealId);
699
+ const box = el && scrollParent(el);
700
+ if (!el || !box) return;
701
+ const b = box.getBoundingClientRect();
702
+ const r = el.getBoundingClientRect();
703
+ const top = revealScrollTop({ scrollTop: box.scrollTop, top: b.top, height: box.clientHeight }, { top: r.top, height: r.height });
704
+ if (top !== box.scrollTop) box.scrollTo({ top, behavior: "smooth" });
705
+ }, [revealId]);
680
706
  const sensors = (0, import_core2.useSensors)((0, import_core2.useSensor)(import_core2.PointerSensor, { activationConstraint: { distance: 6 } }));
681
707
  const stopId = focusId && byId.has(focusId) ? focusId : ids.find((id) => selected.has(id)) ?? ids[0] ?? null;
682
708
  const shown = dragIds && overId ? reorderIds(ids, dragIds, overId) : ids;