import { type IInvalidable } from '../../../Behaviors/Invalidable'; import type { Appearance } from '../../../Types/Appearance'; import type { FlowDirection } from '../../../Types/FlowDirection'; import { IconPosition } from '../../../Types/IconPosition'; import type { Variant } from '../../../Types/Variant'; import { ToggableElement } from '../../Primitives/Abstracts/Toggable/ToggableElement'; import type { IChoiceElementProps } from './IChoiceElementProps'; declare const ChoiceElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Rippleable").IRippleableProps) & (abstract new (...args: Array) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Labelable").ILabelableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Valueable").IValueableProps) & (abstract new (...args: Array) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & typeof ToggableElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Choice - An option within a group of choices. * * @description * The Choice component represents an individual option within a group of choices. * It is typically used as part of a Choice Group, such as radio buttons or checkboxes. * Each choice may include text or other content to indicate the available selection. * * @name Choice * @element mosaik-choice * @category Forms * * @slot additional - The additional slot. * @slot checkmark - The checkmark slot. * @slot label - The label slot. * * @csspart additional - The additional part. * @csspart focusRing - The focusRing part. * @csspart input - The input part. * @csspart label - The label part. * @csspart ripple - The ripple part. * * @cssprop {String} --choice-background-color - The background color CSS custom property. * @cssprop {String} --choice-border-color - The border color CSS custom property. * @cssprop {String} --choice-border-radius - The border radius CSS custom property. * @cssprop {String} --choice-border-style - The border style CSS custom property. * @cssprop {String} --choice-border-width - The border width CSS custom property. * @cssprop {String} --choice-checkmark-border-radius - The checkmark border radius CSS custom property. * @cssprop {String} --choice-focus-ring-border-radius - The focus ring border radius CSS custom property. * @cssprop {String} --choice-focus-ring-color - The focus ring color CSS custom property. * @cssprop {String} --choice-focus-ring-outward-offset - The focus ring outward offset CSS custom property. * @cssprop {String} --choice-font-family - The font family CSS custom property. * @cssprop {String} --choice-font-letter-spacing - The font letter spacing CSS custom property. * @cssprop {String} --choice-font-line-height - The font line height CSS custom property. * @cssprop {String} --choice-font-size - The font size CSS custom property. * @cssprop {String} --choice-font-text-decoration - The font text decoration CSS custom property. * @cssprop {String} --choice-font-text-transform - The font text transform CSS custom property. * @cssprop {String} --choice-font-weight - The font weight CSS custom property. * @cssprop {String} --choice-foreground-color - The foreground color CSS custom property. * @cssprop {String} --choice-gap - The gap CSS custom property. * @cssprop {String} --choice-padding-bottom - The padding bottom CSS custom property. * @cssprop {String} --choice-padding-left - The padding left CSS custom property. * @cssprop {String} --choice-padding-right - The padding right CSS custom property. * @cssprop {String} --choice-padding-top - The padding top CSS custom property. * @cssprop {String} --choice-shadow - The shadow CSS custom property. * @cssprop {String} --choice-shadow-blur - The shadow blur CSS custom property. * @cssprop {String} --choice-shadow-color - The shadow color CSS custom property. * @cssprop {String} --choice-shadow-offset-x - The shadow offset x CSS custom property. * @cssprop {String} --choice-shadow-offset-y - The shadow offset y CSS custom property. * @cssprop {String} --choice-shadow-spread - The shadow spread CSS custom property. * @cssprop {String} --choice-transition-duration - The transition duration CSS custom property. * @cssprop {String} --choice-transition-mode - The transition mode CSS custom property. * @cssprop {String} --choice-transition-property - The transition property CSS custom property. * @cssprop {String} --choice-translate - The translate CSS custom property. * * @dependency mosaik-checkmark - The Checkmark element. * @dependency mosaik-focus-ring - The Focus Ring element. * @dependency mosaik-icon - The Icon element. * @dependency mosaik-ripple - The Ripple element. * @dependency mosaik-text - The Text element. * * @example * Basic choice option with label and value: * ```html * * ``` * * @example * Choice with additional description: * ```html * * * ``` * * @example * Choice group composition: * ```html * * * * * * ``` * * @public */ export declare class ChoiceElement extends ChoiceElement_base implements IChoiceElementProps, IInvalidable { private readonly _inheritance; private _inputElement; private _name; private _additional; private _required; private _icon; private _iconPosition; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @override * @readonly */ static get is(): string; /** * @public * @override */ get disabled(): boolean; set disabled(value: boolean); /** * @public * @override */ get appearance(): Appearance; set appearance(value: Appearance); /** * @public * @override */ get variant(): Variant; set variant(value: Variant); /** * Gets or sets the `dir` property. * When used inside a ChoiceGroup, inherits the group's dir unless explicitly set. * * @public * @override */ get dir(): FlowDirection; set dir(value: FlowDirection); /** * Gets or sets the `name` property. * When used inside a ChoiceGroup, inherits the group's name unless explicitly set. * * @public * @attr */ get name(): string; set name(value: string); /** * Gets or sets the `additional` property. * * @public * @attr */ get additional(): string; set additional(value: string); /** * Gets or sets the `required` property. * * @public * @attr */ get required(): boolean; set required(value: boolean); /** * Gets or sets the `icon` property. * * @public * @attr */ get icon(): string; set icon(value: string); /** * Gets or sets the `iconPosition` property. * * @public * @attr */ get iconPosition(): IconPosition; set iconPosition(value: IconPosition); /** * @public * @overload */ connectedCallback(): void; /** * Resets the value, all kinds of validation and errors. * * @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; /** * @public * @override */ toggle(): void; /** * @protected * @override */ protected onApplyTemplate(): void; } /** * @public */ export declare namespace ChoiceElement { type Props = IChoiceElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-choice': ChoiceElement; } } export {}; //# sourceMappingURL=ChoiceElement.d.ts.map