import "./NumberInput.css"; import { AriaLabelingProps, DomProps, InteractionStatesProps } from "../../shared"; import { BoxProps as BoxPropsForDocumentation } from "../../box"; import { ChangeEventHandler, ComponentProps, ElementType, FocusEventHandler, ForwardedRef, ReactElement, SyntheticEvent } from "react"; interface BoxProps extends BoxPropsForDocumentation { } export interface InnerNumberInputProps extends DomProps, InteractionStatesProps, AriaLabelingProps { /** * A controlled value. */ value?: number | null; /** * The default value of `value` when uncontrolled. */ defaultValue?: number; /** * Whether or not the input is readonly. */ readOnly?: boolean; /** * Whether or not a user input is required before form submission. */ required?: boolean; /** * Temporary text that occupies the input when it is empty. */ placeholder?: string; /** * The minimum value of the input. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number). */ min?: number; /** * The maximum value of the input. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number). */ max?: number; /** * The step used to increment or decrement the value. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number). */ step?: number; /** * Whether or not the input should display as "valid" or "invalid". */ validationState?: "valid" | "invalid"; /** * Called when the input value change. * @param {SyntheticEvent} event - React's original event. * @param {number} value - The new value. * @returns {void} */ onValueChange?: (event: SyntheticEvent, value: number) => void; /** * @ignore */ onChange?: ChangeEventHandler; /** * @ignore */ onFocus?: FocusEventHandler; /** * @ignore */ onBlur?: FocusEventHandler; /** * Whether or not the input should autofocus on render. */ autoFocus?: boolean | number; /** * [Icon](/?path=/docs/icon--default-story) component rendered before the value. */ icon?: ReactElement; /** * Whether or not the input take up the width of its container. */ fluid?: boolean; /** * Whether or not to render a loader. */ loading?: boolean; /** * Additional props to render on the wrapper element. */ wrapperProps?: Partial; /** * An HTML element type or a custom React element type to render as. */ as?: ElementType; /** * @ignore */ forwardedRef: ForwardedRef; } export declare function InnerNumberInput(props: InnerNumberInputProps): JSX.Element; export declare const NumberInput: import("../../shared").OrbitComponent; export declare type NumberInputProps = ComponentProps; export {};