@aurora-ds/theme 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/styles/styleEngine.ts","../src/providers/ThemeProvider.tsx","../src/utils/theme/createTheme.ts","../src/utils/theme/colors/gray.ts","../src/utils/theme/colors/slate.ts","../src/utils/theme/colors/stone.ts","../src/utils/theme/colors/red.ts","../src/utils/theme/colors/orange.ts","../src/utils/theme/colors/amber.ts","../src/utils/theme/colors/yellow.ts","../src/utils/theme/colors/lime.ts","../src/utils/theme/colors/green.ts","../src/utils/theme/colors/emerald.ts","../src/utils/theme/colors/teal.ts","../src/utils/theme/colors/cyan.ts","../src/utils/theme/colors/sky.ts","../src/utils/theme/colors/blue.ts","../src/utils/theme/colors/indigo.ts","../src/utils/theme/colors/violet.ts","../src/utils/theme/colors/purple.ts","../src/utils/theme/colors/fuchsia.ts","../src/utils/theme/colors/pink.ts","../src/utils/theme/colors/rose.ts","../src/utils/theme/colors/index.ts","../src/utils/theme/palettes/shared.ts","../src/utils/theme/palettes/indigo.ts","../src/utils/theme/palettes/blue.ts","../src/utils/theme/palettes/rose.ts","../src/utils/theme/palettes/emerald.ts","../src/utils/theme/palettes/teal.ts","../src/utils/theme/palettes/violet.ts","../src/utils/theme/palettes/amber.ts","../src/utils/theme/palettes/cyan.ts","../src/utils/theme/palettes/slate.ts","../src/utils/theme/palettes/gray.ts","../src/utils/theme/palettes/index.ts","../src/utils/theme/defaultTheme.ts","../src/utils/styles/createStyles.ts","../src/utils/styles/keyframes.ts","../src/utils/styles/fontFace.ts","../src/utils/styles/cssVariables.ts","../src/utils/styles/ssr.ts"],"names":["IS_SERVER","themeContextGetter","styleSheet","ssrRules","cssKeyCache","staticStyleCache","usedClassNames","injectedKeyframes","injectedFontFaces","keyframeCounter","UNITLESS_PROPERTIES","MAX_CACHE_SIZE","existingStyle","style","setThemeContextGetter","getter","previous","getTheme","insertRule","rule","toKebabCase","key","cached","toKebabCaseClassName","name","CSS_INJECTION_PATTERNS","sanitizeCssValue","value","cleaned","__DEV__","toCssValue","objectToCss","obj","parts","createCacheKey","args","len","result","i","arg","t","cacheKeyToSuffix","hash","createLRUCache","maxSize","cache","factory","existing","firstKey","hashStyles","styles","str","hashString","getUniqueClassName","baseName","counter","generateCssClass","className","useCache","uniqueName","baseParts","specialRules","firstChar","innerCss","resolvedSelector","hasKeyframes","css","addKeyframes","getNextKeyframeId","hasFontFace","addFontFace","getSSRRulesInternal","resetState","ThemeContext","createContext","ThemeProvider","theme","children","previousGetter","useLayoutEffect","jsx","useTheme","useContext","hashObject","themeCache","MAX_THEME_CACHE_SIZE","deepMerge","target","source","sourceValue","targetValue","createTheme","baseTheme","overrides","cacheKey","mergeThemes","acc","override","createThemeVariant","variantOverrides","gray","slate","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","white","black","transparent","current","colors","neutralLight","neutralDark","indigoLight","indigoDark","blueLight","blueDark","roseLight","roseDark","emeraldLight","emeraldDark","tealLight","tealDark","violetLight","violetDark","amberLight","amberDark","cyanLight","cyanDark","slateLight","slateDark","grayLight","grayDark","palettes","defaultSpacing","defaultRadius","defaultShadows","defaultFontSize","defaultFontWeight","defaultLineHeight","defaultZIndex","defaultTransition","defaultColors","defaultDarkColors","defaultTheme","defaultDarkTheme","getComponentNameFromStack","stack","match","fileMatch","processStyles","componentName","classes","lru","resolved","createStyles","stylesOrCreator","lastTheme","_","prop","keyframes","frames","fontFace","options","fontFamily","src","fontStyle","fontWeight","fontDisplay","unicodeRange","generateCssVariables","prefix","varName","injectCssVariables","variables","cssVar","path","fallback","cssVariables","inject","cssToInject","kebabKey","getSSRStyles","getSSRStyleTag","clearSSRRules","getSSRRulesArray"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n// Environment detection (constant since it never changes)\r\nconst IS_SERVER = typeof document === 'undefined'\r\n\r\n// Global theme getter\r\nlet themeContextGetter: (() => Theme | undefined) | null = null\r\n\r\n// Stylesheet for client-side injection\r\nlet styleSheet: CSSStyleSheet | null = null\r\n\r\n// SSR buffer to collect server-side rules\r\nlet ssrRules: string[] = []\r\n\r\n// Cache for camelCase → kebab-case conversion (pre-allocated for common keys)\r\nconst cssKeyCache = new Map<string, string>([\r\n ['backgroundColor', 'background-color'],\r\n ['borderRadius', 'border-radius'],\r\n ['fontSize', 'font-size'],\r\n ['fontWeight', 'font-weight'],\r\n ['lineHeight', 'line-height'],\r\n ['marginTop', 'margin-top'],\r\n ['marginBottom', 'margin-bottom'],\r\n ['marginLeft', 'margin-left'],\r\n ['marginRight', 'margin-right'],\r\n ['paddingTop', 'padding-top'],\r\n ['paddingBottom', 'padding-bottom'],\r\n ['paddingLeft', 'padding-left'],\r\n ['paddingRight', 'padding-right'],\r\n ['textAlign', 'text-align'],\r\n ['justifyContent', 'justify-content'],\r\n ['alignItems', 'align-items'],\r\n ['flexDirection', 'flex-direction'],\r\n ['flexWrap', 'flex-wrap'],\r\n ['boxShadow', 'box-shadow'],\r\n ['zIndex', 'z-index'],\r\n])\r\n\r\n// Global cache for static styles (avoids regenerating the same styles)\r\nconst staticStyleCache = new Map<string, string>()\r\n\r\n// Set to track already used class names\r\nconst usedClassNames = new Set<string>()\r\n\r\n// Set to track already injected keyframes\r\nconst injectedKeyframes = new Set<string>()\r\n\r\n// Set to track already injected font-faces\r\nconst injectedFontFaces = new Set<string>()\r\n\r\n// Counter for unique keyframe names generation\r\nlet keyframeCounter = 0\r\n\r\n// Properties that accept unitless numbers (optimized Set)\r\nconst UNITLESS_PROPERTIES = new Set([\r\n 'animationIterationCount', 'columnCount', 'fillOpacity', 'flexGrow', 'flexShrink',\r\n 'fontWeight', 'lineHeight', 'opacity', 'order', 'orphans', 'widows', 'zIndex', 'zoom'\r\n])\r\n\r\n// Max LRU cache size for dynamic styles\r\nexport const MAX_CACHE_SIZE = 100\r\n\r\n// Initialize stylesheet (client-side only)\r\nif (!IS_SERVER) {\r\n const existingStyle = document.getElementById('aurora-styles') as HTMLStyleElement | null\r\n if (existingStyle) {\r\n styleSheet = existingStyle.sheet as CSSStyleSheet\r\n } else {\r\n const style = document.createElement('style')\r\n style.id = 'aurora-styles'\r\n document.head.appendChild(style)\r\n styleSheet = style.sheet as CSSStyleSheet\r\n }\r\n}\r\n\r\n/**\r\n * Set the theme getter\r\n */\r\nexport const setThemeContextGetter = (getter: (() => Theme | undefined) | null): (() => Theme | undefined) | null => {\r\n const previous = themeContextGetter\r\n themeContextGetter = getter\r\n return previous\r\n}\r\n\r\n/**\r\n * Get the current theme\r\n */\r\nexport const getTheme = (): Theme | undefined => {\r\n return themeContextGetter?.()\r\n}\r\n\r\n/**\r\n * Insert a CSS rule\r\n */\r\nexport const insertRule = (rule: string): void => {\r\n if (IS_SERVER) {\r\n ssrRules.push(rule)\r\n } else if (styleSheet) {\r\n try {\r\n styleSheet.insertRule(rule, styleSheet.cssRules.length)\r\n } catch {\r\n // Ignore errors (invalid rules)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Convert camelCase to kebab-case with caching\r\n */\r\nexport const toKebabCase = (key: string): string => {\r\n let cached = cssKeyCache.get(key)\r\n if (!cached) {\r\n cached = key.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n cssKeyCache.set(key, cached)\r\n }\r\n return cached\r\n}\r\n\r\n/**\r\n * Convert PascalCase/camelCase to kebab-case for class names\r\n */\r\nexport const toKebabCaseClassName = (name: string): string => {\r\n return name\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\r\n .toLowerCase()\r\n}\r\n\r\n/**\r\n * Dangerous patterns that could be used for CSS injection attacks\r\n * - expression(): IE-specific, allows JavaScript execution\r\n * - url() with javascript:/data:: can execute scripts or embed malicious content\r\n * - behavior: IE-specific, loads external HTC files\r\n * - -moz-binding: Firefox-specific, loads XBL files\r\n * - @import: could load external malicious stylesheets\r\n * - </style>: could break out of style context\r\n */\r\nconst CSS_INJECTION_PATTERNS = /expression\\s*\\(|javascript\\s*:|data\\s*:\\s*text\\/html|behavior\\s*:|@import|<\\s*\\/?\\s*style/i\r\n\r\n/**\r\n * Sanitize a CSS value to prevent injection attacks\r\n * Returns the sanitized value or 'unset' if the value is dangerous\r\n */\r\nexport const sanitizeCssValue = (value: string): string => {\r\n // Remove any null bytes\r\n const cleaned = value.replace(/\\0/g, '')\r\n\r\n // Check for dangerous patterns\r\n if (CSS_INJECTION_PATTERNS.test(cleaned)) {\r\n if (__DEV__) {\r\n console.warn(`[Aurora] Potentially dangerous CSS value blocked: \"${value.slice(0, 50)}...\"`)\r\n }\r\n return 'unset'\r\n }\r\n\r\n return cleaned\r\n}\r\n\r\n// Development mode flag (will be tree-shaken in production)\r\nconst __DEV__ = typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production'\r\n\r\n/**\r\n * Convert values to valid CSS with sanitization\r\n */\r\nexport const toCssValue = (key: string, value: unknown): string => {\r\n if (typeof value === 'number' && !UNITLESS_PROPERTIES.has(key)) {\r\n return `${value}px`\r\n }\r\n return sanitizeCssValue(String(value))\r\n}\r\n\r\n/**\r\n * Convert a styles object to CSS (simple properties only)\r\n * Optimized to avoid unnecessary allocations\r\n */\r\nexport const objectToCss = (obj: Record<string, unknown>): string => {\r\n const parts: string[] = []\r\n for (const key in obj) {\r\n const value = obj[key]\r\n if (value != null && typeof value !== 'object') {\r\n parts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n return parts.join(';') + (parts.length ? ';' : '')\r\n}\r\n\r\n/**\r\n * Convert an & selector to a valid CSS selector\r\n */\r\nexport const resolveAmpersandSelector = (selector: string, className: string): string => {\r\n return selector.replace(/&/g, `.${className}`)\r\n}\r\n\r\n/**\r\n * Create a cache key from arguments\r\n */\r\nexport const createCacheKey = (args: unknown[]): string => {\r\n const len = args.length\r\n if (len <= 4) {\r\n let result = ''\r\n for (let i = 0; i < len; i++) {\r\n const arg = args[i]\r\n const t = typeof arg\r\n if (arg === undefined) {\r\n result += i ? '|u' : 'u'\r\n } else if (arg === null) {\r\n result += i ? '|n' : 'n'\r\n } else if (t === 'string' || t === 'number' || t === 'boolean') {\r\n result += i ? '|' + arg : String(arg)\r\n } else {\r\n return JSON.stringify(args)\r\n }\r\n }\r\n return result\r\n }\r\n return JSON.stringify(args)\r\n}\r\n\r\n/**\r\n * Convert cacheKey to a valid CSS suffix\r\n */\r\nexport const cacheKeyToSuffix = (key: string): string => {\r\n if (key === 'true' || key === 'false' || /^-?\\d+$/.test(key)) {\r\n return key\r\n }\r\n if (/^[a-z][a-z0-9]*$/i.test(key)) {\r\n return toKebabCaseClassName(key)\r\n }\r\n let hash = 5381\r\n for (let i = 0; i < key.length; i++) {\r\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Optimized LRU cache with O(1) deletion\r\n */\r\nexport const createLRUCache = <V>(maxSize: number): { getOrSet: (key: string, factory: () => V) => V } => {\r\n const cache = new Map<string, V>()\r\n return {\r\n getOrSet(key: string, factory: () => V): V {\r\n const existing = cache.get(key)\r\n if (existing !== undefined) {\r\n // Move to end (most recent) - O(1) with Map\r\n cache.delete(key)\r\n cache.set(key, existing)\r\n return existing\r\n }\r\n const value = factory()\r\n if (cache.size >= maxSize) {\r\n // Remove oldest (first element)\r\n const firstKey = cache.keys().next().value\r\n if (firstKey !== undefined) { cache.delete(firstKey) }\r\n }\r\n cache.set(key, value)\r\n return value\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Hash for static styles cache\r\n */\r\nexport const hashStyles = (styles: StyleWithPseudos): string => {\r\n const str = JSON.stringify(styles)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Generic hash for a string\r\n */\r\nexport const hashString = (str: string): string => {\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Get a unique class name\r\n */\r\nexport const getUniqueClassName = (baseName: string): string => {\r\n if (!usedClassNames.has(baseName)) {\r\n usedClassNames.add(baseName)\r\n return baseName\r\n }\r\n let counter = 2\r\n let name = `${baseName}-${counter}`\r\n while (usedClassNames.has(name)) {\r\n name = `${baseName}-${++counter}`\r\n }\r\n usedClassNames.add(name)\r\n return name\r\n}\r\n\r\n/**\r\n * Generate a CSS class with support for complex selectors\r\n * Optimized to minimize allocations and iterations\r\n */\r\nexport const generateCssClass = (styles: StyleWithPseudos, className: string, useCache = false): string => {\r\n if (useCache) {\r\n const hash = hashStyles(styles)\r\n const cached = staticStyleCache.get(hash)\r\n if (cached) { return cached }\r\n }\r\n\r\n const uniqueName = getUniqueClassName(className)\r\n const baseParts: string[] = []\r\n const specialRules: string[] = []\r\n\r\n for (const key in styles) {\r\n const value = (styles as Record<string, unknown>)[key]\r\n const firstChar = key[0]\r\n\r\n if (firstChar === '@') {\r\n // @media, @container, @supports\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`${key}{.${uniqueName}{${innerCss}}}`)\r\n }\r\n } else if (firstChar === '&') {\r\n // Complex selectors (& > div, &:nth-child, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n const resolvedSelector = key.replace(/&/g, `.${uniqueName}`)\r\n specialRules.push(`${resolvedSelector}{${innerCss}}`)\r\n }\r\n } else if (firstChar === ':') {\r\n // Pseudo-classes (:hover, :focus, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`.${uniqueName}${key}{${innerCss}}`)\r\n }\r\n } else if (value != null && typeof value !== 'object') {\r\n // Simple CSS properties\r\n baseParts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n\r\n // Inject rules\r\n if (baseParts.length) {\r\n insertRule(`.${uniqueName}{${baseParts.join(';')}}`)\r\n }\r\n for (const rule of specialRules) {\r\n insertRule(rule)\r\n }\r\n\r\n if (useCache) {\r\n staticStyleCache.set(hashStyles(styles), uniqueName)\r\n }\r\n\r\n return uniqueName\r\n}\r\n\r\n/**\r\n * Check if a keyframe already exists\r\n */\r\nexport const hasKeyframes = (css: string): boolean => {\r\n return injectedKeyframes.has(css)\r\n}\r\n\r\n/**\r\n * Add a keyframe to the registry\r\n */\r\nexport const addKeyframes = (css: string): void => {\r\n injectedKeyframes.add(css)\r\n}\r\n\r\n/**\r\n * Get the next keyframe ID\r\n */\r\nexport const getNextKeyframeId = (): string => {\r\n return (++keyframeCounter).toString(36)\r\n}\r\n\r\n/**\r\n * Check if a font-face already exists\r\n */\r\nexport const hasFontFace = (css: string): boolean => {\r\n return injectedFontFaces.has(css)\r\n}\r\n\r\n/**\r\n * Add a font-face to the registry\r\n */\r\nexport const addFontFace = (css: string): void => {\r\n injectedFontFaces.add(css)\r\n}\r\n\r\n/**\r\n * Get SSR rules\r\n */\r\nexport const getSSRRulesInternal = (): string[] => {\r\n return ssrRules\r\n}\r\n\r\n/**\r\n * Reset SSR state\r\n */\r\nexport const resetState = (): void => {\r\n ssrRules = []\r\n staticStyleCache.clear()\r\n usedClassNames.clear()\r\n injectedKeyframes.clear()\r\n injectedFontFaces.clear()\r\n keyframeCounter = 0\r\n}\r\n\r\n","import { createContext, useContext, useLayoutEffect, type ReactNode } from 'react'\r\n\r\nimport { setThemeContextGetter } from '@/utils/styles/styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\nconst ThemeContext = createContext<Theme | undefined>(undefined)\r\n\r\nexport type ThemeProviderProps<T extends Theme = Theme> = {\r\n theme: T\r\n children?: ReactNode\r\n}\r\n\r\n/**\r\n * Theme provider component\r\n * Provides theme context to all child components\r\n *\r\n * @example\r\n * ```tsx\r\n * // With default theme\r\n * <ThemeProvider theme={defaultTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n *\r\n * // With custom extended theme\r\n * <ThemeProvider theme={myCustomTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n */\r\nexport const ThemeProvider = <T extends Theme>({\r\n theme,\r\n children\r\n}: ThemeProviderProps<T>) => {\r\n const previousGetter = setThemeContextGetter(() => theme)\r\n\r\n useLayoutEffect(() => {\r\n return () => {\r\n setThemeContextGetter(previousGetter)\r\n }\r\n }, [previousGetter])\r\n\r\n return (\r\n <ThemeContext.Provider value={theme}>\r\n {children}\r\n </ThemeContext.Provider>\r\n )\r\n}\r\n\r\n/**\r\n * Hook to access the current theme\r\n * Use the generic parameter to get proper typing for extended themes\r\n *\r\n * @example\r\n * ```tsx\r\n * // Basic usage\r\n * const theme = useTheme()\r\n *\r\n * // With custom theme type\r\n * const theme = useTheme<MyCustomTheme>()\r\n * ```\r\n *\r\n * @throws {Error} If used outside a ThemeProvider\r\n */\r\nexport const useTheme = <T extends Theme = Theme>(): T => {\r\n const theme = useContext(ThemeContext)\r\n\r\n if (!theme) {\r\n throw new Error('useTheme must be used within a ThemeProvider')\r\n }\r\n\r\n return theme as T\r\n}\r\n\r\n","import type { Theme, DeepPartial } from '@/types'\r\n\r\n/**\r\n * Simple hash function for objects (djb2)\r\n */\r\nconst hashObject = (obj: unknown): string => {\r\n const str = JSON.stringify(obj)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Memoization cache for createTheme\r\n */\r\nconst themeCache = new Map<string, Theme>()\r\n\r\n/**\r\n * Maximum number of themes to cache before eviction\r\n */\r\nexport const MAX_THEME_CACHE_SIZE = 50\r\n\r\n/**\r\n * Clear the theme cache (useful for testing)\r\n */\r\nexport const clearThemeCache = (): void => {\r\n themeCache.clear()\r\n}\r\n\r\n/**\r\n * Get the current theme cache size (useful for testing)\r\n */\r\nexport const getThemeCacheSize = (): number => {\r\n return themeCache.size\r\n}\r\n\r\n/**\r\n * Deep merge two objects\r\n */\r\nconst deepMerge = <T extends Record<string, unknown>>(target: T, source: DeepPartial<T>): T => {\r\n const result = { ...target }\r\n\r\n for (const key in source) {\r\n const sourceValue = source[key]\r\n const targetValue = target[key]\r\n\r\n if (\r\n sourceValue !== undefined &&\r\n typeof sourceValue === 'object' &&\r\n sourceValue !== null &&\r\n !Array.isArray(sourceValue) &&\r\n typeof targetValue === 'object' &&\r\n targetValue !== null\r\n ) {\r\n result[key] = deepMerge(\r\n targetValue as Record<string, unknown>,\r\n sourceValue as DeepPartial<Record<string, unknown>>\r\n ) as T[Extract<keyof T, string>]\r\n } else if (sourceValue !== undefined) {\r\n result[key] = sourceValue as T[Extract<keyof T, string>]\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * Create a theme by merging a base theme with overrides\r\n *\r\n * @example\r\n * ```ts\r\n * const myTheme = createTheme(defaultTheme, {\r\n * colors: {\r\n * primary: '#ff0000',\r\n * // Only override what you need\r\n * },\r\n * spacing: {\r\n * md: '1.5rem',\r\n * },\r\n * })\r\n * ```\r\n */\r\nexport const createTheme = <T extends Theme>(\r\n baseTheme: T,\r\n overrides: DeepPartial<T>\r\n): T => {\r\n // Create cache key from base theme reference + overrides hash\r\n const cacheKey = `${hashObject(baseTheme)}_${hashObject(overrides)}`\r\n\r\n const cached = themeCache.get(cacheKey)\r\n if (cached) {\r\n return cached as T\r\n }\r\n\r\n const result = deepMerge(baseTheme, overrides)\r\n\r\n // Evict oldest if cache is full\r\n if (themeCache.size >= MAX_THEME_CACHE_SIZE) {\r\n const firstKey = themeCache.keys().next().value\r\n if (firstKey) {themeCache.delete(firstKey)}\r\n }\r\n\r\n themeCache.set(cacheKey, result)\r\n return result\r\n}\r\n\r\n/**\r\n * Merge multiple theme overrides into one\r\n * Later overrides take precedence\r\n *\r\n * @example\r\n * ```ts\r\n * const theme = mergeThemes(\r\n * baseTheme,\r\n * brandOverrides,\r\n * darkModeOverrides,\r\n * userPreferences\r\n * )\r\n * ```\r\n */\r\nexport const mergeThemes = <T extends Theme>(\r\n baseTheme: T,\r\n ...overrides: DeepPartial<T>[]\r\n): T => {\r\n return overrides.reduce<T>(\r\n (acc, override) => deepMerge(acc, override),\r\n baseTheme\r\n )\r\n}\r\n\r\n/**\r\n * Create a theme extension factory\r\n * Useful for creating theme variants (dark mode, high contrast, etc.)\r\n *\r\n * @example\r\n * ```ts\r\n * const createDarkVariant = createThemeVariant({\r\n * colors: {\r\n * background: '#1a1a1a',\r\n * text: '#ffffff',\r\n * },\r\n * })\r\n *\r\n * const darkTheme = createDarkVariant(lightTheme)\r\n * ```\r\n */\r\nexport const createThemeVariant = <T extends Theme>(\r\n variantOverrides: DeepPartial<T>\r\n) => {\r\n return (baseTheme: T): T => createTheme(baseTheme, variantOverrides)\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const gray: ColorScale = {\r\n 25: '#fcfcfc',\r\n 50: '#fafafa',\r\n 100: '#f4f4f5',\r\n 200: '#e4e4e7',\r\n 300: '#d4d4d8',\r\n 400: '#a1a1aa',\r\n 500: '#71717a',\r\n 600: '#52525b',\r\n 700: '#3f3f46',\r\n 800: '#27272a',\r\n 900: '#18181b',\r\n 950: '#09090b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const slate: ColorScale = {\r\n 25: '#fcfcfd',\r\n 50: '#f8fafc',\r\n 100: '#f1f5f9',\r\n 200: '#e2e8f0',\r\n 300: '#cbd5e1',\r\n 400: '#94a3b8',\r\n 500: '#64748b',\r\n 600: '#475569',\r\n 700: '#334155',\r\n 800: '#1e293b',\r\n 900: '#0f172a',\r\n 950: '#020617',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const stone: ColorScale = {\r\n 25: '#fcfcfb',\r\n 50: '#fafaf9',\r\n 100: '#f5f5f4',\r\n 200: '#e7e5e4',\r\n 300: '#d6d3d1',\r\n 400: '#a8a29e',\r\n 500: '#78716c',\r\n 600: '#57534e',\r\n 700: '#44403c',\r\n 800: '#292524',\r\n 900: '#1c1917',\r\n 950: '#0c0a09',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const red: ColorScale = {\r\n 25: '#fffbfb',\r\n 50: '#fef2f2',\r\n 100: '#fee2e2',\r\n 200: '#fecaca',\r\n 300: '#fca5a5',\r\n 400: '#f87171',\r\n 500: '#ef4444',\r\n 600: '#dc2626',\r\n 700: '#b91c1c',\r\n 800: '#991b1b',\r\n 900: '#7f1d1d',\r\n 950: '#450a0a',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const orange: ColorScale = {\r\n 25: '#fffcfa',\r\n 50: '#fff7ed',\r\n 100: '#ffedd5',\r\n 200: '#fed7aa',\r\n 300: '#fdba74',\r\n 400: '#fb923c',\r\n 500: '#f97316',\r\n 600: '#ea580c',\r\n 700: '#c2410c',\r\n 800: '#9a3412',\r\n 900: '#7c2d12',\r\n 950: '#431407',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const amber: ColorScale = {\r\n 25: '#fffdfb',\r\n 50: '#fffbeb',\r\n 100: '#fef3c7',\r\n 200: '#fde68a',\r\n 300: '#fcd34d',\r\n 400: '#fbbf24',\r\n 500: '#f59e0b',\r\n 600: '#d97706',\r\n 700: '#b45309',\r\n 800: '#92400e',\r\n 900: '#78350f',\r\n 950: '#451a03',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const yellow: ColorScale = {\r\n 25: '#fefef9',\r\n 50: '#fefce8',\r\n 100: '#fef9c3',\r\n 200: '#fef08a',\r\n 300: '#fde047',\r\n 400: '#facc15',\r\n 500: '#eab308',\r\n 600: '#ca8a04',\r\n 700: '#a16207',\r\n 800: '#854d0e',\r\n 900: '#713f12',\r\n 950: '#422006',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const lime: ColorScale = {\r\n 25: '#fbfef8',\r\n 50: '#f7fee7',\r\n 100: '#ecfccb',\r\n 200: '#d9f99d',\r\n 300: '#bef264',\r\n 400: '#a3e635',\r\n 500: '#84cc16',\r\n 600: '#65a30d',\r\n 700: '#4d7c0f',\r\n 800: '#3f6212',\r\n 900: '#365314',\r\n 950: '#1a2e05',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const green: ColorScale = {\r\n 25: '#f6fef9',\r\n 50: '#f0fdf4',\r\n 100: '#dcfce7',\r\n 200: '#bbf7d0',\r\n 300: '#86efac',\r\n 400: '#4ade80',\r\n 500: '#22c55e',\r\n 600: '#16a34a',\r\n 700: '#15803d',\r\n 800: '#166534',\r\n 900: '#14532d',\r\n 950: '#052e16',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const emerald: ColorScale = {\r\n 25: '#f5fefc',\r\n 50: '#ecfdf5',\r\n 100: '#d1fae5',\r\n 200: '#a7f3d0',\r\n 300: '#6ee7b7',\r\n 400: '#34d399',\r\n 500: '#10b981',\r\n 600: '#059669',\r\n 700: '#047857',\r\n 800: '#065f46',\r\n 900: '#064e3b',\r\n 950: '#022c22',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const teal: ColorScale = {\r\n 25: '#f4fefe',\r\n 50: '#f0fdfa',\r\n 100: '#ccfbf1',\r\n 200: '#99f6e4',\r\n 300: '#5eead4',\r\n 400: '#2dd4bf',\r\n 500: '#14b8a6',\r\n 600: '#0d9488',\r\n 700: '#0f766e',\r\n 800: '#115e59',\r\n 900: '#134e4a',\r\n 950: '#042f2e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const cyan: ColorScale = {\r\n 25: '#f3fefe',\r\n 50: '#ecfeff',\r\n 100: '#cffafe',\r\n 200: '#a5f3fc',\r\n 300: '#67e8f9',\r\n 400: '#22d3ee',\r\n 500: '#06b6d4',\r\n 600: '#0891b2',\r\n 700: '#0e7490',\r\n 800: '#155e75',\r\n 900: '#164e63',\r\n 950: '#083344',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const sky: ColorScale = {\r\n 25: '#f5faff',\r\n 50: '#f0f9ff',\r\n 100: '#e0f2fe',\r\n 200: '#bae6fd',\r\n 300: '#7dd3fc',\r\n 400: '#38bdf8',\r\n 500: '#0ea5e9',\r\n 600: '#0284c7',\r\n 700: '#0369a1',\r\n 800: '#075985',\r\n 900: '#0c4a6e',\r\n 950: '#082f49',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const blue: ColorScale = {\r\n 25: '#f5f8ff',\r\n 50: '#eff6ff',\r\n 100: '#dbeafe',\r\n 200: '#bfdbfe',\r\n 300: '#93c5fd',\r\n 400: '#60a5fa',\r\n 500: '#3b82f6',\r\n 600: '#2563eb',\r\n 700: '#1d4ed8',\r\n 800: '#1e40af',\r\n 900: '#1e3a8a',\r\n 950: '#172554',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const indigo: ColorScale = {\r\n 25: '#f5f7ff',\r\n 50: '#eef2ff',\r\n 100: '#e0e7ff',\r\n 200: '#c7d2fe',\r\n 300: '#a5b4fc',\r\n 400: '#818cf8',\r\n 500: '#6366f1',\r\n 600: '#4f46e5',\r\n 700: '#4338ca',\r\n 800: '#3730a3',\r\n 900: '#312e81',\r\n 950: '#1e1b4b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const violet: ColorScale = {\r\n 25: '#f8f5ff',\r\n 50: '#f5f3ff',\r\n 100: '#ede9fe',\r\n 200: '#ddd6fe',\r\n 300: '#c4b5fd',\r\n 400: '#a78bfa',\r\n 500: '#8b5cf6',\r\n 600: '#7c3aed',\r\n 700: '#6d28d9',\r\n 800: '#5b21b6',\r\n 900: '#4c1d95',\r\n 950: '#2e1065',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const purple: ColorScale = {\r\n 25: '#faf5ff',\r\n 50: '#faf5ff',\r\n 100: '#f3e8ff',\r\n 200: '#e9d5ff',\r\n 300: '#d8b4fe',\r\n 400: '#c084fc',\r\n 500: '#a855f7',\r\n 600: '#9333ea',\r\n 700: '#7e22ce',\r\n 800: '#6b21a8',\r\n 900: '#581c87',\r\n 950: '#3b0764',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const fuchsia: ColorScale = {\r\n 25: '#fef5ff',\r\n 50: '#fdf4ff',\r\n 100: '#fae8ff',\r\n 200: '#f5d0fe',\r\n 300: '#f0abfc',\r\n 400: '#e879f9',\r\n 500: '#d946ef',\r\n 600: '#c026d3',\r\n 700: '#a21caf',\r\n 800: '#86198f',\r\n 900: '#701a75',\r\n 950: '#4a044e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const pink: ColorScale = {\r\n 25: '#fef5f9',\r\n 50: '#fdf2f8',\r\n 100: '#fce7f3',\r\n 200: '#fbcfe8',\r\n 300: '#f9a8d4',\r\n 400: '#f472b6',\r\n 500: '#ec4899',\r\n 600: '#db2777',\r\n 700: '#be185d',\r\n 800: '#9d174d',\r\n 900: '#831843',\r\n 950: '#500724',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const rose: ColorScale = {\r\n 25: '#fff5f6',\r\n 50: '#fff1f2',\r\n 100: '#ffe4e6',\r\n 200: '#fecdd3',\r\n 300: '#fda4af',\r\n 400: '#fb7185',\r\n 500: '#f43f5e',\r\n 600: '#e11d48',\r\n 700: '#be123c',\r\n 800: '#9f1239',\r\n 900: '#881337',\r\n 950: '#4c0519',\r\n}\r\n\r\n","/**\r\n * Color Scales - Modern color palettes with shades from 25 to 950\r\n *\r\n * @example\r\n * ```ts\r\n * import { colors, indigo, emerald } from '@aurora-ui/theme'\r\n *\r\n * colors.indigo[500] // '#6366f1'\r\n * emerald[400] // '#34d399'\r\n * ```\r\n */\r\n\r\n// Neutrals\r\nexport { gray } from './gray'\r\nexport { slate } from './slate'\r\nexport { stone } from './stone'\r\n\r\n// Colors\r\nexport { red } from './red'\r\nexport { orange } from './orange'\r\nexport { amber } from './amber'\r\nexport { yellow } from './yellow'\r\nexport { lime } from './lime'\r\nexport { green } from './green'\r\nexport { emerald } from './emerald'\r\nexport { teal } from './teal'\r\nexport { cyan } from './cyan'\r\nexport { sky } from './sky'\r\nexport { blue } from './blue'\r\nexport { indigo } from './indigo'\r\nexport { violet } from './violet'\r\nexport { purple } from './purple'\r\nexport { fuchsia } from './fuchsia'\r\nexport { pink } from './pink'\r\nexport { rose } from './rose'\r\n\r\n// Special values\r\nexport const white = '#ffffff'\r\nexport const black = '#000000'\r\nexport const transparent = 'transparent'\r\nexport const current = 'currentColor'\r\n\r\n// Import all for the colors object\r\nimport { amber } from './amber'\r\nimport { blue } from './blue'\r\nimport { cyan } from './cyan'\r\nimport { emerald } from './emerald'\r\nimport { fuchsia } from './fuchsia'\r\nimport { gray } from './gray'\r\nimport { green } from './green'\r\nimport { indigo } from './indigo'\r\nimport { lime } from './lime'\r\nimport { orange } from './orange'\r\nimport { pink } from './pink'\r\nimport { purple } from './purple'\r\nimport { red } from './red'\r\nimport { rose } from './rose'\r\nimport { sky } from './sky'\r\nimport { slate } from './slate'\r\nimport { stone } from './stone'\r\nimport { teal } from './teal'\r\nimport { violet } from './violet'\r\nimport { yellow } from './yellow'\r\n\r\n/**\r\n * All color scales organized by name\r\n */\r\nexport const colors = {\r\n // Neutrals\r\n gray,\r\n slate,\r\n stone,\r\n // Colors\r\n red,\r\n orange,\r\n amber,\r\n yellow,\r\n lime,\r\n green,\r\n emerald,\r\n teal,\r\n cyan,\r\n sky,\r\n blue,\r\n indigo,\r\n violet,\r\n purple,\r\n fuchsia,\r\n pink,\r\n rose,\r\n // Special\r\n white: '#ffffff',\r\n black: '#000000',\r\n transparent: 'transparent',\r\n current: 'currentColor',\r\n} as const\r\n\r\n","import { slate, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Shared neutral colors for light themes\r\n * Follows WCAG AA contrast guidelines with slate palette\r\n */\r\nexport const neutralLight: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: slate[50],\r\n surface: white,\r\n surfaceHover: slate[200],\r\n surfaceActive: slate[300],\r\n elevated: white,\r\n overlay: 'rgba(15, 23, 42, 0.6)',\r\n text: slate[800],\r\n textSecondary: slate[500],\r\n textTertiary: slate[400],\r\n textInverse: white,\r\n border: slate[200],\r\n borderHover: slate[300],\r\n borderSubtle: slate[100],\r\n disabled: slate[300],\r\n disabledText: slate[400],\r\n}\r\n\r\n/**\r\n * Shared neutral colors for dark themes\r\n * Follows WCAG AA contrast guidelines with slate palette\r\n */\r\nexport const neutralDark: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: slate[950],\r\n surface: slate[900],\r\n surfaceHover: slate[800],\r\n surfaceActive: slate[700],\r\n elevated: slate[800],\r\n overlay: 'rgba(0, 0, 0, 0.8)',\r\n text: slate[50],\r\n textSecondary: slate[400],\r\n textTertiary: slate[500],\r\n textInverse: slate[900],\r\n border: slate[800],\r\n borderHover: slate[700],\r\n borderSubtle: slate[900],\r\n disabled: slate[700],\r\n disabledText: slate[500],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { indigo, cyan, slate, green, red, amber, blue, violet, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Indigo light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const indigoLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Indigo palette\r\n primary: indigo[600],\r\n onPrimary: white,\r\n primaryHover: indigo[700],\r\n primaryActive: indigo[800],\r\n primarySubtle: indigo[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: cyan[500],\r\n onAccent: white,\r\n accentHover: cyan[600],\r\n accentSubtle: cyan[50],\r\n borderFocus: indigo[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: indigo[500],\r\n linkHover: indigo[600],\r\n linkVisited: violet[600],\r\n focus: indigo[500],\r\n}\r\n\r\n/**\r\n * Indigo dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const indigoDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Indigo palette\r\n primary: indigo[500],\r\n onPrimary: white,\r\n primaryHover: indigo[400],\r\n primaryActive: indigo[600],\r\n primarySubtle: indigo[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: cyan[500],\r\n onAccent: white,\r\n accentHover: cyan[400],\r\n accentSubtle: cyan[950],\r\n borderFocus: indigo[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: indigo[400],\r\n linkHover: indigo[300],\r\n linkVisited: violet[400],\r\n focus: indigo[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { blue, slate, green, red, amber, violet, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Blue light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const blueLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Blue palette\r\n primary: blue[600],\r\n onPrimary: white,\r\n primaryHover: blue[700],\r\n primaryActive: blue[800],\r\n primarySubtle: blue[50],\r\n // Secondary - Neutral with slight blue tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent (using primary for consistency)\r\n accent: blue[600],\r\n onAccent: white,\r\n accentHover: blue[700],\r\n accentSubtle: blue[50],\r\n borderFocus: blue[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: blue[500],\r\n linkHover: blue[600],\r\n linkVisited: violet[600],\r\n focus: blue[500],\r\n}\r\n\r\n/**\r\n * Blue dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const blueDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Blue palette\r\n primary: blue[500],\r\n onPrimary: white,\r\n primaryHover: blue[400],\r\n primaryActive: blue[600],\r\n primarySubtle: blue[950],\r\n // Secondary - Neutral with slight blue tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent (using primary for consistency)\r\n accent: blue[500],\r\n onAccent: white,\r\n accentHover: blue[400],\r\n accentSubtle: blue[950],\r\n borderFocus: blue[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: blue[400],\r\n linkHover: blue[300],\r\n linkVisited: violet[400],\r\n focus: blue[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { rose, violet, slate, green, amber, red, blue, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Rose light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const roseLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Rose palette\r\n primary: rose[600],\r\n onPrimary: white,\r\n primaryHover: rose[700],\r\n primaryActive: rose[800],\r\n primarySubtle: rose[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: violet[600],\r\n onAccent: white,\r\n accentHover: violet[700],\r\n accentSubtle: violet[50],\r\n borderFocus: rose[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: rose[500],\r\n linkHover: rose[600],\r\n linkVisited: purple[600],\r\n focus: rose[500],\r\n}\r\n\r\n/**\r\n * Rose dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const roseDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Rose palette\r\n primary: rose[500],\r\n onPrimary: white,\r\n primaryHover: rose[400],\r\n primaryActive: rose[600],\r\n primarySubtle: rose[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: violet[500],\r\n onAccent: white,\r\n accentHover: violet[400],\r\n accentSubtle: violet[950],\r\n borderFocus: rose[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: rose[400],\r\n linkHover: rose[300],\r\n linkVisited: purple[400],\r\n focus: rose[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { emerald, amber, slate, green, red, blue, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Emerald light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const emeraldLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Emerald palette\r\n primary: emerald[600],\r\n onPrimary: white,\r\n primaryHover: emerald[700],\r\n primaryActive: emerald[800],\r\n primarySubtle: emerald[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: amber[500],\r\n onAccent: amber[900],\r\n accentHover: amber[600],\r\n accentSubtle: amber[50],\r\n borderFocus: emerald[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: emerald[600],\r\n linkHover: emerald[700],\r\n linkVisited: teal[700],\r\n focus: emerald[500],\r\n}\r\n\r\n/**\r\n * Emerald dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const emeraldDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Emerald palette\r\n primary: emerald[500],\r\n onPrimary: white,\r\n primaryHover: emerald[400],\r\n primaryActive: emerald[600],\r\n primarySubtle: emerald[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: amber[500],\r\n onAccent: amber[950],\r\n accentHover: amber[400],\r\n accentSubtle: amber[950],\r\n borderFocus: emerald[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: emerald[400],\r\n linkHover: emerald[300],\r\n linkVisited: teal[400],\r\n focus: emerald[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { teal, orange, slate, green, amber, red, blue, cyan, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Teal light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const tealLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Teal palette\r\n primary: teal[600],\r\n onPrimary: white,\r\n primaryHover: teal[700],\r\n primaryActive: teal[800],\r\n primarySubtle: teal[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: orange[500],\r\n onAccent: white,\r\n accentHover: orange[600],\r\n accentSubtle: orange[50],\r\n borderFocus: teal[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: teal[600],\r\n linkHover: teal[700],\r\n linkVisited: cyan[700],\r\n focus: teal[500],\r\n}\r\n\r\n/**\r\n * Teal dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const tealDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Teal palette\r\n primary: teal[500],\r\n onPrimary: white,\r\n primaryHover: teal[400],\r\n primaryActive: teal[600],\r\n primarySubtle: teal[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: orange[500],\r\n onAccent: white,\r\n accentHover: orange[400],\r\n accentSubtle: orange[950],\r\n borderFocus: teal[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: teal[400],\r\n linkHover: teal[300],\r\n linkVisited: cyan[400],\r\n focus: teal[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { violet, pink, slate, green, amber, red, blue, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Violet light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const violetLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Violet palette\r\n primary: violet[600],\r\n onPrimary: white,\r\n primaryHover: violet[700],\r\n primaryActive: violet[800],\r\n primarySubtle: violet[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: pink[500],\r\n onAccent: white,\r\n accentHover: pink[600],\r\n accentSubtle: pink[50],\r\n borderFocus: violet[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: violet[500],\r\n linkHover: violet[600],\r\n linkVisited: purple[600],\r\n focus: violet[500],\r\n}\r\n\r\n/**\r\n * Violet dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const violetDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Violet palette\r\n primary: violet[500],\r\n onPrimary: white,\r\n primaryHover: violet[400],\r\n primaryActive: violet[600],\r\n primarySubtle: violet[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: pink[500],\r\n onAccent: white,\r\n accentHover: pink[400],\r\n accentSubtle: pink[950],\r\n borderFocus: violet[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: violet[400],\r\n linkHover: violet[300],\r\n linkVisited: purple[400],\r\n focus: violet[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { amber, indigo, slate, green, red, blue, yellow, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Amber light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const amberLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Amber palette (darker shade for better contrast)\r\n primary: amber[500],\r\n onPrimary: amber[900],\r\n primaryHover: amber[600],\r\n primaryActive: amber[700],\r\n primarySubtle: amber[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: indigo[600],\r\n onAccent: white,\r\n accentHover: indigo[700],\r\n accentSubtle: indigo[50],\r\n borderFocus: amber[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: amber[600],\r\n linkHover: amber[700],\r\n linkVisited: yellow[700],\r\n focus: amber[500],\r\n}\r\n\r\n/**\r\n * Amber dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const amberDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Amber palette\r\n primary: amber[500],\r\n onPrimary: amber[950],\r\n primaryHover: amber[400],\r\n primaryActive: amber[600],\r\n primarySubtle: amber[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[400],\r\n accentSubtle: indigo[950],\r\n borderFocus: amber[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: amber[400],\r\n linkHover: amber[300],\r\n linkVisited: yellow[400],\r\n focus: amber[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { cyan, rose, slate, green, amber, red, blue, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Cyan light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const cyanLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Cyan palette\r\n primary: cyan[600],\r\n onPrimary: white,\r\n primaryHover: cyan[700],\r\n primaryActive: cyan[800],\r\n primarySubtle: cyan[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: rose[500],\r\n onAccent: white,\r\n accentHover: rose[600],\r\n accentSubtle: rose[50],\r\n borderFocus: cyan[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: cyan[600],\r\n linkHover: cyan[700],\r\n linkVisited: teal[700],\r\n focus: cyan[500],\r\n}\r\n\r\n/**\r\n * Cyan dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const cyanDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Cyan palette\r\n primary: cyan[500],\r\n onPrimary: white,\r\n primaryHover: cyan[400],\r\n primaryActive: cyan[600],\r\n primarySubtle: cyan[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: rose[500],\r\n onAccent: white,\r\n accentHover: rose[400],\r\n accentSubtle: rose[950],\r\n borderFocus: cyan[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: cyan[400],\r\n linkHover: cyan[300],\r\n linkVisited: teal[400],\r\n focus: cyan[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { slate, blue, green, amber, red, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Slate light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const slateLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Slate palette\r\n primary: slate[700],\r\n onPrimary: white,\r\n primaryHover: slate[800],\r\n primaryActive: slate[900],\r\n primarySubtle: slate[100],\r\n // Secondary - Neutral\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: blue[600],\r\n onAccent: white,\r\n accentHover: blue[700],\r\n accentSubtle: blue[50],\r\n borderFocus: slate[600],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: slate[700],\r\n linkHover: slate[800],\r\n linkVisited: slate[600],\r\n focus: slate[600],\r\n}\r\n\r\n/**\r\n * Slate dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const slateDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Slate palette\r\n primary: slate[300],\r\n onPrimary: slate[900],\r\n primaryHover: slate[200],\r\n primaryActive: slate[400],\r\n primarySubtle: slate[900],\r\n // Secondary - Neutral\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: blue[500],\r\n onAccent: white,\r\n accentHover: blue[400],\r\n accentSubtle: blue[950],\r\n borderFocus: slate[300],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: slate[300],\r\n linkHover: slate[200],\r\n linkVisited: slate[400],\r\n focus: slate[300],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { gray, indigo, slate, green, amber, red, blue, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Gray light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const grayLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Gray palette\r\n primary: gray[900],\r\n onPrimary: white,\r\n primaryHover: gray[800],\r\n primaryActive: gray[950],\r\n primarySubtle: gray[100],\r\n // Secondary - Neutral\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: indigo[600],\r\n onAccent: white,\r\n accentHover: indigo[700],\r\n accentSubtle: indigo[50],\r\n borderFocus: gray[900],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: gray[900],\r\n linkHover: gray[700],\r\n linkVisited: gray[600],\r\n focus: gray[900],\r\n}\r\n\r\n/**\r\n * Gray dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const grayDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Gray palette\r\n primary: gray[50],\r\n onPrimary: gray[900],\r\n primaryHover: gray[100],\r\n primaryActive: gray[200],\r\n primarySubtle: gray[900],\r\n // Secondary - Neutral\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[400],\r\n accentSubtle: indigo[950],\r\n borderFocus: gray[50],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: gray[50],\r\n linkHover: gray[200],\r\n linkVisited: gray[300],\r\n focus: gray[50],\r\n}\r\n\r\n","/**\r\n * Theme Presets - Ready-to-use color palettes for themes\r\n *\r\n * @example\r\n * ```ts\r\n * import { palettes, roseLight, createTheme, defaultTheme } from '@aurora-ui/theme'\r\n *\r\n * // Use a preset directly\r\n * const roseTheme = createTheme(defaultTheme, { colors: roseLight })\r\n *\r\n * // Or via the palettes object\r\n * const theme = createTheme(defaultTheme, {\r\n * colors: palettes.emerald.light\r\n * })\r\n * ```\r\n */\r\n\r\n// Default palette (indigo)\r\nexport { indigoLight, indigoDark } from './indigo'\r\n\r\n// Color palettes\r\nexport { blueLight, blueDark } from './blue'\r\nexport { roseLight, roseDark } from './rose'\r\nexport { emeraldLight, emeraldDark } from './emerald'\r\nexport { tealLight, tealDark } from './teal'\r\nexport { violetLight, violetDark } from './violet'\r\nexport { amberLight, amberDark } from './amber'\r\nexport { cyanLight, cyanDark } from './cyan'\r\n\r\n// Neutral palettes\r\nexport { slateLight, slateDark } from './slate'\r\nexport { grayLight, grayDark } from './gray'\r\n\r\n// Import for palettes object\r\nimport { amberLight, amberDark } from './amber'\r\nimport { blueLight, blueDark } from './blue'\r\nimport { cyanLight, cyanDark } from './cyan'\r\nimport { emeraldLight, emeraldDark } from './emerald'\r\nimport { grayLight, grayDark } from './gray'\r\nimport { indigoLight, indigoDark } from './indigo'\r\nimport { roseLight, roseDark } from './rose'\r\nimport { slateLight, slateDark } from './slate'\r\nimport { tealLight, tealDark } from './teal'\r\nimport { violetLight, violetDark } from './violet'\r\n\r\n/**\r\n * All available color palettes organized by name\r\n */\r\nexport const palettes = {\r\n // Default\r\n indigo: { light: indigoLight, dark: indigoDark },\r\n // Colors\r\n blue: { light: blueLight, dark: blueDark },\r\n rose: { light: roseLight, dark: roseDark },\r\n emerald: { light: emeraldLight, dark: emeraldDark },\r\n teal: { light: tealLight, dark: tealDark },\r\n violet: { light: violetLight, dark: violetDark },\r\n amber: { light: amberLight, dark: amberDark },\r\n cyan: { light: cyanLight, dark: cyanDark },\r\n // Neutrals\r\n slate: { light: slateLight, dark: slateDark },\r\n gray: { light: grayLight, dark: grayDark },\r\n} as const\r\n\r\n","import { indigoLight, indigoDark } from './palettes'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Default spacing scale\r\n */\r\nexport const defaultSpacing: Theme['spacing'] = {\r\n none: '0',\r\n '2xs': '0.125rem', // 2px\r\n xs: '0.25rem', // 4px\r\n sm: '0.5rem', // 8px\r\n md: '1rem', // 16px\r\n lg: '1.5rem', // 24px\r\n xl: '2rem', // 32px\r\n '2xl': '3rem', // 48px\r\n '3xl': '4rem', // 64px\r\n '4xl': '6rem', // 96px\r\n '5xl': '8rem', // 128px\r\n}\r\n\r\n/**\r\n * Default border radius scale\r\n */\r\nexport const defaultRadius: Theme['radius'] = {\r\n none: '0',\r\n xs: '0.125rem', // 2px\r\n sm: '0.25rem', // 4px\r\n md: '0.375rem', // 6px\r\n lg: '0.5rem', // 8px\r\n xl: '0.75rem', // 12px\r\n full: '9999px',\r\n}\r\n\r\n/**\r\n * Default shadow scale\r\n */\r\nexport const defaultShadows: Theme['shadows'] = {\r\n none: 'none',\r\n xs: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n sm: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\r\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\r\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\r\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\r\n}\r\n\r\n/**\r\n * Default font size scale\r\n */\r\nexport const defaultFontSize: Theme['fontSize'] = {\r\n '2xs': '0.625rem', // 10px\r\n xs: '0.75rem', // 12px\r\n sm: '0.875rem', // 14px\r\n md: '1rem', // 16px\r\n lg: '1.25rem', // 20px\r\n xl: '1.5rem', // 24px\r\n '2xl': '2rem', // 32px\r\n '3xl': '2.5rem', // 40px\r\n '4xl': '3rem', // 48px\r\n '5xl': '4rem', // 64px\r\n}\r\n\r\n/**\r\n * Default font weight scale\r\n */\r\nexport const defaultFontWeight: Theme['fontWeight'] = {\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semibold: 600,\r\n bold: 700,\r\n}\r\n\r\n/**\r\n * Default line height scale\r\n */\r\nexport const defaultLineHeight: Theme['lineHeight'] = {\r\n none: 1,\r\n tight: 1.25,\r\n normal: 1.5,\r\n relaxed: 1.75,\r\n}\r\n\r\n/**\r\n * Default z-index scale\r\n */\r\nexport const defaultZIndex: Theme['zIndex'] = {\r\n behind: -1,\r\n base: 0,\r\n dropdown: 1000,\r\n overlay: 1300,\r\n modal: 1400,\r\n tooltip: 1600,\r\n}\r\n\r\n/**\r\n * Default transition scale\r\n */\r\nexport const defaultTransition: Theme['transition'] = {\r\n fast: '150ms ease-out',\r\n normal: '250ms ease-out',\r\n slow: '350ms ease-out',\r\n}\r\n\r\n/**\r\n * Default colors (using indigo palette)\r\n */\r\nexport const defaultColors = indigoLight\r\n\r\n/**\r\n * Default dark colors (using indigo palette)\r\n */\r\nexport const defaultDarkColors = indigoDark\r\n\r\n/**\r\n * Complete default light theme\r\n */\r\nexport const defaultTheme: Theme = {\r\n colors: defaultColors,\r\n spacing: defaultSpacing,\r\n radius: defaultRadius,\r\n shadows: defaultShadows,\r\n fontSize: defaultFontSize,\r\n fontWeight: defaultFontWeight,\r\n lineHeight: defaultLineHeight,\r\n zIndex: defaultZIndex,\r\n transition: defaultTransition,\r\n}\r\n\r\n/**\r\n * Complete default dark theme\r\n */\r\nexport const defaultDarkTheme: Theme = {\r\n ...defaultTheme,\r\n colors: defaultDarkColors,\r\n}\r\n","\r\nimport {\r\n cacheKeyToSuffix,\r\n createCacheKey,\r\n createLRUCache,\r\n generateCssClass,\r\n getTheme,\r\n MAX_CACHE_SIZE,\r\n toKebabCaseClassName\r\n} from './styleEngine'\r\n\r\nimport type { StyleFunction, StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n/**\r\n * Extract component name from stack trace\r\n */\r\nconst getComponentNameFromStack = (): string => {\r\n const stack = new Error().stack || ''\r\n const match = stack.match(/([A-Za-z0-9_]+)\\.styles\\.[tj]s/)\r\n if (match?.[1]) {\r\n return toKebabCaseClassName(match[1])\r\n }\r\n const fileMatch = stack.match(/\\/([A-Za-z0-9_]+)\\.[tj]sx?[:\\d]*\\)?$/m)\r\n if (fileMatch?.[1] && fileMatch[1] !== 'createStyles') {\r\n return toKebabCaseClassName(fileMatch[1])\r\n }\r\n return 'style'\r\n}\r\n\r\n/**\r\n * Process styles and generate CSS classes\r\n */\r\nconst processStyles = <T extends Record<string, StyleWithPseudos | StyleFunction>>(\r\n styles: T,\r\n componentName: string\r\n): Record<string, string | ((...args: unknown[]) => string)> => {\r\n const classes = {} as Record<string, string | ((...args: unknown[]) => string)>\r\n\r\n for (const key in styles) {\r\n const style = styles[key]\r\n if (style) {\r\n const baseName = `${componentName}-${toKebabCaseClassName(key)}`\r\n if (typeof style === 'function') {\r\n const lru = createLRUCache<string>(MAX_CACHE_SIZE)\r\n classes[key] = (...args: unknown[]) => {\r\n const cacheKey = createCacheKey(args)\r\n return lru.getOrSet(cacheKey, () => {\r\n const resolved = (style as (...a: unknown[]) => StyleWithPseudos)(...args)\r\n return generateCssClass(resolved, `${baseName}-${cacheKeyToSuffix(cacheKey)}`)\r\n })\r\n }\r\n } else {\r\n classes[key] = generateCssClass(style, baseName, true)\r\n }\r\n }\r\n }\r\n\r\n return classes\r\n}\r\n\r\n/**\r\n * Create typed styles with support for pseudo-classes, media queries, container queries, feature queries and complex selectors\r\n *\r\n * Supports custom extended themes via generic parameter.\r\n *\r\n * @example\r\n * ```ts\r\n * // Basic usage with default theme\r\n * const STYLES = createStyles((theme) => ({\r\n * root: {\r\n * display: 'flex',\r\n * padding: theme.spacing.md,\r\n * ':hover': { backgroundColor: theme.colors.backgroundHover },\r\n * }\r\n * }))\r\n *\r\n * // With custom extended theme\r\n * type MyTheme = Theme & { colors: BaseColors & { accent: string } }\r\n *\r\n * const STYLES = createStyles<MyTheme>((theme) => ({\r\n * root: {\r\n * backgroundColor: theme.colors.accent, // TypeScript knows about accent!\r\n * }\r\n * }))\r\n * ```\r\n */\r\nexport const createStyles = <\r\n TTheme extends Theme = Theme,\r\n T extends Record<string, StyleWithPseudos | StyleFunction> = Record<string, StyleWithPseudos | StyleFunction>\r\n>(\r\n stylesOrCreator: T | ((theme: TTheme) => T)\r\n ): { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string } => {\r\n type Result = { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string }\r\n const componentName = getComponentNameFromStack()\r\n\r\n // Styles with theme (function)\r\n if (typeof stylesOrCreator === 'function') {\r\n let cached: Result | null = null\r\n let lastTheme: TTheme | undefined\r\n\r\n return new Proxy({} as Result, {\r\n get(_, prop: string | symbol) {\r\n const theme = getTheme() as TTheme | undefined\r\n if (!theme) {\r\n throw new Error('createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.')\r\n }\r\n if (theme !== lastTheme || !cached) {\r\n cached = processStyles(stylesOrCreator(theme), componentName) as Result\r\n lastTheme = theme\r\n }\r\n return cached[prop as keyof T]\r\n }\r\n })\r\n }\r\n\r\n // Styles without theme (direct object)\r\n return processStyles(stylesOrCreator, componentName) as Result\r\n}\r\n\r\n","import {\r\n addKeyframes,\r\n getNextKeyframeId,\r\n hashString,\r\n hasKeyframes,\r\n insertRule,\r\n objectToCss\r\n} from './styleEngine'\r\n\r\nimport type { CSSProperties } from 'react'\r\n\r\n\r\n/**\r\n * Create and inject keyframes\r\n *\r\n * @example\r\n * ```ts\r\n * const fadeIn = keyframes({\r\n * from: { opacity: 0 },\r\n * to: { opacity: 1 }\r\n * })\r\n *\r\n * const STYLES = createStyles({\r\n * animated: { animation: `${fadeIn} 0.3s ease-in-out` }\r\n * })\r\n * ```\r\n */\r\nexport const keyframes = (frames: Record<string, CSSProperties>): string => {\r\n // Generate keyframes CSS\r\n let css = ''\r\n for (const key in frames) {\r\n css += `${key}{${objectToCss(frames[key] as Record<string, unknown>)}}`\r\n }\r\n\r\n // Check if these keyframes already exist\r\n if (hasKeyframes(css)) {\r\n const hash = hashString(css)\r\n return `aurora-kf-${hash}`\r\n }\r\n\r\n // Generate a unique name\r\n const name = `aurora-kf-${getNextKeyframeId()}`\r\n\r\n // Inject @keyframes rule\r\n insertRule(`@keyframes ${name}{${css}}`)\r\n addKeyframes(css)\r\n\r\n return name\r\n}\r\n\r\n","import { addFontFace, hasFontFace, insertRule } from './styleEngine'\r\n\r\nimport type { FontFaceOptions } from './types'\r\n\r\n/**\r\n * Inject a @font-face rule\r\n *\r\n * @example\r\n * ```ts\r\n * fontFace({\r\n * fontFamily: 'MyFont',\r\n * src: \"url('/fonts/myfont.woff2') format('woff2')\",\r\n * fontWeight: 400,\r\n * fontStyle: 'normal',\r\n * fontDisplay: 'swap'\r\n * })\r\n * ```\r\n */\r\nexport const fontFace = (options: FontFaceOptions): string => {\r\n const {\r\n fontFamily,\r\n src,\r\n fontStyle = 'normal',\r\n fontWeight = 400,\r\n fontDisplay = 'swap',\r\n unicodeRange\r\n } = options\r\n\r\n // Generate CSS\r\n let css = `font-family:\"${fontFamily}\";`\r\n css += `src:${src};`\r\n css += `font-style:${fontStyle};`\r\n css += `font-weight:${fontWeight};`\r\n css += `font-display:${fontDisplay};`\r\n if (unicodeRange) {\r\n css += `unicode-range:${unicodeRange};`\r\n }\r\n\r\n // Check if already injected\r\n if (!hasFontFace(css)) {\r\n insertRule(`@font-face{${css}}`)\r\n addFontFace(css)\r\n }\r\n\r\n return fontFamily\r\n}\r\n\r\n","import { insertRule, toKebabCase } from './styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Generate CSS variables from a theme object\r\n */\r\nconst generateCssVariables = (obj: Record<string, unknown>, prefix: string): string => {\r\n let css = ''\r\n\r\n for (const key in obj) {\r\n const value = obj[key]\r\n const varName = `--${prefix}-${toKebabCase(key)}`\r\n\r\n if (value && typeof value === 'object') {\r\n css += generateCssVariables(value as Record<string, unknown>, `${prefix}-${toKebabCase(key)}`)\r\n } else if (value != null) {\r\n css += `${varName}:${value};`\r\n }\r\n }\r\n\r\n return css\r\n}\r\n\r\n/**\r\n * Create CSS variables from the theme\r\n * Injects variables into :root\r\n *\r\n * @example\r\n * ```ts\r\n * // In ThemeProvider\r\n * injectCssVariables(theme, 'aurora')\r\n * // Generates: :root { --aurora-colors-primary: #2563EB; ... }\r\n * ```\r\n */\r\nexport const injectCssVariables = (theme: Theme, prefix = 'theme'): void => {\r\n const variables = generateCssVariables(theme, prefix)\r\n insertRule(`:root{${variables}}`)\r\n}\r\n\r\n/**\r\n * Helper to use a CSS variable from the theme\r\n *\r\n * @example\r\n * ```ts\r\n * const STYLES = createStyles({\r\n * root: { color: cssVar('colors-primary') }\r\n * })\r\n * // Generates: color: var(--theme-colors-primary)\r\n * ```\r\n */\r\nexport const cssVar = (path: string, fallback?: string): string => {\r\n const varName = `--theme-${path.replace(/\\./g, '-')}`\r\n return fallback ? `var(${varName}, ${fallback})` : `var(${varName})`\r\n}\r\n\r\n/**\r\n * Create CSS variable references from a typed object\r\n * Returns an object with the same structure where values are var() references\r\n *\r\n * @example\r\n * ```ts\r\n * const vars = cssVariables({\r\n * primaryColor: '#007bff',\r\n * spacing: '1rem',\r\n * })\r\n * // vars.primaryColor === 'var(--primary-color)'\r\n * ```\r\n */\r\nexport const cssVariables = <T extends Record<string, string | number>>(\r\n variables: T,\r\n options: { prefix?: string; inject?: boolean } = {}\r\n): { [K in keyof T]: string } => {\r\n const { prefix = '', inject = false } = options\r\n const result = {} as { [K in keyof T]: string }\r\n let cssToInject = ''\r\n\r\n for (const key in variables) {\r\n const kebabKey = toKebabCase(key)\r\n const varName = prefix ? `--${prefix}-${kebabKey}` : `--${kebabKey}`\r\n result[key] = `var(${varName})`\r\n\r\n if (inject) {\r\n cssToInject += `${varName}:${variables[key]};`\r\n }\r\n }\r\n\r\n if (inject && cssToInject) {\r\n insertRule(`:root{${cssToInject}}`)\r\n }\r\n\r\n return result\r\n}\r\n\r\n","import { getSSRRulesInternal, resetState } from './styleEngine'\r\n\r\n/**\r\n * SSR: Get all collected CSS rules as a single string\r\n * @returns The CSS content to inject into HTML\r\n */\r\nexport const getSSRStyles = (): string => {\r\n return getSSRRulesInternal().join('')\r\n}\r\n\r\n/**\r\n * SSR: Get styles as a <style> tag ready to inject\r\n * @returns The complete style tag to inject into <head>\r\n */\r\nexport const getSSRStyleTag = (): string => {\r\n const css = getSSRStyles()\r\n if (!css) { return '' }\r\n return `<style id=\"aurora-styles\">${css}</style>`\r\n}\r\n\r\n/**\r\n * SSR: Clear the collected rules buffer\r\n * Call at the beginning of each SSR request to ensure clean state\r\n */\r\nexport const clearSSRRules = (): void => {\r\n resetState()\r\n}\r\n\r\n/**\r\n * SSR: Get raw CSS rules as an array\r\n * @returns Array of CSS rules\r\n */\r\nexport const getSSRRulesArray = (): string[] => {\r\n return [...getSSRRulesInternal()]\r\n}\r\n\r\n"]}
1
+ {"version":3,"sources":["../src/utils/styles/styleEngine.ts","../src/providers/ThemeProvider.tsx","../src/utils/theme/createTheme.ts","../src/utils/theme/colors/gray.ts","../src/utils/theme/colors/slate.ts","../src/utils/theme/colors/stone.ts","../src/utils/theme/colors/red.ts","../src/utils/theme/colors/orange.ts","../src/utils/theme/colors/amber.ts","../src/utils/theme/colors/yellow.ts","../src/utils/theme/colors/lime.ts","../src/utils/theme/colors/green.ts","../src/utils/theme/colors/emerald.ts","../src/utils/theme/colors/teal.ts","../src/utils/theme/colors/cyan.ts","../src/utils/theme/colors/sky.ts","../src/utils/theme/colors/blue.ts","../src/utils/theme/colors/indigo.ts","../src/utils/theme/colors/violet.ts","../src/utils/theme/colors/purple.ts","../src/utils/theme/colors/fuchsia.ts","../src/utils/theme/colors/pink.ts","../src/utils/theme/colors/rose.ts","../src/utils/theme/colors/index.ts","../src/utils/theme/palettes/shared.ts","../src/utils/theme/palettes/indigo.ts","../src/utils/theme/palettes/blue.ts","../src/utils/theme/palettes/rose.ts","../src/utils/theme/palettes/emerald.ts","../src/utils/theme/palettes/teal.ts","../src/utils/theme/palettes/violet.ts","../src/utils/theme/palettes/amber.ts","../src/utils/theme/palettes/cyan.ts","../src/utils/theme/palettes/slate.ts","../src/utils/theme/palettes/gray.ts","../src/utils/theme/palettes/index.ts","../src/utils/theme/defaultTheme.ts","../src/utils/styles/createStyles.ts","../src/utils/styles/keyframes.ts","../src/utils/styles/fontFace.ts","../src/utils/styles/cssVariables.ts","../src/utils/styles/ssr.ts"],"names":["IS_SERVER","themeContextGetter","styleSheet","ssrRules","cssKeyCache","staticStyleCache","usedClassNames","injectedKeyframes","injectedFontFaces","keyframeCounter","UNITLESS_PROPERTIES","MAX_CACHE_SIZE","existingStyle","style","setThemeContextGetter","getter","previous","getTheme","insertRule","rule","toKebabCase","key","cached","toKebabCaseClassName","name","CSS_INJECTION_PATTERNS","sanitizeCssValue","value","cleaned","__DEV__","toCssValue","objectToCss","obj","parts","createCacheKey","args","len","result","i","arg","t","cacheKeyToSuffix","hash","createLRUCache","maxSize","cache","factory","existing","firstKey","hashStyles","styles","str","hashString","getUniqueClassName","baseName","counter","generateCssClass","className","useCache","uniqueName","baseParts","specialRules","firstChar","innerCss","resolvedSelector","hasKeyframes","css","addKeyframes","getNextKeyframeId","hasFontFace","addFontFace","getSSRRulesInternal","resetState","ThemeContext","createContext","ThemeProvider","theme","children","previousGetter","useLayoutEffect","jsx","useTheme","useContext","hashObject","themeCache","MAX_THEME_CACHE_SIZE","deepMerge","target","source","sourceValue","targetValue","createTheme","baseTheme","overrides","cacheKey","mergeThemes","acc","override","createThemeVariant","variantOverrides","gray","slate","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","white","black","transparent","current","colors","neutralLight","neutralDark","indigoLight","indigoDark","blueLight","blueDark","roseLight","roseDark","emeraldLight","emeraldDark","tealLight","tealDark","violetLight","violetDark","amberLight","amberDark","cyanLight","cyanDark","slateLight","slateDark","grayLight","grayDark","palettes","defaultSpacing","defaultRadius","defaultShadows","defaultFontSize","defaultFontWeight","defaultLineHeight","defaultZIndex","defaultTransition","defaultColors","defaultDarkColors","defaultTheme","defaultDarkTheme","getComponentNameFromStack","stack","match","fileMatch","processStyles","componentName","classes","lru","resolved","createStyles","stylesOrCreator","lastTheme","_","prop","keyframes","frames","fontFace","options","fontFamily","src","fontStyle","fontWeight","fontDisplay","unicodeRange","generateCssVariables","prefix","varName","injectCssVariables","variables","cssVar","path","fallback","cssVariables","inject","cssToInject","kebabKey","getSSRStyles","getSSRStyleTag","clearSSRRules","getSSRRulesArray"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n// Environment detection (constant since it never changes)\r\nconst IS_SERVER = typeof document === 'undefined'\r\n\r\n// Global theme getter\r\nlet themeContextGetter: (() => Theme | undefined) | null = null\r\n\r\n// Stylesheet for client-side injection\r\nlet styleSheet: CSSStyleSheet | null = null\r\n\r\n// SSR buffer to collect server-side rules\r\nlet ssrRules: string[] = []\r\n\r\n// Cache for camelCase → kebab-case conversion (pre-allocated for common keys)\r\nconst cssKeyCache = new Map<string, string>([\r\n ['backgroundColor', 'background-color'],\r\n ['borderRadius', 'border-radius'],\r\n ['fontSize', 'font-size'],\r\n ['fontWeight', 'font-weight'],\r\n ['lineHeight', 'line-height'],\r\n ['marginTop', 'margin-top'],\r\n ['marginBottom', 'margin-bottom'],\r\n ['marginLeft', 'margin-left'],\r\n ['marginRight', 'margin-right'],\r\n ['paddingTop', 'padding-top'],\r\n ['paddingBottom', 'padding-bottom'],\r\n ['paddingLeft', 'padding-left'],\r\n ['paddingRight', 'padding-right'],\r\n ['textAlign', 'text-align'],\r\n ['justifyContent', 'justify-content'],\r\n ['alignItems', 'align-items'],\r\n ['flexDirection', 'flex-direction'],\r\n ['flexWrap', 'flex-wrap'],\r\n ['boxShadow', 'box-shadow'],\r\n ['zIndex', 'z-index'],\r\n])\r\n\r\n// Global cache for static styles (avoids regenerating the same styles)\r\nconst staticStyleCache = new Map<string, string>()\r\n\r\n// Set to track already used class names\r\nconst usedClassNames = new Set<string>()\r\n\r\n// Set to track already injected keyframes\r\nconst injectedKeyframes = new Set<string>()\r\n\r\n// Set to track already injected font-faces\r\nconst injectedFontFaces = new Set<string>()\r\n\r\n// Counter for unique keyframe names generation\r\nlet keyframeCounter = 0\r\n\r\n// Properties that accept unitless numbers (optimized Set)\r\nconst UNITLESS_PROPERTIES = new Set([\r\n 'animationIterationCount', 'columnCount', 'fillOpacity', 'flexGrow', 'flexShrink',\r\n 'fontWeight', 'lineHeight', 'opacity', 'order', 'orphans', 'widows', 'zIndex', 'zoom'\r\n])\r\n\r\n// Max LRU cache size for dynamic styles\r\nexport const MAX_CACHE_SIZE = 100\r\n\r\n// Initialize stylesheet (client-side only)\r\nif (!IS_SERVER) {\r\n const existingStyle = document.getElementById('aurora-styles') as HTMLStyleElement | null\r\n if (existingStyle) {\r\n styleSheet = existingStyle.sheet as CSSStyleSheet\r\n } else {\r\n const style = document.createElement('style')\r\n style.id = 'aurora-styles'\r\n document.head.appendChild(style)\r\n styleSheet = style.sheet as CSSStyleSheet\r\n }\r\n}\r\n\r\n/**\r\n * Set the theme getter\r\n */\r\nexport const setThemeContextGetter = (getter: (() => Theme | undefined) | null): (() => Theme | undefined) | null => {\r\n const previous = themeContextGetter\r\n themeContextGetter = getter\r\n return previous\r\n}\r\n\r\n/**\r\n * Get the current theme\r\n */\r\nexport const getTheme = (): Theme | undefined => {\r\n return themeContextGetter?.()\r\n}\r\n\r\n/**\r\n * Insert a CSS rule\r\n */\r\nexport const insertRule = (rule: string): void => {\r\n if (IS_SERVER) {\r\n ssrRules.push(rule)\r\n } else if (styleSheet) {\r\n try {\r\n styleSheet.insertRule(rule, styleSheet.cssRules.length)\r\n } catch {\r\n // Ignore errors (invalid rules)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Convert camelCase to kebab-case with caching\r\n */\r\nexport const toKebabCase = (key: string): string => {\r\n let cached = cssKeyCache.get(key)\r\n if (!cached) {\r\n cached = key.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n cssKeyCache.set(key, cached)\r\n }\r\n return cached\r\n}\r\n\r\n/**\r\n * Convert PascalCase/camelCase to kebab-case for class names\r\n */\r\nexport const toKebabCaseClassName = (name: string): string => {\r\n return name\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\r\n .toLowerCase()\r\n}\r\n\r\n/**\r\n * Dangerous patterns that could be used for CSS injection attacks\r\n * - expression(): IE-specific, allows JavaScript execution\r\n * - url() with javascript:/data:: can execute scripts or embed malicious content\r\n * - behavior: IE-specific, loads external HTC files\r\n * - -moz-binding: Firefox-specific, loads XBL files\r\n * - @import: could load external malicious stylesheets\r\n * - </style>: could break out of style context\r\n */\r\nconst CSS_INJECTION_PATTERNS = /expression\\s*\\(|javascript\\s*:|data\\s*:\\s*text\\/html|behavior\\s*:|@import|<\\s*\\/?\\s*style/i\r\n\r\n/**\r\n * Sanitize a CSS value to prevent injection attacks\r\n * Returns the sanitized value or 'unset' if the value is dangerous\r\n */\r\nexport const sanitizeCssValue = (value: string): string => {\r\n // Remove any null bytes\r\n const cleaned = value.replace(/\\0/g, '')\r\n\r\n // Check for dangerous patterns\r\n if (CSS_INJECTION_PATTERNS.test(cleaned)) {\r\n if (__DEV__) {\r\n console.warn(`[Aurora] Potentially dangerous CSS value blocked: \"${value.slice(0, 50)}...\"`)\r\n }\r\n return 'unset'\r\n }\r\n\r\n return cleaned\r\n}\r\n\r\n// Development mode flag (will be tree-shaken in production)\r\nconst __DEV__ = typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production'\r\n\r\n/**\r\n * Convert values to valid CSS with sanitization\r\n */\r\nexport const toCssValue = (key: string, value: unknown): string => {\r\n if (typeof value === 'number' && !UNITLESS_PROPERTIES.has(key)) {\r\n return `${value}px`\r\n }\r\n return sanitizeCssValue(String(value))\r\n}\r\n\r\n/**\r\n * Convert a styles object to CSS (simple properties only)\r\n * Optimized to avoid unnecessary allocations\r\n */\r\nexport const objectToCss = (obj: Record<string, unknown>): string => {\r\n const parts: string[] = []\r\n for (const key in obj) {\r\n const value = obj[key]\r\n if (value != null && typeof value !== 'object') {\r\n parts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n return parts.join(';') + (parts.length ? ';' : '')\r\n}\r\n\r\n/**\r\n * Convert an & selector to a valid CSS selector\r\n */\r\nexport const resolveAmpersandSelector = (selector: string, className: string): string => {\r\n return selector.replace(/&/g, `.${className}`)\r\n}\r\n\r\n/**\r\n * Create a cache key from arguments\r\n */\r\nexport const createCacheKey = (args: unknown[]): string => {\r\n const len = args.length\r\n if (len <= 4) {\r\n let result = ''\r\n for (let i = 0; i < len; i++) {\r\n const arg = args[i]\r\n const t = typeof arg\r\n if (arg === undefined) {\r\n result += i ? '|u' : 'u'\r\n } else if (arg === null) {\r\n result += i ? '|n' : 'n'\r\n } else if (t === 'string' || t === 'number' || t === 'boolean') {\r\n result += i ? '|' + arg : String(arg)\r\n } else {\r\n return JSON.stringify(args)\r\n }\r\n }\r\n return result\r\n }\r\n return JSON.stringify(args)\r\n}\r\n\r\n/**\r\n * Convert cacheKey to a valid CSS suffix\r\n */\r\nexport const cacheKeyToSuffix = (key: string): string => {\r\n if (key === 'true' || key === 'false' || /^-?\\d+$/.test(key)) {\r\n return key\r\n }\r\n if (/^[a-z][a-z0-9]*$/i.test(key)) {\r\n return toKebabCaseClassName(key)\r\n }\r\n let hash = 5381\r\n for (let i = 0; i < key.length; i++) {\r\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Optimized LRU cache with O(1) deletion\r\n */\r\nexport const createLRUCache = <V>(maxSize: number): { getOrSet: (key: string, factory: () => V) => V } => {\r\n const cache = new Map<string, V>()\r\n return {\r\n getOrSet(key: string, factory: () => V): V {\r\n const existing = cache.get(key)\r\n if (existing !== undefined) {\r\n // Move to end (most recent) - O(1) with Map\r\n cache.delete(key)\r\n cache.set(key, existing)\r\n return existing\r\n }\r\n const value = factory()\r\n if (cache.size >= maxSize) {\r\n // Remove oldest (first element)\r\n const firstKey = cache.keys().next().value\r\n if (firstKey !== undefined) { cache.delete(firstKey) }\r\n }\r\n cache.set(key, value)\r\n return value\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Hash for static styles cache\r\n */\r\nexport const hashStyles = (styles: StyleWithPseudos): string => {\r\n const str = JSON.stringify(styles)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Generic hash for a string\r\n */\r\nexport const hashString = (str: string): string => {\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Get a unique class name\r\n */\r\nexport const getUniqueClassName = (baseName: string): string => {\r\n if (!usedClassNames.has(baseName)) {\r\n usedClassNames.add(baseName)\r\n return baseName\r\n }\r\n let counter = 2\r\n let name = `${baseName}-${counter}`\r\n while (usedClassNames.has(name)) {\r\n name = `${baseName}-${++counter}`\r\n }\r\n usedClassNames.add(name)\r\n return name\r\n}\r\n\r\n/**\r\n * Generate a CSS class with support for complex selectors\r\n * Optimized to minimize allocations and iterations\r\n */\r\nexport const generateCssClass = (styles: StyleWithPseudos, className: string, useCache = false): string => {\r\n if (useCache) {\r\n const hash = hashStyles(styles)\r\n const cached = staticStyleCache.get(hash)\r\n if (cached) { return cached }\r\n }\r\n\r\n const uniqueName = getUniqueClassName(className)\r\n const baseParts: string[] = []\r\n const specialRules: string[] = []\r\n\r\n for (const key in styles) {\r\n const value = (styles as Record<string, unknown>)[key]\r\n const firstChar = key[0]\r\n\r\n if (firstChar === '@') {\r\n // @media, @container, @supports\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`${key}{.${uniqueName}{${innerCss}}}`)\r\n }\r\n } else if (firstChar === '&') {\r\n // Complex selectors (& > div, &:nth-child, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n const resolvedSelector = key.replace(/&/g, `.${uniqueName}`)\r\n specialRules.push(`${resolvedSelector}{${innerCss}}`)\r\n }\r\n } else if (firstChar === ':') {\r\n // Pseudo-classes (:hover, :focus, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`.${uniqueName}${key}{${innerCss}}`)\r\n }\r\n } else if (value != null && typeof value !== 'object') {\r\n // Simple CSS properties\r\n baseParts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n\r\n // Inject rules\r\n if (baseParts.length) {\r\n insertRule(`.${uniqueName}{${baseParts.join(';')}}`)\r\n }\r\n for (const rule of specialRules) {\r\n insertRule(rule)\r\n }\r\n\r\n if (useCache) {\r\n staticStyleCache.set(hashStyles(styles), uniqueName)\r\n }\r\n\r\n return uniqueName\r\n}\r\n\r\n/**\r\n * Check if a keyframe already exists\r\n */\r\nexport const hasKeyframes = (css: string): boolean => {\r\n return injectedKeyframes.has(css)\r\n}\r\n\r\n/**\r\n * Add a keyframe to the registry\r\n */\r\nexport const addKeyframes = (css: string): void => {\r\n injectedKeyframes.add(css)\r\n}\r\n\r\n/**\r\n * Get the next keyframe ID\r\n */\r\nexport const getNextKeyframeId = (): string => {\r\n return (++keyframeCounter).toString(36)\r\n}\r\n\r\n/**\r\n * Check if a font-face already exists\r\n */\r\nexport const hasFontFace = (css: string): boolean => {\r\n return injectedFontFaces.has(css)\r\n}\r\n\r\n/**\r\n * Add a font-face to the registry\r\n */\r\nexport const addFontFace = (css: string): void => {\r\n injectedFontFaces.add(css)\r\n}\r\n\r\n/**\r\n * Get SSR rules\r\n */\r\nexport const getSSRRulesInternal = (): string[] => {\r\n return ssrRules\r\n}\r\n\r\n/**\r\n * Reset SSR state\r\n */\r\nexport const resetState = (): void => {\r\n ssrRules = []\r\n staticStyleCache.clear()\r\n usedClassNames.clear()\r\n injectedKeyframes.clear()\r\n injectedFontFaces.clear()\r\n keyframeCounter = 0\r\n}\r\n\r\n","import { createContext, useContext, useLayoutEffect, type ReactNode } from 'react'\r\n\r\nimport { setThemeContextGetter } from '@/utils/styles/styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\nconst ThemeContext = createContext<Theme | undefined>(undefined)\r\n\r\nexport type ThemeProviderProps<T extends Theme = Theme> = {\r\n theme: T\r\n children?: ReactNode\r\n}\r\n\r\n/**\r\n * Theme provider component\r\n * Provides theme context to all child components\r\n *\r\n * @example\r\n * ```tsx\r\n * // With default theme\r\n * <ThemeProvider theme={defaultTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n *\r\n * // With custom extended theme\r\n * <ThemeProvider theme={myCustomTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n */\r\nexport const ThemeProvider = <T extends Theme>({\r\n theme,\r\n children\r\n}: ThemeProviderProps<T>) => {\r\n const previousGetter = setThemeContextGetter(() => theme)\r\n\r\n useLayoutEffect(() => {\r\n return () => {\r\n setThemeContextGetter(previousGetter)\r\n }\r\n }, [previousGetter])\r\n\r\n return (\r\n <ThemeContext.Provider value={theme}>\r\n {children}\r\n </ThemeContext.Provider>\r\n )\r\n}\r\n\r\n/**\r\n * Hook to access the current theme\r\n * Use the generic parameter to get proper typing for extended themes\r\n *\r\n * @example\r\n * ```tsx\r\n * // Basic usage\r\n * const theme = useTheme()\r\n *\r\n * // With custom theme type\r\n * const theme = useTheme<MyCustomTheme>()\r\n * ```\r\n *\r\n * @throws {Error} If used outside a ThemeProvider\r\n */\r\nexport const useTheme = <T extends Theme = Theme>(): T => {\r\n const theme = useContext(ThemeContext)\r\n\r\n if (!theme) {\r\n throw new Error('useTheme must be used within a ThemeProvider')\r\n }\r\n\r\n return theme as T\r\n}\r\n\r\n","import type { Theme, DeepPartial } from '@/types'\r\n\r\n/**\r\n * Simple hash function for objects (djb2)\r\n */\r\nconst hashObject = (obj: unknown): string => {\r\n const str = JSON.stringify(obj)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Memoization cache for createTheme\r\n */\r\nconst themeCache = new Map<string, Theme>()\r\n\r\n/**\r\n * Maximum number of themes to cache before eviction\r\n */\r\nexport const MAX_THEME_CACHE_SIZE = 50\r\n\r\n/**\r\n * Clear the theme cache (useful for testing)\r\n */\r\nexport const clearThemeCache = (): void => {\r\n themeCache.clear()\r\n}\r\n\r\n/**\r\n * Get the current theme cache size (useful for testing)\r\n */\r\nexport const getThemeCacheSize = (): number => {\r\n return themeCache.size\r\n}\r\n\r\n/**\r\n * Deep merge two objects\r\n */\r\nconst deepMerge = <T extends Record<string, unknown>>(target: T, source: DeepPartial<T>): T => {\r\n const result = { ...target }\r\n\r\n for (const key in source) {\r\n const sourceValue = source[key]\r\n const targetValue = target[key]\r\n\r\n if (\r\n sourceValue !== undefined &&\r\n typeof sourceValue === 'object' &&\r\n sourceValue !== null &&\r\n !Array.isArray(sourceValue) &&\r\n typeof targetValue === 'object' &&\r\n targetValue !== null\r\n ) {\r\n result[key] = deepMerge(\r\n targetValue as Record<string, unknown>,\r\n sourceValue as DeepPartial<Record<string, unknown>>\r\n ) as T[Extract<keyof T, string>]\r\n } else if (sourceValue !== undefined) {\r\n result[key] = sourceValue as T[Extract<keyof T, string>]\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * Create a theme by merging a base theme with overrides\r\n *\r\n * @example\r\n * ```ts\r\n * const myTheme = createTheme(defaultTheme, {\r\n * colors: {\r\n * primary: '#ff0000',\r\n * // Only override what you need\r\n * },\r\n * spacing: {\r\n * md: '1.5rem',\r\n * },\r\n * })\r\n * ```\r\n */\r\nexport const createTheme = <T extends Theme>(\r\n baseTheme: T,\r\n overrides: DeepPartial<T>\r\n): T => {\r\n // Create cache key from base theme reference + overrides hash\r\n const cacheKey = `${hashObject(baseTheme)}_${hashObject(overrides)}`\r\n\r\n const cached = themeCache.get(cacheKey)\r\n if (cached) {\r\n return cached as T\r\n }\r\n\r\n const result = deepMerge(baseTheme, overrides)\r\n\r\n // Evict oldest if cache is full\r\n if (themeCache.size >= MAX_THEME_CACHE_SIZE) {\r\n const firstKey = themeCache.keys().next().value\r\n if (firstKey) {themeCache.delete(firstKey)}\r\n }\r\n\r\n themeCache.set(cacheKey, result)\r\n return result\r\n}\r\n\r\n/**\r\n * Merge multiple theme overrides into one\r\n * Later overrides take precedence\r\n *\r\n * @example\r\n * ```ts\r\n * const theme = mergeThemes(\r\n * baseTheme,\r\n * brandOverrides,\r\n * darkModeOverrides,\r\n * userPreferences\r\n * )\r\n * ```\r\n */\r\nexport const mergeThemes = <T extends Theme>(\r\n baseTheme: T,\r\n ...overrides: DeepPartial<T>[]\r\n): T => {\r\n return overrides.reduce<T>(\r\n (acc, override) => deepMerge(acc, override),\r\n baseTheme\r\n )\r\n}\r\n\r\n/**\r\n * Create a theme extension factory\r\n * Useful for creating theme variants (dark mode, high contrast, etc.)\r\n *\r\n * @example\r\n * ```ts\r\n * const createDarkVariant = createThemeVariant({\r\n * colors: {\r\n * background: '#1a1a1a',\r\n * text: '#ffffff',\r\n * },\r\n * })\r\n *\r\n * const darkTheme = createDarkVariant(lightTheme)\r\n * ```\r\n */\r\nexport const createThemeVariant = <T extends Theme>(\r\n variantOverrides: DeepPartial<T>\r\n) => {\r\n return (baseTheme: T): T => createTheme(baseTheme, variantOverrides)\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const gray: ColorScale = {\r\n 25: '#fcfcfc',\r\n 50: '#fafafa',\r\n 100: '#f4f4f5',\r\n 200: '#e4e4e7',\r\n 300: '#d4d4d8',\r\n 400: '#a1a1aa',\r\n 500: '#71717a',\r\n 600: '#52525b',\r\n 700: '#3f3f46',\r\n 800: '#27272a',\r\n 900: '#18181b',\r\n 950: '#09090b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const slate: ColorScale = {\r\n 25: '#fcfcfd',\r\n 50: '#f8fafc',\r\n 100: '#f1f5f9',\r\n 200: '#e2e8f0',\r\n 300: '#cbd5e1',\r\n 400: '#94a3b8',\r\n 500: '#64748b',\r\n 600: '#475569',\r\n 700: '#334155',\r\n 800: '#1e293b',\r\n 900: '#0f172a',\r\n 950: '#020617',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const stone: ColorScale = {\r\n 25: '#fcfcfb',\r\n 50: '#fafaf9',\r\n 100: '#f5f5f4',\r\n 200: '#e7e5e4',\r\n 300: '#d6d3d1',\r\n 400: '#a8a29e',\r\n 500: '#78716c',\r\n 600: '#57534e',\r\n 700: '#44403c',\r\n 800: '#292524',\r\n 900: '#1c1917',\r\n 950: '#0c0a09',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const red: ColorScale = {\r\n 25: '#fffbfb',\r\n 50: '#fef2f2',\r\n 100: '#fee2e2',\r\n 200: '#fecaca',\r\n 300: '#fca5a5',\r\n 400: '#f87171',\r\n 500: '#ef4444',\r\n 600: '#dc2626',\r\n 700: '#b91c1c',\r\n 800: '#991b1b',\r\n 900: '#7f1d1d',\r\n 950: '#450a0a',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const orange: ColorScale = {\r\n 25: '#fffcfa',\r\n 50: '#fff7ed',\r\n 100: '#ffedd5',\r\n 200: '#fed7aa',\r\n 300: '#fdba74',\r\n 400: '#fb923c',\r\n 500: '#f97316',\r\n 600: '#ea580c',\r\n 700: '#c2410c',\r\n 800: '#9a3412',\r\n 900: '#7c2d12',\r\n 950: '#431407',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const amber: ColorScale = {\r\n 25: '#fffdfb',\r\n 50: '#fffbeb',\r\n 100: '#fef3c7',\r\n 200: '#fde68a',\r\n 300: '#fcd34d',\r\n 400: '#fbbf24',\r\n 500: '#f59e0b',\r\n 600: '#d97706',\r\n 700: '#b45309',\r\n 800: '#92400e',\r\n 900: '#78350f',\r\n 950: '#451a03',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const yellow: ColorScale = {\r\n 25: '#fefef9',\r\n 50: '#fefce8',\r\n 100: '#fef9c3',\r\n 200: '#fef08a',\r\n 300: '#fde047',\r\n 400: '#facc15',\r\n 500: '#eab308',\r\n 600: '#ca8a04',\r\n 700: '#a16207',\r\n 800: '#854d0e',\r\n 900: '#713f12',\r\n 950: '#422006',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const lime: ColorScale = {\r\n 25: '#fbfef8',\r\n 50: '#f7fee7',\r\n 100: '#ecfccb',\r\n 200: '#d9f99d',\r\n 300: '#bef264',\r\n 400: '#a3e635',\r\n 500: '#84cc16',\r\n 600: '#65a30d',\r\n 700: '#4d7c0f',\r\n 800: '#3f6212',\r\n 900: '#365314',\r\n 950: '#1a2e05',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const green: ColorScale = {\r\n 25: '#f6fef9',\r\n 50: '#f0fdf4',\r\n 100: '#dcfce7',\r\n 200: '#bbf7d0',\r\n 300: '#86efac',\r\n 400: '#4ade80',\r\n 500: '#22c55e',\r\n 600: '#16a34a',\r\n 700: '#15803d',\r\n 800: '#166534',\r\n 900: '#14532d',\r\n 950: '#052e16',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const emerald: ColorScale = {\r\n 25: '#f5fefc',\r\n 50: '#ecfdf5',\r\n 100: '#d1fae5',\r\n 200: '#a7f3d0',\r\n 300: '#6ee7b7',\r\n 400: '#34d399',\r\n 500: '#10b981',\r\n 600: '#059669',\r\n 700: '#047857',\r\n 800: '#065f46',\r\n 900: '#064e3b',\r\n 950: '#022c22',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const teal: ColorScale = {\r\n 25: '#f4fefe',\r\n 50: '#f0fdfa',\r\n 100: '#ccfbf1',\r\n 200: '#99f6e4',\r\n 300: '#5eead4',\r\n 400: '#2dd4bf',\r\n 500: '#14b8a6',\r\n 600: '#0d9488',\r\n 700: '#0f766e',\r\n 800: '#115e59',\r\n 900: '#134e4a',\r\n 950: '#042f2e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const cyan: ColorScale = {\r\n 25: '#f3fefe',\r\n 50: '#ecfeff',\r\n 100: '#cffafe',\r\n 200: '#a5f3fc',\r\n 300: '#67e8f9',\r\n 400: '#22d3ee',\r\n 500: '#06b6d4',\r\n 600: '#0891b2',\r\n 700: '#0e7490',\r\n 800: '#155e75',\r\n 900: '#164e63',\r\n 950: '#083344',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const sky: ColorScale = {\r\n 25: '#f5faff',\r\n 50: '#f0f9ff',\r\n 100: '#e0f2fe',\r\n 200: '#bae6fd',\r\n 300: '#7dd3fc',\r\n 400: '#38bdf8',\r\n 500: '#0ea5e9',\r\n 600: '#0284c7',\r\n 700: '#0369a1',\r\n 800: '#075985',\r\n 900: '#0c4a6e',\r\n 950: '#082f49',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const blue: ColorScale = {\r\n 25: '#f5f8ff',\r\n 50: '#eff6ff',\r\n 100: '#dbeafe',\r\n 200: '#bfdbfe',\r\n 300: '#93c5fd',\r\n 400: '#60a5fa',\r\n 500: '#3b82f6',\r\n 600: '#2563eb',\r\n 700: '#1d4ed8',\r\n 800: '#1e40af',\r\n 900: '#1e3a8a',\r\n 950: '#172554',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const indigo: ColorScale = {\r\n 25: '#f5f7ff',\r\n 50: '#eef2ff',\r\n 100: '#e0e7ff',\r\n 200: '#c7d2fe',\r\n 300: '#a5b4fc',\r\n 400: '#818cf8',\r\n 500: '#6366f1',\r\n 600: '#4f46e5',\r\n 700: '#4338ca',\r\n 800: '#3730a3',\r\n 900: '#312e81',\r\n 950: '#1e1b4b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const violet: ColorScale = {\r\n 25: '#f8f5ff',\r\n 50: '#f5f3ff',\r\n 100: '#ede9fe',\r\n 200: '#ddd6fe',\r\n 300: '#c4b5fd',\r\n 400: '#a78bfa',\r\n 500: '#8b5cf6',\r\n 600: '#7c3aed',\r\n 700: '#6d28d9',\r\n 800: '#5b21b6',\r\n 900: '#4c1d95',\r\n 950: '#2e1065',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const purple: ColorScale = {\r\n 25: '#faf5ff',\r\n 50: '#faf5ff',\r\n 100: '#f3e8ff',\r\n 200: '#e9d5ff',\r\n 300: '#d8b4fe',\r\n 400: '#c084fc',\r\n 500: '#a855f7',\r\n 600: '#9333ea',\r\n 700: '#7e22ce',\r\n 800: '#6b21a8',\r\n 900: '#581c87',\r\n 950: '#3b0764',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const fuchsia: ColorScale = {\r\n 25: '#fef5ff',\r\n 50: '#fdf4ff',\r\n 100: '#fae8ff',\r\n 200: '#f5d0fe',\r\n 300: '#f0abfc',\r\n 400: '#e879f9',\r\n 500: '#d946ef',\r\n 600: '#c026d3',\r\n 700: '#a21caf',\r\n 800: '#86198f',\r\n 900: '#701a75',\r\n 950: '#4a044e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const pink: ColorScale = {\r\n 25: '#fef5f9',\r\n 50: '#fdf2f8',\r\n 100: '#fce7f3',\r\n 200: '#fbcfe8',\r\n 300: '#f9a8d4',\r\n 400: '#f472b6',\r\n 500: '#ec4899',\r\n 600: '#db2777',\r\n 700: '#be185d',\r\n 800: '#9d174d',\r\n 900: '#831843',\r\n 950: '#500724',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const rose: ColorScale = {\r\n 25: '#fff5f6',\r\n 50: '#fff1f2',\r\n 100: '#ffe4e6',\r\n 200: '#fecdd3',\r\n 300: '#fda4af',\r\n 400: '#fb7185',\r\n 500: '#f43f5e',\r\n 600: '#e11d48',\r\n 700: '#be123c',\r\n 800: '#9f1239',\r\n 900: '#881337',\r\n 950: '#4c0519',\r\n}\r\n\r\n","/**\r\n * Color Scales - Modern color palettes with shades from 25 to 950\r\n *\r\n * @example\r\n * ```ts\r\n * import { colors, indigo, emerald } from '@aurora-ui/theme'\r\n *\r\n * colors.indigo[500] // '#6366f1'\r\n * emerald[400] // '#34d399'\r\n * ```\r\n */\r\n\r\n// Neutrals\r\nexport { gray } from './gray'\r\nexport { slate } from './slate'\r\nexport { stone } from './stone'\r\n\r\n// Colors\r\nexport { red } from './red'\r\nexport { orange } from './orange'\r\nexport { amber } from './amber'\r\nexport { yellow } from './yellow'\r\nexport { lime } from './lime'\r\nexport { green } from './green'\r\nexport { emerald } from './emerald'\r\nexport { teal } from './teal'\r\nexport { cyan } from './cyan'\r\nexport { sky } from './sky'\r\nexport { blue } from './blue'\r\nexport { indigo } from './indigo'\r\nexport { violet } from './violet'\r\nexport { purple } from './purple'\r\nexport { fuchsia } from './fuchsia'\r\nexport { pink } from './pink'\r\nexport { rose } from './rose'\r\n\r\n// Special values\r\nexport const white = '#ffffff'\r\nexport const black = '#000000'\r\nexport const transparent = 'transparent'\r\nexport const current = 'currentColor'\r\n\r\n// Import all for the colors object\r\nimport { amber } from './amber'\r\nimport { blue } from './blue'\r\nimport { cyan } from './cyan'\r\nimport { emerald } from './emerald'\r\nimport { fuchsia } from './fuchsia'\r\nimport { gray } from './gray'\r\nimport { green } from './green'\r\nimport { indigo } from './indigo'\r\nimport { lime } from './lime'\r\nimport { orange } from './orange'\r\nimport { pink } from './pink'\r\nimport { purple } from './purple'\r\nimport { red } from './red'\r\nimport { rose } from './rose'\r\nimport { sky } from './sky'\r\nimport { slate } from './slate'\r\nimport { stone } from './stone'\r\nimport { teal } from './teal'\r\nimport { violet } from './violet'\r\nimport { yellow } from './yellow'\r\n\r\n/**\r\n * All color scales organized by name\r\n */\r\nexport const colors = {\r\n // Neutrals\r\n gray,\r\n slate,\r\n stone,\r\n // Colors\r\n red,\r\n orange,\r\n amber,\r\n yellow,\r\n lime,\r\n green,\r\n emerald,\r\n teal,\r\n cyan,\r\n sky,\r\n blue,\r\n indigo,\r\n violet,\r\n purple,\r\n fuchsia,\r\n pink,\r\n rose,\r\n // Special\r\n white: '#ffffff',\r\n black: '#000000',\r\n transparent: 'transparent',\r\n current: 'currentColor',\r\n} as const\r\n\r\n","import { slate, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Shared neutral colors for light themes\r\n * Follows WCAG AA contrast guidelines with slate palette\r\n */\r\nexport const neutralLight: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: slate[50],\r\n surface: white,\r\n surfaceHover: slate[200],\r\n surfaceActive: slate[300],\r\n elevated: white,\r\n overlay: 'rgba(15, 23, 42, 0.6)',\r\n text: slate[800],\r\n textSecondary: slate[500],\r\n textTertiary: slate[400],\r\n textInverse: white,\r\n border: slate[200],\r\n borderHover: slate[300],\r\n borderSubtle: slate[100],\r\n disabled: slate[300],\r\n disabledText: slate[400],\r\n}\r\n\r\n/**\r\n * Shared neutral colors for dark themes\r\n * Follows WCAG AA contrast guidelines with slate palette\r\n */\r\nexport const neutralDark: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: slate[950],\r\n surface: slate[900],\r\n surfaceHover: slate[800],\r\n surfaceActive: slate[700],\r\n elevated: slate[800],\r\n overlay: 'rgba(0, 0, 0, 0.8)',\r\n text: slate[50],\r\n textSecondary: slate[400],\r\n textTertiary: slate[500],\r\n textInverse: slate[900],\r\n border: slate[800],\r\n borderHover: slate[700],\r\n borderSubtle: slate[900],\r\n disabled: slate[700],\r\n disabledText: slate[500],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { indigo, cyan, slate, green, red, amber, blue, violet, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Indigo light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const indigoLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Indigo palette\r\n primary: indigo[600],\r\n onPrimary: white,\r\n primaryHover: indigo[700],\r\n primaryActive: indigo[800],\r\n primarySubtle: indigo[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: cyan[500],\r\n onAccent: white,\r\n accentHover: cyan[600],\r\n accentSubtle: cyan[50],\r\n borderFocus: indigo[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: indigo[500],\r\n linkHover: indigo[600],\r\n linkVisited: violet[600],\r\n focus: indigo[500],\r\n}\r\n\r\n/**\r\n * Indigo dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const indigoDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Indigo palette\r\n primary: indigo[500],\r\n onPrimary: white,\r\n primaryHover: indigo[400],\r\n primaryActive: indigo[600],\r\n primarySubtle: indigo[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: cyan[500],\r\n onAccent: white,\r\n accentHover: cyan[400],\r\n accentSubtle: cyan[950],\r\n borderFocus: indigo[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: indigo[400],\r\n linkHover: indigo[300],\r\n linkVisited: violet[400],\r\n focus: indigo[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { blue, slate, green, red, amber, violet, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Blue light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const blueLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Blue palette\r\n primary: blue[600],\r\n onPrimary: white,\r\n primaryHover: blue[700],\r\n primaryActive: blue[800],\r\n primarySubtle: blue[50],\r\n // Secondary - Neutral with slight blue tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent (using primary for consistency)\r\n accent: blue[600],\r\n onAccent: white,\r\n accentHover: blue[700],\r\n accentSubtle: blue[50],\r\n borderFocus: blue[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: blue[500],\r\n linkHover: blue[600],\r\n linkVisited: violet[600],\r\n focus: blue[500],\r\n}\r\n\r\n/**\r\n * Blue dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const blueDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Blue palette\r\n primary: blue[500],\r\n onPrimary: white,\r\n primaryHover: blue[400],\r\n primaryActive: blue[600],\r\n primarySubtle: blue[950],\r\n // Secondary - Neutral with slight blue tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent (using primary for consistency)\r\n accent: blue[500],\r\n onAccent: white,\r\n accentHover: blue[400],\r\n accentSubtle: blue[950],\r\n borderFocus: blue[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: blue[400],\r\n linkHover: blue[300],\r\n linkVisited: violet[400],\r\n focus: blue[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { rose, violet, slate, green, amber, red, blue, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Rose light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const roseLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Rose palette\r\n primary: rose[600],\r\n onPrimary: white,\r\n primaryHover: rose[700],\r\n primaryActive: rose[800],\r\n primarySubtle: rose[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: violet[600],\r\n onAccent: white,\r\n accentHover: violet[700],\r\n accentSubtle: violet[50],\r\n borderFocus: rose[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: rose[500],\r\n linkHover: rose[600],\r\n linkVisited: purple[600],\r\n focus: rose[500],\r\n}\r\n\r\n/**\r\n * Rose dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const roseDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Rose palette\r\n primary: rose[500],\r\n onPrimary: white,\r\n primaryHover: rose[400],\r\n primaryActive: rose[600],\r\n primarySubtle: rose[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: violet[500],\r\n onAccent: white,\r\n accentHover: violet[400],\r\n accentSubtle: violet[950],\r\n borderFocus: rose[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: rose[400],\r\n linkHover: rose[300],\r\n linkVisited: purple[400],\r\n focus: rose[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { emerald, amber, slate, green, red, blue, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Emerald light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const emeraldLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Emerald palette\r\n primary: emerald[600],\r\n onPrimary: white,\r\n primaryHover: emerald[700],\r\n primaryActive: emerald[800],\r\n primarySubtle: emerald[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: amber[500],\r\n onAccent: amber[900],\r\n accentHover: amber[600],\r\n accentSubtle: amber[50],\r\n borderFocus: emerald[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: emerald[600],\r\n linkHover: emerald[700],\r\n linkVisited: teal[700],\r\n focus: emerald[500],\r\n}\r\n\r\n/**\r\n * Emerald dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const emeraldDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Emerald palette\r\n primary: emerald[500],\r\n onPrimary: white,\r\n primaryHover: emerald[400],\r\n primaryActive: emerald[600],\r\n primarySubtle: emerald[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: amber[500],\r\n onAccent: amber[950],\r\n accentHover: amber[400],\r\n accentSubtle: amber[950],\r\n borderFocus: emerald[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: emerald[400],\r\n linkHover: emerald[300],\r\n linkVisited: teal[400],\r\n focus: emerald[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { teal, orange, slate, green, amber, red, blue, cyan, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Teal light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const tealLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Teal palette\r\n primary: teal[600],\r\n onPrimary: white,\r\n primaryHover: teal[700],\r\n primaryActive: teal[800],\r\n primarySubtle: teal[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: orange[500],\r\n onAccent: white,\r\n accentHover: orange[600],\r\n accentSubtle: orange[50],\r\n borderFocus: teal[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: teal[600],\r\n linkHover: teal[700],\r\n linkVisited: cyan[700],\r\n focus: teal[500],\r\n}\r\n\r\n/**\r\n * Teal dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const tealDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Teal palette\r\n primary: teal[500],\r\n onPrimary: white,\r\n primaryHover: teal[400],\r\n primaryActive: teal[600],\r\n primarySubtle: teal[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: orange[500],\r\n onAccent: white,\r\n accentHover: orange[400],\r\n accentSubtle: orange[950],\r\n borderFocus: teal[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: teal[400],\r\n linkHover: teal[300],\r\n linkVisited: cyan[400],\r\n focus: teal[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { violet, pink, slate, green, amber, red, blue, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Violet light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const violetLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Violet palette\r\n primary: violet[600],\r\n onPrimary: white,\r\n primaryHover: violet[700],\r\n primaryActive: violet[800],\r\n primarySubtle: violet[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: pink[500],\r\n onAccent: white,\r\n accentHover: pink[600],\r\n accentSubtle: pink[50],\r\n borderFocus: violet[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: violet[500],\r\n linkHover: violet[600],\r\n linkVisited: purple[600],\r\n focus: violet[500],\r\n}\r\n\r\n/**\r\n * Violet dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const violetDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Violet palette\r\n primary: violet[500],\r\n onPrimary: white,\r\n primaryHover: violet[400],\r\n primaryActive: violet[600],\r\n primarySubtle: violet[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: pink[500],\r\n onAccent: white,\r\n accentHover: pink[400],\r\n accentSubtle: pink[950],\r\n borderFocus: violet[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: violet[400],\r\n linkHover: violet[300],\r\n linkVisited: purple[400],\r\n focus: violet[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { amber, indigo, slate, green, red, blue, yellow, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Amber light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const amberLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Amber palette (darker shade for better contrast)\r\n primary: amber[500],\r\n onPrimary: amber[900],\r\n primaryHover: amber[600],\r\n primaryActive: amber[700],\r\n primarySubtle: amber[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: indigo[600],\r\n onAccent: white,\r\n accentHover: indigo[700],\r\n accentSubtle: indigo[50],\r\n borderFocus: amber[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: amber[600],\r\n linkHover: amber[700],\r\n linkVisited: yellow[700],\r\n focus: amber[500],\r\n}\r\n\r\n/**\r\n * Amber dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const amberDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Amber palette\r\n primary: amber[500],\r\n onPrimary: amber[950],\r\n primaryHover: amber[400],\r\n primaryActive: amber[600],\r\n primarySubtle: amber[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[400],\r\n accentSubtle: indigo[950],\r\n borderFocus: amber[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: amber[400],\r\n linkHover: amber[300],\r\n linkVisited: yellow[400],\r\n focus: amber[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { cyan, rose, slate, green, amber, red, blue, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Cyan light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const cyanLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Cyan palette\r\n primary: cyan[600],\r\n onPrimary: white,\r\n primaryHover: cyan[700],\r\n primaryActive: cyan[800],\r\n primarySubtle: cyan[50],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: rose[500],\r\n onAccent: white,\r\n accentHover: rose[600],\r\n accentSubtle: rose[50],\r\n borderFocus: cyan[500],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: cyan[600],\r\n linkHover: cyan[700],\r\n linkVisited: teal[700],\r\n focus: cyan[500],\r\n}\r\n\r\n/**\r\n * Cyan dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const cyanDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Cyan palette\r\n primary: cyan[500],\r\n onPrimary: white,\r\n primaryHover: cyan[400],\r\n primaryActive: cyan[600],\r\n primarySubtle: cyan[950],\r\n // Secondary - Neutral with slight tint\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: rose[500],\r\n onAccent: white,\r\n accentHover: rose[400],\r\n accentSubtle: rose[950],\r\n borderFocus: cyan[400],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: cyan[400],\r\n linkHover: cyan[300],\r\n linkVisited: teal[400],\r\n focus: cyan[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { slate, blue, green, amber, red, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Slate light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const slateLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Slate palette\r\n primary: slate[700],\r\n onPrimary: white,\r\n primaryHover: slate[800],\r\n primaryActive: slate[900],\r\n primarySubtle: slate[100],\r\n // Secondary - Neutral\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: blue[600],\r\n onAccent: white,\r\n accentHover: blue[700],\r\n accentSubtle: blue[50],\r\n borderFocus: slate[600],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: slate[700],\r\n linkHover: slate[800],\r\n linkVisited: slate[600],\r\n focus: slate[600],\r\n}\r\n\r\n/**\r\n * Slate dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const slateDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Slate palette\r\n primary: slate[300],\r\n onPrimary: slate[900],\r\n primaryHover: slate[200],\r\n primaryActive: slate[400],\r\n primarySubtle: slate[900],\r\n // Secondary - Neutral\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: blue[500],\r\n onAccent: white,\r\n accentHover: blue[400],\r\n accentSubtle: blue[950],\r\n borderFocus: slate[300],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: slate[300],\r\n linkHover: slate[200],\r\n linkVisited: slate[400],\r\n focus: slate[300],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { gray, indigo, slate, green, amber, red, blue, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Gray light palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const grayLight: ColorPalette = {\r\n ...neutralLight,\r\n // Primary - Gray palette\r\n primary: gray[900],\r\n onPrimary: white,\r\n primaryHover: gray[800],\r\n primaryActive: gray[950],\r\n primarySubtle: gray[100],\r\n // Secondary - Neutral\r\n secondary: slate[100],\r\n onSecondary: slate[700],\r\n secondaryHover: slate[200],\r\n secondaryActive: slate[300],\r\n secondarySubtle: slate[50],\r\n // Accent\r\n accent: indigo[600],\r\n onAccent: white,\r\n accentHover: indigo[700],\r\n accentSubtle: indigo[50],\r\n borderFocus: gray[900],\r\n // Semantic colors - Soft and subtle\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: amber[400],\r\n onWarning: amber[900],\r\n warningHover: amber[500],\r\n warningSubtle: amber[50],\r\n error: red[400],\r\n onError: white,\r\n errorHover: red[500],\r\n errorSubtle: red[50],\r\n info: blue[400],\r\n onInfo: white,\r\n infoHover: blue[500],\r\n infoSubtle: blue[50],\r\n // Interactive\r\n link: gray[900],\r\n linkHover: gray[700],\r\n linkVisited: gray[600],\r\n focus: gray[900],\r\n}\r\n\r\n/**\r\n * Gray dark palette - Modern, accessible color scheme\r\n * Follows WCAG AA contrast guidelines\r\n */\r\nexport const grayDark: ColorPalette = {\r\n ...neutralDark,\r\n // Primary - Gray palette\r\n primary: gray[50],\r\n onPrimary: gray[900],\r\n primaryHover: gray[100],\r\n primaryActive: gray[200],\r\n primarySubtle: gray[900],\r\n // Secondary - Neutral\r\n secondary: slate[800],\r\n onSecondary: slate[200],\r\n secondaryHover: slate[700],\r\n secondaryActive: slate[600],\r\n secondarySubtle: slate[900],\r\n // Accent\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[400],\r\n accentSubtle: indigo[950],\r\n borderFocus: gray[50],\r\n // Semantic colors\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[950],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[950],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[950],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[950],\r\n // Interactive\r\n link: gray[50],\r\n linkHover: gray[200],\r\n linkVisited: gray[300],\r\n focus: gray[50],\r\n}\r\n\r\n","/**\r\n * Theme Presets - Ready-to-use color palettes for themes\r\n *\r\n * @example\r\n * ```ts\r\n * import { palettes, roseLight, createTheme, defaultTheme } from '@aurora-ui/theme'\r\n *\r\n * // Use a preset directly\r\n * const roseTheme = createTheme(defaultTheme, { colors: roseLight })\r\n *\r\n * // Or via the palettes object\r\n * const theme = createTheme(defaultTheme, {\r\n * colors: palettes.emerald.light\r\n * })\r\n * ```\r\n */\r\n\r\n// Default palette (indigo)\r\nexport { indigoLight, indigoDark } from './indigo'\r\n\r\n// Color palettes\r\nexport { blueLight, blueDark } from './blue'\r\nexport { roseLight, roseDark } from './rose'\r\nexport { emeraldLight, emeraldDark } from './emerald'\r\nexport { tealLight, tealDark } from './teal'\r\nexport { violetLight, violetDark } from './violet'\r\nexport { amberLight, amberDark } from './amber'\r\nexport { cyanLight, cyanDark } from './cyan'\r\n\r\n// Neutral palettes\r\nexport { slateLight, slateDark } from './slate'\r\nexport { grayLight, grayDark } from './gray'\r\n\r\n// Import for palettes object\r\nimport { amberLight, amberDark } from './amber'\r\nimport { blueLight, blueDark } from './blue'\r\nimport { cyanLight, cyanDark } from './cyan'\r\nimport { emeraldLight, emeraldDark } from './emerald'\r\nimport { grayLight, grayDark } from './gray'\r\nimport { indigoLight, indigoDark } from './indigo'\r\nimport { roseLight, roseDark } from './rose'\r\nimport { slateLight, slateDark } from './slate'\r\nimport { tealLight, tealDark } from './teal'\r\nimport { violetLight, violetDark } from './violet'\r\n\r\n/**\r\n * All available color palettes organized by name\r\n */\r\nexport const palettes = {\r\n // Default\r\n indigo: { light: indigoLight, dark: indigoDark },\r\n // Colors\r\n blue: { light: blueLight, dark: blueDark },\r\n rose: { light: roseLight, dark: roseDark },\r\n emerald: { light: emeraldLight, dark: emeraldDark },\r\n teal: { light: tealLight, dark: tealDark },\r\n violet: { light: violetLight, dark: violetDark },\r\n amber: { light: amberLight, dark: amberDark },\r\n cyan: { light: cyanLight, dark: cyanDark },\r\n // Neutrals\r\n slate: { light: slateLight, dark: slateDark },\r\n gray: { light: grayLight, dark: grayDark },\r\n} as const\r\n\r\n","import { indigoLight, indigoDark } from './palettes'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Default spacing scale\r\n */\r\nexport const defaultSpacing: Theme['spacing'] = {\r\n none: '0',\r\n '2xs': '0.125rem', // 2px\r\n xs: '0.25rem', // 4px\r\n sm: '0.5rem', // 8px\r\n md: '1rem', // 16px\r\n lg: '1.5rem', // 24px\r\n xl: '2rem', // 32px\r\n '2xl': '3rem', // 48px\r\n '3xl': '4rem', // 64px\r\n '4xl': '6rem', // 96px\r\n '5xl': '8rem', // 128px\r\n}\r\n\r\n/**\r\n * Default border radius scale\r\n */\r\nexport const defaultRadius: Theme['radius'] = {\r\n none: '0',\r\n xs: '0.125rem', // 2px\r\n sm: '0.25rem', // 4px\r\n md: '0.375rem', // 6px\r\n lg: '0.5rem', // 8px\r\n xl: '0.75rem', // 12px\r\n full: '9999px',\r\n}\r\n\r\n/**\r\n * Default shadow scale\r\n */\r\nexport const defaultShadows: Theme['shadows'] = {\r\n none: 'none',\r\n xs: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n sm: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\r\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\r\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\r\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\r\n}\r\n\r\n/**\r\n * Default font size scale\r\n */\r\nexport const defaultFontSize: Theme['fontSize'] = {\r\n '2xs': '0.625rem', // 10px\r\n xs: '0.75rem', // 12px\r\n sm: '0.875rem', // 14px\r\n md: '1rem', // 16px\r\n lg: '1.25rem', // 20px\r\n xl: '1.5rem', // 24px\r\n '2xl': '2rem', // 32px\r\n '3xl': '2.5rem', // 40px\r\n '4xl': '3rem', // 48px\r\n '5xl': '4rem', // 64px\r\n}\r\n\r\n/**\r\n * Default font weight scale\r\n */\r\nexport const defaultFontWeight: Theme['fontWeight'] = {\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semibold: 600,\r\n bold: 700,\r\n}\r\n\r\n/**\r\n * Default line height scale\r\n */\r\nexport const defaultLineHeight: Theme['lineHeight'] = {\r\n none: 1,\r\n tight: 1.25,\r\n normal: 1.5,\r\n relaxed: 1.75,\r\n}\r\n\r\n/**\r\n * Default z-index scale\r\n */\r\nexport const defaultZIndex: Theme['zIndex'] = {\r\n behind: -1,\r\n base: 0,\r\n dropdown: 1000,\r\n overlay: 1300,\r\n modal: 1400,\r\n tooltip: 1600,\r\n}\r\n\r\n/**\r\n * Default transition scale\r\n */\r\nexport const defaultTransition: Theme['transition'] = {\r\n fast: '150ms ease-out',\r\n normal: '250ms ease-out',\r\n slow: '350ms ease-out',\r\n}\r\n\r\n/**\r\n * Default colors (using indigo palette)\r\n */\r\nexport const defaultColors = indigoLight\r\n\r\n/**\r\n * Default dark colors (using indigo palette)\r\n */\r\nexport const defaultDarkColors = indigoDark\r\n\r\n/**\r\n * Complete default light theme\r\n */\r\nexport const defaultTheme: Theme = {\r\n colors: defaultColors,\r\n spacing: defaultSpacing,\r\n radius: defaultRadius,\r\n shadows: defaultShadows,\r\n fontSize: defaultFontSize,\r\n fontWeight: defaultFontWeight,\r\n lineHeight: defaultLineHeight,\r\n zIndex: defaultZIndex,\r\n transition: defaultTransition,\r\n}\r\n\r\n/**\r\n * Complete default dark theme\r\n */\r\nexport const defaultDarkTheme: Theme = {\r\n ...defaultTheme,\r\n colors: defaultDarkColors,\r\n}\r\n","\r\nimport {\r\n cacheKeyToSuffix,\r\n createCacheKey,\r\n createLRUCache,\r\n generateCssClass,\r\n getTheme,\r\n MAX_CACHE_SIZE,\r\n toKebabCaseClassName\r\n} from './styleEngine'\r\n\r\nimport type { StyleFunction, StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n/**\r\n * Extract component name from stack trace\r\n */\r\nconst getComponentNameFromStack = (): string => {\r\n const stack = new Error().stack || ''\r\n const match = stack.match(/([A-Za-z0-9_]+)\\.styles\\.[tj]s/)\r\n if (match?.[1]) {\r\n return toKebabCaseClassName(match[1])\r\n }\r\n const fileMatch = stack.match(/\\/([A-Za-z0-9_]+)\\.[tj]sx?[:\\d]*\\)?$/m)\r\n if (fileMatch?.[1] && fileMatch[1] !== 'createStyles') {\r\n return toKebabCaseClassName(fileMatch[1])\r\n }\r\n return 'style'\r\n}\r\n\r\n/**\r\n * Process styles and generate CSS classes\r\n */\r\nconst processStyles = <T extends Record<string, StyleWithPseudos | StyleFunction>>(\r\n styles: T,\r\n componentName: string\r\n): Record<string, string | ((...args: unknown[]) => string)> => {\r\n const classes = {} as Record<string, string | ((...args: unknown[]) => string)>\r\n\r\n for (const key in styles) {\r\n const style = styles[key]\r\n if (style) {\r\n const baseName = `${componentName}-${toKebabCaseClassName(key)}`\r\n if (typeof style === 'function') {\r\n const lru = createLRUCache<string>(MAX_CACHE_SIZE)\r\n classes[key] = (...args: unknown[]) => {\r\n const cacheKey = createCacheKey(args)\r\n return lru.getOrSet(cacheKey, () => {\r\n const resolved = (style as (...a: unknown[]) => StyleWithPseudos)(...args)\r\n return generateCssClass(resolved, `${baseName}-${cacheKeyToSuffix(cacheKey)}`)\r\n })\r\n }\r\n } else {\r\n classes[key] = generateCssClass(style, baseName, true)\r\n }\r\n }\r\n }\r\n\r\n return classes\r\n}\r\n\r\n/**\r\n * Create typed styles with support for pseudo-classes, media queries, container queries, feature queries and complex selectors\r\n *\r\n * Supports custom extended themes via generic parameter.\r\n *\r\n * @example\r\n * ```ts\r\n * // Basic usage with default theme\r\n * const STYLES = createStyles((theme) => ({\r\n * root: {\r\n * display: 'flex',\r\n * padding: theme.spacing.md,\r\n * ':hover': { backgroundColor: theme.colors.backgroundHover },\r\n * }\r\n * }))\r\n *\r\n * // With custom extended theme\r\n * type MyTheme = Theme & { colors: BaseColors & { accent: string } }\r\n *\r\n * const STYLES = createStyles<MyTheme>((theme) => ({\r\n * root: {\r\n * backgroundColor: theme.colors.accent, // TypeScript knows about accent!\r\n * }\r\n * }))\r\n * ```\r\n */\r\nexport const createStyles = <\r\n TTheme extends Theme = Theme,\r\n T extends Record<string, StyleWithPseudos | StyleFunction> = Record<string, StyleWithPseudos | StyleFunction>\r\n>(\r\n stylesOrCreator: T | ((theme: TTheme) => T)\r\n ): { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string } => {\r\n type Result = { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string }\r\n const componentName = getComponentNameFromStack()\r\n\r\n // Styles with theme (function)\r\n if (typeof stylesOrCreator === 'function') {\r\n let cached: Result | null = null\r\n let lastTheme: TTheme | undefined\r\n\r\n return new Proxy({} as Result, {\r\n get(_, prop: string | symbol) {\r\n const theme = getTheme() as TTheme | undefined\r\n if (!theme) {\r\n throw new Error('createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.')\r\n }\r\n if (theme !== lastTheme || !cached) {\r\n cached = processStyles(stylesOrCreator(theme), componentName) as Result\r\n lastTheme = theme\r\n }\r\n return cached[prop as keyof T]\r\n }\r\n })\r\n }\r\n\r\n // Styles without theme (direct object)\r\n return processStyles(stylesOrCreator, componentName) as Result\r\n}\r\n\r\n","import {\r\n addKeyframes,\r\n getNextKeyframeId,\r\n hashString,\r\n hasKeyframes,\r\n insertRule,\r\n objectToCss\r\n} from './styleEngine'\r\n\r\nimport type { CSSProperties } from 'react'\r\n\r\n\r\n/**\r\n * Create and inject keyframes\r\n *\r\n * @example\r\n * ```ts\r\n * const fadeIn = keyframes({\r\n * from: { opacity: 0 },\r\n * to: { opacity: 1 }\r\n * })\r\n *\r\n * const STYLES = createStyles({\r\n * animated: { animation: `${fadeIn} 0.3s ease-in-out` }\r\n * })\r\n * ```\r\n */\r\nexport const keyframes = (frames: Record<string, CSSProperties>): string => {\r\n // Generate keyframes CSS\r\n let css = ''\r\n for (const key in frames) {\r\n css += `${key}{${objectToCss(frames[key] as Record<string, unknown>)}}`\r\n }\r\n\r\n // Check if these keyframes already exist\r\n if (hasKeyframes(css)) {\r\n const hash = hashString(css)\r\n return `aurora-kf-${hash}`\r\n }\r\n\r\n // Generate a unique name\r\n const name = `aurora-kf-${getNextKeyframeId()}`\r\n\r\n // Inject @keyframes rule\r\n insertRule(`@keyframes ${name}{${css}}`)\r\n addKeyframes(css)\r\n\r\n return name\r\n}\r\n\r\n","import { addFontFace, hasFontFace, insertRule } from './styleEngine'\r\n\r\nimport type { FontFaceOptions } from './types'\r\n\r\n/**\r\n * Inject a @font-face rule\r\n *\r\n * @example\r\n * ```ts\r\n * fontFace({\r\n * fontFamily: 'MyFont',\r\n * src: \"url('/fonts/myfont.woff2') format('woff2')\",\r\n * fontWeight: 400,\r\n * fontStyle: 'normal',\r\n * fontDisplay: 'swap'\r\n * })\r\n * ```\r\n */\r\nexport const fontFace = (options: FontFaceOptions): string => {\r\n const {\r\n fontFamily,\r\n src,\r\n fontStyle = 'normal',\r\n fontWeight = 400,\r\n fontDisplay = 'swap',\r\n unicodeRange\r\n } = options\r\n\r\n // Generate CSS\r\n let css = `font-family:\"${fontFamily}\";`\r\n css += `src:${src};`\r\n css += `font-style:${fontStyle};`\r\n css += `font-weight:${fontWeight};`\r\n css += `font-display:${fontDisplay};`\r\n if (unicodeRange) {\r\n css += `unicode-range:${unicodeRange};`\r\n }\r\n\r\n // Check if already injected\r\n if (!hasFontFace(css)) {\r\n insertRule(`@font-face{${css}}`)\r\n addFontFace(css)\r\n }\r\n\r\n return fontFamily\r\n}\r\n\r\n","import { insertRule, toKebabCase } from './styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Generate CSS variables from a theme object\r\n */\r\nconst generateCssVariables = (obj: Record<string, unknown>, prefix: string): string => {\r\n let css = ''\r\n\r\n for (const key in obj) {\r\n const value = obj[key]\r\n const varName = `--${prefix}-${toKebabCase(key)}`\r\n\r\n if (value && typeof value === 'object') {\r\n css += generateCssVariables(value as Record<string, unknown>, `${prefix}-${toKebabCase(key)}`)\r\n } else if (value != null) {\r\n css += `${varName}:${value};`\r\n }\r\n }\r\n\r\n return css\r\n}\r\n\r\n/**\r\n * Create CSS variables from the theme\r\n * Injects variables into :root\r\n *\r\n * @example\r\n * ```ts\r\n * // In ThemeProvider\r\n * injectCssVariables(theme, 'aurora')\r\n * // Generates: :root { --aurora-colors-primary: #2563EB; ... }\r\n * ```\r\n */\r\nexport const injectCssVariables = (theme: Theme, prefix = 'theme'): void => {\r\n const variables = generateCssVariables(theme, prefix)\r\n insertRule(`:root{${variables}}`)\r\n}\r\n\r\n/**\r\n * Helper to use a CSS variable from the theme\r\n *\r\n * @example\r\n * ```ts\r\n * const STYLES = createStyles({\r\n * root: { color: cssVar('colors-primary') }\r\n * })\r\n * // Generates: color: var(--theme-colors-primary)\r\n * ```\r\n */\r\nexport const cssVar = (path: string, fallback?: string): string => {\r\n const varName = `--theme-${path.replace(/\\./g, '-')}`\r\n return fallback ? `var(${varName}, ${fallback})` : `var(${varName})`\r\n}\r\n\r\n/**\r\n * Create CSS variable references from a typed object\r\n * Returns an object with the same structure where values are var() references\r\n *\r\n * @example\r\n * ```ts\r\n * const vars = cssVariables({\r\n * primaryColor: '#007bff',\r\n * spacing: '1rem',\r\n * })\r\n * // vars.primaryColor === 'var(--primary-color)'\r\n * ```\r\n */\r\nexport const cssVariables = <T extends Record<string, string | number>>(\r\n variables: T,\r\n options: { prefix?: string; inject?: boolean } = {}\r\n): { [K in keyof T]: string } => {\r\n const { prefix = '', inject = false } = options\r\n const result = {} as { [K in keyof T]: string }\r\n let cssToInject = ''\r\n\r\n for (const key in variables) {\r\n const kebabKey = toKebabCase(key)\r\n const varName = prefix ? `--${prefix}-${kebabKey}` : `--${kebabKey}`\r\n result[key] = `var(${varName})`\r\n\r\n if (inject) {\r\n cssToInject += `${varName}:${variables[key]};`\r\n }\r\n }\r\n\r\n if (inject && cssToInject) {\r\n insertRule(`:root{${cssToInject}}`)\r\n }\r\n\r\n return result\r\n}\r\n\r\n","import { getSSRRulesInternal, resetState } from './styleEngine'\r\n\r\n/**\r\n * SSR: Get all collected CSS rules as a single string\r\n * @returns The CSS content to inject into HTML\r\n */\r\nexport const getSSRStyles = (): string => {\r\n return getSSRRulesInternal().join('')\r\n}\r\n\r\n/**\r\n * SSR: Get styles as a <style> tag ready to inject\r\n * @returns The complete style tag to inject into <head>\r\n */\r\nexport const getSSRStyleTag = (): string => {\r\n const css = getSSRStyles()\r\n if (!css) { return '' }\r\n return `<style id=\"aurora-styles\">${css}</style>`\r\n}\r\n\r\n/**\r\n * SSR: Clear the collected rules buffer\r\n * Call at the beginning of each SSR request to ensure clean state\r\n */\r\nexport const clearSSRRules = (): void => {\r\n resetState()\r\n}\r\n\r\n/**\r\n * SSR: Get raw CSS rules as an array\r\n * @returns Array of CSS rules\r\n */\r\nexport const getSSRRulesArray = (): string[] => {\r\n return [...getSSRRulesInternal()]\r\n}\r\n\r\n"]}