json-renderers 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 (168) hide show
  1. package/README.md +128 -0
  2. package/docs/dist/v4/min.js +791 -0
  3. package/docs/dist/v5/min.js +800 -0
  4. package/docs/dist/v6/min.js +854 -0
  5. package/docs/dist/v8/min.js +1787 -0
  6. package/docs/dist/v9/min.js +1032 -0
  7. package/package.json +36 -0
  8. package/src/index.js +2 -0
  9. package/src/v5/dataLists/fragments.json +1 -0
  10. package/src/v5/dataLists/index.js +26 -0
  11. package/src/v5/dataLists/skeleton.json +20 -0
  12. package/src/v5/form/attachFormClickEventListener.js +27 -0
  13. package/src/v5/form/clickFunc/extractFormData.js +27 -0
  14. package/src/v5/form/clickFunc/handleNew.js +24 -0
  15. package/src/v5/form/clickFunc/handleSave.js +33 -0
  16. package/src/v5/form/clickFunc/index.js +32 -0
  17. package/src/v5/form/index.js +87 -0
  18. package/src/v5/form/structure.json +410 -0
  19. package/src/v5/index.js +150 -0
  20. package/src/v5/meta.js +6 -0
  21. package/src/v5/navTabs/fragments.json +59 -0
  22. package/src/v5/navTabs/index.js +82 -0
  23. package/src/v5/navTabs/skeleton.json +18 -0
  24. package/src/v5/registerGlobal.js +14 -0
  25. package/src/v5/select/fragments.json +1 -0
  26. package/src/v5/select/index.js +31 -0
  27. package/src/v5/select/skeleton.json +21 -0
  28. package/src/v5/table/attachTableClickEventListener.js +22 -0
  29. package/src/v5/table/buildTableDataAsJson.js +19 -0
  30. package/src/v5/table/buildTableDomElement.js +21 -0
  31. package/src/v5/table/buildTableStructureSpec.js +28 -0
  32. package/src/v5/table/clickFunc/v3/createTable.js +16 -0
  33. package/src/v5/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +23 -0
  34. package/src/v5/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +21 -0
  35. package/src/v5/table/clickFunc/v3/getContainer/index.js +39 -0
  36. package/src/v5/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +14 -0
  37. package/src/v5/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +12 -0
  38. package/src/v5/table/clickFunc/v3/index.js +21 -0
  39. package/src/v5/table/fragments.json +112 -0
  40. package/src/v5/table/index.js +72 -0
  41. package/src/v5/table/resolveTargetContainer.js +9 -0
  42. package/src/v5/table/skeleton.json +371 -0
  43. package/src/v6/dataLists/fragments.json +1 -0
  44. package/src/v6/dataLists/index.js +32 -0
  45. package/src/v6/dataLists/skeleton.json +38 -0
  46. package/src/v6/form/attachFormClickEventListener.js +27 -0
  47. package/src/v6/form/clickFunc/extractFormData.js +27 -0
  48. package/src/v6/form/clickFunc/handleNew.js +24 -0
  49. package/src/v6/form/clickFunc/handleSave.js +33 -0
  50. package/src/v6/form/clickFunc/index.js +32 -0
  51. package/src/v6/form/index.js +87 -0
  52. package/src/v6/form/structure.json +410 -0
  53. package/src/v6/index.js +150 -0
  54. package/src/v6/meta.js +6 -0
  55. package/src/v6/navTabs/fragments.json +59 -0
  56. package/src/v6/navTabs/index.js +82 -0
  57. package/src/v6/navTabs/skeleton.json +18 -0
  58. package/src/v6/registerGlobal.js +14 -0
  59. package/src/v6/select/fragments.json +1 -0
  60. package/src/v6/select/index.js +34 -0
  61. package/src/v6/select/skeleton.json +23 -0
  62. package/src/v6/table/attachTableClickEventListener.js +22 -0
  63. package/src/v6/table/buildTableDataAsJson.js +19 -0
  64. package/src/v6/table/buildTableDomElement.js +21 -0
  65. package/src/v6/table/buildTableStructureSpec.js +28 -0
  66. package/src/v6/table/clickFunc/v3/createTable.js +16 -0
  67. package/src/v6/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +23 -0
  68. package/src/v6/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +21 -0
  69. package/src/v6/table/clickFunc/v3/getContainer/index.js +39 -0
  70. package/src/v6/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +14 -0
  71. package/src/v6/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +12 -0
  72. package/src/v6/table/clickFunc/v3/index.js +21 -0
  73. package/src/v6/table/fragments.json +112 -0
  74. package/src/v6/table/index.js +72 -0
  75. package/src/v6/table/resolveTargetContainer.js +9 -0
  76. package/src/v6/table/skeleton.json +371 -0
  77. package/src/v7/common/deriveColumnsFromData.js +20 -0
  78. package/src/v7/dataLists/fragments.json +1 -0
  79. package/src/v7/dataLists/index.js +32 -0
  80. package/src/v7/dataLists/skeleton.json +38 -0
  81. package/src/v7/form/attachFormClickEventListener.js +27 -0
  82. package/src/v7/form/clickFunc/extractFormData.js +27 -0
  83. package/src/v7/form/clickFunc/handleNew.js +24 -0
  84. package/src/v7/form/clickFunc/handleSave.js +33 -0
  85. package/src/v7/form/clickFunc/index.js +32 -0
  86. package/src/v7/form/index.js +87 -0
  87. package/src/v7/form/structure.json +410 -0
  88. package/src/v7/index.js +141 -0
  89. package/src/v7/meta.js +6 -0
  90. package/src/v7/navTabs/fragments.json +59 -0
  91. package/src/v7/navTabs/index.js +82 -0
  92. package/src/v7/navTabs/skeleton.json +18 -0
  93. package/src/v7/registerGlobal.js +14 -0
  94. package/src/v7/select/fragments.json +1 -0
  95. package/src/v7/select/index.js +34 -0
  96. package/src/v7/select/skeleton.json +23 -0
  97. package/src/v7/table/attachTableClickEventListener.js +28 -0
  98. package/src/v7/table/buildTableDataAsJson.js +25 -0
  99. package/src/v7/table/buildTableDomElement.js +25 -0
  100. package/src/v7/table/buildTableStructureSpec.js +33 -0
  101. package/src/v7/table/clickFunc/v3/createTable.js +20 -0
  102. package/src/v7/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +27 -0
  103. package/src/v7/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +24 -0
  104. package/src/v7/table/clickFunc/v3/getContainer/index.js +44 -0
  105. package/src/v7/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +17 -0
  106. package/src/v7/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +15 -0
  107. package/src/v7/table/clickFunc/v3/index.js +35 -0
  108. package/src/v7/table/fragments.json +112 -0
  109. package/src/v7/table/index.js +82 -0
  110. package/src/v7/table/resolveTargetContainer.js +11 -0
  111. package/src/v7/table/skeleton.json +371 -0
  112. package/src/v8/common/deriveColumnsFromData.js +20 -0
  113. package/src/v8/dataLists/fragments.json +1 -0
  114. package/src/v8/dataLists/index.js +32 -0
  115. package/src/v8/dataLists/skeleton.json +38 -0
  116. package/src/v8/form/attachFormClickEventListener.js +27 -0
  117. package/src/v8/form/clickFunc/extractFormData.js +27 -0
  118. package/src/v8/form/clickFunc/handleNew.js +24 -0
  119. package/src/v8/form/clickFunc/handleSave.js +33 -0
  120. package/src/v8/form/clickFunc/index.js +32 -0
  121. package/src/v8/form/index.js +87 -0
  122. package/src/v8/form/structure.json +410 -0
  123. package/src/v8/index.js +141 -0
  124. package/src/v8/meta.js +6 -0
  125. package/src/v8/navTabs/fragments.json +59 -0
  126. package/src/v8/navTabs/index.js +82 -0
  127. package/src/v8/navTabs/skeleton.json +18 -0
  128. package/src/v8/registerGlobal.js +14 -0
  129. package/src/v8/select/fragments.json +1 -0
  130. package/src/v8/select/index.js +34 -0
  131. package/src/v8/select/skeleton.json +23 -0
  132. package/src/v8/table/attachTableClickEventListener.js +28 -0
  133. package/src/v8/table/buildTableDataAsJson.js +25 -0
  134. package/src/v8/table/buildTableDomElement.js +25 -0
  135. package/src/v8/table/buildTableStructureSpec.js +33 -0
  136. package/src/v8/table/clickFunc/v3/createTable.js +20 -0
  137. package/src/v8/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +27 -0
  138. package/src/v8/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +24 -0
  139. package/src/v8/table/clickFunc/v3/getContainer/index.js +44 -0
  140. package/src/v8/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +17 -0
  141. package/src/v8/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +15 -0
  142. package/src/v8/table/clickFunc/v3/index.js +35 -0
  143. package/src/v8/table/fragments.json +112 -0
  144. package/src/v8/table/index.js +82 -0
  145. package/src/v8/table/resolveTargetContainer.js +11 -0
  146. package/src/v8/table/skeleton.json +371 -0
  147. package/src/v9/common/deriveColumnsFromData.js +20 -0
  148. package/src/v9/dataLists/fragments.json +1 -0
  149. package/src/v9/dataLists/index.js +32 -0
  150. package/src/v9/dataLists/skeleton.json +38 -0
  151. package/src/v9/form/attachFormClickEventListener.js +27 -0
  152. package/src/v9/form/clickFunc/extractFormData.js +27 -0
  153. package/src/v9/form/clickFunc/handleNew.js +24 -0
  154. package/src/v9/form/clickFunc/handleSave.js +33 -0
  155. package/src/v9/form/clickFunc/index.js +32 -0
  156. package/src/v9/form/index.js +87 -0
  157. package/src/v9/form/structure.json +410 -0
  158. package/src/v9/index.js +141 -0
  159. package/src/v9/meta.js +6 -0
  160. package/src/v9/navTabs/fragments.json +59 -0
  161. package/src/v9/navTabs/index.js +82 -0
  162. package/src/v9/navTabs/skeleton.json +18 -0
  163. package/src/v9/registerGlobal.js +14 -0
  164. package/src/v9/select/fragments.json +1 -0
  165. package/src/v9/select/index.js +34 -0
  166. package/src/v9/select/skeleton.json +23 -0
  167. package/src/v9/table/index.js +35 -0
  168. package/src/v9/table/skeleton.json +47 -0
