fui-fancyui
Version:
FancyUI Libary
32 lines (31 loc) • 1.02 kB
TypeScript
import { default as Color } from 'color';
type ColorType = ReturnType<typeof Color>;
export interface IUseSlider {
color?: ColorType | null;
hue?: number;
opacity?: number;
type: 'hue' | 'opacity' | 'color';
handlerSlider?: (value: number) => void;
handlerColor?: (color: ColorType) => void;
sliderPositionToColorFunc?: (clientX: number, rect: DOMRect) => number;
positionToColorFunc?: (hue: number, clientX: number, clientY: number, rect: DOMRect) => {
h: number;
s: number;
v: number;
} | number;
colorToPositionFunc: (color: ColorType, rect: DOMRect) => {
x: number;
y: number;
};
}
export interface IMarkerPosition {
x: number;
y: number;
}
export interface IUseSliderReturn {
sliderRef: React.MutableRefObject<any>;
markerPosition: IMarkerPosition;
handleInteractionStart: (event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>) => void;
isInteracting: boolean;
}
export {};