@formspec/build 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (177) hide show
  1. package/README.md +120 -0
  2. package/dist/__tests__/alias-chain-propagation.test.d.ts +9 -0
  3. package/dist/__tests__/alias-chain-propagation.test.d.ts.map +1 -0
  4. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts +2 -0
  5. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts.map +1 -0
  6. package/dist/__tests__/class-schema.test.d.ts +2 -0
  7. package/dist/__tests__/class-schema.test.d.ts.map +1 -0
  8. package/dist/__tests__/constraint-validator.test.d.ts +2 -0
  9. package/dist/__tests__/constraint-validator.test.d.ts.map +1 -0
  10. package/dist/__tests__/date-extension.integration.test.d.ts +2 -0
  11. package/dist/__tests__/date-extension.integration.test.d.ts.map +1 -0
  12. package/dist/__tests__/extension-api.test.d.ts +2 -0
  13. package/dist/__tests__/extension-api.test.d.ts.map +1 -0
  14. package/dist/__tests__/extension-runtime.integration.test.d.ts +2 -0
  15. package/dist/__tests__/extension-runtime.integration.test.d.ts.map +1 -0
  16. package/dist/__tests__/fixtures/alias-chains.d.ts +37 -0
  17. package/dist/__tests__/fixtures/alias-chains.d.ts.map +1 -0
  18. package/dist/__tests__/fixtures/class-schema-regressions.d.ts +86 -0
  19. package/dist/__tests__/fixtures/class-schema-regressions.d.ts.map +1 -0
  20. package/dist/__tests__/fixtures/edge-cases.d.ts +132 -0
  21. package/dist/__tests__/fixtures/edge-cases.d.ts.map +1 -0
  22. package/dist/__tests__/fixtures/example-a-builtins.d.ts +31 -0
  23. package/dist/__tests__/fixtures/example-a-builtins.d.ts.map +1 -0
  24. package/dist/__tests__/fixtures/example-date-extension.d.ts +12 -0
  25. package/dist/__tests__/fixtures/example-date-extension.d.ts.map +1 -0
  26. package/dist/__tests__/fixtures/example-interface-types.d.ts +107 -0
  27. package/dist/__tests__/fixtures/example-interface-types.d.ts.map +1 -0
  28. package/dist/__tests__/fixtures/example-numeric-extension.d.ts +20 -0
  29. package/dist/__tests__/fixtures/example-numeric-extension.d.ts.map +1 -0
  30. package/dist/__tests__/fixtures/extension-forms.d.ts +7 -0
  31. package/dist/__tests__/fixtures/extension-forms.d.ts.map +1 -0
  32. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts +31 -0
  33. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts.map +1 -0
  34. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts +15 -0
  35. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts.map +1 -0
  36. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts +14 -0
  37. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts.map +1 -0
  38. package/dist/__tests__/fixtures/sample-forms.d.ts +65 -0
  39. package/dist/__tests__/fixtures/sample-forms.d.ts.map +1 -0
  40. package/dist/__tests__/generate-schemas.test.d.ts +2 -0
  41. package/dist/__tests__/generate-schemas.test.d.ts.map +1 -0
  42. package/dist/__tests__/guards.test.d.ts +2 -0
  43. package/dist/__tests__/guards.test.d.ts.map +1 -0
  44. package/dist/__tests__/ir-analyzer.test.d.ts +11 -0
  45. package/dist/__tests__/ir-analyzer.test.d.ts.map +1 -0
  46. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts +12 -0
  47. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts.map +1 -0
  48. package/dist/__tests__/ir-json-schema-generator.test.d.ts +11 -0
  49. package/dist/__tests__/ir-json-schema-generator.test.d.ts.map +1 -0
  50. package/dist/__tests__/ir-ui-schema-generator.test.d.ts +2 -0
  51. package/dist/__tests__/ir-ui-schema-generator.test.d.ts.map +1 -0
  52. package/dist/__tests__/mixed-authoring.test.d.ts +2 -0
  53. package/dist/__tests__/mixed-authoring.test.d.ts.map +1 -0
  54. package/dist/__tests__/numeric-extension.integration.test.d.ts +2 -0
  55. package/dist/__tests__/numeric-extension.integration.test.d.ts.map +1 -0
  56. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts +9 -0
  57. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts.map +1 -0
  58. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts +9 -0
  59. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts.map +1 -0
  60. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts +19 -0
  61. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts.map +1 -0
  62. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts +19 -0
  63. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts.map +1 -0
  64. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts +6 -0
  65. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts.map +1 -0
  66. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts +17 -0
  67. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts.map +1 -0
  68. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts +13 -0
  69. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts.map +1 -0
  70. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts +9 -0
  71. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts.map +1 -0
  72. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts +28 -0
  73. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts.map +1 -0
  74. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts +9 -0
  75. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts.map +1 -0
  76. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts +6 -0
  77. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts.map +1 -0
  78. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts +19 -0
  79. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts.map +1 -0
  80. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts +12 -0
  81. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts.map +1 -0
  82. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts +9 -0
  83. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts.map +1 -0
  84. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts +19 -0
  85. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts.map +1 -0
  86. package/dist/__tests__/parity/parity.test.d.ts +18 -0
  87. package/dist/__tests__/parity/parity.test.d.ts.map +1 -0
  88. package/dist/__tests__/parity/utils.d.ts +152 -0
  89. package/dist/__tests__/parity/utils.d.ts.map +1 -0
  90. package/dist/__tests__/path-target-parser.test.d.ts +9 -0
  91. package/dist/__tests__/path-target-parser.test.d.ts.map +1 -0
  92. package/dist/analyzer/class-analyzer.d.ts +100 -0
  93. package/dist/analyzer/class-analyzer.d.ts.map +1 -0
  94. package/dist/analyzer/jsdoc-constraints.d.ts +53 -0
  95. package/dist/analyzer/jsdoc-constraints.d.ts.map +1 -0
  96. package/dist/analyzer/program.d.ts +68 -0
  97. package/dist/analyzer/program.d.ts.map +1 -0
  98. package/dist/analyzer/tsdoc-parser.d.ts +123 -0
  99. package/dist/analyzer/tsdoc-parser.d.ts.map +1 -0
  100. package/dist/browser.cjs +1294 -0
  101. package/dist/browser.cjs.map +1 -0
  102. package/dist/browser.d.ts +73 -0
  103. package/dist/browser.d.ts.map +1 -0
  104. package/dist/browser.js +1245 -0
  105. package/dist/browser.js.map +1 -0
  106. package/dist/build.d.ts +1144 -0
  107. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts +18 -0
  108. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts.map +1 -0
  109. package/dist/canonicalize/index.d.ts +8 -0
  110. package/dist/canonicalize/index.d.ts.map +1 -0
  111. package/dist/canonicalize/tsdoc-canonicalizer.d.ts +34 -0
  112. package/dist/canonicalize/tsdoc-canonicalizer.d.ts.map +1 -0
  113. package/dist/cli.cjs +3859 -0
  114. package/dist/cli.cjs.map +1 -0
  115. package/dist/cli.js +3823 -103
  116. package/dist/cli.js.map +1 -1
  117. package/dist/extensions/index.d.ts +8 -0
  118. package/dist/extensions/index.d.ts.map +1 -0
  119. package/dist/extensions/registry.d.ts +83 -0
  120. package/dist/extensions/registry.d.ts.map +1 -0
  121. package/dist/generators/class-schema.d.ts +111 -0
  122. package/dist/generators/class-schema.d.ts.map +1 -0
  123. package/dist/generators/method-schema.d.ts +65 -0
  124. package/dist/generators/method-schema.d.ts.map +1 -0
  125. package/dist/generators/mixed-authoring.d.ts +51 -0
  126. package/dist/generators/mixed-authoring.d.ts.map +1 -0
  127. package/dist/index.cjs +3624 -0
  128. package/dist/index.cjs.map +1 -0
  129. package/dist/index.d.ts +45 -8
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +3584 -106
  132. package/dist/index.js.map +1 -1
  133. package/dist/internals.cjs +3368 -0
  134. package/dist/internals.cjs.map +1 -0
  135. package/dist/internals.d.ts +30 -0
  136. package/dist/internals.d.ts.map +1 -0
  137. package/dist/internals.js +3342 -0
  138. package/dist/internals.js.map +1 -0
  139. package/dist/json-schema/generator.d.ts +20 -5
  140. package/dist/json-schema/generator.d.ts.map +1 -1
  141. package/dist/json-schema/ir-generator.d.ts +114 -0
  142. package/dist/json-schema/ir-generator.d.ts.map +1 -0
  143. package/dist/json-schema/schema.d.ts +23 -0
  144. package/dist/json-schema/schema.d.ts.map +1 -0
  145. package/dist/json-schema/types.d.ts +45 -2
  146. package/dist/json-schema/types.d.ts.map +1 -1
  147. package/dist/ui-schema/generator.d.ts +7 -0
  148. package/dist/ui-schema/generator.d.ts.map +1 -1
  149. package/dist/ui-schema/ir-generator.d.ts +53 -0
  150. package/dist/ui-schema/ir-generator.d.ts.map +1 -0
  151. package/dist/ui-schema/schema.d.ts +434 -0
  152. package/dist/ui-schema/schema.d.ts.map +1 -0
  153. package/dist/ui-schema/types.d.ts +10 -73
  154. package/dist/ui-schema/types.d.ts.map +1 -1
  155. package/dist/validate/constraint-validator.d.ts +23 -0
  156. package/dist/validate/constraint-validator.d.ts.map +1 -0
  157. package/dist/validate/index.d.ts +9 -0
  158. package/dist/validate/index.d.ts.map +1 -0
  159. package/package.json +27 -7
  160. package/dist/__tests__/cli.test.js +0 -178
  161. package/dist/__tests__/cli.test.js.map +0 -1
  162. package/dist/__tests__/edge-cases.test.js +0 -217
  163. package/dist/__tests__/edge-cases.test.js.map +0 -1
  164. package/dist/__tests__/generator.test.js +0 -225
  165. package/dist/__tests__/generator.test.js.map +0 -1
  166. package/dist/__tests__/integration.test.js +0 -163
  167. package/dist/__tests__/integration.test.js.map +0 -1
  168. package/dist/__tests__/write-schemas.test.js +0 -196
  169. package/dist/__tests__/write-schemas.test.js.map +0 -1
  170. package/dist/json-schema/generator.js +0 -161
  171. package/dist/json-schema/generator.js.map +0 -1
  172. package/dist/json-schema/types.js +0 -7
  173. package/dist/json-schema/types.js.map +0 -1
  174. package/dist/ui-schema/generator.js +0 -150
  175. package/dist/ui-schema/generator.js.map +0 -1
  176. package/dist/ui-schema/types.js +0 -8
  177. package/dist/ui-schema/types.js.map +0 -1
