@ldrender/gradient-picker
Version:
A gradient picker component
51 lines (50 loc) • 1.8 kB
TypeScript
import { GradientDirection, GradientDirectionType, GradientPickerProps, GradientStop, GradientObject } from './types/gradient';
export declare class GradientPicker {
private defaultElement;
private containerPicker;
private inputReturn;
private returnType;
private optionsEl;
private previewEl;
private sliderEl;
private colorHandlersEl;
private handlerManager;
private preview;
private direction;
private directionType;
private directionTypeDefault;
private directionInput;
private directionRadial;
private type;
private typeInput;
private stops;
private isDragging;
private isEventAttached;
private rafId?;
private debounceTimeout;
private readonly DEBOUNCE_DELAY;
private currentPointer;
constructor({ el, stops, direction, directionType, directionRadial, returnType, type, preview }: GradientPickerProps);
private initializeElements;
private createInputReturn;
private initializeHandlerManager;
initDirection(directionType: GradientDirectionType | undefined, direction: GradientDirection | number): void;
private initializeGradient;
private initDefaultStops;
importFromCSSString(gradientStr: string): void;
addColorStop(color: string, offset: number): void;
private isValidGradient;
private loadGradientFromObject;
private setupEventListeners;
private setupSliderListeners;
private handlePointerDown;
private handlePointerMove;
private handlePointerUp;
private updateHandlerPosition;
private batchDOMUpdates;
private setupInputListeners;
getGradient(): GradientObject;
getStops(): Omit<GradientStop, 'id'>[];
private updateGradient;
private updateReturnValue;
}