json-renderers-build 1.6.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.
Files changed (120) hide show
  1. package/README.md +8 -4
  2. package/docs/dist/min.js +541 -266
  3. package/docs/dist/v4/min.js +320 -320
  4. package/docs/dist/v5/min.js +312 -312
  5. package/docs/dist/v7/min.js +272 -0
  6. package/docs/dist/v8/min.js +268 -0
  7. package/docs/dist/v9/min.js +587 -0
  8. package/docs/index.html +2 -2
  9. package/package.json +2 -2
  10. package/src/index.js +2 -2
  11. package/src/v7/common/deriveColumnsFromData.js +20 -0
  12. package/src/v7/index.js +47 -0
  13. package/src/v7/meta.js +6 -0
  14. package/src/v7/registerGlobal.js +14 -0
  15. package/src/v7/select/index.js +21 -0
  16. package/src/v7/select/options/index.js +17 -0
  17. package/src/v7/select/options/skeleton.json +17 -0
  18. package/src/v7/select/skeleton.json +7 -0
  19. package/src/v7/table/body/cells/index.js +23 -0
  20. package/src/v7/table/body/cells/skeleton.json +17 -0
  21. package/src/v7/table/body/index.js +15 -0
  22. package/src/v7/table/body/rows/index.js +36 -0
  23. package/src/v7/table/body/rows/skeleton.json +4 -0
  24. package/src/v7/table/body/skeleton.json +4 -0
  25. package/src/v7/table/head/cells/index.js +23 -0
  26. package/src/v7/table/head/cells/skeleton.json +17 -0
  27. package/src/v7/table/head/index.js +15 -0
  28. package/src/v7/table/head/row/index.js +15 -0
  29. package/src/v7/table/head/row/skeleton.json +4 -0
  30. package/src/v7/table/head/skeleton.json +4 -0
  31. package/src/v7/table/index.js +26 -0
  32. package/src/v7/table/skeleton.json +7 -0
  33. package/src/v8/common/deriveColumnsFromData.js +20 -0
  34. package/src/v8/index.js +40 -0
  35. package/src/v8/meta.js +6 -0
  36. package/src/v8/registerGlobal.js +14 -0
  37. package/src/v8/select/index.js +21 -0
  38. package/src/v8/select/options/index.js +17 -0
  39. package/src/v8/select/options/skeleton.json +17 -0
  40. package/src/v8/select/skeleton.json +7 -0
  41. package/src/v8/table/body/cells/index.js +17 -0
  42. package/src/v8/table/body/cells/skeleton.json +17 -0
  43. package/src/v8/table/body/index.js +20 -0
  44. package/src/v8/table/body/rows/index.js +23 -0
  45. package/src/v8/table/body/rows/skeleton.json +4 -0
  46. package/src/v8/table/body/skeleton.json +4 -0
  47. package/src/v8/table/head/cells/index.js +17 -0
  48. package/src/v8/table/head/cells/skeleton.json +17 -0
  49. package/src/v8/table/head/index.js +15 -0
  50. package/src/v8/table/head/row/index.js +15 -0
  51. package/src/v8/table/head/row/skeleton.json +4 -0
  52. package/src/v8/table/head/skeleton.json +4 -0
  53. package/src/v8/table/index.js +26 -0
  54. package/src/v8/table/skeleton.json +7 -0
  55. package/src/v9/common/deriveColumnsFromData.js +20 -0
  56. package/src/v9/index.js +36 -0
  57. package/src/v9/meta.js +6 -0
  58. package/src/v9/registerGlobal.js +14 -0
  59. package/src/v9/select/index.js +21 -0
  60. package/src/v9/select/options/index.js +17 -0
  61. package/src/v9/select/options/skeleton.json +17 -0
  62. package/src/v9/select/skeleton.json +7 -0
  63. package/src/v9/table/footer/empty/cell/index.js +5 -0
  64. package/src/v9/table/footer/empty/cell/tag.json +6 -0
  65. package/src/v9/table/footer/empty/index.js +6 -0
  66. package/src/v9/table/footer/empty/row/index.js +10 -0
  67. package/src/v9/table/footer/empty/row/tag.json +7 -0
  68. package/src/v9/table/footer/index.js +28 -0
  69. package/src/v9/table/footer/inputs/cell/index.js +15 -0
  70. package/src/v9/table/footer/inputs/cell/tag.json +7 -0
  71. package/src/v9/table/footer/inputs/index.js +6 -0
  72. package/src/v9/table/footer/inputs/input/tag.json +9 -0
  73. package/src/v9/table/footer/inputs/row/index.js +10 -0
  74. package/src/v9/table/footer/inputs/row/tag.json +7 -0
  75. package/src/v9/table/footer/inputsWithSave/button/tag.json +8 -0
  76. package/src/v9/table/footer/inputsWithSave/cell/index.js +20 -0
  77. package/src/v9/table/footer/inputsWithSave/cell/tag.json +7 -0
  78. package/src/v9/table/footer/inputsWithSave/index.js +6 -0
  79. package/src/v9/table/footer/inputsWithSave/input/tag.json +9 -0
  80. package/src/v9/table/footer/inputsWithSave/row/index.js +13 -0
  81. package/src/v9/table/footer/inputsWithSave/row/tag.json +7 -0
  82. package/src/v9/table/footer/tag.json +7 -0
  83. package/src/v9/table/footer/totals/cell/index.js +21 -0
  84. package/src/v9/table/footer/totals/cell/tag.json +7 -0
  85. package/src/v9/table/footer/totals/index.js +6 -0
  86. package/src/v9/table/footer/totals/row/index.js +12 -0
  87. package/src/v9/table/footer/totals/row/tag.json +7 -0
  88. package/src/v9/table/index.js +33 -0
  89. package/src/v9/table/options/index.js +18 -0
  90. package/src/v9/table/options/showOptions/index.js +39 -0
  91. package/src/v9/table/options/showSerial/index.js +19 -0
  92. package/src/v9/table/render-requests.json +107 -0
  93. package/src/v9/table/table/body/cell/index.js +12 -0
  94. package/src/v9/table/table/body/cell/tag.json +7 -0
  95. package/src/v9/table/table/body/index.js +17 -0
  96. package/src/v9/table/table/body/row/index.js +18 -0
  97. package/src/v9/table/table/body/row/tag.json +4 -0
  98. package/src/v9/table/table/body/tag.json +4 -0
  99. package/src/v9/table/table/head/cell/index.js +12 -0
  100. package/src/v9/table/table/head/cell/tag.json +7 -0
  101. package/src/v9/table/table/head/index.js +16 -0
  102. package/src/v9/table/table/head/row/index.js +14 -0
  103. package/src/v9/table/table/head/row/tag.json +4 -0
  104. package/src/v9/table/table/head/tag.json +4 -0
  105. package/src/v9/table/table/index.js +36 -0
  106. package/src/v9/table/table/tag.json +7 -0
  107. package/src/v9/table_10oct/body/cells/index.js +17 -0
  108. package/src/v9/table_10oct/body/cells/skeleton.json +17 -0
  109. package/src/v9/table_10oct/body/index.js +20 -0
  110. package/src/v9/table_10oct/body/rows/index.js +23 -0
  111. package/src/v9/table_10oct/body/rows/skeleton.json +4 -0
  112. package/src/v9/table_10oct/body/skeleton.json +4 -0
  113. package/src/v9/table_10oct/head/cells/index.js +17 -0
  114. package/src/v9/table_10oct/head/cells/skeleton.json +17 -0
  115. package/src/v9/table_10oct/head/index.js +15 -0
  116. package/src/v9/table_10oct/head/row/index.js +15 -0
  117. package/src/v9/table_10oct/head/row/skeleton.json +4 -0
  118. package/src/v9/table_10oct/head/skeleton.json +4 -0
  119. package/src/v9/table_10oct/index.js +26 -0
  120. 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 cleanly into two distinct, decoupled responsibilities:
14
+ In the **KeshavSoft Declarative UI Ecosystem**, rendering is split into a few clear responsibilities:
15
15
 
16
- 1. **Specification Compilation (THIS REPO — `json-renderers-build`)**
17
- Transforms raw data, field arrays, and UI blueprints (`skeleton.json`) into an abstract, deterministic DOM Specification tree (`specAsJsonToDom`).
18
- 2. **DOM Instantiation & Mounting (Downstream — `json-renderers` / `@keshavsoft/json-to-tag`)**
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