@ai-matrx/records-ui 0.88.1 → 0.89.2
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 +84 -0
- package/dist/index.cjs +8055 -6402
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -3
- package/dist/index.d.ts +30 -3
- package/dist/index.js +7365 -5684
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,78 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/records-ui
|
|
2
2
|
|
|
3
|
+
## 0.89.2
|
|
4
|
+
|
|
5
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
6
|
+
`git diff npm/records-ui/v0.89.1..npm/records-ui/v0.89.2 -- apps/shared/records-ui`).
|
|
7
|
+
No source changes intended and no consumer action required.
|
|
8
|
+
|
|
9
|
+
## 0.89.1
|
|
10
|
+
|
|
11
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
12
|
+
`git diff npm/records-ui/v0.88.1..npm/records-ui/v0.89.1 -- apps/shared/records-ui`).
|
|
13
|
+
No source changes intended and no consumer action required.
|
|
14
|
+
|
|
15
|
+
## 0.89.0 (2026-09-26 — merged grid data paths: tranches 6k, 6c, 6d; needs @ai-matrx/records 0.58.20)
|
|
16
|
+
|
|
17
|
+
- **6k · the merged grid's page is the store's answer.** Search box, column filters, header sort and
|
|
18
|
+
page number go to `custom.read_records_page` (`useRecordPage`): a record on page six is found, a
|
|
19
|
+
sort orders the whole table, the count is the store's (`coverage.answeredBy: "source"`), and a
|
|
20
|
+
hand-ordered view pages in its hand order (`view_id`). Column filters become the store's one
|
|
21
|
+
filter shape (`gridPage.ts` `storeQuestion`: equality/null/date window flat; contains, ranges,
|
|
22
|
+
several choices and NOT as a Rule); a filter the store cannot ask is refused by name, never
|
|
23
|
+
applied to the loaded page. Realtime notices patch the rows on screen. Classic is unchanged.
|
|
24
|
+
- **6c · the selection bar works on many rows in ONE `custom.record_change_many`** (`gridBulk.tsx`):
|
|
25
|
+
Set a column (the Field's own editor), Clear a column, Fill down (top ticked row), Duplicate,
|
|
26
|
+
Delete (confirmed with the count), beside the table's row actions. One refused row refuses the
|
|
27
|
+
batch; the store's sentence is shown and nothing changed. The merged grid's paste and range
|
|
28
|
+
fill/clear are one `record_change_many` too.
|
|
29
|
+
- **6d · one undo** (`gridUndo.tsx`, on the design-system undo stack): a committed cell, a paste, a
|
|
30
|
+
bulk change, a range fill/clear and a row action each push ONE step; Undo (toolbar button with
|
|
31
|
+
depth, the notice's one Undo button, Cmd-Z) restores every touched cell in ONE
|
|
32
|
+
`record_change_many` (created rows archived, archived rows restored); Redo (Shift-Cmd-Z) writes
|
|
33
|
+
the after-values. A refused undo changes nothing and keeps the step. The spreadsheet primitive's
|
|
34
|
+
own stack is off in the merged grid (`undoDepth: 0`), so Cmd-Z has one meaning.
|
|
35
|
+
- `GridEditing.forget(cells)` and `useGridEditing({ onWritten })`; `useActionRunner({ onRan })`.
|
|
36
|
+
- Column order (`presentation.columnOrder`) is now a declared view key in the store
|
|
37
|
+
(`custom.view_keys()`, matrx-frontend migration `gridmerge_a_view_keeps_its_column_order.sql`), so a
|
|
38
|
+
moved column is kept on the view.
|
|
39
|
+
- RED → GREEN: `the-merged-grid-pages-edits-and-undoes-through-the-store.test.tsx` (11 of 16 red on
|
|
40
|
+
the 0.88.1 Grid).
|
|
41
|
+
|
|
42
|
+
Presentation tranches in the same release (6e, 6g, 6h, 6i):
|
|
43
|
+
|
|
44
|
+
- **6e · every format renders, edits and reads the same everywhere.** `RecordValue` draws a column's
|
|
45
|
+
"Shows as" (`Field.display_format`) through the registry wherever it is called — grid, record
|
|
46
|
+
panel, gallery, public page — with the older grid's rich drawings (`formattedValue.tsx`: stars,
|
|
47
|
+
a progress bar, mail / phone / web / maps links, a colour swatch, tag chips); card and sentence
|
|
48
|
+
text (`scalarText`) reads it too. A rating is ONE click in the grid (both grids; a second press on
|
|
49
|
+
the chosen star clears it). `FieldControl` is format-aware (`formatControls.tsx`): money typed
|
|
50
|
+
with its symbol and commas, a percent kept as a fraction typed as the percent a person reads
|
|
51
|
+
(45 → 0.45), stars, time, colour, email/link/phone inputs. **"Shows as" is the whole registry**
|
|
52
|
+
(`FieldFormatPicker.tsx`, replacing `ShowsAsPicker`): the formats that fit the column in the
|
|
53
|
+
registry's groups, then "Other kinds · changes what the column stores" (never JSON or a raw list,
|
|
54
|
+
never a worked-out kind), which retypes the column (`type` word) and sets its look in the SAME
|
|
55
|
+
`field_update`; each format's own options (currency, stored-as 45 or 0.45, decimals, duration
|
|
56
|
+
unit, out-of, date style, prefix/suffix, separators). Percent reads the stored `percentScale` and
|
|
57
|
+
never guesses. A `display_format` of `formula` is never a look.
|
|
58
|
+
- **6g · colours through the table's one colour door** (`gridColors.tsx`, merged grid): header menu
|
|
59
|
+
"Colour by…" (rows by a choice/tick column, only its cells, stop; Colour rules…; Highlight
|
|
60
|
+
column), right-click "Highlight cell" / "Highlight row" — each press writes ONE leaf through
|
|
61
|
+
`custom.table_decorate` by Field id and paints the store's answer at once. The rules dialog
|
|
62
|
+
(first match wins, row or cell) saves the whole list as one leaf. `useTableDecorations(tableId,
|
|
63
|
+
revision)` re-reads on the table's realtime notice, so another person's colour arrives live, and
|
|
64
|
+
exposes `apply`. A person without editor on the table sees the controls with the reason.
|
|
65
|
+
- **6h · the merged grid's footer is honest:** it appears only once a column is summarized
|
|
66
|
+
("Summarize column" in the header menu, `summaryMenuItem`, the store's measures) and goes with
|
|
67
|
+
the last summary. The classic grid's footer is unchanged.
|
|
68
|
+
- **6i · what names each record** (`gridRowLabel.tsx`, table right-click "What names each
|
|
69
|
+
record…"): one column → `title_field` through the table record's update door; "Columns joined"
|
|
70
|
+
says the store's limit before anything is written (a store gap: the store names records by one
|
|
71
|
+
column's words). The label column wears a mark; the right-click Row section is headed by the
|
|
72
|
+
row's own name.
|
|
73
|
+
- RED → GREEN: `the-merged-grid-shows-formats-colours-summaries-and-row-labels.test.tsx` (18 of 20
|
|
74
|
+
red on the 0.88.1 bytes; 20/20 green).
|
|
75
|
+
|
|
3
76
|
## 0.88.1 (2026-09-26)
|
|
4
77
|
|
|
5
78
|
- **Fix (merged grid): hiding a column is kept again.** Every hide sent the whole column order
|
|
@@ -42,6 +115,16 @@
|
|
|
42
115
|
end that hides controls fades (`data-clipped` on the slot, `useSlotScroll` / `clippedEnds`), and a
|
|
43
116
|
mouse wheel over the slot scrolls it sideways. Walked on the harness (source bytes, dev clone,
|
|
44
117
|
admin's Grid Parity Fixture) at 1600, 390 and 320: 28/28, no two controls ever overlap.
|
|
118
|
+
- **Fix: every archive confirm says it can be restored from Trash** (lane V25-UI-FIXES; archived
|
|
119
|
+
store tables, records and saved views are listed by personal and Organization Trash since
|
|
120
|
+
TRASH-TABLES). The table's confirm (*Settings → This table → Archive this table*) and the grid's
|
|
121
|
+
record confirm now open with the platform's ONE archive sentence — *"This archives …. It leaves
|
|
122
|
+
this list, and you can restore it from Trash."*, the app's `archiveConfirmSentence` word for word,
|
|
123
|
+
exported here as `archiveConfirmSentence` — instead of "The store keeps them for 365 days, so it
|
|
124
|
+
can still be brought back" (from where?) and "waits in Archived items" (true, silent about Trash).
|
|
125
|
+
The record's confirm still names the table's own Archived items. This package draws no confirm
|
|
126
|
+
for archiving a saved view (census: none exists). Suite `every-archive-confirm-names-trash.test.tsx`
|
|
127
|
+
RED 2/2 on the prior bytes → GREEN 2/2.
|
|
45
128
|
|
|
46
129
|
## 0.87.0 (2026-09-25 — one-grid merge step 5 + tranches 6a / 6b; needs @ai-matrx/design-system 0.42.0)
|
|
47
130
|
|
|
@@ -3902,3 +3985,4 @@ First release: `Grid`, `RecordForm`, `FieldEditor`, `TableSettings`,
|
|
|
3902
3985
|
refusal surface. Every one of them is proven headlessly against the rehearsal
|
|
3903
3986
|
branch by `pnpm test`.
|
|
3904
3987
|
|
|
3988
|
+
|