@ai-matrx/design-system 0.41.0 → 0.42.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/data-table/copy-helpers.d.cts +2 -1
  3. package/dist/data-table/copy-helpers.d.ts +2 -1
  4. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  5. package/dist/data-table/data-row-inspector.js.map +1 -1
  6. package/dist/data-table/data-row-window.cjs.map +1 -1
  7. package/dist/data-table/data-row-window.js.map +1 -1
  8. package/dist/data-table/filter-engine.d.cts +2 -1
  9. package/dist/data-table/filter-engine.d.ts +2 -1
  10. package/dist/data-table/host.cjs.map +1 -1
  11. package/dist/data-table/host.d.cts +18 -4
  12. package/dist/data-table/host.d.ts +18 -4
  13. package/dist/data-table/host.js.map +1 -1
  14. package/dist/data-table/index.cjs +2990 -2778
  15. package/dist/data-table/index.cjs.map +1 -1
  16. package/dist/data-table/index.d.cts +4 -4
  17. package/dist/data-table/index.d.ts +4 -4
  18. package/dist/data-table/index.js +2999 -2787
  19. package/dist/data-table/index.js.map +1 -1
  20. package/dist/data-table/infer-filter.d.cts +2 -1
  21. package/dist/data-table/infer-filter.d.ts +2 -1
  22. package/dist/data-table/layered-filters.d.cts +2 -1
  23. package/dist/data-table/layered-filters.d.ts +2 -1
  24. package/dist/data-table/menu-targets.cjs +27 -0
  25. package/dist/data-table/menu-targets.cjs.map +1 -1
  26. package/dist/data-table/menu-targets.d.cts +49 -1
  27. package/dist/data-table/menu-targets.d.ts +49 -1
  28. package/dist/data-table/menu-targets.js +27 -0
  29. package/dist/data-table/menu-targets.js.map +1 -1
  30. package/dist/data-table/pagination.cjs.map +1 -1
  31. package/dist/data-table/pagination.js.map +1 -1
  32. package/dist/data-table/query-control.d.cts +2 -1
  33. package/dist/data-table/query-control.d.ts +2 -1
  34. package/dist/data-table/spreadsheet.cjs +24 -8
  35. package/dist/data-table/spreadsheet.cjs.map +1 -1
  36. package/dist/data-table/spreadsheet.d.cts +20 -3
  37. package/dist/data-table/spreadsheet.d.ts +20 -3
  38. package/dist/data-table/spreadsheet.js +24 -8
  39. package/dist/data-table/spreadsheet.js.map +1 -1
  40. package/dist/data-table/types.cjs.map +1 -1
  41. package/dist/data-table/types.d.cts +2 -1
  42. package/dist/data-table/types.d.ts +2 -1
  43. package/dist/data-table/url-state.d.cts +2 -1
  44. package/dist/data-table/url-state.d.ts +2 -1
  45. package/dist/data-table/uuid-cell.cjs.map +1 -1
  46. package/dist/data-table/uuid-cell.js.map +1 -1
  47. package/dist/data-table/xlsx.d.cts +2 -1
  48. package/dist/data-table/xlsx.d.ts +2 -1
  49. package/dist/index.cjs +534 -468
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.cts +67 -1
  52. package/dist/index.d.ts +67 -1
  53. package/dist/index.js +541 -475
  54. package/dist/index.js.map +1 -1
  55. package/dist/{types-Dx5hJgCi.d.ts → types-afUz93xo.d.ts} +33 -1
  56. package/dist/{types-DNkbHRVK.d.cts → types-q5ficDSo.d.cts} +33 -1
  57. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.42.1
