json-renderers 1.12.3 → 1.13.3

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 (178) hide show
  1. package/docs/dist/v13/min.js +678 -0
  2. package/docs/index.html +14 -0
  3. package/package.json +3 -3
  4. package/src/index.js +2 -2
  5. package/src/v13/buildSpec/index.js +28 -0
  6. package/src/v13/index.js +41 -0
  7. package/src/{v10 → v13}/meta.js +1 -1
  8. package/src/v10/dataLists/fragments.json +0 -1
  9. package/src/v10/dataLists/index.js +0 -32
  10. package/src/v10/dataLists/skeleton.json +0 -38
  11. package/src/v10/index.js +0 -142
  12. package/src/v10/select/fragments.json +0 -1
  13. package/src/v10/select/index.js +0 -34
  14. package/src/v10/select/skeleton.json +0 -23
  15. package/src/v10/table/index.js +0 -35
  16. package/src/v10/table/skeleton.json +0 -47
  17. package/src/v5/dataLists/fragments.json +0 -1
  18. package/src/v5/dataLists/index.js +0 -26
  19. package/src/v5/dataLists/skeleton.json +0 -20
  20. package/src/v5/form/attachFormClickEventListener.js +0 -27
  21. package/src/v5/form/clickFunc/extractFormData.js +0 -27
  22. package/src/v5/form/clickFunc/handleNew.js +0 -24
  23. package/src/v5/form/clickFunc/handleSave.js +0 -33
  24. package/src/v5/form/clickFunc/index.js +0 -32
  25. package/src/v5/form/index.js +0 -87
  26. package/src/v5/form/structure.json +0 -410
  27. package/src/v5/index.js +0 -150
  28. package/src/v5/meta.js +0 -6
  29. package/src/v5/navTabs/fragments.json +0 -59
  30. package/src/v5/navTabs/index.js +0 -82
  31. package/src/v5/navTabs/skeleton.json +0 -18
  32. package/src/v5/registerGlobal.js +0 -14
  33. package/src/v5/select/fragments.json +0 -1
  34. package/src/v5/select/index.js +0 -31
  35. package/src/v5/select/skeleton.json +0 -21
  36. package/src/v5/table/attachTableClickEventListener.js +0 -22
  37. package/src/v5/table/buildTableDataAsJson.js +0 -19
  38. package/src/v5/table/buildTableDomElement.js +0 -21
  39. package/src/v5/table/buildTableStructureSpec.js +0 -28
  40. package/src/v5/table/clickFunc/v3/createTable.js +0 -16
  41. package/src/v5/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  42. package/src/v5/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  43. package/src/v5/table/clickFunc/v3/getContainer/index.js +0 -39
  44. package/src/v5/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  45. package/src/v5/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  46. package/src/v5/table/clickFunc/v3/index.js +0 -21
  47. package/src/v5/table/fragments.json +0 -112
  48. package/src/v5/table/index.js +0 -72
  49. package/src/v5/table/resolveTargetContainer.js +0 -9
  50. package/src/v5/table/skeleton.json +0 -371
  51. package/src/v6/dataLists/fragments.json +0 -1
  52. package/src/v6/dataLists/index.js +0 -32
  53. package/src/v6/dataLists/skeleton.json +0 -38
  54. package/src/v6/form/attachFormClickEventListener.js +0 -27
  55. package/src/v6/form/clickFunc/extractFormData.js +0 -27
  56. package/src/v6/form/clickFunc/handleNew.js +0 -24
  57. package/src/v6/form/clickFunc/handleSave.js +0 -33
  58. package/src/v6/form/clickFunc/index.js +0 -32
  59. package/src/v6/form/index.js +0 -87
  60. package/src/v6/form/structure.json +0 -410
  61. package/src/v6/index.js +0 -150
  62. package/src/v6/meta.js +0 -6
  63. package/src/v6/navTabs/fragments.json +0 -59
  64. package/src/v6/navTabs/index.js +0 -82
  65. package/src/v6/navTabs/skeleton.json +0 -18
  66. package/src/v6/registerGlobal.js +0 -14
  67. package/src/v6/select/fragments.json +0 -1
  68. package/src/v6/select/index.js +0 -34
  69. package/src/v6/select/skeleton.json +0 -23
  70. package/src/v6/table/attachTableClickEventListener.js +0 -22
  71. package/src/v6/table/buildTableDataAsJson.js +0 -19
  72. package/src/v6/table/buildTableDomElement.js +0 -21
  73. package/src/v6/table/buildTableStructureSpec.js +0 -28
  74. package/src/v6/table/clickFunc/v3/createTable.js +0 -16
  75. package/src/v6/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  76. package/src/v6/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  77. package/src/v6/table/clickFunc/v3/getContainer/index.js +0 -39
  78. package/src/v6/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  79. package/src/v6/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  80. package/src/v6/table/clickFunc/v3/index.js +0 -21
  81. package/src/v6/table/fragments.json +0 -112
  82. package/src/v6/table/index.js +0 -72
  83. package/src/v6/table/resolveTargetContainer.js +0 -9
  84. package/src/v6/table/skeleton.json +0 -371
  85. package/src/v7/common/deriveColumnsFromData.js +0 -20
  86. package/src/v7/dataLists/fragments.json +0 -1
  87. package/src/v7/dataLists/index.js +0 -32
  88. package/src/v7/dataLists/skeleton.json +0 -38
  89. package/src/v7/form/attachFormClickEventListener.js +0 -27
  90. package/src/v7/form/clickFunc/extractFormData.js +0 -27
  91. package/src/v7/form/clickFunc/handleNew.js +0 -24
  92. package/src/v7/form/clickFunc/handleSave.js +0 -33
  93. package/src/v7/form/clickFunc/index.js +0 -32
  94. package/src/v7/form/index.js +0 -87
  95. package/src/v7/form/structure.json +0 -410
  96. package/src/v7/index.js +0 -141
  97. package/src/v7/meta.js +0 -6
  98. package/src/v7/navTabs/fragments.json +0 -59
  99. package/src/v7/navTabs/index.js +0 -82
  100. package/src/v7/navTabs/skeleton.json +0 -18
  101. package/src/v7/registerGlobal.js +0 -14
  102. package/src/v7/select/fragments.json +0 -1
  103. package/src/v7/select/index.js +0 -34
  104. package/src/v7/select/skeleton.json +0 -23
  105. package/src/v7/table/attachTableClickEventListener.js +0 -28
  106. package/src/v7/table/buildTableDataAsJson.js +0 -25
  107. package/src/v7/table/buildTableDomElement.js +0 -25
  108. package/src/v7/table/buildTableStructureSpec.js +0 -33
  109. package/src/v7/table/clickFunc/v3/createTable.js +0 -20
  110. package/src/v7/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  111. package/src/v7/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  112. package/src/v7/table/clickFunc/v3/getContainer/index.js +0 -44
  113. package/src/v7/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  114. package/src/v7/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  115. package/src/v7/table/clickFunc/v3/index.js +0 -35
  116. package/src/v7/table/fragments.json +0 -112
  117. package/src/v7/table/index.js +0 -82
  118. package/src/v7/table/resolveTargetContainer.js +0 -11
  119. package/src/v7/table/skeleton.json +0 -371
  120. package/src/v8/common/deriveColumnsFromData.js +0 -20
  121. package/src/v8/dataLists/fragments.json +0 -1
  122. package/src/v8/dataLists/index.js +0 -32
  123. package/src/v8/dataLists/skeleton.json +0 -38
  124. package/src/v8/form/attachFormClickEventListener.js +0 -27
  125. package/src/v8/form/clickFunc/extractFormData.js +0 -27
  126. package/src/v8/form/clickFunc/handleNew.js +0 -24
  127. package/src/v8/form/clickFunc/handleSave.js +0 -33
  128. package/src/v8/form/clickFunc/index.js +0 -32
  129. package/src/v8/form/index.js +0 -87
  130. package/src/v8/form/structure.json +0 -410
  131. package/src/v8/index.js +0 -141
  132. package/src/v8/meta.js +0 -6
  133. package/src/v8/navTabs/fragments.json +0 -59
  134. package/src/v8/navTabs/index.js +0 -82
  135. package/src/v8/navTabs/skeleton.json +0 -18
  136. package/src/v8/registerGlobal.js +0 -14
  137. package/src/v8/select/fragments.json +0 -1
  138. package/src/v8/select/index.js +0 -34
  139. package/src/v8/select/skeleton.json +0 -23
  140. package/src/v8/table/attachTableClickEventListener.js +0 -28
  141. package/src/v8/table/buildTableDataAsJson.js +0 -25
  142. package/src/v8/table/buildTableDomElement.js +0 -25
  143. package/src/v8/table/buildTableStructureSpec.js +0 -33
  144. package/src/v8/table/clickFunc/v3/createTable.js +0 -20
  145. package/src/v8/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  146. package/src/v8/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  147. package/src/v8/table/clickFunc/v3/getContainer/index.js +0 -44
  148. package/src/v8/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  149. package/src/v8/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  150. package/src/v8/table/clickFunc/v3/index.js +0 -35
  151. package/src/v8/table/fragments.json +0 -112
  152. package/src/v8/table/index.js +0 -82
  153. package/src/v8/table/resolveTargetContainer.js +0 -11
  154. package/src/v8/table/skeleton.json +0 -371
  155. package/src/v9/common/deriveColumnsFromData.js +0 -20
  156. package/src/v9/dataLists/fragments.json +0 -1
  157. package/src/v9/dataLists/index.js +0 -32
  158. package/src/v9/dataLists/skeleton.json +0 -38
  159. package/src/v9/form/attachFormClickEventListener.js +0 -27
  160. package/src/v9/form/clickFunc/extractFormData.js +0 -27
  161. package/src/v9/form/clickFunc/handleNew.js +0 -24
  162. package/src/v9/form/clickFunc/handleSave.js +0 -33
  163. package/src/v9/form/clickFunc/index.js +0 -32
  164. package/src/v9/form/index.js +0 -87
  165. package/src/v9/form/structure.json +0 -410
  166. package/src/v9/index.js +0 -141
  167. package/src/v9/meta.js +0 -6
  168. package/src/v9/navTabs/fragments.json +0 -59
  169. package/src/v9/navTabs/index.js +0 -82
  170. package/src/v9/navTabs/skeleton.json +0 -18
  171. package/src/v9/registerGlobal.js +0 -14
  172. package/src/v9/select/fragments.json +0 -1
  173. package/src/v9/select/index.js +0 -34
  174. package/src/v9/select/skeleton.json +0 -23
  175. package/src/v9/table/index.js +0 -35
  176. package/src/v9/table/skeleton.json +0 -47
  177. /package/src/{v10 → v13}/common/deriveColumnsFromData.js +0 -0
  178. /package/src/{v10 → v13}/registerGlobal.js +0 -0
