import { IReadonlyObservableValue } from '../../Core/Observable'; import { ITooltipProps } from '../../TooltipEx'; export interface IRadioButtonGroup { /** * Sets focus to the RadioButtonGroup. */ focus(): void; } /** * Which direction the radio button group arranges its children. */ export declare enum RadioButtonGroupDirection { Horizontal = 1, Vertical = 2 } export interface IRadioButtonGroupProps { /** * Optional class name to add to the radio button group element. */ className?: string; /** * The id of the button that should be focused by default. */ defaultButtonId?: string; /** * Set to true if you don't want the radio button group's focus managed by a FocusZone. */ excludeFocusZone?: boolean; /** * Optional class name to add to the radio button group children container. */ groupClassName?: string; /** * Optional id of the checkbox group element. */ id?: string; /** * Callback called when a new button is selected. */ onSelect?: (buttonId: string) => void; /** * The id of the currently selected radio button. */ selectedButtonId?: IReadonlyObservableValue | string; /** * Text to display above the radio group. */ text?: string; /** * Specifies the direction that the radio button children are layed out. * @default RadioButtonGroupDirection.Vertical */ direction?: RadioButtonGroupDirection; /** * Sets "aria-invalid" attribute, if the error message is displayed, should be set to true. * @default false */ ariaInvalid?: boolean; /** * Sets "aria-errormessage" attribute - the id of the element that provides error message. */ ariaErrorMessageId?: string; } export interface IRadioButtonProps { /** * Id of another element which labels this one for screen reader users. Only use if custom rendering the label * with children. Otherwise, this will automatically get set to the id of the text serving as the label. */ ariaLabelledBy?: string; /** * Id of another element which describes this one for screen reader users. */ ariaDescribedBy?: string; /** * Optional class name to add to the radio button element. */ className?: string; /** * If true, the button cannot be interacted with. */ disabled?: boolean; /** * Set to true if you don't want the radio button's focus managed by a FocusZone. */ excludeFocusZone?: boolean; /** * Set to true to omit setting the tab index. */ excludeTabStop?: boolean; /** * id of the radio button. */ id: string; /** * Optional aria role. * @default radio */ role?: string; /** * Text to display next to the radio button. * For custom rendering the label of the radio button (to support two lines of text, etc.), pass * children to the and use the bolt-radio-button-label className. Make sure to set * the ariaLabelledBy prop to the id of the element containing your label. E.g. * * *
* {label-text} * {sub-text} *
* */ text?: string; /** * Optional tooltip to show when the radio button is hovered. */ tooltipProps?: ITooltipProps; }