@rjsf/mantine 6.0.0-beta.20 → 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 (49) hide show
  1. package/dist/index.cjs +187 -139
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/mantine.esm.js +186 -138
  4. package/dist/mantine.esm.js.map +4 -4
  5. package/dist/mantine.umd.js +75 -29
  6. package/lib/templates/ArrayFieldItemTemplate.d.ts +3 -3
  7. package/lib/templates/ArrayFieldItemTemplate.js +1 -1
  8. package/lib/templates/ArrayFieldItemTemplate.js.map +1 -1
  9. package/lib/templates/ArrayFieldTemplate.d.ts +1 -1
  10. package/lib/templates/ArrayFieldTemplate.js +5 -6
  11. package/lib/templates/ArrayFieldTemplate.js.map +1 -1
  12. package/lib/templates/BaseInputTemplate.js +2 -2
  13. package/lib/templates/BaseInputTemplate.js.map +1 -1
  14. package/lib/templates/ObjectFieldTemplate.js +5 -4
  15. package/lib/templates/ObjectFieldTemplate.js.map +1 -1
  16. package/lib/templates/OptionalDataControlsTemplate.d.ts +10 -0
  17. package/lib/templates/OptionalDataControlsTemplate.js +22 -0
  18. package/lib/templates/OptionalDataControlsTemplate.js.map +1 -0
  19. package/lib/templates/TitleField.js +8 -4
  20. package/lib/templates/TitleField.js.map +1 -1
  21. package/lib/templates/WrapIfAdditionalTemplate.js +2 -4
  22. package/lib/templates/WrapIfAdditionalTemplate.js.map +1 -1
  23. package/lib/templates/index.js +2 -0
  24. package/lib/templates/index.js.map +1 -1
  25. package/lib/tsconfig.tsbuildinfo +1 -1
  26. package/lib/widgets/CheckboxWidget.js +2 -2
  27. package/lib/widgets/CheckboxWidget.js.map +1 -1
  28. package/lib/widgets/CheckboxesWidget.js +2 -2
  29. package/lib/widgets/CheckboxesWidget.js.map +1 -1
  30. package/lib/widgets/RadioWidget.js +2 -2
  31. package/lib/widgets/RadioWidget.js.map +1 -1
  32. package/lib/widgets/SelectWidget.js +2 -2
  33. package/lib/widgets/SelectWidget.js.map +1 -1
  34. package/lib/widgets/TextareaWidget.js +2 -2
  35. package/lib/widgets/TextareaWidget.js.map +1 -1
  36. package/package.json +7 -7
  37. package/src/templates/ArrayFieldItemTemplate.tsx +3 -3
  38. package/src/templates/ArrayFieldTemplate.tsx +6 -13
  39. package/src/templates/BaseInputTemplate.tsx +3 -2
  40. package/src/templates/ObjectFieldTemplate.tsx +6 -3
  41. package/src/templates/OptionalDataControlsTemplate.tsx +44 -0
  42. package/src/templates/TitleField.tsx +12 -3
  43. package/src/templates/WrapIfAdditionalTemplate.tsx +4 -10
  44. package/src/templates/index.ts +2 -0
  45. package/src/widgets/CheckboxWidget.tsx +2 -1
  46. package/src/widgets/CheckboxesWidget.tsx +2 -1
  47. package/src/widgets/RadioWidget.tsx +2 -1
  48. package/src/widgets/SelectWidget.tsx +2 -1
  49. package/src/widgets/TextareaWidget.tsx +2 -1
@@ -9,7 +9,7 @@ import { cleanupOptions } from '../utils';
9
9
  * @param props - The `WidgetProps` for this component
10
10
  */
