@rjsf/utils 6.0.0-beta.8 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/{index.js → index.cjs} +563 -200
  2. package/dist/index.cjs.map +7 -0
  3. package/dist/utils.esm.js +562 -199
  4. package/dist/utils.esm.js.map +4 -4
  5. package/dist/utils.umd.js +533 -193
  6. package/lib/ErrorSchemaBuilder.d.ts +2 -2
  7. package/lib/constants.d.ts +3 -0
  8. package/lib/constants.js +3 -0
  9. package/lib/constants.js.map +1 -1
  10. package/lib/createSchemaUtils.js +25 -18
  11. package/lib/createSchemaUtils.js.map +1 -1
  12. package/lib/enums.d.ts +13 -3
  13. package/lib/enums.js +13 -3
  14. package/lib/enums.js.map +1 -1
  15. package/lib/findSchemaDefinition.d.ts +6 -0
  16. package/lib/findSchemaDefinition.js +44 -3
  17. package/lib/findSchemaDefinition.js.map +1 -1
  18. package/lib/getDateElementProps.d.ts +1 -2
  19. package/lib/getTestIds.js +2 -2
  20. package/lib/getTestIds.js.map +1 -1
  21. package/lib/getUiOptions.js +4 -0
  22. package/lib/getUiOptions.js.map +1 -1
  23. package/lib/getWidget.js +3 -3
  24. package/lib/getWidget.js.map +1 -1
  25. package/lib/guessType.d.ts +1 -1
  26. package/lib/idGenerators.d.ts +22 -15
  27. package/lib/idGenerators.js +17 -8
  28. package/lib/idGenerators.js.map +1 -1
  29. package/lib/index.d.ts +16 -6
  30. package/lib/index.js +13 -4
  31. package/lib/index.js.map +1 -1
  32. package/lib/isFormDataAvailable.d.ts +7 -0
  33. package/lib/isFormDataAvailable.js +13 -0
  34. package/lib/isFormDataAvailable.js.map +1 -0
  35. package/lib/isRootSchema.d.ts +13 -0
  36. package/lib/isRootSchema.js +25 -0
  37. package/lib/isRootSchema.js.map +1 -0
  38. package/lib/mergeDefaultsWithFormData.js +14 -2
  39. package/lib/mergeDefaultsWithFormData.js.map +1 -1
  40. package/lib/nameGenerators.d.ts +13 -0
  41. package/lib/nameGenerators.js +30 -0
  42. package/lib/nameGenerators.js.map +1 -0
  43. package/lib/schema/getDefaultFormState.d.ts +17 -3
  44. package/lib/schema/getDefaultFormState.js +66 -26
  45. package/lib/schema/getDefaultFormState.js.map +1 -1
  46. package/lib/schema/getDisplayLabel.js +2 -2
  47. package/lib/schema/getDisplayLabel.js.map +1 -1
  48. package/lib/schema/index.d.ts +1 -2
  49. package/lib/schema/index.js +1 -2
  50. package/lib/schema/index.js.map +1 -1
  51. package/lib/schema/retrieveSchema.d.ts +10 -5
  52. package/lib/schema/retrieveSchema.js +40 -17
  53. package/lib/schema/retrieveSchema.js.map +1 -1
  54. package/lib/shallowEquals.d.ts +8 -0
  55. package/lib/shallowEquals.js +36 -0
  56. package/lib/shallowEquals.js.map +1 -0
  57. package/lib/shouldRender.d.ts +8 -2
  58. package/lib/shouldRender.js +17 -2
  59. package/lib/shouldRender.js.map +1 -1
  60. package/lib/shouldRenderOptionalField.d.ts +18 -0
  61. package/lib/shouldRenderOptionalField.js +47 -0
  62. package/lib/shouldRenderOptionalField.js.map +1 -0
  63. package/lib/toFieldPathId.d.ts +14 -0
  64. package/lib/toFieldPathId.js +26 -0
  65. package/lib/toFieldPathId.js.map +1 -0
  66. package/lib/tsconfig.tsbuildinfo +1 -1
  67. package/lib/types.d.ts +196 -105
  68. package/lib/useAltDateWidgetProps.d.ts +39 -0
  69. package/lib/useAltDateWidgetProps.js +71 -0
  70. package/lib/useAltDateWidgetProps.js.map +1 -0
  71. package/lib/useDeepCompareMemo.d.ts +8 -0
  72. package/lib/useDeepCompareMemo.js +17 -0
  73. package/lib/useDeepCompareMemo.js.map +1 -0
  74. package/lib/useFileWidgetProps.d.ts +29 -0
  75. package/lib/useFileWidgetProps.js +119 -0
  76. package/lib/useFileWidgetProps.js.map +1 -0
  77. package/lib/validationDataMerge.d.ts +2 -1
  78. package/lib/validationDataMerge.js +3 -2
  79. package/lib/validationDataMerge.js.map +1 -1
  80. package/package.json +13 -14
  81. package/src/ErrorSchemaBuilder.ts +2 -2
  82. package/src/constants.ts +3 -0
  83. package/src/createSchemaUtils.ts +25 -26
  84. package/src/enums.ts +13 -3
  85. package/src/findSchemaDefinition.ts +51 -3
  86. package/src/getDateElementProps.ts +1 -1
  87. package/src/getTestIds.ts +2 -2
  88. package/src/getUiOptions.ts +4 -0
  89. package/src/getWidget.tsx +3 -3
  90. package/src/idGenerators.ts +35 -25
  91. package/src/index.ts +36 -5
  92. package/src/isFormDataAvailable.ts +13 -0
  93. package/src/isRootSchema.ts +30 -0
  94. package/src/mergeDefaultsWithFormData.ts +16 -2
  95. package/src/nameGenerators.ts +43 -0
  96. package/src/schema/getDefaultFormState.ts +87 -31
  97. package/src/schema/getDisplayLabel.ts +2 -2
  98. package/src/schema/index.ts +0 -2
  99. package/src/schema/retrieveSchema.ts +43 -7
  100. package/src/shallowEquals.ts +41 -0
  101. package/src/shouldRender.ts +27 -2
  102. package/src/shouldRenderOptionalField.ts +56 -0
  103. package/src/toFieldPathId.ts +34 -0
  104. package/src/types.ts +229 -113
  105. package/src/useAltDateWidgetProps.tsx +163 -0
  106. package/src/useDeepCompareMemo.ts +17 -0
  107. package/src/useFileWidgetProps.ts +155 -0
  108. package/src/validationDataMerge.ts +7 -1
  109. package/dist/index.js.map +0 -7
  110. package/lib/schema/toIdSchema.d.ts +0 -14
  111. package/lib/schema/toIdSchema.js +0 -62
  112. package/lib/schema/toIdSchema.js.map +0 -1
  113. package/src/schema/toIdSchema.ts +0 -131
