@rjsf/utils 5.17.1 → 5.18.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.
- package/dist/index.js +14 -7
- package/dist/index.js.map +2 -2
- package/dist/utils.esm.js +14 -7
- package/dist/utils.esm.js.map +2 -2
- package/dist/utils.umd.js +14 -7
- package/lib/enums.d.ts +1 -1
- package/lib/enums.js +1 -1
- package/lib/enums.js.map +1 -1
- package/lib/schema/getDefaultFormState.js +19 -7
- package/lib/schema/getDefaultFormState.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types.d.ts +12 -1
- package/package.json +2 -2
- package/src/enums.ts +1 -1
- package/src/schema/getDefaultFormState.ts +21 -6
- package/src/types.ts +16 -1
package/dist/utils.esm.js
CHANGED
|
@@ -955,14 +955,18 @@ function maybeAddDefaultToObject(obj, key, computedDefault, includeUndefinedValu
|
|
|
955
955
|
} else if (emptyObjectFields !== "skipDefaults") {
|
|
956
956
|
if (isObject(computedDefault)) {
|
|
957
957
|
const isSelfOrParentRequired = isParentRequired === void 0 ? requiredFields.includes(key) : isParentRequired;
|
|
958
|
-
if (
|
|
958
|
+
if (emptyObjectFields === "skipEmptyDefaults") {
|
|
959
|
+
if (!isEmpty(computedDefault)) {
|
|
960
|
+
obj[key] = computedDefault;
|
|
961
|
+
}
|
|
962
|
+
} else if ((!isEmpty(computedDefault) || requiredFields.includes(key)) && (isSelfOrParentRequired || emptyObjectFields !== "populateRequiredDefaults")) {
|
|
959
963
|
obj[key] = computedDefault;
|
|
960
964
|
}
|
|
961
965
|
} else if (
|
|
962
966
|
// Store computedDefault if it's a defined primitive (e.g., true) and satisfies certain conditions
|
|
963
967
|
// Condition 1: computedDefault is not undefined
|
|
964
|
-
// Condition 2: If emptyObjectFields is 'populateAllDefaults' or if the key is a required field
|
|
965
|
-
computedDefault !== void 0 && (emptyObjectFields === "populateAllDefaults" || requiredFields.includes(key))
|
|
968
|
+
// Condition 2: If emptyObjectFields is 'populateAllDefaults' or 'skipEmptyDefaults) or if the key is a required field
|
|
969
|
+
computedDefault !== void 0 && (emptyObjectFields === "populateAllDefaults" || emptyObjectFields === "skipEmptyDefaults" || requiredFields.includes(key))
|
|
966
970
|
) {
|
|
967
971
|
obj[key] = computedDefault;
|
|
968
972
|
}
|
|
@@ -1115,6 +1119,9 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1115
1119
|
case "array": {
|
|
1116
1120
|
const neverPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.populate === "never";
|
|
1117
1121
|
const ignoreMinItemsFlagSet = experimental_defaultFormStateBehavior?.arrayMinItems?.populate === "requiredOnly";
|
|
1122
|
+
const isSkipEmptyDefaults = experimental_defaultFormStateBehavior?.emptyObjectFields === "skipEmptyDefaults";
|
|
1123
|
+
const computeSkipPopulate = experimental_defaultFormStateBehavior?.arrayMinItems?.computeSkipPopulate ?? (() => false);
|
|
1124
|
+
const emptyDefault = isSkipEmptyDefaults ? void 0 : [];
|
|
1118
1125
|
if (Array.isArray(defaults)) {
|
|
1119
1126
|
defaults = defaults.map((item, idx) => {
|
|
1120
1127
|
const schemaItem = getInnerSchemaForArrayItem(schema, 2 /* Fallback */, idx);
|
|
@@ -1145,14 +1152,14 @@ function computeDefaults(validator, rawSchema, {
|
|
|
1145
1152
|
}
|
|
1146
1153
|
}
|
|
1147
1154
|
if (neverPopulate) {
|
|
1148
|
-
return defaults ??
|
|
1155
|
+
return defaults ?? emptyDefault;
|
|
1149
1156
|
}
|
|
1150
1157
|
if (ignoreMinItemsFlagSet && !required) {
|
|
1151
1158
|
return defaults ? defaults : void 0;
|
|
1152
1159
|
}
|
|
1153
1160
|
const defaultsLength = Array.isArray(defaults) ? defaults.length : 0;
|
|
1154
|
-
if (!schema.minItems || isMultiSelect(validator, schema, rootSchema) || schema.minItems <= defaultsLength) {
|
|
1155
|
-
return defaults ? defaults :
|
|
1161
|
+
if (!schema.minItems || isMultiSelect(validator, schema, rootSchema) || computeSkipPopulate(validator, schema, rootSchema) || schema.minItems <= defaultsLength) {
|
|
1162
|
+
return defaults ? defaults : emptyDefault;
|
|
1156
1163
|
}
|
|
1157
1164
|
const defaultEntries = defaults || [];
|
|
1158
1165
|
const fillerSchema = getInnerSchemaForArrayItem(schema, 1 /* Invert */);
|
|
@@ -2476,7 +2483,7 @@ var TranslatableString = /* @__PURE__ */ ((TranslatableString2) => {
|
|
|
2476
2483
|
TranslatableString2["UnsupportedFieldWithId"] = "Unsupported field schema for field <code>%1</code>.";
|
|
2477
2484
|
TranslatableString2["UnsupportedFieldWithReason"] = "Unsupported field schema: <em>%1</em>.";
|
|
2478
2485
|
TranslatableString2["UnsupportedFieldWithIdAndReason"] = "Unsupported field schema for field <code>%1</code>: <em>%2</em>.";
|
|
2479
|
-
TranslatableString2["FilesInfo"] = "
|
|
2486
|
+
TranslatableString2["FilesInfo"] = "**%1** (%2, %3 bytes)";
|
|
2480
2487
|
return TranslatableString2;
|
|
2481
2488
|
})(TranslatableString || {});
|
|
2482
2489
|
|