@formspec/build 0.1.0-alpha.23 → 0.1.0-alpha.26
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.
- package/dist/analyzer/tsdoc-parser.d.ts.map +1 -1
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/build-alpha.d.ts +119 -0
- package/dist/build-beta.d.ts +119 -0
- package/dist/build-internal.d.ts +119 -0
- package/dist/build.d.ts +88 -0
- package/dist/cli.cjs +3 -0
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internals.cjs +3 -0
- package/dist/internals.cjs.map +1 -1
- package/dist/internals.js +4 -0
- package/dist/internals.js.map +1 -1
- package/dist/json-schema/ir-generator.d.ts +30 -0
- package/dist/json-schema/ir-generator.d.ts.map +1 -1
- package/dist/json-schema/types.d.ts +31 -0
- package/dist/json-schema/types.d.ts.map +1 -1
- package/dist/ui-schema/types.d.ts +58 -0
- package/dist/ui-schema/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/build-alpha.d.ts
CHANGED
|
@@ -150,11 +150,17 @@ export { BuiltinConstraintName }
|
|
|
150
150
|
* @public
|
|
151
151
|
*/
|
|
152
152
|
export declare interface Categorization {
|
|
153
|
+
/** Discriminator identifying a categorization layout. */
|
|
153
154
|
readonly type: "Categorization";
|
|
155
|
+
/** Categories rendered as tabs or steps. */
|
|
154
156
|
readonly elements: Category[];
|
|
157
|
+
/** Optional label for the overall categorization container. */
|
|
155
158
|
readonly label?: string | undefined;
|
|
159
|
+
/** Optional rule controlling visibility or enablement. */
|
|
156
160
|
readonly rule?: Rule | undefined;
|
|
161
|
+
/** Renderer-specific categorization options. */
|
|
157
162
|
readonly options?: Record<string, unknown> | undefined;
|
|
163
|
+
/** Additional renderer-specific extension properties. */
|
|
158
164
|
readonly [k: string]: unknown;
|
|
159
165
|
}
|
|
160
166
|
|
|
@@ -164,11 +170,17 @@ export declare interface Categorization {
|
|
|
164
170
|
* @public
|
|
165
171
|
*/
|
|
166
172
|
export declare interface Category {
|
|
173
|
+
/** Discriminator identifying a category inside a categorization layout. */
|
|
167
174
|
readonly type: "Category";
|
|
175
|
+
/** Category label shown in tabs or step navigation. */
|
|
168
176
|
readonly label: string;
|
|
177
|
+
/** Child elements rendered inside the category. */
|
|
169
178
|
readonly elements: UISchemaElement[];
|
|
179
|
+
/** Optional rule controlling visibility or enablement. */
|
|
170
180
|
readonly rule?: Rule | undefined;
|
|
181
|
+
/** Renderer-specific category options. */
|
|
171
182
|
readonly options?: Record<string, unknown> | undefined;
|
|
183
|
+
/** Additional renderer-specific extension properties. */
|
|
172
184
|
readonly [k: string]: unknown;
|
|
173
185
|
}
|
|
174
186
|
|
|
@@ -184,11 +196,17 @@ export { ConstraintTagRegistration }
|
|
|
184
196
|
* @public
|
|
185
197
|
*/
|
|
186
198
|
export declare interface ControlElement {
|
|
199
|
+
/** Discriminator identifying a JSON Forms control element. */
|
|
187
200
|
readonly type: "Control";
|
|
201
|
+
/** JSON Pointer scope that this control binds to. */
|
|
188
202
|
readonly scope: string;
|
|
203
|
+
/** Optional label override, or `false` to suppress the label. */
|
|
189
204
|
readonly label?: string | false | undefined;
|
|
205
|
+
/** Optional rule controlling visibility or enablement. */
|
|
190
206
|
readonly rule?: Rule | undefined;
|
|
207
|
+
/** Renderer-specific control options. */
|
|
191
208
|
readonly options?: Record<string, unknown> | undefined;
|
|
209
|
+
/** Additional renderer-specific extension properties. */
|
|
192
210
|
readonly [k: string]: unknown;
|
|
193
211
|
}
|
|
194
212
|
|
|
@@ -489,11 +507,17 @@ export { Group }
|
|
|
489
507
|
* @public
|
|
490
508
|
*/
|
|
491
509
|
export declare interface GroupLayout {
|
|
510
|
+
/** Discriminator identifying a labeled group container. */
|
|
492
511
|
readonly type: "Group";
|
|
512
|
+
/** Group label shown by compatible renderers. */
|
|
493
513
|
readonly label: string;
|
|
514
|
+
/** Child elements rendered inside the group. */
|
|
494
515
|
readonly elements: UISchemaElement[];
|
|
516
|
+
/** Optional rule controlling visibility or enablement. */
|
|
495
517
|
readonly rule?: Rule | undefined;
|
|
518
|
+
/** Renderer-specific group options. */
|
|
496
519
|
readonly options?: Record<string, unknown> | undefined;
|
|
520
|
+
/** Additional renderer-specific extension properties. */
|
|
497
521
|
readonly [k: string]: unknown;
|
|
498
522
|
}
|
|
499
523
|
|
|
@@ -503,10 +527,15 @@ export declare interface GroupLayout {
|
|
|
503
527
|
* @public
|
|
504
528
|
*/
|
|
505
529
|
export declare interface HorizontalLayout {
|
|
530
|
+
/** Discriminator identifying a horizontal layout container. */
|
|
506
531
|
readonly type: "HorizontalLayout";
|
|
532
|
+
/** Child elements rendered side by side. */
|
|
507
533
|
readonly elements: UISchemaElement[];
|
|
534
|
+
/** Optional rule controlling visibility or enablement. */
|
|
508
535
|
readonly rule?: Rule | undefined;
|
|
536
|
+
/** Renderer-specific layout options. */
|
|
509
537
|
readonly options?: Record<string, unknown> | undefined;
|
|
538
|
+
/** Additional renderer-specific extension properties. */
|
|
510
539
|
readonly [k: string]: unknown;
|
|
511
540
|
}
|
|
512
541
|
|
|
@@ -519,35 +548,65 @@ export declare interface HorizontalLayout {
|
|
|
519
548
|
* @public
|
|
520
549
|
*/
|
|
521
550
|
export declare interface JsonSchema2020 {
|
|
551
|
+
/** Declared JSON Schema dialect URI for the document root. */
|
|
522
552
|
$schema?: string;
|
|
553
|
+
/** Reference to another schema location. */
|
|
523
554
|
$ref?: string;
|
|
555
|
+
/** Named reusable schema definitions keyed by definition name. */
|
|
524
556
|
$defs?: Record<string, JsonSchema2020>;
|
|
557
|
+
/** JSON Schema type keyword for the current node. */
|
|
525
558
|
type?: string;
|
|
559
|
+
/** Object properties keyed by property name. */
|
|
526
560
|
properties?: Record<string, JsonSchema2020>;
|
|
561
|
+
/** Property names that must be present on object values. */
|
|
527
562
|
required?: string[];
|
|
563
|
+
/** Item schema applied to array elements. */
|
|
528
564
|
items?: JsonSchema2020;
|
|
565
|
+
/** Whether, or how, additional object properties are allowed. */
|
|
529
566
|
additionalProperties?: boolean | JsonSchema2020;
|
|
567
|
+
/** Closed set of allowed scalar values. */
|
|
530
568
|
enum?: readonly (string | number)[];
|
|
569
|
+
/** Literal value the instance must equal. */
|
|
531
570
|
const?: unknown;
|
|
571
|
+
/** Schemas that must all validate successfully. */
|
|
532
572
|
allOf?: readonly JsonSchema2020[];
|
|
573
|
+
/** Schemas of which exactly one should validate successfully. */
|
|
533
574
|
oneOf?: readonly JsonSchema2020[];
|
|
575
|
+
/** Schemas of which at least one may validate successfully. */
|
|
534
576
|
anyOf?: readonly JsonSchema2020[];
|
|
577
|
+
/** Inclusive numeric lower bound. */
|
|
535
578
|
minimum?: number;
|
|
579
|
+
/** Inclusive numeric upper bound. */
|
|
536
580
|
maximum?: number;
|
|
581
|
+
/** Exclusive numeric lower bound. */
|
|
537
582
|
exclusiveMinimum?: number;
|
|
583
|
+
/** Exclusive numeric upper bound. */
|
|
538
584
|
exclusiveMaximum?: number;
|
|
585
|
+
/** Required numeric step interval. */
|
|
539
586
|
multipleOf?: number;
|
|
587
|
+
/** Inclusive minimum string length. */
|
|
540
588
|
minLength?: number;
|
|
589
|
+
/** Inclusive maximum string length. */
|
|
541
590
|
maxLength?: number;
|
|
591
|
+
/** Inclusive minimum array length. */
|
|
542
592
|
minItems?: number;
|
|
593
|
+
/** Inclusive maximum array length. */
|
|
543
594
|
maxItems?: number;
|
|
595
|
+
/** Regular expression pattern applied to string values. */
|
|
544
596
|
pattern?: string;
|
|
597
|
+
/** Whether array elements must be unique. */
|
|
545
598
|
uniqueItems?: boolean;
|
|
599
|
+
/** Format hint for downstream validators and tooling. */
|
|
546
600
|
format?: string;
|
|
601
|
+
/** Human-readable title for the schema node. */
|
|
547
602
|
title?: string;
|
|
603
|
+
/** Human-readable description for the schema node. */
|
|
548
604
|
description?: string;
|
|
605
|
+
/** Default value suggested for the schema node. */
|
|
549
606
|
default?: unknown;
|
|
607
|
+
/** Whether the schema node is deprecated. */
|
|
550
608
|
deprecated?: boolean;
|
|
609
|
+
/** Additional vendor-prefixed extension keywords. */
|
|
551
610
|
[key: `x-${string}`]: unknown;
|
|
552
611
|
}
|
|
553
612
|
|
|
@@ -557,36 +616,67 @@ export declare interface JsonSchema2020 {
|
|
|
557
616
|
* @beta
|
|
558
617
|
*/
|
|
559
618
|
export declare interface JSONSchema7 {
|
|
619
|
+
/** Declared JSON Schema dialect URI for the document root. */
|
|
560
620
|
$schema?: string;
|
|
621
|
+
/** Stable identifier for the schema document or sub-schema. */
|
|
561
622
|
$id?: string;
|
|
623
|
+
/** Reference to another schema location. */
|
|
562
624
|
$ref?: string;
|
|
625
|
+
/** Human-readable title for the schema node. */
|
|
563
626
|
title?: string;
|
|
627
|
+
/** Human-readable description for the schema node. */
|
|
564
628
|
description?: string;
|
|
629
|
+
/** Whether the schema node is deprecated. */
|
|
565
630
|
deprecated?: boolean;
|
|
631
|
+
/** JSON Schema type keyword for the current node. */
|
|
566
632
|
type?: JSONSchemaType | JSONSchemaType[];
|
|
633
|
+
/** Inclusive minimum string length. */
|
|
567
634
|
minLength?: number;
|
|
635
|
+
/** Inclusive maximum string length. */
|
|
568
636
|
maxLength?: number;
|
|
637
|
+
/** Regular expression pattern applied to string values. */
|
|
569
638
|
pattern?: string;
|
|
639
|
+
/** Inclusive numeric lower bound. */
|
|
570
640
|
minimum?: number;
|
|
641
|
+
/** Inclusive numeric upper bound. */
|
|
571
642
|
maximum?: number;
|
|
643
|
+
/** Exclusive numeric lower bound. */
|
|
572
644
|
exclusiveMinimum?: number;
|
|
645
|
+
/** Exclusive numeric upper bound. */
|
|
573
646
|
exclusiveMaximum?: number;
|
|
647
|
+
/** Closed set of allowed scalar values. */
|
|
574
648
|
enum?: readonly (string | number | boolean | null)[];
|
|
649
|
+
/** Literal value the instance must equal. */
|
|
575
650
|
const?: string | number | boolean | null;
|
|
651
|
+
/** Object properties keyed by property name. */
|
|
576
652
|
properties?: Record<string, JSONSchema7>;
|
|
653
|
+
/** Property names that must be present on object values. */
|
|
577
654
|
required?: string[];
|
|
655
|
+
/** Whether, or how, additional object properties are allowed. */
|
|
578
656
|
additionalProperties?: boolean | JSONSchema7;
|
|
657
|
+
/** Item schema or tuple schemas applied to array elements. */
|
|
579
658
|
items?: JSONSchema7 | JSONSchema7[];
|
|
659
|
+
/** Inclusive minimum array length. */
|
|
580
660
|
minItems?: number;
|
|
661
|
+
/** Inclusive maximum array length. */
|
|
581
662
|
maxItems?: number;
|
|
663
|
+
/** Schemas that must all validate successfully. */
|
|
582
664
|
allOf?: JSONSchema7[];
|
|
665
|
+
/** Schemas of which at least one may validate successfully. */
|
|
583
666
|
anyOf?: JSONSchema7[];
|
|
667
|
+
/** Schemas of which exactly one should validate successfully. */
|
|
584
668
|
oneOf?: JSONSchema7[];
|
|
669
|
+
/** Schema that must not validate successfully. */
|
|
585
670
|
not?: JSONSchema7;
|
|
671
|
+
/** Conditional branch predicate schema. */
|
|
586
672
|
if?: JSONSchema7;
|
|
673
|
+
/** Schema applied when the `if` branch matches. */
|
|
587
674
|
then?: JSONSchema7;
|
|
675
|
+
/** Schema applied when the `if` branch does not match. */
|
|
588
676
|
else?: JSONSchema7;
|
|
677
|
+
/** Format hint for downstream validators and tooling. */
|
|
589
678
|
format?: string;
|
|
679
|
+
/** Default value suggested for the schema node. */
|
|
590
680
|
default?: unknown;
|
|
591
681
|
/**
|
|
592
682
|
* Data source key for dynamic enum fields.
|
|
@@ -623,10 +713,15 @@ export declare type JSONSchemaType = "string" | "number" | "integer" | "boolean"
|
|
|
623
713
|
* @public
|
|
624
714
|
*/
|
|
625
715
|
export declare interface LabelElement {
|
|
716
|
+
/** Discriminator identifying a static text label element. */
|
|
626
717
|
readonly type: "Label";
|
|
718
|
+
/** Static text content rendered by the label element. */
|
|
627
719
|
readonly text: string;
|
|
720
|
+
/** Optional rule controlling visibility or enablement. */
|
|
628
721
|
readonly rule?: Rule | undefined;
|
|
722
|
+
/** Renderer-specific label options. */
|
|
629
723
|
readonly options?: Record<string, unknown> | undefined;
|
|
724
|
+
/** Additional renderer-specific extension properties. */
|
|
630
725
|
readonly [k: string]: unknown;
|
|
631
726
|
}
|
|
632
727
|
|
|
@@ -652,7 +747,9 @@ export { ObjectField }
|
|
|
652
747
|
* @public
|
|
653
748
|
*/
|
|
654
749
|
export declare interface Rule {
|
|
750
|
+
/** UI effect to apply when the rule condition matches. */
|
|
655
751
|
readonly effect: RuleEffect;
|
|
752
|
+
/** Predicate that controls when the UI effect applies. */
|
|
656
753
|
readonly condition: SchemaBasedCondition;
|
|
657
754
|
}
|
|
658
755
|
|
|
@@ -662,17 +759,29 @@ export declare interface Rule {
|
|
|
662
759
|
* @public
|
|
663
760
|
*/
|
|
664
761
|
export declare interface RuleConditionSchema {
|
|
762
|
+
/** Literal value the condition schema must equal. */
|
|
665
763
|
const?: unknown;
|
|
764
|
+
/** Allowed values for the condition schema. */
|
|
666
765
|
enum?: readonly unknown[];
|
|
766
|
+
/** JSON Schema type required by the condition schema. */
|
|
667
767
|
type?: string;
|
|
768
|
+
/** Negated branch of the condition schema. */
|
|
668
769
|
not?: RuleConditionSchema;
|
|
770
|
+
/** Inclusive numeric lower bound in the condition schema. */
|
|
669
771
|
minimum?: number;
|
|
772
|
+
/** Inclusive numeric upper bound in the condition schema. */
|
|
670
773
|
maximum?: number;
|
|
774
|
+
/** Exclusive numeric lower bound in the condition schema. */
|
|
671
775
|
exclusiveMinimum?: number;
|
|
776
|
+
/** Exclusive numeric upper bound in the condition schema. */
|
|
672
777
|
exclusiveMaximum?: number;
|
|
778
|
+
/** Inclusive minimum string length in the condition schema. */
|
|
673
779
|
minLength?: number;
|
|
780
|
+
/** Nested property conditions keyed by property name. */
|
|
674
781
|
properties?: Record<string, RuleConditionSchema>;
|
|
782
|
+
/** Property names that must be present for the condition to match. */
|
|
675
783
|
required?: string[];
|
|
784
|
+
/** Schemas that must all match for the condition to succeed. */
|
|
676
785
|
allOf?: RuleConditionSchema[];
|
|
677
786
|
}
|
|
678
787
|
|
|
@@ -697,7 +806,9 @@ export declare type RuleEffect = "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
|
|
|
697
806
|
* @public
|
|
698
807
|
*/
|
|
699
808
|
export declare interface SchemaBasedCondition {
|
|
809
|
+
/** JSON Pointer scope the rule evaluates against. */
|
|
700
810
|
readonly scope: string;
|
|
811
|
+
/** JSON Schema fragment evaluated at the scoped location. */
|
|
701
812
|
readonly schema: RuleConditionSchema;
|
|
702
813
|
}
|
|
703
814
|
|
|
@@ -747,8 +858,11 @@ export declare type UISchemaElement = ControlElement | VerticalLayout | Horizont
|
|
|
747
858
|
* @public
|
|
748
859
|
*/
|
|
749
860
|
export declare interface UISchemaElementBase {
|
|
861
|
+
/** Discriminator for the concrete JSON Forms element type. */
|
|
750
862
|
type: UISchemaElementType;
|
|
863
|
+
/** Optional rule controlling visibility or enablement. */
|
|
751
864
|
rule?: Rule;
|
|
865
|
+
/** Renderer-specific options shared by UI schema elements. */
|
|
752
866
|
options?: Record<string, unknown>;
|
|
753
867
|
}
|
|
754
868
|
|
|
@@ -765,10 +879,15 @@ export declare type UISchemaElementType = "Control" | "VerticalLayout" | "Horizo
|
|
|
765
879
|
* @public
|
|
766
880
|
*/
|
|
767
881
|
export declare interface VerticalLayout {
|
|
882
|
+
/** Discriminator identifying a vertical layout container. */
|
|
768
883
|
readonly type: "VerticalLayout";
|
|
884
|
+
/** Child elements rendered in vertical order. */
|
|
769
885
|
readonly elements: UISchemaElement[];
|
|
886
|
+
/** Optional rule controlling visibility or enablement. */
|
|
770
887
|
readonly rule?: Rule | undefined;
|
|
888
|
+
/** Renderer-specific layout options. */
|
|
771
889
|
readonly options?: Record<string, unknown> | undefined;
|
|
890
|
+
/** Additional renderer-specific extension properties. */
|
|
772
891
|
readonly [k: string]: unknown;
|
|
773
892
|
}
|
|
774
893
|
|
package/dist/build-beta.d.ts
CHANGED
|
@@ -150,11 +150,17 @@ export { BuiltinConstraintName }
|
|
|
150
150
|
* @public
|
|
151
151
|
*/
|
|
152
152
|
export declare interface Categorization {
|
|
153
|
+
/** Discriminator identifying a categorization layout. */
|
|
153
154
|
readonly type: "Categorization";
|
|
155
|
+
/** Categories rendered as tabs or steps. */
|
|
154
156
|
readonly elements: Category[];
|
|
157
|
+
/** Optional label for the overall categorization container. */
|
|
155
158
|
readonly label?: string | undefined;
|
|
159
|
+
/** Optional rule controlling visibility or enablement. */
|
|
156
160
|
readonly rule?: Rule | undefined;
|
|
161
|
+
/** Renderer-specific categorization options. */
|
|
157
162
|
readonly options?: Record<string, unknown> | undefined;
|
|
163
|
+
/** Additional renderer-specific extension properties. */
|
|
158
164
|
readonly [k: string]: unknown;
|
|
159
165
|
}
|
|
160
166
|
|
|
@@ -164,11 +170,17 @@ export declare interface Categorization {
|
|
|
164
170
|
* @public
|
|
165
171
|
*/
|
|
166
172
|
export declare interface Category {
|
|
173
|
+
/** Discriminator identifying a category inside a categorization layout. */
|
|
167
174
|
readonly type: "Category";
|
|
175
|
+
/** Category label shown in tabs or step navigation. */
|
|
168
176
|
readonly label: string;
|
|
177
|
+
/** Child elements rendered inside the category. */
|
|
169
178
|
readonly elements: UISchemaElement[];
|
|
179
|
+
/** Optional rule controlling visibility or enablement. */
|
|
170
180
|
readonly rule?: Rule | undefined;
|
|
181
|
+
/** Renderer-specific category options. */
|
|
171
182
|
readonly options?: Record<string, unknown> | undefined;
|
|
183
|
+
/** Additional renderer-specific extension properties. */
|
|
172
184
|
readonly [k: string]: unknown;
|
|
173
185
|
}
|
|
174
186
|
|
|
@@ -184,11 +196,17 @@ export { ConstraintTagRegistration }
|
|
|
184
196
|
* @public
|
|
185
197
|
*/
|
|
186
198
|
export declare interface ControlElement {
|
|
199
|
+
/** Discriminator identifying a JSON Forms control element. */
|
|
187
200
|
readonly type: "Control";
|
|
201
|
+
/** JSON Pointer scope that this control binds to. */
|
|
188
202
|
readonly scope: string;
|
|
203
|
+
/** Optional label override, or `false` to suppress the label. */
|
|
189
204
|
readonly label?: string | false | undefined;
|
|
205
|
+
/** Optional rule controlling visibility or enablement. */
|
|
190
206
|
readonly rule?: Rule | undefined;
|
|
207
|
+
/** Renderer-specific control options. */
|
|
191
208
|
readonly options?: Record<string, unknown> | undefined;
|
|
209
|
+
/** Additional renderer-specific extension properties. */
|
|
192
210
|
readonly [k: string]: unknown;
|
|
193
211
|
}
|
|
194
212
|
|
|
@@ -489,11 +507,17 @@ export { Group }
|
|
|
489
507
|
* @public
|
|
490
508
|
*/
|
|
491
509
|
export declare interface GroupLayout {
|
|
510
|
+
/** Discriminator identifying a labeled group container. */
|
|
492
511
|
readonly type: "Group";
|
|
512
|
+
/** Group label shown by compatible renderers. */
|
|
493
513
|
readonly label: string;
|
|
514
|
+
/** Child elements rendered inside the group. */
|
|
494
515
|
readonly elements: UISchemaElement[];
|
|
516
|
+
/** Optional rule controlling visibility or enablement. */
|
|
495
517
|
readonly rule?: Rule | undefined;
|
|
518
|
+
/** Renderer-specific group options. */
|
|
496
519
|
readonly options?: Record<string, unknown> | undefined;
|
|
520
|
+
/** Additional renderer-specific extension properties. */
|
|
497
521
|
readonly [k: string]: unknown;
|
|
498
522
|
}
|
|
499
523
|
|
|
@@ -503,10 +527,15 @@ export declare interface GroupLayout {
|
|
|
503
527
|
* @public
|
|
504
528
|
*/
|
|
505
529
|
export declare interface HorizontalLayout {
|
|
530
|
+
/** Discriminator identifying a horizontal layout container. */
|
|
506
531
|
readonly type: "HorizontalLayout";
|
|
532
|
+
/** Child elements rendered side by side. */
|
|
507
533
|
readonly elements: UISchemaElement[];
|
|
534
|
+
/** Optional rule controlling visibility or enablement. */
|
|
508
535
|
readonly rule?: Rule | undefined;
|
|
536
|
+
/** Renderer-specific layout options. */
|
|
509
537
|
readonly options?: Record<string, unknown> | undefined;
|
|
538
|
+
/** Additional renderer-specific extension properties. */
|
|
510
539
|
readonly [k: string]: unknown;
|
|
511
540
|
}
|
|
512
541
|
|
|
@@ -519,35 +548,65 @@ export declare interface HorizontalLayout {
|
|
|
519
548
|
* @public
|
|
520
549
|
*/
|
|
521
550
|
export declare interface JsonSchema2020 {
|
|
551
|
+
/** Declared JSON Schema dialect URI for the document root. */
|
|
522
552
|
$schema?: string;
|
|
553
|
+
/** Reference to another schema location. */
|
|
523
554
|
$ref?: string;
|
|
555
|
+
/** Named reusable schema definitions keyed by definition name. */
|
|
524
556
|
$defs?: Record<string, JsonSchema2020>;
|
|
557
|
+
/** JSON Schema type keyword for the current node. */
|
|
525
558
|
type?: string;
|
|
559
|
+
/** Object properties keyed by property name. */
|
|
526
560
|
properties?: Record<string, JsonSchema2020>;
|
|
561
|
+
/** Property names that must be present on object values. */
|
|
527
562
|
required?: string[];
|
|
563
|
+
/** Item schema applied to array elements. */
|
|
528
564
|
items?: JsonSchema2020;
|
|
565
|
+
/** Whether, or how, additional object properties are allowed. */
|
|
529
566
|
additionalProperties?: boolean | JsonSchema2020;
|
|
567
|
+
/** Closed set of allowed scalar values. */
|
|
530
568
|
enum?: readonly (string | number)[];
|
|
569
|
+
/** Literal value the instance must equal. */
|
|
531
570
|
const?: unknown;
|
|
571
|
+
/** Schemas that must all validate successfully. */
|
|
532
572
|
allOf?: readonly JsonSchema2020[];
|
|
573
|
+
/** Schemas of which exactly one should validate successfully. */
|
|
533
574
|
oneOf?: readonly JsonSchema2020[];
|
|
575
|
+
/** Schemas of which at least one may validate successfully. */
|
|
534
576
|
anyOf?: readonly JsonSchema2020[];
|
|
577
|
+
/** Inclusive numeric lower bound. */
|
|
535
578
|
minimum?: number;
|
|
579
|
+
/** Inclusive numeric upper bound. */
|
|
536
580
|
maximum?: number;
|
|
581
|
+
/** Exclusive numeric lower bound. */
|
|
537
582
|
exclusiveMinimum?: number;
|
|
583
|
+
/** Exclusive numeric upper bound. */
|
|
538
584
|
exclusiveMaximum?: number;
|
|
585
|
+
/** Required numeric step interval. */
|
|
539
586
|
multipleOf?: number;
|
|
587
|
+
/** Inclusive minimum string length. */
|
|
540
588
|
minLength?: number;
|
|
589
|
+
/** Inclusive maximum string length. */
|
|
541
590
|
maxLength?: number;
|
|
591
|
+
/** Inclusive minimum array length. */
|
|
542
592
|
minItems?: number;
|
|
593
|
+
/** Inclusive maximum array length. */
|
|
543
594
|
maxItems?: number;
|
|
595
|
+
/** Regular expression pattern applied to string values. */
|
|
544
596
|
pattern?: string;
|
|
597
|
+
/** Whether array elements must be unique. */
|
|
545
598
|
uniqueItems?: boolean;
|
|
599
|
+
/** Format hint for downstream validators and tooling. */
|
|
546
600
|
format?: string;
|
|
601
|
+
/** Human-readable title for the schema node. */
|
|
547
602
|
title?: string;
|
|
603
|
+
/** Human-readable description for the schema node. */
|
|
548
604
|
description?: string;
|
|
605
|
+
/** Default value suggested for the schema node. */
|
|
549
606
|
default?: unknown;
|
|
607
|
+
/** Whether the schema node is deprecated. */
|
|
550
608
|
deprecated?: boolean;
|
|
609
|
+
/** Additional vendor-prefixed extension keywords. */
|
|
551
610
|
[key: `x-${string}`]: unknown;
|
|
552
611
|
}
|
|
553
612
|
|
|
@@ -557,36 +616,67 @@ export declare interface JsonSchema2020 {
|
|
|
557
616
|
* @beta
|
|
558
617
|
*/
|
|
559
618
|
export declare interface JSONSchema7 {
|
|
619
|
+
/** Declared JSON Schema dialect URI for the document root. */
|
|
560
620
|
$schema?: string;
|
|
621
|
+
/** Stable identifier for the schema document or sub-schema. */
|
|
561
622
|
$id?: string;
|
|
623
|
+
/** Reference to another schema location. */
|
|
562
624
|
$ref?: string;
|
|
625
|
+
/** Human-readable title for the schema node. */
|
|
563
626
|
title?: string;
|
|
627
|
+
/** Human-readable description for the schema node. */
|
|
564
628
|
description?: string;
|
|
629
|
+
/** Whether the schema node is deprecated. */
|
|
565
630
|
deprecated?: boolean;
|
|
631
|
+
/** JSON Schema type keyword for the current node. */
|
|
566
632
|
type?: JSONSchemaType | JSONSchemaType[];
|
|
633
|
+
/** Inclusive minimum string length. */
|
|
567
634
|
minLength?: number;
|
|
635
|
+
/** Inclusive maximum string length. */
|
|
568
636
|
maxLength?: number;
|
|
637
|
+
/** Regular expression pattern applied to string values. */
|
|
569
638
|
pattern?: string;
|
|
639
|
+
/** Inclusive numeric lower bound. */
|
|
570
640
|
minimum?: number;
|
|
641
|
+
/** Inclusive numeric upper bound. */
|
|
571
642
|
maximum?: number;
|
|
643
|
+
/** Exclusive numeric lower bound. */
|
|
572
644
|
exclusiveMinimum?: number;
|
|
645
|
+
/** Exclusive numeric upper bound. */
|
|
573
646
|
exclusiveMaximum?: number;
|
|
647
|
+
/** Closed set of allowed scalar values. */
|
|
574
648
|
enum?: readonly (string | number | boolean | null)[];
|
|
649
|
+
/** Literal value the instance must equal. */
|
|
575
650
|
const?: string | number | boolean | null;
|
|
651
|
+
/** Object properties keyed by property name. */
|
|
576
652
|
properties?: Record<string, JSONSchema7>;
|
|
653
|
+
/** Property names that must be present on object values. */
|
|
577
654
|
required?: string[];
|
|
655
|
+
/** Whether, or how, additional object properties are allowed. */
|
|
578
656
|
additionalProperties?: boolean | JSONSchema7;
|
|
657
|
+
/** Item schema or tuple schemas applied to array elements. */
|
|
579
658
|
items?: JSONSchema7 | JSONSchema7[];
|
|
659
|
+
/** Inclusive minimum array length. */
|
|
580
660
|
minItems?: number;
|
|
661
|
+
/** Inclusive maximum array length. */
|
|
581
662
|
maxItems?: number;
|
|
663
|
+
/** Schemas that must all validate successfully. */
|
|
582
664
|
allOf?: JSONSchema7[];
|
|
665
|
+
/** Schemas of which at least one may validate successfully. */
|
|
583
666
|
anyOf?: JSONSchema7[];
|
|
667
|
+
/** Schemas of which exactly one should validate successfully. */
|
|
584
668
|
oneOf?: JSONSchema7[];
|
|
669
|
+
/** Schema that must not validate successfully. */
|
|
585
670
|
not?: JSONSchema7;
|
|
671
|
+
/** Conditional branch predicate schema. */
|
|
586
672
|
if?: JSONSchema7;
|
|
673
|
+
/** Schema applied when the `if` branch matches. */
|
|
587
674
|
then?: JSONSchema7;
|
|
675
|
+
/** Schema applied when the `if` branch does not match. */
|
|
588
676
|
else?: JSONSchema7;
|
|
677
|
+
/** Format hint for downstream validators and tooling. */
|
|
589
678
|
format?: string;
|
|
679
|
+
/** Default value suggested for the schema node. */
|
|
590
680
|
default?: unknown;
|
|
591
681
|
/**
|
|
592
682
|
* Data source key for dynamic enum fields.
|
|
@@ -623,10 +713,15 @@ export declare type JSONSchemaType = "string" | "number" | "integer" | "boolean"
|
|
|
623
713
|
* @public
|
|
624
714
|
*/
|
|
625
715
|
export declare interface LabelElement {
|
|
716
|
+
/** Discriminator identifying a static text label element. */
|
|
626
717
|
readonly type: "Label";
|
|
718
|
+
/** Static text content rendered by the label element. */
|
|
627
719
|
readonly text: string;
|
|
720
|
+
/** Optional rule controlling visibility or enablement. */
|
|
628
721
|
readonly rule?: Rule | undefined;
|
|
722
|
+
/** Renderer-specific label options. */
|
|
629
723
|
readonly options?: Record<string, unknown> | undefined;
|
|
724
|
+
/** Additional renderer-specific extension properties. */
|
|
630
725
|
readonly [k: string]: unknown;
|
|
631
726
|
}
|
|
632
727
|
|
|
@@ -652,7 +747,9 @@ export { ObjectField }
|
|
|
652
747
|
* @public
|
|
653
748
|
*/
|
|
654
749
|
export declare interface Rule {
|
|
750
|
+
/** UI effect to apply when the rule condition matches. */
|
|
655
751
|
readonly effect: RuleEffect;
|
|
752
|
+
/** Predicate that controls when the UI effect applies. */
|
|
656
753
|
readonly condition: SchemaBasedCondition;
|
|
657
754
|
}
|
|
658
755
|
|
|
@@ -662,17 +759,29 @@ export declare interface Rule {
|
|
|
662
759
|
* @public
|
|
663
760
|
*/
|
|
664
761
|
export declare interface RuleConditionSchema {
|
|
762
|
+
/** Literal value the condition schema must equal. */
|
|
665
763
|
const?: unknown;
|
|
764
|
+
/** Allowed values for the condition schema. */
|
|
666
765
|
enum?: readonly unknown[];
|
|
766
|
+
/** JSON Schema type required by the condition schema. */
|
|
667
767
|
type?: string;
|
|
768
|
+
/** Negated branch of the condition schema. */
|
|
668
769
|
not?: RuleConditionSchema;
|
|
770
|
+
/** Inclusive numeric lower bound in the condition schema. */
|
|
669
771
|
minimum?: number;
|
|
772
|
+
/** Inclusive numeric upper bound in the condition schema. */
|
|
670
773
|
maximum?: number;
|
|
774
|
+
/** Exclusive numeric lower bound in the condition schema. */
|
|
671
775
|
exclusiveMinimum?: number;
|
|
776
|
+
/** Exclusive numeric upper bound in the condition schema. */
|
|
672
777
|
exclusiveMaximum?: number;
|
|
778
|
+
/** Inclusive minimum string length in the condition schema. */
|
|
673
779
|
minLength?: number;
|
|
780
|
+
/** Nested property conditions keyed by property name. */
|
|
674
781
|
properties?: Record<string, RuleConditionSchema>;
|
|
782
|
+
/** Property names that must be present for the condition to match. */
|
|
675
783
|
required?: string[];
|
|
784
|
+
/** Schemas that must all match for the condition to succeed. */
|
|
676
785
|
allOf?: RuleConditionSchema[];
|
|
677
786
|
}
|
|
678
787
|
|
|
@@ -697,7 +806,9 @@ export declare type RuleEffect = "SHOW" | "HIDE" | "ENABLE" | "DISABLE";
|
|
|
697
806
|
* @public
|
|
698
807
|
*/
|
|
699
808
|
export declare interface SchemaBasedCondition {
|
|
809
|
+
/** JSON Pointer scope the rule evaluates against. */
|
|
700
810
|
readonly scope: string;
|
|
811
|
+
/** JSON Schema fragment evaluated at the scoped location. */
|
|
701
812
|
readonly schema: RuleConditionSchema;
|
|
702
813
|
}
|
|
703
814
|
|
|
@@ -747,8 +858,11 @@ export declare type UISchemaElement = ControlElement | VerticalLayout | Horizont
|
|
|
747
858
|
* @public
|
|
748
859
|
*/
|
|
749
860
|
export declare interface UISchemaElementBase {
|
|
861
|
+
/** Discriminator for the concrete JSON Forms element type. */
|
|
750
862
|
type: UISchemaElementType;
|
|
863
|
+
/** Optional rule controlling visibility or enablement. */
|
|
751
864
|
rule?: Rule;
|
|
865
|
+
/** Renderer-specific options shared by UI schema elements. */
|
|
752
866
|
options?: Record<string, unknown>;
|
|
753
867
|
}
|
|
754
868
|
|
|
@@ -765,10 +879,15 @@ export declare type UISchemaElementType = "Control" | "VerticalLayout" | "Horizo
|
|
|
765
879
|
* @public
|
|
766
880
|
*/
|
|
767
881
|
export declare interface VerticalLayout {
|
|
882
|
+
/** Discriminator identifying a vertical layout container. */
|
|
768
883
|
readonly type: "VerticalLayout";
|
|
884
|
+
/** Child elements rendered in vertical order. */
|
|
769
885
|
readonly elements: UISchemaElement[];
|
|
886
|
+
/** Optional rule controlling visibility or enablement. */
|
|
770
887
|
readonly rule?: Rule | undefined;
|
|
888
|
+
/** Renderer-specific layout options. */
|
|
771
889
|
readonly options?: Record<string, unknown> | undefined;
|
|
890
|
+
/** Additional renderer-specific extension properties. */
|
|
772
891
|
readonly [k: string]: unknown;
|
|
773
892
|
}
|
|
774
893
|
|