@x12i/catalox 1.2.0 → 2.0.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 (141) hide show
  1. package/README.md +424 -406
  2. package/dist/src/catalox/catalox.d.ts +38 -1
  3. package/dist/src/catalox/catalox.d.ts.map +1 -1
  4. package/dist/src/catalox/catalox.js +468 -5
  5. package/dist/src/catalox/catalox.js.map +1 -1
  6. package/dist/src/catalox/field-source-resolution.d.ts +16 -0
  7. package/dist/src/catalox/field-source-resolution.d.ts.map +1 -0
  8. package/dist/src/catalox/field-source-resolution.js +43 -0
  9. package/dist/src/catalox/field-source-resolution.js.map +1 -0
  10. package/dist/src/catalox/reporting/render-inventory-report.d.ts +3 -0
  11. package/dist/src/catalox/reporting/render-inventory-report.d.ts.map +1 -0
  12. package/dist/src/catalox/reporting/render-inventory-report.js +78 -0
  13. package/dist/src/catalox/reporting/render-inventory-report.js.map +1 -0
  14. package/dist/src/cli/index.d.ts +3 -0
  15. package/dist/src/cli/index.d.ts.map +1 -0
  16. package/dist/src/cli/index.js +267 -0
  17. package/dist/src/cli/index.js.map +1 -0
  18. package/dist/src/contracts/context.d.ts +7 -1
  19. package/dist/src/contracts/context.d.ts.map +1 -1
  20. package/dist/src/contracts/descriptors.d.ts +6 -0
  21. package/dist/src/contracts/descriptors.d.ts.map +1 -1
  22. package/dist/src/contracts/diagram-map.d.ts +24 -0
  23. package/dist/src/contracts/diagram-map.d.ts.map +1 -0
  24. package/dist/src/contracts/diagram-map.js +2 -0
  25. package/dist/src/contracts/diagram-map.js.map +1 -0
  26. package/dist/src/contracts/field-source.d.ts +43 -0
  27. package/dist/src/contracts/field-source.d.ts.map +1 -0
  28. package/dist/src/contracts/field-source.js +2 -0
  29. package/dist/src/contracts/field-source.js.map +1 -0
  30. package/dist/src/contracts/filters.d.ts +59 -0
  31. package/dist/src/contracts/filters.d.ts.map +1 -0
  32. package/dist/src/contracts/filters.js +2 -0
  33. package/dist/src/contracts/filters.js.map +1 -0
  34. package/dist/src/contracts/ids.d.ts +1 -0
  35. package/dist/src/contracts/ids.d.ts.map +1 -1
  36. package/dist/src/contracts/index.d.ts +12 -1
  37. package/dist/src/contracts/index.d.ts.map +1 -1
  38. package/dist/src/contracts/index.js.map +1 -1
  39. package/dist/src/contracts/inventory-export.d.ts +40 -0
  40. package/dist/src/contracts/inventory-export.d.ts.map +1 -0
  41. package/dist/src/contracts/inventory-export.js +2 -0
  42. package/dist/src/contracts/inventory-export.js.map +1 -0
  43. package/dist/src/contracts/inventory-report.d.ts +61 -0
  44. package/dist/src/contracts/inventory-report.d.ts.map +1 -0
  45. package/dist/src/contracts/inventory-report.js +2 -0
  46. package/dist/src/contracts/inventory-report.js.map +1 -0
  47. package/dist/src/contracts/items.d.ts +3 -0
  48. package/dist/src/contracts/items.d.ts.map +1 -1
  49. package/dist/src/contracts/markdown-map.d.ts +42 -0
  50. package/dist/src/contracts/markdown-map.d.ts.map +1 -0
  51. package/dist/src/contracts/markdown-map.js +2 -0
  52. package/dist/src/contracts/markdown-map.js.map +1 -0
  53. package/dist/src/contracts/presentation.d.ts +149 -0
  54. package/dist/src/contracts/presentation.d.ts.map +1 -0
  55. package/dist/src/contracts/presentation.js +2 -0
  56. package/dist/src/contracts/presentation.js.map +1 -0
  57. package/dist/src/contracts/render-map.d.ts +151 -0
  58. package/dist/src/contracts/render-map.d.ts.map +1 -0
  59. package/dist/src/contracts/render-map.js +2 -0
  60. package/dist/src/contracts/render-map.js.map +1 -0
  61. package/dist/src/contracts/renderer-snippets.d.ts +32 -0
  62. package/dist/src/contracts/renderer-snippets.d.ts.map +1 -0
  63. package/dist/src/contracts/renderer-snippets.js +2 -0
  64. package/dist/src/contracts/renderer-snippets.js.map +1 -0
  65. package/dist/src/contracts/snapshots.d.ts +12 -0
  66. package/dist/src/contracts/snapshots.d.ts.map +1 -0
  67. package/dist/src/contracts/snapshots.js +2 -0
  68. package/dist/src/contracts/snapshots.js.map +1 -0
  69. package/dist/src/contracts/stores.d.ts +21 -0
  70. package/dist/src/contracts/stores.d.ts.map +1 -0
  71. package/dist/src/contracts/stores.js +2 -0
  72. package/dist/src/contracts/stores.js.map +1 -0
  73. package/dist/src/diagrams/render-catalog-diagram.d.ts +3 -0
  74. package/dist/src/diagrams/render-catalog-diagram.d.ts.map +1 -0
  75. package/dist/src/diagrams/render-catalog-diagram.js +27 -0
  76. package/dist/src/diagrams/render-catalog-diagram.js.map +1 -0
  77. package/dist/src/diagrams/render-item-diagram.d.ts +3 -0
  78. package/dist/src/diagrams/render-item-diagram.d.ts.map +1 -0
  79. package/dist/src/diagrams/render-item-diagram.js +26 -0
  80. package/dist/src/diagrams/render-item-diagram.js.map +1 -0
  81. package/dist/src/firebase/index.d.ts +2 -0
  82. package/dist/src/firebase/index.d.ts.map +1 -1
  83. package/dist/src/firebase/index.js +2 -0
  84. package/dist/src/firebase/index.js.map +1 -1
  85. package/dist/src/firebase/renderer-snippet-store.d.ts +12 -0
  86. package/dist/src/firebase/renderer-snippet-store.d.ts.map +1 -0
  87. package/dist/src/firebase/renderer-snippet-store.js +21 -0
  88. package/dist/src/firebase/renderer-snippet-store.js.map +1 -0
  89. package/dist/src/firebase/snapshot-store.d.ts +7 -0
  90. package/dist/src/firebase/snapshot-store.d.ts.map +1 -1
  91. package/dist/src/firebase/snapshot-store.js +30 -0
  92. package/dist/src/firebase/snapshot-store.js.map +1 -1
  93. package/dist/src/firebase/store-app-binding-store.d.ts +14 -0
  94. package/dist/src/firebase/store-app-binding-store.d.ts.map +1 -0
  95. package/dist/src/firebase/store-app-binding-store.js +36 -0
  96. package/dist/src/firebase/store-app-binding-store.js.map +1 -0
  97. package/dist/src/index.d.ts +5 -0
  98. package/dist/src/index.d.ts.map +1 -1
  99. package/dist/src/index.js +5 -0
  100. package/dist/src/index.js.map +1 -1
  101. package/dist/src/jsx/index.d.ts +66 -0
  102. package/dist/src/jsx/index.d.ts.map +1 -0
  103. package/dist/src/jsx/index.js +165 -0
  104. package/dist/src/jsx/index.js.map +1 -0
  105. package/dist/src/markdown/render-item-markdown.d.ts +5 -0
  106. package/dist/src/markdown/render-item-markdown.d.ts.map +1 -0
  107. package/dist/src/markdown/render-item-markdown.js +83 -0
  108. package/dist/src/markdown/render-item-markdown.js.map +1 -0
  109. package/dist/src/markdown/render-list-markdown.d.ts +5 -0
  110. package/dist/src/markdown/render-list-markdown.d.ts.map +1 -0
  111. package/dist/src/markdown/render-list-markdown.js +90 -0
  112. package/dist/src/markdown/render-list-markdown.js.map +1 -0
  113. package/dist/src/validation/index.d.ts +3 -1
  114. package/dist/src/validation/index.d.ts.map +1 -1
  115. package/dist/src/validation/index.js +2 -2
  116. package/dist/src/validation/index.js.map +1 -1
  117. package/dist/src/validation/ui-spec-schema.d.ts +20 -0
  118. package/dist/src/validation/ui-spec-schema.d.ts.map +1 -0
  119. package/dist/src/validation/ui-spec-schema.js +605 -0
  120. package/dist/src/validation/ui-spec-schema.js.map +1 -0
  121. package/dist/src/validation/ui-spec-validate.d.ts +20 -0
  122. package/dist/src/validation/ui-spec-validate.d.ts.map +1 -0
  123. package/dist/src/validation/ui-spec-validate.js +73 -0
  124. package/dist/src/validation/ui-spec-validate.js.map +1 -0
  125. package/dist/test/unit/field-source-resolution.test.d.ts +2 -0
  126. package/dist/test/unit/field-source-resolution.test.d.ts.map +1 -0
  127. package/dist/test/unit/field-source-resolution.test.js +45 -0
  128. package/dist/test/unit/field-source-resolution.test.js.map +1 -0
  129. package/dist/test/unit/jsx-snippets.test.d.ts +2 -0
  130. package/dist/test/unit/jsx-snippets.test.d.ts.map +1 -0
  131. package/dist/test/unit/jsx-snippets.test.js +35 -0
  132. package/dist/test/unit/jsx-snippets.test.js.map +1 -0
  133. package/dist/test/unit/markdown-and-diagrams.test.d.ts +2 -0
  134. package/dist/test/unit/markdown-and-diagrams.test.d.ts.map +1 -0
  135. package/dist/test/unit/markdown-and-diagrams.test.js +62 -0
  136. package/dist/test/unit/markdown-and-diagrams.test.js.map +1 -0
  137. package/dist/test/unit/ui-spec-validation.test.d.ts +2 -0
  138. package/dist/test/unit/ui-spec-validation.test.d.ts.map +1 -0
  139. package/dist/test/unit/ui-spec-validation.test.js +90 -0
  140. package/dist/test/unit/ui-spec-validation.test.js.map +1 -0
  141. package/package.json +16 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,EAC7B,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { AnySchema } from "ajv";
