wenay-react2 1.0.39 → 1.0.41

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 (54) hide show
  1. package/doc/EXAMPLE_USAGE.md +915 -0
  2. package/doc/PROJECT_FUNCTIONALITY.md +401 -0
  3. package/doc/PROJECT_RULES.md +80 -0
  4. package/doc/WENAY_REACT2_RENAMES.md +177 -0
  5. package/doc/changes/v1.0.35.md +26 -0
  6. package/doc/changes/v1.0.37.md +13 -0
  7. package/doc/changes/v1.0.38.md +48 -0
  8. package/doc/changes/v1.0.39.md +35 -0
  9. package/doc/changes/v1.0.40.md +15 -0
  10. package/doc/changes/v1.0.41.md +13 -0
  11. package/doc/progress/README.md +14 -0
  12. package/doc/progress/hook-controller-opportunities.md +367 -0
  13. package/doc/progress/hook-extraction-audit.md +195 -0
  14. package/doc/progress/public-surface-normalization.md +368 -0
  15. package/doc/progress/style-system-normalization.md +121 -0
  16. package/doc/target/README.md +33 -0
  17. package/doc/target/my.md +109 -0
  18. package/doc/wenay-react2-1.0.8.tgz +0 -0
  19. package/doc/wenay-react2-rare.md +702 -0
  20. package/doc/wenay-react2.md +475 -0
  21. package/lib/common/src/components/Dnd/FloatingWindow.d.ts +29 -12
  22. package/lib/common/src/components/Dnd/FloatingWindow.js +100 -91
  23. package/lib/common/src/components/Menu/RightMenu.d.ts +28 -1
  24. package/lib/common/src/components/Menu/RightMenu.js +62 -35
  25. package/lib/common/src/components/Modal/LeftModal.js +5 -4
  26. package/lib/common/src/components/Modal/Modal.js +8 -7
  27. package/lib/common/src/components/ParamsEditor.d.ts +15 -0
  28. package/lib/common/src/components/ParamsEditor.js +45 -18
  29. package/lib/common/src/components/Settings/SettingsDialog.d.ts +68 -6
  30. package/lib/common/src/components/Settings/SettingsDialog.js +61 -12
  31. package/lib/common/src/components/Toolbar/Toolbar.js +64 -19
  32. package/lib/common/src/components/UiSlot/UiSlot.js +5 -4
  33. package/lib/common/src/grid/columnState/columnState.js +8 -6
  34. package/lib/common/src/hooks/useKeyboard.js +4 -3
  35. package/lib/common/src/logs/logs.d.ts +40 -133
  36. package/lib/common/src/logs/logs.js +96 -66
  37. package/lib/common/src/logs/logsContext.d.ts +26 -0
  38. package/lib/common/src/logs/logsContext.js +25 -20
  39. package/lib/common/src/logs/logsController.d.ts +88 -0
  40. package/lib/common/src/logs/logsController.js +54 -0
  41. package/lib/common/src/logs/miniLogs.d.ts +69 -3
  42. package/lib/common/src/logs/miniLogs.js +70 -15
  43. package/lib/common/src/menu/menu.d.ts +15 -3
  44. package/lib/common/src/menu/menu.js +81 -17
  45. package/lib/common/src/menu/menuMouse.d.ts +18 -0
  46. package/lib/common/src/menu/menuMouse.js +43 -1
  47. package/lib/common/src/styles/tokens.d.ts +7 -6
  48. package/lib/common/src/styles/tokens.js +8 -5
  49. package/lib/common/src/utils/memoryStore.d.ts +1 -10
  50. package/lib/common/src/utils/searchHistory.js +4 -3
  51. package/lib/style/menuRight.css +29 -23
  52. package/lib/style/style.css +15 -9
  53. package/lib/style/tokens.css +8 -4
  54. package/package.json +50 -49
@@ -12,17 +12,20 @@ export const tokens = {
12
12
  borderCommon: 'rgb(50, 62, 71)',
13
13
  },
