import { CustomElement } from '../../Abstracts/CustomElement'; import type { IRatingElementProps } from './IRatingElementProps'; type _FixTouchEvent = TouchEvent; declare const RatingElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Valueable").IValueableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Labelable").ILabelableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Sizeable").ISizeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Rating - An interactive rating input control using customizable symbols for user feedback collection. * * @description * The Rating component provides an intuitive interface for users to provide feedback using visual symbols * (typically stars). It supports fractional ratings, hover interactions, keyboard navigation, and extensive * customization options. Features include configurable symbol sets (stars, hearts, thumbs up, etc.), * adjustable scale lengths, read-only and interactive modes, horizontal and vertical orientations, * accessibility support with ARIA attributes, and smooth hover animations. The component handles both * click and touch interactions, supports RTL layouts, and provides precise fractional rating capabilities. * Perfect for product reviews, feedback forms, content ratings, and user satisfaction surveys. * * @name Rating * @element mosaik-rating * @category Inputs * * @csspart root - The root container element. * @csspart symbols - The container for rating symbols. * @csspart symbol - Individual rating symbol elements. * * @cssprop {Color} --rating-background-color - The background color. * @cssprop {Color} --rating-border-color - The border color. * @cssprop {String} --rating-border-radius - The border radius. * @cssprop {String} --rating-border-style - The border style. * @cssprop {String} --rating-border-width - The border width. * @cssprop {Color} --rating-foreground-color - The foreground color. * @cssprop {String} --rating-shadow - The shadow. * * @dependency mosaik-icon - Used for rating symbols. * * @example * ```html * * ``` * * @example * ```html * * ``` * * @public */ export declare class RatingElement extends RatingElement_base implements IRatingElementProps { private _ratingElement; private _length; private _precision; private _readonly; private _symbol; private _symbolAccessor; private _hoverValue; private _isHovering; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `length` property. * * @public * @attr */ get length(): number; set length(value: number); /** * Gets or sets the `precision` property. * * @public * @attr */ get precision(): number; set precision(value: number); /** * Gets or sets the `readonly` property. * * @public * @attr */ get readonly(): boolean; set readonly(value: boolean); /** * Gets or sets the `symbol` property. * * @public * @attr */ get symbol(): string; set symbol(value: string); /** * Gets or sets the `symbolAccessor` property. * * @public * @attr */ get symbolAccessor(): (index: number) => string; set symbolAccessor(value: (index: number) => string); /** * Gets or sets the `hoverValue` property. * * @public */ get hoverValue(): number; set hoverValue(value: number); /** * Gets or sets the `isHovering` property. * * @public */ get isHovering(): boolean; set isHovering(value: boolean); /** * @public * @override */ focus(options?: FocusOptions): void; /** * @public * @override */ blur(): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected */ protected onClick(event: MouseEvent): void; /** * @protected */ protected onKeyDown(event: KeyboardEvent): void; /** * @protected */ protected onMouseEnter(event: MouseEvent): void; /** * @protected */ protected onMouseMove(event: MouseEvent): void; /** * @protected */ protected onMouseLeave(): void; /** * @protected */ protected onTouchStart(event: _FixTouchEvent): void; /** * @protected */ protected onTouchMove(event: _FixTouchEvent): void; /** * @protected */ protected onTouchEnd(event: _FixTouchEvent): void; /** * @private */ private getValueFromMousePosition; /** * @private */ private getValueFromTouchPosition; /** * @private */ private getValueFromXCoordinate; /** * @private */ private setValue; /** * @private */ private roundToPrecision; } /** * @public */ export declare namespace RatingElement { type Props = IRatingElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-rating': RatingElement; } } export {}; //# sourceMappingURL=RatingElement.d.ts.map