import { EventEmitter } from '../../stencil-public-runtime'; import { RadioGroupVariant } from './exports'; export declare class RadioGroup { host: HTMLRRadioGroupElement; /** Specifies the `id` of the `
` to which the element belongs */ form?: string; /** Specifies common `name` property that is passed to each `r-radio-button` */ name?: string; /** Displays currently selected value */ value?: string; /** Specifies if element must be ignored during validation of the form elements */ novalidate?: boolean; /** The text of the label rendered before the set of radio-buttons */ label: string; /** Specifies if radio-button within group must be checked */ required?: boolean; /** Define the marker text if the field label is marked * Field indicator can be Required*, Optional or a translation of those two options. */ fieldIndicator?: string; /** Set custom message for `valueMissing` property of a ValidityState object (set by `required`) within Constrain Validation API */ valueMissingMessage?: string; /** Apply validation success visual style */ valid?: boolean; /** Apply validation error visual style */ invalid?: boolean; /** Custom validation error message */ error?: string; /** Set custom message for `customError` property of a ValidityState object indicating whether the element's custom validity message has been set to a non-empty string by calling the element's setCustomValidity() method. */ customErrorMessage?: string; /** * Optional hint, visually presented under the group of radio-buttons * giving additional context to the user */ hint?: string; /** Controls the style variation of the radio buttons. */ variant: RadioGroupVariant; /** * When set to `true`, automatically focuses the first enabled radio button in the group on mount. * This will focus the selected radio button if one exists, or the first enabled radio button otherwise. */ autofocus: boolean; /** Specifies if the entire radio group is disabled */ disabled?: boolean; /** * For nested radio groups: specifies the parent radio button value that this nested group belongs to. * When the parent group's value changes to a different value, this nested group will be automatically reset. * This ensures nested selections are only maintained when their parent context is active. */ parentValue?: string; validityState: string; validityMessage: string; rChangeAction(event: any): Promise; /** Emits event after each validation */ rValidate: EventEmitter<{ state: string; message: string; }>; /** Emits `rChange` when component's value has been changed */ rChange: EventEmitter<{ element: HTMLRRadioGroupElement; value: any; }>; /** Emits `rReset` when component was reset to initial state by form reset */ rReset: EventEmitter<{ element: HTMLRRadioGroupElement; value: any; }>; /** * Resets the radio group to its initial state. * This method clears the validity state and message, and sets the value and validity * to their initial values. */ radioButtonClickAction(event: any): void; disabledChanged(newValue: boolean): void; private get selectedIndex(); private get prevIndex(); private get focusedRadioButtonEl(); private get focusedRadioButtonElIndex(); private get nextIndex(); radioButtonKeydownAction(event: any): void; /** * Resets the validity state and message of the radio group. * This method clears the validity message and state, and sets the invalid * property to its initial value. */ resetValidity(): Promise; /** * Resets the radio group to its initial state. * * This method: * - clears the validity state and message, * - sets the value and validity to initial values, * - if no initial value the radio group will be deselected, * - restores the tabindex on the first element. */ reset(): Promise; /** * Sets the value of the radio group to the specified value. * If a radio button with the specified value exists, it will be selected. * * @param value - The value to set for the radio group. */ setValue(value: string | null): Promise; /** * Gets the current value of the radio group. * * @returns The current value of the radio group. */ getValue(): Promise; /** * Clears the value of the radio group and deselects all radio buttons. * This method sets the value to null and deselects all radio buttons in the group. */ clearValue(): Promise; /** * Validates the radio group without triggering UI and returns a boolean indicating its validity. * @returns A boolean indicating whether the radio group is valid. */ checkValidity(): Promise; /** * Validates the radio group and displays the validity state. */ reportValidity(): Promise; /** * Sets a custom validity message for the radio group. * If the message is not empty, the radio group will be considered invalid. * * @param message - The custom validity message to set. */ setCustomValidity(message: string): Promise; /** * Sets focus on the radio button element. * */ setFocus(): Promise; /** * Blurs the radio button element. * */ setBlur(): Promise; /** * Initial attributes state * */ private initial; /** Unique id */ private uniqueId; /** Determine whether this element should be ignored during Constraint Validation API validation. */ private get isNoValidate(); /** Identify wrapping form element */ private get parentFormEl(); private get radioButtonElements(); private get checkedRadioButtonElement(); private get hasSelected(); private get nativeSelectedEl(); private get firstEnabledRadioButton(); private get nativeFirstEl(); private get hasValidationError(); private getValidityStateData; private validateFormElement; private passPropsToGroupItems; private selectGroupItemByValue; private setTabindex; private onSubmitForm; private onResetForm; private onLabelClick; private contributeToFormData; /** * ----------------------------------------------------------------------------------- * @deprecated - acts not the same as native, will be removed with next major release. * ----------------------------------------------------------------------------------- * Handles parent radio group value changes for nested groups. * If this is a nested group with a parentValue specified, it will reset when * the parent group's value changes to something other than the parentValue. */ private onParentGroupChange; private get parentRadioGroup(); private connectFormEventListeners; private disconnectFormEventListeners; private connectParentGroupListener; private disconnectParentGroupListener; private get ariaDescribedBy(); connectedCallback(): void; disconnectedCallback(): void; componentWillLoad(): void; private syncWithParentOnLoad; componentDidLoad(): void; render(): any; }