@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/utils.esm.js
CHANGED
|
@@ -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;
|