import type { JSX, ValidComponent } from "@solidjs/web"; import type { BaseUIComponentProps } from "../../internals/types.js"; import type { NumberFieldRootState } from "../root/number-field-root.js"; export interface NumberFieldInputState extends NumberFieldRootState { } export interface NumberFieldInputProps extends BaseUIComponentProps<"input", NumberFieldInputState> { /** Tag/component to render. Defaults to `"input"`. */ as?: ValidComponent; "aria-roledescription"?: string | undefined; } /** * The native input control of the number field. Renders an ``. * * Solid 2 adaptations (mirrors * `packages/react/src/number-field/input/NumberFieldInput.tsx`): * * - `onInput` maps to React's `onChange` (Solid's `onChange` fires on * commit, not every keystroke). IME composition handling is kept as-is * via the `event.which === 229` early return in `onKeyDown`. * - Field integration goes through `useFieldControlValidation` which wires * the visible input into ``'s registration + validation * pipeline. The blur handler calls `commitValidation` in `onBlur` mode, * matching the post-review slider-thumb pattern (see * `src/slider/thumb/slider-thumb.tsx:491-511`). * - `aria-invalid` is seeded with `"false"` via * `getInputValidationProps()` so the key stays in Solid 2's DOM-spread * `ownKeys` from render 1 (see * `test/internals/merge-props-undefined-attr.test.tsx`). */ export declare function NumberFieldInput(props: NumberFieldInputProps): JSX.Element; export declare namespace NumberFieldInput { type State = NumberFieldInputState; type Props = NumberFieldInputProps; } //# sourceMappingURL=number-field-input.d.ts.map