@rjsf/core 5.14.2 → 5.14.3
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/core.umd.js +20 -11
- package/dist/index.esm.js +20 -11
- package/dist/index.esm.js.map +2 -2
- package/dist/index.js +20 -11
- package/dist/index.js.map +2 -2
- package/lib/components/Form.d.ts +3 -1
- package/lib/components/Form.js +30 -18
- package/lib/components/Form.js.map +1 -1
- package/lib/components/fields/ArrayField.js +10 -8
- package/lib/components/fields/ArrayField.js.map +1 -1
- package/lib/components/fields/BooleanField.js +7 -5
- package/lib/components/fields/BooleanField.js.map +1 -1
- package/lib/components/fields/MultiSchemaField.js +2 -3
- package/lib/components/fields/MultiSchemaField.js.map +1 -1
- package/lib/components/fields/NumberField.js +1 -1
- package/lib/components/fields/NumberField.js.map +1 -1
- package/lib/components/fields/ObjectField.js +16 -8
- package/lib/components/fields/ObjectField.js.map +1 -1
- package/lib/components/fields/SchemaField.js +4 -5
- package/lib/components/fields/SchemaField.js.map +1 -1
- package/lib/components/fields/StringField.js +2 -3
- package/lib/components/fields/StringField.js.map +1 -1
- package/lib/components/templates/ArrayFieldItemTemplate.js +2 -2
- package/lib/components/templates/ArrayFieldItemTemplate.js.map +1 -1
- package/lib/components/templates/ArrayFieldTemplate.js +2 -6
- package/lib/components/templates/ArrayFieldTemplate.js.map +1 -1
- package/lib/components/templates/BaseInputTemplate.js +8 -6
- package/lib/components/templates/BaseInputTemplate.js.map +1 -1
- package/lib/components/templates/ButtonTemplates/AddButton.js +1 -1
- package/lib/components/templates/ButtonTemplates/AddButton.js.map +1 -1
- package/lib/components/templates/ButtonTemplates/IconButton.js +6 -7
- package/lib/components/templates/ButtonTemplates/IconButton.js.map +1 -1
- package/lib/components/templates/ButtonTemplates/SubmitButton.js +1 -1
- package/lib/components/templates/ButtonTemplates/SubmitButton.js.map +1 -1
- package/lib/components/templates/DescriptionField.js +2 -2
- package/lib/components/templates/DescriptionField.js.map +1 -1
- package/lib/components/templates/ErrorList.js +3 -3
- package/lib/components/templates/ErrorList.js.map +1 -1
- package/lib/components/templates/FieldErrorTemplate.js +3 -3
- package/lib/components/templates/FieldErrorTemplate.js.map +1 -1
- package/lib/components/templates/FieldHelpTemplate.js +2 -2
- package/lib/components/templates/FieldHelpTemplate.js.map +1 -1
- package/lib/components/templates/FieldTemplate/FieldTemplate.js +2 -2
- package/lib/components/templates/FieldTemplate/FieldTemplate.js.map +1 -1
- package/lib/components/templates/FieldTemplate/Label.js +1 -1
- package/lib/components/templates/FieldTemplate/Label.js.map +1 -1
- package/lib/components/templates/ObjectFieldTemplate.js +1 -1
- package/lib/components/templates/ObjectFieldTemplate.js.map +1 -1
- package/lib/components/templates/TitleField.js +1 -1
- package/lib/components/templates/TitleField.js.map +1 -1
- package/lib/components/templates/UnsupportedField.js +1 -1
- package/lib/components/templates/UnsupportedField.js.map +1 -1
- package/lib/components/templates/WrapIfAdditionalTemplate.js +2 -2
- package/lib/components/templates/WrapIfAdditionalTemplate.js.map +1 -1
- package/lib/components/widgets/AltDateTimeWidget.js +2 -4
- package/lib/components/widgets/AltDateTimeWidget.js.map +1 -1
- package/lib/components/widgets/AltDateWidget.js +2 -2
- package/lib/components/widgets/AltDateWidget.js.map +1 -1
- package/lib/components/widgets/CheckboxWidget.js +1 -1
- package/lib/components/widgets/CheckboxWidget.js.map +1 -1
- package/lib/components/widgets/CheckboxesWidget.js +3 -3
- package/lib/components/widgets/CheckboxesWidget.js.map +1 -1
- package/lib/components/widgets/ColorWidget.js +1 -1
- package/lib/components/widgets/ColorWidget.js.map +1 -1
- package/lib/components/widgets/DateTimeWidget.js +1 -1
- package/lib/components/widgets/DateTimeWidget.js.map +1 -1
- package/lib/components/widgets/DateWidget.js +1 -1
- package/lib/components/widgets/DateWidget.js.map +1 -1
- package/lib/components/widgets/EmailWidget.js +1 -1
- package/lib/components/widgets/EmailWidget.js.map +1 -1
- package/lib/components/widgets/FileWidget.js +4 -4
- package/lib/components/widgets/FileWidget.js.map +1 -1
- package/lib/components/widgets/PasswordWidget.js +1 -1
- package/lib/components/widgets/PasswordWidget.js.map +1 -1
- package/lib/components/widgets/RadioWidget.js +3 -3
- package/lib/components/widgets/RadioWidget.js.map +1 -1
- package/lib/components/widgets/RangeWidget.js +1 -1
- package/lib/components/widgets/RangeWidget.js.map +1 -1
- package/lib/components/widgets/SelectWidget.js +3 -3
- package/lib/components/widgets/SelectWidget.js.map +1 -1
- package/lib/components/widgets/TextWidget.js +1 -1
- package/lib/components/widgets/TextWidget.js.map +1 -1
- package/lib/components/widgets/TimeWidget.js +1 -1
- package/lib/components/widgets/TimeWidget.js.map +1 -1
- package/lib/components/widgets/URLWidget.js +1 -1
- package/lib/components/widgets/URLWidget.js.map +1 -1
- package/lib/components/widgets/UpDownWidget.js +1 -1
- package/lib/components/widgets/UpDownWidget.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/withTheme.js +13 -8
- package/lib/withTheme.js.map +1 -1
- package/package.json +6 -6
- package/src/components/Form.tsx +23 -10
package/dist/index.js
CHANGED
|
@@ -3246,17 +3246,18 @@ var Form = class extends import_react17.Component {
|
|
|
3246
3246
|
*/
|
|
3247
3247
|
this.onChange = (formData, newErrorSchema, id) => {
|
|
3248
3248
|
const { extraErrors, omitExtraData, liveOmit, noValidate, liveValidate, onChange } = this.props;
|
|
3249
|
-
const { schemaUtils, schema } = this.state;
|
|
3249
|
+
const { schemaUtils, schema, retrievedSchema } = this.state;
|
|
3250
3250
|
if ((0, import_utils39.isObject)(formData) || Array.isArray(formData)) {
|
|
3251
|
-
const newState = this.getStateFromProps(this.props, formData);
|
|
3251
|
+
const newState = this.getStateFromProps(this.props, formData, retrievedSchema);
|
|
3252
3252
|
formData = newState.formData;
|
|
3253
3253
|
}
|
|
3254
3254
|
const mustValidate = !noValidate && liveValidate;
|
|
3255
3255
|
let state = { formData, schema };
|
|
3256
3256
|
let newFormData = formData;
|
|
3257
|
+
let _retrievedSchema;
|
|
3257
3258
|
if (omitExtraData === true && liveOmit === true) {
|
|
3258
|
-
|
|
3259
|
-
const pathSchema = schemaUtils.toPathSchema(
|
|
3259
|
+
_retrievedSchema = schemaUtils.retrieveSchema(schema, formData);
|
|
3260
|
+
const pathSchema = schemaUtils.toPathSchema(_retrievedSchema, "", formData);
|
|
3260
3261
|
const fieldNames = this.getFieldNames(pathSchema, formData);
|
|
3261
3262
|
newFormData = this.getUsedFormData(formData, fieldNames);
|
|
3262
3263
|
state = {
|
|
@@ -3264,7 +3265,7 @@ var Form = class extends import_react17.Component {
|
|
|
3264
3265
|
};
|
|
3265
3266
|
}
|
|
3266
3267
|
if (mustValidate) {
|
|
3267
|
-
const schemaValidation = this.validate(newFormData);
|
|
3268
|
+
const schemaValidation = this.validate(newFormData, schema, schemaUtils, retrievedSchema);
|
|
3268
3269
|
let errors = schemaValidation.errors;
|
|
3269
3270
|
let errorSchema = schemaValidation.errorSchema;
|
|
3270
3271
|
const schemaValidationErrors = errors;
|
|
@@ -3289,6 +3290,9 @@ var Form = class extends import_react17.Component {
|
|
|
3289
3290
|
errors: (0, import_utils39.toErrorList)(errorSchema)
|
|
3290
3291
|
};
|
|
3291
3292
|
}
|
|
3293
|
+
if (_retrievedSchema) {
|
|
3294
|
+
state.retrievedSchema = _retrievedSchema;
|
|
3295
|
+
}
|
|
3292
3296
|
this.setState(state, () => onChange && onChange({ ...this.state, ...state }, id));
|
|
3293
3297
|
};
|
|
3294
3298
|
/**
|
|
@@ -3405,7 +3409,11 @@ var Form = class extends import_react17.Component {
|
|
|
3405
3409
|
*/
|
|
3406
3410
|
getSnapshotBeforeUpdate(prevProps, prevState) {
|
|
3407
3411
|
if (!(0, import_utils39.deepEquals)(this.props, prevProps)) {
|
|
3408
|
-
const nextState = this.getStateFromProps(
|
|
3412
|
+
const nextState = this.getStateFromProps(
|
|
3413
|
+
this.props,
|
|
3414
|
+
this.props.formData,
|
|
3415
|
+
prevProps.schema !== this.props.schema ? void 0 : this.state.retrievedSchema
|
|
3416
|
+
);
|
|
3409
3417
|
const shouldUpdate = !(0, import_utils39.deepEquals)(nextState, prevState);
|
|
3410
3418
|
return { nextState, shouldUpdate };
|
|
3411
3419
|
}
|
|
@@ -3443,7 +3451,7 @@ var Form = class extends import_react17.Component {
|
|
|
3443
3451
|
* @param inputFormData - The new or current data for the `Form`
|
|
3444
3452
|
* @returns - The new state for the `Form`
|
|
3445
3453
|
*/
|
|
3446
|
-
getStateFromProps(props, inputFormData) {
|
|
3454
|
+
getStateFromProps(props, inputFormData, retrievedSchema) {
|
|
3447
3455
|
const state = this.state || {};
|
|
3448
3456
|
const schema = "schema" in props ? props.schema : this.props.schema;
|
|
3449
3457
|
const uiSchema = ("uiSchema" in props ? props.uiSchema : this.props.uiSchema) || {};
|
|
@@ -3457,7 +3465,7 @@ var Form = class extends import_react17.Component {
|
|
|
3457
3465
|
schemaUtils = (0, import_utils39.createSchemaUtils)(props.validator, rootSchema, experimental_defaultFormStateBehavior);
|
|
3458
3466
|
}
|
|
3459
3467
|
const formData = schemaUtils.getDefaultFormState(schema, inputFormData);
|
|
3460
|
-
const
|
|
3468
|
+
const _retrievedSchema = retrievedSchema ?? schemaUtils.retrieveSchema(schema, formData);
|
|
3461
3469
|
const getCurrentErrors = () => {
|
|
3462
3470
|
if (props.noValidate) {
|
|
3463
3471
|
return { errors: [], errorSchema: {} };
|
|
@@ -3477,7 +3485,7 @@ var Form = class extends import_react17.Component {
|
|
|
3477
3485
|
let schemaValidationErrors = state.schemaValidationErrors;
|
|
3478
3486
|
let schemaValidationErrorSchema = state.schemaValidationErrorSchema;
|
|
3479
3487
|
if (mustValidate) {
|
|
3480
|
-
const schemaValidation = this.validate(formData, schema, schemaUtils,
|
|
3488
|
+
const schemaValidation = this.validate(formData, schema, schemaUtils, _retrievedSchema);
|
|
3481
3489
|
errors = schemaValidation.errors;
|
|
3482
3490
|
errorSchema = schemaValidation.errorSchema;
|
|
3483
3491
|
schemaValidationErrors = errors;
|
|
@@ -3493,7 +3501,7 @@ var Form = class extends import_react17.Component {
|
|
|
3493
3501
|
errors = merged.errors;
|
|
3494
3502
|
}
|
|
3495
3503
|
const idSchema = schemaUtils.toIdSchema(
|
|
3496
|
-
|
|
3504
|
+
_retrievedSchema,
|
|
3497
3505
|
uiSchema["ui:rootFieldId"],
|
|
3498
3506
|
formData,
|
|
3499
3507
|
props.idPrefix,
|
|
@@ -3509,7 +3517,8 @@ var Form = class extends import_react17.Component {
|
|
|
3509
3517
|
errors,
|
|
3510
3518
|
errorSchema,
|
|
3511
3519
|
schemaValidationErrors,
|
|
3512
|
-
schemaValidationErrorSchema
|
|
3520
|
+
schemaValidationErrorSchema,
|
|
3521
|
+
retrievedSchema: _retrievedSchema
|
|
3513
3522
|
};
|
|
3514
3523
|
return nextState;
|
|
3515
3524
|
}
|