ranui
Version:
UI Component library based on `Web Component`
121 lines (120 loc) • 4.27 kB
TypeScript
import '@/components/popover';
import '@/shadowless/input';
import '@/shadowless/select';
import '@/components/progress';
import './index.less';
export interface Context {
disabled: Signal<boolean>;
value: Signal<string>;
hue: Signal<number>;
saturation: Signal<number>;
lightness: Signal<number>;
transparency: Signal<number>;
}
export interface RGBA {
r: number;
g: number;
b: number;
a: number;
}
export interface Signal<T> {
getter: () => T;
setter: (newValue: T) => void;
}
declare const ColorPicker_base: {
new (): HTMLElement;
prototype: HTMLElement;
};
/**
* @description: 数据驱动视图,改变数据,即改变视图
* @return {*}
*/
export declare class ColorPicker extends ColorPicker_base {
colorpicker: HTMLDivElement;
colorpickerInner: HTMLDivElement;
context: Context;
popoverBlock: HTMLElement;
popoverContent: HTMLElement;
colorPickerInner?: HTMLDivElement;
colorPickerInnerContent?: HTMLDivElement;
colorPickerPanel?: HTMLDivElement;
colorPickerInputContainer?: HTMLDivElement;
colorPickerPanelDot?: HTMLDivElement;
colorPickerPanelSliderContainer?: HTMLDivElement;
colorPickerPanelSliderGroup?: HTMLDivElement;
colorPickerPanelSliderHue?: HTMLElement;
colorPickerPanelSliderAlpha?: HTMLElement;
colorPickerColorBlockInner?: HTMLDivElement;
colorPickerColorBlock?: HTMLDivElement;
colorPickerInnerContentSelect?: HTMLDivElement;
colorPickerPanelPalette?: HTMLDivElement;
colorPickerPanelSaturation?: HTMLDivElement;
colorPickerInputContainerSelect?: HTMLElement;
colorPickerInputContainerInputColor?: HTMLElement;
colorPickerInputContainerInputNumber?: HTMLElement;
colorPickerInputContainerSelectItem?: HTMLElement;
colorPickerPaletteSelect: boolean;
colorPickerPanelDotInner?: HTMLDivElement;
static get observedAttributes(): string[];
constructor();
get value(): string;
set value(value: string);
createContext: () => void;
/**
* @description: 0 - 360 色相 hue
* @param {*} Signal
* @return {*}
*/
createColorHue: () => Signal<number>;
/**
* @description: 0 - 100 饱和度 x
* @param {*} Signal
* @return {*}
*/
createColorSaturation: () => Signal<number>;
/**
* @description: 0 - 100 亮度 y
* @param {*} Signal
* @return {*}
*/
createColorLightness: () => Signal<number>;
/**
* @description: 0 - 100 透明度
* @param {*} Signal
* @return {*}
*/
createColorTransparency: () => Signal<number>;
createColorDisabled: () => Signal<boolean>;
createColorValueSignal: () => Signal<string>;
generateHue2rgb: () => string;
generateHsv2Rgb: () => string;
generateHsv2Rgba: () => RGBA;
generateHsv2RgbaValue: () => string;
generateColorPickerProgress: () => string;
updateColorValue: (value: string) => void;
updateColorPickerPanelSliderHueProgressPercent: (hue: number) => void;
updateColorPickerPanelSliderAlphaProgressPercent: (alpha: number) => void;
updateColorPickerPanelSliderAlphaProgressWrap: () => void;
updateColorPickerPanelSliderAlphaProgressDot: () => void;
updateColorPickerPanelSliderHueProgressDot: () => void;
updateColorPickerColorBlockInnerBackground: () => void;
updateColorPickerPanelSaturationBackground: () => void;
clickStop: (e: MouseEvent) => void;
changeColorPalettePositionByContext: () => void;
changeColorPalettePosition: (offsetX: number, offsetY: number) => void;
clickColorPalette: (e: MouseEvent) => void;
createColorPickerProgress: () => void;
changeColorPickerHue: (e: Event) => void;
changeColorPickerAlpha: (e: Event) => void;
createColorPickerSelect: () => void;
createColorPickerInput: () => void;
openColorPicker: () => void;
mouseMoveColorPickerPalette: (e: MouseEvent) => void;
mouseDownColorPickerPalette: (e: MouseEvent) => void;
mouseUpColorPickerPalette: () => void;
connectedCallback(): void;
disconnectCallback(): void;
attributeChangedCallback(n: string, o: string, v: string): void;
}
declare const _default: import("@/utils/index").CustomErrorType;
export default _default;