@ai-matrx/design-system 0.56.2 → 0.59.0
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 +54 -1
- package/README.md +5 -1
- package/dist/data-table/index.cjs +670 -460
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +259 -49
- package/dist/data-table/index.js.map +1 -1
- package/dist/field-formats/index.cjs +15 -0
- package/dist/field-formats/index.cjs.map +1 -1
- package/dist/field-formats/index.d.cts +10 -1
- package/dist/field-formats/index.d.ts +10 -1
- package/dist/field-formats/index.js +15 -0
- package/dist/field-formats/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,58 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.59.0
|
|
4
|
+
|
|
5
|
+
- **A host's inline functions never redraw the table.** A host that writes `cell`,
|
|
6
|
+
`customActions`, `getRowId`, `rowClassName` or its handlers inline handed the table new
|
|
7
|
+
functions on every render, and every row redrew: /artifacts (560 rows) spent ~2.6 s redrawing
|
|
8
|
+
1,120 rows to open one artifact. Now only a VALUE the rows draw (a width, a flag) redraws every
|
|
9
|
+
row; a new function or object makes each row compare the elements it would draw with the ones
|
|
10
|
+
it drew (`row-drawing.ts`). Equal → React skips the row; different → only that row redraws.
|
|
11
|
+
Every `on[A-Z]` handler inside a row is a stable trampoline to the host's latest function, so a
|
|
12
|
+
row that was not redrawn never calls an old closure. Render props and component types still
|
|
13
|
+
compare by identity, so a row never shows what an old closure drew. The default row copy reads
|
|
14
|
+
its columns when a person copies (`TableRowCopyControl`'s `defaultColumns` is now a getter).
|
|
15
|
+
Guard: `MatrxDataTable.inline-callbacks.test.tsx` (red on 0.58.0).
|
|
16
|
+
|
|
17
|
+
### Consumer action
|
|
18
|
+
|
|
19
|
+
- None required. A host that stabilised its callbacks only to stop row redraws may drop the
|
|
20
|
+
`useMemo`/ref plumbing; a host whose cell reads state outside the record keeps working without
|
|
21
|
+
`rowVersion` (the comparison sees what the cell draws).
|
|
22
|
+
|
|
23
|
+
## 0.58.0
|
|
24
|
+
|
|
25
|
+
- **`formatPhone` is exported from `./field-formats`** — the Phone format's one look, moved here
|
|
26
|
+
from records-ui so every surface shows a phone number the same way: ten North-American digits
|
|
27
|
+
read `(805) 555-1234`, `+1`/eleven digits with the leading 1 read `+1 (805) 555-1234`, anything
|
|
28
|
+
else (another country's number, an extension, words) is shown as typed. Display only; the
|
|
29
|
+
stored value is never rewritten. Guard: `src/field-formats/phone-format.test.ts` (red on 0.57.0).
|
|
30
|
+
|
|
31
|
+
### Consumer action
|
|
32
|
+
|
|
33
|
+
- None required. A surface that renders a phone value calls `formatPhone(text)` from
|
|
34
|
+
`@ai-matrx/design-system/field-formats` instead of keeping its own copy.
|
|
35
|
+
|
|
36
|
+
## 0.57.0
|
|
37
|
+
|
|
38
|
+
- **One actions column.** A table that declares its own `customActions` column no longer also
|
|
39
|
+
draws the built-in row-actions column just to hold the row-copy icon: the copy rides inline at
|
|
40
|
+
the start of the first visible custom column. Before, records-ui's merged grid showed two
|
|
41
|
+
actions columns, and the second one, 225 px wide with only the copy icon in it, pushed the
|
|
42
|
+
grid's own Delete off the right edge. The built-in column is still drawn when the table has
|
|
43
|
+
standard icon `rowActions` or a window button, and it still holds the copy whenever no custom
|
|
44
|
+
column is visible. Under `fitToWidth` a custom column now takes its content width (its widest
|
|
45
|
+
row strip or its header), not a share of the space, and a custom strip gets compact rows'
|
|
46
|
+
24 px buttons. With no built-in column drawn, a custom column that ends the row takes the
|
|
47
|
+
built-in column's pin (sticky right from `sm:` up, `data-matrx-table-pinned-actions`), and the
|
|
48
|
+
sideways scroll control sits clear of it. Guards: `TableIconActions.test.tsx` and `MatrxDataTable.layout-look.test.tsx`
|
|
49
|
+
(red on 0.56.2).
|
|
50
|
+
|
|
51
|
+
### Consumer action
|
|
52
|
+
|
|
53
|
+
- None. A consumer that relied on a copy-only built-in column beside its own custom column sees
|
|
54
|
+
that column go away; its copy is in the custom column.
|
|
55
|
+
|
|
3
56
|
## 0.56.2
|
|
4
57
|
|
|
5
58
|
- **`BottomSheetHeader`'s Back button has a name.** It was an unnamed icon button (screen
|
|
@@ -1239,7 +1292,7 @@ on the server; drop any app-side copy of the palette.
|
|
|
1239
1292
|
|
|
1240
1293
|
## 0.38.0 — 2026-09-23
|
|
1241
1294
|
|
|
1242
|
-
**On desktop a Dialog is a window, not a wall.** (register ARE-006, `common-docs/projects/ai-reachable-everywhere/REGISTER.md`.)
|
|
1295
|
+
**On desktop a Dialog is a window, not a wall.** (register ARE-006, `common-docs/systems/platform/ui-shell/projects/ai-reachable-everywhere/REGISTER.md`.)
|
|
1243
1296
|
|
|
1244
1297
|
Arman, on a blocking settings dialog: *"none of the built-in page ai integrations are accessible because the page is totally blocked."* Unless the caller passes `modal`, a desktop `Dialog` no longer blocks the page: no overlay, and the page, its menus and every AI control beside it stay usable. It behaves like a light window:
|
|
1245
1298
|
|
package/README.md
CHANGED
|
@@ -242,4 +242,8 @@ button event for callers that need modifier keys. A menu, editor or other React
|
|
|
242
242
|
be declared in its own column: `{ id: "workflow", header: "Workflow", customActions: (row,
|
|
243
243
|
controls) => <WorkflowMenu row={row} controls={controls} /> }`. Custom columns carry live
|
|
244
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.
|
|
245
|
+
(their headers may contain controls). Hidden custom columns stay hidden in mobile cards too. A table with a visible custom column draws ONE actions column: the row copy rides inline at the
|
|
246
|
+
start of the first visible custom column, and the built-in row-actions column is drawn only for
|
|
247
|
+
standard icon `rowActions` or the window button. Under `fitToWidth` a custom column is as wide as
|
|
248
|
+
its widest row strip or its header, never a scaled share; when it ends the row it is pinned right
|
|
249
|
+
like the built-in column.
|