14
14
  menu: {
15
- bgColor: 'rgba(12, 12, 12, 0.91)',
16
- blur: '10px',
15
+ bgColor: '#0c0c0c',
16
+ blur: '0px',
17
17
  border: '1px solid rgba(255, 255, 255, 0.41)',
18
- activeBackground: 'rgba(255, 255, 255, 0.23)',
18
+ activeBackground: '#262626',
19
19
  itemColor: '#fff',
20
+ itemActiveBgColor: '#262626',
21
+ itemActiveColor: '#fff',
20
22
  itemHoverColor: '#101010',
21
23
  itemHoverBgColor: '#fff',
24
+ itemPressedColor: '#101010',
25
+ itemPressedBgColor: '#f2c94c',
22
26
  outlineColor: '#007bff',
23
27
  shadow: '0 0 20px 14px rgba(34, 60, 80, 0.2)',
24
- },
25
- /** FloatingWindow window chrome (--wnd-*). Defaults = legacy look; apps re-skin via :root[data-theme].
28
+ }, /** FloatingWindow window chrome (--wnd-*). Defaults = legacy look; apps re-skin via :root[data-theme].
26
29
  * --wnd-header-height/color/font-size/letter-spacing/transform are intentionally undeclared
27
30
  * (inherit/auto) until a theme sets them. */
