diff --git a/package-lock.json b/package-lock.json
index 05a550e97c..a5ae1593f3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -73,7 +73,6 @@
"prettier": "^3.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "react-test-renderer": "^18.3.1",
"rimraf": "^6.0.1",
"rollup": "^4.52.5",
"ts-jest": "^29.4.5",
@@ -32858,20 +32857,6 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "node_modules/react-shallow-renderer": {
- "version": "16.15.0",
- "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
- "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object-assign": "^4.1.1",
- "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependencies": {
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
- }
- },
"node_modules/react-style-singleton": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
@@ -32894,21 +32879,6 @@
}
}
},
- "node_modules/react-test-renderer": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz",
- "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "react-is": "^18.3.1",
- "react-shallow-renderer": "^16.15.0",
- "scheduler": "^0.23.2"
- },
- "peerDependencies": {
- "react": "^18.3.1"
- }
- },
"node_modules/react-textarea-autosize": {
"version": "8.5.9",
"resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.9.tgz",
diff --git a/package.json b/package.json
index f8555fc312..fee3d140da 100644
--- a/package.json
+++ b/package.json
@@ -79,7 +79,6 @@
"prettier": "^3.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "react-test-renderer": "^18.3.1",
"rimraf": "^6.0.1",
"rollup": "^4.52.5",
"ts-jest": "^29.4.5",
diff --git a/packages/antd/test/Form.test.tsx b/packages/antd/test/Form.test.tsx
index 24838f31b3..aaf4f05985 100644
--- a/packages/antd/test/Form.test.tsx
+++ b/packages/antd/test/Form.test.tsx
@@ -5,9 +5,8 @@ import { render } from '@testing-library/react';
import '../__mocks__/matchMedia.mock';
import Form from '../src';
-import { FORM_RENDER_OPTIONS } from './snapshotConstants';
-formTests(Form, FORM_RENDER_OPTIONS);
+formTests(Form);
describe('antd specific tests', () => {
test('descriptionLocation tooltip in formContext', () => {
diff --git a/packages/antd/test/__snapshots__/Form.test.tsx.snap b/packages/antd/test/__snapshots__/Form.test.tsx.snap
index e327e117c2..3518939b39 100644
--- a/packages/antd/test/__snapshots__/Form.test.tsx.snap
+++ b/packages/antd/test/__snapshots__/Form.test.tsx.snap
@@ -132,362 +132,239 @@ exports[`antd specific tests descriptionLocation tooltip in formContext 1`] = `
`;
exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator array of strings 1`] = `
-
-
-
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator checkboxes field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator nested object 1`] = `
-
-
+
@@ -2573,183 +1874,140 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
-
-
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator radio field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator select field with enum 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator simple fields 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator bracketNameGenerator textarea field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator dotNotationNameGenerator array of objects 1`] = `
-
-
@@ -4502,594 +3274,469 @@ exports[`nameGenerator dotNotationNameGenerator array of objects 1`] = `
-
-
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator dotNotationNameGenerator array of strings 1`] = `
-
-
-
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator dotNotationNameGenerator nested object 1`] = `
-
-
+
@@ -5746,210 +4154,153 @@ exports[`nameGenerator dotNotationNameGenerator nested object 1`] = `
-
-
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator dotNotationNameGenerator select field with enum 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`nameGenerator dotNotationNameGenerator simple fields 1`] = `
-
-
-
-
-
- Submit
-
-
-
-`;
-
-exports[`single fields checkbox field 1`] = `
-
-
-
+
+ Submit
+
+
+
+
+`;
+
+exports[`single fields checkbox field 1`] = `
+
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkbox field with description in schema and FieldTemplate 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkbox field with label 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkbox field with label and description 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkbox field with label and rich text description 1`] = `
-
-
-
-
- Submit
-
-
-
+ class="ant-checkbox ant-wave-target css-dev-only-do-not-override-ac2jek"
+ >
+
+
+
+
+ test
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkboxes field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkboxes widget with custom options and labels 1`] = `
-
-
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields checkboxes widget with required field 1`] = `
-
-
+
-
-
+
+ At least one option must be selected
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields field with description 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields field with description in uiSchema 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields field with markdown description 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields field with markdown description in uiSchema 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields format color 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields format date 1`] = `
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields format datetime 1`] = `
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields format time 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields help and error display 1`] = `
-
-
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields hidden field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields hidden label 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields null field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields number field 0 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields number field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields optional data controls does not show optional controls when not turned on in uiSchema and no formData 1`] = `
-
-
-
-
@@ -10141,328 +7508,220 @@ exports[`single fields optional data controls does not show optional controls wh
-
-
+
+
-
-
-
-
-
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields optional data controls does not show optional controls when not turned on in uiSchema, readonly and no formData 1`] = `
-
-
-
-
@@ -12365,337 +9026,226 @@ exports[`single fields optional data controls does not show optional controls wh
-
-
+
+
-
-
-
-
-
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields optional data controls shows "add" and "remove" optional controls when turned on in uiSchema and formData 1`] = `
-
-
+
-
@@ -14617,299 +10571,244 @@ exports[`single fields optional data controls shows "add" and "remove" optional
-
-
+
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields radio widget with description in schema and FieldTemplate 1`] = `
-
-
+
-
-
+
+ This is a radio description
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields schema examples 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field multiple choice 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field multiple choice enumDisabled 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field multiple choice enumDisabled using checkboxes 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field multiple choice formData 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field multiple choice with labels 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field single choice enumDisabled 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field single choice enumDisabled using radio widget 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field single choice form disabled using radio widget 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field single choice formData 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select field single choice uiSchema disabled using radio widget 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields select widget with description in schema and FieldTemplate 1`] = `
-
-
+
-
-
+
+ This is a select description
+
+
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields slider field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields string field format data-url 1`] = `
-
-
+
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields string field format email 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields string field format uri 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields string field regular 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields string field with placeholder 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields textarea field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields title field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields unsupported field 1`] = `
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields up/down field 1`] = `
-
-
-
-
-
- Submit
-
-
-
+
+
+ Submit
+
+
+
+
`;
exports[`single fields using custom tagName 1`] = `
-
-
-
- Submit
-
-
-
+
`;
diff --git a/packages/antd/test/snapshotConstants.ts b/packages/antd/test/snapshotConstants.ts
deleted file mode 100644
index cb1ed2f84c..0000000000
--- a/packages/antd/test/snapshotConstants.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { SELECT_CUSTOMIZE } from '@rjsf/snapshot-tests';
-
-export const FORM_RENDER_OPTIONS = {
- [SELECT_CUSTOMIZE]: {
- createNodeMock: (element: any) => {
- if (element.type === 'span' && element.props['aria-hidden']) {
- // the `rc-select` MultipleSelector code expects a ref for this span to exist, so use the feature of
- // react-test-renderer to create one
- // See: https://reactjs.org/docs/test-renderer.html#ideas
- return { scrollWidth: 100 };
- }
- return null;
- },
- },
-};
diff --git a/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap b/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap
index b2b0ff172f..7da5c0c839 100644
--- a/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap
+++ b/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -537,142 +537,129 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
}
tasks
tasks-1
title
@@ -683,20 +670,19 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
tasks-2
title
@@ -975,20 +923,19 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
@@ -1057,7 +981,7 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = `
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator array of strings 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -1674,118 +1590,107 @@ exports[`nameGenerator bracketNameGenerator array of strings 1`] = `
}
tags
tags-0
*
@@ -1796,28 +1701,27 @@ exports[`nameGenerator bracketNameGenerator array of strings 1`] = `
tags-1
*
@@ -1962,28 +1855,26 @@ exports[`nameGenerator bracketNameGenerator array of strings 1`] = `
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator checkboxes field 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -2431,49 +2316,44 @@ exports[`nameGenerator bracketNameGenerator checkboxes field 1`] = `
}
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator nested object 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -2975,103 +2784,91 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
}
person
firstName
@@ -3082,49 +2879,41 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
lastName
@@ -3135,81 +2924,72 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
address
street
@@ -3220,49 +3000,41 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
city
@@ -3286,25 +3058,24 @@ exports[`nameGenerator bracketNameGenerator nested object 1`] = `
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator radio field 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -3592,52 +3363,48 @@ exports[`nameGenerator bracketNameGenerator radio field 1`] = `
}
option
@@ -3646,71 +3413,40 @@ exports[`nameGenerator bracketNameGenerator radio field 1`] = `
aria-describedby="root_option__error root_option__description root_option__help"
aria-labelledby="radio-group::r9e::label"
aria-orientation="vertical"
- className="chakra-radio-group__root"
+ class="chakra-radio-group__root"
data-orientation="vertical"
data-part="root"
data-scope="radio-group"
dir="ltr"
id="radio-group::r9e:"
- onBlur={[Function]}
- onChange={[Function]}
- onFocus={[Function]}
role="radiogroup"
- style={
- {
- "position": "relative",
- }
- }
+ style="position: relative;"
>
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator select field with enum 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -4304,116 +4015,89 @@ exports[`nameGenerator bracketNameGenerator select field with enum 1`] = `
}
color
red
green
blue
red
green
blue
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator simple fields 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -4983,71 +4637,60 @@ exports[`nameGenerator bracketNameGenerator simple fields 1`] = `
}
firstName
@@ -5058,49 +4701,41 @@ exports[`nameGenerator bracketNameGenerator simple fields 1`] = `
age
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator bracketNameGenerator textarea field 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -5453,77 +5062,60 @@ exports[`nameGenerator bracketNameGenerator textarea field 1`] = `
}
@@ -5535,25 +5127,24 @@ exports[`nameGenerator bracketNameGenerator textarea field 1`] = `
Submit
- ,
+
,
-]
+ hidden=""
+ />
+
`;
exports[`nameGenerator dotNotationNameGenerator array of objects 1`] = `
-[
+
@layer recipes {
.emotion-0 {
display: -webkit-box;
@@ -6089,142 +5680,129 @@ exports[`nameGenerator dotNotationNameGenerator array of objects 1`] = `
}