UNPKG

@react-md/form

Version:

This package is for creating all the different form input types.

41 lines (40 loc) 1.71 kB
import type { KeyboardEventHandler, MouseEventHandler, FocusEventHandler, Ref, RefCallback, TouchEventHandler } from "react"; import type { DefinedSliderValueOptions, SliderEventHandlers, SliderPresentation, SliderThumbIndex } from "./types"; import type { CombinedSliderControls } from "./utils"; /** * @internal * @remarks \@since 2.5.0 */ export declare type SliderControlsOptions = CombinedSliderControls & SliderPresentation & SliderEventHandlers & DefinedSliderValueOptions & { ref?: Ref<HTMLSpanElement | null>; thumb1Ref?: Ref<HTMLSpanElement | null>; thumb2Ref?: Ref<HTMLSpanElement | null>; animationDuration?: number; }; /** * @internal * @remarks \@since 2.5.0 */ export interface SliderAndRangeSliderControls { thumb1Ref: RefCallback<HTMLSpanElement | null>; thumb1Value: number; thumb1Percentage: string; thumb2Ref: RefCallback<HTMLSpanElement | null>; thumb2Value?: number; thumb2Percentage?: string; dragging: boolean; draggingIndex: SliderThumbIndex; ref: RefCallback<HTMLSpanElement | null>; onBlur: FocusEventHandler<HTMLSpanElement>; onKeyDown: KeyboardEventHandler<HTMLSpanElement>; onMouseDown: MouseEventHandler<HTMLSpanElement>; onTouchStart: TouchEventHandler<HTMLSpanElement>; } /** * This hook provides all the logic for updating the slider's when the user * interacts with the slider. * * @internal * @remarks \@since 2.5.0 */ export declare function useSliderControls({ ref, thumb1Ref: propThumb1Ref, thumb2Ref: propThumb2Ref, min, max, step, disabled, vertical, onBlur, onKeyDown, onMouseDown, onTouchStart, animationDuration, ...controls }: SliderControlsOptions): SliderAndRangeSliderControls;