@@ -0,0 +1,434 @@
1
+ /**
2
+ * Zod schemas for JSON Forms UI Schema.
3
+ *
4
+ * These schemas are the source of truth for UI Schema validation.
5
+ * TypeScript types are derived from these schemas via `z.infer<>`.
6
+ *
7
+ * @see https://jsonforms.io/docs/uischema/
8
+ */
9
+ import { z } from "zod";
10
+ /**
11
+ * Zod schema for rule effect values.
12
+ *
13
+ * @public
14
+ */
15
+ export declare const ruleEffectSchema: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
16
+ /**
17
+ * Rule effect types for conditional visibility.
18
+ *
19
+ * @public
20
+ */
21
+ export type RuleEffect = z.infer<typeof ruleEffectSchema>;
22
+ /**
23
+ * Zod schema for UI Schema element type strings.
24
+ *
25
+ * @public
26
+ */
27
+ export declare const uiSchemaElementTypeSchema: z.ZodEnum<["Control", "VerticalLayout", "HorizontalLayout", "Group", "Categorization", "Category", "Label"]>;
28
+ /**
29
+ * UI Schema element types.
30
+ *
31
+ * @public
32
+ */
33
+ export type UISchemaElementType = z.infer<typeof uiSchemaElementTypeSchema>;
34
+ /**
35
+ * JSON Schema subset used in rule conditions.
36
+ *
37
+ * @public
38
+ */
39
+ export interface RuleConditionSchema {
40
+ const?: unknown;
41
+ enum?: readonly unknown[];
42
+ type?: string;
43
+ not?: RuleConditionSchema;
44
+ minimum?: number;
45
+ maximum?: number;
46
+ exclusiveMinimum?: number;
47
+ exclusiveMaximum?: number;
48
+ minLength?: number;
49
+ properties?: Record<string, RuleConditionSchema>;
50
+ required?: string[];
51
+ allOf?: RuleConditionSchema[];
52
+ }
53
+ /**
54
+ * Zod schema for the rule-condition JSON Schema subset.
55
+ *
56
+ * @public
57
+ */
58
+ export declare const ruleConditionSchema: z.ZodType<RuleConditionSchema>;
59
+ /**
60
+ * Zod schema for a schema-based rule condition.
61
+ *
62
+ * @public
63
+ */
64
+ export declare const schemaBasedConditionSchema: z.ZodObject<{
65
+ scope: z.ZodString;
66
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
67
+ }, "strict", z.ZodTypeAny, {
68
+ schema: RuleConditionSchema;
69
+ scope: string;
70
+ }, {
71
+ schema: RuleConditionSchema;
72
+ scope: string;
73
+ }>;
74
+ /**
75
+ * Condition for a rule.
76
+ *
77
+ * @public
78
+ */
79
+ export type SchemaBasedCondition = z.infer<typeof schemaBasedConditionSchema>;
80
+ /**
81
+ * Zod schema for a UI Schema rule.
82
+ *
83
+ * @public
84
+ */
85
+ export declare const ruleSchema: z.ZodObject<{
86
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
87
+ condition: z.ZodObject<{
88
+ scope: z.ZodString;
89
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
90
+ }, "strict", z.ZodTypeAny, {
91
+ schema: RuleConditionSchema;
92
+ scope: string;
93
+ }, {
94
+ schema: RuleConditionSchema;
95
+ scope: string;
96
+ }>;
97
+ }, "strict", z.ZodTypeAny, {
98
+ condition: {
99
+ schema: RuleConditionSchema;
100
+ scope: string;
101
+ };
102
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
103
+ }, {
104
+ condition: {
105
+ schema: RuleConditionSchema;
106
+ scope: string;
107
+ };
108
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
109
+ }>;
110
+ /**
111
+ * Rule for conditional element visibility/enablement.
112
+ *
113
+ * @public
114
+ */
115
+ export type Rule = z.infer<typeof ruleSchema>;
116
+ /**
117
+ * Union of all UI Schema element types.
118
+ *
119
+ * @public
120
+ */
121
+ export type UISchemaElement = ControlElement | VerticalLayout | HorizontalLayout | GroupLayout | Categorization | Category | LabelElement;
122
+ /**
123
+ * Zod schema for any UI Schema element.
124
+ *
125
+ * @public
126
+ */
127
+ export declare const uiSchemaElementSchema: z.ZodType<UISchemaElement>;
128
+ /**
129
+ * Zod schema for a Control element.
130
+ *
131
+ * @public
132
+ */
133
+ export declare const controlSchema: z.ZodObject<{
134
+ type: z.ZodLiteral<"Control">;
135
+ scope: z.ZodString;
136
+ label: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<false>]>>;
137
+ rule: z.ZodOptional<z.ZodObject<{
138
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
139
+ condition: z.ZodObject<{
140
+ scope: z.ZodString;
141
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
142
+ }, "strict", z.ZodTypeAny, {
143
+ schema: RuleConditionSchema;
144
+ scope: string;
145
+ }, {
146
+ schema: RuleConditionSchema;
147
+ scope: string;
148
+ }>;
149
+ }, "strict", z.ZodTypeAny, {
150
+ condition: {
151
+ schema: RuleConditionSchema;
152
+ scope: string;
153
+ };
154
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
155
+ }, {
156
+ condition: {
157
+ schema: RuleConditionSchema;
158
+ scope: string;
159
+ };
160
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
161
+ }>>;
162
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
163
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
164
+ type: z.ZodLiteral<"Control">;
165
+ scope: z.ZodString;
166
+ label: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<false>]>>;
167
+ rule: z.ZodOptional<z.ZodObject<{
168
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
169
+ condition: z.ZodObject<{
170
+ scope: z.ZodString;
171
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
172
+ }, "strict", z.ZodTypeAny, {
173
+ schema: RuleConditionSchema;
174
+ scope: string;
175
+ }, {
176
+ schema: RuleConditionSchema;
177
+ scope: string;
178
+ }>;
179
+ }, "strict", z.ZodTypeAny, {
180
+ condition: {
181
+ schema: RuleConditionSchema;
182
+ scope: string;
183
+ };
184
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
185
+ }, {
186
+ condition: {
187
+ schema: RuleConditionSchema;
188
+ scope: string;
189
+ };
190
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
191
+ }>>;
192
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
193
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
194
+ type: z.ZodLiteral<"Control">;
195
+ scope: z.ZodString;
196
+ label: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<false>]>>;
197
+ rule: z.ZodOptional<z.ZodObject<{
198
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
199
+ condition: z.ZodObject<{
200
+ scope: z.ZodString;
201
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
202
+ }, "strict", z.ZodTypeAny, {
203
+ schema: RuleConditionSchema;
204
+ scope: string;
205
+ }, {
206
+ schema: RuleConditionSchema;
207
+ scope: string;
208
+ }>;
209
+ }, "strict", z.ZodTypeAny, {
210
+ condition: {
211
+ schema: RuleConditionSchema;
212
+ scope: string;
213
+ };
214
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
215
+ }, {
216
+ condition: {
217
+ schema: RuleConditionSchema;
218
+ scope: string;
219
+ };
220
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
221
+ }>>;
222
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
223
+ }, z.ZodTypeAny, "passthrough">>;
224
+ /**
225
+ * A Control element that binds to a JSON Schema property.
226
+ *
227
+ * @public
228
+ */
229
+ export type ControlElement = z.infer<typeof controlSchema>;
230
+ /**
231
+ * A vertical layout element.
232
+ *
233
+ * @public
234
+ */
235
+ export interface VerticalLayout {
236
+ type: "VerticalLayout";
237
+ elements: UISchemaElement[];
238
+ rule?: Rule | undefined;
239
+ options?: Record<string, unknown> | undefined;
240
+ [k: string]: unknown;
241
+ }
242
+ /**
243
+ * Zod schema for a vertical layout element.
244
+ *
245
+ * @public
246
+ */
247
+ export declare const verticalLayoutSchema: z.ZodType<VerticalLayout>;
248
+ /**
249
+ * A horizontal layout element.
250
+ *
251
+ * @public
252
+ */
253
+ export interface HorizontalLayout {
254
+ type: "HorizontalLayout";
255
+ elements: UISchemaElement[];
256
+ rule?: Rule | undefined;
257
+ options?: Record<string, unknown> | undefined;
258
+ [k: string]: unknown;
259
+ }
260
+ /**
261
+ * Zod schema for a horizontal layout element.
262
+ *
263
+ * @public
264
+ */
265
+ export declare const horizontalLayoutSchema: z.ZodType<HorizontalLayout>;
266
+ /**
267
+ * A group element with a label.
268
+ *
269
+ * @public
270
+ */
271
+ export interface GroupLayout {
272
+ type: "Group";
273
+ label: string;
274
+ elements: UISchemaElement[];
275
+ rule?: Rule | undefined;
276
+ options?: Record<string, unknown> | undefined;
277
+ [k: string]: unknown;
278
+ }
279
+ /**
280
+ * Zod schema for a group layout element.
281
+ *
282
+ * @public
283
+ */
284
+ export declare const groupLayoutSchema: z.ZodType<GroupLayout>;
285
+ /**
286
+ * A Category element, used inside a Categorization layout.
287
+ *
288
+ * @public
289
+ */
290
+ export interface Category {
291
+ type: "Category";
292
+ label: string;
293
+ elements: UISchemaElement[];
294
+ rule?: Rule | undefined;
295
+ options?: Record<string, unknown> | undefined;
296
+ [k: string]: unknown;
297
+ }
298
+ /**
299
+ * Zod schema for a category element.
300
+ *
301
+ * @public
302
+ */
303
+ export declare const categorySchema: z.ZodType<Category>;
304
+ /**
305
+ * A Categorization element (tab-based layout).
306
+ *
307
+ * @public
308
+ */
309
+ export interface Categorization {
310
+ type: "Categorization";
311
+ elements: Category[];
312
+ label?: string | undefined;
313
+ rule?: Rule | undefined;
314
+ options?: Record<string, unknown> | undefined;
315
+ [k: string]: unknown;
316
+ }
317
+ /**
318
+ * Zod schema for a categorization element.
319
+ *
320
+ * @public
321
+ */
322
+ export declare const categorizationSchema: z.ZodType<Categorization>;
323
+ /**
324
+ * Zod schema for a Label element.
325
+ *
326
+ * @public
327
+ */
328
+ export declare const labelElementSchema: z.ZodObject<{
329
+ type: z.ZodLiteral<"Label">;
330
+ text: z.ZodString;
331
+ rule: z.ZodOptional<z.ZodObject<{
332
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
333
+ condition: z.ZodObject<{
334
+ scope: z.ZodString;
335
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
336
+ }, "strict", z.ZodTypeAny, {
337
+ schema: RuleConditionSchema;
338
+ scope: string;
339
+ }, {
340
+ schema: RuleConditionSchema;
341
+ scope: string;
342
+ }>;
343
+ }, "strict", z.ZodTypeAny, {
344
+ condition: {
345
+ schema: RuleConditionSchema;
346
+ scope: string;
347
+ };
348
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
349
+ }, {
350
+ condition: {
351
+ schema: RuleConditionSchema;
352
+ scope: string;
353
+ };
354
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
355
+ }>>;
356
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
357
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
358
+ type: z.ZodLiteral<"Label">;
359
+ text: z.ZodString;
360
+ rule: z.ZodOptional<z.ZodObject<{
361
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
362
+ condition: z.ZodObject<{
363
+ scope: z.ZodString;
364
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
365
+ }, "strict", z.ZodTypeAny, {
366
+ schema: RuleConditionSchema;
367
+ scope: string;
368
+ }, {
369
+ schema: RuleConditionSchema;
370
+ scope: string;
371
+ }>;
372
+ }, "strict", z.ZodTypeAny, {
373
+ condition: {
374
+ schema: RuleConditionSchema;
375
+ scope: string;
376
+ };
377
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
378
+ }, {
379
+ condition: {
380
+ schema: RuleConditionSchema;
381
+ scope: string;
382
+ };
383
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
384
+ }>>;
385
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
386
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
387
+ type: z.ZodLiteral<"Label">;
388
+ text: z.ZodString;
389
+ rule: z.ZodOptional<z.ZodObject<{
390
+ effect: z.ZodEnum<["SHOW", "HIDE", "ENABLE", "DISABLE"]>;
391
+ condition: z.ZodObject<{
392
+ scope: z.ZodString;
393
+ schema: z.ZodType<RuleConditionSchema, z.ZodTypeDef, RuleConditionSchema>;
394
+ }, "strict", z.ZodTypeAny, {
395
+ schema: RuleConditionSchema;
396
+ scope: string;
397
+ }, {
398
+ schema: RuleConditionSchema;
399
+ scope: string;
400
+ }>;
401
+ }, "strict", z.ZodTypeAny, {
402
+ condition: {
403
+ schema: RuleConditionSchema;
404
+ scope: string;
405
+ };
406
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
407
+ }, {
408
+ condition: {
409
+ schema: RuleConditionSchema;
410
+ scope: string;
411
+ };
412
+ effect: "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
413
+ }>>;
414
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
415
+ }, z.ZodTypeAny, "passthrough">>;
416
+ /**
417
+ * A Label element for displaying static text.
418
+ *
419
+ * @public
420
+ */
421
+ export type LabelElement = z.infer<typeof labelElementSchema>;
422
+ /**
423
+ * Root UI Schema (always a layout — not a Control, Category, or Label).
424
+ *
425
+ * @public
426
+ */
427
+ export type UISchema = VerticalLayout | HorizontalLayout | GroupLayout | Categorization;
428
+ /**
429
+ * Zod schema for the root UI Schema (layout types only).
430
+ *
431
+ * @public
432
+ */
433
+ export declare const uiSchema: z.ZodType<UISchema>;
434
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/ui-schema/schema.ts"],"names":[],"mappings":"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"}
@@ -1,87 +1,24 @@
1
1
  /**
2
2
  * JSON Forms UI Schema type definitions.
3
3
  *
4
- * These types define the UI layout structure for JSON Forms.
4
+ * Types are derived from Zod schemas in ./schema.ts.
5
5
  * See: https://jsonforms.io/docs/uischema/
6
6
  */
