choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
138 lines (137 loc) • 4.61 kB
TypeScript
import React, { CSSProperties, ReactNode } from 'react';
import TriggerField, { TriggerFieldProps } from '../trigger-field/TriggerField';
import EventManager from '../_util/EventManager';
import { FieldType } from '../data-set/enum';
import { ValidationMessages } from '../validator/Validator';
import { ViewMode } from './enum';
import { Action } from '../trigger/enum';
export interface ColorPickerProps extends TriggerFieldProps {
mode?: ViewMode;
preset?: boolean;
}
export default class ColorPicker extends TriggerField<ColorPickerProps> {
static displayName: string;
static defaultProps: {
suffixCls: string;
clearButton: boolean;
mode: ViewMode;
popupPlacement: string;
triggerShowDelay: number;
triggerHiddenDelay: number;
viewMode: import("../trigger-field/enum").TriggerViewMode;
multiple: boolean;
border: boolean;
valueChangeAction: import("../text-field/enum").ValueChangeAction;
waitType: import("../core/enum").WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
trim: import("../data-set/enum").FieldTrim;
};
gradient: HTMLDivElement | null;
selectPointer: HTMLDivElement | null;
eventManager: EventManager;
hue: HTMLDivElement | null;
huePointer: HTMLDivElement | null;
opacity: HTMLDivElement | null;
opacityPointer: HTMLDivElement | null;
footerInputRef: HTMLInputElement | null;
HSV: {
h: number;
s: number;
v: number;
a: number;
};
RGBA: {
r: number;
g: number;
b: number;
a: number;
};
hueColor?: string;
footerEditFlag?: boolean;
gradientHidden?: boolean;
gradienLeft?: number;
gradienTop?: number;
popupView: HTMLElement | null;
get multiple(): boolean;
get range(): boolean;
get preset(): boolean;
get defaultValidationMessages(): ValidationMessages;
get colorPickUsed(): string[];
saveGradientRef: (node: any) => any;
saveSelectPointerRef: (node: any) => any;
saveHuePointerRef: (node: any) => any;
saveHueRef: (node: any) => any;
saveOpacityRef: (node: any) => any;
saveOpacityPointerRef: (node: any) => any;
saveFooterAlphaRef: (node: any) => any;
getOmitPropsKeys(): string[];
getDefaultAction(): Action[];
constructor(props: any, context: any);
componentDidUpdate(): void;
getValue(): any;
getBorder(r?: number, g?: number, b?: number): boolean;
syncValueOnBlur(value: any): void;
getFieldType(): FieldType;
getPrefix(): ReactNode;
getPopupFooter(): JSX.Element;
getGradientPopupContent(): JSX.Element;
getPresetData(list: string[], value?: string): JSX.Element;
getPopupContent(): JSX.Element;
setHSV(h: any, s: any, v: any, a: any): void;
setRGBA(r: any, g: any, b: any, a: any): void;
setHueColor(color: string): void;
setFooterEditFlag(footerEditFlag: boolean): void;
setGradientHidden(gradientHidden: boolean): void;
setColor(color: string): void;
positionToHSV(left: any, top: any, width: any, height: any): {
h: number;
s: number;
v: number;
a: number;
};
rgbToHEX(r: any, g: any, b: any, a: any): string;
hexToRGB(hex: any): {
r: number;
g: number;
b: number;
a: number;
};
rgbToHSV(r: any, g: any, b: any, a: any): {
h: any;
s: any;
v: number;
a: any;
};
hsvToRGB(h: any, s: any, v: any, a: any): any;
setGradientPointer(x: any, y: any, pointer: any, wrap: any, isClient: boolean): {
left: any;
top: any;
};
handleGPClick(e: any): void;
setSliderPointer(x: any, pointer: any, wrap: any, isClient: any): {
left: any;
wrapW: number;
};
handleHueClick(e: any): void;
handleOpacityClick(e: any): void;
handleFooterInput(e: React.ChangeEvent<HTMLInputElement>): void;
handleGPMouseDown(): void;
onGPMouseUp(): void;
handleHPMouseDown(): void;
handleOpacityMouseDown(): void;
onHPMouseUp(): void;
onOpacityMouseUp(): void;
onExpandChange(e: any): void;
handleFocus(e: any): void;
handleFooterFocus(): void;
setPopup(statePopup: boolean): void;
handlePreset(color: string): void;
handlePopupAnimateAppear(): void;
handlePopupAnimateEnd(): void;
getPopupStyleFromAlign(): CSSProperties | undefined;
getTriggerIconFont(): "" | "palette";
getWrapperClassNames(): string;
renderLengthInfo(): ReactNode;
}