@rjsf/utils 5.22.2 → 5.22.4
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.js +11 -6
- package/dist/index.js.map +2 -2
- package/dist/utils.esm.js +11 -6
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +11 -6
- package/lib/schema/getDefaultFormState.js +13 -6
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/schema/getDefaultFormState.ts +14 -6
package/dist/utils.esm.js
CHANGED
|
@@ -1094,8 +1094,8 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
|
|
|
1094
1094
|
}
|
|
1095
1095
|
} else if (DEPENDENCIES_KEY in schema) {
|
|
1096
1096
|
const defaultFormData = {
|
|
1097
|
-
...
|
|
1098
|
-
...
|
|
1097
|
+
...getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults),
|
|
1098
|
+
...formData
|
|
1099
1099
|
};
|
|
1100
1100
|
const resolvedSchema = resolveDependencies(
|
|
1101
1101
|
validator,
|
|
@@ -1252,10 +1252,13 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1252
1252
|
required
|
|
1253
1253
|
} = {}, defaults) {
|
|
1254
1254
|
const schema = rawSchema;
|
|
1255
|
-
const
|
|
1256
|
-
const
|
|
1255
|
+
const arrayMinItemsStateBehavior = experimental_defaultFormStateBehavior?.arrayMinItems ?? {};
|
|
1256
|
+
const { populate: arrayMinItemsPopulate, mergeExtraDefaults: arrayMergeExtraDefaults } = arrayMinItemsStateBehavior;
|
|
1257
|
+
const neverPopulate = arrayMinItemsPopulate === "never";
|
|
1258
|
+
const ignoreMinItemsFlagSet = arrayMinItemsPopulate === "requiredOnly";
|
|
1259
|
+
const isPopulateAll = arrayMinItemsPopulate === "all" || !neverPopulate && !ignoreMinItemsFlagSet;
|
|
1260
|
+
const computeSkipPopulate = arrayMinItemsStateBehavior?.computeSkipPopulate ?? (() => false);
|
|
1257
1261
|
const isSkipEmptyDefaults = experimental_defaultFormStateBehavior?.emptyObjectFields === "skipEmptyDefaults";
|
|
1258
|
-
const computeSkipPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.computeSkipPopulate ?? (() => false);
|
|
1259
1262
|
const emptyDefault = isSkipEmptyDefaults ? void 0 : [];
|
|
1260
1263
|
if (Array.isArray(defaults)) {
|
|
1261
1264
|
defaults = defaults.map((item, idx) => {
|
|
@@ -1274,7 +1277,7 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1274
1277
|
if (neverPopulate) {
|
|
1275
1278
|
defaults = rawFormData;
|
|
1276
1279
|
} else {
|
|
1277
|
-
|
|
1280
|
+
const itemDefaults = rawFormData.map((item, idx) => {
|
|
1278
1281
|
return computeDefaults(validator, schemaItem, {
|
|
1279
1282
|
rootSchema,
|
|
1280
1283
|
_recurseList,
|
|
@@ -1284,6 +1287,8 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1284
1287
|
required
|
|
1285
1288
|
});
|
|
1286
1289
|
});
|
|
1290
|
+
const mergeExtraDefaults = (ignoreMinItemsFlagSet && required || isPopulateAll) && arrayMergeExtraDefaults;
|
|
1291
|
+
defaults = mergeDefaultsWithFormData(defaults, itemDefaults, mergeExtraDefaults);
|
|
1287
1292
|
}
|
|
1288
1293
|
}
|
|
1289
1294
|
const hasConst = isObject(schema) && CONST_KEY in schema;
|