adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
237 lines • 5.98 kB
TypeScript
/**
* Brand Guidelines System
*
* Provides centralized access to brand guidelines for consistent
* styling across all Adobe Creative Suite generated documents.
*/
export interface BrandGuidelines {
version: string;
brandName: string;
colors: ColorSystem;
typography: TypographySystem;
spacing: SpacingSystem;
layout: LayoutSystem;
assets: AssetSystem;
documentStyles: DocumentStyleSystem;
templates: TemplateStyleSystem;
visualizations: VisualizationStyleSystem;
accessibility: AccessibilitySystem;
}
export interface ColorSystem {
primary: string;
primaryLight: string;
primaryDark: string;
secondary: string;
secondaryLight: string;
secondaryDark: string;
accent: string;
accentLight: string;
accentDark: string;
neutral: Record<string, string>;
semantic: {
success: string;
warning: string;
error: string;
info: string;
};
}
export interface TypographySystem {
headings: {
fontFamily: string;
fontWeight: string;
lineHeight: number;
letterSpacing: string;
};
body: {
fontFamily: string;
fontWeight: string;
lineHeight: number;
letterSpacing: string;
};
monospace: {
fontFamily: string;
fontWeight: string;
lineHeight: number;
letterSpacing: string;
};
sizes: Record<string, string>;
}
export interface SpacingSystem {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
'2xl': string;
'3xl': string;
}
export interface LayoutSystem {
margins: {
page: string;
section: string;
paragraph: string;
};
columns: {
default: number;
wide: number;
newsletter: number;
};
paperSizes: {
a4: {
width: string;
height: string;
};
letter: {
width: string;
height: string;
};
};
}
export interface AssetSystem {
logoPath: string;
logoVariants: {
primary: string;
white: string;
monochrome: string;
};
watermark: string;
backgrounds: {
header: string;
footer: string;
cover: string;
};
}
export interface DocumentStyleSystem {
headers: Record<string, StyleProperties>;
body: Record<string, StyleProperties>;
code: Record<string, StyleProperties>;
tables: Record<string, StyleProperties>;
borders: Record<string, BorderProperties>;
}
export interface StyleProperties {
fontSize?: string;
fontWeight?: string;
color?: string;
backgroundColor?: string;
marginTop?: string;
marginBottom?: string;
padding?: string;
lineHeight?: number;
borderRadius?: string;
border?: string;
textTransform?: string;
}
export interface BorderProperties {
width: string;
style: string;
color: string;
}
export interface TemplateStyleSystem {
projectCharter: {
coverPage: StyleProperties;
sectionHeaders: StyleProperties;
};
requirementsDoc: {
coverPage: StyleProperties;
requirementBlocks: StyleProperties;
};
technicalSpec: {
coverPage: StyleProperties;
codeBlocks: StyleProperties;
};
}
export interface VisualizationStyleSystem {
charts: {
colorPalette: string[];
gridColor: string;
textColor: string;
backgroundColor: string;
};
timelines: {
milestoneColor: string;
phaseColors: string[];
connectionColor: string;
textColor: string;
};
infographics: {
primaryIcon: string;
secondaryIcon: string;
accentIcon: string;
backgroundColor: string;
};
}
export interface AccessibilitySystem {
contrastRatios: Record<string, number>;
fontSize: {
minimum: string;
recommended: string;
};
}
export declare class BrandGuidelinesManager {
private guidelines;
private guidelinesPath;
constructor(guidelinesPath?: string);
/**
* Load brand guidelines from JSON file
*/
loadGuidelines(): Promise<BrandGuidelines>;
/**
* Get complete brand guidelines
*/
getGuidelines(): Promise<BrandGuidelines>;
/**
* Get color system
*/
getColors(): Promise<ColorSystem>;
/**
* Get typography system
*/
getTypography(): Promise<TypographySystem>;
/**
* Get document styles for specific template type
*/
getTemplateStyles(templateType: keyof TemplateStyleSystem): Promise<any>;
/**
* Get visualization color palette
*/
getVisualizationColors(): Promise<string[]>;
/**
* Get brand assets paths
*/
getAssets(): Promise<AssetSystem>;
/**
* Generate CSS variables from brand guidelines
*/
generateCSSVariables(): Promise<string>;
/**
* Generate Adobe Illustrator color swatches
*/
generateIllustratorSwatches(): Promise<any>;
/**
* Generate InDesign paragraph styles
*/
generateInDesignStyles(): Promise<any>;
/**
* Validate brand compliance of colors
*/
validateColorCompliance(colors: string[]): Promise<{
compliant: boolean;
issues: string[];
suggestions: string[];
}>;
/**
* Get style properties for specific element type
*/
getElementStyle(elementType: string, variant?: string): Promise<StyleProperties>;
private findClosestColor;
/**
* Save updated guidelines back to file
*/
saveGuidelines(guidelines: BrandGuidelines): Promise<void>;
/**
* Create a custom brand variation
*/
createBrandVariation(name: string, colorOverrides: Partial<ColorSystem>, typographyOverrides?: Partial<TypographySystem>): Promise<BrandGuidelines>;
}
export declare const brandGuidelines: BrandGuidelinesManager;
//# sourceMappingURL=brand-guidelines.d.ts.map