import { ClearIcon } from '../LczCascader/type'; import { ScrollConfig } from '../LczColumnTable/type'; export interface TextStyle { fontFamily: string; fontSize: number; color?: string; fontWeight: any; letterSpacing: number; } export interface OptionType { id: number | string; content: string; type?: string | number; } export interface BoxBorderStyle { display?: boolean; bordered?: boolean; boxBorderC?: string; boxBorderW?: number; boxRadius?: number; boxHoverBorderC?: string; boxFocusBorderC?: string; } export interface IconConfig { display?: boolean; type?: string; iconValue?: IconValueType; iconColor?: string; iconSize?: number; imgUrl?: string; imgWidth?: number; imgHeight?: number; rightOffset?: number; animate?: boolean; } export interface CloseIcon { color?: string; } export interface TagConfig { tagBgColor?: string; tagRadius?: number; speed?: number; tagBorderColor?: string; tagBorderWidth?: number; iconColor?: string; } export interface BoxColorConfig { textStatus?: boolean; display?: boolean; color?: string; signOverflow?: 'hidden' | 'linefeed' | 'ellipsis'; multipleOverflow?: 'hidden' | 'linefeed'; } export interface SelectIcon { display: boolean; width: number; height: number; contSpacing: number; } export interface OptionBoxConfig { boxBgColor?: string; boxColor?: BoxColorConfig; boxTextAlign?: 'left' | 'right'; boxLeftOffset?: number; boxRightOffset?: number; boxTopOffset?: number; boxBottomOffset?: number; iconConfig?: IconConfig; selectIcon?: SelectIcon; boxBorderStyle?: BoxBorderStyle; tagConfig?: TagConfig; clearIcon?: ClearIcon; } export interface PlainStyleConfig { rowBgColor?: string; rowColor?: string; checkColor?: string; } export interface HoverStyleConfig { hoverType?: boolean; rowHoverBgColor?: string; rowHoverColor?: string; } export interface ActiveStyleConfig { activeType?: boolean; rowActiveBgColor?: string; rowActiveColor?: string; aCheckColor?: string; aTickColor?: string; } export interface SearchConfig { display?: boolean; searchStatus?: boolean; topBottomMargin?: number; leftMargin?: number; height?: number; width?: number; bgColor?: string; borderStyle: BoxBorderStyle; iconColor?: string; textColor?: string; } export interface OptionLine { checkType?: string; itemLineHeight?: number | string; itemRowSpacing?: number | string; downBoxLeftOffset?: number | string; plainStyle?: PlainStyleConfig; hoverStyle?: HoverStyleConfig; activeStyle?: ActiveStyleConfig; } export interface DownBoxConfig { pushUp?: boolean; downBoxHeight?: number; downBoxWidth?: number; leftOffset?: number; topOffset?: number; downBoxBgColor?: string; optionLine?: OptionLine; downBoxBorderStyle?: BoxBorderStyle; searchConfig?: SearchConfig; horcroll?: ScrollConfig; } export interface IconSeries { type: string; iconType: 'system' | 'custom'; iconValue: IconValueType; normalColor: any; hoverColor?: { display: boolean; value: any; }; focusColor?: { display: boolean; value: any; }; normalImgUrl: string; hoverImgUrl?: { display: boolean; value: string; }; focusImgUrl?: { display: boolean; value: string; }; } export interface OptionIcon { occupy: boolean; contSpacing: number; width: number; height: number; iconSeries?: IconSeries[]; } type Handler = (param: any) => void; interface Mobile { adapter: boolean; } export interface DropDownBoxProps { xOffset?: number; mode?: any; currentType?: 'index' | 'id'; singleIndex?: { value: number | null; }; singleId?: { value: string | number | null; }; multipleIndex?: { value: string | null; }; multipleId?: { value: string | null; }; optionBoxConfig?: OptionBoxConfig; downBoxConfig?: DownBoxConfig; textStyle?: TextStyle; mobileConfig?: Mobile; optionIcon?: OptionIcon; data?: OptionType[]; onChange?: Handler; onClick?: Handler; } export {};