11
11
  export default function CheckboxWidget(props) {
12
- const { id, name, value = false, required, disabled, readonly, autofocus, label, hideLabel, schema, rawErrors, options, onChange, onBlur, onFocus, registry, uiSchema, } = props;
12
+ const { id, name, htmlName, value = false, required, disabled, readonly, autofocus, label, hideLabel, schema, rawErrors, options, onChange, onBlur, onFocus, registry, uiSchema, } = props;
13
13
  const themeProps = cleanupOptions(options);
14
14
  const DescriptionFieldTemplate = getTemplate('DescriptionFieldTemplate', registry, options);
15
15
  const handleCheckboxChange = useCallback((e) => {
@@ -28,6 +28,6 @@ export default function CheckboxWidget(props) {
28
28
  }
29
29
  }, [onFocus, id]);
30
30
  const description = options.description || schema.description;
31
- return (_jsxs(_Fragment, { children: [!hideLabel && !!description && (_jsx(DescriptionFieldTemplate, { id: descriptionId(id), description: description, schema: schema, uiSchema: uiSchema, registry: registry })), _jsx(Checkbox, { id: id, name: name, label: labelValue(label || undefined, hideLabel, false), disabled: disabled || readonly, required: required, autoFocus: autofocus, checked: typeof value === 'undefined' ? false : value === 'true' || value, onChange: handleCheckboxChange, onBlur: handleBlur, onFocus: handleFocus, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps })] }));
31
+ return (_jsxs(_Fragment, { children: [!hideLabel && !!description && (_jsx(DescriptionFieldTemplate, { id: descriptionId(id), description: description, schema: schema, uiSchema: uiSchema, registry: registry })), _jsx(Checkbox, { id: id, name: htmlName || name, label: labelValue(label || undefined, hideLabel, false), disabled: disabled || readonly, required: required, autoFocus: autofocus, checked: typeof value === 'undefined' ? false : value === 'true' || value, onChange: handleCheckboxChange, onBlur: handleBlur, onFocus: handleFocus, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps })] }));
32
32
  }
33
33
  //# sourceMappingURL=CheckboxWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxWidget.js","sourceRoot":"","sources":["../../src/widgets/CheckboxWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxWidget.js","sourceRoot":"","sources":["../../src/widgets/CheckboxWidget.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { cleanupOptions } from '../utils';
9
9
  * @param props - The `WidgetProps` for this component
10
10
  */
