import type { LineWidthsPropertyDefine } from '..'; import type { ColorPropertyDefine, ColorsPropertyDefine, LineClamp, LineDashsPropertyDefine, TextOverflow, UnderlinePropertyDefine, LineDashPropertyDefine, LineThroughPropertyDefine, PaddingsPropertyDefine, StylePropertyFunctionArg, CursorPropertyDefine, MarkedPropertyDefine, FontSizePropertyDefine, FontFamilyPropertyDefine, FontWeightPropertyDefine, FontVariantPropertyDefine, FontStylePropertyDefine, TextAlignType, TextBaselineType } from '../style-define'; import type { ThemeStyle } from '../theme'; export interface ColumnStyle { padding?: PaddingsPropertyDefine; bgColor?: ColorPropertyDefine; textAlign?: TextAlignType; textBaseline?: TextBaselineType; color?: ColorPropertyDefine; fontSize?: FontSizePropertyDefine; fontFamily?: FontFamilyPropertyDefine; fontWeight?: FontWeightPropertyDefine; fontVariant?: FontVariantPropertyDefine; fontStyle?: FontStylePropertyDefine; textOverflow?: TextOverflow; clone: () => ColumnStyle; linkColor?: ColorPropertyDefine; } export type IHeaderStyle = ColumnStyle; export type ISortheaderSyle = IHeaderStyle; export interface IStyleOption { bgColor?: ColorPropertyDefine; padding?: PaddingsPropertyDefine; textAlign?: TextAlignType; textBaseline?: TextBaselineType; color?: ColorPropertyDefine; strokeColor?: ColorPropertyDefine; fontSize?: FontSizePropertyDefine; fontFamily?: FontFamilyPropertyDefine; fontWeight?: FontWeightPropertyDefine; fontVariant?: FontVariantPropertyDefine; fontStyle?: FontStylePropertyDefine; textOverflow?: TextOverflow; borderColor?: ColorsPropertyDefine; borderLineWidth?: LineWidthsPropertyDefine; lineHeight?: number; underline?: UnderlinePropertyDefine; underlineColor?: ColorPropertyDefine; underlineDash?: LineDashPropertyDefine; underlineOffset?: number; lineThrough?: LineThroughPropertyDefine; lineThroughColor?: ColorPropertyDefine; lineThroughDash?: LineDashPropertyDefine; borderLineDash?: LineDashsPropertyDefine; linkColor?: ColorPropertyDefine; cursor?: CursorPropertyDefine; textStick?: boolean | 'vertical' | 'horizontal'; textStickBaseOnAlign?: boolean; marked?: MarkedPropertyDefine; } export declare const cellStyleKeys: string[]; export interface ITextStyleOption extends IStyleOption { autoWrapText?: boolean; lineClamp?: LineClamp; } export interface IImageStyleOption extends IStyleOption { margin?: number; } export type ColumnStyleOption = IStyleOption | ITextStyleOption | IImageStyleOption | ProgressBarStyleOption | CheckboxStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption); export type HeaderStyleOption = (IStyleOption & { textStick?: boolean | 'vertical' | 'horizontal'; }) | ITextStyleOption | IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption); export type FullExtendStyle = HeaderStyleOption & ColumnStyleOption & ThemeStyle; export interface ProgressBarStyleOption extends IStyleOption { showBar?: boolean | ((args: StylePropertyFunctionArg) => boolean); barColor?: ColorPropertyDefine; barBgColor?: ColorPropertyDefine; barHeight?: number | string; barBottom?: number | string; barPadding?: (number | string)[]; barPositiveColor?: ColorPropertyDefine; barNegativeColor?: ColorPropertyDefine; barAxisColor?: ColorPropertyDefine; barRightToLeft?: boolean; showBarMark?: boolean; barMarkPositiveColor?: ColorPropertyDefine; barMarkNegativeColor?: ColorPropertyDefine; barMarkWidth?: number; barMarkPosition?: 'right' | 'bottom'; barMarkInBar?: boolean; } export type CheckboxStyleOption = { size?: number; spaceBetweenTextAndIcon?: number; checkboxStyle?: CheckboxStyle; } & ITextStyleOption; export type RadioStyleOption = { size?: number; spaceBetweenTextAndIcon?: number; spaceBetweenRadio?: number; radioStyle?: RadioStyle; } & ITextStyleOption; export type SwitchStyleOption = { size?: number; spaceBetweenTextAndCircle?: number; switchStyle?: SwitchStyle; } & ITextStyleOption; export type ButtonStyleOption = { buttonStyle?: ButtonStyle; } & ITextStyleOption; export type CheckboxStyle = { size?: number; spaceBetweenTextAndIcon?: number; defaultFill?: string; defaultStroke?: string; disableFill?: string; checkedFill?: string; checkedStroke?: string; disableCheckedFill?: string; disableCheckedStroke?: string; checkIconImage?: string; indeterminateIconImage?: string; }; export type RadioStyle = { size?: number; spaceBetweenTextAndIcon?: number; spaceBetweenRadio?: number; outerRadius?: number; innerRadius?: number; defaultFill?: string; defaultStroke?: string; disableFill?: string; checkedFill?: string; checkedStroke?: string; disableCheckedFill?: string; disableCheckedStroke?: string; }; export type SwitchStyle = { spaceBetweenTextAndCircle?: number; circleRadius?: number; boxWidth?: number; boxHeight?: number; checkedFill?: string; uncheckedFill?: string; disableCheckedFill?: string; disableUncheckedFill?: string; circleFill?: string; }; export interface ButtonStyle { buttonColor?: string; buttonBorderColor?: string; buttonLineWidth?: number; buttonBorderRadius?: number; buttonHoverColor?: string; buttonHoverBorderColor?: string; buttonTextHoverColor?: string; buttonDisableColor?: string; buttonDisableBorderColor?: string; buttonTextDisableColor?: string; buttonPadding?: number; }