import { IEventEmitter } from '@breadstone/mosaik-elements'; import { type ISpinEventDetail } from '../../../events'; import { UpDownSpinPosition } from '../../../Types/UpDownSpinPosition'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IUpDownSpinnerElementProps } from './IUpDownSpinnerElementProps'; declare const UpDownSpinnerElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Sizeable").ISizeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * UpDownSpinner - Increment/decrement controls for numeric input fields and value adjustments. * * @description * The UpDownSpinner element provides a pair of increase/decrease buttons typically used alongside * numeric inputs, date pickers, or any value that can be adjusted incrementally. Features auto-repeat * functionality when buttons are held down, customizable icons, delay/interval settings, and support * for disabling individual buttons when limits are reached. Commonly used in number inputs, quantity * selectors, and stepper controls. * * @name UpDownSpinner * @element mosaik-updown-spinner * @category Primitives * * @slot - Default content slot displayed between the spinner buttons * @slot prefix - Content displayed before the default slot * @slot suffix - Content displayed after the default slot * * @csspart content - Container for slotted content (prefix, default, suffix) * @csspart increase - The increase/up button * @csspart decrease - The decrease/down button * * @dependency {RepeatButtonElement} - Auto-repeating button component * * @fires spinned {SpinEvent} - Fired when increase or decrease is triggered, includes direction * * @example * Basic spinner with numeric input: * ```html *
* * *
* * * ``` * * @example * Custom icons and styling: * ```html * * * ``` * * @example * With disabled states at limits: * ```html * * * * * ``` * * @example * Horizontal orientation with custom timing: * ```html * * * ``` * * @public */ export declare class UpDownSpinnerElement extends UpDownSpinnerElement_base implements IUpDownSpinnerElementProps { private readonly _spinned; private _delay; private _interval; private _position; private _increaseDisabled; private _increaseIcon; private _decreaseDisabled; private _decreaseIcon; private _focusable; /** * @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 `delay` property. * * @public * @attr */ get delay(): number; set delay(value: number); /** * Gets or sets the `interval` property. * * @public * @attr */ get interval(): number; set interval(value: number); /** * Gets or sets the `position` property. * * @public * @attr */ get position(): UpDownSpinPosition; set position(value: UpDownSpinPosition); /** * Gets or sets the `increaseDisabled` property. * * @public * @attr */ get increaseDisabled(): boolean; set increaseDisabled(value: boolean); /** * Gets or sets the `increaseIcon` property. * * @public * @attr */ get increaseIcon(): string; set increaseIcon(value: string); /** * Gets or sets the `decreaseDisabled` property. * * @public * @attr */ get decreaseDisabled(): boolean; set decreaseDisabled(value: boolean); /** * Gets or sets the `decreaseIcon` property. * * @public * @attr */ get decreaseIcon(): string; set decreaseIcon(value: string); /** * Gets or sets the `focusable` property. * * @public * @attr */ get focusable(): boolean; set focusable(value: boolean); /** * Called when the element is spinned. * Provides reference to `ISpinEventDetail` as event argument. * * @public * @readonly * @eventProperty */ get spinned(): IEventEmitter; /** * Emits the `spinned` event. * * @protected */ protected onSpinned(args: ISpinEventDetail): void; /** * @private * @template */ onIncrease(event?: Event): void; /** * @private * @template */ onDecrease(event?: Event): void; } /** * @public */ export declare namespace UpDownSpinnerElement { type Props = IUpDownSpinnerElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-updown-spinner': UpDownSpinnerElement; } } export {}; //# sourceMappingURL=UpDownSpinnerElement.d.ts.map