export interface TextStyle { fontFamily: string; fontSize: number; color: any; fontWeight: any; letterSpacing?: number; italics?: boolean; } interface Shadow { display: boolean; color: string; xOffSet: number; yOffSet: number; blur: number; } export interface PrefixConfig { prefixStatus?: boolean; prefixStyle?: TextStyle; prefix?: string; verticalOffset?: number; prefixShadow?: Shadow; } export interface SuffixConfig { suffixStatus?: boolean; suffixStyle?: TextStyle; suffix?: string; verticalOffset?: number; suffixShadow?: Shadow; } export interface ColorConfig { colorString?: any; } export interface NumberBg { display?: boolean; verMargin?: number; horMargin?: number; numBoxRadius?: number | string; numBgColor?: ColorConfig; numBoxBg?: string; separateBg?: boolean; } export interface NumberAnimate { display?: boolean; scrollType?: string; speed?: number; takeRatio?: number; } export interface NumberFormat { display?: boolean; numberbits?: number; numDo?: number; digit?: number; rounding?: boolean; negativeing?: string; } export interface SymbolCustom { display?: boolean; symbolStatus?: boolean; divider?: string; decimal?: string; plusSign?: string; minusSign?: string; flat?: string; symbolSpeed?: number; symbolSize?: number; } export interface SectionStyle { min: number; max: number; colorConfig: { display: boolean; color: any; }; fontWeight: number | string; fontSize?: number; shadow?: Shadow; } export interface NumberConfig { numberBg?: NumberBg; widthAdaptation?: boolean; numberAnimate?: NumberAnimate; numberFormat?: NumberFormat; symbolCustom?: SymbolCustom; textStyle?: TextStyle; sectionStyleFlag?: boolean; sectionStyle?: SectionStyle[]; numberShadow?: Shadow; } export interface NumberFlopConfig { prefixDistance?: string | number; suffixDistance?: string | number; prefixConfig?: PrefixConfig; suffixConfig?: SuffixConfig; numberConfig?: NumberConfig; } export interface TitleConfig { display?: boolean; name?: string; defaultName?: string; titleStyle?: TextStyle; titleShadow?: Shadow; } type DataMap = { value: number; name?: string; prefix?: string; suffix?: string; }; type handlerChangeType = (param: DataMap) => void; export interface NumberFlopProps { titleConfig?: TitleConfig; scrollCountConfig?: NumberFlopConfig; defaultValue?: number; titlePosition?: string; titleDistance?: string | number; alignment?: string; data?: DataMap[]; onDataChange?: handlerChangeType; onClick?: handlerChangeType; onMouseenter?: handlerChangeType; onMouseleave?: handlerChangeType; } export {};