@rjsf/react-bootstrap 6.0.0-beta.21 → 6.0.0-beta.22

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.
Files changed (48) hide show
  1. package/dist/index.cjs +37 -24
  2. package/dist/index.cjs.map +3 -3
  3. package/dist/react-bootstrap.esm.js +37 -24
  4. package/dist/react-bootstrap.esm.js.map +3 -3
  5. package/dist/react-bootstrap.umd.js +37 -24
  6. package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.d.ts +2 -2
  7. package/lib/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js.map +1 -1
  8. package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js +1 -2
  9. package/lib/ArrayFieldTemplate/ArrayFieldTemplate.js.map +1 -1
  10. package/lib/BaseInputTemplate/BaseInputTemplate.d.ts +1 -1
  11. package/lib/BaseInputTemplate/BaseInputTemplate.js +2 -2
  12. package/lib/BaseInputTemplate/BaseInputTemplate.js.map +1 -1
  13. package/lib/CheckboxWidget/CheckboxWidget.js +2 -2
  14. package/lib/CheckboxWidget/CheckboxWidget.js.map +1 -1
  15. package/lib/CheckboxesWidget/CheckboxesWidget.d.ts +1 -1
  16. package/lib/CheckboxesWidget/CheckboxesWidget.js +2 -2
  17. package/lib/CheckboxesWidget/CheckboxesWidget.js.map +1 -1
  18. package/lib/FieldTemplate/FieldTemplate.d.ts +1 -1
  19. package/lib/FieldTemplate/FieldTemplate.js +2 -2
  20. package/lib/FieldTemplate/FieldTemplate.js.map +1 -1
  21. package/lib/ObjectFieldTemplate/ObjectFieldTemplate.d.ts +1 -1
  22. package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js +2 -2
  23. package/lib/ObjectFieldTemplate/ObjectFieldTemplate.js.map +1 -1
  24. package/lib/RadioWidget/RadioWidget.d.ts +1 -1
  25. package/lib/RadioWidget/RadioWidget.js +2 -2
  26. package/lib/RadioWidget/RadioWidget.js.map +1 -1
  27. package/lib/SelectWidget/SelectWidget.d.ts +1 -1
  28. package/lib/SelectWidget/SelectWidget.js +2 -2
  29. package/lib/SelectWidget/SelectWidget.js.map +1 -1
  30. package/lib/TextareaWidget/TextareaWidget.d.ts +1 -1
  31. package/lib/TextareaWidget/TextareaWidget.js +2 -2
  32. package/lib/TextareaWidget/TextareaWidget.js.map +1 -1
  33. package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.d.ts +1 -1
  34. package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js +2 -3
  35. package/lib/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js.map +1 -1
  36. package/lib/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +7 -7
  38. package/src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx +2 -2
  39. package/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx +1 -9
  40. package/src/BaseInputTemplate/BaseInputTemplate.tsx +2 -1
  41. package/src/CheckboxWidget/CheckboxWidget.tsx +2 -1
  42. package/src/CheckboxesWidget/CheckboxesWidget.tsx +14 -2
  43. package/src/FieldTemplate/FieldTemplate.tsx +6 -4
  44. package/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx +2 -2
  45. package/src/RadioWidget/RadioWidget.tsx +2 -1
  46. package/src/SelectWidget/SelectWidget.tsx +2 -1
  47. package/src/TextareaWidget/TextareaWidget.tsx +2 -1
  48. package/src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx +4 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rjsf/react-bootstrap",
3
- "version": "6.0.0-beta.21",
3
+ "version": "6.0.0-beta.22",
4
4
  "main": "dist/index.js",
5
5
  "module": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -61,8 +61,8 @@
61
61
  ]
62
62
  },
63
63
  "peerDependencies": {
64
- "@rjsf/core": "^6.0.0-beta.21",
65
- "@rjsf/utils": "^6.0.0-beta.21",
64
+ "@rjsf/core": "^6.0.0-beta.22",
65
+ "@rjsf/utils": "^6.0.0-beta.22",
66
66
  "react": ">=18",
67
67
  "react-bootstrap": "^2.x"
68
68
  },
@@ -71,10 +71,10 @@
71
71
  "node": ">=20"
72
72
  },
73
73
  "devDependencies": {
74
- "@rjsf/core": "^6.0.0-beta.21",
75
- "@rjsf/snapshot-tests": "^6.0.0-beta.21",
76
- "@rjsf/utils": "^6.0.0-beta.21",
77
- "@rjsf/validator-ajv8": "^6.0.0-beta.21",
74
+ "@rjsf/core": "^6.0.0-beta.22",
75
+ "@rjsf/snapshot-tests": "^6.0.0-beta.22",
76
+ "@rjsf/utils": "^6.0.0-beta.22",
77
+ "@rjsf/validator-ajv8": "^6.0.0-beta.22",
78
78
  "eslint": "^8.57.1",
79
79
  "react-bootstrap": "^2.10.10"
80
80
  },
