@ai-matrx/design-system 0.55.0 → 0.55.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,7 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.55.1
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/design-system/v0.55.0..npm/design-system/v0.55.1 -- apps/shared/design-system`).
7
+ No source changes intended and no consumer action required.
8
+
3
9
  ## 0.55.0
4
10
 
11
+ - **Icon-only standard row actions (Arman, October 2).** `rowActions` now returns
12
+ `MatrxTableIconAction[]`: id, icon component, accessible label, callback and optional
13
+ tooltip, disabled/loading state, tone and button variant. The package owns button markup
14
+ and sizing; no children, text renderer or React-node escape hatch is accepted. A complex
15
+ menu/editor declares a column with `customActions` instead. That column is non-data,
16
+ not draggable, excluded from copy/spreadsheet cells, and carries the live record controls.
17
+ Custom header controls belong to that column's `header`; `rowActionsHeader` is removed.
18
+ Frontend, Dashboard, Records Grid and desktop callers are migrated without changing writes.
19
+ Guards: `TableIconActions.test.tsx`, edit-actions, layout-look, density and row-cost tests.
20
+
21
+
5
22
  - **Custom fields on every list (lane 7 STANDARD-TABLES W5).** `MatrxDataTable` takes `rowToken`
6
23
  (the registry token of its rows); the host port `useCustomFieldColumns(token, organizationIds)` —
7
24
  a hook bound once — answers that token's custom-field columns for the rows' own organizations
package/README.md CHANGED
@@ -223,3 +223,23 @@ component lifetime. A return to that identity restores its drafts; drafts from
223
223
  other results offer Copy and confirmed Discard, never a save against the current
224
224
  rows. Applications own persistence across unmounts and must remount the table
225
225
  when changing authenticated users so prior-user drafts are not exposed.
226
+
227
+ ### Table row actions
228
+
229
+ Standard `MatrxDataTable.rowActions` returns icon descriptors, never React content:
230
+
231
+ ```tsx
232
+ rowActions={(row) => [{
233
+ id: "inspect", icon: Eye, label: `Inspect ${row.name}`,
234
+ tooltip: "Open record details", onClick: () => openRecord(row.id),
235
+ variant: "ghost", tone: "primary",
236
+ }]}
237
+ ```
238
+
239
+ `label` is the accessible name and default tooltip, not visible button text. `disabled` and
240
+ `loading` retain the icon button; the table owns density and sizing. `onClick` receives the
241
+ button event for callers that need modifier keys. A menu, editor or other React content must
242
+ be declared in its own column: `{ id: "workflow", header: "Workflow", customActions: (row,
243
+ controls) => <WorkflowMenu row={row} controls={controls} /> }`. Custom columns carry live
244
+ record controls, never participate in sort/filter/copy/spreadsheet data, and are not draggable
245
+ (their headers may contain controls). Hidden custom columns stay hidden in mobile cards too.
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.cjs';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../layered-filters-v-hFI3Pk.cjs';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../layered-filters-CNFxkmfs.cjs';
3
3
  import '../content-transfer.cjs';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.js';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../layered-filters-DlGwwJbD.js';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../layered-filters-cXDqSLSR.js';
3
3
  import '../content-transfer.js';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -1,4 +1,4 @@
1
- import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../layered-filters-v-hFI3Pk.cjs';
1
+ import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../layered-filters-CNFxkmfs.cjs';
2
2
  import '../content-transfer.cjs';
3
3
  import 'react';
4
4
  import '@ai-matrx/kit/content-transfer';
@@ -1,4 +1,4 @@
1
- import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../layered-filters-DlGwwJbD.js';
1
+ import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../layered-filters-cXDqSLSR.js';
2
2
  import '../content-transfer.js';
3
3
  import 'react';
4
4
  import '@ai-matrx/kit/content-transfer';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ComponentType, ReactNode, MouseEventHandler } from 'react';
3
3
  import { CopyControlProps } from './copy-types.cjs';
4
4
  export { AgentPayloadInput, AiCustomSource, AiVariant, CopyExportConfig } from './copy-types.cjs';
5
- import { M as MatrxColumnDef, b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../layered-filters-v-hFI3Pk.cjs';
5
+ import { M as MatrxColumnDef, b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../layered-filters-CNFxkmfs.cjs';
6
6
  import { MatrxTableMenuItem, MatrxTableMenuTarget, MatrxTableMenuPayload, MatrxTableMenuSectionsResolver, MatrxTableMenuIconName } from './menu-targets.cjs';
7
7
  export { MatrxTableMenuSection } from './menu-targets.cjs';
8
8
  import '../content-transfer.cjs';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ComponentType, ReactNode, MouseEventHandler } from 'react';
3
3
  import { CopyControlProps } from './copy-types.js';
4
4
  export { AgentPayloadInput, AiCustomSource, AiVariant, CopyExportConfig } from './copy-types.js';
5
- import { M as MatrxColumnDef, b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../layered-filters-DlGwwJbD.js';
5
+ import { M as MatrxColumnDef, b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../layered-filters-cXDqSLSR.js';
6
6
  import { MatrxTableMenuItem, MatrxTableMenuTarget, MatrxTableMenuPayload, MatrxTableMenuSectionsResolver, MatrxTableMenuIconName } from './menu-targets.js';
7
7
  export { MatrxTableMenuSection } from './menu-targets.js';
8
8
  import '../content-transfer.js';