import type { ColorPropertyDefine, ColorsPropertyDefine, TreeBranchIconStyleDefine, TreeLineStyle, } from "./define"; // ****** Plugin Icons ******* export interface IconDefine { d: string; width: number; height: number; } // ****** Custom Theme ******* export type PartialThemeDefine = Partial; export interface ThemeDefine { font?: string; underlayBackgroundColor: string; // color color: ColorPropertyDefine; frozenRowsColor?: ColorPropertyDefine; // background defaultBgColor?: ColorPropertyDefine; frozenRowsBgColor?: ColorPropertyDefine; selectionBgColor: ColorPropertyDefine; highlightBgColor?: ColorPropertyDefine; // border borderColor: ColorsPropertyDefine; frozenRowsBorderColor: ColorsPropertyDefine; highlightBorderColor: ColorsPropertyDefine; checkbox: { uncheckBgColor?: ColorPropertyDefine; checkBgColor?: ColorPropertyDefine; borderColor?: ColorPropertyDefine; }; radioButton: { checkColor?: ColorPropertyDefine; uncheckBorderColor?: ColorPropertyDefine; checkBorderColor?: ColorPropertyDefine; uncheckBgColor?: ColorPropertyDefine; checkBgColor?: ColorPropertyDefine; }; button: { color?: ColorPropertyDefine; bgColor?: ColorPropertyDefine; }; tree: { lineStyle?: TreeLineStyle; lineColor?: ColorPropertyDefine; lineWidth?: number; treeIcon?: TreeBranchIconStyleDefine; }; header: { sortArrowColor?: ColorPropertyDefine; }; messages: { infoBgColor?: ColorPropertyDefine; errorBgColor?: ColorPropertyDefine; warnBgColor?: ColorPropertyDefine; boxWidth?: number; // Default 24 markHeight?: number; // Default 20 }; indicators: { topLeftColor?: ColorPropertyDefine; topLeftSize?: number; topRightColor?: ColorPropertyDefine; topRightSize?: number; bottomRightColor?: ColorPropertyDefine; bottomRightSize?: number; bottomLeftColor?: ColorPropertyDefine; bottomLeftSize?: number; }; } export type RequiredThemeDefine = Required & { checkbox: Required; radioButton: Required; button: Required; tree: Required; header: Required; messages: Required; indicators: Required; };