@rjsf/utils 6.0.0-beta.7 → 6.0.0-beta.9

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 CHANGED
@@ -299,15 +299,15 @@ function deepEquals(a, b) {
299
299
  }
300
300
 
301
301
  // src/schema/findFieldInSchema.ts
302
- var import_get7 = __toESM(require("lodash/get"), 1);
302
+ var import_get8 = __toESM(require("lodash/get"), 1);
303
303
  var import_has3 = __toESM(require("lodash/has"), 1);
304
304
 
305
305
  // src/schema/findSelectedOptionInXxxOf.ts
306
- var import_get5 = __toESM(require("lodash/get"), 1);
306
+ var import_get6 = __toESM(require("lodash/get"), 1);
307
307
  var import_isEqual = __toESM(require("lodash/isEqual"), 1);
308
308
 
309
309
  // src/schema/retrieveSchema.ts
310
- var import_get4 = __toESM(require("lodash/get"), 1);
310
+ var import_get5 = __toESM(require("lodash/get"), 1);
311
311
  var import_set = __toESM(require("lodash/set"), 1);
312
312
  var import_times = __toESM(require("lodash/times"), 1);
313
313
  var import_transform = __toESM(require("lodash/transform"), 1);
@@ -322,6 +322,7 @@ var import_omit = __toESM(require("lodash/omit"), 1);
322
322
  var import_isObject3 = __toESM(require("lodash/isObject"), 1);
323
323
  var import_isEmpty = __toESM(require("lodash/isEmpty"), 1);
324
324
  var import_fast_uri = __toESM(require("fast-uri"), 1);
