wenay-react2 1.0.47 → 1.0.48
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/README.md +14 -14
- package/doc/EXAMPLE_USAGE.md +969 -969
- package/doc/PROJECT_FUNCTIONALITY.md +403 -403
- package/doc/PROJECT_RULES.md +27 -27
- package/doc/WENAY_REACT2_RENAMES.md +170 -170
- package/doc/changes/v1.0.35.md +18 -18
- package/doc/changes/v1.0.38.md +37 -37
- package/doc/changes/v1.0.39.md +23 -23
- package/doc/changes/v1.0.40.md +14 -14
- package/doc/changes/v1.0.41.md +35 -35
- package/doc/changes/v1.0.42.md +26 -26
- package/doc/changes/v1.0.43.md +10 -10
- package/doc/changes/v1.0.44.md +14 -14
- package/doc/changes/v1.0.45.md +8 -8
- package/doc/changes/v1.0.46.md +11 -11
- package/doc/changes/v1.0.47.md +9 -9
- package/doc/changes/v1.0.48.md +8 -0
- package/doc/examples/README.md +4 -4
- package/doc/examples/peer-call-media.tsx +7 -7
- package/doc/examples/stand.tsx +5 -5
- package/doc/native.md +37 -37
- package/doc/progress/README.md +13 -13
- package/doc/progress/architecture-fix-queue.md +74 -74
- package/doc/progress/column-state-present-gate.md +28 -28
- package/doc/progress/common2-adoption-1.0.73.md +28 -28
- package/doc/progress/common2-adoption-1.0.74.md +24 -24
- package/doc/progress/hook-controller-opportunities.md +363 -363
- package/doc/progress/hook-extraction-audit.md +195 -195
- package/doc/progress/public-surface-normalization.md +351 -351
- package/doc/progress/qa-stand-walkthrough-2026-07-12.md +62 -0
- package/doc/progress/stand-as-examples-audit.md +20 -20
- package/doc/progress/style-system-normalization.md +121 -121
- package/doc/target/README.md +32 -32
- package/doc/target/my.md +122 -122
- package/doc/wenay-react2-rare.md +807 -807
- package/doc/wenay-react2.md +541 -541
- package/lib/common/demo/peerMedia.js +6 -1
- package/lib/common/src/logs/logsController.js +2 -2
- package/lib/common/testUseReact/qa.js +3 -3
- package/lib/style/menuRight.css +19 -19
- package/lib/style/style.css +23 -23
- package/lib/style/tokens.css +184 -184
- package/package.json +1 -1
- package/doc/wenay-react2-1.0.8.tgz +0 -0
package/doc/PROJECT_RULES.md
CHANGED
|
@@ -19,35 +19,35 @@ Canonical documentation locations:
|
|
|
19
19
|
|
|
20
20
|
`wenay-common2` documentation is not canonical in this repository. When common2 behavior matters, read the installed package/module docs and summarize only the React-facing impact in `doc/wenay-react2.md` or `doc/wenay-react2-rare.md`.
|
|
21
21
|
|
|
22
|
-
## wenay-common2 / common2 Updates
|
|
23
|
-
|
|
24
|
-
In this repository, `common2` is the short name for `wenay-common2`. If a request says to check updates, update common/common2, read what changed in common, or similar, and no other dependency is named, assume it means `wenay-common2`.
|
|
25
|
-
|
|
26
|
-
Before summarizing or acting on such an update, read:
|
|
27
|
-
|
|
28
|
-
- `node_modules/wenay-common2/package.json` for the installed version.
|
|
29
|
-
- `node_modules/wenay-common2/doc/changes/README.md` and the newest files in `node_modules/wenay-common2/doc/changes/` for what changed.
|
|
30
|
-
|
|
22
|
+
## wenay-common2 / common2 Updates
|
|
23
|
+
|
|
24
|
+
In this repository, `common2` is the short name for `wenay-common2`. If a request says to check updates, update common/common2, read what changed in common, or similar, and no other dependency is named, assume it means `wenay-common2`.
|
|
25
|
+
|
|
26
|
+
Before summarizing or acting on such an update, read:
|
|
27
|
+
|
|
28
|
+
- `node_modules/wenay-common2/package.json` for the installed version.
|
|
29
|
+
- `node_modules/wenay-common2/doc/changes/README.md` and the newest files in `node_modules/wenay-common2/doc/changes/` for what changed.
|
|
30
|
+
|
|
31
31
|
If the package is updated, read the changelog from the newly installed package before changing React-facing docs or code. Keep local docs focused on the React-facing impact.
|
|
32
32
|
|
|
33
|
-
## Target Backlog
|
|
34
|
-
|
|
35
|
-
- `doc/target/` is the durable queue for dictated tasks and imported task direction. Read `doc/target/README.md` before acting on a request that starts from `target`.
|
|
36
|
-
- `doc/target/my.md` must show task status. Before implementation, move/normalize the selected item into `In Progress`; when implementation is believed complete, move it to `Verify`; remove it from the queue only after acceptance checks pass and durable results are recorded.
|
|
37
|
-
- `doc/progress/` is temporary and must not be used as the only task-status record. If a progress file is deleted at completion, `doc/target/my.md` must already be cleaned, moved to `Verify`, or otherwise updated with the next required check.
|
|
38
|
-
- `target/*.md` files are source specs/prompts. Do not edit or delete them merely for progress tracking unless the user explicitly asks.
|
|
39
|
-
## Work Progress Files
|
|
40
|
-
|
|
41
|
-
- For any task that is more than a tiny/local edit, create a temporary progress file before starting broad changes.
|
|
42
|
-
- Put progress files under `doc/progress/`. This is the working-doc area, separate from public docs, roadmap docs, and release notes.
|
|
43
|
-
- Name them by task, for example `doc/progress/replay-route-handoff.md`.
|
|
44
|
-
- Keep the file short: goal, current checkpoints, notable decisions, blockers, and verification already run or still needed.
|
|
45
|
-
- Update the progress file as checkpoints are completed, especially before switching context or making broad edits.
|
|
46
|
-
- When the task is finished, delete the progress file.
|
|
47
|
-
- Preserve only the durable outcome: final response, commit message, and, for publishable changes, the matching changelog/release-note entry.
|
|
48
|
-
- If work is paused or blocked locally, leave the progress file in place and make the next required action explicit.
|
|
49
|
-
- If the paused state must be committed or handed off, promote the useful part into a durable doc such as `ROADMAP`, `RECOMMENDATIONS`, `doc/target`, or `doc/changes`, instead of relying on an ignored progress file.
|
|
50
|
-
|
|
33
|
+
## Target Backlog
|
|
34
|
+
|
|
35
|
+
- `doc/target/` is the durable queue for dictated tasks and imported task direction. Read `doc/target/README.md` before acting on a request that starts from `target`.
|
|
36
|
+
- `doc/target/my.md` must show task status. Before implementation, move/normalize the selected item into `In Progress`; when implementation is believed complete, move it to `Verify`; remove it from the queue only after acceptance checks pass and durable results are recorded.
|
|
37
|
+
- `doc/progress/` is temporary and must not be used as the only task-status record. If a progress file is deleted at completion, `doc/target/my.md` must already be cleaned, moved to `Verify`, or otherwise updated with the next required check.
|
|
38
|
+
- `target/*.md` files are source specs/prompts. Do not edit or delete them merely for progress tracking unless the user explicitly asks.
|
|
39
|
+
## Work Progress Files
|
|
40
|
+
|
|
41
|
+
- For any task that is more than a tiny/local edit, create a temporary progress file before starting broad changes.
|
|
42
|
+
- Put progress files under `doc/progress/`. This is the working-doc area, separate from public docs, roadmap docs, and release notes.
|
|
43
|
+
- Name them by task, for example `doc/progress/replay-route-handoff.md`.
|
|
44
|
+
- Keep the file short: goal, current checkpoints, notable decisions, blockers, and verification already run or still needed.
|
|
45
|
+
- Update the progress file as checkpoints are completed, especially before switching context or making broad edits.
|
|
46
|
+
- When the task is finished, delete the progress file.
|
|
47
|
+
- Preserve only the durable outcome: final response, commit message, and, for publishable changes, the matching changelog/release-note entry.
|
|
48
|
+
- If work is paused or blocked locally, leave the progress file in place and make the next required action explicit.
|
|
49
|
+
- If the paused state must be committed or handed off, promote the useful part into a durable doc such as `ROADMAP`, `RECOMMENDATIONS`, `doc/target`, or `doc/changes`, instead of relying on an ignored progress file.
|
|
50
|
+
|
|
51
51
|
## Recent Changes Catalog
|
|
52
52
|
|
|
53
53
|
Every meaningful code, public API, dependency, migration, or documentation-policy change must add or update a file in `doc/changes/`.
|
|
@@ -1,177 +1,177 @@
|
|
|
1
|
-
# wenay-react2 Rename Map
|
|
2
|
-
|
|
3
|
-
Date: 2026-07-08
|
|
4
|
-
|
|
5
|
-
This is a breaking rename map. The package does not keep old aliases for these names.
|
|
6
|
-
|
|
7
|
-
## Root
|
|
8
|
-
|
|
9
|
-
| Old | New |
|
|
10
|
-
| --- | --- |
|
|
11
|
-
| `v2` | `kit` |
|
|
12
|
-
| `test()` | removed |
|
|
13
|
-
| `LegacyMenuElement` | `MenuItemElement` |
|
|
14
|
-
|
|
15
|
-
## Persistent Memory
|
|
16
|
-
|
|
17
|
-
| Old | New |
|
|
18
|
-
| --- | --- |
|
|
19
|
-
| `Cash` | `memoryCache` |
|
|
20
|
-
| `MemoryMap` | `memoryMaps` |
|
|
21
|
-
| `staticGetAdd` | `memoryGetOrCreate` |
|
|
22
|
-
| `staticGetById` | `memoryGetById` |
|
|
23
|
-
| `staticSet` | `memorySet` |
|
|
24
|
-
| `staticGet` | `memoryGet` |
|
|
25
|
-
| `staticUpdate` | `memoryUpdate` |
|
|
26
|
-
| `staticMarkDirty` | `memoryMarkDirty` |
|
|
27
|
-
| `staticProps` | `memoryProps` |
|
|
28
|
-
| `mapMemory.tsx` | `memoryStore.tsx` |
|
|
29
|
-
|
|
30
|
-
## Outside Click And Keyboard
|
|
31
|
-
|
|
32
|
-
| Old | New |
|
|
33
|
-
| --- | --- |
|
|
34
|
-
| `DivOutsideClick` | `OutsideClickArea` |
|
|
35
|
-
| `DivOutsideClick2` | `OutsideClickArea` |
|
|
36
|
-
| `ButtonOutClick` | `OutsideButton` |
|
|
37
|
-
| `ButtonHover` | `HoverButton` |
|
|
38
|
-
| `ButtonAbs` | `AbsoluteButton` |
|
|
39
|
-
| `StyleOtherColum` | `StyleOtherColumn` |
|
|
40
|
-
| `useOutsideOld` | `useOutsideRef` |
|
|
41
|
-
| `useAddDownAnyKey` | `useKeyboard` |
|
|
42
|
-
| `useKeyDown` | `useKeyboard` |
|
|
43
|
-
| `useAnyKey` | `useKeyboard` |
|
|
44
|
-
| `keyDownApi` | `keyboard` |
|
|
45
|
-
| `KeyDown` | `keyboardState` |
|
|
46
|
-
| `AnyKeyDownApi` | `KeyboardApi` |
|
|
47
|
-
| `addDownAnyKey` | removed |
|
|
48
|
-
| `useAddDownAnyKeyOld` | removed |
|
|
49
|
-
| `useAddDownAnyKey.ts` | `useKeyboard.ts` |
|
|
50
|
-
|
|
1
|
+
# wenay-react2 Rename Map
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-08
|
|
4
|
+
|
|
5
|
+
This is a breaking rename map. The package does not keep old aliases for these names.
|
|
6
|
+
|
|
7
|
+
## Root
|
|
8
|
+
|
|
9
|
+
| Old | New |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `v2` | `kit` |
|
|
12
|
+
| `test()` | removed |
|
|
13
|
+
| `LegacyMenuElement` | `MenuItemElement` |
|
|
14
|
+
|
|
15
|
+
## Persistent Memory
|
|
16
|
+
|
|
17
|
+
| Old | New |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| `Cash` | `memoryCache` |
|
|
20
|
+
| `MemoryMap` | `memoryMaps` |
|
|
21
|
+
| `staticGetAdd` | `memoryGetOrCreate` |
|
|
22
|
+
| `staticGetById` | `memoryGetById` |
|
|
23
|
+
| `staticSet` | `memorySet` |
|
|
24
|
+
| `staticGet` | `memoryGet` |
|
|
25
|
+
| `staticUpdate` | `memoryUpdate` |
|
|
26
|
+
| `staticMarkDirty` | `memoryMarkDirty` |
|
|
27
|
+
| `staticProps` | `memoryProps` |
|
|
28
|
+
| `mapMemory.tsx` | `memoryStore.tsx` |
|
|
29
|
+
|
|
30
|
+
## Outside Click And Keyboard
|
|
31
|
+
|
|
32
|
+
| Old | New |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| `DivOutsideClick` | `OutsideClickArea` |
|
|
35
|
+
| `DivOutsideClick2` | `OutsideClickArea` |
|
|
36
|
+
| `ButtonOutClick` | `OutsideButton` |
|
|
37
|
+
| `ButtonHover` | `HoverButton` |
|
|
38
|
+
| `ButtonAbs` | `AbsoluteButton` |
|
|
39
|
+
| `StyleOtherColum` | `StyleOtherColumn` |
|
|
40
|
+
| `useOutsideOld` | `useOutsideRef` |
|
|
41
|
+
| `useAddDownAnyKey` | `useKeyboard` |
|
|
42
|
+
| `useKeyDown` | `useKeyboard` |
|
|
43
|
+
| `useAnyKey` | `useKeyboard` |
|
|
44
|
+
| `keyDownApi` | `keyboard` |
|
|
45
|
+
| `KeyDown` | `keyboardState` |
|
|
46
|
+
| `AnyKeyDownApi` | `KeyboardApi` |
|
|
47
|
+
| `addDownAnyKey` | removed |
|
|
48
|
+
| `useAddDownAnyKeyOld` | removed |
|
|
49
|
+
| `useAddDownAnyKey.ts` | `useKeyboard.ts` |
|
|
50
|
+
|
|
51
51
|
## Floating Windows And Drag
|
|
52
52
|
|
|
53
53
|
| Old | New |
|
|
54
54
|
| --- | --- |
|
|
55
|
-
| `DraggableOutlineDiv` | `OutlineDragDemo` |
|
|
56
|
-
| `DivRnd3` | `FloatingWindow` |
|
|
57
|
-
| `DivRndBase3` | `FloatingWindowBase` |
|
|
58
|
-
| `ExRNDMap3` | `floatingWindowMap` |
|
|
59
|
-
| `tRndUpdate` | `FloatingWindowUpdate` |
|
|
60
|
-
| `Drag22` | `DragBox` |
|
|
61
|
-
| `Drag2Props` | `DragBoxProps` |
|
|
62
|
-
| `Drag2` | `DragArea` |
|
|
63
|
-
| `RNDFunc3.tsx` | `FloatingWindow.tsx` |
|
|
64
|
-
| `RNDFunc.tsx` | `DragArea.tsx` |
|
|
65
|
-
|
|
66
|
-
## Modal And Inputs
|
|
67
|
-
|
|
68
|
-
| Old | New |
|
|
69
|
-
| --- | --- |
|
|
70
|
-
| `InputPage` | `TextInputPanel` |
|
|
71
|
-
| `InputPageModal` | `TextInputModal` |
|
|
72
|
-
| `InputFile` | `FileInputPanel` |
|
|
73
|
-
| `InputFileModal` | `FileInputModal` |
|
|
74
|
-
| `PageModalFree` | `FreeModal` |
|
|
75
|
-
| `GetModalJSX` | `createModalElementStore` |
|
|
76
|
-
| `GetModalFuncJSX` | `createModalRenderStore` |
|
|
77
|
-
| `setModalJSX` argument | `modal` argument |
|
|
78
|
-
| `LegacyModalSetter` | `ModalSetter` |
|
|
79
|
-
| `useModalOld` | removed |
|
|
80
|
-
| `useModalApi` | removed |
|
|
81
|
-
|
|
82
|
-
## Params
|
|
83
|
-
|
|
84
|
-
| Old | New |
|
|
85
|
-
| --- | --- |
|
|
86
|
-
| `ParametersReact` | `ParamsEditor` |
|
|
87
|
-
| `ParametersBaseReact` | `ParamsEditorBase` |
|
|
88
|
-
| `ParametersEngine.tsx` | `ParamsEditor.tsx` |
|
|
89
|
-
| `EditParams2` | `ParamsEdit` |
|
|
90
|
-
| `EditParams3` | `ParamsArrayEdit` |
|
|
91
|
-
| `CParameter` | `ParamRow` |
|
|
92
|
-
| `FButton` | `ParamLabelContent` |
|
|
93
|
-
| `FNameButton` | `ParamToggleLabel` |
|
|
94
|
-
| `SetAutoStepForElement` | `setAutoStepForElement` |
|
|
95
|
-
|
|
96
|
-
## Menu
|
|
97
|
-
|
|
98
|
-
| Old | New |
|
|
99
|
-
| --- | --- |
|
|
100
|
-
| `MenuBase` | `Menu` |
|
|
101
|
-
| `MenuBaseProps` | `MenuProps` |
|
|
102
|
-
| `tMenuReact` | `MenuItem` |
|
|
103
|
-
| `tMenuReactStrictly` | `MenuItemStrict` |
|
|
104
|
-
| `TimeNum` | `MenuProgress` |
|
|
105
|
-
| `tCounters` | `MenuProgressCounters` |
|
|
106
|
-
| `GetMouseMenuApi` | `createContextMenu` |
|
|
107
|
-
| `mouseMenuApi` | `contextMenu` |
|
|
108
|
-
| `ReactMouse` | `Layer` |
|
|
109
|
-
| `ReactMenu` | `MenuView` |
|
|
110
|
-
| `GetMenuR` | `createRightClickMenu` |
|
|
111
|
-
| `MenuRightApi` | `createRightMenuController` |
|
|
112
|
-
| `DropdownMenuTest` | `RightMenuDemo` |
|
|
113
|
-
|
|
114
|
-
## Buttons And Grid
|
|
115
|
-
|
|
116
|
-
| Old | New |
|
|
117
|
-
| --- | --- |
|
|
118
|
-
| `MiniButton2` | `PopupButton` |
|
|
119
|
-
| `MiniButton3` | removed |
|
|
120
|
-
| `AgGridMy` | `AgGridTable` |
|
|
121
|
-
| `AgGridMyProps` | `AgGridTableProps` |
|
|
122
|
-
| `AgGridMyInner` | `AgGridTableInner` |
|
|
123
|
-
| `applyTransactionAsyncUpdate2` | `applyGridRows` |
|
|
124
|
-
| `applyTransactionAsyncUpdate` | removed; use `applyGridRows` or `useAgGrid` |
|
|
125
|
-
| `getUpdateTable` | removed |
|
|
126
|
-
| `getComparatorGrid` | removed; use `numericComparator` |
|
|
127
|
-
| `applyTransactionAsyncUpdate.tsx` | `gridRows.ts` |
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
## Cache Helpers
|
|
132
|
-
|
|
133
|
-
| Old | New |
|
|
134
|
-
| --- | --- |
|
|
135
|
-
| `tDirtyListener` | `DirtyListener` |
|
|
136
|
-
| `IServerSaveBasePromise` | `CacheStorage` |
|
|
137
|
-
| `CSaveToCache` | `BrowserCacheStorage` |
|
|
138
|
-
| `CSaveToLocalStorage` | `LocalStorageCache` |
|
|
139
|
-
| `CacheG` | `browserCacheStorage` |
|
|
140
|
-
| `CacheLocal` | `localStorageCache` |
|
|
141
|
-
| `CacheFuncMapBase` | `createCacheMapWithStorage` |
|
|
142
|
-
| `CacheFuncMap` | `createCacheMap` |
|
|
55
|
+
| `DraggableOutlineDiv` | `OutlineDragDemo` |
|
|
56
|
+
| `DivRnd3` | `FloatingWindow` |
|
|
57
|
+
| `DivRndBase3` | `FloatingWindowBase` |
|
|
58
|
+
| `ExRNDMap3` | `floatingWindowMap` |
|
|
59
|
+
| `tRndUpdate` | `FloatingWindowUpdate` |
|
|
60
|
+
| `Drag22` | `DragBox` |
|
|
61
|
+
| `Drag2Props` | `DragBoxProps` |
|
|
62
|
+
| `Drag2` | `DragArea` |
|
|
63
|
+
| `RNDFunc3.tsx` | `FloatingWindow.tsx` |
|
|
64
|
+
| `RNDFunc.tsx` | `DragArea.tsx` |
|
|
65
|
+
|
|
66
|
+
## Modal And Inputs
|
|
67
|
+
|
|
68
|
+
| Old | New |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| `InputPage` | `TextInputPanel` |
|
|
71
|
+
| `InputPageModal` | `TextInputModal` |
|
|
72
|
+
| `InputFile` | `FileInputPanel` |
|
|
73
|
+
| `InputFileModal` | `FileInputModal` |
|
|
74
|
+
| `PageModalFree` | `FreeModal` |
|
|
75
|
+
| `GetModalJSX` | `createModalElementStore` |
|
|
76
|
+
| `GetModalFuncJSX` | `createModalRenderStore` |
|
|
77
|
+
| `setModalJSX` argument | `modal` argument |
|
|
78
|
+
| `LegacyModalSetter` | `ModalSetter` |
|
|
79
|
+
| `useModalOld` | removed |
|
|
80
|
+
| `useModalApi` | removed |
|
|
81
|
+
|
|
82
|
+
## Params
|
|
83
|
+
|
|
84
|
+
| Old | New |
|
|
85
|
+
| --- | --- |
|
|
86
|
+
| `ParametersReact` | `ParamsEditor` |
|
|
87
|
+
| `ParametersBaseReact` | `ParamsEditorBase` |
|
|
88
|
+
| `ParametersEngine.tsx` | `ParamsEditor.tsx` |
|
|
89
|
+
| `EditParams2` | `ParamsEdit` |
|
|
90
|
+
| `EditParams3` | `ParamsArrayEdit` |
|
|
91
|
+
| `CParameter` | `ParamRow` |
|
|
92
|
+
| `FButton` | `ParamLabelContent` |
|
|
93
|
+
| `FNameButton` | `ParamToggleLabel` |
|
|
94
|
+
| `SetAutoStepForElement` | `setAutoStepForElement` |
|
|
95
|
+
|
|
96
|
+
## Menu
|
|
97
|
+
|
|
98
|
+
| Old | New |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `MenuBase` | `Menu` |
|
|
101
|
+
| `MenuBaseProps` | `MenuProps` |
|
|
102
|
+
| `tMenuReact` | `MenuItem` |
|
|
103
|
+
| `tMenuReactStrictly` | `MenuItemStrict` |
|
|
104
|
+
| `TimeNum` | `MenuProgress` |
|
|
105
|
+
| `tCounters` | `MenuProgressCounters` |
|
|
106
|
+
| `GetMouseMenuApi` | `createContextMenu` |
|
|
107
|
+
| `mouseMenuApi` | `contextMenu` |
|
|
108
|
+
| `ReactMouse` | `Layer` |
|
|
109
|
+
| `ReactMenu` | `MenuView` |
|
|
110
|
+
| `GetMenuR` | `createRightClickMenu` |
|
|
111
|
+
| `MenuRightApi` | `createRightMenuController` |
|
|
112
|
+
| `DropdownMenuTest` | `RightMenuDemo` |
|
|
113
|
+
|
|
114
|
+
## Buttons And Grid
|
|
115
|
+
|
|
116
|
+
| Old | New |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| `MiniButton2` | `PopupButton` |
|
|
119
|
+
| `MiniButton3` | removed |
|
|
120
|
+
| `AgGridMy` | `AgGridTable` |
|
|
121
|
+
| `AgGridMyProps` | `AgGridTableProps` |
|
|
122
|
+
| `AgGridMyInner` | `AgGridTableInner` |
|
|
123
|
+
| `applyTransactionAsyncUpdate2` | `applyGridRows` |
|
|
124
|
+
| `applyTransactionAsyncUpdate` | removed; use `applyGridRows` or `useAgGrid` |
|
|
125
|
+
| `getUpdateTable` | removed |
|
|
126
|
+
| `getComparatorGrid` | removed; use `numericComparator` |
|
|
127
|
+
| `applyTransactionAsyncUpdate.tsx` | `gridRows.ts` |
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
## Cache Helpers
|
|
132
|
+
|
|
133
|
+
| Old | New |
|
|
134
|
+
| --- | --- |
|
|
135
|
+
| `tDirtyListener` | `DirtyListener` |
|
|
136
|
+
| `IServerSaveBasePromise` | `CacheStorage` |
|
|
137
|
+
| `CSaveToCache` | `BrowserCacheStorage` |
|
|
138
|
+
| `CSaveToLocalStorage` | `LocalStorageCache` |
|
|
139
|
+
| `CacheG` | `browserCacheStorage` |
|
|
140
|
+
| `CacheLocal` | `localStorageCache` |
|
|
141
|
+
| `CacheFuncMapBase` | `createCacheMapWithStorage` |
|
|
142
|
+
| `CacheFuncMap` | `createCacheMap` |
|
|
143
143
|
| `ObjectStringToDate` | `restoreDates` |
|
|
144
|
-
## Public Type Prefix Cleanup
|
|
145
|
-
|
|
146
|
-
| Old | New |
|
|
147
|
-
| --- | --- |
|
|
148
|
-
| `tToolbarItem` | `ToolbarItem` |
|
|
149
|
-
| `tToolbarConfig` | `ToolbarConfig` |
|
|
150
|
-
| `tToolbarDensity` | `ToolbarDensity` |
|
|
151
|
-
| `tUiListConfig` | `UiListConfig` |
|
|
152
|
-
| `tUiListSource` | `UiListSource` |
|
|
153
|
-
| `tColumnMeta` | `ColumnMeta` |
|
|
154
|
-
| `tColumnsSort` | `ColumnsSort` |
|
|
155
|
-
| `tColumnsConfig` | `ColumnsConfig` |
|
|
156
|
-
| `tMenuStripItem` | `MenuStripItem` |
|
|
157
|
-
| `tReorderOptions` | `ReorderOptions` |
|
|
158
|
-
| `tReorderItem` | `ReorderItem` |
|
|
159
|
-
| `tReorderBoardOptions` | `ReorderBoardOptions` |
|
|
160
|
-
| `tBoardPos` | `BoardPosition` |
|
|
161
|
-
| `tBoardColumn` | `BoardColumn` |
|
|
162
|
-
| `tSettingsSection` | `SettingsSection` |
|
|
163
|
-
| `tThemeMode` | `ThemeMode` |
|
|
164
|
-
| `tMapChangeListener` | `MapChangeListener` |
|
|
165
|
-
| `tCallFuncAgGrid` | `AgGridClassRule` |
|
|
166
|
-
| `tLogsInput` | `LogInput` |
|
|
167
|
-
| `tLogs` | `LogEntry` |
|
|
168
|
-
| `MenuRightPosition2` | `MenuRightVerticalPosition` |
|
|
169
|
-
| `position2` prop/state | `verticalPosition` |
|
|
170
|
-
| `PageLogs2` | `LogsPage` |
|
|
144
|
+
## Public Type Prefix Cleanup
|
|
145
|
+
|
|
146
|
+
| Old | New |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| `tToolbarItem` | `ToolbarItem` |
|
|
149
|
+
| `tToolbarConfig` | `ToolbarConfig` |
|
|
150
|
+
| `tToolbarDensity` | `ToolbarDensity` |
|
|
151
|
+
| `tUiListConfig` | `UiListConfig` |
|
|
152
|
+
| `tUiListSource` | `UiListSource` |
|
|
153
|
+
| `tColumnMeta` | `ColumnMeta` |
|
|
154
|
+
| `tColumnsSort` | `ColumnsSort` |
|
|
155
|
+
| `tColumnsConfig` | `ColumnsConfig` |
|
|
156
|
+
| `tMenuStripItem` | `MenuStripItem` |
|
|
157
|
+
| `tReorderOptions` | `ReorderOptions` |
|
|
158
|
+
| `tReorderItem` | `ReorderItem` |
|
|
159
|
+
| `tReorderBoardOptions` | `ReorderBoardOptions` |
|
|
160
|
+
| `tBoardPos` | `BoardPosition` |
|
|
161
|
+
| `tBoardColumn` | `BoardColumn` |
|
|
162
|
+
| `tSettingsSection` | `SettingsSection` |
|
|
163
|
+
| `tThemeMode` | `ThemeMode` |
|
|
164
|
+
| `tMapChangeListener` | `MapChangeListener` |
|
|
165
|
+
| `tCallFuncAgGrid` | `AgGridClassRule` |
|
|
166
|
+
| `tLogsInput` | `LogInput` |
|
|
167
|
+
| `tLogs` | `LogEntry` |
|
|
168
|
+
| `MenuRightPosition2` | `MenuRightVerticalPosition` |
|
|
169
|
+
| `position2` prop/state | `verticalPosition` |
|
|
170
|
+
| `PageLogs2` | `LogsPage` |
|
|
171
171
|
| `logs3.tsx` | `logsContext.tsx` |
|
|
172
|
-
## wenay-common2 Names Used Here
|
|
173
|
-
|
|
174
|
-
| Old common2 alias | New name used in this package |
|
|
175
|
-
| --- | --- |
|
|
176
|
-
| `GetDblPrecision` / `GetDblPrecision2` | `decimals` |
|
|
172
|
+
## wenay-common2 Names Used Here
|
|
173
|
+
|
|
174
|
+
| Old common2 alias | New name used in this package |
|
|
175
|
+
| --- | --- |
|
|
176
|
+
| `GetDblPrecision` / `GetDblPrecision2` | `decimals` |
|
|
177
177
|
| `NormalizeDouble` | `round` |
|
package/doc/changes/v1.0.35.md
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
# v1.0.35
|
|
2
|
-
|
|
3
|
-
Date: 2026-07-08
|
|
4
|
-
|
|
5
|
-
- Changed: Migrated this repository to the published `wenay-common2@1.0.62` naming surface (`Observe`, `listen`, `Replay.replayListen`, `promiseProgress`) and updated matching React docs/tests.
|
|
6
|
-
- Changed: Made `README.md` a documentation index only and added the project rule file plus `doc/changes/` catalog.
|
|
7
|
-
- Reason: Keep the repository aligned with the breaking rename publication and make future AI edits record version-scoped changes consistently.
|
|
8
|
-
- Verification: `npm run build`; `npm run testjest -- --runInBand`.
|
|
9
|
-
- Changed: Updated `wenay-common2` from `1.0.62` to `1.0.64` and refreshed the pulled `doc/wenay-common2*.md` / `doc/NAMING_RENAMES.md` files from the npm package.
|
|
10
|
-
- Reason: `wenay-common2@1.0.63` adds `Observe.createStoreManager` / `Observe.managedStore` for declarative mirror/replay/offline startup; `1.0.64` packages documentation and recent-change notes into npm.
|
|
11
|
-
- React impact: no required hook migration in `wenay-react2`; the new manager remains a common2 resource-planning layer, while React hooks can keep wrapping concrete stores/remotes.
|
|
12
|
-
- Changed: Applied a breaking `wenay-react2` naming cleanup across public exports, internal imports, docs, and source filenames; added `doc/WENAY_REACT2_RENAMES.md`.
|
|
13
|
-
- Reason: Remove old compatibility aliases and make the package surface concise (`kit`, `memoryCache`, `FloatingWindow`, `ParamsEditor`, `Menu`, `AgGridTable`, `applyGridRows`).
|
|
1
|
+
# v1.0.35
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-08
|
|
4
|
+
|
|
5
|
+
- Changed: Migrated this repository to the published `wenay-common2@1.0.62` naming surface (`Observe`, `listen`, `Replay.replayListen`, `promiseProgress`) and updated matching React docs/tests.
|
|
6
|
+
- Changed: Made `README.md` a documentation index only and added the project rule file plus `doc/changes/` catalog.
|
|
7
|
+
- Reason: Keep the repository aligned with the breaking rename publication and make future AI edits record version-scoped changes consistently.
|
|
8
|
+
- Verification: `npm run build`; `npm run testjest -- --runInBand`.
|
|
9
|
+
- Changed: Updated `wenay-common2` from `1.0.62` to `1.0.64` and refreshed the pulled `doc/wenay-common2*.md` / `doc/NAMING_RENAMES.md` files from the npm package.
|
|
10
|
+
- Reason: `wenay-common2@1.0.63` adds `Observe.createStoreManager` / `Observe.managedStore` for declarative mirror/replay/offline startup; `1.0.64` packages documentation and recent-change notes into npm.
|
|
11
|
+
- React impact: no required hook migration in `wenay-react2`; the new manager remains a common2 resource-planning layer, while React hooks can keep wrapping concrete stores/remotes.
|
|
12
|
+
- Changed: Applied a breaking `wenay-react2` naming cleanup across public exports, internal imports, docs, and source filenames; added `doc/WENAY_REACT2_RENAMES.md`.
|
|
13
|
+
- Reason: Remove old compatibility aliases and make the package surface concise (`kit`, `memoryCache`, `FloatingWindow`, `ParamsEditor`, `Menu`, `AgGridTable`, `applyGridRows`).
|
|
14
14
|
- Verification: `npm run build`; `npm run testjest -- --runInBand`.
|
|
15
15
|
- Changed: Added a style/token audit, QA stand note, and cleanup inventory to doc/wenay-react2-rare.md; added project rules requiring rare-doc updates for style/theme/cleanup decisions.
|
|
16
16
|
- Changed: Updated the QA stand Vite middleware from the removed `ObserveAll2` name to the current `Observe` export from `wenay-common2`.
|
|
17
17
|
- Reason: Make style normalization and suspected-trash decisions explicit without deleting public exports blindly, and keep the stand runnable after the common2 rename publication.
|
|
18
18
|
- Verification: `npm run testReact -- --host 127.0.0.1 --port 3002` starts and `http://127.0.0.1:3002/` returns HTTP 200; `npm run build`; `npm run testjest -- --runInBand`.
|
|
19
|
-
- Changed: Refactored `contextMenu` around explicit `openAt` / `close` / `getState` controller methods while keeping the old `map` as a legacy Layer queue; updated QA/demo/logger callers to use `openAt`.
|
|
19
|
+
- Changed: Refactored `contextMenu` around explicit `openAt` / `close` / `getState` controller methods while keeping the old `map` as a legacy Layer queue; updated QA/demo/logger callers to use `openAt`.
|
|
20
20
|
- Changed: Made `DropdownMenu` trigger glyph/content, class names, and inline style slots configurable (`trigger`, `classNames`, `styles`) instead of hardcoding all right-menu visuals.
|
|
21
|
-
- Changed: Updated both `doc/wenay-react2.md` and `doc/wenay-react2-rare.md` to describe `contextMenu.openAt` as the primary right-click integration path and `contextMenu.map` as legacy.
|
|
22
|
-
- Reason: Make the right-click path more logical and reduce visual lock-in from the shared library while preserving current default behavior.
|
|
21
|
+
- Changed: Updated both `doc/wenay-react2.md` and `doc/wenay-react2-rare.md` to describe `contextMenu.openAt` as the primary right-click integration path and `contextMenu.map` as legacy.
|
|
22
|
+
- Reason: Make the right-click path more logical and reduce visual lock-in from the shared library while preserving current default behavior.
|
|
23
23
|
- Verification: `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
24
|
-
- Changed: Removed pulled `wenay-common2` docs from the README/project-rules canonical documentation list; `wenay-react2` docs now remain the only local docs that agents should update for this package.
|
|
25
|
-
- Reason: `wenay-common2` is an external dependency and its current docs should be read from the installed module/package; this repo should only record React-facing impact in `doc/wenay-react2.md` and `doc/wenay-react2-rare.md`.
|
|
24
|
+
- Changed: Removed pulled `wenay-common2` docs from the README/project-rules canonical documentation list; `wenay-react2` docs now remain the only local docs that agents should update for this package.
|
|
25
|
+
- Reason: `wenay-common2` is an external dependency and its current docs should be read from the installed module/package; this repo should only record React-facing impact in `doc/wenay-react2.md` and `doc/wenay-react2-rare.md`.
|
|
26
26
|
- Verification: documentation-only update.
|
package/doc/changes/v1.0.38.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# v1.0.38
|
|
2
|
-
|
|
3
|
-
Date: 2026-07-09
|
|
4
|
-
|
|
5
|
-
- Changed: Redesigned `SettingsDialog` from a flat section list into a searchable settings tree while preserving flat `{key, name, render}` sections.
|
|
6
|
-
- Changed: Extended `SettingsSection` with optional `children`, `parentKey`, `searchText`, and `keywords` for nested settings pages and content-aware search.
|
|
7
|
-
- Changed: Added SettingsDialog tree/search styles and widened the default `--dlg-nav-width` token to `220px` with the TypeScript token mirror updated.
|
|
8
|
-
- Changed: Updated the QA stand SettingsDialog card and public docs for tree structure, registry `parentKey`, and search behavior.
|
|
9
|
-
- Reason: Let client apps present larger settings surfaces in a JetBrains-style tree without moving hierarchy/search logic into each app.
|
|
10
|
-
- Verification: `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
11
|
-
- Changed: Extended `createToolbar` with focused API writes (`setOrder`, `show`, `setDensity`, `showSettings`, `showReset`), `sourceMode:"order"`, and a default-hidden reset pseudo-control (`resetItem`, `Bar reset`).
|
|
12
|
-
- Changed: Updated QA card 30 to use `createToolbar({source: columnState.api.listSource, sourceMode:"order"})` instead of a manual order bridge.
|
|
13
|
-
- Reason: Let table/grid layers own icon-menu order directly while toolbar membership, density, pseudo-controls, and extra non-source items stay local; give users a built-in reset-to-default control that starts hidden while Settings stays visible by default.
|
|
14
|
-
- Verification: `.\node_modules\.bin\tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
15
|
-
- Changed: Added runtime `columnState.api.setPresentGate(...)` and switched QA card 30 to stable grouped `columnDefs` plus a 3-letter vertical-dot mode button in the upper toolbar; removed the old lower menu from this demo.
|
|
1
|
+
# v1.0.38
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-09
|
|
4
|
+
|
|
5
|
+
- Changed: Redesigned `SettingsDialog` from a flat section list into a searchable settings tree while preserving flat `{key, name, render}` sections.
|
|
6
|
+
- Changed: Extended `SettingsSection` with optional `children`, `parentKey`, `searchText`, and `keywords` for nested settings pages and content-aware search.
|
|
7
|
+
- Changed: Added SettingsDialog tree/search styles and widened the default `--dlg-nav-width` token to `220px` with the TypeScript token mirror updated.
|
|
8
|
+
- Changed: Updated the QA stand SettingsDialog card and public docs for tree structure, registry `parentKey`, and search behavior.
|
|
9
|
+
- Reason: Let client apps present larger settings surfaces in a JetBrains-style tree without moving hierarchy/search logic into each app.
|
|
10
|
+
- Verification: `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
11
|
+
- Changed: Extended `createToolbar` with focused API writes (`setOrder`, `show`, `setDensity`, `showSettings`, `showReset`), `sourceMode:"order"`, and a default-hidden reset pseudo-control (`resetItem`, `Bar reset`).
|
|
12
|
+
- Changed: Updated QA card 30 to use `createToolbar({source: columnState.api.listSource, sourceMode:"order"})` instead of a manual order bridge.
|
|
13
|
+
- Reason: Let table/grid layers own icon-menu order directly while toolbar membership, density, pseudo-controls, and extra non-source items stay local; give users a built-in reset-to-default control that starts hidden while Settings stays visible by default.
|
|
14
|
+
- Verification: `.\node_modules\.bin\tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
15
|
+
- Changed: Added runtime `columnState.api.setPresentGate(...)` and switched QA card 30 to stable grouped `columnDefs` plus a 3-letter vertical-dot mode button in the upper toolbar; removed the old lower menu from this demo.
|
|
16
16
|
- Reason: Demonstrate the app-owned multi-state layer above MenuStrip without rebuilding the grid schema on each mode click: presentGate decides which leaf columns are available while persisted user visibility stays separate.
|
|
17
|
-
- Verification: `.\node_modules\.bin\tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
18
|
-
- Changed: Updated `wenay-common2` from `^1.0.64` to `^1.0.65` and recorded a target backlog item for React route hand-off hooks over `Replay.replayRouteSubscribe` / `Observe.syncStoreReplayRoute`.
|
|
19
|
-
- Reason: common2 1.0.65 adds replay route hand-off for relay/direct promotion; using it in this package needs an explicit React controller surface rather than changing existing replay hooks implicitly.
|
|
20
|
-
- Verification: `tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`.
|
|
21
|
-
- Changed: Added route hand-off React hooks: `useReplayRouteSubscribe`, `useStoreReplayRouteSync`, and `useStoreReplayRouteMirror`.
|
|
22
|
-
- Changed: Added unit coverage and QA card 26 with a canvas video route switch demo for relay/direct/failure fallback.
|
|
23
|
-
- Changed: Updated Replay docs with the explicit `switchRoute(...)` contract and the current no-`stale`/`lastTs()` limitation of common2 route handles.
|
|
24
|
-
- Reason: Let React consumers use `wenay-common2@1.0.65` replay route replacement without changing existing non-route hook semantics.
|
|
17
|
+
- Verification: `.\node_modules\.bin\tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`; QA stand `http://127.0.0.1:3002/` returns HTTP 200.
|
|
18
|
+
- Changed: Updated `wenay-common2` from `^1.0.64` to `^1.0.65` and recorded a target backlog item for React route hand-off hooks over `Replay.replayRouteSubscribe` / `Observe.syncStoreReplayRoute`.
|
|
19
|
+
- Reason: common2 1.0.65 adds replay route hand-off for relay/direct promotion; using it in this package needs an explicit React controller surface rather than changing existing replay hooks implicitly.
|
|
20
|
+
- Verification: `tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; `npm run testjest -- --runInBand`.
|
|
21
|
+
- Changed: Added route hand-off React hooks: `useReplayRouteSubscribe`, `useStoreReplayRouteSync`, and `useStoreReplayRouteMirror`.
|
|
22
|
+
- Changed: Added unit coverage and QA card 26 with a canvas video route switch demo for relay/direct/failure fallback.
|
|
23
|
+
- Changed: Updated Replay docs with the explicit `switchRoute(...)` contract and the current no-`stale`/`lastTs()` limitation of common2 route handles.
|
|
24
|
+
- Reason: Let React consumers use `wenay-common2@1.0.65` replay route replacement without changing existing non-route hook semantics.
|
|
25
25
|
- Verification: `npm run testjest -- --runInBand`; `tsc -p tsconfig.qa-check.json --noEmit`; `npm run build`; QA stand `http://127.0.0.1:3004/` returns HTTP 200.
|
|
26
26
|
- Changed: Added `doc/PROJECT_FUNCTIONALITY.md` and `doc/EXAMPLE_USAGE.md`, and linked both from `README.md` and `doc/PROJECT_RULES.md`.
|
|
27
27
|
- Reason: Separate project purpose/feature boundaries and example usage standards from the API cheat sheet, including guidance to prefer current controller primitives over legacy low-level stand examples.
|
|
@@ -32,17 +32,17 @@ Date: 2026-07-09
|
|
|
32
32
|
- Verification: `npx tsc -p tsconfig.qa-check.json --noEmit`; `git diff --check -- src/common/src/components/Settings/SettingsDialog.tsx src/common/src/utils/searchHistory.ts src/common/src/utils/index.ts src/common/src/grid/columnState/ColumnDots.tsx src/common/src/grid/columnState/CardList.tsx src/style/style.css`.
|
|
33
33
|
- Changed: Documented the hook/controller-first architecture rule for shared functionality and added a target audit for converting component-owned behavior into headless APIs where appropriate.
|
|
34
34
|
- Reason: Keep reusable behavior available to apps, visual components, and QA stand layers without copying component internals.
|
|
35
|
-
- Verification: Documentation-only scoped review; `git diff --check` on touched docs.
|
|
36
|
-
- Changed: Recorded the compatibility policy for old public APIs and added a backlog item for local menu/context-menu usage statistics.
|
|
37
|
-
- Reason: New hook/controller APIs should not break existing consumers, and risky menu migrations need usage signal before deprecation/removal.
|
|
38
|
-
- Verification: Documentation-only scoped review; git diff --check on touched docs.
|
|
39
|
-
- Changed: Refined compatibility guidance to allow explicit aggressive migrations while treating removed default styles as compatibility breaks unless a replacement class/token path is shipped.
|
|
40
|
-
- Changed: Added a style-system normalization target for default primitive styles and CSS variable contracts.
|
|
41
|
-
- Reason: API migrations can be explained in changelog, but broken default visuals make shared primitives hard to use and override safely.
|
|
42
|
-
- Verification: Documentation-only scoped review; git diff --check on touched docs.
|
|
43
|
-
- Changed: Added a persisted SettingsDialog tree/content width divider with mouse drag, keyboard arrows, and double-click/Enter reset to the default width.
|
|
44
|
-
- Changed: Tightened the SettingsDialog tree/search layout so the search row, dotted tree-cycle control, toggles, and rows use less horizontal and vertical space.
|
|
45
|
-
- Changed: Restored the card 29 `ColumnDots` / `CardList` default visual shape after CSS extraction: the primitive remains class-styleable, but the QA/default look matches the original compact track, dark dots, selected blue dot, and clean white cards.
|
|
46
|
-
- Changed: Added click-only FLIP movement animation to the card 30 horizontal toolbar menu when order or density changes elsewhere; the menu itself does not gain drag reorder behavior.
|
|
47
|
-
- Reason: Finish the settings usability pass without treating demo-only sketches as global style standards, and keep column-state demos visually usable while preserving the new CSS override contracts.
|
|
48
|
-
- Verification: `npx tsc -p tsconfig.qa-check.json --noEmit`; `npm run testjest -- --runInBand`; `git diff --check`; `npm run build`.
|
|
35
|
+
- Verification: Documentation-only scoped review; `git diff --check` on touched docs.
|
|
36
|
+
- Changed: Recorded the compatibility policy for old public APIs and added a backlog item for local menu/context-menu usage statistics.
|
|
37
|
+
- Reason: New hook/controller APIs should not break existing consumers, and risky menu migrations need usage signal before deprecation/removal.
|
|
38
|
+
- Verification: Documentation-only scoped review; git diff --check on touched docs.
|
|
39
|
+
- Changed: Refined compatibility guidance to allow explicit aggressive migrations while treating removed default styles as compatibility breaks unless a replacement class/token path is shipped.
|
|
40
|
+
- Changed: Added a style-system normalization target for default primitive styles and CSS variable contracts.
|
|
41
|
+
- Reason: API migrations can be explained in changelog, but broken default visuals make shared primitives hard to use and override safely.
|
|
42
|
+
- Verification: Documentation-only scoped review; git diff --check on touched docs.
|
|
43
|
+
- Changed: Added a persisted SettingsDialog tree/content width divider with mouse drag, keyboard arrows, and double-click/Enter reset to the default width.
|
|
44
|
+
- Changed: Tightened the SettingsDialog tree/search layout so the search row, dotted tree-cycle control, toggles, and rows use less horizontal and vertical space.
|
|
45
|
+
- Changed: Restored the card 29 `ColumnDots` / `CardList` default visual shape after CSS extraction: the primitive remains class-styleable, but the QA/default look matches the original compact track, dark dots, selected blue dot, and clean white cards.
|
|
46
|
+
- Changed: Added click-only FLIP movement animation to the card 30 horizontal toolbar menu when order or density changes elsewhere; the menu itself does not gain drag reorder behavior.
|
|
47
|
+
- Reason: Finish the settings usability pass without treating demo-only sketches as global style standards, and keep column-state demos visually usable while preserving the new CSS override contracts.
|
|
48
|
+
- Verification: `npx tsc -p tsconfig.qa-check.json --noEmit`; `npm run testjest -- --runInBand`; `git diff --check`; `npm run build`.
|
package/doc/changes/v1.0.39.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# v1.0.39
|
|
2
|
-
|
|
3
|
-
Date: 2026-07-09
|
|
4
|
-
|
|
5
|
-
- Changed: Added local in-memory `contextMenu.stats` diagnostics with `getSnapshot()`, `reset()`, and `onChange(cb)`.
|
|
6
|
-
- Changed: Counted direct `openAt`, `openAtPoint`, legacy Layer queued opens, empty opens, close/replace, and source/layer usage without storing menu labels.
|
|
7
|
-
- Changed: Added explicit `MenuItemStrict.actionKey` and action-level `contextMenu.stats` counters: aggregate `actionTotals` plus keyed `actions[actionKey]` for click/ok/error/task/submenu/func/focus outcomes.
|
|
8
|
-
- Changed: Added focused tests for direct stats, reset/onChange, the legacy `contextMenu.map` Layer path, keyed actions, unkeyed action totals, and keyed submenu stats.
|
|
1
|
+
# v1.0.39
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-09
|
|
4
|
+
|
|
5
|
+
- Changed: Added local in-memory `contextMenu.stats` diagnostics with `getSnapshot()`, `reset()`, and `onChange(cb)`.
|
|
6
|
+
- Changed: Counted direct `openAt`, `openAtPoint`, legacy Layer queued opens, empty opens, close/replace, and source/layer usage without storing menu labels.
|
|
7
|
+
- Changed: Added explicit `MenuItemStrict.actionKey` and action-level `contextMenu.stats` counters: aggregate `actionTotals` plus keyed `actions[actionKey]` for click/ok/error/task/submenu/func/focus outcomes.
|
|
8
|
+
- Changed: Added focused tests for direct stats, reset/onChange, the legacy `contextMenu.map` Layer path, keyed actions, unkeyed action totals, and keyed submenu stats.
|
|
9
9
|
- Changed: Clarified the columnState menu guidance: `createToolbar({source: cs.api.listSource})` is the richer Settings-integrated surface; `ColumnsMenu` remains the compact presentation menu.
|
|
10
10
|
- Changed: Extracted card 27 `BoardDemo` stand-only inline styles into local style helpers without changing `useReorderBoard` behavior.
|
|
11
11
|
- Changed: Recorded the style-system default contract inventory and corrected the style source-of-truth paths for the next token migration.
|
|
@@ -14,22 +14,22 @@ Date: 2026-07-09
|
|
|
14
14
|
- Changed: Added headless `useTextInputPanel` and `useFileInputPanel` hooks while keeping the old input panel/modal components as compatible visual wrappers.
|
|
15
15
|
- Changed: Increased `ColumnDots` default max visible dots from 4 to 8 and updated QA card 29 to show 8 fields with the dots control overlaid on the bottom card.
|
|
16
16
|
- Changed: Split `MiniLogs` into hook/controller-first layers: `useMiniLogsTable`, `MiniLogsView`, `MiniLogsTable`, with `MiniLogs` kept as the compatibility wrapper.
|
|
17
|
-
- Changed: Added MiniLogs hook tests and updated QA card 9 plus usage docs for the compact log table flow.
|
|
18
|
-
- Changed: Added `useRightMenuController` as the hook/controller layer behind `DropdownMenu`; kept `DropdownMenu` and `createRightMenuController().Render` compatible.
|
|
19
|
-
- Changed: Added RightMenu tests for mounted controller rerender, direct hook state, hover submenu, and fixed toggle compatibility.
|
|
20
|
-
- Changed: Added `useParamsEditorController` as the first controller layer for `ParamsEditor` draft clone, immediate/delayed notify, expand callback, and timer cleanup.
|
|
21
|
-
- Changed: Added ParamsEditor controller tests for clone isolation, delayed notify cleanup, and current expand callbacks.
|
|
22
|
-
- Changed: Moved context logger `LogsTable` from raw `AgGridReact` to shared `AgGridTable` defaults and added `logs.copyCell` action stats key to `PageLogs` copy menu.
|
|
23
|
-
- Changed: Added headless `createLogsController` / `createLogsControllerState` for log append, limits, latest rows, settings, and update emitters while keeping `getLogsApi` as the compatibility entrypoint.
|
|
24
|
-
- Changed: Added Logs controller tests for append order, `num`, mini/per-id limits, fresh latest, and settings emitters.
|
|
25
|
-
- Changed: Added `useSettingsDialogController` as the first controller layer for `SettingsDialog` open/search/history/tree-cycle/nav-resize/Escape actions while keeping the visual wrapper compatible.
|
|
26
|
-
- Changed: Added a SettingsDialog controller test for headless open/search/current-section/tree-cycle state.
|
|
27
|
-
- Changed: Added context logger hooks `useLogsTableController` and `useLogsNotificationsController` while keeping `LogsTable` and `LogsNotifications` as visual wrappers.
|
|
17
|
+
- Changed: Added MiniLogs hook tests and updated QA card 9 plus usage docs for the compact log table flow.
|
|
18
|
+
- Changed: Added `useRightMenuController` as the hook/controller layer behind `DropdownMenu`; kept `DropdownMenu` and `createRightMenuController().Render` compatible.
|
|
19
|
+
- Changed: Added RightMenu tests for mounted controller rerender, direct hook state, hover submenu, and fixed toggle compatibility.
|
|
20
|
+
- Changed: Added `useParamsEditorController` as the first controller layer for `ParamsEditor` draft clone, immediate/delayed notify, expand callback, and timer cleanup.
|
|
21
|
+
- Changed: Added ParamsEditor controller tests for clone isolation, delayed notify cleanup, and current expand callbacks.
|
|
22
|
+
- Changed: Moved context logger `LogsTable` from raw `AgGridReact` to shared `AgGridTable` defaults and added `logs.copyCell` action stats key to `PageLogs` copy menu.
|
|
23
|
+
- Changed: Added headless `createLogsController` / `createLogsControllerState` for log append, limits, latest rows, settings, and update emitters while keeping `getLogsApi` as the compatibility entrypoint.
|
|
24
|
+
- Changed: Added Logs controller tests for append order, `num`, mini/per-id limits, fresh latest, and settings emitters.
|
|
25
|
+
- Changed: Added `useSettingsDialogController` as the first controller layer for `SettingsDialog` open/search/history/tree-cycle/nav-resize/Escape actions while keeping the visual wrapper compatible.
|
|
26
|
+
- Changed: Added a SettingsDialog controller test for headless open/search/current-section/tree-cycle state.
|
|
27
|
+
- Changed: Added context logger hooks `useLogsTableController` and `useLogsNotificationsController` while keeping `LogsTable` and `LogsNotifications` as visual wrappers.
|
|
28
28
|
- Changed: Added context logger hook tests for table rows/defaults/filter state and notification gate/show state.
|
|
29
|
-
- Changed: Added `useFloatingWindowController` plus public geometry/controller types as the first controller layer for `FloatingWindow` saved geometry, z-index stack, drag state, resize callbacks, and viewport clamp.
|
|
30
|
-
- Changed: Kept `FloatingWindowBase` as a compatibility visual wrapper over the same `Rnd` DOM/classes/gesture behavior; `DragBox` and `FResizableReact` were not rewritten.
|
|
29
|
+
- Changed: Added `useFloatingWindowController` plus public geometry/controller types as the first controller layer for `FloatingWindow` saved geometry, z-index stack, drag state, resize callbacks, and viewport clamp.
|
|
30
|
+
- Changed: Kept `FloatingWindowBase` as a compatibility visual wrapper over the same `Rnd` DOM/classes/gesture behavior; `DragBox` and `FResizableReact` were not rewritten.
|
|
31
31
|
- Changed: Added FloatingWindow controller tests for saved geometry restore, resize-stop commit, drag clamp/persistence touch, and live resize `onUpdate` forwarding.
|
|
32
32
|
- Changed: Updated QA card 25 toolbar subscription to use `useListenEffect(tb.api.onChange, ...)` instead of a manual `useEffect(() => listen.on(...))` cleanup.
|
|
33
|
-
- Fixed: `SettingsDialog` search history now closes when focus leaves the search box; added a regression test.
|
|
34
|
-
- Reason: Start the menu compatibility/statistics target with a safe diagnostics layer while keeping old public context-menu paths working.
|
|
33
|
+
- Fixed: `SettingsDialog` search history now closes when focus leaves the search box; added a regression test.
|
|
34
|
+
- Reason: Start the menu compatibility/statistics target with a safe diagnostics layer while keeping old public context-menu paths working.
|
|
35
35
|
- Verification: `npx tsc -p tsconfig.qa-check.json --noEmit`; `npm run testjest -- --runInBand logsController.test.ts miniLogs.test.tsx`; `npm run testjest -- --runInBand logsContextControllers.test.tsx`; `npm run testjest -- --runInBand contextMenuStats.test.tsx`; `npm run testjest -- --runInBand createRightMenuController.test.tsx`; `npm run testjest -- --runInBand paramsEditorController.test.tsx`; `npm run testjest -- --runInBand floatingWindowController.test.tsx`; `npm run testjest -- --runInBand createToolbar.test.ts`; `npm run testjest -- --runInBand __test/inputPanelHooks.test.tsx`; `npm run testjest -- --runInBand __test/settingsDialog.test.tsx`; `npm run testjest -- --runInBand`; `npm run build`; `git diff --check`.
|