7
- /**
8
- * UI Schema element types.
9
- */
10
- export type UISchemaElementType = "Control" | "VerticalLayout" | "HorizontalLayout" | "Group" | "Categorization" | "Category";
11
- /**
12
- * Rule effect types for conditional visibility.
13
- */
14
- export type RuleEffect = "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
15
- /**
16
- * JSON Schema subset for rule conditions.
17
- */
18
- export interface RuleConditionSchema {
19
- const?: unknown;
20
- enum?: readonly unknown[];
21
- type?: string;
22
- minimum?: number;
23
- maximum?: number;
24
- properties?: Record<string, RuleConditionSchema>;
25
- allOf?: RuleConditionSchema[];
26
- }
27
- /**
28
- * Condition for a rule.
29
- */
30
- export interface SchemaBasedCondition {
31
- scope: string;
32
- schema: RuleConditionSchema;
33
- }
34
- /**
35
- * Rule for conditional element visibility/enablement.
36
- */
37
- export interface Rule {
38
- effect: RuleEffect;
39
- condition: SchemaBasedCondition;
40
- }
7
+ export type { RuleConditionSchema, SchemaBasedCondition, Rule, RuleEffect, ControlElement, VerticalLayout, HorizontalLayout, GroupLayout, Categorization, Category, LabelElement, UISchemaElement, UISchemaElementType, UISchema, } from "./schema.js";
8
+ import type { Rule, UISchemaElementType } from "./schema.js";
41
9
  /**
42
10
  * Base interface for all UI Schema elements.
11
+ *
12
+ * This is a manually maintained interface representing the common shape
13
+ * shared by all element types. It is kept as an interface (rather than
14
+ * derived from Zod) because it is the base of a discriminated union, not
15
+ * a union member itself.
16
+ *
17
+ * @public
43
18
  */
