@rjsf/utils 5.0.0-beta.15 → 5.0.0-beta.17

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 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
- declare type GenericObjectType = {
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
- declare type StrictRJSFSchema = JSONSchema7;
14
+ type StrictRJSFSchema = JSONSchema7;
15
15
  /** Allow for more flexible schemas (i.e. draft-2019) than the strict JSONSchema7
16
16
  */
17
- declare type RJSFSchema = StrictRJSFSchema & GenericObjectType;
17
+ type RJSFSchema = StrictRJSFSchema & GenericObjectType;
18
18
  /** Alias GenericObjectType as FormContextType to allow us to remap this at some future date
19
19
  */
20
- declare type FormContextType = GenericObjectType;
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
- declare type RangeSpecType = {
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
- declare type InputPropsType = Omit<RangeSpecType, "step"> & {
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
- declare type FieldId = {
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
- declare type IdSchema<T = any> = FieldId & {
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
- declare type FieldPath = {
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
- declare type PathSchema<T = any> = FieldPath & {
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
- declare type RJSFValidationError = {
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
- declare type FieldError = string;
95
+ type FieldError = string;
96
96
  /** The type that describes the list of errors for a field */
97
- declare type FieldErrors = {
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
- declare type ErrorSchema<T = any> = FieldErrors & {
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
- declare type FieldValidation = FieldErrors & {
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
- declare type FormValidation<T = any> = FieldValidation & {
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
- declare type ErrorListProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type FieldErrorProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type FieldHelpProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type RegistryFieldsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type RegistryWidgetsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
  };
@@ -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
- declare type Field<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ComponentType<FieldProps<T, S, F>>;
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
- declare type FieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
@@ -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
- declare type UnsupportedFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type TitleFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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
- declare type DescriptionFieldProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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,27 +369,29 @@ 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
- declare type ArrayFieldTitleProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Omit<TitleFieldProps<T, S, F>, "id" | "title"> & {
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
- declare type ArrayFieldDescriptionProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Omit<DescriptionFieldProps<T, S, F>, "id" | "description"> & {
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
- declare type ArrayFieldTemplateItemType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
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 */
388
390
  className: string;
389
391
  /** A boolean value stating if the array item is disabled */
390
392
  disabled: boolean;
393
+ /** A boolean value stating whether new items can be added to the array */
394
+ canAdd: boolean;
391
395
  /** A boolean value stating whether the array item can be moved down */
392
396
  hasMoveDown: boolean;
393
397
  /** A boolean value stating whether the array item can be moved up */
@@ -398,6 +402,8 @@ declare type ArrayFieldTemplateItemType<T = any, S extends StrictRJSFSchema = RJ
398
402
  hasToolbar: boolean;
399
403
  /** A number stating the index the array item occurs in `items` */
400
404
  index: number;
405
+ /** A number stating the total number `items` in the array */
406
+ totalItems: number;
401
407
  /** Returns a function that adds a new item at `index` */
402
408
  onAddIndexClick: (index: number) => (event?: any) => void;
403
409
  /** Returns a function that removes the item at `index` */
@@ -416,7 +422,7 @@ declare type ArrayFieldTemplateItemType<T = any, S extends StrictRJSFSchema = RJ
416
422
  registry: Registry<T, S, F>;
417
423
  };
418
424
  /** The properties that are passed to an ArrayFieldTemplate implementation */
419
- declare type ArrayFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
425
+ type ArrayFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
420
426
  /** A boolean value stating whether new elements can be added to the array */
421
427
  canAdd?: boolean;
422
428
  /** The className string */
@@ -451,7 +457,7 @@ declare type ArrayFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFS
451
457
  registry: Registry<T, S, F>;
452
458
  };
453
459
  /** The properties of each element in the ObjectFieldTemplateProps.properties array */
454
- declare type ObjectFieldTemplatePropertyType = {
460
+ type ObjectFieldTemplatePropertyType = {
455
461
  /** The html for the property's content */
456
462
  content: React.ReactElement;
457
463
  /** A string representing the property name */
@@ -464,7 +470,7 @@ declare type ObjectFieldTemplatePropertyType = {
464
470
  hidden: boolean;
465
471
  };
466
472
  /** The properties that are passed to an ObjectFieldTemplate implementation */
467
- declare type ObjectFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
473
+ type ObjectFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
468
474
  /** A string value containing the title for the object */
469
475
  title: string;
470
476
  /** A string value containing the description for the object */
@@ -495,10 +501,10 @@ declare type ObjectFieldTemplateProps<T = any, S extends StrictRJSFSchema = RJSF
495
501
  registry: Registry<T, S, F>;
496
502
  };
497
503
  /** The properties that are passed to a WrapIfAdditionalTemplate implementation */
498
- declare type WrapIfAdditionalTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
504
+ type WrapIfAdditionalTemplateProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
499
505
  /** The field or widget component instance for this field row */
500
506
  children: React.ReactNode;
501
- } & 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">;
502
508
  /** The properties that are passed to a Widget implementation */
503
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">> {
504
510
  /** The generated id for this widget */
@@ -526,7 +532,7 @@ interface WidgetProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
526
532
  */
527
533
  options: NonNullable<UIOptionsType<T, S, F>> & {
528
534
  /** The enum options list for a type that supports them */
529
- enumOptions?: EnumOptionsType[];
535
+ enumOptions?: EnumOptionsType<S>[];
530
536
  };
531
537
  /** The `formContext` object that you passed to `Form` */
532
538
  formContext?: F;
@@ -546,23 +552,27 @@ interface WidgetProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
546
552
  registry: Registry<T, S, F>;
547
553
  }
548
554
  /** The definition of a React-based Widget component */
549
- declare type Widget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ComponentType<WidgetProps<T, S, F>>;
555
+ type Widget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ComponentType<WidgetProps<T, S, F>>;
550
556
  /** The type that defines the props used by the Submit button */
551
- declare type SubmitButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
557
+ type SubmitButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = {
552
558
  /** The uiSchema for this widget */
553
559
  uiSchema?: UiSchema<T, S, F>;
560
+ /** The `registry` object */
561
+ registry: Registry<T, S, F>;
554
562
  };
555
563
  /** The type that defines the props for an Icon button, extending from a basic HTML button attributes */
556
- declare type IconButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ButtonHTMLAttributes<HTMLButtonElement> & {
564
+ type IconButtonProps<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = React.ButtonHTMLAttributes<HTMLButtonElement> & {
557
565
  /** An alternative specification for the type of the icon button */
558
566
  iconType?: string;
559
567
  /** The name representation or actual react element implementation for the icon */
560
568
  icon?: string | React.ReactElement;
561
569
  /** The uiSchema for this widget */
562
570
  uiSchema?: UiSchema<T, S, F>;
571
+ /** The `registry` object */
572
+ registry: Registry<T, S, F>;
563
573
  };
564
574
  /** The type that defines how to change the behavior of the submit button for the form */
565
- declare type UISchemaSubmitButtonOptions = {
575
+ type UISchemaSubmitButtonOptions = {
566
576
  /** The text of the submit button. Set to "Submit" by default */
567
577
  submitText?: string;
568
578
  /** Flag, if `true`, removes the submit button completely from the form */
@@ -576,7 +586,7 @@ declare type UISchemaSubmitButtonOptions = {
576
586
  };
577
587
  };
578
588
  /** This type represents an element used to render an enum option */
579
- declare type EnumOptionsType<S extends StrictRJSFSchema = RJSFSchema> = {
589
+ type EnumOptionsType<S extends StrictRJSFSchema = RJSFSchema> = {
580
590
  /** The value for the enum option */
581
591
  value: any;
582
592
  /** The label for the enum options */
@@ -585,15 +595,17 @@ declare type EnumOptionsType<S extends StrictRJSFSchema = RJSFSchema> = {
585
595
  schema?: S;
586
596
  };
587
597
  /** This type remaps the keys of `Type` to prepend `ui:` onto them. As a result it does not need to be exported */
588
- declare type MakeUIType<Type> = {
598
+ type MakeUIType<Type> = {
589
599
  [Property in keyof Type as `ui:${string & Property}`]: Type[Property];
590
600
  };
591
601
  /** This type represents all the known supported options in the `ui:options` property, kept separate in order to
592
602
  * remap the keys. It also contains all the properties, optionally, of `TemplatesType` except "ButtonTemplates"
593
603
  */
594
- declare type UIOptionsBaseType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Partial<Omit<TemplatesType<T, S, F>, "ButtonTemplates">> & {
604
+ type UIOptionsBaseType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = Partial<Omit<TemplatesType<T, S, F>, "ButtonTemplates">> & {
595
605
  /** Any classnames that the user wants to be applied to a field in the ui */
596
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>;
597
609
  /** We know that for title, it will be a string, if it is provided */
598
610
  title?: string;
599
611
  /** We know that for description, it will be a string, if it is provided */
@@ -646,14 +658,14 @@ declare type UIOptionsBaseType<T = any, S extends StrictRJSFSchema = RJSFSchema,
646
658
  duplicateKeySuffixSeparator?: string;
647
659
  };
648
660
  /** The type that represents the Options potentially provided by `ui:options` */
649
- declare type UIOptionsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = UIOptionsBaseType<T, S, F> & {
661
+ type UIOptionsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = UIOptionsBaseType<T, S, F> & {
650
662
  /** Anything else will be one of these types */
651
663
  [key: string]: boolean | number | string | object | any[] | null | undefined;
652
664
  };
653
665
  /** Type describing the well-known properties of the `UiSchema` while also supporting all user defined properties,
654
666
  * starting with `ui:`.
655
667
  */
656
- declare type UiSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = GenericObjectType & MakeUIType<UIOptionsBaseType<T, S, F>> & {
668
+ type UiSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = GenericObjectType & MakeUIType<UIOptionsBaseType<T, S, F>> & {
657
669
  /** Allows the form to generate a unique prefix for the `Form`'s root prefix */
658
670
  "ui:rootFieldId"?: string;
659
671
  /** Allows RJSF to override the default field implementation by specifying either the name of a field that is used
@@ -663,16 +675,16 @@ declare type UiSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extend
663
675
  /** An object that contains all the potential UI options in a single object */
664
676
  "ui:options"?: UIOptionsType<T, S, F>;
665
677
  };
666
- /** A `CustomValidator` function takes in a `formData` and `errors` object and returns the given `errors` object back,
667
- * while potentially adding additional messages to the `errors`
678
+ /** A `CustomValidator` function takes in a `formData`, `errors` and `uiSchema` objects and returns the given `errors`
679
+ * object back, while potentially adding additional messages to the `errors`
668
680
  */
669
- declare type CustomValidator<T = any> = (formData: T, errors: FormValidation<T>) => FormValidation<T>;
670
- /** An `ErrorTransformer` function will take in a list of `errors` and potentially return a transformation of those
671
- * errors in what ever way it deems necessary
681
+ type CustomValidator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = (formData: T, errors: FormValidation<T>, uiSchema?: UiSchema<T, S, F>) => FormValidation<T>;
682
+ /** An `ErrorTransformer` function will take in a list of `errors` & a `uiSchema` and potentially return a
683
+ * transformation of those errors in what ever way it deems necessary
672
684
  */
673
- declare type ErrorTransformer = (errors: RJSFValidationError[]) => RJSFValidationError[];
685
+ type ErrorTransformer<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> = (errors: RJSFValidationError[], uiSchema?: UiSchema<T, S, F>) => RJSFValidationError[];
674
686
  /** The type that describes the data that is returned from the `ValidatorType.validateFormData()` function */
675
- declare type ValidationData<T> = {
687
+ type ValidationData<T> = {
676
688
  /** The validation errors as a list of `RJSFValidationError` objects */
677
689
  errors: RJSFValidationError[];
678
690
  /** The validation errors in the form of an `ErrorSchema` */
@@ -681,7 +693,7 @@ declare type ValidationData<T> = {
681
693
  /** The interface that describes the validation functions that are provided by a Validator implementation used by the
682
694
  * schema utilities.
683
695
  */
684
- interface ValidatorType<T = any, S extends StrictRJSFSchema = RJSFSchema> {
696
+ interface ValidatorType<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any> {
685
697
  /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives
686
698
  * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also
687
699
  * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and
@@ -691,8 +703,9 @@ interface ValidatorType<T = any, S extends StrictRJSFSchema = RJSFSchema> {
691
703
  * @param schema - The schema against which to validate the form data
692
704
  * @param [customValidate] - An optional function that is used to perform custom validation
693
705
  * @param [transformErrors] - An optional function that is used to transform errors after AJV validation
706
+ * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`
694
707
  */
695
- validateFormData(formData: T | undefined, schema: S, customValidate?: CustomValidator<T>, transformErrors?: ErrorTransformer): ValidationData<T>;
708
+ validateFormData(formData: T | undefined, schema: S, customValidate?: CustomValidator<T, S, F>, transformErrors?: ErrorTransformer<T, S, F>, uiSchema?: UiSchema<T, S, F>): ValidationData<T>;
696
709
  /** Converts an `errorSchema` into a list of `RJSFValidationErrors`
697
710
  *
698
711
  * @param errorSchema - The `ErrorSchema` instance to convert
@@ -729,7 +742,7 @@ interface SchemaUtilsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F ex
729
742
  *
730
743
  * @returns - The `ValidatorType`
731
744
  */
732
- getValidator(): ValidatorType<T, S>;
745
+ getValidator(): ValidatorType<T, S, F>;
733
746
  /** Determines whether either the `validator` and `rootSchema` differ from the ones associated with this instance of
734
747
  * the `SchemaUtilsType`. If either `validator` or `rootSchema` are falsy, then return false to prevent the creation
735
748
  * of a new `SchemaUtilsType` with incomplete properties.
@@ -738,7 +751,7 @@ interface SchemaUtilsType<T = any, S extends StrictRJSFSchema = RJSFSchema, F ex
738
751
  * @param rootSchema - The root schema that will be compared against the current one
739
752
  * @returns - True if the `SchemaUtilsType` differs from the given `validator` or `rootSchema`
740
753
  */
741
- doesSchemaUtilsDiffer(validator: ValidatorType<T, S>, rootSchema: S): boolean;
754
+ doesSchemaUtilsDiffer(validator: ValidatorType<T, S, F>, rootSchema: S): boolean;
742
755
  /** Returns the superset of `formData` that includes the given set updated to include any missing fields that have
743
756
  * computed to have defaults provided in the `schema`.
744
757
  *
@@ -860,7 +873,7 @@ declare function canExpand<T = any, S extends StrictRJSFSchema = RJSFSchema, F e
860
873
  * @param rootSchema - The root schema that will be forwarded to all the APIs
861
874
  * @returns - An implementation of a `SchemaUtilsType` interface
862
875
  */
863
- declare function createSchemaUtils<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S>, rootSchema: S): SchemaUtilsType<T, S, F>;
876
+ declare function createSchemaUtils<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rootSchema: S): SchemaUtilsType<T, S, F>;
864
877
 
865
878
  /** Given the `FileReader.readAsDataURL()` based `dataURI` extracts that data into an actual Blob along with the name
866
879
  * of that Blob if provided in the URL. If no name is provided, then the name falls back to `unknown`.
@@ -882,6 +895,23 @@ declare function dataURItoBlob(dataURI: string): {
882
895
  */
883
896
  declare function deepEquals(a: any, b: any): boolean;
884
897
 
898
+ /** Removes the `value` from the currently `selected` list of values
899
+ *
900
+ * @param value - The value to be removed from the selected list
901
+ * @param selected - The current list of selected values
902
+ * @returns - The updated `selected` list with the `value` removed from it
903
+ */
904
+ declare function enumOptionsDeselectValue<S extends StrictRJSFSchema = RJSFSchema>(value: EnumOptionsType<S>["value"], selected: EnumOptionsType<S>["value"][]): any[];
905
+
906
+ /** Add the `value` to the list of `selected` values in the proper order as defined by `allEnumOptions`
907
+ *
908
+ * @param value - The value that should be selected
909
+ * @param selected - The current list of selected values
910
+ * @param allEnumOptions - The list of all the known enumOptions
911
+ * @returns - The updated list of selected enum values with `value` added to it in the proper location
912
+ */
913
+ declare function enumOptionsSelectValue<S extends StrictRJSFSchema = RJSFSchema>(value: EnumOptionsType<S>["value"], selected: EnumOptionsType<S>["value"][], allEnumOptions?: EnumOptionsType<S>[]): any[];
914
+
885
915
  /** The `ErrorSchemaBuilder<T>` is used to build an `ErrorSchema<T>` since the definition of the `ErrorSchema` type is
886
916
  * designed for reading information rather than writing it. Use this class to add, replace or clear errors in an error
887
917
  * schema by using either dotted path or an array of path names. Once you are done building the `ErrorSchema`, you can
@@ -1032,6 +1062,53 @@ declare function guessType(value: any): "array" | "string" | "null" | "boolean"
1032
1062
  */
1033
1063
  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;
1034
1064
 
1065
+ /** Return a consistent `id` for the field description element
1066
+ *
1067
+ * @param id - Either simple string id or an IdSchema from which to extract it
1068
+ * @returns - The consistent id for the field description element from the given `id`
1069
+ */
1070
+ declare function descriptionId<T = any>(id: IdSchema<T> | string): string;
1071
+ /** Return a consistent `id` for the field error element
1072
+ *
1073
+ * @param id - Either simple string id or an IdSchema from which to extract it
1074
+ * @returns - The consistent id for the field error element from the given `id`
1075
+ */
1076
+ declare function errorId<T = any>(id: IdSchema<T> | string): string;
1077
+ /** Return a consistent `id` for the field examples element
1078
+ *
1079
+ * @param id - Either simple string id or an IdSchema from which to extract it
1080
+ * @returns - The consistent id for the field examples element from the given `id`
1081
+ */
1082
+ declare function examplesId<T = any>(id: IdSchema<T> | string): string;
1083
+ /** Return a consistent `id` for the field help element
1084
+ *
1085
+ * @param id - Either simple string id or an IdSchema from which to extract it
1086
+ * @returns - The consistent id for the field help element from the given `id`
1087
+ */
1088
+ declare function helpId<T = any>(id: IdSchema<T> | string): string;
1089
+ /** Return a consistent `id` for the field title element
1090
+ *
1091
+ * @param id - Either simple string id or an IdSchema from which to extract it
1092
+ * @returns - The consistent id for the field title element from the given `id`
1093
+ */
1094
+ declare function titleId<T = any>(id: IdSchema<T> | string): string;
1095
+ /** Return a list of element ids that contain additional information about the field that can be used to as the aria
1096
+ * description of the field. This is correctly omitting `titleId` which would be "labeling" rather than "describing" the
1097
+ * element.
1098
+ *
1099
+ * @param id - Either simple string id or an IdSchema from which to extract it
1100
+ * @param [includeExamples=false] - Optional flag, if true, will add the `examplesId` into the list
1101
+ * @returns - The string containing the list of ids for use in an `aria-describedBy` attribute
1102
+ */
1103
+ declare function ariaDescribedByIds<T = any>(id: IdSchema<T> | string, includeExamples?: boolean): string;
1104
+ /** Return a consistent `id` for the `option`s of a `Radio` or `Checkboxes` widget
1105
+ *
1106
+ * @param id - The id of the parent component for the option
1107
+ * @param option - The option for which the id is desired
1108
+ * @returns - An id for the option based on the parent `id`
1109
+ */
1110
+ declare function optionId<S extends StrictRJSFSchema = RJSFSchema>(id: string, option: EnumOptionsType<S>): string;
1111
+
1035
1112
  /** This function checks if the given `schema` matches a single constant value. This happens when either the schema has
1036
1113
  * an `enum` array with a single value or there is a `const` defined.
1037
1114
  *
@@ -1251,7 +1328,7 @@ declare const UI_OPTIONS_KEY = "ui:options";
1251
1328
  * object properties.
1252
1329
  * @returns - The resulting `formData` with all the defaults provided
1253
1330
  */
1254
- declare function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, theSchema: S, formData?: T, rootSchema?: S, includeUndefinedValues?: boolean | "excludeObjectChildren"): T | T[] | undefined;
1331
+ declare function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, formData?: T, rootSchema?: S, includeUndefinedValues?: boolean | "excludeObjectChildren"): T | T[] | undefined;
1255
1332
 
1256
1333
  /** Determines whether the combination of `schema` and `uiSchema` properties indicates that the label for the `schema`
1257
1334
  * should be displayed in a UI.
@@ -1262,7 +1339,7 @@ declare function getDefaultFormState<T = any, S extends StrictRJSFSchema = RJSFS
1262
1339
  * @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
1263
1340
  * @returns - True if the label should be displayed or false if it should not
1264
1341
  */
1265
- declare function getDisplayLabel<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S>, schema: S, uiSchema?: UiSchema<T, S, F>, rootSchema?: S): boolean;
1342
+ 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;
1266
1343
 
1267
1344
  /** Given the `formData` and list of `options`, attempts to find the index of the option that best matches the data.
1268
1345
  *
@@ -1272,7 +1349,7 @@ declare function getDisplayLabel<T = any, S extends StrictRJSFSchema = RJSFSchem
1272
1349
  * @param rootSchema - The root schema, used to primarily to look up `$ref`s
1273
1350
  * @returns - The index of the matched option or 0 if none is available
1274
1351
  */
1275
- declare function getMatchingOption<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, formData: T | undefined, options: S[], rootSchema: S): number;
1352
+ 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;
1276
1353
 
1277
1354
  /** Checks to see if the `schema` and `uiSchema` combination represents an array of files
1278
1355
  *
@@ -1282,7 +1359,7 @@ declare function getMatchingOption<T = any, S extends StrictRJSFSchema = RJSFSch
1282
1359
  * @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
1283
1360
  * @returns - True if schema/uiSchema contains an array of files, otherwise false
1284
1361
  */
1285
- declare function isFilesArray<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S>, schema: S, uiSchema?: UiSchema<T, S, F>, rootSchema?: S): boolean;
1362
+ declare function isFilesArray<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;
1286
1363
 
1287
1364
  /** Checks to see if the `schema` combination represents a multi-select
1288
1365
  *
@@ -1291,7 +1368,7 @@ declare function isFilesArray<T = any, S extends StrictRJSFSchema = RJSFSchema,
1291
1368
  * @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
1292
1369
  * @returns - True if schema contains a multi-select, otherwise false
1293
1370
  */
1294
- declare function isMultiSelect<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, schema: S, rootSchema?: S): boolean;
1371
+ declare function isMultiSelect<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema?: S): boolean;
1295
1372
 
1296
1373
  /** Checks to see if the `schema` combination represents a select
1297
1374
  *
@@ -1300,7 +1377,7 @@ declare function isMultiSelect<T = any, S extends StrictRJSFSchema = RJSFSchema>
1300
1377
  * @param [rootSchema] - The root schema, used to primarily to look up `$ref`s
1301
1378
  * @returns - True if schema contains a select, otherwise false
1302
1379
  */
1303
- declare function isSelect<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, theSchema: S, rootSchema?: S): boolean;
1380
+ declare function isSelect<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, theSchema: S, rootSchema?: S): boolean;
1304
1381
 
1305
1382
  /** Merges the errors in `additionalErrorSchema` into the existing `validationData` by combining the hierarchies in the
1306
1383
  * two `ErrorSchema`s and then appending the error list from the `additionalErrorSchema` obtained by calling
@@ -1312,7 +1389,7 @@ declare function isSelect<T = any, S extends StrictRJSFSchema = RJSFSchema>(vali
1312
1389
  * @param [additionalErrorSchema] - The additional set of errors in an `ErrorSchema`
1313
1390
  * @returns - The `validationData` with the additional errors from `additionalErrorSchema` merged into it, if provided.
1314
1391
  */
1315
- declare function mergeValidationData<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, validationData: ValidationData<T>, additionalErrorSchema?: ErrorSchema<T>): ValidationData<T>;
1392
+ declare function mergeValidationData<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, validationData: ValidationData<T>, additionalErrorSchema?: ErrorSchema<T>): ValidationData<T>;
1316
1393
 
1317
1394
  /** Retrieves an expanded schema that has had all of its conditions, additional properties, references and dependencies
1318
1395
  * resolved and merged into the `schema` given a `validator`, `rootSchema` and `rawFormData` that is used to do the
@@ -1324,7 +1401,7 @@ declare function mergeValidationData<T = any, S extends StrictRJSFSchema = RJSFS
1324
1401
  * @param [rawFormData] - The current formData, if any, to assist retrieving a schema
1325
1402
  * @returns - The schema having its conditions, additional properties, references and dependencies resolved
1326
1403
  */
1327
- declare function retrieveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, schema: S, rootSchema?: S, rawFormData?: T): S;
1404
+ 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;
1328
1405
 
1329
1406
  /** Generates an `IdSchema` object for the `schema`, recursively
1330
1407
  *
@@ -1337,7 +1414,7 @@ declare function retrieveSchema<T = any, S extends StrictRJSFSchema = RJSFSchema
1337
1414
  * @param [idSeparator='_'] - The separator to use for the path segments in the id
1338
1415
  * @returns - The `IdSchema` object for the `schema`
1339
1416
  */
1340
- declare function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, schema: S, id?: string | null, rootSchema?: S, formData?: T, idPrefix?: string, idSeparator?: string): IdSchema<T>;
1417
+ declare function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, id?: string | null, rootSchema?: S, formData?: T, idPrefix?: string, idSeparator?: string): IdSchema<T>;
1341
1418
 
1342
1419
  /** Generates an `PathSchema` object for the `schema`, recursively
1343
1420
  *
@@ -1348,6 +1425,6 @@ declare function toIdSchema<T = any, S extends StrictRJSFSchema = RJSFSchema>(va
1348
1425
  * @param [formData] - The current formData, if any, to assist retrieving a schema
1349
1426
  * @returns - The `PathSchema` object for the `schema`
1350
1427
  */
1351
- declare function toPathSchema<T = any, S extends StrictRJSFSchema = RJSFSchema>(validator: ValidatorType<T, S>, schema: S, name?: string, rootSchema?: S, formData?: T): PathSchema<T>;
1428
+ 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>;
1352
1429
 
1353
- 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 };
1430
+ 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, getDefaultFormState, getDisplayLabel, 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, schemaRequiresTrueValue, shouldRender, titleId, toConstant, toDateString, toIdSchema, toPathSchema, utcToLocal };