325
+ var import_get = __toESM(require("lodash/get"), 1);
325
326
  function findEmbeddedSchemaRecursive(schema, ref) {
326
327
  if (ID_KEY in schema && import_fast_uri.default.equal(schema[ID_KEY], ref)) {
327
328
  return schema;
@@ -341,7 +342,7 @@ function splitKeyElementFromObject(key, object) {
341
342
  const remaining = (0, import_omit.default)(object, [key]);
342
343
  return [remaining, value];
343
344
  }
344
- function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [], baseURI = ID_KEY in rootSchema ? rootSchema[ID_KEY] : void 0) {
345
+ function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [], baseURI = (0, import_get.default)(rootSchema, [ID_KEY])) {
345
346
  const ref = $ref || "";
346
347
  let current = void 0;
347
348
  if (ref.startsWith("#")) {
@@ -387,17 +388,17 @@ function findSchemaDefinitionRecursive($ref, rootSchema = {}, recurseList = [],
387
388
  }
388
389
  return current;
389
390
  }
390
- function findSchemaDefinition($ref, rootSchema = {}, baseURI = ID_KEY in rootSchema ? rootSchema[ID_KEY] : void 0) {
391
+ function findSchemaDefinition($ref, rootSchema = {}, baseURI = (0, import_get.default)(rootSchema, [ID_KEY])) {
391
392
  const recurseList = [];
392
393
  return findSchemaDefinitionRecursive($ref, rootSchema, recurseList, baseURI);
393
394
  }
394
395
 
395
396
  // src/getDiscriminatorFieldFromSchema.ts
396
- var import_get = __toESM(require("lodash/get"), 1);
397
+ var import_get2 = __toESM(require("lodash/get"), 1);
397
398
  var import_isString = __toESM(require("lodash/isString"), 1);
398
399
  function getDiscriminatorFieldFromSchema(schema) {
399
400
  let discriminator;
400
- const maybeString = (0, import_get.default)(schema, DISCRIMINATOR_PATH);
401
+ const maybeString = (0, import_get2.default)(schema, DISCRIMINATOR_PATH);
401
402
  if ((0, import_isString.default)(maybeString)) {
402
403
  discriminator = maybeString;
403
404
  } else if (maybeString !== void 0) {
@@ -471,21 +472,21 @@ function mergeSchemas(obj1, obj2) {
471
472
  }
472
473
 
473
474
  // src/schema/getFirstMatchingOption.ts
474
- var import_get3 = __toESM(require("lodash/get"), 1);
475
+ var import_get4 = __toESM(require("lodash/get"), 1);
475
476
  var import_has = __toESM(require("lodash/has"), 1);
476
477
  var import_isNumber = __toESM(require("lodash/isNumber"), 1);
477
478
 
478
479
  // src/getOptionMatchingSimpleDiscriminator.ts
479
- var import_get2 = __toESM(require("lodash/get"), 1);
480
+ var import_get3 = __toESM(require("lodash/get"), 1);
480
481
  function getOptionMatchingSimpleDiscriminator(formData, options, discriminatorField) {
481
482
  if (formData && discriminatorField) {
482
- const value = (0, import_get2.default)(formData, discriminatorField);
483
+ const value = (0, import_get3.default)(formData, discriminatorField);
483
484
  if (value === void 0) {
484
485
  return;
485
486
  }
486
487
  for (let i = 0; i < options.length; i++) {
487
488
  const option = options[i];
488
- const discriminator = (0, import_get2.default)(option, [PROPERTIES_KEY, discriminatorField], {});
489
+ const discriminator = (0, import_get3.default)(option, [PROPERTIES_KEY, discriminatorField], {});
489
490
  if (discriminator.type === "object" || discriminator.type === "array") {
490
491
  continue;
491
492
  }
@@ -512,8 +513,8 @@ function getFirstMatchingOption(validator, formData, options, rootSchema, discri
512
513
  for (let i = 0; i < options.length; i++) {
513
514
  const option = options[i];
514
515
  if (discriminatorField && (0, import_has.default)(option, [PROPERTIES_KEY, discriminatorField])) {
515
- const value = (0, import_get3.default)(formData, discriminatorField);
516
- const discriminator = (0, import_get3.default)(option, [PROPERTIES_KEY, discriminatorField], {});
516
+ const value = (0, import_get4.default)(formData, discriminatorField);
517
+ const discriminator = (0, import_get4.default)(option, [PROPERTIES_KEY, discriminatorField], {});
517
518
  if (validator.isValid(discriminator, value, rootSchema)) {
518
519
  return i;
519
520
  }
@@ -770,7 +771,7 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
770
771
  validator,
771
772
  { allOf: Object.values(matchingProperties) },
772
773
  rootSchema,
773
- formData,
774
+ (0, import_get5.default)(formData, [key]),
774
775
  experimental_customMergeAllOf
775
776
  );
776
777
  (0, import_set.default)(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
@@ -783,7 +784,7 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
783
784
  if (REF_KEY in schema.additionalProperties) {
784
785
  additionalProperties = retrieveSchema(
785
786
  validator,
786
- { $ref: (0, import_get4.default)(schema.additionalProperties, [REF_KEY]) },
787
+ { $ref: (0, import_get5.default)(schema.additionalProperties, [REF_KEY]) },
787
788
  rootSchema,
788
789
  formData,
789
790
  experimental_customMergeAllOf
@@ -796,10 +797,10 @@ function stubExistingAdditionalProperties(validator, theSchema, rootSchema, aFor
796
797
  ...schema.additionalProperties
797
798
  };
798
799
  } else {
799
- additionalProperties = { type: guessType((0, import_get4.default)(formData, [key])) };
800
+ additionalProperties = { type: guessType((0, import_get5.default)(formData, [key])) };
800
801
  }
801
802
  } else {
802
- additionalProperties = { type: guessType((0, import_get4.default)(formData, [key])) };
803
+ additionalProperties = { type: guessType((0, import_get5.default)(formData, [key])) };
803
804
  }
804
805
  schema.properties[key] = additionalProperties;
805
806
  (0, import_set.default)(schema.properties, [key, ADDITIONAL_PROPERTY_FLAG], true);
@@ -878,7 +879,7 @@ function retrieveSchemaInternal(validator, schema, rootSchema, rawFormData, expa
878
879
  validator,
879
880
  { allOf: [schema2.properties[key], ...Object.values(matchingProperties)] },
880
881
  rootSchema,
881
- rawFormData,
882
+ (0, import_get5.default)(rawFormData, [key]),
882
883
  experimental_customMergeAllOf
883
884
  );
884
885
  }
@@ -950,7 +951,7 @@ function resolveDependencies(validator, schema, rootSchema, expandAllBranches, r
950
951
  function processDependencies(validator, dependencies, resolvedSchema, rootSchema, expandAllBranches, recurseList, formData, experimental_customMergeAllOf) {
951
952
  let schemas = [resolvedSchema];
952
953
  for (const dependencyKey in dependencies) {
953
- if (!expandAllBranches && (0, import_get4.default)(formData, [dependencyKey]) === void 0) {
954
+ if (!expandAllBranches && (0, import_get5.default)(formData, [dependencyKey]) === void 0) {
954
955
  continue;
955
956
  }
956
957
  if (resolvedSchema.properties && !(dependencyKey in resolvedSchema.properties)) {
@@ -1081,11 +1082,11 @@ function findSelectedOptionInXxxOf(validator, rootSchema, schema, fallbackField,
1081
1082
  const xxxOfs = schema[xxx].map(
1082
1083
  (xxxOf) => retrieveSchema(validator, xxxOf, rootSchema, formData, experimental_customMergeAllOf)
1083
1084
  );
1084
- const data = (0, import_get5.default)(formData, selectorField);
1085
+ const data = (0, import_get6.default)(formData, selectorField);
1085
1086
  if (data !== void 0) {
1086
1087
  return xxxOfs.find((xxx2) => {
1087
1088
  return (0, import_isEqual.default)(
1088
- (0, import_get5.default)(xxx2, [PROPERTIES_KEY, selectorField, DEFAULT_KEY], (0, import_get5.default)(xxx2, [PROPERTIES_KEY, selectorField, CONST_KEY])),
1089
+ (0, import_get6.default)(xxx2, [PROPERTIES_KEY, selectorField, DEFAULT_KEY], (0, import_get6.default)(xxx2, [PROPERTIES_KEY, selectorField, CONST_KEY])),
1089
1090
  data
1090
1091
  );
1091
1092
  });
@@ -1095,7 +1096,7 @@ function findSelectedOptionInXxxOf(validator, rootSchema, schema, fallbackField,
1095
1096
  }
1096
1097
 
1097
1098
  // src/schema/getFromSchema.ts
1098
- var import_get6 = __toESM(require("lodash/get"), 1);
1099
+ var import_get7 = __toESM(require("lodash/get"), 1);
1099
1100
  var import_has2 = __toESM(require("lodash/has"), 1);
1100
1101
  var import_isEmpty3 = __toESM(require("lodash/isEmpty"), 1);
1101
1102
  function getFromSchemaInternal(validator, rootSchema, schema, path, experimental_customMergeAllOf) {
@@ -1109,7 +1110,7 @@ function getFromSchemaInternal(validator, rootSchema, schema, path, experimental
1109
1110
  const pathList = Array.isArray(path) ? path : path.split(".");
1110
1111
  const [part, ...nestedPath] = pathList;
1111
1112
  if (part && (0, import_has2.default)(fieldSchema, part)) {
1112
- fieldSchema = (0, import_get6.default)(fieldSchema, part);
1113
+ fieldSchema = (0, import_get7.default)(fieldSchema, part);
1113
1114
  return getFromSchemaInternal(
1114
1115
  validator,
1115
1116
  rootSchema,
@@ -1151,7 +1152,7 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
1151
1152
  parentField,
1152
1153
  fieldName,
1153
1154
  ONE_OF_KEY,
1154
- (0, import_get7.default)(formData, subPath),
1155
+ (0, import_get8.default)(formData, subPath),
1155
1156
  experimental_customMergeAllOf
1156
1157
  );
1157
1158
  } else if ((0, import_has3.default)(parentField, ANY_OF_KEY)) {
@@ -1161,7 +1162,7 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
1161
1162
  parentField,
1162
1163
  fieldName,
1163
1164
  ANY_OF_KEY,
1164
- (0, import_get7.default)(formData, subPath),
1165
+ (0, import_get8.default)(formData, subPath),
1165
1166
  experimental_customMergeAllOf
1166
1167
  );
1167
1168
  }
@@ -1215,11 +1216,11 @@ function findFieldInSchema(validator, rootSchema, schema, path, formData = {}, e
1215
1216
  }
1216
1217
 
1217
1218
  // src/schema/getDefaultFormState.ts
1218
- var import_get11 = __toESM(require("lodash/get"), 1);
1219
+ var import_get12 = __toESM(require("lodash/get"), 1);
1219
1220
  var import_isEmpty4 = __toESM(require("lodash/isEmpty"), 1);
1220
1221
 
1221
1222
  // src/schema/getClosestMatchingOption.ts
1222
- var import_get8 = __toESM(require("lodash/get"), 1);
1223
+ var import_get9 = __toESM(require("lodash/get"), 1);
1223
1224
  var import_has4 = __toESM(require("lodash/has"), 1);
1224
1225
  var import_isNumber2 = __toESM(require("lodash/isNumber"), 1);
1225
1226
  var import_isObject6 = __toESM(require("lodash/isObject"), 1);
@@ -1242,7 +1243,7 @@ function calculateIndexScore(validator, rootSchema, schema, formData, experiment
1242
1243
  totalScore += (0, import_reduce.default)(
1243
1244
  schema.properties,
1244
1245
  (score, value, key) => {
1245
- const formValue = (0, import_get8.default)(formData, key);
1246
+ const formValue = (0, import_get9.default)(formData, key);
1246
1247
  if (typeof value === "boolean") {
1247
1248
  return score;
1248
1249
  }
@@ -1269,7 +1270,7 @@ function calculateIndexScore(validator, rootSchema, schema, formData, experiment
1269
1270
  validator,
1270
1271
  rootSchema,
1271
1272
  formValue,
1272
- (0, import_get8.default)(value, key2),
1273
+ (0, import_get9.default)(value, key2),
1273
1274
  -1,
1274
1275
  discriminator,
1275
1276
  experimental_customMergeAllOf
@@ -1348,7 +1349,7 @@ function isFixedItems(schema) {
1348
1349
  }
1349
1350
 
1350
1351
  // src/mergeDefaultsWithFormData.ts
1351
- var import_get9 = __toESM(require("lodash/get"), 1);
1352
+ var import_get10 = __toESM(require("lodash/get"), 1);
1352
1353
  var import_isNil = __toESM(require("lodash/isNil"), 1);
1353
1354
  function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults = false, defaultSupercedesUndefined = false, overrideFormDataWithDefaults = false) {
1354
1355
  if (Array.isArray(formData)) {
@@ -1375,11 +1376,11 @@ function mergeDefaultsWithFormData(defaults, formData, mergeExtraArrayDefaults =
1375
1376
  if (isObject(formData)) {
1376
1377
  const acc = Object.assign({}, defaults);
1377
1378
  return Object.keys(formData).reduce((acc2, key) => {
1378
- const keyValue = (0, import_get9.default)(formData, key);
1379
+ const keyValue = (0, import_get10.default)(formData, key);
1379
1380
  const keyExistsInDefaults = isObject(defaults) && key in defaults;
1380
1381
  const keyExistsInFormData = key in formData;
1381
1382
  acc2[key] = mergeDefaultsWithFormData(
1382
- defaults ? (0, import_get9.default)(defaults, key) : {},
1383
+ defaults ? (0, import_get10.default)(defaults, key) : {},
1383
1384
  keyValue,
1384
1385
  mergeExtraArrayDefaults,
1385
1386
  defaultSupercedesUndefined,
@@ -1458,7 +1459,7 @@ function constIsAjvDataReference(schema) {
1458
1459
  }
1459
1460
 
1460
1461
  // src/optionsList.ts
1461
- var import_get10 = __toESM(require("lodash/get"), 1);
1462
+ var import_get11 = __toESM(require("lodash/get"), 1);
1462
1463
 
1463
1464
  // src/toConstant.ts
1464
1465
  function toConstant(schema) {
@@ -1504,8 +1505,8 @@ function optionsList(schema, uiSchema) {
1504
1505
  let value;
1505
1506
  let label = title;
1506
1507
  if (selectorField) {
1507
- const innerSchema = (0, import_get10.default)(aSchema, [PROPERTIES_KEY, selectorField], {});
1508
- value = (0, import_get10.default)(innerSchema, DEFAULT_KEY, (0, import_get10.default)(innerSchema, CONST_KEY));
1508
+ const innerSchema = (0, import_get11.default)(aSchema, [PROPERTIES_KEY, selectorField], {});
1509
+ value = (0, import_get11.default)(innerSchema, DEFAULT_KEY, (0, import_get11.default)(innerSchema, CONST_KEY));
1509
1510
  label = label || innerSchema?.title || aSchema.title || String(value);
1510
1511
  } else {
1511
1512
  value = toConstant(aSchema);
@@ -1574,7 +1575,7 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
1574
1575
  required,
1575
1576
  shouldMergeDefaultsIntoFormData = false
1576
1577
  } = computeDefaultsProps;
1577
- const formData = isObject(rawFormData) ? rawFormData : {};
1578
+ let formData = isObject(rawFormData) ? rawFormData : {};
1578
1579
  const schema = isObject(rawSchema) ? rawSchema : {};
1579
1580
  let defaults = parentDefaults;
1580
1581
  let schemaToCompute = null;
@@ -1595,6 +1596,9 @@ function computeDefaults(validator, rawSchema, computeDefaultsProps = {}) {
1595
1596
  if (schemaToCompute && !defaults) {
1596
1597
  defaults = schema.default;
1597
1598
  }
1599
+ if (shouldMergeDefaultsIntoFormData && schemaToCompute && !isObject(rawFormData)) {
1600
+ formData = rawFormData;
1601
+ }
1598
1602
  } else if (DEPENDENCIES_KEY in schema) {
1599
1603
  const defaultFormData = {
1600
1604
  ...getDefaultBasedOnSchemaType(validator, schema, computeDefaultsProps, defaults),
@@ -1735,7 +1739,7 @@ function getObjectDefaults(validator, rawSchema, {
1735
1739
  const parentConst = retrievedSchema[CONST_KEY];
1736
1740
  const objectDefaults = Object.keys(retrievedSchema.properties || {}).reduce(
1737
1741
  (acc, key) => {
1738
- const propertySchema = (0, import_get11.default)(retrievedSchema, [PROPERTIES_KEY, key], {});
1742
+ const propertySchema = (0, import_get12.default)(retrievedSchema, [PROPERTIES_KEY, key], {});
1739
1743
  const hasParentConst = isObject(parentConst) && parentConst[key] !== void 0;
1740
1744
  const hasConst = (isObject(propertySchema) && CONST_KEY in propertySchema || hasParentConst) && experimental_defaultFormStateBehavior?.constAsDefaults !== "never" && !constIsAjvDataReference(propertySchema);
1741
1745
  const computedDefault = computeDefaults(validator, propertySchema, {
@@ -1744,8 +1748,8 @@ function getObjectDefaults(validator, rawSchema, {
1744
1748
  experimental_defaultFormStateBehavior,
1745
1749
  experimental_customMergeAllOf,
1746
1750
  includeUndefinedValues: includeUndefinedValues === true,
1747
- parentDefaults: (0, import_get11.default)(defaults, [key]),
1748
- rawFormData: (0, import_get11.default)(formData, [key]),
1751
+ parentDefaults: (0, import_get12.default)(defaults, [key]),
1752
+ rawFormData: (0, import_get12.default)(formData, [key]),
1749
1753
  required: retrievedSchema.required?.includes(key),
1750
1754
  shouldMergeDefaultsIntoFormData
1751
1755
  });
@@ -1781,8 +1785,8 @@ function getObjectDefaults(validator, rawSchema, {
1781
1785
  experimental_defaultFormStateBehavior,
1782
1786
  experimental_customMergeAllOf,
1783
1787
  includeUndefinedValues: includeUndefinedValues === true,
1784
- parentDefaults: (0, import_get11.default)(defaults, [key]),
1785
- rawFormData: (0, import_get11.default)(formData, [key]),
1788
+ parentDefaults: (0, import_get12.default)(defaults, [key]),
1789
+ rawFormData: (0, import_get12.default)(formData, [key]),
1786
1790
  required: retrievedSchema.required?.includes(key),
1787
1791
  shouldMergeDefaultsIntoFormData
1788
1792
  });
@@ -1843,7 +1847,7 @@ function getArrayDefaults(validator, rawSchema, {
1843
1847
  experimental_defaultFormStateBehavior,
1844
1848
  experimental_customMergeAllOf,
1845
1849
  rawFormData: item,
1846
- parentDefaults: (0, import_get11.default)(defaults, [idx]),
1850
+ parentDefaults: (0, import_get12.default)(defaults, [idx]),
1847
1851
  required,
1848
1852
  shouldMergeDefaultsIntoFormData
1849
1853
  });
@@ -1971,7 +1975,7 @@ function getDisplayLabel(validator, schema, uiSchema = {}, rootSchema, globalOpt
1971
1975
  }
1972
1976
 
1973
1977
  // src/schema/sanitizeDataForNewSchema.ts
1974
- var import_get12 = __toESM(require("lodash/get"), 1);
1978
+ var import_get13 = __toESM(require("lodash/get"), 1);
1975
1979
  var import_has5 = __toESM(require("lodash/has"), 1);
1976
1980
  var NO_VALUE = Symbol("no Value");
1977
1981
  function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, data = {}, experimental_customMergeAllOf) {
@@ -1979,19 +1983,19 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
1979
1983
  if ((0, import_has5.default)(newSchema, PROPERTIES_KEY)) {
1980
1984
  const removeOldSchemaData = {};
1981
1985
  if ((0, import_has5.default)(oldSchema, PROPERTIES_KEY)) {
1982
- const properties = (0, import_get12.default)(oldSchema, PROPERTIES_KEY, {});
1986
+ const properties = (0, import_get13.default)(oldSchema, PROPERTIES_KEY, {});
1983
1987
  Object.keys(properties).forEach((key) => {
1984
1988
  if ((0, import_has5.default)(data, key)) {
1985
1989
  removeOldSchemaData[key] = void 0;
1986
1990
  }
1987
1991
  });
1988
1992
  }
1989
- const keys2 = Object.keys((0, import_get12.default)(newSchema, PROPERTIES_KEY, {}));
1993
+ const keys2 = Object.keys((0, import_get13.default)(newSchema, PROPERTIES_KEY, {}));
1990
1994
  const nestedData = {};
1991
1995
  keys2.forEach((key) => {
1992
- const formValue = (0, import_get12.default)(data, key);
1993
- let oldKeyedSchema = (0, import_get12.default)(oldSchema, [PROPERTIES_KEY, key], {});
1994
- let newKeyedSchema = (0, import_get12.default)(newSchema, [PROPERTIES_KEY, key], {});
1996
+ const formValue = (0, import_get13.default)(data, key);
1997
+ let oldKeyedSchema = (0, import_get13.default)(oldSchema, [PROPERTIES_KEY, key], {});
1998
+ let newKeyedSchema = (0, import_get13.default)(newSchema, [PROPERTIES_KEY, key], {});
1995
1999
  if ((0, import_has5.default)(oldKeyedSchema, REF_KEY)) {
1996
2000
  oldKeyedSchema = retrieveSchema(
1997
2001
  validator,
@@ -2010,8 +2014,8 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
2010
2014
  experimental_customMergeAllOf
2011
2015
  );
2012
2016
  }
2013
- const oldSchemaTypeForKey = (0, import_get12.default)(oldKeyedSchema, "type");
2014
- const newSchemaTypeForKey = (0, import_get12.default)(newKeyedSchema, "type");
2017
+ const oldSchemaTypeForKey = (0, import_get13.default)(oldKeyedSchema, "type");
2018
+ const newSchemaTypeForKey = (0, import_get13.default)(newKeyedSchema, "type");
2015
2019
  if (!oldSchemaTypeForKey || oldSchemaTypeForKey === newSchemaTypeForKey) {
2016
2020
  if ((0, import_has5.default)(removeOldSchemaData, key)) {
2017
2021
  delete removeOldSchemaData[key];
@@ -2029,17 +2033,17 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
2029
2033
  nestedData[key] = itemData;
2030
2034
  }
2031
2035
  } else {
2032
- const newOptionDefault = (0, import_get12.default)(newKeyedSchema, "default", NO_VALUE);
2033
- const oldOptionDefault = (0, import_get12.default)(oldKeyedSchema, "default", NO_VALUE);
2036
+ const newOptionDefault = (0, import_get13.default)(newKeyedSchema, "default", NO_VALUE);
2037
+ const oldOptionDefault = (0, import_get13.default)(oldKeyedSchema, "default", NO_VALUE);
2034
2038
  if (newOptionDefault !== NO_VALUE && newOptionDefault !== formValue) {
2035
2039
  if (oldOptionDefault === formValue) {
2036
2040
  removeOldSchemaData[key] = newOptionDefault;
2037
- } else if ((0, import_get12.default)(newKeyedSchema, "readOnly") === true) {
2041
+ } else if ((0, import_get13.default)(newKeyedSchema, "readOnly") === true) {
2038
2042
  removeOldSchemaData[key] = void 0;
2039
2043
  }
2040
2044
  }
2041
- const newOptionConst = (0, import_get12.default)(newKeyedSchema, "const", NO_VALUE);
2042
- const oldOptionConst = (0, import_get12.default)(oldKeyedSchema, "const", NO_VALUE);
2045
+ const newOptionConst = (0, import_get13.default)(newKeyedSchema, "const", NO_VALUE);
2046
+ const oldOptionConst = (0, import_get13.default)(oldKeyedSchema, "const", NO_VALUE);
2043
2047
  if (newOptionConst !== NO_VALUE && newOptionConst !== formValue) {
2044
2048
  removeOldSchemaData[key] = oldOptionConst === formValue ? newOptionConst : void 0;
2045
2049
  }
@@ -2051,9 +2055,9 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
2051
2055
  ...removeOldSchemaData,
2052
2056
  ...nestedData
2053
2057
  };
2054
- } else if ((0, import_get12.default)(oldSchema, "type") === "array" && (0, import_get12.default)(newSchema, "type") === "array" && Array.isArray(data)) {
2055
- let oldSchemaItems = (0, import_get12.default)(oldSchema, "items");
2056
- let newSchemaItems = (0, import_get12.default)(newSchema, "items");
2058
+ } else if ((0, import_get13.default)(oldSchema, "type") === "array" && (0, import_get13.default)(newSchema, "type") === "array" && Array.isArray(data)) {
2059
+ let oldSchemaItems = (0, import_get13.default)(oldSchema, "items");
2060
+ let newSchemaItems = (0, import_get13.default)(newSchema, "items");
2057
2061
  if (typeof oldSchemaItems === "object" && typeof newSchemaItems === "object" && !Array.isArray(oldSchemaItems) && !Array.isArray(newSchemaItems)) {
2058
2062
  if ((0, import_has5.default)(oldSchemaItems, REF_KEY)) {
2059
2063
  oldSchemaItems = retrieveSchema(
@@ -2073,10 +2077,10 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
2073
2077
  experimental_customMergeAllOf
2074
2078
  );
2075
2079
  }
2076
- const oldSchemaType = (0, import_get12.default)(oldSchemaItems, "type");
2077
- const newSchemaType = (0, import_get12.default)(newSchemaItems, "type");
2080
+ const oldSchemaType = (0, import_get13.default)(oldSchemaItems, "type");
2081
+ const newSchemaType = (0, import_get13.default)(newSchemaItems, "type");
2078
2082
  if (!oldSchemaType || oldSchemaType === newSchemaType) {
2079
- const maxItems = (0, import_get12.default)(newSchema, "maxItems", -1);
2083
+ const maxItems = (0, import_get13.default)(newSchema, "maxItems", -1);
2080
2084
  if (newSchemaType === "object") {
2081
2085
  newFormData = data.reduce((newValue, aValue) => {
2082
2086
  const itemValue = sanitizeDataForNewSchema(
@@ -2104,7 +2108,7 @@ function sanitizeDataForNewSchema(validator, rootSchema, newSchema, oldSchema, d
2104
2108
  }
2105
2109
 
2106
2110
  // src/schema/toIdSchema.ts
2107
- var import_get13 = __toESM(require("lodash/get"), 1);
2111
+ var import_get14 = __toESM(require("lodash/get"), 1);
2108
2112
  function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
2109
2113
  const $id = id || idPrefix;
2110
2114
  const idSchema = { $id };
@@ -2126,10 +2130,10 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
2126
2130
  );
2127
2131
  }
2128
2132
  }
2129
- if (ITEMS_KEY in schema && !(0, import_get13.default)(schema, [ITEMS_KEY, REF_KEY])) {
2133
+ if (ITEMS_KEY in schema && !(0, import_get14.default)(schema, [ITEMS_KEY, REF_KEY])) {
2130
2134
  return toIdSchemaInternal(
2131
2135
  validator,
2132
- (0, import_get13.default)(schema, ITEMS_KEY),
2136
+ (0, import_get14.default)(schema, ITEMS_KEY),
2133
2137
  idPrefix,
2134
2138
  idSeparator,
2135
2139
  id,
@@ -2152,7 +2156,7 @@ function toIdSchemaInternal(validator, schema, idPrefix, idSeparator, id, rootSc
2152
2156
  rootSchema,
2153
2157
  // It's possible that formData is not an object -- this can happen if an
2154
2158
  // array item has just been added, but not populated with data yet
2155
- (0, import_get13.default)(formData, [name]),
2159
+ (0, import_get14.default)(formData, [name]),
2156
2160
  _recurseList,
2157
2161
  experimental_customMergeAllOf
2158
2162
  );
@@ -2176,7 +2180,7 @@ function toIdSchema(validator, schema, id, rootSchema, formData, idPrefix = "roo
2176
2180
  }
2177
2181
 
2178
2182
  // src/schema/toPathSchema.ts
2179
- var import_get14 = __toESM(require("lodash/get"), 1);
2183
+ var import_get15 = __toESM(require("lodash/get"), 1);
2180
2184
  var import_set2 = __toESM(require("lodash/set"), 1);
2181
2185
  function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _recurseList = [], experimental_customMergeAllOf) {
2182
2186
  if (REF_KEY in schema || DEPENDENCIES_KEY in schema || ALL_OF_KEY in schema) {
@@ -2269,7 +2273,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
2269
2273
  }
2270
2274
  } else if (PROPERTIES_KEY in schema) {
2271
2275
  for (const property in schema.properties) {
2272
- const field = (0, import_get14.default)(schema, [PROPERTIES_KEY, property], {});
2276
+ const field = (0, import_get15.default)(schema, [PROPERTIES_KEY, property], {});
2273
2277
  pathSchema[property] = toPathSchemaInternal(
2274
2278
  validator,
2275
2279
  field,
@@ -2277,7 +2281,7 @@ function toPathSchemaInternal(validator, schema, name, rootSchema, formData, _re
2277
2281
  rootSchema,
2278
2282
  // It's possible that formData is not an object -- this can happen if an
2279
2283
  // array item has just been added, but not populated with data yet
2280
- (0, import_get14.default)(formData, [property]),
2284
+ (0, import_get15.default)(formData, [property]),
2281
2285
  _recurseList,
2282
2286
  experimental_customMergeAllOf
2283
2287
  );
@@ -2695,7 +2699,7 @@ function enumOptionsSelectValue(valueIndex, selected, allEnumOptions = []) {
2695
2699
 
2696
2700
  // src/ErrorSchemaBuilder.ts
2697
2701
  var import_cloneDeep = __toESM(require("lodash/cloneDeep"), 1);
2698
- var import_get15 = __toESM(require("lodash/get"), 1);
2702
+ var import_get16 = __toESM(require("lodash/get"), 1);
2699
2703
  var import_set3 = __toESM(require("lodash/set"), 1);
2700
2704
  var import_setWith = __toESM(require("lodash/setWith"), 1);
2701
2705
  var ErrorSchemaBuilder = class {
@@ -2724,7 +2728,7 @@ var ErrorSchemaBuilder = class {
2724
2728
  */
2725
2729
  getOrCreateErrorBlock(pathOfError) {
2726
2730
  const hasPath = Array.isArray(pathOfError) && pathOfError.length > 0 || typeof pathOfError === "string";
2727
- let errorBlock = hasPath ? (0, import_get15.default)(this.errorSchema, pathOfError) : this.errorSchema;
2731
+ let errorBlock = hasPath ? (0, import_get16.default)(this.errorSchema, pathOfError) : this.errorSchema;
2728
2732
  if (!errorBlock && pathOfError) {
2729
2733
  errorBlock = {};
2730
2734
  (0, import_setWith.default)(this.errorSchema, pathOfError, errorBlock, Object);
@@ -2750,7 +2754,7 @@ var ErrorSchemaBuilder = class {
2750
2754
  */
2751
2755
  addErrors(errorOrList, pathOfError) {
2752
2756
  const errorBlock = this.getOrCreateErrorBlock(pathOfError);
2753
- let errorsList = (0, import_get15.default)(errorBlock, ERRORS_KEY);
2757
+ let errorsList = (0, import_get16.default)(errorBlock, ERRORS_KEY);
2754
2758
  if (!Array.isArray(errorsList)) {
2755
2759
  errorsList = [];
2756
2760
  errorBlock[ERRORS_KEY] = errorsList;
@@ -2899,9 +2903,9 @@ function getTemplate(name, registry, uiOptions = {}) {
2899
2903
 
2900
2904
  // src/getTestIds.ts
2901
2905
  var import_nanoid = require("nanoid");
2902
- var import_get16 = __toESM(require("lodash/get"), 1);
2906
+ var import_get17 = __toESM(require("lodash/get"), 1);
2903
2907
  function getTestIds() {
2904
- if (typeof process === "undefined" || (0, import_get16.default)(process, "env.NODE_ENV") !== "test") {
2908
+ if (typeof process === "undefined" || (0, import_get17.default)(process, "env.NODE_ENV") !== "test") {
2905
2909
  return {};
2906
2910
  }
2907
2911
  const ids = /* @__PURE__ */ new Map();
@@ -2921,7 +2925,7 @@ function getTestIds() {
2921
2925
  // src/getWidget.tsx
2922
2926
  var import_react = require("react");
2923
2927
  var import_react_is = __toESM(require("react-is"), 1);
2924
- var import_get17 = __toESM(require("lodash/get"), 1);
2928
+ var import_get18 = __toESM(require("lodash/get"), 1);
2925
2929
  var import_set4 = __toESM(require("lodash/set"), 1);
2926
2930
  var import_jsx_runtime = require("react/jsx-runtime");
2927
2931
  var widgetMap = {
@@ -2977,7 +2981,7 @@ var widgetMap = {
2977
2981
  }
2978
2982
  };
2979
2983
  function mergeWidgetOptions(AWidget) {
2980
- let MergedWidget = (0, import_get17.default)(AWidget, "MergedWidget");
2984
+ let MergedWidget = (0, import_get18.default)(AWidget, "MergedWidget");
2981
2985
  if (!MergedWidget) {
2982
2986
  const defaultOptions = AWidget.defaultProps && AWidget.defaultProps.options || {};
2983
2987
  MergedWidget = ({ options, ...props }) => {
@@ -3090,14 +3094,14 @@ function localToUTC(dateString) {
3090
3094
  }
3091
3095
 
3092
3096
  // src/lookupFromFormContext.ts
3093
- var import_get18 = __toESM(require("lodash/get"), 1);
3097
+ var import_get19 = __toESM(require("lodash/get"), 1);
3094
3098
  var import_has6 = __toESM(require("lodash/has"), 1);
3095
3099
  function lookupFromFormContext(regOrFc, toLookup, fallback) {
3096
3100
  const lookupPath = [LOOKUP_MAP_NAME];
3097
3101
  if ((0, import_has6.default)(regOrFc, FORM_CONTEXT_NAME)) {
3098
3102
  lookupPath.unshift(FORM_CONTEXT_NAME);
3099
3103
  }
3100
- return (0, import_get18.default)(regOrFc, [...lookupPath, toLookup], fallback);
3104
+ return (0, import_get19.default)(regOrFc, [...lookupPath, toLookup], fallback);
3101
3105
  }
3102
3106
 
3103
3107
  // src/orderProperties.ts
@@ -3325,7 +3329,7 @@ function withIdRefPrefix(schemaNode) {
3325
3329
  var import_keys = __toESM(require("lodash/keys"), 1);
3326
3330
  var import_pickBy = __toESM(require("lodash/pickBy"), 1);
3327
3331
  var import_isPlainObject4 = __toESM(require("lodash/isPlainObject"), 1);
3328
- var import_get19 = __toESM(require("lodash/get"), 1);
3332
+ var import_get20 = __toESM(require("lodash/get"), 1);
3329
3333
  var import_difference = __toESM(require("lodash/difference"), 1);
3330
3334
  function getChangedFields(a, b) {
3331
3335
  const aIsPlainObject = (0, import_isPlainObject4.default)(a);
@@ -3338,7 +3342,7 @@ function getChangedFields(a, b) {
3338
3342
  } else if (!aIsPlainObject && bIsPlainObject) {
3339
3343
  return (0, import_keys.default)(b);
3340
3344
  } else {
3341
- const unequalFields = (0, import_keys.default)((0, import_pickBy.default)(a, (value, key) => !deepEquals(value, (0, import_get19.default)(b, key))));
3345
+ const unequalFields = (0, import_keys.default)((0, import_pickBy.default)(a, (value, key) => !deepEquals(value, (0, import_get20.default)(b, key))));
3342
3346
  const diffFields = (0, import_difference.default)((0, import_keys.default)(b), (0, import_keys.default)(a));
3343
3347
  return [...unequalFields, ...diffFields];
3344
3348
  }
@@ -3383,7 +3387,7 @@ var TranslatableString = /* @__PURE__ */ ((TranslatableString2) => {
3383
3387
  var import_forEach = __toESM(require("lodash/forEach"), 1);
3384
3388
 
3385
3389
  // src/parser/ParserValidator.ts
3386
- var import_get20 = __toESM(require("lodash/get"), 1);
3390
+ var import_get21 = __toESM(require("lodash/get"), 1);
3387
3391
  var ParserValidator = class {
3388
3392
  /** Construct the ParserValidator for the given `rootSchema`. This `rootSchema` will be stashed in the `schemaMap`
3389
3393
  * first.
@@ -3409,7 +3413,7 @@ var ParserValidator = class {
3409
3413
  * @param hash - The hash value at which to map the schema
3410
3414
  */
3411
3415
  addSchema(schema, hash) {
3412
- const key = (0, import_get20.default)(schema, ID_KEY, hash);
3416
+ const key = (0, import_get21.default)(schema, ID_KEY, hash);
3413
3417
  const identifiedSchema = { ...schema, [ID_KEY]: key };
3414
3418
  const existing = this.schemaMap[key];
3415
3419
  if (!existing) {