44
19
  export interface UISchemaElementBase {
45
20
  type: UISchemaElementType;
46
21
  rule?: Rule;
47
22
  options?: Record<string, unknown>;
48
23
  }
49
- /**
50
- * A Control element that binds to a JSON Schema property.
51
- */
52
- export interface ControlElement extends UISchemaElementBase {
53
- type: "Control";
54
- scope: string;
55
- label?: string;
56
- }
57
- /**
58
- * A vertical layout element.
59
- */
60
- export interface VerticalLayout extends UISchemaElementBase {
61
- type: "VerticalLayout";
62
- elements: UISchemaElement[];
63
- }
64
- /**
65
- * A horizontal layout element.
66
- */
67
- export interface HorizontalLayout extends UISchemaElementBase {
68
- type: "HorizontalLayout";
69
- elements: UISchemaElement[];
70
- }
71
- /**
72
- * A group element with a label.
73
- */
74
- export interface GroupLayout extends UISchemaElementBase {
75
- type: "Group";
76
- label: string;
77
- elements: UISchemaElement[];
78
- }
79
- /**
80
- * Union of all UI Schema element types.
81
- */
82
- export type UISchemaElement = ControlElement | VerticalLayout | HorizontalLayout | GroupLayout;
83
- /**
84
- * Root UI Schema (always a layout).
85
- */
86
- export type UISchema = VerticalLayout | HorizontalLayout | GroupLayout;
87
24
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ui-schema/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,gBAAgB,GAChB,kBAAkB,GAClB,OAAO,GACP,gBAAgB,GAChB,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,mBAAmB;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ui-schema/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Constraint validator for the FormSpec IR.
3
+ *
4
+ * Delegates target-centric semantic analysis to `@formspec/analysis` so build
5
+ * validation and editor tooling share the same inheritance, path-target,
6
+ * contradiction, and broadening semantics.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import { type ConstraintSemanticDiagnostic } from "@formspec/analysis/internal";
11
+ import type { FormIR } from "@formspec/core";
12
+ import type { ExtensionRegistry } from "../extensions/index.js";
13
+ export type ValidationDiagnostic = ConstraintSemanticDiagnostic;
14
+ export interface ValidationResult {
15
+ readonly diagnostics: readonly ValidationDiagnostic[];
16
+ readonly valid: boolean;
17
+ }
18
+ export interface ValidateIROptions {
19
+ readonly vendorPrefix?: string;
20
+ readonly extensionRegistry?: ExtensionRegistry;
21
+ }
22
+ export declare function validateIR(ir: FormIR, options?: ValidateIROptions): ValidationResult;
23
+ //# sourceMappingURL=constraint-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint-validator.d.ts","sourceRoot":"","sources":["../../src/validate/constraint-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAA4C,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AA6ED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAepF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Constraint validation for the FormSpec IR.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export { validateIR } from "./constraint-validator.js";
7
+ export type { ValidationDiagnostic, ValidationResult, ValidateIROptions, } from "./constraint-validator.js";
8
+ export type { ExtensionRegistry } from "../extensions/index.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@formspec/build",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.21",
4
4
  "description": "Build tools to compile FormSpec forms to JSON Schema and UI Schema",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