@@ -2,7 +2,7 @@ import isString from 'lodash-es/isString.js';
2
2
  import { ID_KEY } from './constants.js';
3
3
  /** Generates a consistent `id` pattern for a given `id` and a `suffix`
4
4
  *
5
- * @param id - Either simple string id or an IdSchema from which to extract it
5
+ * @param id - Either simple string id or an FieldPathId from which to extract it
6
6
  * @param suffix - The suffix to append to the id
7
7
  */
8
8
  function idGenerator(id, suffix) {
@@ -11,7 +11,7 @@ function idGenerator(id, suffix) {
11
11
  }
12
12
  /** Return a consistent `id` for the field description element
13
13
  *
14
- * @param id - Either simple string id or an IdSchema from which to extract it
14
+ * @param id - Either simple string id or an FieldPathId from which to extract it
15
15
  * @returns - The consistent id for the field description element from the given `id`
16
16
  */
17
17
  export function descriptionId(id) {
@@ -19,7 +19,7 @@ export function descriptionId(id) {
19
19
  }
20
20
  /** Return a consistent `id` for the field error element
21
21
  *
22
- * @param id - Either simple string id or an IdSchema from which to extract it
22
+ * @param id - Either simple string id or an FieldPathId from which to extract it
23
23
  * @returns - The consistent id for the field error element from the given `id`
24
24
  */
25
25
  export function errorId(id) {
@@ -27,7 +27,7 @@ export function errorId(id) {
27
27
  }
28
28
  /** Return a consistent `id` for the field examples element
29
29
  *
30
- * @param id - Either simple string id or an IdSchema from which to extract it
30
+ * @param id - Either simple string id or an FieldPathId from which to extract it
31
31
  * @returns - The consistent id for the field examples element from the given `id`
32
32
  */
33
33
  export function examplesId(id) {
@@ -35,7 +35,7 @@ export function examplesId(id) {
35
35
  }
36
36
  /** Return a consistent `id` for the field help element
37
37
  *
38
- * @param id - Either simple string id or an IdSchema from which to extract it
38
+ * @param id - Either simple string id or an FieldPathId from which to extract it
39
39
  * @returns - The consistent id for the field help element from the given `id`
40
40
  */
41
41
  export function helpId(id) {
@@ -43,7 +43,7 @@ export function helpId(id) {
43
43
  }
44
44
  /** Return a consistent `id` for the field title element
45
45
  *
46
- * @param id - Either simple string id or an IdSchema from which to extract it
46
+ * @param id - Either simple string id or an FieldPathId from which to extract it
47
47
  * @returns - The consistent id for the field title element from the given `id`
48
48
  */
49
49
  export function titleId(id) {
@@ -53,7 +53,7 @@ export function titleId(id) {
53
53
  * description of the field. This is correctly omitting `titleId` which would be "labeling" rather than "describing" the
54
54
  * element.
55
55
  *
56
- * @param id - Either simple string id or an IdSchema from which to extract it
56
+ * @param id - Either simple string id or an FieldPathId from which to extract it
57
57
  * @param [includeExamples=false] - Optional flag, if true, will add the `examplesId` into the list
58
58
  * @returns - The string containing the list of ids for use in an `aria-describedBy` attribute
59
59
  */
@@ -72,11 +72,20 @@ export function optionId(id, optionIndex) {
72
72
  }
73
73
  /** Return a consistent `id` for the `btn` button element
74
74
  *
75
- * @param id - Either simple string id or an IdSchema from which to extract it
75
+ * @param id - The id of the parent component for the option
76
76
  * @param btn - The button type for which to generate the id
77
77
  * @returns - The consistent id for the button from the given `id` and `btn` type
78
78
  */
79
79
  export function buttonId(id, btn) {
80
80
  return idGenerator(id, btn);
81
81
  }
82
+ /** Return a consistent `id` for the optional data controls `element`
83
+ *
84
+ * @param id - The id of the parent component for the option
85
+ * @param element - The element type for which to generate the id
86
+ * @returns - The consistent id for the optional data controls element from the given `id` and `element` type
87
+ */
88
+ export function optionalControlsId(id, element) {
89
+ return idGenerator(id, `optional${element}`);
90
+ }
82
91
  //# sourceMappingURL=idGenerators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idGenerators.js","sourceRoot":"","sources":["../src/idGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;GAIG;AACH,SAAS,WAAW,CAAU,EAAwB,EAAE,MAAc;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAU,EAAwB;IAC7D,OAAO,WAAW,CAAI,EAAE,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAU,EAAwB;IACvD,OAAO,WAAW,CAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAU,EAAwB;IAC1D,OAAO,WAAW,CAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAU,EAAwB;IACtD,OAAO,WAAW,CAAI,EAAE,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAU,EAAwB;IACvD,OAAO,WAAW,CAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAU,EAAwB,EAAE,eAAe,GAAG,KAAK;IAC3F,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,UAAU,CAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,OAAO,GAAG,OAAO,CAAI,EAAE,CAAC,IAAI,aAAa,CAAI,EAAE,CAAC,IAAI,MAAM,CAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,WAAmB;IACtD,OAAO,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAU,EAAwB,EAAE,GAAsD;IAChH,OAAO,WAAW,CAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"idGenerators.js","sourceRoot":"","sources":["../src/idGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;GAIG;AACH,SAAS,WAAW,CAAC,EAAwB,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAwB;IACpD,OAAO,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAwB;IAC9C,OAAO,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EAAwB;IACjD,OAAO,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,EAAwB;IAC7C,OAAO,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAwB;IAC9C,OAAO,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAwB,EAAE,eAAe,GAAG,KAAK;IAClF,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,WAAmB;IACtD,OAAO,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAwB,EAAE,GAAsD;IACvG,OAAO,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAwB,EAAE,OAAiC;IAC5F,OAAO,WAAW,CAAC,EAAE,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC"}
package/lib/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import createSchemaUtils from './createSchemaUtils.js';
6
6
  import dataURItoBlob from './dataURItoBlob.js';
7
7
  import dateRangeOptions from './dateRangeOptions.js';
8
8
  import deepEquals from './deepEquals.js';
9
+ import shallowEquals from './shallowEquals.js';
9
10
  import englishStringTranslator from './englishStringTranslator.js';
10
11
  import enumOptionsDeselectValue from './enumOptionsDeselectValue.js';
11
12
  import enumOptionsIndexForValue from './enumOptionsIndexForValue.js';
@@ -14,9 +15,11 @@ import enumOptionsSelectValue from './enumOptionsSelectValue.js';
14
15
  import enumOptionsValueForIndex from './enumOptionsValueForIndex.js';
15
16
  import ErrorSchemaBuilder from './ErrorSchemaBuilder.js';
16
17
  import findSchemaDefinition from './findSchemaDefinition.js';
17
- import getDateElementProps, { type DateElementFormat } from './getDateElementProps.js';
18
+ import getChangedFields from './getChangedFields.js';
19
+ import getDateElementProps, { DateElementFormat, DateElementProp } from './getDateElementProps.js';
18
20
  import getDiscriminatorFieldFromSchema from './getDiscriminatorFieldFromSchema.js';
19
21
  import getInputProps from './getInputProps.js';
22
+ import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator.js';
20
23
  import getSchemaType from './getSchemaType.js';
21
24
  import getSubmitButtonOptions from './getSubmitButtonOptions.js';
22
25
  import getTemplate from './getTemplate.js';
@@ -26,11 +29,13 @@ import getWidget from './getWidget.js';
26
29
  import guessType from './guessType.js';
27
30
  import hashForSchema, { hashObject, hashString, sortedJSONStringify } from './hashForSchema.js';
28
31
  import hasWidget from './hasWidget.js';
29
- import { ariaDescribedByIds, buttonId, descriptionId, errorId, examplesId, helpId, optionId, titleId } from './idGenerators.js';
32
+ import { ariaDescribedByIds, buttonId, descriptionId, errorId, examplesId, helpId, optionalControlsId, optionId, titleId } from './idGenerators.js';
30
33
  import isConstant from './isConstant.js';
31
34
  import isCustomWidget from './isCustomWidget.js';
32
35
  import isFixedItems from './isFixedItems.js';
36
+ import isFormDataAvailable from './isFormDataAvailable.js';
33
37
  import isObject from './isObject.js';
38
+ import isRootSchema from './isRootSchema.js';
34
39
  import labelValue from './labelValue.js';
35
40
  import localToUTC from './localToUTC.js';
36
41
  import lookupFromFormContext from './lookupFromFormContext.js';
@@ -44,20 +49,25 @@ import parseDateString from './parseDateString.js';
44
49
  import rangeSpec from './rangeSpec.js';
45
50
  import replaceStringParameters from './replaceStringParameters.js';
46
51
  import schemaRequiresTrueValue from './schemaRequiresTrueValue.js';
47
- import shouldRender from './shouldRender.js';
52
+ import shouldRender, { ComponentUpdateStrategy } from './shouldRender.js';
53
+ import shouldRenderOptionalField from './shouldRenderOptionalField.js';
48
54
  import toConstant from './toConstant.js';
49
55
  import toDateString from './toDateString.js';
50
56
  import toErrorList from './toErrorList.js';
51
57
  import toErrorSchema from './toErrorSchema.js';
58
+ import toFieldPathId from './toFieldPathId.js';
52
59
  import unwrapErrorHandler from './unwrapErrorHandler.js';
60
+ import useAltDateWidgetProps, { DateElement, DateElementProps, UseAltDateWidgetResult } from './useAltDateWidgetProps.js';
61
+ import useDeepCompareMemo from './useDeepCompareMemo.js';
62
+ import useFileWidgetProps, { FileInfoType, UseFileWidgetPropsResult } from './useFileWidgetProps.js';
53
63
  import utcToLocal from './utcToLocal.js';
54
64
  import validationDataMerge from './validationDataMerge.js';
55
65
  import withIdRefPrefix from './withIdRefPrefix.js';
56
- import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator.js';
57
- import getChangedFields from './getChangedFields.js';
66
+ import { bracketNameGenerator, dotNotationNameGenerator } from './nameGenerators.js';
58
67
  export * from './types.js';
59
68
  export * from './enums.js';
60
69
  export * from './constants.js';
61
70
  export * from './parser/index.js';
62
71
  export * from './schema/index.js';
63
- export { allowAdditionalItems, ariaDescribedByIds, asNumber, buttonId, canExpand, createErrorHandler, createSchemaUtils, DateElementFormat, dataURItoBlob, dateRangeOptions, deepEquals, descriptionId, englishStringTranslator, enumOptionsDeselectValue, enumOptionsIndexForValue, enumOptionsIsSelected, enumOptionsSelectValue, enumOptionsValueForIndex, errorId, examplesId, ErrorSchemaBuilder, findSchemaDefinition, getChangedFields, getDateElementProps, getDiscriminatorFieldFromSchema, getInputProps, getOptionMatchingSimpleDiscriminator, getSchemaType, getSubmitButtonOptions, getTemplate, getTestIds, getUiOptions, getWidget, guessType, hasWidget, hashForSchema, hashObject, hashString, helpId, isConstant, isCustomWidget, isFixedItems, isObject, labelValue, localToUTC, lookupFromFormContext, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, optionId, optionsList, orderProperties, pad, parseDateString, rangeSpec, replaceStringParameters, schemaRequiresTrueValue, shouldRender, sortedJSONStringify, titleId, toConstant, toDateString, toErrorList, toErrorSchema, unwrapErrorHandler, utcToLocal, validationDataMerge, withIdRefPrefix, };
72
+ export type { ComponentUpdateStrategy, DateElementFormat, DateElementProp, DateElementProps, FileInfoType, UseAltDateWidgetResult, UseFileWidgetPropsResult, };
73
+ export { allowAdditionalItems, ariaDescribedByIds, asNumber, buttonId, canExpand, createErrorHandler, createSchemaUtils, DateElement, dataURItoBlob, dateRangeOptions, deepEquals, descriptionId, englishStringTranslator, enumOptionsDeselectValue, enumOptionsIndexForValue, enumOptionsIsSelected, enumOptionsSelectValue, enumOptionsValueForIndex, errorId, examplesId, ErrorSchemaBuilder, findSchemaDefinition, getChangedFields, getDateElementProps, getDiscriminatorFieldFromSchema, getInputProps, getOptionMatchingSimpleDiscriminator, getSchemaType, getSubmitButtonOptions, getTemplate, getTestIds, getUiOptions, getWidget, guessType, hasWidget, hashForSchema, hashObject, hashString, helpId, isConstant, isCustomWidget, isFixedItems, isFormDataAvailable, isObject, isRootSchema, labelValue, localToUTC, lookupFromFormContext, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, optionalControlsId, optionId, optionsList, orderProperties, pad, parseDateString, rangeSpec, replaceStringParameters, schemaRequiresTrueValue, shallowEquals, shouldRender, shouldRenderOptionalField, sortedJSONStringify, titleId, toConstant, toDateString, toErrorList, toErrorSchema, toFieldPathId, unwrapErrorHandler, useAltDateWidgetProps, useDeepCompareMemo, useFileWidgetProps, utcToLocal, validationDataMerge, withIdRefPrefix, bracketNameGenerator, dotNotationNameGenerator, };
package/lib/index.js CHANGED
@@ -6,6 +6,7 @@ import createSchemaUtils from './createSchemaUtils.js';
6
6
  import dataURItoBlob from './dataURItoBlob.js';
7
7
  import dateRangeOptions from './dateRangeOptions.js';
8
8
  import deepEquals from './deepEquals.js';
9
+ import shallowEquals from './shallowEquals.js';
9
10
  import englishStringTranslator from './englishStringTranslator.js';
10
11
  import enumOptionsDeselectValue from './enumOptionsDeselectValue.js';
11
12
  import enumOptionsIndexForValue from './enumOptionsIndexForValue.js';
@@ -14,9 +15,11 @@ import enumOptionsSelectValue from './enumOptionsSelectValue.js';
14
15
  import enumOptionsValueForIndex from './enumOptionsValueForIndex.js';
15
16
  import ErrorSchemaBuilder from './ErrorSchemaBuilder.js';
16
17
  import findSchemaDefinition from './findSchemaDefinition.js';
18
+ import getChangedFields from './getChangedFields.js';
17
19
  import getDateElementProps from './getDateElementProps.js';
18
20
  import getDiscriminatorFieldFromSchema from './getDiscriminatorFieldFromSchema.js';
19
21
  import getInputProps from './getInputProps.js';
22
+ import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator.js';
20
23
  import getSchemaType from './getSchemaType.js';
21
24
  import getSubmitButtonOptions from './getSubmitButtonOptions.js';
22
25
  import getTemplate from './getTemplate.js';
@@ -26,11 +29,13 @@ import getWidget from './getWidget.js';
26
29
  import guessType from './guessType.js';
27
30
  import hashForSchema, { hashObject, hashString, sortedJSONStringify } from './hashForSchema.js';
28
31
  import hasWidget from './hasWidget.js';
29
- import { ariaDescribedByIds, buttonId, descriptionId, errorId, examplesId, helpId, optionId, titleId, } from './idGenerators.js';
32
+ import { ariaDescribedByIds, buttonId, descriptionId, errorId, examplesId, helpId, optionalControlsId, optionId, titleId, } from './idGenerators.js';
30
33
  import isConstant from './isConstant.js';
31
34
  import isCustomWidget from './isCustomWidget.js';
32
35
  import isFixedItems from './isFixedItems.js';
36
+ import isFormDataAvailable from './isFormDataAvailable.js';
33
37
  import isObject from './isObject.js';
38
+ import isRootSchema from './isRootSchema.js';
34
39
  import labelValue from './labelValue.js';
35
40
  import localToUTC from './localToUTC.js';
36
41
  import lookupFromFormContext from './lookupFromFormContext.js';
@@ -45,20 +50,24 @@ import rangeSpec from './rangeSpec.js';
45
50
  import replaceStringParameters from './replaceStringParameters.js';
46
51
  import schemaRequiresTrueValue from './schemaRequiresTrueValue.js';
47
52
  import shouldRender from './shouldRender.js';
53
+ import shouldRenderOptionalField from './shouldRenderOptionalField.js';
48
54
  import toConstant from './toConstant.js';
49
55
  import toDateString from './toDateString.js';
50
56
  import toErrorList from './toErrorList.js';
51
57
  import toErrorSchema from './toErrorSchema.js';
58
+ import toFieldPathId from './toFieldPathId.js';
52
59
  import unwrapErrorHandler from './unwrapErrorHandler.js';
60
+ import useAltDateWidgetProps, { DateElement } from './useAltDateWidgetProps.js';
61
+ import useDeepCompareMemo from './useDeepCompareMemo.js';
62
+ import useFileWidgetProps from './useFileWidgetProps.js';
53
63
  import utcToLocal from './utcToLocal.js';
54
64
  import validationDataMerge from './validationDataMerge.js';
55
65
  import withIdRefPrefix from './withIdRefPrefix.js';
56
- import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator.js';
57
- import getChangedFields from './getChangedFields.js';
66
+ import { bracketNameGenerator, dotNotationNameGenerator } from './nameGenerators.js';
58
67
  export * from './types.js';
59
68
  export * from './enums.js';
60
69
  export * from './constants.js';
61
70
  export * from './parser/index.js';
62
71
  export * from './schema/index.js';
63
- export { allowAdditionalItems, ariaDescribedByIds, asNumber, buttonId, canExpand, createErrorHandler, createSchemaUtils, dataURItoBlob, dateRangeOptions, deepEquals, descriptionId, englishStringTranslator, enumOptionsDeselectValue, enumOptionsIndexForValue, enumOptionsIsSelected, enumOptionsSelectValue, enumOptionsValueForIndex, errorId, examplesId, ErrorSchemaBuilder, findSchemaDefinition, getChangedFields, getDateElementProps, getDiscriminatorFieldFromSchema, getInputProps, getOptionMatchingSimpleDiscriminator, getSchemaType, getSubmitButtonOptions, getTemplate, getTestIds, getUiOptions, getWidget, guessType, hasWidget, hashForSchema, hashObject, hashString, helpId, isConstant, isCustomWidget, isFixedItems, isObject, labelValue, localToUTC, lookupFromFormContext, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, optionId, optionsList, orderProperties, pad, parseDateString, rangeSpec, replaceStringParameters, schemaRequiresTrueValue, shouldRender, sortedJSONStringify, titleId, toConstant, toDateString, toErrorList, toErrorSchema, unwrapErrorHandler, utcToLocal, validationDataMerge, withIdRefPrefix, };
72
+ export { allowAdditionalItems, ariaDescribedByIds, asNumber, buttonId, canExpand, createErrorHandler, createSchemaUtils, DateElement, dataURItoBlob, dateRangeOptions, deepEquals, descriptionId, englishStringTranslator, enumOptionsDeselectValue, enumOptionsIndexForValue, enumOptionsIsSelected, enumOptionsSelectValue, enumOptionsValueForIndex, errorId, examplesId, ErrorSchemaBuilder, findSchemaDefinition, getChangedFields, getDateElementProps, getDiscriminatorFieldFromSchema, getInputProps, getOptionMatchingSimpleDiscriminator, getSchemaType, getSubmitButtonOptions, getTemplate, getTestIds, getUiOptions, getWidget, guessType, hasWidget, hashForSchema, hashObject, hashString, helpId, isConstant, isCustomWidget, isFixedItems, isFormDataAvailable, isObject, isRootSchema, labelValue, localToUTC, lookupFromFormContext, mergeDefaultsWithFormData, mergeObjects, mergeSchemas, optionalControlsId, optionId, optionsList, orderProperties, pad, parseDateString, rangeSpec, replaceStringParameters, schemaRequiresTrueValue, shallowEquals, shouldRender, shouldRenderOptionalField, sortedJSONStringify, titleId, toConstant, toDateString, toErrorList, toErrorSchema, toFieldPathId, unwrapErrorHandler, useAltDateWidgetProps, useDeepCompareMemo, useFileWidgetProps, utcToLocal, validationDataMerge, withIdRefPrefix, bracketNameGenerator, dotNotationNameGenerator, };
64
73
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Determines whether the given `formData` represents valid form data, such as a primitive type, an array, or a
2
+ * non-empty object.
3
+ *
4
+ * @param formData - The data to check
5
+ * @returns - True if `formData` is not undefined, null, a primitive type or an array or an empty object
6
+ */
7
+ export default function isFormDataAvailable<T = any>(formData?: T): boolean;
@@ -0,0 +1,13 @@
1
+ import isNil from 'lodash-es/isNil.js';
2
+ import isEmpty from 'lodash-es/isEmpty.js';
3
+ import isObject from 'lodash-es/isObject.js';
4
+ /** Determines whether the given `formData` represents valid form data, such as a primitive type, an array, or a
5
+ * non-empty object.
6
+ *
7
+ * @param formData - The data to check
8
+ * @returns - True if `formData` is not undefined, null, a primitive type or an array or an empty object
9
+ */
10
+ export default function isFormDataAvailable(formData) {
11
+ return !isNil(formData) && (!isObject(formData) || Array.isArray(formData) || !isEmpty(formData));
12
+ }
13
+ //# sourceMappingURL=isFormDataAvailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFormDataAvailable.js","sourceRoot":"","sources":["../src/isFormDataAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAU,QAAY;IAC/D,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpG,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { FormContextType, Registry, RJSFSchema, StrictRJSFSchema } from './types.js';
2
+ /** Helper to check whether a JSON schema object is the root schema. The schema is a root schema with root `properties`
3
+ * key or a root `$ref` key. If the `schemaToCompare` has a root `oneOf` property, the function will
4
+ * return false. Else if `schemaToCompare` and `rootSchema` are the same object or equal, the function will return
5
+ * `true`. Else if the `rootSchema` has a $ref, it will be resolved using `schemaUtils.resolveSchema` utility. If the
6
+ * resolved schema matches the `schemaToCompare` the function will return `true`. Otherwise, it will return false.
7
+ *
8
+ * @param registry - The `Registry` used to get the `rootSchema` and `schemaUtils`
9
+ * @param schemaToCompare - The JSON schema object to check. If `schemaToCompare` is an root schema, the
10
+ * function will return true.
11
+ * @returns - Flag indicating whether the `schemaToCompare` is the root schema
12
+ */
13
+ export default function isRootSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(registry: Registry<T, S, F>, schemaToCompare: S): boolean;
@@ -0,0 +1,25 @@
1
+ import isEqual from 'lodash-es/isEqual.js';
2
+ import { REF_KEY } from './constants.js';
3
+ /** Helper to check whether a JSON schema object is the root schema. The schema is a root schema with root `properties`
4
+ * key or a root `$ref` key. If the `schemaToCompare` has a root `oneOf` property, the function will
5
+ * return false. Else if `schemaToCompare` and `rootSchema` are the same object or equal, the function will return
6
+ * `true`. Else if the `rootSchema` has a $ref, it will be resolved using `schemaUtils.resolveSchema` utility. If the
7
+ * resolved schema matches the `schemaToCompare` the function will return `true`. Otherwise, it will return false.
8
+ *
9
+ * @param registry - The `Registry` used to get the `rootSchema` and `schemaUtils`
10
+ * @param schemaToCompare - The JSON schema object to check. If `schemaToCompare` is an root schema, the
11
+ * function will return true.
12
+ * @returns - Flag indicating whether the `schemaToCompare` is the root schema
13
+ */
14
+ export default function isRootSchema(registry, schemaToCompare) {
15
+ const { rootSchema, schemaUtils } = registry;
16
+ if (isEqual(schemaToCompare, rootSchema)) {
17
+ return true;
18
+ }
19
+ if (REF_KEY in rootSchema) {
20
+ const resolvedSchema = schemaUtils.retrieveSchema(rootSchema);
21
+ return isEqual(schemaToCompare, resolvedSchema);
22
+ }
23
+ return false;
24
+ }
25
+ //# sourceMappingURL=isRootSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRootSchema.js","sourceRoot":"","sources":["../src/isRootSchema.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAA2B,EAC3B,eAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAC7C,IAAI,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -46,10 +46,22 @@ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtra
46
46
  if (isObject(formData)) {
47
47
  const acc = Object.assign({}, defaults); // Prevent mutation of source object.
48
48
  return Object.keys(formData).reduce((acc, key) => {
49
+ var _a;
49
50
  const keyValue = get(formData, key);
50
51
  const keyExistsInDefaults = isObject(defaults) && key in defaults;
51
52
  const keyExistsInFormData = key in formData;
52
- acc[key] = mergeDefaultsWithFormData(defaults ? get(defaults, key) : {}, keyValue, mergeExtraArrayDefaults, defaultSupercedesUndefined,
53
+ const keyDefault = (_a = get(defaults, key)) !== null && _a !== void 0 ? _a : {};
54
+ const defaultValueIsNestedObject = keyExistsInDefaults && Object.entries(keyDefault).some(([, v]) => isObject(v));
55
+ const keyDefaultIsObject = keyExistsInDefaults && isObject(get(defaults, key));
56
+ const keyHasFormDataObject = keyExistsInFormData && isObject(keyValue);
57
+ if (keyDefaultIsObject && keyHasFormDataObject && !defaultValueIsNestedObject) {
58
+ acc[key] = {
59
+ ...get(defaults, key),
60
+ ...keyValue,
61
+ };
62
+ return acc;
63
+ }
64
+ acc[key] = mergeDefaultsWithFormData(get(defaults, key), keyValue, mergeExtraArrayDefaults, defaultSupercedesUndefined,
53
65
  // overrideFormDataWithDefaults can be true only when the key value exists in defaults
54
66
  // Or if the key value doesn't exist in formData
55
67
  overrideFormDataWithDefaults && (keyExistsInDefaults || !keyExistsInFormData));
@@ -63,7 +75,7 @@ export default function mergeDefaultsWithFormData(defaults, formData, mergeExtra
63
75
  * Or if overrideFormDataWithDefaults flag is true and formData is set to not undefined/null return defaults
64
76
  */
65
77
  if ((defaultSupercedesUndefined &&
66
- ((!isNil(defaults) && isNil(formData)) || (typeof formData === 'number' && isNaN(formData)))) ||
78
+ ((!(defaults === undefined) && isNil(formData)) || (typeof formData === 'number' && isNaN(formData)))) ||
67
79
  (overrideFormDataWithDefaults && !isNil(formData))) {
68
80
  return defaults;
69
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeDefaultsWithFormData.js","sourceRoot":"","sources":["../src/mergeDefaultsWithFormData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { NameGeneratorFunction } from './types.js';
2
+ /**
3
+ * Generates bracketed names
4
+ * Example: root[tasks][0][title]
5
+ * For multi-value fields (checkboxes, multi-select): root[hobbies][]
6
+ */
7
+ export declare const bracketNameGenerator: NameGeneratorFunction;
8
+ /**
9
+ * Generates dot-notation names
10
+ * Example: root.tasks.0.title
11
+ * Multi-value fields are handled the same as single-value fields in dot notation
12
+ */
13
+ export declare const dotNotationNameGenerator: NameGeneratorFunction;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Generates bracketed names
3
+ * Example: root[tasks][0][title]
4
+ * For multi-value fields (checkboxes, multi-select): root[hobbies][]
5
+ */
6
+ export const bracketNameGenerator = (path, idPrefix, isMultiValue) => {
7
+ if (!path || path.length === 0) {
8
+ return idPrefix;
9
+ }
10
+ const baseName = path.reduce((acc, pathUnit, index) => {
11
+ if (index === 0) {
12
+ return `${idPrefix}[${String(pathUnit)}]`;
13
+ }
14
+ return `${acc}[${String(pathUnit)}]`;
15
+ }, '');
16
+ // For multi-value fields, append [] to allow multiple values with the same name
17
+ return isMultiValue ? `${baseName}[]` : baseName;
18
+ };
19
+ /**
20
+ * Generates dot-notation names
21
+ * Example: root.tasks.0.title
22
+ * Multi-value fields are handled the same as single-value fields in dot notation
23
+ */
24
+ export const dotNotationNameGenerator = (path, idPrefix, _isMultiValue) => {
25
+ if (!path || path.length === 0) {
26
+ return idPrefix;
27
+ }
28
+ return `${idPrefix}.${path.map(String).join('.')}`;
29
+ };
30
+ //# sourceMappingURL=nameGenerators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameGenerators.js","sourceRoot":"","sources":["../src/nameGenerators.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA0B,CACzD,IAAmB,EACnB,QAAgB,EAChB,YAAsB,EACd,EAAE;IACV,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC5D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gFAAgF;IAChF,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA0B,CAC7D,IAAmB,EACnB,QAAgB,EAChB,aAAuB,EACf,EAAE;IACV,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC,CAAC"}
@@ -22,6 +22,15 @@ export declare enum AdditionalItemsHandling {
22
22
  * @returns - The best fit schema object from the `schema` given the `additionalItems` and `idx` modifiers
23
23
  */
24
24
  export declare function getInnerSchemaForArrayItem<S extends StrictRJSFSchema = RJSFSchema>(schema: S, additionalItems?: AdditionalItemsHandling, idx?: number): S;
25
+ /** Checks if the given `schema` contains the `null` type along with another type AND if the `default` contained within
26
+ * the schema is `null` AND the `computedDefault` is empty. If all of those conditions are true, then the `schema`'s
27
+ * default should be `null` rather than `computedDefault`.
28
+ *
29
+ * @param schema - The schema to inspect
30
+ * @param computedDefault - The computed default for the schema
31
+ * @returns - Flag indicating whether a null should be returned instead of the computedDefault
32
+ */
33
+ export declare function computeDefaultBasedOnSchemaTypeAndDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema>(schema: S, computedDefault: T): T;
25
34
  interface ComputeDefaultsProps<T = any, S extends StrictRJSFSchema = RJSFSchema> {
26
35
  /** Any defaults provided by the parent field in the schema */
27
36
  parentDefaults?: T;
@@ -42,10 +51,14 @@ interface ComputeDefaultsProps<T = any, S extends StrictRJSFSchema = RJSFSchema>
42
51
  experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>;
43
52
  /** Optional flag, if true, indicates this schema was required in the parent schema. */
44
53
  required?: boolean;
54
+ /** Optional flag, if true, indicates this schema was required because it is the root. */
55
+ requiredAsRoot?: boolean;
45
56
  /** Optional flag, if true, It will merge defaults into formData.
46
57
  * The formData should take precedence unless it's not valid. This is useful when for example the value from formData does not exist in the schema 'enum' property, in such cases we take the value from the defaults because the value from the formData is not valid.
47
58
  */
48
59
  shouldMergeDefaultsIntoFormData?: boolean;
60
+ /** Indicates whether initial defaults have been generated */
61
+ initialDefaultsGenerated?: boolean;
49
62
  }
50
63
  /** Computes the defaults for the current `schema` given the `rawFormData` and `parentDefaults` if any. This drills into
51
64
  * each level of the schema, recursively, to fill out every level of defaults provided by the schema.
@@ -76,7 +89,7 @@ export declare function ensureFormDataMatchingSchema<T = any, S extends StrictRJ
76
89
  * @param defaults - Optional props for this function
77
90
  * @returns - The default value based on the schema type if they are defined for object or array schemas.
78
91
  */
79
- export declare function getObjectDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, includeUndefinedValues, _recurseList, experimental_defaultFormStateBehavior, experimental_customMergeAllOf, required, shouldMergeDefaultsIntoFormData, }?: ComputeDefaultsProps<T, S>, defaults?: T | T[] | undefined): T;
92
+ export declare function getObjectDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, includeUndefinedValues, _recurseList, experimental_defaultFormStateBehavior, experimental_customMergeAllOf, required, shouldMergeDefaultsIntoFormData, initialDefaultsGenerated, }?: ComputeDefaultsProps<T, S>, defaults?: T | T[]): T;
80
93
  /** Computes the default value for arrays.
81
94
  *
82
95
  * @param validator - an implementation of the `ValidatorType` interface that will be used when necessary
@@ -85,7 +98,7 @@ export declare function getObjectDefaults<T = any, S extends StrictRJSFSchema =
85
98
  * @param defaults - Optional props for this function
86
99
  * @returns - The default value based on the schema type if they are defined for object or array schemas.
87
100
  */
88
- export declare function getArrayDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, _recurseList, experimental_defaultFormStateBehavior, experimental_customMergeAllOf, required, shouldMergeDefaultsIntoFormData, }?: ComputeDefaultsProps<T, S>, defaults?: T | T[] | undefined): T | T[] | undefined;
101
+ export declare function getArrayDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, rawSchema: S, { rawFormData, rootSchema, _recurseList, experimental_defaultFormStateBehavior, experimental_customMergeAllOf, required, requiredAsRoot, shouldMergeDefaultsIntoFormData, initialDefaultsGenerated, }?: ComputeDefaultsProps<T, S>, defaults?: T[]): T[] | undefined;
89
102
  /** Computes the default value based on the schema type.
90
103
  *
91
104
  * @param validator - an implementation of the `ValidatorType` interface that will be used when necessary
@@ -107,7 +120,8 @@ export declare function getDefaultBasedOnSchemaType<T = any, S extends StrictRJS
107
120
  * false when computing defaults for any nested object properties.
108
121
  * @param [experimental_defaultFormStateBehavior] Optional configuration object, if provided, allows users to override default form state behavior
109
122
  * @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
123
+ * @param initialDefaultsGenerated - Optional flag, indicates whether or not initial defaults have been generated
110
124
  * @returns - The resulting `formData` with all the defaults provided
111
125
  */
112
- export default 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', experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): T | T[] | undefined;
126
+ export default 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', experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>, initialDefaultsGenerated?: boolean): T | T[] | undefined;
113
127
  export {};