@rjsf/utils 5.22.3 → 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 +9 -4
- package/dist/index.js.map +2 -2
- package/dist/utils.esm.js +9 -4
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +9 -4
- package/lib/schema/getDefaultFormState.js +12 -5
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/schema/getDefaultFormState.ts +13 -5
package/dist/index.js
CHANGED
|
@@ -1389,10 +1389,13 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1389
1389
|
required
|
|
1390
1390
|
} = {}, defaults) {
|
|
1391
1391
|
const schema = rawSchema;
|
|
1392
|
-
const
|
|
1393
|
-
const
|
|
1392
|
+
const arrayMinItemsStateBehavior = experimental_defaultFormStateBehavior?.arrayMinItems ?? {};
|
|
1393
|
+
const { populate: arrayMinItemsPopulate, mergeExtraDefaults: arrayMergeExtraDefaults } = arrayMinItemsStateBehavior;
|
|
1394
|
+
const neverPopulate = arrayMinItemsPopulate === "never";
|
|
1395
|
+
const ignoreMinItemsFlagSet = arrayMinItemsPopulate === "requiredOnly";
|
|
1396
|
+
const isPopulateAll = arrayMinItemsPopulate === "all" || !neverPopulate && !ignoreMinItemsFlagSet;
|
|
1397
|
+
const computeSkipPopulate = arrayMinItemsStateBehavior?.computeSkipPopulate ?? (() => false);
|
|
1394
1398
|
const isSkipEmptyDefaults = experimental_defaultFormStateBehavior?.emptyObjectFields === "skipEmptyDefaults";
|
|
1395
|
-
const computeSkipPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.computeSkipPopulate ?? (() => false);
|
|
1396
1399
|
const emptyDefault = isSkipEmptyDefaults ? void 0 : [];
|
|
1397
1400
|
if (Array.isArray(defaults)) {
|
|
1398
1401
|
defaults = defaults.map((item, idx) => {
|
|
@@ -1411,7 +1414,7 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1411
1414
|
if (neverPopulate) {
|
|
1412
1415
|
defaults = rawFormData;
|
|
1413
1416
|
} else {
|
|
1414
|
-
|
|
1417
|
+
const itemDefaults = rawFormData.map((item, idx) => {
|
|
1415
1418
|
return computeDefaults(validator, schemaItem, {
|
|
1416
1419
|
rootSchema,
|
|
1417
1420
|
_recurseList,
|
|
@@ -1421,6 +1424,8 @@ function getArrayDefaults(validator, rawSchema, {
|
|
|
1421
1424
|
required
|
|
1422
1425
|
});
|
|
1423
1426
|
});
|
|
1427
|
+
const mergeExtraDefaults = (ignoreMinItemsFlagSet && required || isPopulateAll) && arrayMergeExtraDefaults;
|
|
1428
|
+
defaults = mergeDefaultsWithFormData(defaults, itemDefaults, mergeExtraDefaults);
|
|
1424
1429
|
}
|
|
1425
1430
|
}
|
|
1426
1431
|
const hasConst = isObject(schema) && CONST_KEY in schema;
|