@rjsf/utils 5.0.0-beta.16 → 5.0.0-beta.18
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/index.d.ts +244 -58
- package/dist/utils.cjs.development.js +617 -99
- package/dist/utils.cjs.development.js.map +1 -1
- package/dist/utils.cjs.production.min.js +1 -1
- package/dist/utils.cjs.production.min.js.map +1 -1
- package/dist/utils.esm.js +601 -100
- package/dist/utils.esm.js.map +1 -1
- package/dist/utils.umd.development.js +616 -103
- package/dist/utils.umd.development.js.map +1 -1
- package/dist/utils.umd.production.min.js +1 -1
- package/dist/utils.umd.production.min.js.map +1 -1
- package/package.json +10 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { StyleHTMLAttributes } from 'react';
|
|
2
2
|
import * as json_schema from 'json-schema';
|
|
3
3
|
import { JSONSchema7 } from 'json-schema';
|
|
4
4
|
|
|
5
5
|
/** The representation of any generic object type, usually used as an intersection on other types to make them more
|
|
6
6
|
* flexible in the properties they support (i.e. anything else)
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
type GenericObjectType = {
|
|
9
9
|
[name: string]: any;
|
|
10
10
|
};
|
|
11
11
|
/** Map the JSONSchema7 to our own type so that we can easily bump to a more recent version at some future date and only
|
|
12
12
|
* have to update this one type.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
type StrictRJSFSchema = JSONSchema7;
|
|
15
15
|
/** Allow for more flexible schemas (i.e. draft-2019) than the strict JSONSchema7
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
type RJSFSchema = StrictRJSFSchema & GenericObjectType;
|
|
18
18
|
/** Alias GenericObjectType as FormContextType to allow us to remap this at some future date
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
type FormContextType = GenericObjectType;
|
|
21
21
|
/** The interface representing a Date object that contains an optional time */
|
|
22
22
|
interface DateObject {
|
|
23
23
|
/** The year of the Date */
|
|
@@ -34,7 +34,7 @@ interface DateObject {
|
|
|
34
34
|
second?: number;
|
|
35
35
|
}
|
|
36
36
|
/** Properties describing a Range specification in terms of attribute that can be added to the `HTML` `<input>` */
|
|
37
|
-
|
|
37
|
+
type RangeSpecType = {
|
|
38
38
|
/** Specifies the interval between legal numbers in an input field */
|
|
39
39
|
step?: number;
|
|
40
40
|
/** Specifies a minimum value for an <input> element */
|
|
@@ -43,7 +43,7 @@ declare type RangeSpecType = {
|
|
|
43
43
|
max?: number;
|
|
44
44
|
};
|
|
45
45
|
/** Properties describing a Range specification in terms of attribute that can be added to the `HTML` `<input>` */
|
|
46
|
-
|
|
46
|
+
type InputPropsType = Omit<RangeSpecType, "step"> & {
|
|
47
47
|
/** Specifies the type of the <input> element */
|
|
48
48
|
type: string;
|
|
49
49
|
/** Specifies the interval between legal numbers in an input field or "any" */
|
|
@@ -52,25 +52,25 @@ declare type InputPropsType = Omit<RangeSpecType, "step"> & {
|
|
|
52
52
|
autoComplete?: HTMLInputElement["autocomplete"];
|
|
53
53
|
};
|
|
54
54
|
/** Type describing an id used for a field in the `IdSchema` */
|
|
55
|
-
|
|
55
|
+
type FieldId = {
|
|
56
56
|
/** The id for a field */
|
|
57
57
|
$id: string;
|
|
58
58
|
};
|
|
59
59
|
/** Type describing a recursive structure of `FieldId`s for an object with a non-empty set of keys */
|
|
60
|
-
|
|
60
|
+
type IdSchema<T = any> = FieldId & {
|
|
61
61
|
[key in keyof T]?: IdSchema<T[key]>;
|
|
62
62
|
};
|
|
63
63
|
/** Type describing a name used for a field in the `PathSchema` */
|
|
64
|
-
|
|
64
|
+
type FieldPath = {
|
|
65
65
|
/** The name of a field */
|
|
66
66
|
$name: string;
|
|
67
67
|
};
|
|
68
68
|
/** Type describing a recursive structure of `FieldPath`s for an object with a non-empty set of keys */
|
|
69
|
-
|
|
69
|
+
type PathSchema<T = any> = FieldPath & {
|
|
70
70
|
[key in keyof T]?: PathSchema<T[key]>;
|
|
71
71
|
};
|
|
72
72
|
/** The type for error produced by RJSF schema validation */
|
|
73
|
-
|
|
73
|
+
type RJSFValidationError = {
|
|
74
74
|
/** Name of the error, for example, "required" or "minLength" */
|
|
75
75
|
name?: string;
|
|
76
76
|
/** Message, for example, "is a required property" or "should NOT be shorter than 3 characters" */
|
|
@@ -92,27 +92,27 @@ declare type RJSFValidationError = {
|
|
|
92
92
|
stack: string;
|
|
93
93
|
};
|
|
94
94
|
/** The type that describes an error in a field */
|
|
95
|
-
|
|
95
|
+
type FieldError = string;
|
|
96
96
|
/** The type that describes the list of errors for a field */
|
|
97
|
-
|
|
97
|
+
type FieldErrors = {
|
|
98
98
|
/** The list of errors for the field */
|
|
99
99
|
__errors?: FieldError[];
|
|
100
100
|
};
|
|
101
101
|
/** Type describing a recursive structure of `FieldErrors`s for an object with a non-empty set of keys */
|
|
102
|
-
|
|
102
|
+
type ErrorSchema<T = any> = FieldErrors & {
|
|
103
103
|
[key in keyof T]?: ErrorSchema<T[key]>;
|
|
104
104
|
};
|
|
105
105
|
/** Type that describes the list of errors for a field being actively validated by a custom validator */
|
|
106
|
-
|
|
106
|
+
type FieldValidation = FieldErrors & {
|
|
107
107
|
/** Function that will add a new `message` to the list of errors */
|
|
108
108
|
addError: (message: string) => void;
|
|
109
109
|
};
|
|
110
110
|
/** Type describing a recursive structure of `FieldValidation`s for an object with a non-empty set of keys */
|
|
111
|
-
|
|
111
|
+
type FormValidation<T = any> = FieldValidation & {
|
|
112
112
|
[key in keyof T]?: FormValidation<T[key]>;
|
|
113
113
|
};
|
|
114
114
|
/** The properties that are passed to an `ErrorListTemplate` implementation */
|
|
115
|
-
|
|
115
|
+
type ErrorListProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
116
116
|
/** The errorSchema constructed by `Form` */
|
|
117
117
|
errorSchema: ErrorSchema<T>;
|
|
118
118
|
/** An array of the errors */
|
|
@@ -125,7 +125,7 @@ declare type ErrorListProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
125
125
|
uiSchema?: UiSchema<T, S, F>;
|
|
126
126
|
};
|
|
127
127
|
/** The properties that are passed to an `FieldErrorTemplate` implementation */
|
|
128
|
-
|
|
128
|
+
type FieldErrorProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
129
129
|
/** The errorSchema constructed by `Form` */
|
|
130
130
|
errorSchema?: ErrorSchema<T>;
|
|
131
131
|
/** An array of the errors */
|
|
@@ -140,7 +140,7 @@ declare type FieldErrorProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
140
140
|
registry: Registry<T, S, F>;
|
|
141
141
|
};
|
|
142
142
|
/** The properties that are passed to an `FieldHelpTemplate` implementation */
|
|
143
|
-
|
|
143
|
+
type FieldHelpProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
144
144
|
/** The help information to be rendered */
|
|
145
145
|
help?: string | React.ReactElement;
|
|
146
146
|
/** The tree of unique ids for every child field */
|
|
@@ -155,12 +155,12 @@ declare type FieldHelpProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
155
155
|
registry: Registry<T, S, F>;
|
|
156
156
|
};
|
|
157
157
|
/** The set of `Fields` stored in the `Registry` */
|
|
158
|
-
|
|
158
|
+
type RegistryFieldsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
159
159
|
/** A `Field` indexed by `name` */
|
|
160
160
|
[name: string]: Field<T, S, F>;
|
|
161
161
|
};
|
|
162
162
|
/** The set of `Widgets` stored in the `Registry` */
|
|
163
|
-
|
|
163
|
+
type RegistryWidgetsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
164
164
|
/** A `Widget` indexed by `name` */
|
|
165
165
|
[name: string]: Widget<T, S, F>;
|
|
166
166
|
};
|
|
@@ -242,11 +242,11 @@ interface FieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends
|
|
|
242
242
|
/** The tree of unique ids for every child field */
|
|
243
243
|
idSchema: IdSchema<T>;
|
|
244
244
|
/** The data for this field */
|
|
245
|
-
formData
|
|
245
|
+
formData?: T;
|
|
246
246
|
/** The tree of errors for this field and its children */
|
|
247
247
|
errorSchema?: ErrorSchema<T>;
|
|
248
248
|
/** The field change event handler; called with the updated form data and an optional `ErrorSchema` */
|
|
249
|
-
onChange: (newFormData: T, es?: ErrorSchema<T>, id?: string) => any;
|
|
249
|
+
onChange: (newFormData: T | undefined, es?: ErrorSchema<T>, id?: string) => any;
|
|
250
250
|
/** The input blur event handler; call it with the field id and value */
|
|
251
251
|
onBlur: (id: string, value: any) => void;
|
|
252
252
|
/** The input focus event handler; call it with the field id and value */
|
|
@@ -269,13 +269,15 @@ interface FieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends
|
|
|
269
269
|
registry: Registry<T, S, F>;
|
|
270
270
|
}
|
|
271
271
|
/** The definition of a React-based Field component */
|
|
272
|
-
|
|
272
|
+
type Field<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ComponentType<FieldProps<T, S, F>>;
|
|
273
273
|
/** The properties that are passed to a FieldTemplate implementation */
|
|
274
|
-
|
|
274
|
+
type FieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
275
275
|
/** The id of the field in the hierarchy. You can use it to render a label targeting the wrapped widget */
|
|
276
276
|
id: string;
|
|
277
277
|
/** A string containing the base CSS classes, merged with any custom ones defined in your uiSchema */
|
|
278
278
|
classNames?: string;
|
|
279
|
+
/** An object containing the style as defined in the `uiSchema` */
|
|
280
|
+
style?: StyleHTMLAttributes<any>;
|
|
279
281
|
/** The computed label for this field, as a string */
|
|
280
282
|
label: string;
|
|
281
283
|
/** A component instance rendering the field description, if one is defined (this will use any custom
|
|
@@ -317,7 +319,7 @@ declare type FieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema
|
|
|
317
319
|
/** The `formContext` object that was passed to `Form` */
|
|
318
320
|
formContext?: F;
|
|
319
321
|
/** The formData for this field */
|
|
320
|
-
formData
|
|
322
|
+
formData?: T;
|
|
321
323
|
/** The value change event handler; Can be called with a new value to change the value for this field */
|
|
322
324
|
onChange: FieldProps["onChange"];
|
|
323
325
|
/** The key change event handler; Called when the key associated with a field is changed for an additionalProperty */
|
|
@@ -328,7 +330,7 @@ declare type FieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema
|
|
|
328
330
|
registry: Registry<T, S, F>;
|
|
329
331
|
};
|
|
330
332
|
/** The properties that are passed to the `UnsupportedFieldTemplate` implementation */
|
|
331
|
-
|
|
333
|
+
type UnsupportedFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
332
334
|
/** The schema object for this field */
|
|
333
335
|
schema: S;
|
|
334
336
|
/** The tree of unique ids for every child field */
|
|
@@ -339,7 +341,7 @@ declare type UnsupportedFieldProps<T = any, S extends StrictRJSFSchema = RJSFSch
|
|
|
339
341
|
registry: Registry<T, S, F>;
|
|
340
342
|
};
|
|
341
343
|
/** The properties that are passed to a `TitleFieldTemplate` implementation */
|
|
342
|
-
|
|
344
|
+
type TitleFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
343
345
|
/** The id of the field title in the hierarchy */
|
|
344
346
|
id: string;
|
|
345
347
|
/** The title for the field being rendered */
|
|
@@ -354,7 +356,7 @@ declare type TitleFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
354
356
|
registry: Registry<T, S, F>;
|
|
355
357
|
};
|
|
356
358
|
/** The properties that are passed to a `DescriptionFieldTemplate` implementation */
|
|
357
|
-
|
|
359
|
+
type DescriptionFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
358
360
|
/** The id of the field description in the hierarchy */
|
|
359
361
|
id: string;
|
|
360
362
|
/** The schema object for the field being described */
|
|
@@ -367,21 +369,21 @@ declare type DescriptionFieldProps<T = any, S extends StrictRJSFSchema = RJSFSch
|
|
|
367
369
|
registry: Registry<T, S, F>;
|
|
368
370
|
};
|
|
369
371
|
/** The properties that are passed to a `ArrayFieldTitleTemplate` implementation */
|
|
370
|
-
|
|
372
|
+
type ArrayFieldTitleProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Omit<TitleFieldProps<T, S, F>, "id" | "title"> & {
|
|
371
373
|
/** The title for the field being rendered */
|
|
372
374
|
title?: string;
|
|
373
375
|
/** The idSchema of the field in the hierarchy */
|
|
374
376
|
idSchema: IdSchema<T>;
|
|
375
377
|
};
|
|
376
378
|
/** The properties that are passed to a `ArrayFieldDescriptionTemplate` implementation */
|
|
377
|
-
|
|
379
|
+
type ArrayFieldDescriptionProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Omit<DescriptionFieldProps<T, S, F>, "id" | "description"> & {
|
|
378
380
|
/** The description of the field being rendered */
|
|
379
381
|
description?: string | React.ReactElement;
|
|
380
382
|
/** The idSchema of the field in the hierarchy */
|
|
381
383
|
idSchema: IdSchema<T>;
|
|
382
384
|
};
|
|
383
385
|
/** The properties of each element in the ArrayFieldTemplateProps.items array */
|
|
384
|
-
|
|
386
|
+
type ArrayFieldTemplateItemType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
385
387
|
/** The html for the item's content */
|
|
386
388
|
children: React.ReactElement;
|
|
387
389
|
/** The className string */
|
|
@@ -420,7 +422,7 @@ declare type ArrayFieldTemplateItemType<T = any, S extends StrictRJSFSchema = RJ
|
|
|
420
422
|
registry: Registry<T, S, F>;
|
|
421
423
|
};
|
|
422
424
|
/** The properties that are passed to an ArrayFieldTemplate implementation */
|
|
423
|
-
|
|
425
|
+
type ArrayFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
424
426
|
/** A boolean value stating whether new elements can be added to the array */
|
|
425
427
|
canAdd?: boolean;
|
|
426
428
|
/** The className string */
|
|
@@ -448,14 +450,14 @@ declare type ArrayFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFS
|
|
|
448
450
|
/** The `formContext` object that was passed to Form */
|
|
449
451
|
formContext?: F;
|
|
450
452
|
/** The formData for this array */
|
|
451
|
-
formData
|
|
453
|
+
formData?: T;
|
|
452
454
|
/** An array of strings listing all generated error messages from encountered errors for this widget */
|
|
453
455
|
rawErrors?: string[];
|
|
454
456
|
/** The `registry` object */
|
|
455
457
|
registry: Registry<T, S, F>;
|
|
456
458
|
};
|
|
457
459
|
/** The properties of each element in the ObjectFieldTemplateProps.properties array */
|
|
458
|
-
|
|
460
|
+
type ObjectFieldTemplatePropertyType = {
|
|
459
461
|
/** The html for the property's content */
|
|
460
462
|
content: React.ReactElement;
|
|
461
463
|
/** A string representing the property name */
|
|
@@ -468,7 +470,7 @@ declare type ObjectFieldTemplatePropertyType = {
|
|
|
468
470
|
hidden: boolean;
|
|
469
471
|
};
|
|
470
472
|
/** The properties that are passed to an ObjectFieldTemplate implementation */
|
|
471
|
-
|
|
473
|
+
type ObjectFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
472
474
|
/** A string value containing the title for the object */
|
|
473
475
|
title: string;
|
|
474
476
|
/** A string value containing the description for the object */
|
|
@@ -492,17 +494,17 @@ declare type ObjectFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSF
|
|
|
492
494
|
/** An object containing the id for this object & ids for its properties */
|
|
493
495
|
idSchema: IdSchema<T>;
|
|
494
496
|
/** The form data for the object */
|
|
495
|
-
formData
|
|
497
|
+
formData?: T;
|
|
496
498
|
/** The `formContext` object that was passed to Form */
|
|
497
499
|
formContext?: F;
|
|
498
500
|
/** The `registry` object */
|
|
499
501
|
registry: Registry<T, S, F>;
|
|
500
502
|
};
|
|
501
503
|
/** The properties that are passed to a WrapIfAdditionalTemplate implementation */
|
|
502
|
-
|
|
504
|
+
type WrapIfAdditionalTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
503
505
|
/** The field or widget component instance for this field row */
|
|
504
506
|
children: React.ReactNode;
|
|
505
|
-
} & Pick<FieldTemplateProps<T, S, F>, "id" | "classNames" | "label" | "required" | "readonly" | "disabled" | "schema" | "uiSchema" | "onKeyChange" | "onDropPropertyClick" | "registry">;
|
|
507
|
+
} & Pick<FieldTemplateProps<T, S, F>, "id" | "classNames" | "style" | "label" | "required" | "readonly" | "disabled" | "schema" | "uiSchema" | "onKeyChange" | "onDropPropertyClick" | "registry">;
|
|
506
508
|
/** The properties that are passed to a Widget implementation */
|
|
507
509
|
interface WidgetProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> extends GenericObjectType, Pick<React.HTMLAttributes<HTMLElement>, Exclude<keyof React.HTMLAttributes<HTMLElement>, "onBlur" | "onFocus">> {
|
|
508
510
|
/** The generated id for this widget */
|
|
@@ -550,16 +552,16 @@ interface WidgetProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
|
|
|
550
552
|
registry: Registry<T, S, F>;
|
|
551
553
|
}
|
|
552
554
|
/** The definition of a React-based Widget component */
|
|
553
|
-
|
|
555
|
+
type Widget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ComponentType<WidgetProps<T, S, F>>;
|
|
554
556
|
/** The type that defines the props used by the Submit button */
|
|
555
|
-
|
|
557
|
+
type SubmitButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
|
|
556
558
|
/** The uiSchema for this widget */
|
|
557
559
|
uiSchema?: UiSchema<T, S, F>;
|
|
558
560
|
/** The `registry` object */
|
|
559
561
|
registry: Registry<T, S, F>;
|
|
560
562
|
};
|
|
561
563
|
/** The type that defines the props for an Icon button, extending from a basic HTML button attributes */
|
|
562
|
-
|
|
564
|
+
type IconButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
563
565
|
/** An alternative specification for the type of the icon button */
|
|
564
566
|
iconType?: string;
|
|
565
567
|
/** The name representation or actual react element implementation for the icon */
|
|
@@ -570,7 +572,7 @@ declare type IconButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
570
572
|
registry: Registry<T, S, F>;
|
|
571
573
|
};
|
|
572
574
|
/** The type that defines how to change the behavior of the submit button for the form */
|
|
573
|
-
|
|
575
|
+
type UISchemaSubmitButtonOptions = {
|
|
574
576
|
/** The text of the submit button. Set to "Submit" by default */
|
|
575
577
|
submitText?: string;
|
|
576
578
|
/** Flag, if `true`, removes the submit button completely from the form */
|
|
@@ -584,7 +586,7 @@ declare type UISchemaSubmitButtonOptions = {
|
|
|
584
586
|
};
|
|
585
587
|
};
|
|
586
588
|
/** This type represents an element used to render an enum option */
|
|
587
|
-
|
|
589
|
+
type EnumOptionsType<S extends StrictRJSFSchema = RJSFSchema> = {
|
|
588
590
|
/** The value for the enum option */
|
|
589
591
|
value: any;
|
|
590
592
|
/** The label for the enum options */
|
|
@@ -593,15 +595,17 @@ declare type EnumOptionsType<S extends StrictRJSFSchema = RJSFSchema> = {
|
|
|
593
595
|
schema?: S;
|
|
594
596
|
};
|
|
595
597
|
/** This type remaps the keys of `Type` to prepend `ui:` onto them. As a result it does not need to be exported */
|
|
596
|
-
|
|
598
|
+
type MakeUIType<Type> = {
|
|
597
599
|
[Property in keyof Type as `ui:${string & Property}`]: Type[Property];
|
|
598
600
|
};
|
|
599
601
|
/** This type represents all the known supported options in the `ui:options` property, kept separate in order to
|
|
600
602
|
* remap the keys. It also contains all the properties, optionally, of `TemplatesType` except "ButtonTemplates"
|
|
601
603
|
*/
|
|
602
|
-
|
|
604
|
+
type UIOptionsBaseType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Partial<Omit<TemplatesType<T, S, F>, "ButtonTemplates">> & {
|
|
603
605
|
/** Any classnames that the user wants to be applied to a field in the ui */
|
|
604
606
|
classNames?: string;
|
|
607
|
+
/** Any custom style that the user wants to apply to a field in the ui, applied on the same element as classNames */
|
|
608
|
+
style?: StyleHTMLAttributes<any>;
|
|
605
609
|
/** We know that for title, it will be a string, if it is provided */
|
|
606
610
|
title?: string;
|
|
607
611
|
/** We know that for description, it will be a string, if it is provided */
|
|
@@ -654,14 +658,14 @@ declare type UIOptionsBaseType<T = any, S extends StrictRJSFSchema = RJSFSchema,
|
|
|
654
658
|
duplicateKeySuffixSeparator?: string;
|
|
655
659
|
};
|
|
656
660
|
/** The type that represents the Options potentially provided by `ui:options` */
|
|
657
|
-
|
|
661
|
+
type UIOptionsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = UIOptionsBaseType<T, S, F> & {
|
|
658
662
|
/** Anything else will be one of these types */
|
|
659
663
|
[key: string]: boolean | number | string | object | any[] | null | undefined;
|
|
660
664
|
};
|
|
661
665
|
/** Type describing the well-known properties of the `UiSchema` while also supporting all user defined properties,
|
|
662
666
|
* starting with `ui:`.
|
|
663
667
|
*/
|
|
664
|
-
|
|
668
|
+
type UiSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = GenericObjectType & MakeUIType<UIOptionsBaseType<T, S, F>> & {
|
|
665
669
|
/** Allows the form to generate a unique prefix for the `Form`'s root prefix */
|
|
666
670
|
"ui:rootFieldId"?: string;
|
|
667
671
|
/** Allows RJSF to override the default field implementation by specifying either the name of a field that is used
|
|
@@ -674,13 +678,13 @@ declare type UiSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
|
|
|
674
678
|
/** A `CustomValidator` function takes in a `formData`, `errors` and `uiSchema` objects and returns the given `errors`
|
|
675
679
|
* object back, while potentially adding additional messages to the `errors`
|
|
676
680
|
*/
|
|
677
|
-
|
|
681
|
+
type CustomValidator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = (formData: T | undefined, errors: FormValidation<T>, uiSchema?: UiSchema<T, S, F>) => FormValidation<T>;
|
|
678
682
|
/** An `ErrorTransformer` function will take in a list of `errors` & a `uiSchema` and potentially return a
|
|
679
683
|
* transformation of those errors in what ever way it deems necessary
|
|
680
684
|
*/
|
|
681
|
-
|
|
685
|
+
type ErrorTransformer<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = (errors: RJSFValidationError[], uiSchema?: UiSchema<T, S, F>) => RJSFValidationError[];
|
|
682
686
|
/** The type that describes the data that is returned from the `ValidatorType.validateFormData()` function */
|
|
683
|
-
|
|
687
|
+
type ValidationData<T> = {
|
|
684
688
|
/** The validation errors as a list of `RJSFValidationError` objects */
|
|
685
689
|
errors: RJSFValidationError[];
|
|
686
690
|
/** The validation errors in the form of an `ErrorSchema` */
|
|
@@ -716,7 +720,7 @@ interface ValidatorType<T = any, S extends StrictRJSFSchema = RJSFSchema, F exte
|
|
|
716
720
|
* @param formData - The form data to validate
|
|
717
721
|
* @param rootSchema - The root schema used to provide $ref resolutions
|
|
718
722
|
*/
|
|
719
|
-
isValid(schema: S, formData: T, rootSchema: S): boolean;
|
|
723
|
+
isValid(schema: S, formData: T | undefined, rootSchema: S): boolean;
|
|
720
724
|
/** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use
|
|
721
725
|
* by the playground. Returns the `errors` from the validation
|
|
722
726
|
*
|
|
@@ -767,13 +771,35 @@ interface SchemaUtilsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F ex
|
|
|
767
771
|
* @returns - True if the label should be displayed or false if it should not
|
|
768
772
|
*/
|
|
769
773
|
getDisplayLabel(schema: S, uiSchema?: UiSchema<T, S, F>): boolean;
|
|
774
|
+
/** Determines which of the given `options` provided most closely matches the `formData`.
|
|
775
|
+
* Returns the index of the option that is valid and is the closest match, or 0 if there is no match.
|
|
776
|
+
*
|
|
777
|
+
* The closest match is determined using the number of matching properties, and more heavily favors options with
|
|
778
|
+
* matching readOnly, default, or const values.
|
|
779
|
+
*
|
|
780
|
+
* @param formData - The form data associated with the schema
|
|
781
|
+
* @param options - The list of options that can be selected from
|
|
782
|
+
* @param [selectedOption] - The index of the currently selected option, defaulted to -1 if not specified
|
|
783
|
+
* @returns - The index of the option that is the closest match to the `formData` or the `selectedOption` if no match
|
|
784
|
+
*/
|
|
785
|
+
getClosestMatchingOption(formData: T | undefined, options: S[], selectedOption?: number): number;
|
|
786
|
+
/** Given the `formData` and list of `options`, attempts to find the index of the first option that matches the data.
|
|
787
|
+
* Always returns the first option if there is nothing that matches.
|
|
788
|
+
*
|
|
789
|
+
* @param formData - The current formData, if any, used to figure out a match
|
|
790
|
+
* @param options - The list of options to find a matching options from
|
|
791
|
+
* @returns - The firstindex of the matched option or 0 if none is available
|
|
792
|
+
*/
|
|
793
|
+
getFirstMatchingOption(formData: T | undefined, options: S[]): number;
|
|
770
794
|
/** Given the `formData` and list of `options`, attempts to find the index of the option that best matches the data.
|
|
795
|
+
* Deprecated, use `getFirstMatchingOption()` instead.
|
|
771
796
|
*
|
|
772
797
|
* @param formData - The current formData, if any, onto which to provide any missing defaults
|
|
773
798
|
* @param options - The list of options to find a matching options from
|
|
774
799
|
* @returns - The index of the matched option or 0 if none is available
|
|
800
|
+
* @deprecated
|
|
775
801
|
*/
|
|
776
|
-
getMatchingOption(formData: T, options: S[]): number;
|
|
802
|
+
getMatchingOption(formData: T | undefined, options: S[]): number;
|
|
777
803
|
/** Checks to see if the `schema` and `uiSchema` combination represents an array of files
|
|
778
804
|
*
|
|
779
805
|
* @param schema - The schema for which check for array of files flag is desired
|
|
@@ -812,6 +838,18 @@ interface SchemaUtilsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F ex
|
|
|
812
838
|
* @returns - The schema having its conditions, additional properties, references and dependencies resolved
|
|
813
839
|
*/
|
|
814
840
|
retrieveSchema(schema: S, formData?: T): S;
|
|
841
|
+
/** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the
|
|
842
|
+
* new schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the
|
|
843
|
+
* nature of schemas, this sanitization happens recursively for nested objects of data. Also, any properties in the
|
|
844
|
+
* old schema that are non-existent in the new schema are set to `undefined`.
|
|
845
|
+
*
|
|
846
|
+
* @param [newSchema] - The new schema for which the data is being sanitized
|
|
847
|
+
* @param [oldSchema] - The old schema from which the data originated
|
|
848
|
+
* @param [data={}] - The form data associated with the schema, defaulting to an empty object when undefined
|
|
849
|
+
* @returns - The new form data, with all of the fields uniquely associated with the old schema set
|
|
850
|
+
* to `undefined`. Will return `undefined` if the new schema is not an object containing properties.
|
|
851
|
+
*/
|
|
852
|
+
sanitizeDataForNewSchema(newSchema?: S, oldSchema?: S, data?: any): T;
|
|
815
853
|
/** Generates an `IdSchema` object for the `schema`, recursively
|
|
816
854
|
*
|
|
817
855
|
* @param schema - The schema for which the display label flag is desired
|
|
@@ -891,6 +929,23 @@ declare function dataURItoBlob(dataURI: string): {
|
|
|
891
929
|
*/
|
|
892
930
|
declare function deepEquals(a: any, b: any): boolean;
|
|
893
931
|
|
|
932
|
+
/** Removes the `value` from the currently `selected` list of values
|
|
933
|
+
*
|
|
934
|
+
* @param value - The value to be removed from the selected list
|
|
935
|
+
* @param selected - The current list of selected values
|
|
936
|
+
* @returns - The updated `selected` list with the `value` removed from it
|
|
937
|
+
*/
|
|
938
|
+
declare function enumOptionsDeselectValue<S extends StrictRJSFSchema = RJSFSchema>(value: EnumOptionsType<S>["value"], selected: EnumOptionsType<S>["value"][]): any[];
|
|
939
|
+
|
|
940
|
+
/** Add the `value` to the list of `selected` values in the proper order as defined by `allEnumOptions`
|
|
941
|
+
*
|
|
942
|
+
* @param value - The value that should be selected
|
|
943
|
+
* @param selected - The current list of selected values
|
|
944
|
+
* @param allEnumOptions - The list of all the known enumOptions
|
|
945
|
+
* @returns - The updated list of selected enum values with `value` added to it in the proper location
|
|
946
|
+
*/
|
|
947
|
+
declare function enumOptionsSelectValue<S extends StrictRJSFSchema = RJSFSchema>(value: EnumOptionsType<S>["value"], selected: EnumOptionsType<S>["value"][], allEnumOptions?: EnumOptionsType<S>[]): any[];
|
|
948
|
+
|
|
894
949
|
/** The `ErrorSchemaBuilder<T>` is used to build an `ErrorSchema<T>` since the definition of the `ErrorSchema` type is
|
|
895
950
|
* designed for reading information rather than writing it. Use this class to add, replace or clear errors in an error
|
|
896
951
|
* schema by using either dotted path or an array of path names. Once you are done building the `ErrorSchema`, you can
|
|
@@ -1041,6 +1096,53 @@ declare function guessType(value: any): "array" | "string" | "null" | "boolean"
|
|
|
1041
1096
|
*/
|
|
1042
1097
|
declare function hasWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(schema: RJSFSchema, widget: Widget<T, S, F> | string, registeredWidgets?: RegistryWidgetsType<T, S, F>): boolean;
|
|
1043
1098
|
|
|
1099
|
+
/** Return a consistent `id` for the field description element
|
|
1100
|
+
*
|
|
1101
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1102
|
+
* @returns - The consistent id for the field description element from the given `id`
|
|
1103
|
+
*/
|
|
1104
|
+
declare function descriptionId<T = any>(id: IdSchema<T> | string): string;
|
|
1105
|
+
/** Return a consistent `id` for the field error element
|
|
1106
|
+
*
|
|
1107
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1108
|
+
* @returns - The consistent id for the field error element from the given `id`
|
|
1109
|
+
*/
|
|
1110
|
+
declare function errorId<T = any>(id: IdSchema<T> | string): string;
|
|
1111
|
+
/** Return a consistent `id` for the field examples element
|
|
1112
|
+
*
|
|
1113
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1114
|
+
* @returns - The consistent id for the field examples element from the given `id`
|
|
1115
|
+
*/
|
|
1116
|
+
declare function examplesId<T = any>(id: IdSchema<T> | string): string;
|
|
1117
|
+
/** Return a consistent `id` for the field help element
|
|
1118
|
+
*
|
|
1119
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1120
|
+
* @returns - The consistent id for the field help element from the given `id`
|
|
1121
|
+
*/
|
|
1122
|
+
declare function helpId<T = any>(id: IdSchema<T> | string): string;
|
|
1123
|
+
/** Return a consistent `id` for the field title element
|
|
1124
|
+
*
|
|
1125
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1126
|
+
* @returns - The consistent id for the field title element from the given `id`
|
|
1127
|
+
*/
|
|
1128
|
+
declare function titleId<T = any>(id: IdSchema<T> | string): string;
|
|
1129
|
+
/** Return a list of element ids that contain additional information about the field that can be used to as the aria
|
|
1130
|
+
* description of the field. This is correctly omitting `titleId` which would be "labeling" rather than "describing" the
|
|
1131
|
+
* element.
|
|
1132
|
+
*
|
|
1133
|
+
* @param id - Either simple string id or an IdSchema from which to extract it
|
|
1134
|
+
* @param [includeExamples=false] - Optional flag, if true, will add the `examplesId` into the list
|
|
1135
|
+
* @returns - The string containing the list of ids for use in an `aria-describedBy` attribute
|
|
1136
|
+
*/
|
|
1137
|
+
declare function ariaDescribedByIds<T = any>(id: IdSchema<T> | string, includeExamples?: boolean): string;
|
|
1138
|
+
/** Return a consistent `id` for the `option`s of a `Radio` or `Checkboxes` widget
|
|
1139
|
+
*
|
|
1140
|
+
* @param id - The id of the parent component for the option
|
|
1141
|
+
* @param option - The option for which the id is desired
|
|
1142
|
+
* @returns - An id for the option based on the parent `id`
|
|
1143
|
+
*/
|
|
1144
|
+
declare function optionId<S extends StrictRJSFSchema = RJSFSchema>(id: string, option: EnumOptionsType<S>): string;
|
|
1145
|
+
|
|
1044
1146
|
/** This function checks if the given `schema` matches a single constant value. This happens when either the schema has
|
|
1045
1147
|
* an `enum` array with a single value or there is a `const` defined.
|
|
1046
1148
|
*
|
|
@@ -1089,11 +1191,11 @@ declare function localToUTC(dateString: string): string | undefined;
|
|
|
1089
1191
|
* - when the array is not set in form data, the default is copied over
|
|
1090
1192
|
* - scalars are overwritten/set by form data
|
|
1091
1193
|
*
|
|
1092
|
-
* @param defaults - The defaults to merge
|
|
1093
|
-
* @param formData - The form data into which the defaults will be merged
|
|
1194
|
+
* @param [defaults] - The defaults to merge
|
|
1195
|
+
* @param [formData] - The form data into which the defaults will be merged
|
|
1094
1196
|
* @returns - The resulting merged form data with defaults
|
|
1095
1197
|
*/
|
|
1096
|
-
declare function mergeDefaultsWithFormData<T = any>(defaults
|
|
1198
|
+
declare function mergeDefaultsWithFormData<T = any>(defaults?: T, formData?: T): T | undefined;
|
|
1097
1199
|
|
|
1098
1200
|
/** Recursively merge deeply nested objects.
|
|
1099
1201
|
*
|
|
@@ -1273,13 +1375,48 @@ declare function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFS
|
|
|
1273
1375
|
*/
|
|
1274
1376
|
declare function getDisplayLabel<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, uiSchema?: UiSchema<T, S, F>, rootSchema?: S): boolean;
|
|
1275
1377
|
|
|
1378
|
+
/** Determines which of the given `options` provided most closely matches the `formData`. Using
|
|
1379
|
+
* `getFirstMatchingOption()` to match two schemas that differ only by the readOnly, default or const value of a field
|
|
1380
|
+
* based on the `formData` and returns 0 when there is no match. Rather than passing in all the `options` at once to
|
|
1381
|
+
* this utility, instead an array of valid option indexes is created by iterating over the list of options, call
|
|
1382
|
+
* `getFirstMatchingOptions` with a list of one junk option and one good option, seeing if the good option is considered
|
|
1383
|
+
* matched.
|
|
1384
|
+
*
|
|
1385
|
+
* Once the list of valid indexes is created, if there is only one valid index, just return it. Otherwise, if there are
|
|
1386
|
+
* no valid indexes, then fill the valid indexes array with the indexes of all the options. Next, the index of the
|
|
1387
|
+
* option with the highest score is determined by iterating over the list of valid options, calling
|
|
1388
|
+
* `calculateIndexScore()` on each, comparing it against the current best score, and returning the index of the one that
|
|
1389
|
+
* eventually has the best score.
|
|
1390
|
+
*
|
|
1391
|
+
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
1392
|
+
* @param rootSchema - The root JSON schema of the entire form
|
|
1393
|
+
* @param formData - The form data associated with the schema
|
|
1394
|
+
* @param options - The list of options that can be selected from
|
|
1395
|
+
* @param [selectedOption=-1] - The index of the currently selected option, defaulted to -1 if not specified
|
|
1396
|
+
* @returns - The index of the option that is the closest match to the `formData` or the `selectedOption` if no match
|
|
1397
|
+
*/
|
|
1398
|
+
declare function getClosestMatchingOption<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rootSchema: S, formData: T | undefined, options: S[], selectedOption?: number): number;
|
|
1399
|
+
|
|
1400
|
+
/** Given the `formData` and list of `options`, attempts to find the index of the first option that matches the data.
|
|
1401
|
+
* Always returns the first option if there is nothing that matches.
|
|
1402
|
+
*
|
|
1403
|
+
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
1404
|
+
* @param formData - The current formData, if any, used to figure out a match
|
|
1405
|
+
* @param options - The list of options to find a matching options from
|
|
1406
|
+
* @param rootSchema - The root schema, used to primarily to look up `$ref`s
|
|
1407
|
+
* @returns - The index of the first matched option or 0 if none is available
|
|
1408
|
+
*/
|
|
1409
|
+
declare function getFirstMatchingOption<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, formData: T | undefined, options: S[], rootSchema: S): number;
|
|
1410
|
+
|
|
1276
1411
|
/** Given the `formData` and list of `options`, attempts to find the index of the option that best matches the data.
|
|
1412
|
+
* Deprecated, use `getFirstMatchingOption()` instead.
|
|
1277
1413
|
*
|
|
1278
1414
|
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
1279
1415
|
* @param formData - The current formData, if any, used to figure out a match
|
|
1280
1416
|
* @param options - The list of options to find a matching options from
|
|
1281
1417
|
* @param rootSchema - The root schema, used to primarily to look up `$ref`s
|
|
1282
1418
|
* @returns - The index of the matched option or 0 if none is available
|
|
1419
|
+
* @deprecated
|
|
1283
1420
|
*/
|
|
1284
1421
|
declare function getMatchingOption<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, formData: T | undefined, options: S[], rootSchema: S): number;
|
|
1285
1422
|
|
|
@@ -1335,6 +1472,55 @@ declare function mergeValidationData<T = any, S extends StrictRJSFSchema = RJSFS
|
|
|
1335
1472
|
*/
|
|
1336
1473
|
declare function retrieveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema?: S, rawFormData?: T): S;
|
|
1337
1474
|
|
|
1475
|
+
/** Sanitize the `data` associated with the `oldSchema` so it is considered appropriate for the `newSchema`. If the new
|
|
1476
|
+
* schema does not contain any properties, then `undefined` is returned to clear all the form data. Due to the nature
|
|
1477
|
+
* of schemas, this sanitization happens recursively for nested objects of data. Also, any properties in the old schema
|
|
1478
|
+
* that are non-existent in the new schema are set to `undefined`. The data sanitization process has the following flow:
|
|
1479
|
+
*
|
|
1480
|
+
* - If the new schema is an object that contains a `properties` object then:
|
|
1481
|
+
* - Create a `removeOldSchemaData` object, setting each key in the `oldSchema.properties` having `data` to undefined
|
|
1482
|
+
* - Create an empty `nestedData` object for use in the key filtering below:
|
|
1483
|
+
* - Iterate over each key in the `newSchema.properties` as follows:
|
|
1484
|
+
* - Get the `formValue` of the key from the `data`
|
|
1485
|
+
* - Get the `oldKeySchema` and `newKeyedSchema` for the key, defaulting to `{}` when it doesn't exist
|
|
1486
|
+
* - Retrieve the schema for any refs within each `oldKeySchema` and/or `newKeySchema`
|
|
1487
|
+
* - Get the types of the old and new keyed schemas and if the old doesn't exist or the old & new are the same then:
|
|
1488
|
+
* - If `removeOldSchemaData` has an entry for the key, delete it since the new schema has the same property
|
|
1489
|
+
* - If type of the key in the new schema is `object`:
|
|
1490
|
+
* - Store the value from the recursive `sanitizeDataForNewSchema` call in `nestedData[key]`
|
|
1491
|
+
* - Otherwise, check for default or const values:
|
|
1492
|
+
* - Get the old and new `default` values from the schema and check:
|
|
1493
|
+
* - If the new `default` value does not match the form value:
|
|
1494
|
+
* - If the old `default` value DOES match the form value, then:
|
|
1495
|
+
* - Replace `removeOldSchemaData[key]` with the new `default`
|
|
1496
|
+
* - Otherwise, if the new schema is `readOnly` then replace `removeOldSchemaData[key]` with undefined
|
|
1497
|
+
* - Get the old and new `const` values from the schema and check:
|
|
1498
|
+
* - If the new `const` value does not match the form value:
|
|
1499
|
+
* - If the old `const` value DOES match the form value, then:
|
|
1500
|
+
* - Replace `removeOldSchemaData[key]` with the new `const`
|
|
1501
|
+
* - Otherwise, replace `removeOldSchemaData[key]` with undefined
|
|
1502
|
+
* - Once all keys have been processed, return an object built as follows:
|
|
1503
|
+
* - `{ ...removeOldSchemaData, ...nestedData, ...pick(data, keysToKeep) }`
|
|
1504
|
+
* - If the new and old schema types are array and the `data` is an array then:
|
|
1505
|
+
* - If the type of the old and new schema `items` are a non-array objects:
|
|
1506
|
+
* - Retrieve the schema for any refs within each `oldKeySchema.items` and/or `newKeySchema.items`
|
|
1507
|
+
* - If the `type`s of both items are the same (or the old does not have a type):
|
|
1508
|
+
* - If the type is "object", then:
|
|
1509
|
+
* - For each element in the `data` recursively sanitize the data, stopping at `maxItems` if specified
|
|
1510
|
+
* - Otherwise, just return the `data` removing any values after `maxItems` if it is set
|
|
1511
|
+
* - If the type of the old and new schema `items` are booleans of the same value, return `data` as is
|
|
1512
|
+
* - Otherwise return `undefined`
|
|
1513
|
+
*
|
|
1514
|
+
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
1515
|
+
* @param rootSchema - The root JSON schema of the entire form
|
|
1516
|
+
* @param [newSchema] - The new schema for which the data is being sanitized
|
|
1517
|
+
* @param [oldSchema] - The old schema from which the data originated
|
|
1518
|
+
* @param [data={}] - The form data associated with the schema, defaulting to an empty object when undefined
|
|
1519
|
+
* @returns - The new form data, with all the fields uniquely associated with the old schema set
|
|
1520
|
+
* to `undefined`. Will return `undefined` if the new schema is not an object containing properties.
|
|
1521
|
+
*/
|
|
1522
|
+
declare function sanitizeDataForNewSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rootSchema: S, newSchema?: S, oldSchema?: S, data?: any): T;
|
|
1523
|
+
|
|
1338
1524
|
/** Generates an `IdSchema` object for the `schema`, recursively
|
|
1339
1525
|
*
|
|
1340
1526
|
* @param validator - An implementation of the `ValidatorType` interface that will be used when necessary
|
|
@@ -1359,4 +1545,4 @@ declare function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F
|
|
|
1359
1545
|
*/
|
|
1360
1546
|
declare function toPathSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, name?: string, rootSchema?: S, formData?: T): PathSchema<T>;
|
|
1361
1547
|
|
|
1362
|
-
export { ADDITIONAL_PROPERTIES_KEY, ADDITIONAL_PROPERTY_FLAG, ALL_OF_KEY, ANY_OF_KEY, ArrayFieldDescriptionProps, ArrayFieldTemplateItemType, ArrayFieldTemplateProps, ArrayFieldTitleProps, CONST_KEY, CustomValidator, DEFAULT_KEY, DEFINITIONS_KEY, DEPENDENCIES_KEY, DateObject, DescriptionFieldProps, ENUM_KEY, ERRORS_KEY, EnumOptionsType, ErrorListProps, ErrorSchema, ErrorSchemaBuilder, ErrorTransformer, Field, FieldError, FieldErrorProps, FieldErrors, FieldHelpProps, FieldId, FieldPath, FieldProps, FieldTemplateProps, FieldValidation, FormContextType, FormValidation, GenericObjectType, ID_KEY, ITEMS_KEY, IconButtonProps, IdSchema, InputPropsType, NAME_KEY, ONE_OF_KEY, ObjectFieldTemplatePropertyType, ObjectFieldTemplateProps, PROPERTIES_KEY, PathSchema, REF_KEY, REQUIRED_KEY, RJSFSchema, RJSFValidationError, RJSF_ADDITONAL_PROPERTIES_FLAG, RangeSpecType, Registry, RegistryFieldsType, RegistryWidgetsType, SUBMIT_BTN_OPTIONS_KEY, SchemaUtilsType, StrictRJSFSchema, SubmitButtonProps, TemplatesType, TitleFieldProps, UIOptionsType, UISchemaSubmitButtonOptions, UI_FIELD_KEY, UI_OPTIONS_KEY, UI_WIDGET_KEY, UiSchema, UnsupportedFieldProps, ValidationData, ValidatorType, Widget, WidgetProps, WrapIfAdditionalTemplateProps, allowAdditionalItems, asNumber, canExpand, createSchemaUtils, dataURItoBlob, deepEquals, findSchemaDefinition, getDefaultFormState, getDisplayLabel, getInputProps, getMatchingOption, getSchemaType, getSubmitButtonOptions, getTemplate, getUiOptions, getWidget, guessType, hasWidget, isConstant, isCustomWidget, isFilesArray, isFixedItems, isMultiSelect, isObject, isSelect, localToUTC, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, mergeValidationData, optionsList, orderProperties, pad, parseDateString, processSelectValue, rangeSpec, retrieveSchema, schemaRequiresTrueValue, shouldRender, toConstant, toDateString, toIdSchema, toPathSchema, utcToLocal };
|
|
1548
|
+
export { ADDITIONAL_PROPERTIES_KEY, ADDITIONAL_PROPERTY_FLAG, ALL_OF_KEY, ANY_OF_KEY, ArrayFieldDescriptionProps, ArrayFieldTemplateItemType, ArrayFieldTemplateProps, ArrayFieldTitleProps, CONST_KEY, CustomValidator, DEFAULT_KEY, DEFINITIONS_KEY, DEPENDENCIES_KEY, DateObject, DescriptionFieldProps, ENUM_KEY, ERRORS_KEY, EnumOptionsType, ErrorListProps, ErrorSchema, ErrorSchemaBuilder, ErrorTransformer, Field, FieldError, FieldErrorProps, FieldErrors, FieldHelpProps, FieldId, FieldPath, FieldProps, FieldTemplateProps, FieldValidation, FormContextType, FormValidation, GenericObjectType, ID_KEY, ITEMS_KEY, IconButtonProps, IdSchema, InputPropsType, NAME_KEY, ONE_OF_KEY, ObjectFieldTemplatePropertyType, ObjectFieldTemplateProps, PROPERTIES_KEY, PathSchema, REF_KEY, REQUIRED_KEY, RJSFSchema, RJSFValidationError, RJSF_ADDITONAL_PROPERTIES_FLAG, RangeSpecType, Registry, RegistryFieldsType, RegistryWidgetsType, SUBMIT_BTN_OPTIONS_KEY, SchemaUtilsType, StrictRJSFSchema, SubmitButtonProps, TemplatesType, TitleFieldProps, UIOptionsType, UISchemaSubmitButtonOptions, UI_FIELD_KEY, UI_OPTIONS_KEY, UI_WIDGET_KEY, UiSchema, UnsupportedFieldProps, ValidationData, ValidatorType, Widget, WidgetProps, WrapIfAdditionalTemplateProps, allowAdditionalItems, ariaDescribedByIds, asNumber, canExpand, createSchemaUtils, dataURItoBlob, deepEquals, descriptionId, enumOptionsDeselectValue, enumOptionsSelectValue, errorId, examplesId, findSchemaDefinition, getClosestMatchingOption, getDefaultFormState, getDisplayLabel, getFirstMatchingOption, getInputProps, getMatchingOption, getSchemaType, getSubmitButtonOptions, getTemplate, getUiOptions, getWidget, guessType, hasWidget, helpId, isConstant, isCustomWidget, isFilesArray, isFixedItems, isMultiSelect, isObject, isSelect, localToUTC, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, mergeValidationData, optionId, optionsList, orderProperties, pad, parseDateString, processSelectValue, rangeSpec, retrieveSchema, sanitizeDataForNewSchema, schemaRequiresTrueValue, shouldRender, titleId, toConstant, toDateString, toIdSchema, toPathSchema, utcToLocal };
|