Files
web/packages/design-system/lib/components/Radio/Radio.tsx
Rasmus Langvad d0546926a9 Merged in fix/3697-prettier-configs (pull request #3396)
fix(SW-3691): Setup one prettier config for whole repo

* Setup prettierrc in root and remove other configs


Approved-by: Joakim Jäderberg
Approved-by: Linus Flood
2026-01-07 12:45:50 +00:00

44 lines
924 B
TypeScript

import { PropsWithChildren } from "react"
import { Radio as AriaRadio } from "react-aria-components"
import styles from "./radio.module.css"
import { variants } from "./variants"
import { cx } from "class-variance-authority"
interface RadioProps extends PropsWithChildren {
value: string
id?: string
isDisabled?: boolean
color?: "Burgundy"
wrapping?: boolean
}
export function Radio({
id,
value,
children,
color,
isDisabled,
wrapping = true,
}: RadioProps) {
const inputId = id || `radio-${value}`
const classNames = variants({
color,
})
return (
<AriaRadio
id={inputId}
value={value}
isDisabled={isDisabled}
className={cx(styles.container, {
[styles.disabled]: isDisabled,
[styles.wrapping]: wrapping,
})}
>
<div className={`${styles.radio} ${classNames}`} />
{children && <div>{children}</div>}
</AriaRadio>
)
}