UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

44 lines 2.09 kB
import * as React from 'react'; import { Timeout } from '@base-ui-components/utils/useTimeout'; import type { NumberFieldRoot } from "./NumberFieldRoot.js"; import { EventWithOptionalKeyState } from "../utils/types.js"; import type { IncrementValueParameters } from "../utils/types.js"; export type InputMode = 'numeric' | 'decimal' | 'text'; export interface NumberFieldRootContext { inputValue: string; value: number | null; startAutoChange: (isIncrement: boolean, event?: React.MouseEvent | Event) => void; stopAutoChange: () => void; minWithDefault: number; maxWithDefault: number; disabled: boolean; readOnly: boolean; id: string | undefined; setValue: (value: number | null, details: NumberFieldRoot.ChangeEventDetails) => void; getStepAmount: (event?: EventWithOptionalKeyState) => number | undefined; incrementValue: (amount: number, params: IncrementValueParameters) => void; inputRef: React.RefObject<HTMLInputElement | null>; allowInputSyncRef: React.RefObject<boolean | null>; formatOptionsRef: React.RefObject<Intl.NumberFormatOptions | undefined>; valueRef: React.RefObject<number | null>; lastChangedValueRef: React.RefObject<number | null>; hasPendingCommitRef: React.RefObject<boolean>; isPressedRef: React.RefObject<boolean | null>; intentionalTouchCheckTimeout: Timeout; movesAfterTouchRef: React.RefObject<number | null>; name: string | undefined; required: boolean; invalid: boolean | undefined; inputMode: InputMode; getAllowedNonNumericKeys: () => Set<string | undefined>; min: number | undefined; max: number | undefined; setInputValue: React.Dispatch<React.SetStateAction<string>>; locale: Intl.LocalesArgument; isScrubbing: boolean; setIsScrubbing: React.Dispatch<React.SetStateAction<boolean>>; state: NumberFieldRoot.State; onValueCommitted: (value: number | null, eventDetails: NumberFieldRoot.CommitEventDetails) => void; } export declare const NumberFieldRootContext: React.Context<NumberFieldRootContext | undefined>; export declare function useNumberFieldRootContext(): NumberFieldRootContext;