@@ -0,0 +1,678 @@
1
+ const A = {
2
+ version: "v12.0.0",
3
+ description: "build table from store data and render to DOM uses json-to-spec, json-to-dom under the hood"
4
+ }, x = (t) => {
5
+ var e;
6
+ typeof globalThis > "u" || !t || (globalThis.ks ?? (globalThis.ks = {}), (e = globalThis.ks).jsonRenderers ?? (e.jsonRenderers = {
7
+ meta: A,
8
+ renderToDom: t
9
+ }));
10
+ }, v = {
11
+ version: "v3.0.0",
12
+ description: "build table from store data and render to DOM uses json-to-spec, json-to-dom under the hood"
13
+ }, j = (t) => {
14
+ var e;
15
+ typeof globalThis > "u" || !t || (globalThis.ks ?? (globalThis.ks = {}), (e = globalThis.ks).jsonRenderersBuild ?? (e.jsonRenderersBuild = {
16
+ meta: v,
17
+ renderToDom: t
18
+ }));
19
+ }, N = {
20
+ version: "v32",
21
+ description: "JSON-to-DOM engine with centralized traversal and responsibility-focused construction"
22
+ }, $ = ({ inFuncDefinition: t } = {}) => {
23
+ if (typeof globalThis > "u" || !t) return;
24
+ globalThis.ks ?? (globalThis.ks = {});
25
+ const e = {
26
+ meta: N,
27
+ buildSpecElement: t
28
+ };
29
+ globalThis.ks.jsonToSpec = e;
30
+ }, k = (t, e) => c(t, e), w = (t, e) => Array.isArray(t) ? t.map((l) => k(l, e)).flat(1 / 0).filter(Boolean) : [], D = (t, e) => {
31
+ if ("source" in t && (t == null ? void 0 : t.source) in e) {
32
+ const l = e[t == null ? void 0 : t.source];
33
+ if (Array.isArray(l))
34
+ return l.map((n) => {
35
+ const o = t == null ? void 0 : t.template;
36
+ if (o)
37
+ return c(o, n);
38
+ });
39
+ }
40
+ }, E = (t, e) => {
41
+ let l = [];
42
+ for (const [r, n] of Object.entries(e)) {
43
+ const o = t == null ? void 0 : t.template;
44
+ if (o) {
45
+ const a = c(o, {
46
+ key: r,
47
+ value: n
48
+ });
49
+ l.push(a);
50
+ }
51
+ }
52
+ return l;
53
+ }, O = (t, e) => {
54
+ if ("source" in t && (t == null ? void 0 : t.source) in e) {
55
+ const l = e[t == null ? void 0 : t.source];
56
+ if (Array.isArray(l))
57
+ return l.map((n) => {
58
+ const o = t == null ? void 0 : t.template;
59
+ if (o)
60
+ return c(o, n);
61
+ });
62
+ }
63
+ }, F = (t, e) => {
64
+ if ("operation" in t) {
65
+ if (t.operation === "loopArray")
66
+ return D(t, e);
67
+ if (t.operation === "loopObject")
68
+ return E(t, e);
69
+ if (t.operation === "loopCollection")
70
+ return O(t, e);
71
+ }
72
+ }, m = (t, e) => {
73
+ if (typeof e == "string") return e;
74
+ if (typeof t != "string") return t;
75
+ if (t === "${value}")
76
+ return e.value;
77
+ const l = t.match(/^\$\{(.+?)\}$/);
78
+ if (l) {
79
+ const r = l[1];
80
+ return (e == null ? void 0 : e[r]) ?? "";
81
+ }
82
+ return t;
83
+ }, G = (t, e) => {
84
+ let l = {};
85
+ for (const [r, n] of Object.entries(t)) {
86
+ const o = m(n, e);
87
+ l[r] = o;
88
+ }
89
+ return l;
90
+ }, R = (t, e) => {
91
+ if ("tagName" in t) {
92
+ if ("textContent" in t) {
93
+ const l = m(t.textContent, e);
94
+ t.textContent = l;
95
+ }
96
+ if ("attributes" in t) {
97
+ const l = G(t.attributes, e);
98
+ t.attributes = l;
99
+ }
100
+ }
101
+ }, z = (t, e) => {
102
+ if (!t || typeof t != "object" || Array.isArray(t)) return null;
103
+ const l = structuredClone(t);
104
+ if (!l) return null;
105
+ if ("tagName" in l && R(l, e), "jsonToSpec" in l) {
106
+ const r = l == null ? void 0 : l.jsonToSpec, n = F(r, e);
107
+ Array.isArray(n) ? l.children = n : l.children = [n], delete l.jsonToSpec;
108
+ }
109
+ if (Array.isArray(l == null ? void 0 : l.children)) {
110
+ const r = w(l == null ? void 0 : l.children, e);
111
+ l.children = r;
112
+ }
113
+ return l;
114
+ }, c = (t, e) => {
115
+ if (t == null) return null;
116
+ debugger;
117
+ return typeof Node < "u" && t instanceof Node ? t : Array.isArray(t) ? w(t, e) : typeof t == "object" ? z(t, e) : typeof t == "string" || typeof t == "number" ? document.createTextNode(String(t)) : t;
118
+ }, g = (t, e) => c(t, e);
119
+ $({
120
+ inFuncDefinition: g
121
+ });
122
+ const M = {
123
+ default: {
124
+ tagName: "table",
125
+ attributes: {
126
+ class: "table table-hover table-striped mb-0"
127
+ },
128
+ children: [
129
+ {
130
+ tagName: "thead",
131
+ children: [
132
+ {
133
+ tagName: "tr",
134
+ jsonToSpec: {
135
+ operation: "loopCollection",
136
+ source: "columns",
137
+ template: {
138
+ tagName: "th",
139
+ textContent: "${title}"
140
+ }
141
+ },
142
+ children: []
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ tagName: "tbody",
148
+ jsonToSpec: {
149
+ operation: "loopCollection",
150
+ source: "data",
151
+ template: {
152
+ tagName: "tr",
153
+ jsonToSpec: {
154
+ operation: "loopObject",
155
+ source: "data",
156
+ template: {
157
+ tagName: "td",
158
+ textContent: "${value}"
159
+ }
160
+ },
161
+ children: []
162
+ }
163
+ },
164
+ children: []
165
+ }
166
+ ]
167
+ }
168
+ }, S = ({
169
+ inColumns: t,
170
+ inData: e
171
+ } = {}) => {
172
+ const l = e ?? [], r = t;
173
+ return g(M.default, {
174
+ columns: r,
175
+ data: l
176
+ });
177
+ }, I = "select", L = {
178
+ id: "LedgerName"
179
+ }, V = {
180
+ operation: "loopArray",
181
+ source: "arrayOfStrings",
182
+ template: {
183
+ tagName: "option",
184
+ attributes: {
185
+ value: "${}"
186
+ },
187
+ textContent: "${}"
188
+ }
189
+ }, q = [], P = {
190
+ tagName: I,
191
+ attributes: L,
192
+ jsonToSpec: V,
193
+ children: q
194
+ }, B = ({
195
+ inData: t
196
+ } = {}) => g(P, {
197
+ arrayOfStrings: t ?? []
198
+ }), b = {
199
+ table: S,
200
+ select: B
201
+ }, p = ({
202
+ type: t = "table",
203
+ data: e,
204
+ columns: l
205
+ } = {}) => {
206
+ const r = t, n = typeof r == "string" ? r.toLowerCase() : "table", o = b[n];
207
+ return o ? o({
208
+ inColumns: l,
209
+ inData: e
210
+ }) : (console.error(
211
+ `[Renderer] Unknown renderer type "${r}". Available types: ${Object.keys(b).join(", ")}`
212
+ ), null);
213
+ };
214
+ j(p);
215
+ const H = {
216
+ version: "v9",
217
+ description: "JSON-to-DOM engine with SVG namespace support, mixed text content, and centralized traversal"
218
+ }, _ = ({ inFuncDefinition: t, inReviewSpec: e } = {}) => {
219
+ if (typeof globalThis > "u" || !t) return;
220
+ globalThis.ks ?? (globalThis.ks = {});
221
+ const l = {
222
+ meta: H,
223
+ buildSpecElement: t,
224
+ reviewSpec: e
225
+ };
226
+ globalThis.ks["json-to-tag"] = l, globalThis.ks.jsonToTag = l;
227
+ }, U = (t) => t == null ? null : typeof Node < "u" && t instanceof Node ? t : typeof t == "string" || typeof t == "number" ? document.createTextNode(String(t)) : typeof t == "object" && (t.nodeType === 3 || t.tagName === "#text" || !t.tagName && (t.textContent !== void 0 || t.text !== void 0)) ? document.createTextNode(t.textContent ?? t.text ?? "") : T(t), y = (t) => Array.isArray(t) ? t.map(U).flat(1 / 0).filter(Boolean) : [], K = (t) => (t == null, t), X = "http://www.w3.org/2000/svg", Q = /* @__PURE__ */ new Set([
228
+ "svg",
229
+ "path",
230
+ "symbol",
231
+ "use",
232
+ "g",
233
+ "circle",
234
+ "ellipse",
235
+ "rect",
236
+ "line",
237
+ "polyline",
238
+ "polygon",
239
+ "text",
240
+ "tspan",
241
+ "defs",
242
+ "clippath",
243
+ "mask",
244
+ "pattern",
245
+ "marker",
246
+ "lineargradient",
247
+ "radialgradient",
248
+ "stop",
249
+ "image",
250
+ "filter",
251
+ "fegaussianblur",
252
+ "femerge",
253
+ "femergenode"
254
+ ]), W = ({ inTagName: t }) => {
255
+ const e = t == null ? void 0 : t.toLowerCase();
256
+ if (!e) return null;
257
+ if (e === "checkbox") {
258
+ const l = document.createElement("input");
259
+ return l.type = "checkbox", l;
260
+ }
261
+ return Q.has(e) ? document.createElementNS(X, e) : document.createElement(e);
262
+ }, Y = ({ inElement: t, inTextContent: e }) => (!t || e === void 0 || e === null || (t.textContent = e), t), Z = ({ inElement: t, inProperties: e }) => (t && e && typeof e == "object" && Object.assign(t, e), t), J = "http://www.w3.org/1999/xlink", tt = ({ inElement: t, inAttributes: e }) => {
263
+ const l = t, r = e;
264
+ if (!l || !r || typeof r != "object")
265
+ return l;
266
+ const n = typeof SVGElement < "u" ? l instanceof SVGElement : l.namespaceURI === "http://www.w3.org/2000/svg";
267
+ return Object.entries(r).forEach(([o, a]) => {
268
+ if (o === "class") {
269
+ n ? l.setAttribute("class", String(a)) : l.className = a;
270
+ return;
271
+ }
272
+ if (o === "xlink:href" || o === "href") {
273
+ if (a != null) {
274
+ const i = String(a);
275
+ if (n)
276
+ try {
277
+ l.setAttributeNS(J, "href", i);
278
+ } catch {
279
+ }
280
+ l.setAttribute("href", i), l.setAttribute("xlink:href", i);
281
+ }
282
+ return;
283
+ }
284
+ if (typeof a == "boolean") {
285
+ a ? l.setAttribute(o, "") : l.removeAttribute(o);
286
+ return;
287
+ }
288
+ a != null && l.setAttribute(o, String(a));
289
+ }), l;
290
+ }, et = ({ inElement: t, inClassList: e }) => {
291
+ if (!t || !e) return t;
292
+ const l = typeof e == "string" ? e.split(/\s+/).filter(Boolean) : Array.isArray(e) ? e.filter((r) => typeof r == "string" && r.trim()) : [];
293
+ return l.length && t.classList.add(...l), t;
294
+ }, lt = (t) => {
295
+ if (!t || typeof t != "object" || Array.isArray(t) || !t.tagName) return null;
296
+ const e = W({ inTagName: t.tagName });
297
+ if (!e) return null;
298
+ if (Y({
299
+ inElement: e,
300
+ inTextContent: K(t.textContent),
301
+ inTagName: t.tagName
302
+ }), Z({
303
+ inElement: e,
304
+ inProperties: t.properties
305
+ }), tt({
306
+ inElement: e,
307
+ inAttributes: t.attributes
308
+ }), et({
309
+ inElement: e,
310
+ inClassList: t.classList
311
+ }), Array.isArray(t.children)) {
312
+ const l = y(t.children);
313
+ l.length && e.append(...l);
314
+ }
315
+ return e;
316
+ }, T = (t) => t == null ? null : typeof Node < "u" && t instanceof Node ? t : Array.isArray(t) ? y(t) : typeof t == "object" ? lt(t) : typeof t == "string" || typeof t == "number" ? document.createTextNode(String(t)) : null, rt = "./tags.schema.json", ot = {
317
+ allowsTextContent: !1,
318
+ allowsChildren: !0,
319
+ allowedAttributes: [
320
+ "title",
321
+ "role"
322
+ ],
323
+ childTags: []
324
+ }, nt = {
325
+ allowsTextContent: !1,
326
+ allowsChildren: !1,
327
+ allowedAttributes: [
328
+ "type",
329
+ "placeholder",
330
+ "value",
331
+ "name",
332
+ "disabled",
333
+ "readonly",
334
+ "required",
335
+ "list"
336
+ ]
337
+ }, at = {
338
+ allowsTextContent: !1,
339
+ allowsChildren: !1,
340
+ allowedAttributes: [
341
+ "type",
342
+ "checked",
343
+ "name",
344
+ "value",
345
+ "disabled",
346
+ "required"
347
+ ]
348
+ }, st = {
349
+ allowsTextContent: !1,
350
+ allowsChildren: !0,
351
+ allowedAttributes: [
352
+ "span"
353
+ ],
354
+ childTags: [
355
+ "col"
356
+ ]
357
+ }, it = {
358
+ allowsTextContent: !1,
359
+ allowsChildren: !1,
360
+ allowedAttributes: [
361
+ "span",
362
+ "style",
363
+ "width"
364
+ ]
365
+ }, ut = {
366
+ allowsTextContent: !0,
367
+ allowsChildren: !0,
368
+ allowedAttributes: [
369
+ "for"
370
+ ],
371
+ childTags: []
372
+ }, ct = {
373
+ allowsTextContent: !1,
374
+ allowsChildren: !0,
375
+ allowedAttributes: [
376
+ "action",
377
+ "method",
378
+ "autocomplete",
379
+ "enctype",
380
+ "name",
381
+ "novalidate",
382
+ "target"
383
+ ],
384
+ childTags: []
385
+ }, dt = {
386
+ allowsTextContent: !1,
387
+ allowsChildren: !0,
388
+ allowedAttributes: [
389
+ "name",
390
+ "disabled",
391
+ "required",
392
+ "multiple",
393
+ "size"
394
+ ],
395
+ childTags: [
396
+ "option"
397
+ ]
398
+ }, ft = {
399
+ allowsTextContent: !0,
400
+ allowsChildren: !0,
401
+ allowedAttributes: [],
402
+ childTags: []
403
+ }, gt = {
404
+ allowsTextContent: !0,
405
+ allowsChildren: !0,
406
+ allowedAttributes: [],
407
+ childTags: []
408
+ }, ht = {
409
+ allowsTextContent: !0,
410
+ allowsChildren: !0,
411
+ allowedAttributes: [],
412
+ childTags: []
413
+ }, bt = {
414
+ allowsTextContent: !0,
415
+ allowsChildren: !0,
416
+ allowedAttributes: [],
417
+ childTags: []
418
+ }, wt = {
419
+ allowsTextContent: !1,
420
+ allowsChildren: !1,
421
+ allowedAttributes: [
422
+ "src",
423
+ "alt",
424
+ "width",
425
+ "height",
426
+ "loading"
427
+ ]
428
+ }, mt = {
429
+ allowsTextContent: !0,
430
+ allowsChildren: !0,
431
+ allowedAttributes: [
432
+ "type",
433
+ "disabled",
434
+ "name",
435
+ "value"
436
+ ],
437
+ childTags: []
438
+ }, pt = {
439
+ allowsTextContent: !1,
440
+ allowsChildren: !0,
441
+ allowedAttributes: [
442
+ "border",
443
+ "cellpadding",
444
+ "cellspacing"
445
+ ],
446
+ childTags: [
447
+ "caption",
448
+ "colgroup",
449
+ "thead",
450
+ "tbody",
451
+ "tfoot",
452
+ "tr"
453
+ ]
454
+ }, yt = {
455
+ allowsTextContent: !1,
456
+ allowsChildren: !0,
457
+ allowedAttributes: [],
458
+ childTags: [
459
+ "tr"
460
+ ]
461
+ }, Tt = {
462
+ allowsTextContent: !1,
463
+ allowsChildren: !0,
464
+ allowedAttributes: [],
465
+ childTags: [
466
+ "tr"
467
+ ]
468
+ }, Ct = {
469
+ allowsTextContent: !1,
470
+ allowsChildren: !0,
471
+ allowedAttributes: [],
472
+ childTags: [
473
+ "tr"
474
+ ]
475
+ }, At = {
476
+ allowsTextContent: !1,
477
+ allowsChildren: !0,
478
+ allowedAttributes: [],
479
+ childTags: [
480
+ "td",
481
+ "th"
482
+ ]
483
+ }, xt = {
484
+ allowsTextContent: !0,
485
+ allowsChildren: !0,
486
+ allowedAttributes: [
487
+ "scope",
488
+ "colspan",
489
+ "rowspan"
490
+ ],
491
+ childTags: []
492
+ }, vt = {
493
+ allowsTextContent: !0,
494
+ allowsChildren: !0,
495
+ allowedAttributes: [
496
+ "colspan",
497
+ "rowspan"
498
+ ],
499
+ childTags: []
500
+ }, jt = {
501
+ allowsTextContent: !1,
502
+ allowsChildren: !0,
503
+ allowedAttributes: [],
504
+ childTags: [
505
+ "option"
506
+ ]
507
+ }, Nt = {
508
+ allowsTextContent: !0,
509
+ allowsChildren: !1,
510
+ allowedAttributes: [
511
+ "value",
512
+ "label",
513
+ "selected",
514
+ "disabled"
515
+ ]
516
+ }, $t = {
517
+ allowsTextContent: !1,
518
+ allowsChildren: !0,
519
+ allowedAttributes: [
520
+ "role"
521
+ ],
522
+ childTags: []
523
+ }, kt = {
524
+ allowsTextContent: !0,
525
+ allowsChildren: !0,
526
+ allowedAttributes: [
527
+ "href",
528
+ "target",
529
+ "rel",
530
+ "title",
531
+ "download"
532
+ ],
533
+ childTags: []
534
+ }, Dt = {
535
+ allowsTextContent: !0,
536
+ allowsChildren: !0,
537
+ allowedAttributes: [
538
+ "aria-hidden"
539
+ ],
540
+ childTags: []
541
+ }, Et = {
542
+ allowsTextContent: !0,
543
+ allowsChildren: !0,
544
+ allowedAttributes: [],
545
+ childTags: []
546
+ }, Ot = {
547
+ allowsTextContent: !1,
548
+ allowsChildren: !0,
549
+ allowedAttributes: [
550
+ "type"
551
+ ],
552
+ childTags: [
553
+ "li"
554
+ ]
555
+ }, Ft = {
556
+ allowsTextContent: !0,
557
+ allowsChildren: !0,
558
+ allowedAttributes: [
559
+ "value"
560
+ ],
561
+ childTags: []
562
+ }, Gt = {
563
+ allowsTextContent: !1,
564
+ allowsChildren: !1,
565
+ allowedAttributes: []
566
+ }, Rt = {
567
+ $schema: rt,
568
+ div: ot,
569
+ input: nt,
570
+ checkbox: at,
571
+ colgroup: st,
572
+ col: it,
573
+ label: ut,
574
+ form: ct,
575
+ select: dt,
576
+ p: ft,
577
+ h1: gt,
578
+ h2: ht,
579
+ span: bt,
580
+ img: wt,
581
+ button: mt,
582
+ table: pt,
583
+ thead: yt,
584
+ tbody: Tt,
585
+ tfoot: Ct,
586
+ tr: At,
587
+ th: xt,
588
+ td: vt,
589
+ datalist: jt,
590
+ option: Nt,
591
+ header: $t,
592
+ a: kt,
593
+ i: Dt,
594
+ small: Et,
595
+ ul: Ot,
596
+ li: Ft,
597
+ hr: Gt
598
+ }, f = ({ inSpec: t }) => {
599
+ const e = t;
600
+ if (!e) return [];
601
+ if (Array.isArray(e))
602
+ return e.flatMap((r) => f({ inSpec: r }));
603
+ if (typeof e != "object") return [];
604
+ const l = [];
605
+ return typeof e.tagName == "string" && e.tagName.trim().length > 0 && l.push(e.tagName.toLowerCase()), Array.isArray(e.children) && e.children.length > 0 && e.children.forEach((r) => {
606
+ const n = f({ inSpec: r });
607
+ l.push(...n);
608
+ }), l;
609
+ }, zt = ({ inTagsFound: t, inAllowedTags: e }) => {
610
+ const l = t ?? [], r = e ?? {}, n = new Set(
611
+ Object.keys(r).filter((s) => s !== "$schema").map((s) => s.toLowerCase())
612
+ ), o = {}, a = [], i = [];
613
+ l.forEach((s) => {
614
+ o[s] = (o[s] || 0) + 1, n.has(s) ? a.includes(s) || a.push(s) : i.includes(s) || i.push(s);
615
+ });
616
+ const d = l.length, h = i.length === 0;
617
+ return {
618
+ totalTags: d,
619
+ tagCounts: o,
620
+ uniqueTags: Object.keys(o),
621
+ recognizedTags: a,
622
+ unrecognizedTags: i,
623
+ areAllTagsPresent: h
624
+ };
625
+ }, Mt = ({ inSpec: t, inTags: e = Rt } = {}) => {
626
+ const l = t, r = e, n = f({ inSpec: l }), o = zt({
627
+ inTagsFound: n,
628
+ inAllowedTags: r
629
+ });
630
+ return {
631
+ areAllTagsPresent: o.areAllTagsPresent,
632
+ totalTags: o.totalTags,
633
+ tagCounts: o.tagCounts,
634
+ uniqueTags: o.uniqueTags,
635
+ recognizedTags: o.recognizedTags,
636
+ unrecognizedTags: o.unrecognizedTags
637
+ };
638
+ }, C = (t = {}) => {
639
+ const e = (t == null ? void 0 : t.spec) ?? (t == null ? void 0 : t.inSpec) ?? t;
640
+ return T(e);
641
+ };
642
+ _({
643
+ inFuncDefinition: C,
644
+ inReviewSpec: Mt
645
+ });
646
+ const St = ({
647
+ inTargetHtmlId: t,
648
+ inColumns: e,
649
+ type: l,
650
+ inData: r
651
+ } = {}) => {
652
+ debugger;
653
+ let a = p({
654
+ type: "table",
655
+ data: r ?? [],
656
+ columns: e
657
+ });
658
+ return C(a);
659
+ }, It = ({
660
+ type: t = "table",
661
+ targetHtmlId: e,
662
+ data: l,
663
+ classToApply: r,
664
+ columns: n,
665
+ appendPosition: o
666
+ } = {}) => {
667
+ const a = t, i = e, s = St({
668
+ inTargetHtmlId: i,
669
+ inColumns: n,
670
+ inData: l,
671
+ type: a
672
+ }), u = document.getElementById(i);
673
+ return o === "prepend" ? u.prepend(s) : (u && (u.innerHTML = ""), u.append(s)), u;
674
+ };
675
+ x(It);
676
+ export {
677
+ It as default
678
+ };
@@ -0,0 +1,14 @@
1
+ <!-- docs/index.html -->
2
+ <!doctype html>
3
+ <html>
4
+
5
+ <head>
6
+ <meta charset="UTF-8" />
7
+ <title>json-renderers</title>
8
+ </head>
9
+
10
+ <body>
11
+ json-renderers assets
12
+ </body>
13
+
14
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json-renderers",
3
- "version": "1.12.3",
3
+ "version": "1.13.3",
4
4
  "description": "Standalone, config-driven Table renderer built on top of json-to-dom",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -30,6 +30,6 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@keshavsoft/json-to-tag": "^1.9.3",
33
- "json-to-spec": "^32.1.2"
33
+ "json-renderers-build": "^1.3.2"
34
34
  }
35
- }
35
+ }
package/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./v12/index.js";
2
- export { default } from "./v12/index.js";
1
+ export * from "./v13/index.js";
2
+ export { default } from "./v13/index.js";