Skip to content

Commit 8bc4f55

Browse files
authored
Fix support for required attribute for radio button groups (#3116)
1 parent d4eb5b2 commit 8bc4f55

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

.changeset/blue-comics-float.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@sumup-oss/circuit-ui": patch
3+
---
4+
5+
Fixed support for the `required` attribute in the RadioButtonGroup and SelectorGroup components.

packages/circuit-ui/components/RadioButtonGroup/RadioButtonGroup.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ export const RadioButtonGroup = forwardRef(
199199
{...option}
200200
key={option.value?.toString() || option.label}
201201
disabled={disabled || option.disabled}
202+
required={required || option.required}
202203
name={name}
203204
onChange={onChange}
204205
onBlur={onBlur}

packages/circuit-ui/components/Selector/Selector.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ export const Selector = forwardRef<HTMLInputElement, SelectorProps>(
111111
'id': customId,
112112
name,
113113
disabled,
114+
required,
114115
invalid,
115116
multiple,
116117
onChange,
@@ -164,6 +165,7 @@ export const Selector = forwardRef<HTMLInputElement, SelectorProps>(
164165
name={name}
165166
value={value}
166167
disabled={disabled}
168+
required={multiple ? undefined : required}
167169
// @ts-expect-error Change is handled by onClick for browser support, see https://stackoverflow.com/a/5575369
168170
onClick={onChange}
169171
// Noop to silence React warning: https://github.com/facebook/react/issues/3070#issuecomment-73311114

packages/circuit-ui/components/SelectorGroup/SelectorGroup.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ export const SelectorGroup = forwardRef<
201201
multiple={multiple}
202202
size={size}
203203
disabled={disabled || option.disabled}
204+
required={required || option.required}
204205
invalid={invalid || option.invalid}
205206
checked={
206207
value ? isChecked(option, value, multiple) : option.checked

0 commit comments

Comments
 (0)