28
31
  wnd: {
@@ -27,16 +27,7 @@ export declare const memoryCache: {
27
27
  getArr: [k: string, v: Map<string, unknown>][];
28
28
  };
29
29
  export declare const memoryMaps: {
30
- rnd: ObservableMap<string, {
31
- position: {
32
- x: number;
33
- y: number;
34
- };
35
- size: {
36
- height: number | string;
37
- width: number | string;
38
- };
39
- }>;
30
+ rnd: ObservableMap<string, import("../components/Dnd/FloatingWindow").FloatingWindowSavedGeometry>;
40
31
  resize: ObservableMap<string, {
41
32
  height?: number | string;
42
33
  width?: number | string;
@@ -1,4 +1,4 @@
1
- import { renderBy, updateBy } from "../../updateBy";
1
+ import { createUpdateApi } from "../../updateBy";
2
2
  import { memoryGetOrCreate, memoryMarkDirty } from "./memoryStore";
3
3
  function normalizeSearchHistoryItem(value) {
4
4
  return value.replace(/\s+/g, " ").trim();
@@ -6,6 +6,7 @@ function normalizeSearchHistoryItem(value) {
6
6
  export function createSearchHistory(opts) {
7
7
  const max = Math.max(1, opts.max ?? 8);
8
8
  const st = memoryGetOrCreate(opts.key, { items: [] });
9
+ const stApi = createUpdateApi(st);
9
10
  function normalize() {
10
11
  const seen = new Set();
11
12
  st.items = st.items
@@ -23,7 +24,7 @@ export function createSearchHistory(opts) {
23
24
  }
24
25
  function emit() {
25
26
  normalize();
26
- renderBy(st);
27
+ stApi.render();
27
28
  memoryMarkDirty(opts.key);
28
29
  }
29
30
  return {
@@ -31,7 +32,7 @@ export function createSearchHistory(opts) {
31
32
  return normalize().slice();
32
33
  },
33
34
  use() {
34
- updateBy(st);
35
+ stApi.use();
35
36
  return normalize().slice();
36
37
  },
37
38
  add(value) {
@@ -7,12 +7,12 @@
7
7
  right: 0;
8
8
  }
9
9
  .menu-container.activeM {
10
- background: var(--menu-active-background);
10
+ background: var(--menu-active-background, var(--menu-item-active-bg-color, #262626));
11
11
  }
12
12
 
13
13
  .menu-button {
14
14
  padding: 4px 10px;
15
- color: var(--menu-item-color);
15
+ color: var(--menu-item-color, #fff);
16
16
  font-size: 28px;
17
17
  border: none;
18
18
  background: transparent;
@@ -33,38 +33,44 @@
33
33
 
34
34
 
35
35
  .dropdown-content {
36
- background: var(--menu-bg-color);
37
- border-top: var(--menu-border);
38
- border-left: var(--menu-border);
39
- border-right: var(--menu-border);
36
+ background: var(--menu-bg-color, #0c0c0c);
37
+ border-top: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
38
+ border-left: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
39
+ border-right: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
40
40
  user-select: none;
41
41
  min-width: 50px;
42
42
  height: min-content;
43
43
  width: max-content;
44
44
  }
45
45
 
46
- .menu-item {
47
- min-height: 30px;
48
- padding: 10px;
49
- position: relative;
50
- cursor: pointer;
51
- border-bottom: var(--menu-border);
52
- transition: background 0.3s;
53
- }
54
-
55
- .menu-item:hover,
56
- .menu-item.force-hover {
57
- background: var(--menu-item-hover-bg-color);
58
- color: var(--menu-item-hover-color);
46
+ .menu-item {
47
+ min-height: 30px;
48
+ padding: 10px;
49
+ position: relative;
50
+ cursor: pointer;
51
+ color: var(--menu-item-color, #fff);
52
+ border-bottom: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
53
+ transition: background 0.3s, color 0.3s;
54
+ }
55
+
56
+ .menu-item:hover,
57
+ .menu-item.force-hover {
58
+ background: var(--menu-item-hover-bg-color, #fff);
59
+ color: var(--menu-item-hover-color, #101010);
60
+ }
61
+
62
+ .menu-item:active {
63
+ background: var(--menu-item-pressed-bg-color, #f2c94c);
64
+ color: var(--menu-item-pressed-color, #101010);
59
65
  }
60
66
 
61
67
  .submenu {
62
- background: var(--menu-bg-color);
68
+ background: var(--menu-bg-color, #0c0c0c);
63
69
 
64
- backdrop-filter: blur(var(--menu-blur)); /* Blur */
65
- -webkit-backdrop-filter: blur(var(--menu-blur)); /* For Safari */
70
+ backdrop-filter: blur(var(--menu-blur, 0px)); /* Blur */
71
+ -webkit-backdrop-filter: blur(var(--menu-blur, 0px)); /* For Safari */
66
72
 
67
- border: var(--menu-border);
73
+ border: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
68
74
  min-width: 200px;
69
75
  }
70
76
  .draggable-div {
@@ -136,11 +136,11 @@ input:invalid {
136
136
 
137
137
  /* Menu */
138
138
  .MenuR {
139
- box-shadow: var(--menu-shadow);
139
+ box-shadow: var(--menu-shadow, 0 0 20px 14px rgba(34, 60, 80, 0.2));
140
140
  margin-top: 4px;
141
141
  min-width: 80px;
142
142
  width: max-content;
143
- background: var(--menu-bg-color);
143
+ background: var(--menu-bg-color, #0c0c0c);
144
144
  }
145
145
 
146
146
  .maxSize {
@@ -197,18 +197,24 @@ input:invalid {
197
197
  menu-specific colors through the shared --menu-* token contract. */
198
198
  .MenuR.toButton,
199
199
  .MenuR.toButtonA {
200
- color: var(--menu-item-color);
201
- border-bottom: var(--menu-border);
200
+ color: var(--menu-item-color, #fff);
201
+ border-bottom: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
202
202
  }
203
203
  .MenuR.toButtonA {
204
- background: var(--menu-active-background);
204
+ background: var(--menu-active-background, var(--menu-item-active-bg-color, #262626));
205
+ color: var(--menu-item-active-color, var(--menu-item-color, #fff));
205
206
  }
206
207
  .MenuR.toButton:hover,
207
- .MenuR.toButton:active,
208
208
  .MenuR.toButtonA:hover {
209
- background: var(--menu-item-hover-bg-color);
210
- color: var(--menu-item-hover-color);
211
- border-bottom: var(--menu-border);
209
+ background: var(--menu-item-hover-bg-color, #fff);
210
+ color: var(--menu-item-hover-color, #101010);
211
+ border-bottom: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
212
+ }
213
+ .MenuR.toButton:active,
214
+ .MenuR.toButtonA:active {
215
+ background: var(--menu-item-pressed-bg-color, #f2c94c);
216
+ color: var(--menu-item-pressed-color, #101010);
217
+ border-bottom: var(--menu-border, 1px solid rgba(255, 255, 255, 0.41));
212
218
  }
213
219
 
214
220
  /* Menu indicator elements */
@@ -21,13 +21,17 @@
21
21
  --base-color-hover: #fff;
22
22
 
23
23
  /* Menu */
24
- --menu-bg-color: rgba(12, 12, 12, 0.91);
25
- --menu-blur: 10px;
24
+ --menu-bg-color: #0c0c0c;
25
+ --menu-blur: 0px;
26
26
  --menu-border: var(--base-border);
27
- --menu-active-background: rgba(255, 255, 255, 0.23);
28
27
  --menu-item-color: var(--base-color-hover);
28
+ --menu-item-active-bg-color: #262626;
29
+ --menu-item-active-color: var(--base-color-hover);
30
+ --menu-active-background: var(--menu-item-active-bg-color);
29
31
  --menu-item-hover-color: #101010;
30
- --menu-item-hover-bg-color: var(--base-color-hover);
32
+ --menu-item-hover-bg-color: var(--base-color-hover);
33
+ --menu-item-pressed-color: #101010;
34
+ --menu-item-pressed-bg-color: #f2c94c;
31
35
  --menu-outline-color: #007bff;
32
36
 
33
37
  /* Menu shadow (was a literal in .MenuR) */
package/package.json CHANGED
@@ -1,49 +1,50 @@
1
- {
2
- "name": "wenay-react2",
3
- "version": "1.0.39",
4
- "description": "Common react",
5
- "strict": true,
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "files": [
9
- "lib/**/*",
10
- "!**/*.tsbuildinfo"
11
- ],
12
- "author": "wenay",
13
- "license": "ISC",
14
- "peerDependenciesMeta": {
15
- "react-dom": {
16
- "optional": true
17
- }
18
- },
19
- "dependencies": {
20
- "ag-grid-community": "^35.1.0",
21
- "ag-grid-react": "^35.1.0",
22
- "re-resizable": "^6.11.2",
23
- "react": "^19.2.0",
24
- "react-dom": "^19.2.0",
25
- "react-rnd": "^10.5.3",
26
- "wenay-common2": "^1.0.65"
27
- },
28
- "peerDependencies": {
29
- "react": "^19.2.0",
30
- "react-dom": "^19.2.0"
31
- },
32
- "engines": {
33
- "node": ">=18",
34
- "vscode": "^1.22.0"
35
- },
36
- "browserslist": {
37
- "production": [
38
- ">0.2%",
39
- "not dead"
40
- ],
41
- "development": [
42
- ">1%"
43
- ]
44
- },
45
- "exports": {
46
- ".": "./lib/index.js",
47
- "./package.json": "./package.json"
48
- }
49
- }
1
+ {
2
+ "name": "wenay-react2",
3
+ "version": "1.0.41",
4
+ "description": "Common react",
5
+ "strict": true,
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "lib/**/*",
10
+ "doc/**/*",
11
+ "!**/*.tsbuildinfo"
12
+ ],
13
+ "author": "wenay",
14
+ "license": "ISC",
15
+ "peerDependenciesMeta": {
16
+ "react-dom": {
17
+ "optional": true
18
+ }
19
+ },
20
+ "dependencies": {
21
+ "ag-grid-community": "^35.1.0",
22
+ "ag-grid-react": "^35.1.0",
23
+ "re-resizable": "^6.11.2",
24
+ "react": "^19.2.0",
25
+ "react-dom": "^19.2.0",
26
+ "react-rnd": "^10.5.3",
27
+ "wenay-common2": "^1.0.65"
28
+ },
29
+ "peerDependencies": {
30
+ "react": "^19.2.0",
31
+ "react-dom": "^19.2.0"
32
+ },
33
+ "engines": {
34
+ "node": ">=18",
35
+ "vscode": "^1.22.0"
36
+ },
37
+ "browserslist": {
38
+ "production": [
39
+ ">0.2%",
40
+ "not dead"
41
+ ],
42
+ "development": [
43
+ ">1%"
44
+ ]
45
+ },
46
+ "exports": {
47
+ ".": "./lib/index.js",
48
+ "./package.json": "./package.json"
49
+ }
50
+ }