11
11
  export default function CheckboxesWidget(props) {
12
- const { id, value, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
12
+ const { id, htmlName, value, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
13
13
  const { enumOptions, enumDisabled, inline, emptyValue } = options;
14
14
  const themeProps = cleanupOptions(options);
15
15
  const handleChange = useCallback((nextValue) => {
@@ -28,6 +28,6 @@ export default function CheckboxesWidget(props) {
28
28
  }
29
29
  }, [onFocus, id, enumOptions, emptyValue]);
30
30
  const selectedIndexes = enumOptionsIndexForValue(value, enumOptions, true);
31
- return Array.isArray(enumOptions) && enumOptions.length > 0 ? (_jsxs(_Fragment, { children: [!hideLabel && !!label && (_jsx(Input.Label, { id: titleId(id), required: required, children: label })), _jsx(Checkbox.Group, { id: id, value: selectedIndexes, onChange: handleChange, required: required, readOnly: disabled || readonly, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps, children: Array.isArray(enumOptions) ? (_jsx(Flex, { mt: 'xs', direction: inline ? 'row' : 'column', gap: 'xs', wrap: 'wrap', children: enumOptions.map((option, i) => (_jsx(Checkbox, { id: optionId(id, i), name: id, value: String(i), label: option.label, disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1, autoFocus: i === 0 && autofocus, onBlur: handleBlur, onFocus: handleFocus }, i))) })) : null })] })) : null;
31
+ return Array.isArray(enumOptions) && enumOptions.length > 0 ? (_jsxs(_Fragment, { children: [!hideLabel && !!label && (_jsx(Input.Label, { id: titleId(id), required: required, children: label })), _jsx(Checkbox.Group, { id: id, value: selectedIndexes, onChange: handleChange, required: required, readOnly: disabled || readonly, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps, children: Array.isArray(enumOptions) ? (_jsx(Flex, { mt: 'xs', direction: inline ? 'row' : 'column', gap: 'xs', wrap: 'wrap', children: enumOptions.map((option, i) => (_jsx(Checkbox, { id: optionId(id, i), name: htmlName || id, value: String(i), label: option.label, disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1, autoFocus: i === 0 && autofocus, onBlur: handleBlur, onFocus: handleFocus }, i))) })) : null })] })) : null;
32
32
  }
33
33
  //# sourceMappingURL=CheckboxesWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxesWidget.js","sourceRoot":"","sources":["../../src/widgets/CheckboxesWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxesWidget.js","sourceRoot":"","sources":["../../src/widgets/CheckboxesWidget.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { cleanupOptions } from '../utils';
9
9
  * @param props - The `WidgetProps` for this component
10
10
  */
11
11
  export default function RadioWidget(props) {
12
- const { id, value, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
12
+ const { id, htmlName, value, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
13
13
  const { enumOptions, enumDisabled, inline, emptyValue } = options;
14
14
  const themeProps = cleanupOptions(options);
15
15
  const handleChange = useCallback((nextValue) => {
@@ -28,6 +28,6 @@ export default function RadioWidget(props) {
28
28
  }
29
29
  }, [onFocus, id, enumOptions, emptyValue]);
30
30
  const selected = enumOptionsIndexForValue(value, enumOptions);
31
- return (_jsx(Radio.Group, { id: id, name: id, value: selected, label: !hideLabel ? label : undefined, onChange: handleChange, required: required, readOnly: disabled || readonly, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps, children: Array.isArray(enumOptions) ? (_jsx(Flex, { mt: 'xs', direction: inline ? 'row' : 'column', gap: 'xs', wrap: 'wrap', children: enumOptions.map((option, i) => (_jsx(Radio, { id: optionId(id, i), value: String(i), label: option.label, disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1, autoFocus: i === 0 && autofocus, onBlur: handleBlur, onFocus: handleFocus }, i))) })) : null }));
31
+ return (_jsx(Radio.Group, { id: id, name: htmlName || id, value: selected, label: !hideLabel ? label : undefined, onChange: handleChange, required: required, readOnly: disabled || readonly, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps, children: Array.isArray(enumOptions) ? (_jsx(Flex, { mt: 'xs', direction: inline ? 'row' : 'column', gap: 'xs', wrap: 'wrap', children: enumOptions.map((option, i) => (_jsx(Radio, { id: optionId(id, i), value: String(i), label: option.label, disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1, autoFocus: i === 0 && autofocus, onBlur: handleBlur, onFocus: handleFocus }, i))) })) : null }));
32
32
  }
33
33
  //# sourceMappingURL=RadioWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioWidget.js","sourceRoot":"","sources":["../../src/widgets/RadioWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,QAAQ,GAKT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,KAA2B;IAE3B,MAAM,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,SAAc,EAAE,EAAE;QACjB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACvC,QAAQ,CAAC,wBAAwB,CAAI,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CACxD,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAE,MAAM,EAAgC,EAAE,EAAE;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,wBAAwB,CAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CACtC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAE,MAAM,EAAgC,EAAE,EAAE;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,wBAAwB,CAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CACvC,CAAC;IAEF,MAAM,QAAQ,GAAG,wBAAwB,CAAI,KAAK,EAAE,WAAW,CAAW,CAAC;IAE3E,OAAO,CACL,KAAC,KAAK,CAAC,KAAK,IACV,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACrC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,KAAK,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,sBACzD,kBAAkB,CAAC,EAAE,CAAC,KACpC,UAAU,YAEb,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5B,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,YACrE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,KAAK,IAEJ,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAClF,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,EAC/B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,IAPf,CAAC,CAQN,CACH,CAAC,GACG,CACR,CAAC,CAAC,CAAC,IAAI,GACI,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RadioWidget.js","sourceRoot":"","sources":["../../src/widgets/RadioWidget.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { cleanupOptions } from '../utils';
9
9
  * @param props - The `WidgetProps` for this component
10
10
  */
11
11
  export default function SelectWidget(props) {
12
- const { id, value, placeholder, required, disabled, readonly, autofocus, label, hideLabel, multiple, rawErrors, options, onChange, onBlur, onFocus, } = props;
12
+ const { id, htmlName, value, placeholder, required, disabled, readonly, autofocus, label, hideLabel, multiple, rawErrors, options, onChange, onBlur, onFocus, } = props;
13
13
  const { enumOptions, enumDisabled, emptyValue } = options;
14
14
  const themeProps = cleanupOptions(options);
15
15
  const handleChange = useCallback((nextValue) => {
@@ -40,6 +40,6 @@ export default function SelectWidget(props) {
40
40
  return [];
41
41
  }, [enumDisabled, enumOptions]);
42
42
  const Component = multiple ? MultiSelect : Select;
43
- return (_jsx(Component, { id: id, name: id, label: labelValue(label || undefined, hideLabel, false), data: selectOptions, value: multiple ? selectedIndexes : selectedIndexes, onChange: !readonly ? handleChange : undefined, onBlur: !readonly ? handleBlur : undefined, onFocus: !readonly ? handleFocus : undefined, autoFocus: autofocus, placeholder: placeholder, disabled: disabled || readonly, required: required, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, searchable: true, ...themeProps, "aria-describedby": ariaDescribedByIds(id), comboboxProps: { withinPortal: false } }));
43
+ return (_jsx(Component, { id: id, name: htmlName || id, label: labelValue(label || undefined, hideLabel, false), data: selectOptions, value: multiple ? selectedIndexes : selectedIndexes, onChange: !readonly ? handleChange : undefined, onBlur: !readonly ? handleBlur : undefined, onFocus: !readonly ? handleFocus : undefined, autoFocus: autofocus, placeholder: placeholder, disabled: disabled || readonly, required: required, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, searchable: true, ...themeProps, "aria-describedby": ariaDescribedByIds(id), comboboxProps: { withinPortal: false } }));
44
44
  }
45
45
  //# sourceMappingURL=SelectWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectWidget.js","sourceRoot":"","sources":["../../src/widgets/SelectWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectWidget.js","sourceRoot":"","sources":["../../src/widgets/SelectWidget.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { cleanupOptions } from '../utils';
9
9
  */
10
10
  export default function TextareaWidget(props) {
11
11
  var _a;
12
- const { id, name, value, placeholder, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
12
+ const { id, name, htmlName, value, placeholder, required, disabled, readonly, autofocus, label, hideLabel, rawErrors, options, onChange, onBlur, onFocus, } = props;
13
13
  const themeProps = cleanupOptions(options);
14
14
  const emptyValue = (_a = options === null || options === void 0 ? void 0 : options.emptyValue) !== null && _a !== void 0 ? _a : '';
15
15
  const handleChange = useCallback((e) => {
@@ -25,6 +25,6 @@ export default function TextareaWidget(props) {
25
25
  onFocus(id, target && target.value);
26
26
  }
27
27
  }, [onFocus, id]);
28
- return (_jsx(Textarea, { id: id, name: name, value: value || '', placeholder: placeholder || undefined, required: required, disabled: disabled || readonly, autoFocus: autofocus, label: labelValue(label || undefined, hideLabel, false), onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps }));
28
+ return (_jsx(Textarea, { id: id, name: htmlName || name, value: value || '', placeholder: placeholder || undefined, required: required, disabled: disabled || readonly, autoFocus: autofocus, label: labelValue(label || undefined, hideLabel, false), onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, error: rawErrors && rawErrors.length > 0 ? rawErrors.join('\n') : undefined, "aria-describedby": ariaDescribedByIds(id), ...themeProps }));
29
29
  }
30
30
  //# sourceMappingURL=TextareaWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaWidget.js","sourceRoot":"","sources":["../../src/widgets/TextareaWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAyC,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAKL,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;;IAC3B,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAmC,EAAE,EAAE;QACtC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAE,MAAM,EAAmC,EAAE,EAAE;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAE,MAAM,EAAmC,EAAE,EAAE;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,CACd,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,WAAW,EAAE,WAAW,IAAI,SAAS,EACrC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EACvD,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,sBACzD,kBAAkB,CAAC,EAAE,CAAC,KACpC,UAAU,GACd,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TextareaWidget.js","sourceRoot":"","sources":["../../src/widgets/TextareaWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAyC,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAKL,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;;IAC3B,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAmC,EAAE,EAAE;QACtC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAE,MAAM,EAAmC,EAAE,EAAE;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAE,MAAM,EAAmC,EAAE,EAAE;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,CACd,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,IAAI,IAAI,EACtB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,WAAW,EAAE,WAAW,IAAI,SAAS,EACrC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EACvD,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,sBACzD,kBAAkB,CAAC,EAAE,CAAC,KACpC,UAAU,GACd,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rjsf/mantine",
3
- "version": "6.0.0-beta.20",
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",
@@ -64,8 +64,8 @@
64
64
  "@mantine/core": ">=8",
65
65
  "@mantine/dates": ">=8",
66
66
  "@mantine/hooks": ">=8",
67
- "@rjsf/core": "^6.0.0-beta.20",
68
- "@rjsf/utils": "^6.0.0-beta.20",
67
+ "@rjsf/core": "^6.0.0-beta.22",
68
+ "@rjsf/utils": "^6.0.0-beta.22",
69
69
  "react": ">=18"
70
70
  },
71
71
  "devDependencies": {
@@ -74,10 +74,10 @@
74
74
  "@mantine/hooks": "^8.3.1",
75
75
  "@restart/hooks": "^0.6.2",
76
76
  "@restart/ui": "^1.9.4",
77
- "@rjsf/core": "^6.0.0-beta.20",
78
- "@rjsf/snapshot-tests": "^6.0.0-beta.20",
79
- "@rjsf/utils": "^6.0.0-beta.20",
80
- "@rjsf/validator-ajv8": "^6.0.0-beta.20",
77
+ "@rjsf/core": "^6.0.0-beta.22",
78
+ "@rjsf/snapshot-tests": "^6.0.0-beta.22",
79
+ "@rjsf/utils": "^6.0.0-beta.22",
80
+ "@rjsf/validator-ajv8": "^6.0.0-beta.22",
81
81
  "eslint": "^8.57.1",
82
82
  "uncontrollable": "^9.0.0"
83
83
  },
@@ -1,5 +1,5 @@
1
1
  import {
2
- ArrayFieldItemTemplateType,
2
+ ArrayFieldItemTemplateProps,
3
3
  FormContextType,
4
4
  getTemplate,
5
5
  getUiOptions,
@@ -10,13 +10,13 @@ import { Box, Flex, Group } from '@mantine/core';
10
10
 
11
11
  /** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.
12
12
  *
13
- * @param props - The `ArrayFieldItemTemplateType` props for the component
13
+ * @param props - The `ArrayFieldItemTemplateProps` props for the component
14
14
  */
15
15
  export default function ArrayFieldItemTemplate<
16
16
  T = any,
17
17
  S extends StrictRJSFSchema = RJSFSchema,
18
18
  F extends FormContextType = any,
19
- >(props: ArrayFieldItemTemplateType<T, S, F>) {
19
+ >(props: ArrayFieldItemTemplateProps<T, S, F>) {
20
20
  const { buttonsProps, className, hasToolbar, index, uiSchema, registry, children } = props;
21
21
  const uiOptions = getUiOptions<T, S, F>(uiSchema);
22
22
  const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(
@@ -2,7 +2,6 @@ import {
2
2
  getTemplate,
3
3
  getUiOptions,
4
4
  ArrayFieldTemplateProps,
5
- ArrayFieldItemTemplateType,
6
5
  buttonId,
7
6
  FormContextType,
8
7
  RJSFSchema,
@@ -12,7 +11,7 @@ import { Fieldset, Box, Group } from '@mantine/core';
12
11
 
13
12
  /** The `ArrayFieldTemplate` component is the template used to render all items in an array.
14
13
  *
15
- * @param props - The `ArrayFieldItemTemplateType` props for the component
14
+ * @param props - The `ArrayFieldTemplateProps` props for the component
16
15
  */
17
16
  export default function ArrayFieldTemplate<
18
17
  T = any,
@@ -25,6 +24,7 @@ export default function ArrayFieldTemplate<
25
24
  disabled,
26
25
  fieldPathId,
27
26
  items,
27
+ optionalDataControl,
28
28
  onAddClick,
29
29
  readonly,
30
30
  required,
@@ -40,16 +40,12 @@ export default function ArrayFieldTemplate<
40
40
  registry,
41
41
  uiOptions,
42
42
  );
43
- const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(
44
- 'ArrayFieldItemTemplate',
45
- registry,
46
- uiOptions,
47
- );
48
43
  const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(
49
44
  'ArrayFieldTitleTemplate',
50
45
  registry,
51
46
  uiOptions,
52
47
  );
48
+ const showOptionalDataControlInTitle = !readonly && !disabled;
53
49
  // Button templates are not overridden in the uiSchema
54
50
  const {
55
51
  ButtonTemplates: { AddButton },
@@ -63,6 +59,7 @@ export default function ArrayFieldTemplate<
63
59
  schema={schema}
64
60
  uiSchema={uiSchema}
65
61
  registry={registry}
62
+ optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}
66
63
  />
67
64
  );
68
65
 
@@ -77,14 +74,10 @@ export default function ArrayFieldTemplate<
77
74
  registry={registry}
78
75
  />
79
76
  )}
80
-
81
77
  <Box className='row rjsf-array-item-list'>
82
- {items &&
83
- items.map(({ key, ...itemProps }: ArrayFieldItemTemplateType<T, S, F>) => (
84
- <ArrayFieldItemTemplate key={key} {...itemProps} />
85
- ))}
78
+ {!showOptionalDataControlInTitle ? optionalDataControl : undefined}
79
+ {items}
86
80
  </Box>
87
-
88
81
  {canAdd && (
89
82
  <Group justify='flex-end'>
90
83
  <AddButton
@@ -26,6 +26,7 @@ export default function BaseInputTemplate<
26
26
  >(props: BaseInputTemplateProps<T, S, F>) {
27
27
  const {
28
28
  id,
29
+ htmlName,
29
30
  type,
30
31
  schema,
31
32
  value,
@@ -77,7 +78,7 @@ export default function BaseInputTemplate<
77
78
  inputProps.type === 'number' || inputProps.type === 'integer' ? (
78
79
  <NumberInput
79
80
  id={id}
80
- name={id}
81
+ name={htmlName || id}
81
82
  label={labelValue(label || undefined, hideLabel, false)}
82
83
  required={required}
83
84
  autoFocus={autofocus}
@@ -98,7 +99,7 @@ export default function BaseInputTemplate<
98
99
  ) : (
99
100
  <TextInput
100
101
  id={id}
101
- name={id}
102
+ name={htmlName || id}
102
103
  label={labelValue(label || undefined, hideLabel, false)}
103
104
  required={required}
104
105
  autoFocus={autofocus}
@@ -29,7 +29,8 @@ export default function ObjectFieldTemplate<
29
29
  description,
30
30
  disabled,
31
31
  properties,
32
- onAddClick,
32
+ optionalDataControl,
33
+ onAddProperty,
33
34
  readonly,
34
35
  required,
35
36
  schema,
@@ -45,6 +46,7 @@ export default function ObjectFieldTemplate<
45
46
  registry,
46
47
  uiOptions,
47
48
  );
49
+ const showOptionalDataControlInTitle = !readonly && !disabled;
48
50
  // Button templates are not overridden in the uiSchema
49
51
  const {
50
52
  ButtonTemplates: { AddButton },
@@ -63,6 +65,7 @@ export default function ObjectFieldTemplate<
63
65
  schema={schema}
64
66
  uiSchema={uiSchema}
65
67
  registry={registry}
68
+ optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}
66
69
  />
67
70
  )}
68
71
  {description && (
@@ -80,19 +83,19 @@ export default function ObjectFieldTemplate<
80
83
  verticalSpacing={gridVerticalSpacing as MantineSpacing | undefined}
81
84
  mb='sm'
82
85
  >
86
+ {!showOptionalDataControlInTitle ? optionalDataControl : undefined}
83
87
  {properties
84
88
  .filter((e) => !e.hidden)
85
89
  .map((element: ObjectFieldTemplatePropertyType) => (
86
90
  <Box key={element.name}>{element.content}</Box>
87
91
  ))}
88
92
  </SimpleGrid>
89
-
90
93
  {canExpand(schema, uiSchema, formData) && (
91
94
  <Group mt='xs' justify='flex-end'>
92
95
  <AddButton
93
96
  id={buttonId(fieldPathId, 'add')}
94
97
  disabled={disabled || readonly}
95
- onClick={onAddClick(schema)}
98
+ onClick={onAddProperty}
96
99
  className='rjsf-object-property-expand'
97
100
  uiSchema={uiSchema}
98
101
  registry={registry}
@@ -0,0 +1,44 @@
1
+ import { FormContextType, OptionalDataControlsTemplateProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';
2
+
3
+ import AddButton from './ButtonTemplates/AddButton';
4
+ import { RemoveButton } from './ButtonTemplates/IconButton';
5
+
6
+ /** The OptionalDataControlsTemplate renders one of three different states. If
7
+ * there is an `onAddClick()` function, it renders the "Add" button. If there is
8
+ * an `onRemoveClick()` function, it renders the "Remove" button. Otherwise it
9
+ * renders the "No data found" section. All of them use the `label` as either
10
+ * the `title` of buttons or simply outputting it.
11
+ *
12
+ * @param props - The `OptionalDataControlsTemplateProps` for the template
13
+ */
14
+ export default function OptionalDataControlsTemplate<
15
+ T = any,
16
+ S extends StrictRJSFSchema = RJSFSchema,
17
+ F extends FormContextType = any,
18
+ >(props: OptionalDataControlsTemplateProps<T, S, F>) {
19
+ const { id, registry, label, onAddClick, onRemoveClick } = props;
20
+ if (onAddClick) {
21
+ return (
22
+ <AddButton
23
+ id={id}
24
+ registry={registry}
25
+ icon='plus'
26
+ className='rjsf-add-optional-data'
27
+ onClick={onAddClick}
28
+ title={label}
29
+ />
30
+ );
31
+ } else if (onRemoveClick) {
32
+ return (
33
+ <RemoveButton
34
+ id={id}
35
+ registry={registry}
36
+ icon='remove'
37
+ className='rjsf-remove-optional-data'
38
+ onClick={onRemoveClick}
39
+ title={label}
40
+ />
41
+ );
42
+ }
43
+ return <em id={id}>{label}</em>;
44
+ }
@@ -1,5 +1,5 @@
1
1
  import { FormContextType, TitleFieldProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';
2
- import { Title } from '@mantine/core';
2
+ import { Grid, Title } from '@mantine/core';
3
3
 
4
4
  /** The `TitleField` is the template to use to render the title of a field
5
5
  *
@@ -8,10 +8,19 @@ import { Title } from '@mantine/core';
8
8
  export default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(
9
9
  props: TitleFieldProps<T, S, F>,
10
10
  ) {
11
- const { id, title } = props;
12
- return title ? (
11
+ const { id, title, optionalDataControl } = props;
12
+ let heading = title ? (
13
13
  <Title id={id} order={3} fw='normal'>
14
14
  {title}
15
15
  </Title>
16
16
  ) : null;
17
+ if (optionalDataControl) {
18
+ heading = (
19
+ <Grid>
20
+ <Grid.Col span='auto'>{heading}</Grid.Col>
21
+ <Grid.Col span='content'>{optionalDataControl}</Grid.Col>
22
+ </Grid>
23
+ );
24
+ }
25
+ return heading;
17
26
  }
@@ -1,4 +1,3 @@
1
- import { FocusEvent, useCallback } from 'react';
2
1
  import {
3
2
  ADDITIONAL_PROPERTY_FLAG,
4
3
  UI_OPTIONS_KEY,
@@ -31,8 +30,8 @@ export default function WrapIfAdditionalTemplate<
31
30
  disabled,
32
31
  schema,
33
32
  uiSchema,
34
- onKeyChange,
35
- onDropPropertyClick,
33
+ onKeyRenameBlur,
34
+ onRemoveProperty,
36
35
  registry,
37
36
  children,
38
37
  } = props;
@@ -42,11 +41,6 @@ export default function WrapIfAdditionalTemplate<
42
41
  const keyLabel = translateString(TranslatableString.KeyLabel, [label]);
43
42
  const additional = ADDITIONAL_PROPERTY_FLAG in schema;
44
43
 
45
- const handleBlur = useCallback(
46
- ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target && target.value),
47
- [onKeyChange],
48
- );
49
-
50
44
  if (!additional) {
51
45
  return (
52
46
  <div className={classNames} style={style}>
@@ -76,7 +70,7 @@ export default function WrapIfAdditionalTemplate<
76
70
  disabled={disabled || readonly}
77
71
  id={`${id}-key`}
78
72
  name={`${id}-key`}
79
- onBlur={!readonly ? handleBlur : undefined}
73
+ onBlur={!readonly ? onKeyRenameBlur : undefined}
80
74
  />
81
75
  </div>
82
76
  </Grid.Col>
@@ -89,7 +83,7 @@ export default function WrapIfAdditionalTemplate<
89
83
  iconType='sm'
90
84
  className='rjsf-array-item-remove'
91
85
  disabled={disabled || readonly}
92
- onClick={onDropPropertyClick(label)}
86
+ onClick={onRemoveProperty}
93
87
  uiSchema={buttonUiOptions}
94
88
  registry={registry}
95
89
  />
@@ -12,6 +12,7 @@ import FieldTemplate from './FieldTemplate';
12
12
  import FieldHelpTemplate from './FieldHelpTemplate';
13
13
  import GridTemplate from './GridTemplate';
14
14
  import ObjectFieldTemplate from './ObjectFieldTemplate';
15
+ import OptionalDataControlsTemplate from './OptionalDataControlsTemplate';
15
16
  import TitleField from './TitleField';
16
17
  import WrapIfAdditionalTemplate from './WrapIfAdditionalTemplate';
17
18
  import MultiSchemaFieldTemplate from './MultiSchemaFieldTemplate';
@@ -34,6 +35,7 @@ export function generateTemplates<
34
35
  FieldHelpTemplate,
35
36
  GridTemplate,
36
37
  ObjectFieldTemplate,
38
+ OptionalDataControlsTemplate,
37
39
  TitleFieldTemplate: TitleField,
38
40
  WrapIfAdditionalTemplate,
39
41
  MultiSchemaFieldTemplate,
@@ -26,6 +26,7 @@ export default function CheckboxWidget<
26
26
  const {
27
27
  id,
28
28
  name,
29
+ htmlName,
29
30
  value = false,
30
31
  required,
31
32
  disabled,
@@ -92,7 +93,7 @@ export default function CheckboxWidget<
92
93
  )}
93
94
  <Checkbox
94
95
  id={id}
95
- name={name}
96
+ name={htmlName || name}
96
97
  label={labelValue(label || undefined, hideLabel, false)}
97
98
  disabled={disabled || readonly}
98
99
  required={required}
@@ -26,6 +26,7 @@ export default function CheckboxesWidget<
26
26
  >(props: WidgetProps<T, S, F>) {
27
27
  const {
28
28
  id,
29
+ htmlName,
29
30
  value,
30
31
  required,
31
32
  disabled,
@@ -95,7 +96,7 @@ export default function CheckboxesWidget<
95
96
  <Checkbox
96
97
  key={i}
97
98
  id={optionId(id, i)}
98
- name={id}
99
+ name={htmlName || id}
99
100
  value={String(i)}
100
101
  label={option.label}
101
102
  disabled={Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1}
@@ -23,6 +23,7 @@ export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSc
23
23
  ) {
24
24
  const {
25
25
  id,
26
+ htmlName,
26
27
  value,
27
28
  required,
28
29
  disabled,
@@ -72,7 +73,7 @@ export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSc
72
73
  return (
73
74
  <Radio.Group
74
75
  id={id}
75
- name={id}
76
+ name={htmlName || id}
76
77
  value={selected}
77
78
  label={!hideLabel ? label : undefined}
78
79
  onChange={handleChange}
@@ -23,6 +23,7 @@ export default function SelectWidget<T = any, S extends StrictRJSFSchema = RJSFS
23
23
  ) {
24
24
  const {
25
25
  id,
26
+ htmlName,
26
27
  value,
27
28
  placeholder,
28
29
  required,
@@ -88,7 +89,7 @@ export default function SelectWidget<T = any, S extends StrictRJSFSchema = RJSFS
88
89
  return (
89
90
  <Component
90
91
  id={id}
91
- name={id}
92
+ name={htmlName || id}
92
93
  label={labelValue(label || undefined, hideLabel, false)}
93
94
  data={selectOptions}
94
95
  value={multiple ? (selectedIndexes as any) : (selectedIndexes as string)}
@@ -23,6 +23,7 @@ export default function TextareaWidget<
23
23
  const {
24
24
  id,
25
25
  name,
26
+ htmlName,
26
27
  value,
27
28
  placeholder,
28
29
  required,
@@ -69,7 +70,7 @@ export default function TextareaWidget<
69
70
  return (
70
71
  <Textarea
71
72
  id={id}
72
- name={name}
73
+ name={htmlName || name}
73
74
  value={value || ''}
74
75
  placeholder={placeholder || undefined}
75
76
  required={required}