import { ShadowConfig } from '../LczCustomGraphics/type'; export interface TextStyle { fontFamily?: string; fontSize?: number; newcolor?: string | any; fontWeight?: any; letterSpacing?: number | string; } export interface BorderStyle { display?: boolean; borderd?: boolean; borderColor?: string; borderWidth?: number; borderRadius?: number; } export interface TabsOptions { id: number | string; content: any; remark: string; } export interface DiscountLineConfig { display?: boolean; status?: boolean; selfType?: string; noSelfType?: string; strNum?: number; lineHeight?: number; } export interface GlobalTextStyle { fontFamily: string; letterSpacing?: number | string; noSelfDiscountLine?: DiscountLineConfig; selfDiscountLine?: DiscountLineConfig; alignType?: string; verticalType?: string; } export interface TabSize { rollWidthOrHeight?: number; multiH?: number; selfAdaption?: boolean; contentSpacing?: number; } export interface IconStyleSeries { id: number | string; iconType: 'system' | 'custom'; iconValue?: IconValueType; systemNormal?: { color: any; }; systemHover?: { display: boolean; color: any; }; systemFocus?: { display: boolean; color: any; }; systemFocusHover?: { display: boolean; color: any; }; customNormal?: { imgUrl: any; }; customHover?: { display: boolean; imgUrl: any; }; customFocus?: { display: boolean; imgUrl: any; }; customFocusHover?: { display: boolean; imgUrl: any; }; } export interface NormalIcon { display: boolean; iconType: 'system' | 'custom'; iconValue?: IconValueType; systemNormal?: { color: any; }; systemHover?: { display: boolean; color: any; }; systemFocus?: { display: boolean; color: any; }; systemFocusHover?: { display: boolean; color: any; }; customNormal?: { imgUrl: any; }; customHover?: { display: boolean; imgUrl: any; }; customFocus?: { display: boolean; imgUrl: any; }; customFocusHover?: { display: boolean; imgUrl: any; }; } export interface IconConfig { display: boolean; iconPosition: 'right' | 'left' | 'top' | 'bottom'; valSpeed: number; width: number; height: number; normalIcon?: NormalIcon; iconStyleSeries?: IconStyleSeries[]; } export interface ArrowDisabledStyle { display: boolean; opacity: number; styleSync: boolean; arrowDisabledColor: any; arrowDisabledImg: any; } export interface IconArrowConfig { display: boolean; scrollWay?: 'toDistance' | 'toNumber'; scrollDistance?: number; scrollNumber?: number; spacing?: number; offset?: number; resources?: string; type?: string; size?: number; colorObj?: any; imgUrl?: string; imgWidth?: number; imgHeight?: number; arrowHoverStyle?: { display: boolean; arrowHoverColor: any; arrowHoverImg: any; }; arrowDisabledStyle?: ArrowDisabledStyle; } export interface GlobalConfig { tabType?: string; ordArrangement?: string; rollArrangement?: string; tabPosition?: string; spacing?: number; rowSpacing?: number; tabBgColor?: string; tabSize?: TabSize; textStyle?: GlobalTextStyle; iconConfig?: IconConfig; iconArrowConfig?: IconArrowConfig; } export interface OrdTextConfig { fontFamily?: string; fontSize?: number; newcolor?: string | any; fontWeight?: any; } export interface ContentBoxConfig { width?: number; height?: number; topOffset?: number; boxBackground?: string; boxBorderColor?: string; boxBderWidth?: number; boxBorderRadius?: number; } export interface HoverTextStyle { display?: boolean; hoverStatus?: boolean; fontFamily?: string; fontSize?: number; newcolor?: string | any; fontWeight?: any; letterSpacing?: number | string; } export interface OrdHoverStyle { display?: boolean; ordHoverStatus?: boolean; ordTextHover?: HoverTextStyle; Hoverbackground?: string | { display: boolean; ordHovertype: 'color' | 'image'; color?: any; imgUrl?: string; }; HoverborderColor?: string; HoverborderWidth?: number; } export interface OrdStyleConfig { ordTextConfig?: TextStyle; bgConfig?: string | { display: boolean; ordtype: 'color' | 'image'; color?: any; imgUrl?: string; }; ordBorderStyle: BorderStyle; outShadow?: ShadowConfig; inShadow?: ShadowConfig; ordHoverStyle: OrdHoverStyle; } export interface FocusTextConfig { focusBgColor?: string; focusBorderColor?: string; focusBorderWidth?: number; focusBorderRadius?: number; } export interface GlideLine { display?: boolean; bgColor?: string; width?: number; } export interface FocusBorderStyle { display?: boolean; borderd?: boolean; focusBorderColor?: string; focusBorderWidth?: number; focusBorderRadius?: number; } export interface FocusHoverStyle { display?: boolean; focusStatus?: boolean; focusTextHover?: HoverTextStyle; focusHoverBg?: string | { display: boolean; focusHovertype: 'color' | 'image'; color?: any; imgUrl?: string; }; focusHoverBorderColor?: string; focusHoverBorderWidth?: number; } export interface FocusStyleConfog { focusTextConfig?: TextStyle; focusBorderStyle?: FocusBorderStyle; focusBg?: string | { display: boolean; focustype: 'color' | 'image'; color?: any; imgUrl?: string; }; outShadow?: ShadowConfig; inShadow?: ShadowConfig; focusHoverStyle?: FocusHoverStyle; glideLine?: GlideLine; } export interface TabCarousel { display?: boolean; stopCondition: boolean | string; interval?: number; clickInterval?: number; } export interface TabsConfig { globalConfig?: GlobalConfig; ordStyleConfig?: OrdStyleConfig; focusStyleConfig?: FocusStyleConfog; } export type Color = { type: 'single' | 'gradient'; color: string; }; export interface RemarkConfig { display?: boolean; xPosition?: 'top' | 'bottom'; yPosition?: 'left' | 'right'; xoffset?: number; yoffset?: number; maxHeight?: any; maxWidth?: any; bgColor?: string; radius?: number; textStyle?: TextStyle; } export interface TabsProps { tabCarousel?: TabCarousel; type?: 'index' | 'id'; index?: { value: number | null; }; defaultId?: { value: string | number | null; }; tabsConfig?: TabsConfig; ordcontentBoxConfig?: ContentBoxConfig; remarkConfig?: RemarkConfig; data?: TabsOptions[]; onChange?: any; onClick?: any; }