@ai-matrx/design-system 0.60.0 → 0.60.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.60.1
4
+
5
+ - **A declared actions column is as wide as its controls.** A `customActions` column with no
6
+ `width` is no longer resizable by default, so it never takes an `auto` share of a table's slack:
7
+ on a short list filling a wide screen (matrx-frontend's /board/all) the row menu stood alone at
8
+ the right of a 180 px column under a left-aligned "Actions". It now draws `w-px` + nowrap like
9
+ the built-in actions column, and a pinned actions column's header sits on the right, over its
10
+ buttons. A declared `width` or `resizable: true` still wins. Guard:
11
+ `src/data-table/MatrxDataTable.actions-column-hugs-its-controls.test.tsx` (red on 0.60.0).
12
+
13
+ ### Consumer action
14
+
15
+ - None. A consumer that wants a wider actions column declares its `width`.
16
+
3
17
  ## 0.60.0
4
18
 
5
19
  - **THE CURSOR LAW (owner, 2026-10-03; `common-docs/policies/cursor-law.md`).** The cursor is set
@@ -52876,7 +52876,15 @@ function MatrxDataTableCore(coreProps) {
52876
52876
  editable: _edit,
52877
52877
  ...custom
52878
52878
  } = column;
52879
- return { ...custom, id: columnId(column), reorderable: false, sortable: false, filter: false, editable: false };
52879
+ return {
52880
+ ...custom,
52881
+ id: columnId(column),
52882
+ reorderable: false,
52883
+ sortable: false,
52884
+ filter: false,
52885
+ editable: false,
52886
+ ...custom.resizable === void 0 && custom.width === void 0 ? { resizable: false } : {}
52887
+ };
52880
52888
  }), [suppliedColumns]);
52881
52889
  const embedded = appearance === "embedded";
52882
52890
  const zebra = suppliedZebra ?? !embedded;
@@ -55571,6 +55579,7 @@ function MatrxDataTableCore(coreProps) {
55571
55579
  sheetCell?.["data-matrx-cell-active"] && "relative z-10 ring-2 ring-inset ring-primary",
55572
55580
  carriesFillHandle && "relative",
55573
55581
  col.compact || resolveColumnMarker(col) !== void 0 ? "px-1" : "px-2",
55582
+ col.customActions && col.width === void 0 && !(resizableColumns && col.resizable !== false) && "w-px whitespace-nowrap",
55574
55583
  // nowrap (NOT truncate — truncate clips the cell and
55575
55584
  // defeats w-max, killing the horizontal scroll).
55576
55585
  "max-sm:whitespace-nowrap",
@@ -56580,6 +56589,8 @@ function MatrxDataTableCore(coreProps) {
56580
56589
  "aria-sort": isSorted ? sort?.direction === "asc" ? "ascending" : "descending" : void 0,
56581
56590
  className: cn(
56582
56591
  "relative h-9 text-left align-middle max-sm:whitespace-nowrap",
56592
+ // A declared actions column with no width shrinks to its controls, like the built-in one.
56593
+ col.customActions && width === void 0 && !columnResizable && "w-px whitespace-nowrap",
56583
56594
  // ICON COLUMN (MatrxColumnDef.compact): a 40px star
56584
56595
  // column cannot honor `width: 40` while paying 16px of
56585
56596
  // padding for a 14px glyph.
@@ -56604,7 +56615,7 @@ function MatrxDataTableCore(coreProps) {
56604
56615
  phoneFrozenId === id && FROZEN_PHONE_HEADER_CLASS,
56605
56616
  embedded && (frozenColumns.offsets[id] !== void 0 || phoneFrozenId === id) && "sm:bg-card max-sm:bg-card",
56606
56617
  frozenEdgeId === id && FROZEN_EDGE_CLASS,
56607
- pinnedActionsColumnId === id && "sm:sticky sm:right-0 sm:z-30 sm:bg-muted sm:shadow-[inset_1px_0_0_var(--color-border)]",
56618
+ pinnedActionsColumnId === id && "text-right sm:sticky sm:right-0 sm:z-30 sm:bg-muted sm:shadow-[inset_1px_0_0_var(--color-border)]",
56608
56619
  pinnedActionsColumnId === id && embedded && "sm:bg-card"
56609
56620
  ),
56610
56621
  style: {