diff --git a/CHANGELOG.md b/CHANGELOG.md index b93660539c..bfb1f5ce67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,12 @@ it according to semantic versioning. For example, if your PR adds a breaking cha should change the heading of the (upcoming) version to include a major version bump. --> +# 6.1.2 + +## @rjsf/mantine + +Align Mantine’s behavior with other themes when clearing string fields: clearing an input now removes the key from formData instead of setting it to an empty string. ([#4875](https://github.com/rjsf-team/react-jsonschema-form/pull/4875)) + # 6.1.1 ## @rjsf/core diff --git a/packages/mantine/src/templates/BaseInputTemplate.tsx b/packages/mantine/src/templates/BaseInputTemplate.tsx index ed0a49e634..b947600405 100644 --- a/packages/mantine/src/templates/BaseInputTemplate.tsx +++ b/packages/mantine/src/templates/BaseInputTemplate.tsx @@ -55,7 +55,7 @@ export default function BaseInputTemplate< const handleChange = useCallback( (e: ChangeEvent) => { const handler = onChangeOverride ? onChangeOverride : onChange; - const value = e.target.value === '' ? (options.emptyValue ?? '') : e.target.value; + const value = e.target.value === '' ? options.emptyValue : e.target.value; handler(value); }, [onChange, onChangeOverride, options], diff --git a/packages/mantine/src/widgets/PasswordWidget.tsx b/packages/mantine/src/widgets/PasswordWidget.tsx index 510dcf2404..12232c9dd6 100644 --- a/packages/mantine/src/widgets/PasswordWidget.tsx +++ b/packages/mantine/src/widgets/PasswordWidget.tsx @@ -39,7 +39,7 @@ export default function PasswordWidget< onFocus, } = props; - const emptyValue = options.emptyValue || ''; + const emptyValue = options.emptyValue; const themeProps = cleanupOptions(options); const handleChange = useCallback( diff --git a/packages/mantine/src/widgets/TextareaWidget.tsx b/packages/mantine/src/widgets/TextareaWidget.tsx index 214fcae706..5ec6400846 100644 --- a/packages/mantine/src/widgets/TextareaWidget.tsx +++ b/packages/mantine/src/widgets/TextareaWidget.tsx @@ -40,7 +40,7 @@ export default function TextareaWidget< } = props; const themeProps = cleanupOptions(options); - const emptyValue = options?.emptyValue ?? ''; + const emptyValue = options?.emptyValue; const handleChange = useCallback( (e: ChangeEvent) => {