/** * ODS Color Token Utility Functions * * Provides runtime utilities for working with ODS color tokens */ export type Platform = 'openmsp' | 'openframe' | 'flamingo'; export type ColorCategory = 'open' | 'flamingo' | 'system' | 'attention'; export type ColorVariant = 'base' | 'hover' | 'active' | 'focus' | 'disabled'; /** * Gets the raw ODS token value for a specific color */ export declare function getODSToken(category: ColorCategory, color: string, variant?: ColorVariant): string | undefined; /** * Gets the current platform's accent color */ export declare function getPlatformAccentColor(platform?: Platform): string; /** * Gets the current platform from environment or DOM */ export declare function getCurrentPlatform(): Platform; /** * Switches the platform theme by updating CSS custom properties */ export declare function switchPlatformTheme(platform: Platform): void; /** * Gets a semantic color value for the current platform */ export declare function getSemanticColor(semanticName: string, platform?: Platform): string | undefined; /** * Converts an ODS token to its corresponding Tailwind class */ export declare function tokenToTailwindClass(tokenKey: string, type?: 'bg' | 'text' | 'border'): string | undefined; /** * Gets all available ODS tokens for a category */ export declare function getTokensByCategory(category: ColorCategory): Record; /** * Validates if a color token exists in the ODS system */ export declare function isValidODSToken(tokenKey: string): boolean; /** * Gets the platform configuration for theming */ export declare function getPlatformConfig(platform?: Platform): { platform: Platform; accentColor: string; isDarkTheme: boolean; isLightTheme: boolean; brandName: string; }; /** * Generates CSS custom property declarations for a platform */ export declare function generatePlatformCSS(platform: Platform): string; /** * Applies a color token as a CSS custom property */ export declare function applyColorToken(element: HTMLElement, property: string, tokenKey: string): void; /** * Creates a color interpolation between two ODS tokens */ export declare function interpolateColors(startToken: string, endToken: string, progress: number): string; /** * Hook for React components to use platform-aware colors */ export declare function usePlatformColors(platform?: Platform): { platform: Platform; accentColor: string; isDarkTheme: boolean; isLightTheme: boolean; brandName: string; getToken: (category: ColorCategory, color: string, variant?: ColorVariant) => string | undefined; switchTheme: (newPlatform: Platform) => void; getSemanticColor: (semanticName: string) => string | undefined; }; /** * Picks a near-black or near-white text color with adequate contrast on `hex`. * Thin wrapper over `pickReadableTextColor` (color-analysis.ts) — ONE * light-or-dark decision formula (WCAG relative luminance) for the whole lib. */ export declare function getReadableTextColor(hex: string): string; export declare const HEX_PATTERN: RegExp; export declare function hexToRgb(hex: string): { r: number; g: number; b: number; } | null; export declare function rgbToHex(r: number, g: number, b: number): string; export declare function deriveHoverColor(hex: string): string; export declare function deriveActiveColor(hex: string): string; export declare function rgbToHsl(r: number, g: number, b: number): { h: number; s: number; l: number; }; export declare function hslToRgb(h: number, s: number, l: number): { r: number; g: number; b: number; }; declare const _default: { getODSToken: typeof getODSToken; getPlatformAccentColor: typeof getPlatformAccentColor; getCurrentPlatform: typeof getCurrentPlatform; switchPlatformTheme: typeof switchPlatformTheme; getSemanticColor: typeof getSemanticColor; tokenToTailwindClass: typeof tokenToTailwindClass; getTokensByCategory: typeof getTokensByCategory; isValidODSToken: typeof isValidODSToken; getPlatformConfig: typeof getPlatformConfig; generatePlatformCSS: typeof generatePlatformCSS; applyColorToken: typeof applyColorToken; interpolateColors: typeof interpolateColors; usePlatformColors: typeof usePlatformColors; }; export default _default; //# sourceMappingURL=ods-color-utils.d.ts.map