UNPKG

@styleless-ui/react

Version:

Completely unstyled, headless and accessible React UI components.

49 lines (48 loc) 1.45 kB
import * as React from "react"; import type { Classes, MergeElementProps } from "../typings"; interface OwnProps { /** * The content of the group. */ children?: React.ReactNode; /** * Map of sub-components and their correlated classNames. */ classes?: Classes<"root" | "label" | "group">; /** * The label of the group. */ label: string | { /** * The label to use as `aria-label` property. */ screenReaderLabel: string; } | { /** * Identifies the element (or elements) that labels the group. * * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-labelledby MDN Web Docs} for more information. */ labelledBy: string; }; /** * The orientation of the group. * @default "vertical" */ orientation?: "horizontal" | "vertical"; /** * The value of the selected radio. */ value?: string; /** * The default value. Use when the component is not controlled. */ defaultValue?: string; /** * The Callback is fired when the state changes. */ onChange?: (selectedValue: string) => void; } export type Props = Omit<MergeElementProps<"div", OwnProps>, "className" | "defaultChecked">; declare const RadioGroup: (props: Props, ref: React.Ref<HTMLDivElement>) => JSX.Element; export default RadioGroup;