@@ -2,7 +2,7 @@ import { CSSProperties } from 'react';
2
2
  import Row from 'react-bootstrap/Row';
3
3
  import Col from 'react-bootstrap/Col';
4
4
  import {
5
- ArrayFieldItemTemplateType,
5
+ ArrayFieldItemTemplateProps,
6
6
  FormContextType,
7
7
  getTemplate,
8
8
  getUiOptions,
@@ -14,7 +14,7 @@ export default function ArrayFieldItemTemplate<
14
14
  T = any,
15
15
  S extends StrictRJSFSchema = RJSFSchema,
16
16
  F extends FormContextType = any,
17
- >(props: ArrayFieldItemTemplateType<T, S, F>) {
17
+ >(props: ArrayFieldItemTemplateProps<T, S, F>) {
18
18
  const { children, buttonsProps, hasToolbar, uiSchema, registry } = props;
19
19
  const uiOptions = getUiOptions<T, S, F>(uiSchema);
20
20
  const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(
@@ -2,7 +2,6 @@ import Row from 'react-bootstrap/Row';
2
2
  import Col from 'react-bootstrap/Col';
3
3
  import Container from 'react-bootstrap/Container';
4
4
  import {
5
- ArrayFieldItemTemplateType,
6
5
  ArrayFieldTemplateProps,
7
6
  buttonId,
8
7
  FormContextType,
@@ -37,11 +36,6 @@ export default function ArrayFieldTemplate<
37
36
  registry,
38
37
  uiOptions,
39
38
  );
40
- const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(
41
- 'ArrayFieldItemTemplate',
42
- registry,
43
- uiOptions,
44
- );
45
39
  const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(
46
40
  'ArrayFieldTitleTemplate',
47
41
  registry,
@@ -74,9 +68,7 @@ export default function ArrayFieldTemplate<
74
68
  />
75
69
  <Container fluid key={`array-item-list-${fieldPathId.$id}`} className='p-0 m-0'>
76
70
  {!showOptionalDataControlInTitle ? optionalDataControl : undefined}
77
- {items.map(({ key, ...itemProps }: ArrayFieldItemTemplateType<T, S, F>) => (
78
- <ArrayFieldItemTemplate key={key} {...itemProps} />
79
- ))}
71
+ {items}
80
72
  {canAdd && (
81
73
  <Container className=''>
82
74
  <Row className='mt-2'>
@@ -16,6 +16,7 @@ export default function BaseInputTemplate<
16
16
  F extends FormContextType = any,
17
17
  >({
18
18
  id,
19
+ htmlName,
19
20
  placeholder,
20
21
  required,
21
22
  readonly,
@@ -47,7 +48,7 @@ export default function BaseInputTemplate<
47
48
  <>
48
49
  <Form.Control
49
50
  id={id}
50
- name={id}
51
+ name={htmlName || id}
51
52
  placeholder={placeholder}
52
53
  autoFocus={autofocus}
53
54
  required={required}
@@ -19,6 +19,7 @@ export default function CheckboxWidget<
19
19
  >(props: WidgetProps<T, S, F>) {
20
20
  const {
21
21
  id,
22
+ htmlName,
22
23
  value,
23
24
  disabled,
24
25
  readonly,
@@ -61,7 +62,7 @@ export default function CheckboxWidget<
61
62
  )}
62
63
  <Form.Check
63
64
  id={id}
64
- name={id}
65
+ name={htmlName || id}
65
66
  label={labelValue(label, hideLabel || !label)}
66
67
  checked={typeof value === 'undefined' ? false : value}
67
68
  required={required}
@@ -17,7 +17,19 @@ export default function CheckboxesWidget<
17
17
  T = any,
18
18
  S extends StrictRJSFSchema = RJSFSchema,
19
19
  F extends FormContextType = any,
20
- >({ id, disabled, options, value, autofocus, readonly, required, onChange, onBlur, onFocus }: WidgetProps<T, S, F>) {
20
+ >({
21
+ id,
22
+ htmlName,
23
+ disabled,
24
+ options,
25
+ value,
26
+ autofocus,
27
+ readonly,
28
+ required,
29
+ onChange,
30
+ onBlur,
31
+ onFocus,
32
+ }: WidgetProps<T, S, F>) {
21
33
  const { enumOptions, enumDisabled, inline, emptyValue } = options;
22
34
  const checkboxesValues = Array.isArray(value) ? value : [value];
23
35
 
@@ -52,7 +64,7 @@ export default function CheckboxesWidget<
52
64
  className='bg-transparent border-0'
53
65
  type={'checkbox'}
54
66
  id={optionId(id, index)}
55
- name={id}
67
+ name={htmlName || id}
56
68
  label={option.label}
57
69
  autoFocus={autofocus && index === 0}
58
70
  onChange={_onChange(index)}
@@ -26,8 +26,9 @@ export default function FieldTemplate<
26
26
  disabled,
27
27
  label,
28
28
  hidden,
29
- onDropPropertyClick,
30
- onKeyChange,
29
+ onKeyRename,
30
+ onKeyRenameBlur,
31
+ onRemoveProperty,
31
32
  readonly,
32
33
  required,
33
34
  schema,
@@ -50,8 +51,9 @@ export default function FieldTemplate<
50
51
  disabled={disabled}
51
52
  id={id}
52
53
  label={label}
53
- onDropPropertyClick={onDropPropertyClick}
54
- onKeyChange={onKeyChange}
54
+ onKeyRename={onKeyRename}
55
+ onKeyRenameBlur={onKeyRenameBlur}
56
+ onRemoveProperty={onRemoveProperty}
55
57
  readonly={readonly}
56
58
  required={required}
57
59
  schema={schema}
@@ -29,7 +29,7 @@ export default function ObjectFieldTemplate<
29
29
  schema,
30
30
  formData,
31
31
  optionalDataControl,
32
- onAddClick,
32
+ onAddProperty,
33
33
  disabled,
34
34
  readonly,
35
35
  registry,
@@ -80,7 +80,7 @@ export default function ObjectFieldTemplate<
80
80
  <Col xs={{ offset: 9, span: 3 }} className='py-4'>
81
81
  <AddButton
82
82
  id={buttonId(fieldPathId, 'add')}
83
- onClick={onAddClick(schema)}
83
+ onClick={onAddProperty}
84
84
  disabled={disabled || readonly}
85
85
  className='rjsf-object-property-expand'
86
86
  uiSchema={uiSchema}
@@ -13,6 +13,7 @@ import {
13
13
 
14
14
  export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({
15
15
  id,
16
+ htmlName,
16
17
  options,
17
18
  value,
18
19
  required,
@@ -46,7 +47,7 @@ export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSc
46
47
  label={option.label}
47
48
  id={optionId(id, index)}
48
49
  key={index}
49
- name={id}
50
+ name={htmlName || id}
50
51
  type='radio'
51
52
  disabled={disabled || itemDisabled || readonly}
52
53
  checked={checked}
@@ -17,6 +17,7 @@ export default function SelectWidget<
17
17
  >({
18
18
  schema,
19
19
  id,
20
+ htmlName,
20
21
  options,
21
22
  required,
22
23
  disabled,
@@ -50,7 +51,7 @@ export default function SelectWidget<
50
51
  return (
51
52
  <FormSelect
52
53
  id={id}
53
- name={id}
54
+ name={htmlName || id}
54
55
  value={typeof selectedIndexes === 'undefined' ? emptyValue : selectedIndexes}
55
56
  required={required}
56
57
  multiple={multiple}
@@ -17,6 +17,7 @@ export default function TextareaWidget<
17
17
  F extends FormContextType = any,
18
18
  >({
19
19
  id,
20
+ htmlName,
20
21
  placeholder,
21
22
  value,
22
23
  required,
@@ -37,7 +38,7 @@ export default function TextareaWidget<
37
38
  <InputGroup>
38
39
  <FormControl
39
40
  id={id}
40
- name={id}
41
+ name={htmlName || id}
41
42
  as='textarea'
42
43
  placeholder={placeholder}
43
44
  disabled={disabled}
@@ -1,4 +1,3 @@
1
- import { FocusEvent } from 'react';
2
1
  import {
3
2
  ADDITIONAL_PROPERTY_FLAG,
4
3
  buttonId,
@@ -24,8 +23,8 @@ export default function WrapIfAdditionalTemplate<
24
23
  disabled,
25
24
  id,
26
25
  label,
27
- onDropPropertyClick,
28
- onKeyChange,
26
+ onRemoveProperty,
27
+ onKeyRenameBlur,
29
28
  readonly,
30
29
  required,
31
30
  schema,
@@ -46,7 +45,6 @@ export default function WrapIfAdditionalTemplate<
46
45
  );
47
46
  }
48
47
 
49
- const handleBlur = ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target.value);
50
48
  const keyId = `${id}-key`;
51
49
 
52
50
  return (
@@ -60,7 +58,7 @@ export default function WrapIfAdditionalTemplate<
60
58
  disabled={disabled || readonly}
61
59
  id={keyId}
62
60
  name={keyId}
63
- onBlur={!readonly ? handleBlur : undefined}
61
+ onBlur={!readonly ? onKeyRenameBlur : undefined}
64
62
  type='text'
65
63
  />
66
64
  </Form.Group>
@@ -71,7 +69,7 @@ export default function WrapIfAdditionalTemplate<
71
69
  id={buttonId(id, 'remove')}
72
70
  className='rjsf-object-property-remove w-100'
73
71
  disabled={disabled || readonly}
74
- onClick={onDropPropertyClick(label)}
72
+ onClick={onRemoveProperty}
75
73
  uiSchema={uiSchema}
76
74
  registry={registry}
77
75
  />