@omnia/fx-models
Version: 
Provide Omnia Fx Models Stuffs.
110 lines (109 loc) • 2.56 kB
TypeScript
import { BusinessProfileProperty } from "./BusinessProfile";
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { Color } from "./Color";
export interface ThemeDefinitionSettings {
    items: Array<ThemeDefinition>;
}
export declare class BusinessProfileThemeMappingSettings extends BusinessProfileProperty {
    constructor();
    items: Array<ThemeTargetMapping>;
}
export interface ThemeColors {
    primary: Color;
    secondary: Color;
}
export interface ThemeStyling {
    bg: {
        color: Color;
        css: string;
        dark: boolean;
    };
    fg: {
        color: Color;
        css: string;
        dark: boolean;
        text: {
            color: Color;
            css: string;
            csslighter1: string;
            csslighter2: string;
            csslighter3: string;
            csslighter4: string;
            csslighter5: string;
            csslighter6: string;
        };
    };
    text: {
        color: Color;
        css: string;
        csslighter1: string;
        csslighter2: string;
        csslighter3: string;
        csslighter4: string;
        csslighter5: string;
        csslighter6: string;
    };
    components: {
        color: Color;
        text: {
            color: Color;
        };
        expansionPanel: {
            css: string;
        };
        skeletonLoader: {
            css: string;
        };
        slider: {
            color: string;
            trackColor: string;
        };
        tabs: {
            css: string;
        };
    };
    border: BorderDefinition;
}
/**
 *Theme Definition
 *
 */
export interface ThemeTargetRegistration {
    id: GuidValue;
    title: string;
    defaultThemeDefinitionId: GuidValue;
    defaultAccessibilityDefinitionId: GuidValue;
}
export interface ThemeTargetMapping {
    id: GuidValue;
    targetRegistrationId: GuidValue;
    default: ThemeDefinition;
    accessibility?: ThemeDefinition;
}
export interface ThemeDefinition {
    id: GuidValue;
    name: string;
    readOnly: boolean;
    colors: ThemeDefinitionColors;
    chrome: ThemeColorDefinition;
    body: ThemeColorDefinition;
}
export interface ThemeDefinitionColors {
    primary: string;
    secondary: string;
}
export interface BorderDefinition {
    color: string;
    width: number;
    elevation: number;
    radiustop: number;
    radiusbottom: number;
}
export interface ThemeColorDefinition {
    bg: string;
    fg: string;
    text: string;
    darkBg: boolean;
    darkFg: boolean;
    border?: BorderDefinition;
}