4
+ ### Unreleased
5
+
6
+ ### Error actions on every package error (RC-B12, 2026-09-26)
7
+
8
+ * **`ErrorBox`** — the one way a package draws an error: a `role="alert"` element in
9
+ the caller's tag and classes (`as`, `className`, children unchanged) that renders the
10
+ host's error actions after its content. **`ErrorActionsProvider render={...}`** is the
11
+ host slot (mount once at the app root); **`ErrorActions`** places the slot inside a
12
+ box you do not draw; **`useErrorActions`**, types `ErrorActionsInput` (message, title,
13
+ error, operation, records, unsavedInput, origin) and `ErrorActionsRenderer`. No
14
+ provider = nothing extra renders.
15
+ * **Wired:** destructive `Alert`; `OrganizationPicker` load failure; `MatrxDataTable`
16
+ saved-view, toolbar-action and load-more errors; `SavedViewsControl` errors.
17
+ * **One context across bundles:** the context lives under
18
+ `Symbol.for("@ai-matrx/design-system/error-actions")`, because tsup inlines the file
19
+ into `.` and `./data-table` separately (a plain context would never reach the table).
20
+ * **Guard:** `error-box.census.test.ts` fails on a bare error `role="alert"` in
21
+ design-system or associations sources.
22
+
23
+ **Consumer action:** hosts that want actions on package errors mount
24
+ `ErrorActionsProvider` once. matrx-frontend mounts it in `AlchemyHost` and drops its
25
+ own destructive-`Alert` wrapper (the package now carries the slot).
26
+
27
+ ## 0.42.0 (2026-09-25)
28
+
29
+ ### Lane data-tables-grid-overhaul — merge step 3 (2026-09-25)
30
+
31
+ * **Neutral right-click sections.** `contextMenu.sections(payload)` answers plain
32
+ `MatrxTableMenuSection`s — a title and items with label, icon name
33
+ (`MATRX_TABLE_MENU_ICON_NAMES`), shortcut hint, `disabledReason`, `destructive`,
34
+ `onSelect` and `submenu` — for the level that was right-clicked (cell, row, column
35
+ header, selection, table), with that level's row, column, values or range TSV. The
36
+ table hands its host's `ContextMenuBoundary` a `sections(target)` resolver
37
+ (`TableContextMenuBoundaryProps.sections`) only when a consumer declared sections;
38
+ a new optional host port `MenuIcon` maps icon names to glyphs. Unbound, the boundary
39
+ receives exactly what it did before.
40
+ * **Header-menu slot.** `MatrxColumnDef.headerMenu` adds the consumer's column actions
41
+ (rename, insert left/right, row label, colour by, settings) to the header's one
42
+ popover under the built-in sort and filter; a disabled item stays and says why; a
43
+ submenu opens in place; a column with no sort and no filter gets a menu when it has
44
+ actions.
45
+ * **Range selection and copy for readers.** `spreadsheet.readOnly` (separate from
46
+ editing) gives a person who may not write the whole range cursor — click, drag,
47
+ shift-click, arrows, select-all, Cmd-C — with no `onPatch` required (`onPatch` is
48
+ now optional). Cut still copies; cut, paste, clear, fill-down, undo and redo each say
49
+ `readOnlyReason` (default: a plain view-only sentence) and write nothing; no fill
50
+ handle; the range cursor opens no editor. A writable grid without `onPatch` refuses
51
+ the same way instead of dropping the write.
52
+ * Suite `MatrxDataTable.merge-step-3.test.tsx`: RED 8/12 on the prior bytes (the four
53
+ that pass pin the unbound behaviour and reader selection that ran but was not
54
+ typeable), GREEN 12/12; package 1190/1190. **Consumer action:** none; records-ui
55
+ wires a reader with `spreadsheet: { enabled: true, readOnly: true }` in the branch
56
+ that today passes nothing.
57
+
3
58
  ## 0.41.0 (2026-09-25)
4
59
 
5
60
  ### Lane MERGE-STEP-2 (data-tables-grid-overhaul, 2026-09-25)
@@ -2773,3 +2828,4 @@ New dependencies: `@radix-ui/react-dialog`, `@radix-ui/react-popover`,
2773
2828
 
2774
2829
  - Added Button, Badge, Label, Separator, and `cn` as the first shared semantic UI foundation.
2775
2830
  - Added strict TypeScript, SSR-focused tests, package linting, declaration analysis, and isolated tarball import verification.
2831
+
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.cjs';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-DNkbHRVK.cjs';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-q5ficDSo.cjs';
3
3
  import '../content-transfer.cjs';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -12,6 +12,7 @@ import './facets.cjs';
12
12
  import './spreadsheet.cjs';
13
13
  import './grid-selection.cjs';
14
14
  import './date-filter.cjs';
15
+ import './menu-targets.cjs';
15
16
 
16
17
  /**
17
18
  * Typed, declared-column capture for MatrxDataTable's built-in Alchemy source.
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.js';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-Dx5hJgCi.js';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-afUz93xo.js';
3
3
  import '../content-transfer.js';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -12,6 +12,7 @@ import './facets.js';
12
12
  import './spreadsheet.js';
13
13
  import './grid-selection.js';
14
14
  import './date-filter.js';
15
+ import './menu-targets.js';
15
16
 
16
17
  /**
17
18
  * Typed, declared-column capture for MatrxDataTable's built-in Alchemy source.