import type { JSX, ValidComponent } from "@solidjs/web"; import { type BaseUIChangeEventDetails, REASONS } from "../../internals/change-event-details.js"; import { type FieldRootState } from "../../internals/field-context.js"; import { type MaybeAccessor } from "../../internals/maybe-accessor.js"; import type { BaseUIComponentProps, NativeButtonProps } from "../../internals/types.js"; import { type RadioRootState } from "../radio-root-context.js"; export type RadioChangeEventReason = typeof REASONS.none; export type RadioChangeEventDetails = BaseUIChangeEventDetails; export type { RadioRootState }; export interface RadioRootProps extends NativeButtonProps, Omit, "value"> { /** * Tag/component to render. Defaults to `"button"`. Replaces the * pre-spike `render` prop (axis G). */ as?: ValidComponent; value: Value; checked?: MaybeAccessor; disabled?: boolean | undefined; readOnly?: MaybeAccessor; required?: MaybeAccessor; onCheckedChange?: ((checked: boolean, eventDetails: RadioChangeEventDetails) => void) | undefined; inputRef?: ((element: HTMLInputElement | null) => void) | undefined; name?: string | undefined; } /** * A selectable input in a group of options. Renders a non-native * `