package/README.md ADDED
@@ -0,0 +1,128 @@
1
+ # JSON Renderers
2
+
3
+ A lightweight JavaScript library for rendering browser UI from JSON-driven specs. It turns structured data into DOM elements using JSON-based schema definitions and is designed for quick UI generation without hand-writing repetitive HTML.
4
+
5
+ This repo is centered around a small dispatcher that chooses a renderer by `type` and then uses the matching spec-to-DOM pipeline.
6
+
7
+ ## Features
8
+
9
+ - Config-driven rendering using JSON specs
10
+ - Built on top of `json-to-spec` and `@keshavsoft/json-to-tag`
11
+ - Supports renderers such as:
12
+ - `datalist`
13
+ - `select`
14
+ - Legacy renderer layers for table/navTabs/form patterns are present in older source folders
15
+ - Simple browser-based demos and sample apps included in the repo
16
+
17
+ ## Project structure
18
+
19
+ ```text
20
+ json-renderers/
21
+ ├── src/ # main public entry and renderer implementations
22
+ │ ├── index.js # package entry point
23
+ │ └── v4/ # current renderer implementation set
24
+ ├── samples/ # runnable browser examples
25
+ ├── examples/ # additional demo usage
26
+ ├── docs/ # docs/static assets
27
+ ├── json-to-spec/ # bundled spec engine / related tooling
28
+ ├── package.json # package metadata and scripts
29
+ ├── vite.config.js # Vite config for local dev/build
30
+ ├── LICENSE # package license (if present in your checkout)
31
+ └── README.md # project documentation
32
+ ```
33
+
34
+ ## Installation
35
+
36
+ Install from npm:
37
+
38
+ ```bash
39
+ npm install json-renderers
40
+ ```
41
+
42
+ For local development in this repo:
43
+
44
+ ```bash
45
+ npm install
46
+ ```
47
+
48
+ ## Usage
49
+
50
+ ### Basic select renderer
51
+
52
+ ```js
53
+ import render from "json-renderers";
54
+
55
+ const data = {
56
+ LedgerName: [
57
+ "Apex Industries",
58
+ "Blue Valley Foods",
59
+ "Crown Logistics"
60
+ ]
61
+ };
62
+
63
+ render({
64
+ type: "select",
65
+ data,
66
+ targetHtmlId: "dom-render-container"
67
+ });
68
+ ```
69
+
70
+ ### Basic datalist renderer
71
+
72
+ ```js
73
+ import render from "json-renderers";
74
+
75
+ const data = {
76
+ LedgerName: [
77
+ "Apex Industries",
78
+ "Blue Valley Foods",
79
+ "Crown Logistics"
80
+ ]
81
+ };
82
+
83
+ render({
84
+ type: "datalist",
85
+ data,
86
+ targetHtmlId: "dom-render-container"
87
+ });
88
+ ```
89
+
90
+ The renderer resolves the type, looks up the matching implementation, and appends the resulting DOM into the target element.
91
+
92
+ ## Running examples locally
93
+
94
+ Start the Vite dev server:
95
+
96
+ ```bash
97
+ npm run dev
98
+ ```
99
+
100
+ Build the package for production:
101
+
102
+ ```bash
103
+ npm run build
104
+ ```
105
+
106
+ ## Example apps included
107
+
108
+ The repo includes example and sample pages under:
109
+
110
+ - `samples/`
111
+ - `examples/`
112
+ - `docs/`
113
+
114
+ These demonstrate how to use the renderers in the browser with JSON input.
115
+
116
+ ## Notes
117
+
118
+ - The public package entry is `src/index.js`.
119
+ - The main dispatcher currently registers `datalist` and `select` renderers in the `v4` renderer layer.
120
+ - Older versions under `src/v1` through `src/v3` and related folders hint at a broader evolution of table, nav-tab, and form renderers.
121
+
122
+ ## License
123
+
124
+ This project is licensed under the MIT License.
125
+
126
+ ## Maintainer
127
+
128
+ KeshavSoft