axcora
Version:
Modern and Super Light Static Site Generator
48 lines (47 loc) • 1.4 kB
TypeScript
import { EnhancedCSSLoader } from '../core/enhanced-css-loader.js';
interface ThemeConfig {
name: string;
variables: Record<string, string>;
components: string[];
fonts?: string[];
customCSS?: string;
}
export declare class CSSThemeIntegration {
private cssLoader;
private themeCache;
constructor(cssLoader: EnhancedCSSLoader);
/**
* Process theme selection in template
*/
processThemeSelection(template: string): {
cleanTemplate: string;
theme: string;
components: string[];
customVars: Record<string, string>;
};
/**
* Parse custom variables from template
*/
private parseCustomVars;
/**
* Process theme variables in template content
*/
processThemeVariables(template: string, themeVariables: Record<string, string>): string;
/**
* Generate CSS imports for template
*/
generateCSSImports(theme: string, components?: string[]): string;
/**
* Load theme configuration
*/
loadThemeConfig(themeName: string): Promise<ThemeConfig | null>;
/**
* Generate runtime theme switcher JavaScript
*/
generateThemeSwitcherJS(availableThemes: string[]): string;
/**
* Create theme configuration files
*/
createThemeConfig(themeName: string, config: ThemeConfig): Promise<void>;
}
export default CSSThemeIntegration;