import { type IInvalidable } from '../../../Behaviors/Invalidable'; import type { Appearance } from '../../../Types/Appearance'; import type { FlowDirection } from '../../../Types/FlowDirection'; import { LabelPosition } from '../../../Types/LabelPosition'; import type { Variant } from '../../../Types/Variant'; import type { IConnectedCallback } from '../../Abstracts/Interfaces/IConnectedCallback'; import { ToggableElement } from '../../Primitives/Abstracts/Toggable/ToggableElement'; import type { IRadioElementProps } from './IRadioElementProps'; declare const RadioElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Valueable").IValueableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Labelable").ILabelableProps) & (abstract new (...args: Array) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & typeof ToggableElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Radio - A UI element allowing users to select a single option from a list. * * @description * The Radio component allows users to select one option from a group of mutually exclusive choices. * Radio buttons are typically used in forms where only one selection is allowed from a set of options. * They work best when grouped together and provide clear, distinct choices to users. * * @name Radio * @element mosaik-radio * @category Inputs * * @slot checkmark - The checkmark slot. * @slot label - The label slot. * * @csspart checkmark - the checkmark part. * @csspart focusRing - the focus ring part. * @csspart input - the input part. * @csspart label - the label part. * * @cssprop {String} --radio-background-color - The background color CSS custom property. * @cssprop {String} --radio-border-color - The border color CSS custom property. * @cssprop {String} --radio-border-radius - The border radius CSS custom property. * @cssprop {String} --radio-border-style - The border style CSS custom property. * @cssprop {String} --radio-border-width - The border width CSS custom property. * @cssprop {String} --radio-checkmark-background-color - The checkmark background color CSS custom property. * @cssprop {String} --radio-checkmark-border-color - The checkmark border color CSS custom property. * @cssprop {String} --radio-checkmark-foreground-color - The checkmark foreground color CSS custom property. * @cssprop {String} --radio-focus-ring-border-color - The focus ring border color CSS custom property. * @cssprop {String} --radio-focus-ring-outward-offset - The focus ring outward offset CSS custom property. * @cssprop {String} --radio-font-family - The font family CSS custom property. * @cssprop {String} --radio-font-letter-spacing - The font letter spacing CSS custom property. * @cssprop {String} --radio-font-line-height - The font line height CSS custom property. * @cssprop {String} --radio-font-size - The font size CSS custom property. * @cssprop {String} --radio-font-text-decoration - The font text decoration CSS custom property. * @cssprop {String} --radio-font-text-transform - The font text transform CSS custom property. * @cssprop {String} --radio-font-weight - The font weight CSS custom property. * @cssprop {String} --radio-foreground-color - The foreground color CSS custom property. * @cssprop {String} --radio-gap - The gap CSS custom property. * @cssprop {String} --radio-padding-bottom - The padding bottom CSS custom property. * @cssprop {String} --radio-padding-left - The padding left CSS custom property. * @cssprop {String} --radio-padding-right - The padding right CSS custom property. * @cssprop {String} --radio-padding-top - The padding top CSS custom property. * @cssprop {String} --radio-shadow - The shadow CSS custom property. * @cssprop {String} --radio-shadow-blur - The shadow blur CSS custom property. * @cssprop {String} --radio-shadow-color - The shadow color CSS custom property. * @cssprop {String} --radio-shadow-offset-x - The shadow offset x CSS custom property. * @cssprop {String} --radio-shadow-offset-y - The shadow offset y CSS custom property. * @cssprop {String} --radio-shadow-spread - The shadow spread CSS custom property. * @cssprop {String} --radio-transition-duration - The transition duration CSS custom property. * @cssprop {String} --radio-transition-mode - The transition mode CSS custom property. * @cssprop {String} --radio-transition-property - The transition property CSS custom property. * @cssprop {String} --radio-translate - The translate CSS custom property. * * @dependency {CheckmarkElement} mosaik-checkmark - The checkmark element. * @dependency {FocusRingElement} mosaik-focus-ring - The focus ring element. * @dependency {TextElement} mosaik-text - The text element. * * @example * ```html * * * * ``` * * @public */ export declare class RadioElement extends RadioElement_base implements IConnectedCallback, IRadioElementProps, IInvalidable { private readonly _inheritance; private _inputElement; private _labelPosition; private _required; private _name; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @override * @readonly */ static get is(): string; /** * @inheritDoc * When used inside a RadioGroup, inherits the group's disabled state unless explicitly set. * * @public * @override */ get disabled(): boolean; set disabled(value: boolean); /** * @inheritdoc * When used inside a RadioGroup, inherits the group's appearance unless explicitly set. * * @public * @override */ get appearance(): Appearance; set appearance(value: Appearance); /** * @inheritdoc * When used inside a RadioGroup, inherits the group's variant unless explicitly set. * * @public * @override */ get variant(): Variant; set variant(value: Variant); /** * @inheritdoc * When used inside a RadioGroup, inherits the group's dir unless explicitly set. * * @public * @override */ get dir(): FlowDirection; set dir(value: FlowDirection); /** * Gets or sets the `labelPosition` property. * * @public * @attr */ get labelPosition(): LabelPosition; set labelPosition(value: LabelPosition); /** * Gets or sets the `required` property. * * @public * @attr */ get required(): boolean; set required(value: boolean); /** * Gets or sets the `name` property. * When used inside a RadioGroup, inherits the group's name unless explicitly set. * * @public * @attr */ get name(): string; set name(value: string); /** * @public * @overload */ connectedCallback(): void; /** * Resets the element to its initial state. * * @public */ reset(): void; /** * Checks the validity of the element and returns `true` if it is valid; otherwise, `false`. * * @public * @override */ checkValidity(): boolean; /** * @public * @override */ check(): void; /** * @public * @override */ uncheck(): void; /** * Toggles the element between checked and unchecked states. * * @public * @override */ toggle(): void; /** * @protected * @override */ protected onApplyTemplate(): void; } /** * @public */ export declare namespace RadioElement { type Props = IRadioElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-radio': RadioElement; } } export {}; //# sourceMappingURL=RadioElement.d.ts.map