@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.
38 lines • 1.88 kB
TypeScript
import * as React from 'react';
import type { Timeout } from '@base-ui-components/utils/useTimeout';
import type { EventWithOptionalKeyState, IncrementValueParameters } from "../utils/types.js";
import type { NumberFieldRoot } from "./NumberFieldRoot.js";
import type { HTMLProps } from "../../utils/types.js";
export declare function useNumberFieldButton(params: useNumberFieldButton.Parameters): React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
export interface UseNumberFieldButtonParameters {
allowInputSyncRef: React.RefObject<boolean | null>;
disabled: boolean;
formatOptionsRef: React.RefObject<Intl.NumberFormatOptions | undefined>;
getStepAmount: (event?: EventWithOptionalKeyState) => number | undefined;
id: string | undefined;
incrementValue: (amount: number, params: IncrementValueParameters) => void;
inputRef: React.RefObject<HTMLInputElement | null>;
inputValue: string;
intentionalTouchCheckTimeout: Timeout;
isIncrement: boolean;
isPressedRef: React.RefObject<boolean | null>;
locale?: Intl.LocalesArgument;
maxWithDefault: number;
minWithDefault: number;
movesAfterTouchRef: React.RefObject<number | null>;
readOnly: boolean;
setValue: (value: number | null, details: NumberFieldRoot.ChangeEventDetails) => void;
startAutoChange: (isIncrement: boolean, event?: React.MouseEvent | Event) => void;
stopAutoChange: () => void;
value: number | null;
valueRef: React.RefObject<number | null>;
lastChangedValueRef: React.RefObject<number | null>;
onValueCommitted: (value: number | null, eventDetails: NumberFieldRoot.CommitEventDetails) => void;
}
export interface UseNumberFieldButtonReturnValue {
props: HTMLProps;
}
export declare namespace useNumberFieldButton {
type Parameters = UseNumberFieldButtonParameters;
type ReturnValue = UseNumberFieldButtonReturnValue;
}