import type { ComponentSize, ThemeColor, VisualVariant } from '../../types'; import '../../content/icon/icon'; import '../input/input'; export type OreNumberInputEvents = { change: Event; input: InputEvent; }; /** Number Input props */ export type OreNumberInputProps = { /** Theme color */ color?: ThemeColor; /** Disable interaction */ disabled?: boolean; /** Error message */ error?: string; /** Stretch to full width of container */ fullwidth?: boolean; /** Helper text */ helper?: string; /** Visible label */ label?: string; /** Label placement: 'inset' renders the label inside the control box, 'outside' renders it above */ 'label-placement'?: 'inset' | 'outside'; /** Large step (for Page Up/Down, default: 10 × step) */ 'large-step'?: number; /** * Shows an inline spinner inside the field and forces the control into `disabled` for the * duration — use while an async validation/submission request is in flight to prevent * double-submits. */ loading?: boolean; /** Maximum allowed value */ max?: number; /** Minimum allowed value */ min?: number; /** Form field name */ name?: string; /** Placeholder text */ placeholder?: string; /** Make the input read-only */ readonly?: boolean; /** * JS-only callback fired with the inner `` element when it mounts, * and with `null` when it unmounts. * Set as a JS property: `bitNumberInput.ref = (el) => { ... }`. */ ref?: ((el: HTMLInputElement | null) => void) | null; /** Border radius */ rounded?: string; /** Component size */ size?: ComponentSize; /** Step size for increment/decrement */ step?: number; /** * Shows an inline green check icon inside the field to confirm the value has * passed validation. Ignored while `error` is set — an error always wins. */ success?: boolean; /** Current numeric value */ value?: number; /** Visual variant */ variant?: VisualVariant; }; /** * A numeric spin-button input with +/− controls, min/max clamping, and full keyboard support. * * @element ore-number-input * * @attr {number} value - Current value * @attr {number} min - Minimum value * @attr {number} max - Maximum value * @attr {number} step - Increment/decrement step (default: 1) * @attr {number} large-step - Step for Page Up/Down (default: 10) * @attr {boolean} disabled - Disables the control * @attr {boolean} readonly - Read-only mode * @attr {boolean} loading - Show an inline spinner and force the control disabled * @attr {boolean} success - Show an inline success check icon (suppressed while `error` is set) * @attr {string} label - Visible label * @attr {string} name - Form field name * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error' * @attr {string} size - 'sm' | 'md' | 'lg' * @attr {string} placeholder - Input placeholder * * @fires input - On every keystroke. * @fires change - On committed value change. * * @slot prefix - Content before the input (e.g. icon) * @slot suffix - Content after the input (e.g. unit label) * @slot label - Custom label content * @slot helper - Custom helper text content * @slot error - Custom error content * * @cssprop --number-input-height - Control height * @cssprop --number-input-border-color - Border color * @cssprop --number-input-radius - Border radius * @cssprop --number-input-bg - Background * @cssprop --number-input-btn-bg - Spin button background * * @part control - Control container. * @part decrement-btn - Decrement stepper button. * @part input - Input element. * @part increment-btn - Increment stepper button. * @example * ```html * * * * ``` */ export declare const NUMBER_INPUT_TAG: "ore-number-input"; //# sourceMappingURL=number-input.d.ts.map