@base-ui-components/react
Version:
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
55 lines • 1.68 kB
TypeScript
import * as React from 'react';
import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.js";
import type { FieldRoot } from "../../field/root/FieldRoot.js";
/**
* Represents the radio button itself.
* Renders a `<button>` element and a hidden `<input>` beside.
*
* Documentation: [Base UI Radio](https://base-ui.com/react/components/radio)
*/
export declare const RadioRoot: React.ForwardRefExoticComponent<RadioRoot.Props & React.RefAttributes<HTMLButtonElement>>;
export declare namespace RadioRoot {
interface Props extends NativeButtonProps, Omit<BaseUIComponentProps<'button', State>, 'value'> {
/**
* The unique identifying value of the radio in a group.
*/
value: any;
/**
* Whether the component should ignore user interaction.
* @default false
*/
disabled?: boolean;
/**
* Whether the user must choose a value before submitting a form.
* @default false
*/
required?: boolean;
/**
* Whether the user should be unable to select the radio button.
* @default false
*/
readOnly?: boolean;
/**
* A ref to access the hidden input element.
*/
inputRef?: React.Ref<HTMLInputElement>;
}
interface State extends FieldRoot.State {
/**
* Whether the radio button is currently selected.
*/
checked: boolean;
/**
* Whether the component should ignore user interaction.
*/
disabled: boolean;
/**
* Whether the user should be unable to select the radio button.
*/
readOnly: boolean;
/**
* Whether the user must choose a value before submitting a form.
*/
required: boolean;
}
}