7
8
  "types": "./dist/build.d.ts",
8
9
  "bin": {
9
10
  "formspec-build": "./dist/cli.js"
@@ -11,18 +12,37 @@
11
12
  "exports": {
12
13
  ".": {
13
14
  "types": "./dist/build.d.ts",
14
- "import": "./dist/index.js"
15
+ "import": "./dist/index.js",
16
+ "require": "./dist/index.cjs"
17
+ },
18
+ "./browser": {
19
+ "types": "./dist/browser.d.ts",
20
+ "import": "./dist/browser.js",
21
+ "require": "./dist/browser.cjs"
22
+ },
23
+ "./internals": {
24
+ "types": "./dist/internals.d.ts",
25
+ "import": "./dist/internals.js",
26
+ "require": "./dist/internals.cjs"
15
27
  }
16
28
  },
17
29
  "files": [
18
- "dist"
30
+ "dist",
31
+ "README.md"
19
32
  ],
20
33
  "dependencies": {
21
- "@formspec/core": "0.1.0-alpha.2"
34
+ "@microsoft/tsdoc": "^0.16.0",
35
+ "@microsoft/tsdoc-config": "^0.18.1",
36
+ "zod": "^3.25.0",
37
+ "@formspec/analysis": "0.1.0-alpha.21",
38
+ "@formspec/core": "0.1.0-alpha.21"
39
+ },
40
+ "peerDependencies": {
41
+ "typescript": "^5.0.0"
22
42
  },
23
43
  "devDependencies": {
24
44
  "vitest": "^3.0.0",
25
- "@formspec/dsl": "0.1.0-alpha.2"
45
+ "@formspec/dsl": "0.1.0-alpha.21"
26
46
  },
27
47
  "publishConfig": {
28
48
  "access": "public"
@@ -30,7 +50,7 @@
30
50
  "keywords": [],
31
51
  "license": "UNLICENSED",
32
52
  "scripts": {
33
- "build": "tsc",
53
+ "build": "tsup && tsc --emitDeclarationOnly && api-extractor run --local",
34
54
  "clean": "rm -rf dist temp",
35
55
  "typecheck": "tsc --noEmit",
36
56
  "test": "pnpm run build && vitest run",