react-range-slider-input
Version:
React component wrapper for range-slider-input
112 lines (89 loc) • 3.69 kB
TypeScript
import type { FC } from 'react';
export type Orientation = "horizontal" | "vertical";
export type Step = number | "any";
export type InputEvent = [number, number];
export type InputEventHandler = (event: InputEvent) => void;
export interface ReactRangeSliderInputProps {
/* @default null
* Identifier string (id attribute value) to be passed to the range slider element.
* */
id?: string;
/* @default null
* String of classes to be passed to the range slider element.
* */
className?: string;
/* @default 0
* Number that specifies the lowest value in the range of permitted values.
* Its value must be less than that of max.
* */
min?: number;
/* @default 100
* Number that specifies the greatest value in the range of permitted values.
* Its value must be greater than that of min.
* */
max?: number;
/* @default 1
* Number that specifies the amount by which the slider value(s) will change upon user interaction.
* Other than numbers, the value of step can be a string value of any.
* */
step?: Step;
/* @default [25, 75]
* Array of two numbers that specify the default values of the lower and upper offsets of the range slider element respectively.
* If set, the range slider will be rendered as an uncontrolled element. To render it as a controlled element, set the value property.
* */
defaultValue?: [number, number];
/* @default []
* Array of two numbers that specify the values of the lower and upper offsets of the range slider element respectively.
* If set, the range slider will be rendered as a controlled element.
* */
value?: [number, number];
/*
* Function to be called when there is a change in the value(s) of range sliders upon user interaction.
* */
onInput?: InputEventHandler;
/*
* Function to be called when the pointerdown event is triggered for any of the thumbs.
* */
onThumbDragStart?: () => void;
/*
* Function to be called when the pointerup event is triggered for any of the thumbs.
* */
onThumbDragEnd?: () => void;
/*
* Function to be called when the pointerdown event is triggered for the range.
* */
onRangeDragStart?: () => void;
/*
* Function to be called when the pointerup event is triggered for the range.
* */
onRangeDragEnd?: () => void;
/* @default false
* Boolean that specifies if the range slider element is disabled or not.
* */
disabled?: boolean;
/* @default false
* Boolean that specifies if the range is slidable or not.
* */
rangeSlideDisabled?: boolean;
/* @default [false, false]
* Array of two Booleans which specify if the lower and upper thumbs are disabled or not, respectively.
* If only one Boolean value is passed instead of an array, the value will apply to both thumbs.
* */
thumbsDisabled?: [boolean, boolean];
/* @default 'horizontal'
* String that specifies the axis along which the user interaction is to be registered.
* By default, the range slider element registers the user interaction along the X-axis.
* It takes two different values: horizontal and vertical.
* */
orientation?: Orientation;
/*
* Array of two strings that set the aria-label attribute on the lower and upper thumbs respectively.
* */
ariaLabel?: [string, string];
/*
/* Array of two strings that set the aria-labelledby attribute on the lower and upper thumbs respectively.
* */
ariaLabelledBy?: [string, string];
}
const ReactRangeSliderInput: FC<ReactRangeSliderInputProps>;
export default ReactRangeSliderInput;