@julo-ui/sliders
Version:
A React Slider component that implements input[type='range']
35 lines (32 loc) • 1.01 kB
TypeScript
import { Bounds } from './types.js';
import '@julo-ui/system';
import '../types.js';
declare function getValueBounds(value: number[], min: number, max: number, spacing: number): {
min: number;
max: number;
}[];
declare function getIds(id: string | number): {
root: string;
getThumb: (i: number) => string;
getInput: (i: number) => string;
track: string;
innerTrack: string;
getMarker: (i: number) => string;
output: string;
};
type Ids = ReturnType<typeof getIds>;
interface GetThumbStateOnChangeArgs {
index: number;
bounds: Bounds[];
values: number[];
pointerValue: number;
prevValue: number[];
step: number;
isDisableSwap: boolean;
distanceBetweenThumbs: number;
}
declare function getThumbStateOnChange({ bounds, index, values, pointerValue, prevValue, step, isDisableSwap, distanceBetweenThumbs, }: GetThumbStateOnChangeArgs): {
index: number;
value: number[];
};
export { Ids, getIds, getThumbStateOnChange, getValueBounds };