json-renderers-build 1.7.1 → 1.9.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.
- package/README.md +8 -4
- package/docs/dist/min.js +541 -266
- package/docs/dist/v4/min.js +320 -320
- package/docs/dist/v5/min.js +312 -312
- package/docs/dist/v7/min.js +272 -0
- package/docs/dist/v8/min.js +268 -0
- package/docs/dist/v9/min.js +587 -0
- package/docs/index.html +2 -2
- package/package.json +1 -1
- package/src/index.js +2 -2
- package/src/v7/index.js +47 -47
- package/src/v7/select/index.js +20 -20
- package/src/v7/select/options/index.js +17 -17
- package/src/v7/select/options/skeleton.json +17 -17
- package/src/v7/table/body/cells/index.js +23 -23
- package/src/v7/table/body/cells/skeleton.json +17 -17
- package/src/v7/table/body/index.js +15 -15
- package/src/v7/table/body/rows/index.js +36 -36
- package/src/v7/table/body/rows/skeleton.json +4 -4
- package/src/v7/table/body/skeleton.json +4 -4
- package/src/v7/table/head/cells/index.js +23 -23
- package/src/v7/table/head/cells/skeleton.json +17 -17
- package/src/v7/table/head/index.js +15 -15
- package/src/v7/table/head/row/index.js +15 -15
- package/src/v7/table/head/row/skeleton.json +4 -4
- package/src/v7/table/head/skeleton.json +4 -4
- package/src/v7/table/index.js +26 -26
- package/src/v7/table/skeleton.json +6 -6
- package/src/v8/common/deriveColumnsFromData.js +20 -0
- package/src/v8/index.js +40 -0
- package/src/v8/meta.js +6 -0
- package/src/v8/registerGlobal.js +14 -0
- package/src/v8/select/index.js +21 -0
- package/src/v8/select/options/index.js +17 -0
- package/src/v8/select/options/skeleton.json +17 -0
- package/src/v8/select/skeleton.json +7 -0
- package/src/v8/table/body/cells/index.js +17 -0
- package/src/v8/table/body/cells/skeleton.json +17 -0
- package/src/v8/table/body/index.js +20 -0
- package/src/v8/table/body/rows/index.js +23 -0
- package/src/v8/table/body/rows/skeleton.json +4 -0
- package/src/v8/table/body/skeleton.json +4 -0
- package/src/v8/table/head/cells/index.js +17 -0
- package/src/v8/table/head/cells/skeleton.json +17 -0
- package/src/v8/table/head/index.js +15 -0
- package/src/v8/table/head/row/index.js +15 -0
- package/src/v8/table/head/row/skeleton.json +4 -0
- package/src/v8/table/head/skeleton.json +4 -0
- package/src/v8/table/index.js +26 -0
- package/src/v8/table/skeleton.json +7 -0
- package/src/v9/common/deriveColumnsFromData.js +20 -0
- package/src/v9/index.js +36 -0
- package/src/v9/meta.js +6 -0
- package/src/v9/registerGlobal.js +14 -0
- package/src/v9/select/index.js +21 -0
- package/src/v9/select/options/index.js +17 -0
- package/src/v9/select/options/skeleton.json +17 -0
- package/src/v9/select/skeleton.json +7 -0
- package/src/v9/table/footer/empty/cell/index.js +5 -0
- package/src/v9/table/footer/empty/cell/tag.json +6 -0
- package/src/v9/table/footer/empty/index.js +6 -0
- package/src/v9/table/footer/empty/row/index.js +10 -0
- package/src/v9/table/footer/empty/row/tag.json +7 -0
- package/src/v9/table/footer/index.js +28 -0
- package/src/v9/table/footer/inputs/cell/index.js +15 -0
- package/src/v9/table/footer/inputs/cell/tag.json +7 -0
- package/src/v9/table/footer/inputs/index.js +6 -0
- package/src/v9/table/footer/inputs/input/tag.json +9 -0
- package/src/v9/table/footer/inputs/row/index.js +10 -0
- package/src/v9/table/footer/inputs/row/tag.json +7 -0
- package/src/v9/table/footer/inputsWithSave/button/tag.json +8 -0
- package/src/v9/table/footer/inputsWithSave/cell/index.js +20 -0
- package/src/v9/table/footer/inputsWithSave/cell/tag.json +7 -0
- package/src/v9/table/footer/inputsWithSave/index.js +6 -0
- package/src/v9/table/footer/inputsWithSave/input/tag.json +9 -0
- package/src/v9/table/footer/inputsWithSave/row/index.js +13 -0
- package/src/v9/table/footer/inputsWithSave/row/tag.json +7 -0
- package/src/v9/table/footer/tag.json +7 -0
- package/src/v9/table/footer/totals/cell/index.js +21 -0
- package/src/v9/table/footer/totals/cell/tag.json +7 -0
- package/src/v9/table/footer/totals/index.js +6 -0
- package/src/v9/table/footer/totals/row/index.js +12 -0
- package/src/v9/table/footer/totals/row/tag.json +7 -0
- package/src/v9/table/index.js +33 -0
- package/src/v9/table/options/index.js +18 -0
- package/src/v9/table/options/showOptions/index.js +39 -0
- package/src/v9/table/options/showSerial/index.js +19 -0
- package/src/v9/table/render-requests.json +107 -0
- package/src/v9/table/table/body/cell/index.js +12 -0
- package/src/v9/table/table/body/cell/tag.json +7 -0
- package/src/v9/table/table/body/index.js +17 -0
- package/src/v9/table/table/body/row/index.js +18 -0
- package/src/v9/table/table/body/row/tag.json +4 -0
- package/src/v9/table/table/body/tag.json +4 -0
- package/src/v9/table/table/head/cell/index.js +12 -0
- package/src/v9/table/table/head/cell/tag.json +7 -0
- package/src/v9/table/table/head/index.js +16 -0
- package/src/v9/table/table/head/row/index.js +14 -0
- package/src/v9/table/table/head/row/tag.json +4 -0
- package/src/v9/table/table/head/tag.json +4 -0
- package/src/v9/table/table/index.js +36 -0
- package/src/v9/table/table/tag.json +7 -0
- package/src/v9/table_10oct/body/cells/index.js +17 -0
- package/src/v9/table_10oct/body/cells/skeleton.json +17 -0
- package/src/v9/table_10oct/body/index.js +20 -0
- package/src/v9/table_10oct/body/rows/index.js +23 -0
- package/src/v9/table_10oct/body/rows/skeleton.json +4 -0
- package/src/v9/table_10oct/body/skeleton.json +4 -0
- package/src/v9/table_10oct/head/cells/index.js +17 -0
- package/src/v9/table_10oct/head/cells/skeleton.json +17 -0
- package/src/v9/table_10oct/head/index.js +15 -0
- package/src/v9/table_10oct/head/row/index.js +15 -0
- package/src/v9/table_10oct/head/row/skeleton.json +4 -0
- package/src/v9/table_10oct/head/skeleton.json +4 -0
- package/src/v9/table_10oct/index.js +26 -0
- package/src/v9/table_10oct/skeleton.json +7 -0
package/README.md
CHANGED
|
@@ -11,13 +11,16 @@
|
|
|
11
11
|
|
|
12
12
|
## The Story of `json-renderers-build`
|
|
13
13
|
|
|
14
|
-
In the **KeshavSoft Declarative UI Ecosystem**, rendering is split
|
|
14
|
+
In the **KeshavSoft Declarative UI Ecosystem**, rendering is split into a few clear responsibilities:
|
|
15
15
|
|
|
16
|
-
1. **
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
1. **Data shaping (upstream, optional):** `@keshavsoft/json-transformer` or similar logic prepares business JSON into a stable shape.
|
|
17
|
+
2. **Specification Compilation (THIS REPO — `json-renderers-build`)**
|
|
18
|
+
Transforms data, field arrays, and UI blueprints (`skeleton.json`) into an abstract, deterministic DOM specification tree (`specAsJsonToDom`).
|
|
19
|
+
3. **DOM Instantiation & Mounting (Downstream — `@keshavsoft/json-to-tag` + `json-renderers`)**
|
|
19
20
|
Consumes that compiled specification tree and constructs real browser DOM nodes (`HTMLElement`), mounting them into target HTML containers.
|
|
20
21
|
|
|
22
|
+
This repo does not create live browser DOM by itself. Its output is a headless JSON spec, not a rendered page. The actual DOM hook happens in `@keshavsoft/json-to-tag`, and the runtime layer simply mounts the resulting browser nodes.
|
|
23
|
+
|
|
21
24
|
```
|
|
22
25
|
┌────────────────────────────────────────────────────────────────────────┐
|
|
23
26
|
│ 1. Raw Business Data & Columns │
|
|
@@ -47,6 +50,7 @@ In the **KeshavSoft Declarative UI Ecosystem**, rendering is split cleanly into
|
|
|
47
50
|
- **Pure Functional Pipeline:** Given the same data and columns, it returns the exact same specification AST every time. No DOM dependencies or mock DOMs (`jsdom`) required for unit testing.
|
|
48
51
|
- **Blueprint Separation:** Component skeletons (`skeleton.json`) and transformation rules can evolve independently from DOM lifecycle and styling concerns.
|
|
49
52
|
- **Core Engine for `json-renderers`:** Downstream library `json-renderers` relies on `json-renderers-build` to generate its AST before mounting.
|
|
53
|
+
- **Important boundary:** This repo prepares the UI description; the actual DOM creation still happens in `@keshavsoft/json-to-tag`, while `json-renderers` performs the mounting step into the browser container.
|
|
50
54
|
|
|
51
55
|
---
|
|
52
56
|
|