Skip to content

Commit 57d5672

Browse files
nickgrosheath-freenome
authored andcommitted
Merge changes in main to rjsf-v6 (#4276)
Co-authored-by: Heath C <[email protected]> Co-authored-by: Abdallah Al-Soqatri <[email protected]> Co-authored-by: Kevin Burnett <[email protected]> Co-authored-by: Marek Bodinger <[email protected]> Co-authored-by: Mehdi Salem <[email protected]> Co-authored-by: Nick Grosenbacher <[email protected]> Co-authored-by: Abdallah Al-Soqatri <[email protected]> Co-authored-by: Jonasz Wiącek <[email protected]> Co-authored-by: Bogdan Savluk <[email protected]> Co-authored-by: Christian Wendt <[email protected]> Co-authored-by: Ben Lambert <[email protected]> Co-authored-by: David R. Bild <[email protected]> Co-authored-by: Ariqun <[email protected]> Co-authored-by: Shivam Anand Murmu <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shubham Biswas <[email protected]> Co-authored-by: popmanhe <[email protected]> Co-authored-by: Yuki Aoki <[email protected]> Co-authored-by: Xiangcheng Kuo <[email protected]> Co-authored-by: Bart van Andel <[email protected]> Co-authored-by: Laurent Direr <[email protected]> Co-authored-by: Vegard Stenvik <[email protected]> Co-authored-by: Appie <[email protected]> Co-authored-by: Oren Forer <[email protected]> Co-authored-by: Marcus Penn <[email protected]> Co-authored-by: joachimhagheim <[email protected]> Co-authored-by: MarekBodingerBA <[email protected]> Co-authored-by: momesana <[email protected]> Co-authored-by: Martti Roitto <[email protected]> Co-authored-by: Serge van den Oever <[email protected]> Co-authored-by: Enzo Ferey <[email protected]> Co-authored-by: Skyf0l <[email protected]> Co-authored-by: Jaejoon Han <[email protected]> Co-authored-by: とまとみ <[email protected]> Co-authored-by: Daniel Todd <[email protected]> Co-authored-by: Dmitry Dzhus <[email protected]> Co-authored-by: Alexander Kachkaev <[email protected]> Co-authored-by: shaddollxz <[email protected]> Co-authored-by: Changyu Geng <[email protected]> Co-authored-by: Helen Lin <[email protected]> Co-authored-by: solimant <[email protected]> Co-authored-by: David Li <[email protected]> fix(utils): direct lodash function import to improve bundling on library client side (#3976) fix: #3961 resolve all recurse list for object properties (#3981) fix gap in outline when label is hidden (#3984) Fix: Expose the internal `ajv` variable in the validator implementation classes (#3991) Fixes: #3972 indirectly by exposing the `ajv` variable for use in the issue Fix: Change FormHelperText usage with @mui/material to render divs (#4032) Fixes #4031 by switching the render component for `FormHelperText` to be `div` fix: Added support for anyOf/oneOf in uiSchema (#4055) Fixes #4039 by updating `MultiSchemaField` to properly support `anyOf`/`oneOf` arrays in the `uiSchema` Fix checkbox with 0 as a value was unselectable in antd (#4068) Fixed #4067 by properly dealing with enums that have 0 as a value Fix potential XSS in the preview button of FileWidget (#4065) Fix: Make 'ui:rows' option work with chakra-ui for textarea elements #4070 (#4078) Fix typo in ErrorsListTemplate example (#4087) Fix #4080 by moving `base64` encoder/decoder from `@rjsf/utils` to playground (#4093) Fix: Error state not resetting when schema changes (#4079) (#4103) Fix noImplicitAny error (#4106) Fixes: [WARNING] Duplicate key "include" in object literal [duplicate-object-key] (#4114) Fixes: Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p>. (#4117) Fix documentation to add missing Form imports (#4131) Fix #4127 to add missing `Form` import in documentation Fix: filename should be bold (#4125) Fix: use correct ConfigProvider context by using named imports (#4132) Fix 4134 by filtering out bad DOM props (#4140) Fixes: #4134 by updating the spreading of props onto the `TextField` to remove bad DOM fields Fixed Programmatic submit not working properly in Firefox (#4150) Fix Maximum call stack size exceeded in findSchemaDefinition (#4123) fix typos in constants.ts, Form.tsx (#4185) Fix mui imports in docs (#4218) fix] Resetting number fields should check the entire string when deciding to leave the input text alone (#4202) (#4220) Fixed performance issue with large schema dependencies and oneOf (#4203) (#4204) Fixed performance issue #4203 fix(core): field ui-options higher priority (#4212) fix(antd): disabled property of options of antd theme (#4216) fix: omitExtraData on submit and on validateForm (#4228) Fix IdSchema and PathSchema types (#4196) fixes #4236 Fix #4197 in various themes by showing empty option in SelectWidget when appropriate (#4200) fix: xss when rendering schema errors (#4256) fix 4215 and 4260 by updating optionsList() to take a uiSchema (#4263) Fixes #4215 and #4260 by supporting alternate titles for enums and anyOf/oneOf lists via the uiSchema Fixed Changelog (#4269)
1 parent 4856aaa commit 57d5672

File tree

4 files changed

+102
-127
lines changed

4 files changed

+102
-127
lines changed

CHANGELOG_v6.md

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<!--
2+
3+
INSTRUCTIONS:
4+
5+
For each PR, add a changelog entry that describes what your PR does. Add it to the heading
6+
for the appropriate package it modifies and include it in this format:
7+
- [Description] ([Link to PR])
8+
9+
If your PR affects multiple packages, list it multiple times under headings for each package.
10+
If it affects more general things such as dependency updates or non-package-specific changes,
11+
add it under a "Dev / docs / playground" section.
12+
13+
You should also update the heading of the latest (upcoming) version if your PR change merits
14+
it according to semantic versioning. For example, if your PR adds a breaking change, then you
15+
should change the heading of the (upcoming) version to include a major version bump.
16+
17+
-->
18+
# 6.0.0-beta.1
19+
20+
## @rjsf/bootstrap-4
21+
22+
- Package has been replaced with `@rjsf/react-bootstrap`. `react-boostrap` v1 / Bootstrap 4 are no longer supported in RJSF v6.
23+
24+
## @rjsf/material-ui
25+
26+
- Removed `@rjsf/material-ui` package. Material UI v4 (`@material-ui/core`) has been deprecated since September 2021. To use Material UI v5 (`@mui/core`) with RJSF, please use the `@rjsf/mui` theme instead.
27+
28+
## @rjsf/react-bootstrap
29+
30+
- Added new package to replace `@rjsf/bootstrap-4`
31+
- `react-bootstrap` peer dependency bumped to `^2.0.0`, corresponding to Bootstrap 5
32+
- CheckboxesWidget: Remove deprecated prop `custom`
33+
- IconButton: Remove deprecated `block` prop
34+
- RangeWidget: Use `FormRange` component
35+
- SelectWidget: Use new FormSelect component, remove `bsPrefix` prop to achieve correct styling
36+
37+
# 5.15.1
38+
39+
## @rjsf/core
40+
41+
- fix `getFieldNames`. Now correctly defines an array of primitives.
42+
43+
## @rjsf/validator-ajv6
44+
45+
- Updated the `AJV6Validator` class to expose the internal `ajv` object, allowing access to support a fix related to [#3972](https://github.com/rjsf-team/react-jsonschema-form/issues/3972)
46+
47+
## @rjsf/validator-ajv8
48+
49+
- Updated the `AJV8Validator` class to expose the internal `ajv` object, allowing access to support a fix related to [#3972](https://github.com/rjsf-team/react-jsonschema-form/issues/3972)
50+
51+
## Dev / docs / playground
52+
53+
- Updated the documentation to describe how to use the newly exposed `ajv` variable
54+
55+
# 5.15.0
56+
57+
## @rjsf/mui
58+
59+
- fix gap in text and select widget outlines when `"ui:label": false` is specified.
60+
61+
## @rjsf/utils
62+
63+
- Updated `resolveAllReferences()` to use own recurse list for each object properties, fixing [#3961](https://github.com/rjsf-team/react-jsonschema-form/issues/3961)
64+
- Added an experimental flag `allOf` to `experimental_defaultFormStateBehavior` for populating defaults when using `allOf` schemas [#3969](https://github.com/rjsf-team/react-jsonschema-form/pull/3969)
65+
66+
## Dev / playground
67+
68+
- add missing typescript project reference for `utils` in `validator-ajv6` and `validator-ajv8` packages tsconfigs
69+
- Added a dropdown for changing the `experimental_defaultFormStateBehavior.allOf` behaviour in the playground

package-lock.json

+31-63
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/docs/docs/api-reference/form-props.md

-62
Original file line numberDiff line numberDiff line change
@@ -361,68 +361,6 @@ render(
361361
);
362362
```
363363

364-
### `allOf`
365-
366-
Optional enumerated flag controlling how empty defaults are populated when `allOf` schemas are provided, defaulting to `skipDefaults`:
367-
368-
| Flag Value | Description |
369-
| ------------------ | -------------------------------------------------------------------------------------------- |
370-
| `skipDefaults` | Skip parsing defaults from `allOf` schemas |
371-
| `populateDefaults` | Generate default values for properties in the `allOf` schema including `if-then-else` syntax |
372-
373-
```tsx
374-
import { RJSFSchema } from '@rjsf/utils';
375-
import validator from '@rjsf/validator-ajv8';
376-
377-
const schema: RJSFSchema = {
378-
title: 'Example',
379-
type: 'object',
380-
properties: {
381-
animalInfo: {
382-
properties: {
383-
animal: {
384-
type: 'string',
385-
default: 'Cat',
386-
enum: ['Cat', 'Fish'],
387-
},
388-
},
389-
allOf: [
390-
{
391-
if: {
392-
properties: {
393-
animal: {
394-
const: 'Cat',
395-
},
396-
},
397-
},
398-
then: {
399-
properties: {
400-
food: {
401-
type: 'string',
402-
default: 'meat',
403-
enum: ['meat', 'grass', 'fish'],
404-
},
405-
},
406-
required: ['food'],
407-
},
408-
},
409-
],
410-
},
411-
},
412-
};
413-
414-
render(
415-
<Form
416-
schema={schema}
417-
validator={validator}
418-
experimental_defaultFormStateBehavior={{
419-
allOf: 'populateDefaults',
420-
}}
421-
/>,
422-
document.getElementById('app')
423-
);
424-
```
425-
426364
## disabled
427365

428366
It's possible to disable the whole form by setting the `disabled` prop. The `disabled` prop is then forwarded down to each field of the form.

packages/react-bootstrap/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ or
7676

7777
```js
7878
import { withTheme } from '@rjsf/core';
79-
import { Theme as Bootstrap4Theme } from 'packages/react-bootstrap';
79+
import { Theme as BootstrapTheme } from 'packages/react-bootstrap';
8080

81-
const Form = withTheme(Bootstrap4Theme);
81+
const Form = withTheme(BootstrapTheme);
8282
```
8383

8484
<!-- CONTRIBUTING -->

0 commit comments

Comments
 (0)