@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
123 lines (122 loc) • 4.39 kB
TypeScript
import { SliderOffsetBoundaries } from '../types/slider';
import { SliderType } from '../types/type';
export declare const calculateChange: ({ event, container, offsetBoundaries, }: {
event: MouseEvent | React.TouchEvent<Element> | React.MouseEvent<Element, MouseEvent>;
container: HTMLDivElement;
offsetBoundaries: SliderOffsetBoundaries;
}) => number;
/**
* Given the offset of the slider, calculate the value
* @param max
* @param min
* @param step
* @param offset
* @returns
*/
export declare const calcValueByOffset: ({ max, min, step, offset, offsetBoundaries, }: {
max: number;
min: number;
step: number;
offset: number;
offsetBoundaries: SliderOffsetBoundaries;
}) => number;
/**
* Calculates the closest valid value based on the given parameters.
* @param max - The maximum value allowed.
* @param min - The minimum value allowed.
* @param step - The step size between values.
* @param initialStepOffset - The initial offset for the step.
* @param value - The value to calculate the closest valid value for.
* @returns The closest valid value based on the given parameters.
*/
export declare const calcScaleValueWithStepOffset: ({ max, min, step, initialStepOffset, value, }: {
max: number;
min: number;
step: number;
initialStepOffset: number;
value: number;
}) => number;
/**
* Calculates the scale value without considering the step offset.
* @param {object} options - The options object.
* @param {number} options.max - The maximum value of the scale.
* @param {number} options.min - The minimum value of the scale.
* @param {number} options.step - The step value of the scale.
* @param {number} options.value - The current value of the scale.
* @returns {number} - The calculated scale value without step offset.
*/
export declare const calcScaleValueWithoutStepOffset: ({ max, min, step, value, }: {
max: number;
min: number;
step: number;
value: number;
}) => number;
/**
* Calculates the scaled value based on the given parameters.
* If `initialStepOffset` is provided, it uses `calcScaleValueWithStepOffset` function,
* otherwise it uses `calcScaleValueWithoutStepOffset` function.
* Setting initialStepOffset will change the available steps to be from initialStepOffset to max.
* Without initialStepOffset, min=1, step=5 -> [1, 6, 11, 16, ...]
* With initialStepOffset=0, min=1, step=5 -> [1, 5, 10, 15, ...]
* @param max - The maximum value of the scale.
* @param min - The minimum value of the scale.
* @param step - The step size of the scale.
* @param initialStepOffset - The initial step offset (optional).
* @param value - The value to be scaled.
* @returns The scaled value.
*/
export declare const calcScaleValue: ({ max, min, step, initialStepOffset, value, }: {
max: number;
min: number;
step: number;
initialStepOffset?: number;
value: number;
}) => number;
export declare const calcNewRangeValue: ({ prevValue, newValue, activePointer, }: {
prevValue: number[];
newValue: number;
activePointer: React.MutableRefObject<string>;
}) => number[];
export declare const getScale: ({ type, max, min, step, initialStepOffset, }: {
type: SliderType;
max: number;
min: number;
step: number;
initialStepOffset?: number;
}) => {
showScale: boolean;
scaleOffsets: number[];
};
export declare const getOffset: ({ range, max, min, value, offsetBoundaries, }: {
range: boolean;
max: number;
min: number;
value: number | number[];
offsetBoundaries: SliderOffsetBoundaries;
}) => {
offset: number;
offsetLeft: number;
offsetRight: number;
};
export declare const shouldUpdateLeftThumb: ({ activePointer, newValue, prevValue, }: {
activePointer: string;
newValue: number;
prevValue: number[];
}) => boolean;
export declare const shouldUpdateRightThumb: ({ activePointer, newValue, prevValue, }: {
activePointer: string;
newValue: number;
prevValue: number[];
}) => boolean;
export declare const equalsRangeValues: ({ values1, values2, }: {
values1: number[];
values2: number[];
}) => boolean;
export declare const calcDefaultValue: ({ range, max, min, step, initialStepOffset, value, }: {
range: boolean;
max: number;
min: number;
step: number;
initialStepOffset?: number;
value: number | number[];
}) => number | number[];