2
+ /**
3
+ * JSON Schemas for validating descriptor UI specs and renderer maps.
4
+ *
5
+ * These schemas are intended for server/backoffice systems validating JSON
6
+ * loaded from databases or API calls.
7
+ *
8
+ * Design goals:
9
+ * - validate discriminated unions (e.g. FieldSource.type)
10
+ * - validate required keys and primitive types
11
+ * - remain forward-compatible (allow unknown keys where safe)
12
+ */
13
+ export declare const fieldSourceSchema: AnySchema;
14
+ export declare const catalogFilterSpecSchema: AnySchema;
15
+ export declare const catalogPresentationSpecSchema: AnySchema;
16
+ export declare const catalogCustomRendererSchema: AnySchema;
17
+ export declare const catalogRendererSnippetRecordSchema: AnySchema;
18
+ export declare const catalogListRenderMapSchema: AnySchema;
19
+ export declare const catalogItemRenderMapSchema: AnySchema;
20
+ //# sourceMappingURL=ui-spec-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-spec-schema.d.ts","sourceRoot":"","sources":["../../../src/validation/ui-spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,iBAAiB,EAAE,SA2DtB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,SA4D5B,CAAC;AAEX,eAAO,MAAM,6BAA6B,EAAE,SAyPlC,CAAC;AAEX,eAAO,MAAM,2BAA2B,EAAE,SAoEhC,CAAC;AAEX,eAAO,MAAM,kCAAkC,EAAE,SAevC,CAAC;AAEX,eAAO,MAAM,0BAA0B,EAAE,SAwF/B,CAAC;AAEX,eAAO,MAAM,0BAA0B,EAAE,SA+C/B,CAAC"}
@@ -0,0 +1,605 @@
1
+ /**
2
+ * JSON Schemas for validating descriptor UI specs and renderer maps.
3
+ *
4
+ * These schemas are intended for server/backoffice systems validating JSON
5
+ * loaded from databases or API calls.
6
+ *
7
+ * Design goals:
8
+ * - validate discriminated unions (e.g. FieldSource.type)
9
+ * - validate required keys and primitive types
10
+ * - remain forward-compatible (allow unknown keys where safe)
11
+ */
12
+ export const fieldSourceSchema = {
13
+ oneOf: [
14
+ {
15
+ type: "object",
16
+ additionalProperties: true,
17
+ required: ["type", "values"],
18
+ properties: {
19
+ type: { const: "static" },
20
+ values: {
21
+ type: "array",
22
+ items: {
23
+ type: "object",
24
+ additionalProperties: true,
25
+ required: ["value", "label"],
26
+ properties: {
27
+ value: { anyOf: [{ type: "string" }, { type: "number" }] },
28
+ label: { type: "string" },
29
+ icon: { type: "string" },
30
+ color: { type: "string" },
31
+ metadata: { type: "object", additionalProperties: true },
32
+ },
33
+ },
34
+ },
35
+ },
36
+ },
37
+ {
38
+ type: "object",
39
+ additionalProperties: true,
40
+ required: ["type", "catalogId", "valueField", "labelField"],
41
+ properties: {
42
+ type: { const: "catalog" },
43
+ catalogId: { type: "string" },
44
+ valueField: { type: "string" },
45
+ labelField: { type: "string" },
46
+ scope: { enum: ["app", "store"] },
47
+ filterBy: {
48
+ type: "object",
49
+ additionalProperties: { type: "string" },
50
+ },
51
+ sortBy: {
52
+ type: "object",
53
+ additionalProperties: true,
54
+ required: ["field", "direction"],
55
+ properties: {
56
+ field: { type: "string" },
57
+ direction: { enum: ["asc", "desc"] },
58
+ },
59
+ },
60
+ },
61
+ },
62
+ {
63
+ type: "object",
64
+ additionalProperties: true,
65
+ required: ["type"],
66
+ properties: {
67
+ type: { const: "field-distinct" },
68
+ },
69
+ },
70
+ ],
71
+ };
72
+ export const catalogFilterSpecSchema = {
73
+ type: "object",
74
+ additionalProperties: true,
75
+ required: ["filters"],
76
+ properties: {
77
+ filters: {
78
+ type: "array",
79
+ items: {
80
+ type: "object",
81
+ additionalProperties: true,
82
+ required: ["key", "fieldPath", "controlType"],
83
+ properties: {
84
+ key: { type: "string" },
85
+ fieldPath: { type: "string" },
86
+ label: { type: "string" },
87
+ placeholder: { type: "string" },
88
+ controlType: {
89
+ enum: ["select", "multi-select", "range", "date-range", "toggle", "text", "tags"],
90
+ },
91
+ defaultValue: {},
92
+ source: fieldSourceSchema,
93
+ operators: {
94
+ type: "array",
95
+ items: { enum: ["eq", "neq", "in", "contains", "gt", "gte", "lt", "lte"] },
96
+ },
97
+ range: {
98
+ type: "object",
99
+ additionalProperties: true,
100
+ properties: {
101
+ min: { anyOf: [{ type: "number" }, { type: "string" }] },
102
+ max: { anyOf: [{ type: "number" }, { type: "string" }] },
103
+ step: { type: "number" },
104
+ },
105
+ },
106
+ dependsOn: { type: "string" },
107
+ required: { type: "boolean" },
108
+ collapsed: { type: "boolean" },
109
+ metadata: { type: "object", additionalProperties: true },
110
+ },
111
+ },
112
+ },
113
+ groups: {
114
+ type: "array",
115
+ items: {
116
+ type: "object",
117
+ additionalProperties: true,
118
+ required: ["key", "label", "filters"],
119
+ properties: {
120
+ key: { type: "string" },
121
+ label: { type: "string" },
122
+ collapsed: { type: "boolean" },
123
+ filters: { type: "array", items: { type: "string" } },
124
+ metadata: { type: "object", additionalProperties: true },
125
+ },
126
+ },
127
+ },
128
+ layout: { enum: ["sidebar", "toolbar", "drawer"] },
129
+ persistSelection: { type: "boolean" },
130
+ metadata: { type: "object", additionalProperties: true },
131
+ },
132
+ };
133
+ export const catalogPresentationSpecSchema = {
134
+ type: "object",
135
+ additionalProperties: true,
136
+ required: ["fields"],
137
+ properties: {
138
+ fields: {
139
+ type: "array",
140
+ items: {
141
+ type: "object",
142
+ additionalProperties: true,
143
+ required: ["fieldPath"],
144
+ properties: {
145
+ fieldPath: { type: "string" },
146
+ label: { type: "string" },
147
+ description: { type: "string" },
148
+ renderHint: {
149
+ enum: [
150
+ "text",
151
+ "number",
152
+ "currency",
153
+ "percentage",
154
+ "date",
155
+ "datetime",
156
+ "relative-time",
157
+ "badge",
158
+ "tag",
159
+ "status-dot",
160
+ "avatar",
161
+ "image",
162
+ "thumbnail",
163
+ "link",
164
+ "email",
165
+ "phone",
166
+ "progress",
167
+ "rating",
168
+ "code",
169
+ "markdown",
170
+ "color",
171
+ "boolean",
172
+ "json",
173
+ "key-value",
174
+ "list",
175
+ ],
176
+ },
177
+ format: { type: "string" },
178
+ emptyText: { type: "string" },
179
+ truncate: { type: "number" },
180
+ copyable: { type: "boolean" },
181
+ colorMap: { type: "object", additionalProperties: { type: "string" } },
182
+ source: fieldSourceSchema,
183
+ edit: {
184
+ type: "object",
185
+ additionalProperties: true,
186
+ required: ["inputType"],
187
+ properties: {
188
+ enabled: { type: "boolean" },
189
+ inputType: {
190
+ enum: [
191
+ "text",
192
+ "textarea",
193
+ "number",
194
+ "select",
195
+ "multi-select",
196
+ "date",
197
+ "datetime",
198
+ "toggle",
199
+ "color",
200
+ "slider",
201
+ "autocomplete",
202
+ "tags",
203
+ "rich-text",
204
+ "code",
205
+ "file",
206
+ "hidden",
207
+ ],
208
+ },
209
+ placeholder: { type: "string" },
210
+ helperText: { type: "string" },
211
+ dependsOn: { type: "string" },
212
+ validation: {
213
+ type: "object",
214
+ additionalProperties: true,
215
+ properties: {
216
+ required: { type: "boolean" },
217
+ min: { type: "number" },
218
+ max: { type: "number" },
219
+ minLength: { type: "number" },
220
+ maxLength: { type: "number" },
221
+ pattern: { type: "string" },
222
+ patternMessage: { type: "string" },
223
+ },
224
+ },
225
+ metadata: { type: "object", additionalProperties: true },
226
+ },
227
+ },
228
+ metadata: { type: "object", additionalProperties: true },
229
+ },
230
+ },
231
+ },
232
+ defaultContext: { enum: ["grid", "list", "cards"] },
233
+ allowContextSwitch: { type: "boolean" },
234
+ density: { enum: ["compact", "default", "comfortable"] },
235
+ pageSize: { type: "number" },
236
+ pageSizeOptions: { type: "array", items: { type: "number" } },
237
+ showSearch: { type: "boolean" },
238
+ searchFields: { type: "array", items: { type: "string" } },
239
+ emptyState: {
240
+ type: "object",
241
+ additionalProperties: true,
242
+ required: ["title"],
243
+ properties: {
244
+ title: { type: "string" },
245
+ description: { type: "string" },
246
+ icon: { type: "string" },
247
+ metadata: { type: "object", additionalProperties: true },
248
+ },
249
+ },
250
+ grid: {
251
+ type: "object",
252
+ additionalProperties: true,
253
+ required: ["columns"],
254
+ properties: {
255
+ columns: {
256
+ type: "array",
257
+ items: {
258
+ type: "object",
259
+ additionalProperties: true,
260
+ required: ["fieldPath"],
261
+ properties: {
262
+ fieldPath: { type: "string" },
263
+ width: { enum: ["auto", "sm", "md", "lg", "xl", "fill"] },
264
+ pinned: { enum: ["left", "right"] },
265
+ sortable: { type: "boolean" },
266
+ metadata: { type: "object", additionalProperties: true },
267
+ },
268
+ },
269
+ },
270
+ rowHeight: { enum: ["compact", "default", "comfortable"] },
271
+ editableInline: { type: "boolean" },
272
+ showRowNumbers: { type: "boolean" },
273
+ metadata: { type: "object", additionalProperties: true },
274
+ },
275
+ },
276
+ list: {
277
+ type: "object",
278
+ additionalProperties: true,
279
+ required: ["primaryField"],
280
+ properties: {
281
+ primaryField: { type: "string" },
282
+ secondaryField: { type: "string" },
283
+ tertiaryField: { type: "string" },
284
+ trailingField: { type: "string" },
285
+ avatar: { type: "string" },
286
+ metadata: { type: "object", additionalProperties: true },
287
+ },
288
+ },
289
+ cards: {
290
+ type: "object",
291
+ additionalProperties: true,
292
+ required: ["title"],
293
+ properties: {
294
+ title: { type: "string" },
295
+ subtitle: { type: "string" },
296
+ image: { type: "string" },
297
+ badge: { type: "string" },
298
+ body: { type: "array", items: { type: "string" } },
299
+ footer: { type: "array", items: { type: "string" } },
300
+ size: { enum: ["sm", "md", "lg"] },
301
+ aspectRatio: { enum: ["square", "landscape", "portrait"] },
302
+ metadata: { type: "object", additionalProperties: true },
303
+ },
304
+ },
305
+ form: {
306
+ type: "object",
307
+ additionalProperties: true,
308
+ required: ["sections"],
309
+ properties: {
310
+ sections: {
311
+ type: "array",
312
+ items: {
313
+ type: "object",
314
+ additionalProperties: true,
315
+ required: ["key", "label", "fields"],
316
+ properties: {
317
+ key: { type: "string" },
318
+ label: { type: "string" },
319
+ description: { type: "string" },
320
+ fields: {
321
+ type: "array",
322
+ items: {
323
+ type: "object",
324
+ additionalProperties: true,
325
+ required: ["fieldPath"],
326
+ properties: {
327
+ fieldPath: { type: "string" },
328
+ span: { enum: [1, 2, 3, 4] },
329
+ viewOnly: { type: "boolean" },
330
+ editOnly: { type: "boolean" },
331
+ metadata: { type: "object", additionalProperties: true },
332
+ },
333
+ },
334
+ },
335
+ collapsible: { type: "boolean" },
336
+ collapsed: { type: "boolean" },
337
+ columns: { enum: [1, 2, 3, 4] },
338
+ metadata: { type: "object", additionalProperties: true },
339
+ },
340
+ },
341
+ },
342
+ tabs: {
343
+ type: "array",
344
+ items: {
345
+ type: "object",
346
+ additionalProperties: true,
347
+ required: ["key", "label", "sections"],
348
+ properties: {
349
+ key: { type: "string" },
350
+ label: { type: "string" },
351
+ icon: { type: "string" },
352
+ sections: { type: "array", items: { type: "string" } },
353
+ badge: {
354
+ type: "object",
355
+ additionalProperties: true,
356
+ required: ["fieldPath"],
357
+ properties: { fieldPath: { type: "string" } },
358
+ },
359
+ metadata: { type: "object", additionalProperties: true },
360
+ },
361
+ },
362
+ },
363
+ columns: { enum: [1, 2, 3, 4] },
364
+ headerFields: {
365
+ type: "object",
366
+ additionalProperties: true,
367
+ required: ["title"],
368
+ properties: {
369
+ title: { type: "string" },
370
+ subtitle: { type: "string" },
371
+ status: { type: "string" },
372
+ avatar: { type: "string" },
373
+ metadata: { type: "object", additionalProperties: true },
374
+ },
375
+ },
376
+ actionsPlacement: { enum: ["header", "footer", "both"] },
377
+ metadata: { type: "object", additionalProperties: true },
378
+ },
379
+ },
380
+ metadata: { type: "object", additionalProperties: true },
381
+ },
382
+ };
383
+ export const catalogCustomRendererSchema = {
384
+ type: "object",
385
+ additionalProperties: true,
386
+ properties: {
387
+ list: {
388
+ oneOf: [
389
+ {
390
+ type: "object",
391
+ additionalProperties: true,
392
+ required: ["component"],
393
+ properties: {
394
+ component: { type: "string" },
395
+ props: { type: "object", additionalProperties: true },
396
+ receiveMap: { enum: ["full", "minimal"] },
397
+ },
398
+ },
399
+ {
400
+ type: "object",
401
+ additionalProperties: true,
402
+ required: ["snippetRef"],
403
+ properties: {
404
+ snippetRef: {
405
+ type: "object",
406
+ additionalProperties: true,
407
+ properties: {
408
+ snippetId: { type: "string" },
409
+ catalogScoped: { type: "boolean" },
410
+ },
411
+ },
412
+ props: { type: "object", additionalProperties: true },
413
+ receiveMap: { enum: ["full", "minimal"] },
414
+ },
415
+ },
416
+ ],
417
+ },
418
+ item: {
419
+ oneOf: [
420
+ {
421
+ type: "object",
422
+ additionalProperties: true,
423
+ required: ["component"],
424
+ properties: {
425
+ component: { type: "string" },
426
+ props: { type: "object", additionalProperties: true },
427
+ receiveMap: { enum: ["full", "minimal"] },
428
+ },
429
+ },
430
+ {
431
+ type: "object",
432
+ additionalProperties: true,
433
+ required: ["snippetRef"],
434
+ properties: {
435
+ snippetRef: {
436
+ type: "object",
437
+ additionalProperties: true,
438
+ properties: {
439
+ snippetId: { type: "string" },
440
+ catalogScoped: { type: "boolean" },
441
+ },
442
+ },
443
+ props: { type: "object", additionalProperties: true },
444
+ receiveMap: { enum: ["full", "minimal"] },
445
+ },
446
+ },
447
+ ],
448
+ },
449
+ metadata: { type: "object", additionalProperties: true },
450
+ },
451
+ };
452
+ export const catalogRendererSnippetRecordSchema = {
453
+ type: "object",
454
+ additionalProperties: true,
455
+ required: ["catalogId", "surface", "jsxSource"],
456
+ properties: {
457
+ catalogId: { type: "string" },
458
+ surface: { enum: ["list", "item"] },
459
+ jsxSource: { type: "string" },
460
+ engine: { enum: ["react"] },
461
+ metadata: { type: "object", additionalProperties: true },
462
+ createdAt: { type: "string" },
463
+ updatedAt: { type: "string" },
464
+ createdBy: { type: "string" },
465
+ updatedBy: { type: "string" },
466
+ },
467
+ };
468
+ export const catalogListRenderMapSchema = {
469
+ type: "object",
470
+ additionalProperties: true,
471
+ required: ["catalogId", "label", "items", "resolvedSources", "filters", "pagination", "selection", "capabilities", "context", "actions"],
472
+ properties: {
473
+ catalogId: { type: "string" },
474
+ label: { type: "string" },
475
+ itemLabel: { type: "string" },
476
+ items: {
477
+ type: "array",
478
+ items: {
479
+ type: "object",
480
+ additionalProperties: true,
481
+ required: ["itemId", "data"],
482
+ properties: {
483
+ itemId: { type: "string" },
484
+ data: { type: "object", additionalProperties: true },
485
+ title: { type: "string" },
486
+ subtitle: { type: "string" },
487
+ status: { type: "string" },
488
+ metadata: { type: "object", additionalProperties: true },
489
+ },
490
+ },
491
+ },
492
+ total: { type: "number" },
493
+ resolvedSources: {
494
+ type: "object",
495
+ additionalProperties: {
496
+ type: "array",
497
+ items: {
498
+ type: "object",
499
+ additionalProperties: true,
500
+ required: ["value", "label"],
501
+ properties: {
502
+ value: { anyOf: [{ type: "string" }, { type: "number" }] },
503
+ label: { type: "string" },
504
+ icon: { type: "string" },
505
+ color: { type: "string" },
506
+ metadata: { type: "object", additionalProperties: true },
507
+ },
508
+ },
509
+ },
510
+ },
511
+ filters: {
512
+ type: "object",
513
+ additionalProperties: true,
514
+ required: ["active"],
515
+ properties: {
516
+ active: { type: "object", additionalProperties: true },
517
+ spec: catalogFilterSpecSchema,
518
+ },
519
+ },
520
+ sort: {
521
+ anyOf: [
522
+ { type: "null" },
523
+ {
524
+ type: "object",
525
+ additionalProperties: true,
526
+ required: ["field", "direction"],
527
+ properties: { field: { type: "string" }, direction: { enum: ["asc", "desc"] } },
528
+ },
529
+ ],
530
+ },
531
+ pagination: {
532
+ type: "object",
533
+ additionalProperties: true,
534
+ required: ["page", "pageSize", "hasMore"],
535
+ properties: {
536
+ page: { type: "number" },
537
+ pageSize: { type: "number" },
538
+ hasMore: { type: "boolean" },
539
+ },
540
+ },
541
+ selection: { type: "array", items: { type: "string" } },
542
+ presentation: catalogPresentationSpecSchema,
543
+ capabilities: { type: "object", additionalProperties: true },
544
+ context: {
545
+ type: "object",
546
+ additionalProperties: true,
547
+ required: ["mode", "displayContext"],
548
+ properties: {
549
+ mode: { enum: ["view", "edit"] },
550
+ displayContext: { enum: ["grid", "list", "cards"] },
551
+ },
552
+ },
553
+ actions: { type: "object", additionalProperties: true },
554
+ metadata: { type: "object", additionalProperties: true },
555
+ },
556
+ };
557
+ export const catalogItemRenderMapSchema = {
558
+ type: "object",
559
+ additionalProperties: true,
560
+ required: ["catalogId", "itemId", "item", "resolvedSources", "capabilities", "context", "actions"],
561
+ properties: {
562
+ catalogId: { type: "string" },
563
+ itemId: { type: "string" },
564
+ item: {
565
+ type: "object",
566
+ additionalProperties: true,
567
+ required: ["data"],
568
+ properties: {
569
+ data: { type: "object", additionalProperties: true },
570
+ title: { type: "string" },
571
+ subtitle: { type: "string" },
572
+ status: { type: "string" },
573
+ metadata: { type: "object", additionalProperties: true },
574
+ createdAt: { type: "string" },
575
+ updatedAt: { type: "string" },
576
+ },
577
+ },
578
+ resolvedSources: catalogListRenderMapSchema.properties.resolvedSources,
579
+ references: { type: "array", items: { type: "object", additionalProperties: true } },
580
+ presentation: catalogPresentationSpecSchema,
581
+ capabilities: { type: "object", additionalProperties: true },
582
+ context: {
583
+ type: "object",
584
+ additionalProperties: true,
585
+ required: ["mode", "displayContext"],
586
+ properties: {
587
+ mode: { enum: ["view", "edit"] },
588
+ displayContext: { enum: ["form", "card", "grid-row", "list-row"] },
589
+ dirty: { type: "boolean" },
590
+ },
591
+ },
592
+ validation: {
593
+ type: "object",
594
+ additionalProperties: true,
595
+ required: ["isValid", "fieldErrors"],
596
+ properties: {
597
+ isValid: { type: "boolean" },
598
+ fieldErrors: { type: "object", additionalProperties: { type: "string" } },
599
+ },
600
+ },
601
+ actions: { type: "object", additionalProperties: true },
602
+ metadata: { type: "object", additionalProperties: true },
603
+ },
604
+ };
605
+ //# sourceMappingURL=ui-spec-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-spec-schema.js","sourceRoot":"","sources":["../../../src/validation/ui-spec-schema.ts"],"names":[],"mappings":"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"}