/** * 颜色选择器类型 * @description 支持纯色、线性渐变、径向渐变、多纯色集合 * pure - 纯色 * linear - 线性渐变 * pures - 多纯色集合 */ export declare type ColorType = 'pure' | 'linear' | 'pures' | 'range'; export interface StopItem { /** * 偏移量 * 0 - 100 */ offset: number; /** * 颜色值 */ color: string; } export interface GradientColorValue { stops: StopItem[]; angle?: number; opacity?: number; } export interface ColorValueObj { type: ColorType; pure?: ColorValueMap['pure']; linear?: ColorValueMap['linear']; pures?: ColorValueMap['pures']; range?: ColorValueMap['range']; } export declare type ColorsPickerType = ColorType | ColorType[]; export interface ColorsPickerProps { type: T; value: T extends ColorType ? ColorValueMap[T] : ColorValueObj; disabledAlpha?: boolean; disabledOutAlpha?: boolean; disabled?: boolean; onChange?: (value: T extends ColorType ? ColorValueMap[T] : ColorValueObj) => void; onChangeComplete?: (value: T extends ColorType ? ColorValueMap[T] : ColorValueObj) => void; } export interface ColorValueMap { pure: string; linear: GradientColorValue; pures: string[]; range: [string, string]; } export interface HSV { h: number; s: number; v: number; } export interface RGB { r: number; g: number; b: number; } export interface Color { hsv: HSV; alpha: number; }