@shohojdhara/atomix 0.5.2 → 0.5.5

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.
Files changed (61) hide show
  1. package/atomix.config.ts +33 -33
  2. package/dist/atomix.css +3213 -159
  3. package/dist/atomix.css.map +1 -1
  4. package/dist/atomix.min.css +5 -5
  5. package/dist/atomix.min.css.map +1 -1
  6. package/dist/config.d.ts +187 -112
  7. package/dist/config.js +2 -47
  8. package/dist/config.js.map +1 -1
  9. package/dist/index.d.ts +1958 -900
  10. package/dist/index.esm.js +2279 -382
  11. package/dist/index.esm.js.map +1 -1
  12. package/dist/index.js +2332 -413
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.min.js +1 -1
  15. package/dist/index.min.js.map +1 -1
  16. package/dist/theme.d.ts +1390 -276
  17. package/dist/theme.js +2125 -621
  18. package/dist/theme.js.map +1 -1
  19. package/package.json +1 -1
  20. package/scripts/cli/internal/config-loader.js +30 -20
  21. package/src/lib/config/index.ts +38 -362
  22. package/src/lib/config/loader.ts +422 -0
  23. package/src/lib/config/public-api.ts +43 -0
  24. package/src/lib/config/types.ts +389 -0
  25. package/src/lib/config/validator.ts +305 -0
  26. package/src/lib/theme/adapters/index.ts +1 -1
  27. package/src/lib/theme/adapters/themeAdapter.ts +358 -229
  28. package/src/lib/theme/components/ThemeToggle.tsx +276 -0
  29. package/src/lib/theme/config/configLoader.ts +351 -0
  30. package/src/lib/theme/config/loader.ts +221 -0
  31. package/src/lib/theme/core/createTheme.ts +126 -50
  32. package/src/lib/theme/core/createThemeObject.ts +7 -4
  33. package/src/lib/theme/hooks/useThemeSwitcher.ts +164 -0
  34. package/src/lib/theme/index.ts +322 -38
  35. package/src/lib/theme/runtime/ThemeProvider.tsx +44 -10
  36. package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +44 -393
  37. package/src/lib/theme/runtime/useTheme.ts +1 -0
  38. package/src/lib/theme/tokens/tokens.ts +101 -1
  39. package/src/lib/theme/types.ts +91 -0
  40. package/src/lib/theme/utils/performanceMonitor.ts +315 -0
  41. package/src/lib/theme/utils/responsive.ts +280 -0
  42. package/src/lib/theme/utils/themeUtils.ts +531 -117
  43. package/src/styles/01-settings/_settings.background.scss +34 -5
  44. package/src/styles/02-tools/_tools.background.scss +330 -52
  45. package/src/styles/05-objects/_objects.masonry-grid.scss +3 -3
  46. package/src/styles/06-components/_components.accordion.scss +2 -2
  47. package/src/styles/06-components/_components.badge.scss +1 -1
  48. package/src/styles/06-components/_components.button.scss +2 -2
  49. package/src/styles/06-components/_components.callout.scss +2 -2
  50. package/src/styles/06-components/_components.card.scss +1 -1
  51. package/src/styles/06-components/_components.dropdown.scss +1 -1
  52. package/src/styles/06-components/_components.dynamic-background.scss +69 -0
  53. package/src/styles/06-components/_components.edge-panel.scss +2 -2
  54. package/src/styles/06-components/_components.input.scss +3 -3
  55. package/src/styles/06-components/_components.messages.scss +6 -6
  56. package/src/styles/06-components/_components.modal.scss +1 -1
  57. package/src/styles/06-components/_components.navbar.scss +1 -1
  58. package/src/styles/06-components/_components.popover.scss +1 -1
  59. package/src/styles/06-components/_components.toggle.scss +1 -1
  60. package/src/styles/06-components/_components.tooltip.scss +3 -3
  61. package/src/styles/06-components/_index.scss +1 -0
package/dist/index.d.ts CHANGED
@@ -8877,7 +8877,7 @@ type AccordionComponent = React__default.FC<AccordionProps> & {
8877
8877
  Header: typeof AccordionHeader;
8878
8878
  Body: typeof AccordionBody;
8879
8879
  };
8880
- declare const _default: AccordionComponent;
8880
+ declare const _default$1: AccordionComponent;
8881
8881
 
8882
8882
  /**
8883
8883
  * Glass effect parameters for responsive breakpoints
@@ -11701,7 +11701,7 @@ declare function createBreakpoints(customBreakpoints: Partial<Record<string, Res
11701
11701
  /**
11702
11702
  * Performance metrics collected by the monitor
11703
11703
  */
11704
- interface PerformanceMetrics {
11704
+ interface PerformanceMetrics$1 {
11705
11705
  /** Frames per second (target: 60) */
11706
11706
  fps: number;
11707
11707
  /** Time to render last frame in milliseconds (target: <16ms) */
@@ -11720,7 +11720,7 @@ interface PerformanceMetrics {
11720
11720
  /**
11721
11721
  * Configuration for performance monitor
11722
11722
  */
11723
- interface PerformanceMonitorConfig {
11723
+ interface PerformanceMonitorConfig$1 {
11724
11724
  /** Enable/disable monitoring */
11725
11725
  enabled?: boolean;
11726
11726
  /** Target FPS for auto-scaling (default: 60) */
@@ -11743,7 +11743,7 @@ interface PerformanceMonitorConfig {
11743
11743
  */
11744
11744
  interface UsePerformanceMonitorReturn {
11745
11745
  /** Current performance metrics */
11746
- metrics: PerformanceMetrics;
11746
+ metrics: PerformanceMetrics$1;
11747
11747
  /** Recommended quality level based on performance */
11748
11748
  recommendedQuality: 'low' | 'medium' | 'high';
11749
11749
  /** Whether performance is below target */
@@ -11780,7 +11780,7 @@ interface UsePerformanceMonitorReturn {
11780
11780
  * @param config Monitor configuration
11781
11781
  * @returns Performance metrics and controls
11782
11782
  */
11783
- declare function usePerformanceMonitor(config?: PerformanceMonitorConfig): UsePerformanceMonitorReturn;
11783
+ declare function usePerformanceMonitor$1(config?: PerformanceMonitorConfig$1): UsePerformanceMonitorReturn;
11784
11784
  /**
11785
11785
  * Debug Overlay Component (Optional)
11786
11786
  *
@@ -11788,7 +11788,7 @@ declare function usePerformanceMonitor(config?: PerformanceMonitorConfig): UsePe
11788
11788
  * Only rendered when showOverlay is enabled.
11789
11789
  */
11790
11790
  declare function PerformanceOverlay({ metrics }: {
11791
- metrics: PerformanceMetrics;
11791
+ metrics: PerformanceMetrics$1;
11792
11792
  }): null;
11793
11793
  /**
11794
11794
  * Utility to get quality multipliers for glass parameters
@@ -11909,8 +11909,6 @@ declare const __lib_composables_DeviceDetector: typeof DeviceDetector;
11909
11909
  type __lib_composables_LineChartOptions = LineChartOptions;
11910
11910
  declare const __lib_composables_MOBILE_OPTIMIZED_BREAKPOINTS: typeof MOBILE_OPTIMIZED_BREAKPOINTS;
11911
11911
  declare const __lib_composables_PERFORMANCE_PRESET: typeof PERFORMANCE_PRESET;
11912
- type __lib_composables_PerformanceMetrics = PerformanceMetrics;
11913
- type __lib_composables_PerformanceMonitorConfig = PerformanceMonitorConfig;
11914
11912
  declare const __lib_composables_PerformanceOverlay: typeof PerformanceOverlay;
11915
11913
  type __lib_composables_PieChartOptions = PieChartOptions;
11916
11914
  type __lib_composables_PieSlice = PieSlice;
@@ -11943,7 +11941,6 @@ declare const __lib_composables_useNav: typeof useNav;
11943
11941
  declare const __lib_composables_useNavDropdown: typeof useNavDropdown;
11944
11942
  declare const __lib_composables_useNavItem: typeof useNavItem;
11945
11943
  declare const __lib_composables_useNavbar: typeof useNavbar;
11946
- declare const __lib_composables_usePerformanceMonitor: typeof usePerformanceMonitor;
11947
11944
  declare const __lib_composables_usePieChart: typeof usePieChart;
11948
11945
  declare const __lib_composables_useRadio: typeof useRadio;
11949
11946
  declare const __lib_composables_useResponsiveGlass: typeof useResponsiveGlass;
@@ -11955,8 +11952,8 @@ declare const __lib_composables_useSpinner: typeof useSpinner;
11955
11952
  declare const __lib_composables_useTextarea: typeof useTextarea;
11956
11953
  declare const __lib_composables_useTodo: typeof useTodo;
11957
11954
  declare namespace __lib_composables {
11958
- export { __lib_composables_BALANCED_PRESET as BALANCED_PRESET, __lib_composables_DEFAULT_BREAKPOINTS as DEFAULT_BREAKPOINTS, __lib_composables_DeviceDetector as DeviceDetector, __lib_composables_MOBILE_OPTIMIZED_BREAKPOINTS as MOBILE_OPTIMIZED_BREAKPOINTS, __lib_composables_PERFORMANCE_PRESET as PERFORMANCE_PRESET, __lib_composables_PerformanceOverlay as PerformanceOverlay, __lib_composables_QUALITY_PRESET as QUALITY_PRESET, __lib_composables_createBreakpoints as createBreakpoints, __lib_composables_getDefaultBreakpoints as getDefaultBreakpoints, __lib_composables_getDevicePreset as getDevicePreset, __lib_composables_getMobileOptimizedParams as getMobileOptimizedParams, __lib_composables_getQualityMultipliers as getQualityMultipliers, __lib_composables_useAccordion as useAccordion, __lib_composables_useAtomixGlass as useAtomixGlass, __lib_composables_useBadge as useBadge, __lib_composables_useBarChart as useBarChart, __lib_composables_useBlock as useBlock, __lib_composables_useChartData as useChartData, __lib_composables_useChartInteraction as useChartInteraction, __lib_composables_useChartScale as useChartScale, __lib_composables_useEdgePanel as useEdgePanel, __lib_composables_useForm as useForm, __lib_composables_useFormGroup as useFormGroup, __lib_composables_useHero as useHero, __lib_composables_useInput as useInput, __lib_composables_useLineChart as useLineChart, __lib_composables_useNav as useNav, __lib_composables_useNavDropdown as useNavDropdown, __lib_composables_useNavItem as useNavItem, __lib_composables_useNavbar as useNavbar, __lib_composables_usePerformanceMonitor as usePerformanceMonitor, __lib_composables_usePieChart as usePieChart, __lib_composables_useRadio as useRadio, __lib_composables_useResponsiveGlass as useResponsiveGlass, __lib_composables_useRiver as useRiver, __lib_composables_useSelect as useSelect, __lib_composables_useSideMenu as useSideMenu, __lib_composables_useSideMenuItem as useSideMenuItem, __lib_composables_useSpinner as useSpinner, __lib_composables_useTextarea as useTextarea, __lib_composables_useTodo as useTodo };
11959
- export type { __lib_composables_BarChartOptions as BarChartOptions, __lib_composables_BarDimensions as BarDimensions, __lib_composables_LineChartOptions as LineChartOptions, __lib_composables_PerformanceMetrics as PerformanceMetrics, __lib_composables_PerformanceMonitorConfig as PerformanceMonitorConfig, __lib_composables_PieChartOptions as PieChartOptions, __lib_composables_PieSlice as PieSlice, __lib_composables_RiverContentColumn as RiverContentColumn, __lib_composables_RiverProps as RiverProps, __lib_composables_UseBlockOptions as UseBlockOptions, __lib_composables_UseBlockReturn as UseBlockReturn, __lib_composables_UsePerformanceMonitorReturn as UsePerformanceMonitorReturn };
11955
+ export { __lib_composables_BALANCED_PRESET as BALANCED_PRESET, __lib_composables_DEFAULT_BREAKPOINTS as DEFAULT_BREAKPOINTS, __lib_composables_DeviceDetector as DeviceDetector, __lib_composables_MOBILE_OPTIMIZED_BREAKPOINTS as MOBILE_OPTIMIZED_BREAKPOINTS, __lib_composables_PERFORMANCE_PRESET as PERFORMANCE_PRESET, __lib_composables_PerformanceOverlay as PerformanceOverlay, __lib_composables_QUALITY_PRESET as QUALITY_PRESET, __lib_composables_createBreakpoints as createBreakpoints, __lib_composables_getDefaultBreakpoints as getDefaultBreakpoints, __lib_composables_getDevicePreset as getDevicePreset, __lib_composables_getMobileOptimizedParams as getMobileOptimizedParams, __lib_composables_getQualityMultipliers as getQualityMultipliers, __lib_composables_useAccordion as useAccordion, __lib_composables_useAtomixGlass as useAtomixGlass, __lib_composables_useBadge as useBadge, __lib_composables_useBarChart as useBarChart, __lib_composables_useBlock as useBlock, __lib_composables_useChartData as useChartData, __lib_composables_useChartInteraction as useChartInteraction, __lib_composables_useChartScale as useChartScale, __lib_composables_useEdgePanel as useEdgePanel, __lib_composables_useForm as useForm, __lib_composables_useFormGroup as useFormGroup, __lib_composables_useHero as useHero, __lib_composables_useInput as useInput, __lib_composables_useLineChart as useLineChart, __lib_composables_useNav as useNav, __lib_composables_useNavDropdown as useNavDropdown, __lib_composables_useNavItem as useNavItem, __lib_composables_useNavbar as useNavbar, usePerformanceMonitor$1 as usePerformanceMonitor, __lib_composables_usePieChart as usePieChart, __lib_composables_useRadio as useRadio, __lib_composables_useResponsiveGlass as useResponsiveGlass, __lib_composables_useRiver as useRiver, __lib_composables_useSelect as useSelect, __lib_composables_useSideMenu as useSideMenu, __lib_composables_useSideMenuItem as useSideMenuItem, __lib_composables_useSpinner as useSpinner, __lib_composables_useTextarea as useTextarea, __lib_composables_useTodo as useTodo };
11956
+ export type { __lib_composables_BarChartOptions as BarChartOptions, __lib_composables_BarDimensions as BarDimensions, __lib_composables_LineChartOptions as LineChartOptions, PerformanceMetrics$1 as PerformanceMetrics, PerformanceMonitorConfig$1 as PerformanceMonitorConfig, __lib_composables_PieChartOptions as PieChartOptions, __lib_composables_PieSlice as PieSlice, __lib_composables_RiverContentColumn as RiverContentColumn, __lib_composables_RiverProps as RiverProps, __lib_composables_UseBlockOptions as UseBlockOptions, __lib_composables_UseBlockReturn as UseBlockReturn, __lib_composables_UsePerformanceMonitorReturn as UsePerformanceMonitorReturn };
11960
11957
  }
11961
11958
 
11962
11959
  interface AtomixLogoProps extends React__default.SVGProps<SVGSVGElement> {
@@ -13195,6 +13192,47 @@ interface DesignTokens {
13195
13192
  'breakpoint-lg': string;
13196
13193
  'breakpoint-xl': string;
13197
13194
  'breakpoint-xxl': string;
13195
+ 'interactive-vortex-enabled': string;
13196
+ 'interactive-vortex-strength': string;
13197
+ 'interactive-vortex-radius': string;
13198
+ 'interactive-vortex-decay': string;
13199
+ 'interactive-chromatic-enabled': string;
13200
+ 'interactive-chromatic-mode': string;
13201
+ 'interactive-chromatic-red-shift': string;
13202
+ 'interactive-chromatic-green-shift': string;
13203
+ 'interactive-chromatic-blue-shift': string;
13204
+ 'interactive-chromatic-edge-only': string;
13205
+ 'interactive-chromatic-edge-threshold': string;
13206
+ 'interactive-mouse-sensitivity': string;
13207
+ 'interactive-mouse-trail-effect': string;
13208
+ 'interactive-animation-speed-base': string;
13209
+ 'interactive-animation-speed-multiplier': string;
13210
+ 'optimization-breakpoint-mobile': string;
13211
+ 'optimization-breakpoint-tablet': string;
13212
+ 'optimization-breakpoint-desktop': string;
13213
+ 'optimization-breakpoint-wide': string;
13214
+ 'optimization-device-scaling-mobile': string;
13215
+ 'optimization-device-scaling-tablet': string;
13216
+ 'optimization-device-scaling-desktop': string;
13217
+ 'optimization-performance-fps-target': string;
13218
+ 'optimization-auto-scaling-enabled': string;
13219
+ 'optimization-auto-scaling-low-end': string;
13220
+ 'optimization-auto-scaling-mid-range': string;
13221
+ 'optimization-auto-scaling-high-end': string;
13222
+ 'visual-polish-border-iridescent-glow': string;
13223
+ 'visual-polish-border-shimmer-effect': string;
13224
+ 'visual-polish-border-beveled-edges': string;
13225
+ 'visual-polish-border-pulsing-glow': string;
13226
+ 'visual-polish-content-aware-blur-enabled': string;
13227
+ 'visual-polish-content-aware-depth-detection': string;
13228
+ 'visual-polish-content-aware-edge-preservation': string;
13229
+ 'visual-polish-content-aware-variable-radius': string;
13230
+ 'visual-polish-holographic-enabled': string;
13231
+ 'visual-polish-holographic-rainbow-diffraction': string;
13232
+ 'visual-polish-holographic-scanline-animation': string;
13233
+ 'visual-polish-holographic-grid-overlay': string;
13234
+ 'visual-polish-holographic-data-stream': string;
13235
+ 'visual-polish-holographic-pulse-rings': string;
13198
13236
  [key: string]: string | undefined;
13199
13237
  }
13200
13238
  /**
@@ -13219,203 +13257,6 @@ declare const defaultTokens: DesignTokens;
13219
13257
  */
13220
13258
  declare function createTokens(overrides?: Partial<DesignTokens>): DesignTokens;
13221
13259
 
13222
- /**
13223
- * CSS Variable Generator
13224
- *
13225
- * Generates CSS custom properties from design tokens.
13226
- */
13227
-
13228
- /**
13229
- * Options for CSS variable generation
13230
- */
13231
- interface GenerateCSSVariablesOptions {
13232
- /** CSS selector for the variables (default: ':root') */
13233
- selector?: string;
13234
- /** Prefix for CSS variables (default: 'atomix') */
13235
- prefix?: string;
13236
- }
13237
- /**
13238
- * Generate CSS variables from tokens
13239
- *
13240
- * Converts flat token object to CSS custom properties.
13241
- *
13242
- * @param tokens - Design tokens object
13243
- * @param options - Generation options
13244
- * @returns CSS string with custom properties
13245
- *
13246
- * @example
13247
- * ```typescript
13248
- * const tokens = {
13249
- * 'primary': '#7c3aed',
13250
- * 'spacing-4': '1rem',
13251
- * };
13252
- *
13253
- * const css = generateCSSVariables(tokens);
13254
- * // Returns: ":root {\n --atomix-primary: #7c3aed;\n --atomix-spacing-4: 1rem;\n}"
13255
- * ```
13256
- */
13257
- declare function generateCSSVariables(tokens: DesignTokens, options?: GenerateCSSVariablesOptions): string;
13258
- /**
13259
- * Generate CSS variables with custom selector
13260
- *
13261
- * Useful for theme-specific selectors like `[data-theme="dark"]`
13262
- *
13263
- * @param tokens - Design tokens object
13264
- * @param selector - CSS selector (e.g., '[data-theme="dark"]')
13265
- * @param prefix - CSS variable prefix
13266
- * @returns CSS string
13267
- *
13268
- * @example
13269
- * ```typescript
13270
- * const css = generateCSSVariablesForSelector(
13271
- * tokens,
13272
- * '[data-theme="dark"]',
13273
- * 'atomix'
13274
- * );
13275
- * ```
13276
- */
13277
- declare function generateCSSVariablesForSelector(tokens: DesignTokens, selector: string, prefix?: string): string;
13278
-
13279
- /**
13280
- * Core Theme Functions
13281
- *
13282
- * Simplified theme system using DesignTokens only.
13283
- * Config-first approach: loads from atomix.config.ts when no input is provided.
13284
- */
13285
-
13286
- /**
13287
- * Create theme CSS from DesignTokens
13288
- *
13289
- * **Config-First Approach**: If no input is provided, loads from `atomix.config.ts`.
13290
- *
13291
- * @param input - DesignTokens (partial) or undefined (loads from config)
13292
- * @param options - CSS generation options (prefix is automatically read from config if not provided)
13293
- * @returns CSS string with custom properties
13294
- * @throws Error if config loading fails when no input is provided
13295
- *
13296
- * @example
13297
- * ```typescript
13298
- * // Loads from atomix.config.ts
13299
- * const css = createTheme();
13300
- *
13301
- * // Using DesignTokens
13302
- * const css = createTheme({
13303
- * 'primary': '#7c3aed',
13304
- * 'spacing-4': '1rem',
13305
- * });
13306
- *
13307
- * // With custom options
13308
- * const css = createTheme(undefined, { prefix: 'myapp', selector: ':root' });
13309
- * ```
13310
- */
13311
- declare function createTheme(input?: Partial<DesignTokens>, options?: GenerateCSSVariablesOptions): string;
13312
-
13313
- /**
13314
- * Theme Composition Utilities
13315
- *
13316
- * Simplified utilities for composing and merging DesignTokens.
13317
- */
13318
- /**
13319
- * Deep merge multiple objects
13320
- * Later objects override earlier ones
13321
- */
13322
- declare function deepMerge<T extends Record<string, unknown>>(...objects: Partial<T>[]): T;
13323
-
13324
- /**
13325
- * Merge multiple DesignTokens objects into a single DesignTokens object
13326
- *
13327
- * @param tokens - DesignTokens objects to merge
13328
- * @returns Merged DesignTokens object
13329
- *
13330
- * @example
13331
- * ```typescript
13332
- * const baseTokens = { 'primary': '#000', 'spacing-4': '1rem' };
13333
- * const customTokens = { 'secondary': '#fff', 'spacing-4': '1.5rem' };
13334
- * const merged = mergeTheme(baseTokens, customTokens);
13335
- * // Returns: { 'primary': '#000', 'secondary': '#fff', 'spacing-4': '1.5rem' }
13336
- * ```
13337
- */
13338
- declare function mergeTheme(...tokens: Partial<DesignTokens>[]): Partial<DesignTokens>;
13339
- /**
13340
- * Extend DesignTokens with additional tokens
13341
- *
13342
- * @param baseTokens - Base DesignTokens to extend
13343
- * @param extension - Additional DesignTokens to merge
13344
- * @returns Extended DesignTokens object
13345
- *
13346
- * @example
13347
- * ```typescript
13348
- * const base = { 'primary': '#000' };
13349
- * const extended = extendTheme(base, { 'secondary': '#fff' });
13350
- * // Returns: { 'primary': '#000', 'secondary': '#fff' }
13351
- * ```
13352
- */
13353
- declare function extendTheme(baseTokens: Partial<DesignTokens>, extension: Partial<DesignTokens>): Partial<DesignTokens>;
13354
-
13355
- /**
13356
- * Theme Metadata interface
13357
- */
13358
- interface ThemeMetadata$1 {
13359
- name: string;
13360
- class: string;
13361
- description?: string;
13362
- version?: string;
13363
- [key: string]: any;
13364
- }
13365
- /**
13366
- * Theme Registry type - a record of theme IDs to metadata
13367
- */
13368
- type ThemeRegistry = Record<string, ThemeMetadata$1>;
13369
- /**
13370
- * Create a new theme registry
13371
- */
13372
- declare function createThemeRegistry(): ThemeRegistry;
13373
- /**
13374
- * Register a theme
13375
- * @param registry - Theme registry object
13376
- * @param id - Theme identifier
13377
- * @param metadata - Theme metadata
13378
- */
13379
- declare function registerTheme(registry: ThemeRegistry, id: string, metadata: ThemeMetadata$1): void;
13380
- /**
13381
- * Unregister a theme
13382
- * @param registry - Theme registry object
13383
- * @param id - Theme identifier
13384
- */
13385
- declare function unregisterTheme(registry: ThemeRegistry, id: string): boolean;
13386
- /**
13387
- * Check if a theme is registered
13388
- * @param registry - Theme registry object
13389
- * @param id - Theme identifier
13390
- */
13391
- declare function hasTheme(registry: ThemeRegistry, id: string): boolean;
13392
- /**
13393
- * Get theme metadata
13394
- * @param registry - Theme registry object
13395
- * @param id - Theme identifier
13396
- */
13397
- declare function getTheme(registry: ThemeRegistry, id: string): ThemeMetadata$1 | undefined;
13398
- /**
13399
- * Get all registered theme metadata
13400
- * @param registry - Theme registry object
13401
- */
13402
- declare function getAllThemes(registry: ThemeRegistry): ThemeMetadata$1[];
13403
- /**
13404
- * Get all registered theme IDs
13405
- * @param registry - Theme registry object
13406
- */
13407
- declare function getThemeIds(registry: ThemeRegistry): string[];
13408
- /**
13409
- * Clear all registered themes
13410
- * @param registry - Theme registry object
13411
- */
13412
- declare function clearThemes(registry: ThemeRegistry): void;
13413
- /**
13414
- * Get the number of registered themes
13415
- * @param registry - Theme registry object
13416
- */
13417
- declare function getThemeCount(registry: ThemeRegistry): number;
13418
-
13419
13260
  /**
13420
13261
  * Theme Manager Type Definitions
13421
13262
  *
@@ -13424,7 +13265,7 @@ declare function getThemeCount(registry: ThemeRegistry): number;
13424
13265
  /**
13425
13266
  * Theme metadata interface matching themes.config.js structure
13426
13267
  */
13427
- interface ThemeMetadata {
13268
+ interface ThemeMetadata$1 {
13428
13269
  /** Display name of the theme */
13429
13270
  name: string;
13430
13271
  /** Unique identifier/class name for the theme */
@@ -13506,8 +13347,10 @@ interface UseThemeReturn {
13506
13347
  activeTokens: DesignTokens | null;
13507
13348
  /** Function to change theme (supports string or DesignTokens) */
13508
13349
  setTheme: (theme: string | DesignTokens | Partial<DesignTokens>, options?: ThemeLoadOptions) => Promise<void>;
13350
+ /** Update a specific theme section */
13351
+ updateTheme: (section: ThemeSection, values: any) => Promise<void>;
13509
13352
  /** Available themes */
13510
- availableThemes: ThemeMetadata[];
13353
+ availableThemes: ThemeMetadata$1[];
13511
13354
  /** Whether a theme is currently loading */
13512
13355
  isLoading: boolean;
13513
13356
  /** Current error, if any */
@@ -13576,7 +13419,7 @@ interface ThemeProviderProps {
13576
13419
  /** Default theme (string name or DesignTokens) */
13577
13420
  defaultTheme?: string | DesignTokens | Partial<DesignTokens>;
13578
13421
  /** Available themes */
13579
- themes?: Record<string, ThemeMetadata>;
13422
+ themes?: Record<string, ThemeMetadata$1>;
13580
13423
  /** Base path for theme CSS */
13581
13424
  basePath?: string;
13582
13425
  /** CDN path for theme CSS */
@@ -13598,6 +13441,10 @@ interface ThemeProviderProps {
13598
13441
  /** Callback on error */
13599
13442
  onError?: (error: Error, themeName: string) => void;
13600
13443
  }
13444
+ /**
13445
+ * Theme section name
13446
+ */
13447
+ type ThemeSection = keyof DesignTokens;
13601
13448
  /**
13602
13449
  * Theme context value
13603
13450
  */
@@ -13608,8 +13455,10 @@ interface ThemeContextValue {
13608
13455
  activeTokens: DesignTokens | null;
13609
13456
  /** Set theme function (supports string or DesignTokens) */
13610
13457
  setTheme: (theme: string | DesignTokens | Partial<DesignTokens>, options?: ThemeLoadOptions) => Promise<void>;
13458
+ /** Update a specific theme section */
13459
+ updateTheme: (section: ThemeSection, values: any) => Promise<void>;
13611
13460
  /** Available themes */
13612
- availableThemes: ThemeMetadata[];
13461
+ availableThemes: ThemeMetadata$1[];
13613
13462
  /** Loading state */
13614
13463
  isLoading: boolean;
13615
13464
  /** Error state */
@@ -13701,6 +13550,10 @@ interface TypographyOptions {
13701
13550
  * Spacing function type
13702
13551
  */
13703
13552
  type SpacingFunction = (...values: number[]) => string;
13553
+ /**
13554
+ * Spacing configuration options for createTheme
13555
+ */
13556
+ type SpacingOptions = number | number[] | SpacingFunction;
13704
13557
  /**
13705
13558
  * Breakpoint values configuration
13706
13559
  */
@@ -13787,13 +13640,87 @@ interface BorderRadiusOptions {
13787
13640
  * Users can augment this interface via module augmentation
13788
13641
  */
13789
13642
  interface ThemeCustomProperties {
13643
+ interactiveEffects?: {
13644
+ vortex?: {
13645
+ enabled?: boolean;
13646
+ strength?: number;
13647
+ radius?: number;
13648
+ decay?: number;
13649
+ };
13650
+ chromaticAberration?: {
13651
+ enabled?: boolean;
13652
+ mode?: 'longitudinal' | 'lateral' | 'hybrid';
13653
+ redShift?: number;
13654
+ greenShift?: number;
13655
+ blueShift?: number;
13656
+ edgeOnly?: boolean;
13657
+ edgeThreshold?: number;
13658
+ };
13659
+ mouseInteraction?: {
13660
+ sensitivity?: number;
13661
+ trailEffect?: boolean;
13662
+ };
13663
+ animationSpeed?: {
13664
+ base?: number;
13665
+ timeMultiplier?: number;
13666
+ };
13667
+ };
13668
+ optimization?: {
13669
+ responsive?: {
13670
+ breakpoints?: {
13671
+ mobile?: string;
13672
+ tablet?: string;
13673
+ desktop?: string;
13674
+ wide?: string;
13675
+ };
13676
+ deviceScaling?: {
13677
+ mobile?: number;
13678
+ tablet?: number;
13679
+ desktop?: number;
13680
+ };
13681
+ };
13682
+ performance?: {
13683
+ fpsTarget?: number;
13684
+ autoScaling?: boolean;
13685
+ };
13686
+ autoScaling?: {
13687
+ enabled?: boolean;
13688
+ qualityThresholds?: {
13689
+ lowEnd?: number;
13690
+ midRange?: number;
13691
+ highEnd?: number;
13692
+ };
13693
+ };
13694
+ };
13695
+ visualPolish?: {
13696
+ borders?: {
13697
+ iridescentGlow?: boolean;
13698
+ shimmerEffect?: boolean;
13699
+ beveledEdges?: boolean;
13700
+ pulsingGlow?: boolean;
13701
+ };
13702
+ contentAwareBlur?: {
13703
+ enabled?: boolean;
13704
+ depthDetection?: boolean;
13705
+ edgePreservation?: boolean;
13706
+ variableRadius?: boolean;
13707
+ };
13708
+ holographicEffects?: {
13709
+ enabled?: boolean;
13710
+ rainbowDiffraction?: boolean;
13711
+ scanlineAnimation?: boolean;
13712
+ gridOverlay?: boolean;
13713
+ dataStream?: boolean;
13714
+ pulseRings?: boolean;
13715
+ };
13716
+ };
13790
13717
  [key: string]: any;
13791
13718
  }
13792
13719
  /**
13793
13720
  * Complete theme object with computed values
13794
13721
  * Generated by createTheme function
13795
13722
  */
13796
- interface Theme extends ThemeMetadata {
13723
+ interface Theme extends ThemeMetadata$1 {
13797
13724
  /** Color palette with computed values */
13798
13725
  palette: {
13799
13726
  primary: PaletteColor;
@@ -13860,67 +13787,207 @@ interface Theme extends ThemeMetadata {
13860
13787
  }
13861
13788
 
13862
13789
  /**
13863
- * Naming Utilities
13790
+ * CSS Variable Generator
13864
13791
  *
13865
- * Provides consistent naming conventions across the theme system
13792
+ * Generates CSS custom properties from design tokens.
13866
13793
  */
13867
- interface NamingOptions {
13868
- prefix?: string;
13869
- component?: string;
13870
- variant?: string;
13871
- state?: string;
13872
- }
13794
+
13873
13795
  /**
13874
- * Generate consistent CSS class names following BEM methodology
13796
+ * Options for CSS variable generation
13875
13797
  */
13876
- declare function generateClassName(block: string, element?: string, modifiers?: Record<string, boolean | string>): string;
13798
+ interface GenerateCSSVariablesOptions {
13799
+ /** CSS selector for the variables (default: ':root') */
13800
+ selector?: string;
13801
+ /** Prefix for CSS variables (default: 'atomix') */
13802
+ prefix?: string;
13803
+ }
13877
13804
  /**
13878
- * Generate consistent CSS variable names
13805
+ * Generate CSS variables from tokens
13806
+ *
13807
+ * Converts flat token object to CSS custom properties.
13808
+ *
13809
+ * @param tokens - Design tokens object
13810
+ * @param options - Generation options
13811
+ * @returns CSS string with custom properties
13812
+ *
13813
+ * @example
13814
+ * ```typescript
13815
+ * const tokens = {
13816
+ * 'primary': '#7c3aed',
13817
+ * 'spacing-4': '1rem',
13818
+ * };
13819
+ *
13820
+ * const css = generateCSSVariables(tokens);
13821
+ * // Returns: ":root {\n --atomix-primary: #7c3aed;\n --atomix-spacing-4: 1rem;\n}"
13822
+ * ```
13879
13823
  */
13880
- declare function generateCSSVariableName(property: string, options?: NamingOptions): string;
13824
+ declare function generateCSSVariables(tokens: DesignTokens, options?: GenerateCSSVariablesOptions): string;
13881
13825
  /**
13882
- * Normalize theme tokens to consistent naming convention
13826
+ * Generate CSS variables with custom selector
13827
+ *
13828
+ * Useful for theme-specific selectors like `[data-theme="dark"]`
13829
+ *
13830
+ * @param tokens - Design tokens object
13831
+ * @param selector - CSS selector (e.g., '[data-theme="dark"]')
13832
+ * @param prefix - CSS variable prefix
13833
+ * @returns CSS string
13834
+ *
13835
+ * @example
13836
+ * ```typescript
13837
+ * const css = generateCSSVariablesForSelector(
13838
+ * tokens,
13839
+ * '[data-theme="dark"]',
13840
+ * 'atomix'
13841
+ * );
13842
+ * ```
13883
13843
  */
13884
- declare function normalizeThemeTokens(tokens: Record<string, any>): Record<string, any>;
13844
+ declare function generateCSSVariablesForSelector(tokens: DesignTokens, selector: string, prefix?: string): string;
13845
+
13885
13846
  /**
13886
- * Convert camelCase to kebab-case for CSS custom properties
13847
+ * Core Theme Functions
13848
+ *
13849
+ * Unified theme system that handles both DesignTokens and Theme objects.
13850
+ * Config-first approach: loads from atomix.config.ts when no input is provided.
13851
+ * Config-first approach: loads advanced features from config when available.
13887
13852
  */
13888
- declare function camelToKebab(str: string): string;
13853
+
13889
13854
  /**
13890
- * Convert theme property to CSS variable name
13855
+ * Create theme CSS from tokens or Theme object
13856
+ *
13857
+ * **Config-First Approach**: If no input is provided, loads from `atomix.config.ts`.
13858
+ * Config file is required for automatic loading.
13859
+ *
13860
+ * @param input - DesignTokens (partial), Theme object, or undefined (loads from config)
13861
+ * @param options - CSS generation options (prefix is automatically read from config if not provided)
13862
+ * @returns CSS string with custom properties
13863
+ * @throws Error if config loading fails when no input is provided
13864
+ *
13865
+ * @example
13866
+ * ```typescript
13867
+ * // Loads from atomix.config.ts (config file required)
13868
+ * const css = createTheme();
13869
+ *
13870
+ * // Using DesignTokens
13871
+ * const css = createTheme({
13872
+ * 'primary': '#7c3aed',
13873
+ * 'spacing-4': '1rem',
13874
+ * });
13875
+ *
13876
+ * // Using Theme object
13877
+ * const theme = createThemeObject({ palette: { primary: { main: '#7c3aed' } } });
13878
+ * const css = createTheme(theme);
13879
+ *
13880
+ * // With custom options
13881
+ * const css = createTheme(undefined, { prefix: 'myapp', selector: ':root' });
13882
+ * ```
13891
13883
  */
13892
- declare function themePropertyToCSSVar(propertyPath: string, prefix?: string): string;
13884
+ declare function createTheme(input?: Partial<DesignTokens> | Theme, options?: GenerateCSSVariablesOptions): string;
13893
13885
 
13894
13886
  /**
13895
- * Component Theming Utilities
13887
+ * Theme Composition Utilities
13896
13888
  *
13897
- * Provides consistent patterns for applying theme values to components
13898
- * using DesignTokens and CSS variables
13889
+ * Simplified utilities for composing and merging DesignTokens.
13890
+ */
13891
+ /**
13892
+ * Deep merge multiple objects
13893
+ * Later objects override earlier ones
13899
13894
  */
13895
+ declare function deepMerge<T extends Record<string, unknown>>(...objects: Partial<T>[]): T;
13900
13896
 
13901
- interface ComponentThemeOptions {
13902
- component: string;
13903
- variant?: string;
13904
- size?: string;
13905
- tokens?: Partial<DesignTokens>;
13897
+ /**
13898
+ * Merge multiple DesignTokens objects into a single DesignTokens object
13899
+ *
13900
+ * @param tokens - DesignTokens objects to merge
13901
+ * @returns Merged DesignTokens object
13902
+ *
13903
+ * @example
13904
+ * ```typescript
13905
+ * const baseTokens = { 'primary': '#000', 'spacing-4': '1rem' };
13906
+ * const customTokens = { 'secondary': '#fff', 'spacing-4': '1.5rem' };
13907
+ * const merged = mergeTheme(baseTokens, customTokens);
13908
+ * // Returns: { 'primary': '#000', 'secondary': '#fff', 'spacing-4': '1.5rem' }
13909
+ * ```
13910
+ */
13911
+ declare function mergeTheme(...tokens: Partial<DesignTokens>[]): Partial<DesignTokens>;
13912
+ /**
13913
+ * Extend DesignTokens with additional tokens
13914
+ *
13915
+ * @param baseTokens - Base DesignTokens to extend
13916
+ * @param extension - Additional DesignTokens to merge
13917
+ * @returns Extended DesignTokens object
13918
+ *
13919
+ * @example
13920
+ * ```typescript
13921
+ * const base = { 'primary': '#000' };
13922
+ * const extended = extendTheme(base, { 'secondary': '#fff' });
13923
+ * // Returns: { 'primary': '#000', 'secondary': '#fff' }
13924
+ * ```
13925
+ */
13926
+ declare function extendTheme(baseTokens: Partial<DesignTokens>, extension: Partial<DesignTokens>): Partial<DesignTokens>;
13927
+
13928
+ /**
13929
+ * Theme Metadata interface
13930
+ */
13931
+ interface ThemeMetadata {
13932
+ name: string;
13933
+ class: string;
13934
+ description?: string;
13935
+ version?: string;
13936
+ [key: string]: any;
13906
13937
  }
13907
13938
  /**
13908
- * Get a theme value for a specific component using CSS variables
13909
- * This ensures all components access theme values consistently
13939
+ * Theme Registry type - a record of theme IDs to metadata
13910
13940
  */
13911
- declare function getComponentThemeValue(component: string, property: string, variant?: string, size?: string): string;
13941
+ type ThemeRegistry = Record<string, ThemeMetadata>;
13912
13942
  /**
13913
- * Generate component-specific CSS variables from DesignTokens
13943
+ * Create a new theme registry
13914
13944
  */
13915
- declare function generateComponentCSSVars(component: string, tokens?: Partial<DesignTokens>, variant?: string, size?: string): Record<string, string>;
13945
+ declare function createThemeRegistry(): ThemeRegistry;
13916
13946
  /**
13917
- * Apply consistent theme to component style object using DesignTokens
13947
+ * Register a theme
13948
+ * @param registry - Theme registry object
13949
+ * @param id - Theme identifier
13950
+ * @param metadata - Theme metadata
13918
13951
  */
13919
- declare function applyComponentTheme(component: string, style?: React.CSSProperties, variant?: string, size?: string, tokens?: Partial<DesignTokens>): React.CSSProperties;
13952
+ declare function registerTheme(registry: ThemeRegistry, id: string, metadata: ThemeMetadata): void;
13920
13953
  /**
13921
- * Create a hook for consistent component theming
13954
+ * Unregister a theme
13955
+ * @param registry - Theme registry object
13956
+ * @param id - Theme identifier
13922
13957
  */
13923
- declare function useComponentTheme(component: string, variant?: string, size?: string, tokens?: Partial<DesignTokens>): (property: string) => string;
13958
+ declare function unregisterTheme(registry: ThemeRegistry, id: string): boolean;
13959
+ /**
13960
+ * Check if a theme is registered
13961
+ * @param registry - Theme registry object
13962
+ * @param id - Theme identifier
13963
+ */
13964
+ declare function hasTheme(registry: ThemeRegistry, id: string): boolean;
13965
+ /**
13966
+ * Get theme metadata
13967
+ * @param registry - Theme registry object
13968
+ * @param id - Theme identifier
13969
+ */
13970
+ declare function getTheme(registry: ThemeRegistry, id: string): ThemeMetadata | undefined;
13971
+ /**
13972
+ * Get all registered theme metadata
13973
+ * @param registry - Theme registry object
13974
+ */
13975
+ declare function getAllThemes(registry: ThemeRegistry): ThemeMetadata[];
13976
+ /**
13977
+ * Get all registered theme IDs
13978
+ * @param registry - Theme registry object
13979
+ */
13980
+ declare function getThemeIds(registry: ThemeRegistry): string[];
13981
+ /**
13982
+ * Clear all registered themes
13983
+ * @param registry - Theme registry object
13984
+ */
13985
+ declare function clearThemes(registry: ThemeRegistry): void;
13986
+ /**
13987
+ * Get the number of registered themes
13988
+ * @param registry - Theme registry object
13989
+ */
13990
+ declare function getThemeCount(registry: ThemeRegistry): number;
13924
13991
 
13925
13992
  /**
13926
13993
  * CSS Injection Utilities
@@ -13969,61 +14036,408 @@ declare function removeCSS(id?: string): void;
13969
14036
  declare function isCSSInjected(id?: string): boolean;
13970
14037
 
13971
14038
  /**
13972
- * Theme Provider
14039
+ * Naming Utilities
13973
14040
  *
13974
- * React context provider for theme management with separated concerns
13975
- * Updated to use the new simplified theme system
14041
+ * Provides consistent naming conventions across the theme system
14042
+ */
14043
+ interface NamingOptions {
14044
+ prefix?: string;
14045
+ component?: string;
14046
+ variant?: string;
14047
+ state?: string;
14048
+ }
14049
+ /**
14050
+ * Generate consistent CSS class names following BEM methodology
14051
+ */
14052
+ declare function generateClassName(block: string, element?: string, modifiers?: Record<string, boolean | string>): string;
14053
+ /**
14054
+ * Generate consistent CSS variable names
14055
+ */
14056
+ declare function generateCSSVariableName(property: string, options?: NamingOptions): string;
14057
+ /**
14058
+ * Normalize theme tokens to consistent naming convention
13976
14059
  */
14060
+ declare function normalizeThemeTokens(tokens: Record<string, any>): Record<string, any>;
14061
+ /**
14062
+ * Convert camelCase to kebab-case for CSS custom properties
14063
+ */
14064
+ declare function camelToKebab(str: string): string;
14065
+ /**
14066
+ * Convert theme property to CSS variable name
14067
+ */
14068
+ declare function themePropertyToCSSVar(propertyPath: string, prefix?: string): string;
13977
14069
 
13978
14070
  /**
13979
- * Theme Provider
13980
- *
13981
- * React context provider for theme management with separated concerns.
13982
- * Simplified version focusing on core functionality:
13983
- * - String-based themes (CSS files)
13984
- * - DesignTokens (dynamic themes)
13985
- * - Persistence via localStorage
14071
+ * Component Theming Utilities
13986
14072
  *
13987
- * Falls back to 'default' theme if no configuration is found.
14073
+ * Provides consistent patterns for applying theme values to components
14074
+ * using DesignTokens and CSS variables
13988
14075
  */
13989
- declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
13990
14076
 
14077
+ interface ComponentThemeOptions {
14078
+ component: string;
14079
+ variant?: string;
14080
+ size?: string;
14081
+ tokens?: Partial<DesignTokens>;
14082
+ }
13991
14083
  /**
13992
- * useTheme Hook
14084
+ * Get a theme value for a specific component using CSS variables
14085
+ * This ensures all components access theme values consistently
14086
+ */
14087
+ declare function getComponentThemeValue(component: string, property: string, variant?: string, size?: string): string;
14088
+ /**
14089
+ * Generate component-specific CSS variables from DesignTokens
14090
+ */
14091
+ declare function generateComponentCSSVars(component: string, tokens?: Partial<DesignTokens>, variant?: string, size?: string): Record<string, string>;
14092
+ /**
14093
+ * Apply consistent theme to component style object using DesignTokens
14094
+ */
14095
+ declare function applyComponentTheme(component: string, style?: React.CSSProperties, variant?: string, size?: string, tokens?: Partial<DesignTokens>): React.CSSProperties;
14096
+ /**
14097
+ * Create a hook for consistent component theming
14098
+ */
14099
+ declare function useComponentTheme(component: string, variant?: string, size?: string, tokens?: Partial<DesignTokens>): (property: string) => string;
14100
+
14101
+ /**
14102
+ * Theme Utilities
13993
14103
  *
13994
- * React hook for accessing theme context
14104
+ * Helper functions for common theme operations including:
14105
+ * - Theme switching (dark/light mode)
14106
+ * - Theme persistence (localStorage)
14107
+ * - System preference detection
14108
+ * - Smooth transitions
14109
+ * - Color manipulation
13995
14110
  */
13996
14111
 
14112
+ type ThemeMode = 'light' | 'dark' | 'system';
14113
+ interface ThemeSwitcherOptions {
14114
+ /** CSS selector for root element (default: ':root') */
14115
+ selector?: string;
14116
+ /** Storage key for theme persistence (default: 'atomix-theme') */
14117
+ storageKey?: string;
14118
+ /** Enable smooth transitions (default: true) */
14119
+ enableTransition?: boolean;
14120
+ /** Transition duration in ms (default: 300) */
14121
+ transitionDuration?: number;
14122
+ }
14123
+ interface ThemePersistenceOptions {
14124
+ /** Storage key (default: 'atomix-theme') */
14125
+ storageKey?: string;
14126
+ /** Storage type (default: 'localStorage') */
14127
+ storageType?: 'localStorage' | 'sessionStorage';
14128
+ }
13997
14129
  /**
13998
- * useTheme hook
14130
+ * Switch between light and dark themes
13999
14131
  *
14000
- * Access theme context and theme management functions
14132
+ * Automatically toggles a class on the root element and persists the choice.
14133
+ *
14134
+ * @param mode - Theme mode ('light', 'dark', or 'system')
14135
+ * @param options - Configuration options
14001
14136
  *
14002
14137
  * @example
14003
- * ```tsx
14004
- * function MyComponent() {
14005
- * const { theme, setTheme, availableThemes } = useTheme();
14138
+ * ```typescript
14139
+ * import { switchTheme } from '@shohojdhara/atomix/theme/utils';
14006
14140
  *
14007
- * return (
14008
- * <div>
14009
- * <p>Current theme: {theme}</p>
14010
- * <button onClick={() => setTheme('dark-theme')}>
14011
- * Switch to Dark
14012
- * </button>
14013
- * </div>
14014
- * );
14015
- * }
14141
+ * // Switch to dark mode
14142
+ * switchTheme('dark');
14143
+ *
14144
+ * // Toggle between light/dark
14145
+ * const current = getCurrentTheme();
14146
+ * switchTheme(current === 'dark' ? 'light' : 'dark');
14016
14147
  * ```
14017
14148
  */
14018
- declare function useTheme(): UseThemeReturn;
14019
-
14149
+ declare function switchTheme(mode: ThemeMode, options?: ThemeSwitcherOptions): void;
14020
14150
  /**
14021
- * Standardized hook for accessing theme tokens in components
14151
+ * Toggle between light and dark themes
14022
14152
  *
14023
- * Provides consistent access to theme values using CSS custom properties
14024
- * and DesignTokens.
14153
+ * @param options - Configuration options
14154
+ * @returns The new theme mode
14155
+ *
14156
+ * @example
14157
+ * ```typescript
14158
+ * const newMode = toggleTheme();
14159
+ * console.log('Switched to:', newMode);
14160
+ * ```
14025
14161
  */
14026
- type ThemeTokens$1 = {
14162
+ declare function toggleTheme(options?: ThemeSwitcherOptions): ThemeMode;
14163
+ /**
14164
+ * Get current theme mode
14165
+ *
14166
+ * @param storageKey - Storage key (default: 'atomix-theme')
14167
+ * @returns Current theme mode or 'light' if not set
14168
+ */
14169
+ declare function getCurrentTheme(storageKey?: string): ThemeMode;
14170
+ /**
14171
+ * Get system theme preference
14172
+ *
14173
+ * @returns 'dark' if system prefers dark mode, 'light' otherwise
14174
+ */
14175
+ declare function getSystemTheme(): ThemeMode;
14176
+ /**
14177
+ * Initialize theme based on saved preference or system preference
14178
+ *
14179
+ * Call this once at app startup.
14180
+ *
14181
+ * @param options - Configuration options
14182
+ * @returns The initialized theme mode
14183
+ *
14184
+ * @example
14185
+ * ```typescript
14186
+ * // In your app entry point
14187
+ * import { initializeTheme } from '@shohojdhara/atomix/theme/utils';
14188
+ *
14189
+ * const theme = initializeTheme();
14190
+ * console.log('Theme initialized:', theme);
14191
+ * ```
14192
+ */
14193
+ declare function initializeTheme(options?: ThemeSwitcherOptions): ThemeMode;
14194
+ /**
14195
+ * Listen for system theme changes
14196
+ *
14197
+ * @param callback - Function to call when system theme changes
14198
+ * @returns Cleanup function to stop listening
14199
+ *
14200
+ * @example
14201
+ * ```typescript
14202
+ * const cleanup = listenToSystemTheme((mode) => {
14203
+ * console.log('System theme changed to:', mode);
14204
+ * switchTheme(mode);
14205
+ * });
14206
+ *
14207
+ * // Later, when component unmounts
14208
+ * cleanup();
14209
+ * ```
14210
+ */
14211
+ declare function listenToSystemTheme(callback: (mode: ThemeMode) => void): () => void;
14212
+ /**
14213
+ * Save theme preference to storage
14214
+ *
14215
+ * @param mode - Theme mode to save
14216
+ * @param options - Persistence options
14217
+ */
14218
+ declare function persistTheme(mode: ThemeMode, options?: ThemePersistenceOptions): void;
14219
+ /**
14220
+ * Clear saved theme preference
14221
+ *
14222
+ * @param options - Persistence options
14223
+ */
14224
+ declare function clearThemePreference(options?: ThemePersistenceOptions): void;
14225
+ /**
14226
+ * Merge multiple token sets
14227
+ *
14228
+ * Deep merges token objects, with later tokens overriding earlier ones.
14229
+ *
14230
+ * @param tokens - Token objects to merge
14231
+ * @returns Merged tokens
14232
+ *
14233
+ * @example
14234
+ * ```typescript
14235
+ * const merged = mergeTokens(
14236
+ * baseTokens,
14237
+ * { colors: { primary: { main: '#custom' } } }
14238
+ * );
14239
+ * ```
14240
+ */
14241
+ declare function mergeTokens(...tokens: Array<Partial<DesignTokens>>): Partial<DesignTokens>;
14242
+ /**
14243
+ * Override specific tokens
14244
+ *
14245
+ * Creates a new token object with specific overrides.
14246
+ *
14247
+ * @param base - Base tokens
14248
+ * @param overrides - Tokens to override
14249
+ * @returns New tokens with overrides applied
14250
+ *
14251
+ * @example
14252
+ * ```typescript
14253
+ * const customized = overrideTokens(defaultTokens, {
14254
+ * colors: {
14255
+ * primary: { main: '#ff0000' }
14256
+ * }
14257
+ * });
14258
+ * ```
14259
+ */
14260
+ declare function overrideTokens(base: Partial<DesignTokens>, overrides: Partial<DesignTokens>): Partial<DesignTokens>;
14261
+ /**
14262
+ * Pick specific token categories
14263
+ *
14264
+ * Extracts only the specified categories from tokens.
14265
+ *
14266
+ * @param tokens - Source tokens
14267
+ * @param categories - Categories to pick
14268
+ * @returns Tokens with only selected categories
14269
+ *
14270
+ * @example
14271
+ * ```typescript
14272
+ * const colorTokens = pickTokens(allTokens, ['colors']);
14273
+ * ```
14274
+ */
14275
+ declare function pickTokens(tokens: Partial<DesignTokens>, categories: Array<keyof DesignTokens>): Partial<DesignTokens>;
14276
+ /**
14277
+ * Omit specific token categories
14278
+ *
14279
+ * Removes specified categories from tokens.
14280
+ *
14281
+ * @param tokens - Source tokens
14282
+ * @param categories - Categories to omit
14283
+ * @returns Tokens without omitted categories
14284
+ *
14285
+ * @example
14286
+ * ```typescript
14287
+ * const withoutColors = omitTokens(allTokens, ['colors']);
14288
+ * ```
14289
+ */
14290
+ declare function omitTokens(tokens: Partial<DesignTokens>, categories: Array<keyof DesignTokens>): Partial<DesignTokens>;
14291
+ /**
14292
+ * Convert hex color to RGB
14293
+ *
14294
+ * @param hex - Hex color (with or without #)
14295
+ * @returns RGB object { r, g, b }
14296
+ */
14297
+ declare function hexToRgb(hex: string): {
14298
+ r: number;
14299
+ g: number;
14300
+ b: number;
14301
+ } | null;
14302
+ /**
14303
+ * Convert RGB to hex
14304
+ *
14305
+ * @param r - Red (0-255)
14306
+ * @param g - Green (0-255)
14307
+ * @param b - Blue (0-255)
14308
+ * @returns Hex color with #
14309
+ */
14310
+ declare function rgbToHex(r: number, g: number, b: number): string;
14311
+ /**
14312
+ * Calculate luminance of a color
14313
+ *
14314
+ * Used for determining contrast ratios.
14315
+ *
14316
+ * @param hex - Hex color
14317
+ * @returns Luminance value (0-1)
14318
+ */
14319
+ declare function getLuminance(hex: string): number;
14320
+ /**
14321
+ * Calculate contrast ratio between two colors
14322
+ *
14323
+ * @param hex1 - First hex color
14324
+ * @param hex2 - Second hex color
14325
+ * @returns Contrast ratio (1-21)
14326
+ */
14327
+ declare function getContrastRatio(hex1: string, hex2: string): number;
14328
+ /**
14329
+ * Check if text color passes WCAG AA standard
14330
+ *
14331
+ * @param textColor - Text color hex
14332
+ * @param backgroundColor - Background color hex
14333
+ * @param size - Font size ('small' or 'large')
14334
+ * @returns true if passes WCAG AA
14335
+ */
14336
+ declare function isAccessible(textColor: string, backgroundColor: string, size?: 'small' | 'large'): boolean;
14337
+ /**
14338
+ * Get appropriate text color (black or white) for a background
14339
+ *
14340
+ * @param backgroundColor - Background hex color
14341
+ * @param threshold - Contrast threshold (default: 3)
14342
+ * @returns '#000000' or '#FFFFFF'
14343
+ */
14344
+ declare function getContrastText(backgroundColor: string, threshold?: number): string;
14345
+ /**
14346
+ * Lighten a color
14347
+ *
14348
+ * @param hex - Base hex color
14349
+ * @param amount - Amount to lighten (0-1)
14350
+ * @returns Lightened hex color
14351
+ */
14352
+ declare function lighten(hex: string, amount?: number): string;
14353
+ /**
14354
+ * Darken a color
14355
+ *
14356
+ * @param hex - Base hex color
14357
+ * @param amount - Amount to darken (0-1)
14358
+ * @returns Darkened hex color
14359
+ */
14360
+ declare function darken(hex: string, amount?: number): string;
14361
+ /**
14362
+ * Add alpha to a color
14363
+ *
14364
+ * @param hex - Hex color
14365
+ * @param opacity - Opacity value (0-1)
14366
+ * @returns RGBA color string
14367
+ */
14368
+ declare function alpha(hex: string, opacity: number): string;
14369
+ /**
14370
+ * Emphasize a color (lighten if dark, darken if light)
14371
+ *
14372
+ * @param hex - Hex color
14373
+ * @param amount - Amount to emphasize (0-1)
14374
+ * @returns Emphasized hex color
14375
+ */
14376
+ declare function emphasize(hex: string, amount?: number): string;
14377
+ /**
14378
+ * Create a spacing utility
14379
+ *
14380
+ * @param spacingInput - Spacing configuration
14381
+ * @returns Spacing function
14382
+ */
14383
+ declare function createSpacing(spacingInput?: SpacingOptions): SpacingFunction;
14384
+
14385
+ /**
14386
+ * Theme Provider
14387
+ *
14388
+ * React context provider for theme management with separated concerns
14389
+ * Updated to use the new simplified theme system
14390
+ */
14391
+
14392
+ /**
14393
+ * Theme Provider
14394
+ *
14395
+ * React context provider for theme management with separated concerns.
14396
+ * Simplified version focusing on core functionality:
14397
+ * - String-based themes (CSS files)
14398
+ * - DesignTokens (dynamic themes)
14399
+ * - Persistence via localStorage
14400
+ *
14401
+ * Falls back to 'default' theme if no configuration is found.
14402
+ */
14403
+ declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
14404
+
14405
+ /**
14406
+ * useTheme Hook
14407
+ *
14408
+ * React hook for accessing theme context
14409
+ */
14410
+
14411
+ /**
14412
+ * useTheme hook
14413
+ *
14414
+ * Access theme context and theme management functions
14415
+ *
14416
+ * @example
14417
+ * ```tsx
14418
+ * function MyComponent() {
14419
+ * const { theme, setTheme, availableThemes } = useTheme();
14420
+ *
14421
+ * return (
14422
+ * <div>
14423
+ * <p>Current theme: {theme}</p>
14424
+ * <button onClick={() => setTheme('dark-theme')}>
14425
+ * Switch to Dark
14426
+ * </button>
14427
+ * </div>
14428
+ * );
14429
+ * }
14430
+ * ```
14431
+ */
14432
+ declare function useTheme(): UseThemeReturn;
14433
+
14434
+ /**
14435
+ * Standardized hook for accessing theme tokens in components
14436
+ *
14437
+ * Provides consistent access to theme values using CSS custom properties
14438
+ * and DesignTokens.
14439
+ */
14440
+ type ThemeTokens$1 = {
14027
14441
  theme: string;
14028
14442
  activeTokens: DesignTokens | null;
14029
14443
  getToken: (tokenName: string, fallback?: string) => string;
@@ -14102,6 +14516,85 @@ declare class ThemeErrorBoundary extends Component<ThemeErrorBoundaryProps, Them
14102
14516
  render(): ReactNode;
14103
14517
  }
14104
14518
 
14519
+ /**
14520
+ * useThemeSwitcher Hook
14521
+ *
14522
+ * React hook for managing theme switching with persistence and system preference detection.
14523
+ * Provides an easy-to-use API for dark/light mode toggling.
14524
+ *
14525
+ * @example
14526
+ * ```tsx
14527
+ * import { useThemeSwitcher } from '@shohojdhara/atomix/theme';
14528
+ *
14529
+ * function ThemeToggle() {
14530
+ * const { mode, toggle, setMode, isDark } = useThemeSwitcher();
14531
+ *
14532
+ * return (
14533
+ * <button onClick={toggle}>
14534
+ * {isDark ? '☀️ Light' : '🌙 Dark'}
14535
+ * </button>
14536
+ * );
14537
+ * }
14538
+ * ```
14539
+ */
14540
+
14541
+ interface UseThemeSwitcherOptions extends ThemeSwitcherOptions {
14542
+ /** Initial theme mode (default: 'system') */
14543
+ initialMode?: ThemeMode;
14544
+ /** Automatically sync with system preference (default: false) */
14545
+ syncWithSystem?: boolean;
14546
+ }
14547
+ interface UseThemeSwitcherReturn {
14548
+ /** Current theme mode */
14549
+ mode: ThemeMode;
14550
+ /** Whether current theme is dark */
14551
+ isDark: boolean;
14552
+ /** Whether current theme is light */
14553
+ isLight: boolean;
14554
+ /** Toggle between light and dark */
14555
+ toggle: () => ThemeMode;
14556
+ /** Set specific theme mode */
14557
+ setMode: (mode: ThemeMode) => void;
14558
+ /** Reset to system preference */
14559
+ resetToSystem: () => void;
14560
+ /** Clear saved preference */
14561
+ clearPreference: () => void;
14562
+ }
14563
+ /**
14564
+ * Hook for managing theme switching
14565
+ *
14566
+ * @param options - Configuration options
14567
+ * @returns Theme switcher controls
14568
+ */
14569
+ declare function useThemeSwitcher(options?: UseThemeSwitcherOptions): UseThemeSwitcherReturn;
14570
+
14571
+ interface ThemeToggleProps extends Omit<UseThemeSwitcherOptions, 'initialMode'> {
14572
+ /** Custom class name */
14573
+ className?: string;
14574
+ /** Show text label (default: false) */
14575
+ showLabel?: boolean;
14576
+ /** Label for light mode (default: 'Light') */
14577
+ lightLabel?: string;
14578
+ /** Label for dark mode (default: 'Dark') */
14579
+ darkLabel?: string;
14580
+ /** Icon size in pixels (default: 20) */
14581
+ iconSize?: number;
14582
+ /** Button variant (default: 'icon') */
14583
+ variant?: 'icon' | 'button' | 'switch';
14584
+ /** Custom render function */
14585
+ render?: (props: {
14586
+ isDark: boolean;
14587
+ toggle: () => void;
14588
+ mode: ThemeMode;
14589
+ }) => React__default.ReactNode;
14590
+ /** Aria label (default: 'Toggle theme') */
14591
+ ariaLabel?: string;
14592
+ }
14593
+ /**
14594
+ * ThemeToggle component with multiple variants
14595
+ */
14596
+ declare const ThemeToggle: React__default.FC<ThemeToggleProps>;
14597
+
14105
14598
  /**
14106
14599
  * Theme Applicator
14107
14600
  *
@@ -14309,7 +14802,7 @@ declare const DesignTokensCustomizer: React__default.FC<DesignTokensCustomizerPr
14309
14802
  /**
14310
14803
  * Validation result
14311
14804
  */
14312
- interface ValidationResult {
14805
+ interface ValidationResult$1 {
14313
14806
  /** Whether theme is valid */
14314
14807
  valid: boolean;
14315
14808
  /** Validation errors */
@@ -14345,7 +14838,7 @@ declare class ThemeValidator {
14345
14838
  /**
14346
14839
  * Validate theme
14347
14840
  */
14348
- validate(theme: Theme, metadata?: ThemeMetadata): ValidationResult;
14841
+ validate(theme: Theme, metadata?: ThemeMetadata$1): ValidationResult$1;
14349
14842
  /**
14350
14843
  * Validate palette
14351
14844
  */
@@ -14436,757 +14929,1322 @@ interface UseHistoryReturn<T> {
14436
14929
  declare function useHistory<T>(options?: UseHistoryOptions): UseHistoryReturn<T>;
14437
14930
 
14438
14931
  /**
14439
- * Theme Adapter
14932
+ * Configuration Types
14440
14933
  *
14441
- * Converts between Theme objects and DesignTokens.
14934
+ * Type definitions for the Atomix configuration system.
14442
14935
  */
14443
14936
 
14444
14937
  /**
14445
- * Convert DesignTokens to Theme-compatible CSS variables
14446
- *
14447
- * @param tokens - DesignTokens object
14448
- * @returns CSS variables object compatible with Theme.cssVars
14938
+ * Design token categories
14449
14939
  */
14450
- declare function designTokensToCSSVars(tokens: Partial<DesignTokens>): Record<string, string>;
14451
-
14940
+ type DesignTokenCategory = 'colors' | 'spacing' | 'typography' | 'borderRadius' | 'shadows' | 'zIndex' | 'transitions' | 'breakpoints';
14452
14941
  /**
14453
- * CSS Variable Mapper
14454
- *
14455
- * Utilities for generating and managing CSS custom properties from SCSS tokens
14456
- * and component configurations.
14942
+ * Design token value types
14457
14943
  */
14944
+ type DesignTokenValue = string | number;
14458
14945
  /**
14459
- * Configuration for generating CSS variables for a component
14946
+ * Color Scale (1-10)
14460
14947
  */
14461
- interface CSSVariableConfig {
14462
- /** Component name (e.g., 'button', 'card') */
14463
- component: string;
14464
- /** Base properties for the component */
14465
- properties: Record<string, string | number>;
14466
- /** Part-specific properties (e.g., icon, label) */
14467
- parts?: Record<string, Record<string, string | number>>;
14468
- /** State-specific properties (e.g., hover, active, disabled) */
14469
- states?: Record<string, Record<string, string | number>>;
14470
- /** Variant-specific properties (e.g., primary, secondary) */
14471
- variants?: Record<string, Record<string, string | number>>;
14948
+ interface ColorScale {
14949
+ 1?: string;
14950
+ 2?: string;
14951
+ 3?: string;
14952
+ 4?: string;
14953
+ 5?: string;
14954
+ 6?: string;
14955
+ 7?: string;
14956
+ 8?: string;
14957
+ 9?: string;
14958
+ 10?: string;
14959
+ [key: string]: string | undefined;
14472
14960
  }
14473
14961
  /**
14474
- * CSS variable naming options
14962
+ * Palette Color Options
14475
14963
  */
14476
- interface CSSVariableNamingOptions {
14477
- /** Prefix for all variables (default: 'atomix') */
14478
- prefix?: string;
14479
- /** Separator between parts (default: '-') */
14480
- separator?: string;
14481
- /** Whether to include component name in variable (default: true) */
14482
- includeComponent?: boolean;
14964
+ interface PaletteColorOptions {
14965
+ main: string;
14966
+ light?: string;
14967
+ dark?: string;
14968
+ contrastText?: string;
14483
14969
  }
14484
14970
  /**
14485
- * Map SCSS tokens to CSS custom properties
14486
- *
14487
- * @example
14488
- * const tokens = { '$primary-color': '#7AFFD7', '$spacing-md': '16px' }
14489
- * const vars = mapSCSSTokensToCSSVars(tokens)
14490
- * // Returns: { '--primary-color': '#7AFFD7', '--spacing-md': '16px' }
14971
+ * Interactive Effect Configuration
14491
14972
  */
14492
- declare function mapSCSSTokensToCSSVars(tokens: Record<string, any>, options?: CSSVariableNamingOptions): Record<string, string>;
14973
+ interface InteractiveEffectsConfig {
14974
+ /** Vortex & flow field effects */
14975
+ vortex?: {
14976
+ enabled?: boolean;
14977
+ strength?: number;
14978
+ radius?: number;
14979
+ decay?: number;
14980
+ curlNoise?: boolean;
14981
+ velocityTracking?: boolean;
14982
+ };
14983
+ /** Chromatic aberration effects */
14984
+ chromaticAberration?: {
14985
+ enabled?: boolean;
14986
+ mode?: 'longitudinal' | 'lateral' | 'hybrid';
14987
+ redShift?: number;
14988
+ greenShift?: number;
14989
+ blueShift?: number;
14990
+ edgeOnly?: boolean;
14991
+ edgeThreshold?: number;
14992
+ };
14993
+ /** Mouse interaction settings */
14994
+ mouseInteraction?: {
14995
+ sensitivity?: number;
14996
+ trailEffect?: boolean;
14997
+ pressureSensitivity?: boolean;
14998
+ };
14999
+ /** Animation speed controls */
15000
+ animationSpeed?: {
15001
+ base?: number;
15002
+ timeMultiplier?: number;
15003
+ };
15004
+ }
14493
15005
  /**
14494
- * Apply CSS variables to an element
14495
- *
14496
- * @param vars - CSS variables to apply
14497
- * @param element - Target element (defaults to document.documentElement)
15006
+ * Optimization Configuration
14498
15007
  */
14499
- declare function applyCSSVariables(vars: Record<string, string | number>, element?: HTMLElement): void;
15008
+ interface OptimizationConfig {
15009
+ /** Responsive breakpoint system */
15010
+ responsive?: {
15011
+ breakpoints?: {
15012
+ mobile?: string;
15013
+ tablet?: string;
15014
+ desktop?: string;
15015
+ wide?: string;
15016
+ };
15017
+ /** Device-aware parameter scaling */
15018
+ deviceScaling?: {
15019
+ mobile?: number;
15020
+ tablet?: number;
15021
+ desktop?: number;
15022
+ };
15023
+ };
15024
+ /** Performance monitoring */
15025
+ performance?: {
15026
+ enabled?: boolean;
15027
+ fpsTarget?: number;
15028
+ autoScaling?: boolean;
15029
+ monitorDashboard?: boolean;
15030
+ };
15031
+ /** Auto-scaling logic based on device capabilities */
15032
+ autoScaling?: {
15033
+ enabled?: boolean;
15034
+ qualityThresholds?: {
15035
+ lowEnd?: number;
15036
+ midRange?: number;
15037
+ highEnd?: number;
15038
+ };
15039
+ };
15040
+ }
14500
15041
  /**
14501
- * Remove CSS variables from an element
14502
- *
14503
- * @param varNames - Variable names to remove
14504
- * @param element - Target element (defaults to document.documentElement)
15042
+ * Visual Polish Configuration
14505
15043
  */
14506
- declare function removeCSSVariables(varNames: string[], element?: HTMLElement): void;
15044
+ interface VisualPolishConfig {
15045
+ /** Advanced border effects */
15046
+ borders?: {
15047
+ iridescentGlow?: boolean;
15048
+ shimmerEffect?: boolean;
15049
+ beveledEdges?: boolean;
15050
+ pulsingGlow?: boolean;
15051
+ };
15052
+ /** Content-aware blur */
15053
+ contentAwareBlur?: {
15054
+ enabled?: boolean;
15055
+ depthDetection?: boolean;
15056
+ edgePreservation?: boolean;
15057
+ variableRadius?: boolean;
15058
+ };
15059
+ /** Holographic effect modes */
15060
+ holographicEffects?: {
15061
+ enabled?: boolean;
15062
+ rainbowDiffraction?: boolean;
15063
+ scanlineAnimation?: boolean;
15064
+ gridOverlay?: boolean;
15065
+ dataStream?: boolean;
15066
+ pulseRings?: boolean;
15067
+ };
15068
+ }
14507
15069
  /**
14508
- * Get CSS variable value from an element
14509
- *
14510
- * @param varName - Variable name to get
14511
- * @param element - Target element (defaults to document.documentElement)
14512
- * @returns Variable value or null if not found
15070
+ * Design Tokens Schema (Tailwind-like)
14513
15071
  */
14514
- declare function getCSSVariable(varName: string, element?: HTMLElement): string | null;
15072
+ interface ThemeTokens {
15073
+ /** Color palette */
15074
+ colors?: Record<string, string | PaletteColorOptions | ColorScale | Record<string, string>>;
15075
+ /** Spacing scale */
15076
+ spacing?: Record<string, string>;
15077
+ /** Border radius scale */
15078
+ borderRadius?: Record<string, string>;
15079
+ /** Typography scale and settings */
15080
+ typography?: {
15081
+ fontFamilies?: Record<string, string>;
15082
+ fontSizes?: Record<string, string>;
15083
+ fontWeights?: Record<string, string | number>;
15084
+ lineHeights?: Record<string, string | number>;
15085
+ letterSpacings?: Record<string, string>;
15086
+ };
15087
+ /** Shadow scale */
15088
+ shadows?: Record<string, string>;
15089
+ /** Z-index scale */
15090
+ zIndex?: Record<string, string | number>;
15091
+ /** Breakpoints scale */
15092
+ breakpoints?: Record<string, string | number>;
15093
+ /** Transitions settings */
15094
+ transitions?: {
15095
+ durations?: Record<string, string>;
15096
+ easings?: Record<string, string>;
15097
+ };
15098
+ }
14515
15099
  /**
14516
- * Convert CSS variable object to inline style object
14517
- *
14518
- * @example
14519
- * const vars = { '--atomix-button-bg': '#000' }
14520
- * const style = cssVarsToStyle(vars)
14521
- * // Returns: { '--atomix-button-bg': '#000' } as React.CSSProperties
15100
+ * CSS Theme Definition
14522
15101
  */
14523
- declare function cssVarsToStyle(vars: Record<string, string | number>): React.CSSProperties;
15102
+ interface CSSThemeDefinition {
15103
+ type: 'css';
15104
+ name: string;
15105
+ class?: string;
15106
+ description?: string;
15107
+ author?: string;
15108
+ version?: string;
15109
+ tags?: string[];
15110
+ supportsDarkMode?: boolean;
15111
+ status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
15112
+ a11y?: {
15113
+ contrastTarget?: number;
15114
+ modes?: string[];
15115
+ };
15116
+ color?: string;
15117
+ features?: string[];
15118
+ dependencies?: string[];
15119
+ cssPath?: string;
15120
+ }
14524
15121
  /**
14525
- * Merge multiple CSS variable objects
14526
- * Later objects override earlier ones
15122
+ * JavaScript Theme Definition
14527
15123
  */
14528
- declare function mergeCSSVars(...varObjects: Array<Record<string, string | number> | undefined>): Record<string, string | number>;
15124
+ interface JSThemeDefinition {
15125
+ type: 'js';
15126
+ name: string;
15127
+ class?: string;
15128
+ description?: string;
15129
+ author?: string;
15130
+ version?: string;
15131
+ tags?: string[];
15132
+ supportsDarkMode?: boolean;
15133
+ status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
15134
+ a11y?: {
15135
+ contrastTarget?: number;
15136
+ modes?: string[];
15137
+ };
15138
+ color?: string;
15139
+ features?: string[];
15140
+ dependencies?: string[];
15141
+ createTheme: () => Theme;
15142
+ }
14529
15143
  /**
14530
- * Validate CSS variable name format
15144
+ * Theme Definition (CSS or JS)
14531
15145
  */
14532
- declare function isValidCSSVariableName(name: string): boolean;
15146
+ type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
14533
15147
  /**
14534
- * Extract component name from CSS variable name
15148
+ * Build configuration
15149
+ */
15150
+ interface BuildConfig {
15151
+ output?: {
15152
+ directory?: string;
15153
+ formats?: {
15154
+ expanded?: string;
15155
+ compressed?: string;
15156
+ };
15157
+ };
15158
+ sass?: {
15159
+ style?: 'expanded' | 'compressed';
15160
+ sourceMap?: boolean;
15161
+ loadPaths?: string[];
15162
+ };
15163
+ }
15164
+ /**
15165
+ * Runtime configuration
15166
+ */
15167
+ interface RuntimeConfig {
15168
+ basePath?: string;
15169
+ cdnPath?: string | null;
15170
+ preload?: string[];
15171
+ lazy?: boolean;
15172
+ defaultTheme?: string;
15173
+ storageKey?: string;
15174
+ dataAttribute?: string;
15175
+ enablePersistence?: boolean;
15176
+ useMinified?: boolean;
15177
+ }
15178
+ /**
15179
+ * Integration settings
15180
+ */
15181
+ interface IntegrationConfig {
15182
+ cssVariables?: Record<string, string>;
15183
+ classNames?: {
15184
+ theme?: string;
15185
+ colorMode?: string;
15186
+ };
15187
+ }
15188
+ /**
15189
+ * Plugin Configuration
15190
+ */
15191
+ interface PluginConfig {
15192
+ name: string;
15193
+ options?: Record<string, any>;
15194
+ }
15195
+ /**
15196
+ * Token Provider Configuration
15197
+ */
15198
+ interface TokenProviderConfig {
15199
+ type: 'figma' | 'style-dictionary' | 'w3c' | string;
15200
+ options?: Record<string, any>;
15201
+ }
15202
+ /**
15203
+ * Token Engine Configuration
15204
+ */
15205
+ interface TokenEngineConfig {
15206
+ providers?: Record<string, TokenProviderConfig>;
15207
+ sync?: {
15208
+ pull?: boolean;
15209
+ push?: boolean;
15210
+ onBuild?: boolean;
15211
+ };
15212
+ }
15213
+ /**
15214
+ * CLI component generator defaults
15215
+ */
15216
+ interface GeneratorConfig {
15217
+ /** Default output directory for generated components */
15218
+ outputPath?: string;
15219
+ /** Override detected framework */
15220
+ framework?: 'react' | 'next' | 'vanilla';
15221
+ /** Per-feature defaults */
15222
+ features?: {
15223
+ storybook?: boolean;
15224
+ hook?: boolean;
15225
+ styles?: boolean;
15226
+ tests?: boolean;
15227
+ };
15228
+ /** Composable hooks directory relative to project root */
15229
+ hookOutputDir?: string;
15230
+ /** Story file: side-effect import for global Atomix styles */
15231
+ storybookCssImport?: string;
15232
+ /** Barrel file strategy for new components */
15233
+ barrel?: 'index' | 'none';
15234
+ }
15235
+ /**
15236
+ * Atomix Configuration Interface
14535
15237
  *
14536
- * @example
14537
- * extractComponentName('--atomix-button-bg')
14538
- * // Returns: 'button'
15238
+ * Tailwind-like configuration for external developers.
14539
15239
  */
14540
- declare function extractComponentName(varName: string, prefix?: string): string | null;
15240
+ interface AtomixConfig {
15241
+ prefix?: string;
15242
+ plugins?: (string | PluginConfig)[];
15243
+ tokenEngine?: TokenEngineConfig;
15244
+ ai?: {
15245
+ provider?: 'openai' | 'anthropic';
15246
+ model?: string;
15247
+ apiKey?: string;
15248
+ temperature?: number;
15249
+ maxTokens?: number;
15250
+ rateLimit?: {
15251
+ requests: number;
15252
+ windowMs: number;
15253
+ };
15254
+ };
15255
+ telemetry?: {
15256
+ enabled?: boolean;
15257
+ path?: string;
15258
+ anonymize?: boolean;
15259
+ };
15260
+ generator?: GeneratorConfig;
15261
+ interactiveEffects?: InteractiveEffectsConfig;
15262
+ optimization?: OptimizationConfig;
15263
+ visualPolish?: VisualPolishConfig;
15264
+ theme?: {
15265
+ extend?: ThemeTokens;
15266
+ tokens?: ThemeTokens;
15267
+ themes?: Record<string, ThemeDefinition>;
15268
+ };
15269
+ /** @internal Build configuration */
15270
+ build?: BuildConfig;
15271
+ /** @internal Runtime configuration */
15272
+ runtime?: RuntimeConfig;
15273
+ /** @internal Integration settings */
15274
+ integration?: IntegrationConfig;
15275
+ /** @internal Theme dependencies mapping */
15276
+ dependencies?: Record<string, string[]>;
15277
+ }
15278
+ /**
15279
+ * Helper function to define Atomix configuration with type safety
15280
+ */
15281
+ declare function defineConfig(config: AtomixConfig): AtomixConfig;
14541
15282
 
14542
15283
  /**
14543
- * Theme Helper Functions
15284
+ * Atomix Config Loader
14544
15285
  *
14545
- * Utility functions for working with DesignTokens
15286
+ * Helper functions to load atomix.config.ts from external projects.
15287
+ * Now also supports atomix.config.js and atomix.config.json
14546
15288
  */
14547
15289
 
14548
15290
  /**
14549
- * Check if a value is DesignTokens
15291
+ * Load Atomix configuration from project root
14550
15292
  *
14551
- * Type guard to check if an object is DesignTokens format.
15293
+ * Attempts to load atomix.config.ts, atomix.config.js, or atomix.config.json from the current working directory.
15294
+ * Falls back to default config if file doesn't exist.
14552
15295
  *
14553
- * @param value - Value to check
14554
- * @returns True if value is DesignTokens
15296
+ * @param options - Loader options
15297
+ * @returns Loaded configuration or default
15298
+ *
15299
+ * @example
15300
+ * ```typescript
15301
+ * import { loadAtomixConfig } from '@shohojdhara/atomix/config';
15302
+ * import { createTheme } from '@shohojdhara/atomix/theme';
15303
+ *
15304
+ * const config = loadAtomixConfig();
15305
+ * const theme = createTheme(config.theme?.tokens || {});
15306
+ * ```
14555
15307
  */
14556
- declare function isDesignTokens(value: unknown): value is DesignTokens;
15308
+ declare function loadAtomixConfig(options?: {
15309
+ /** Custom config path (default: 'atomix.config.ts') */
15310
+ configPath?: string;
15311
+ /** Whether to throw error if config not found (default: false) */
15312
+ required?: boolean;
15313
+ }): AtomixConfig;
15314
+ /**
15315
+ * Resolve config path
15316
+ *
15317
+ * Finds atomix.config.ts in the project, checking common locations.
15318
+ * Returns null in browser environments where file system access is not available.
15319
+ *
15320
+ * This function is designed to help tools identify if a config exists without loading it.
15321
+ *
15322
+ * @param configPath - Optional custom path to check
15323
+ * @returns Absolute path to config file or null if not found
15324
+ */
15325
+ declare function resolveConfigPath(configPath?: string): string | null;
14557
15326
 
14558
15327
  /**
14559
- * RTL (Right-to-Left) Support Utilities
15328
+ * Configuration Validator
14560
15329
  *
14561
- * Provides utilities for managing RTL text direction in themes
15330
+ * Provides detailed validation and feedback for Atomix configurations,
15331
+ * especially for advanced features (Phases 2, 3, and 4).
14562
15332
  */
15333
+
14563
15334
  /**
14564
- * RTL configuration options
15335
+ * Validation result with detailed information
14565
15336
  */
14566
- interface RTLConfig {
14567
- /** Enable RTL mode */
14568
- enabled: boolean;
14569
- /** Current direction ('ltr' | 'rtl') */
14570
- direction: 'ltr' | 'rtl';
14571
- /** Data attribute name for direction */
14572
- dataAttribute?: string;
14573
- /** Auto-detect from locale */
14574
- autoDetect?: boolean;
14575
- /** Locale code (e.g., 'ar', 'he', 'fa') */
14576
- locale?: string;
15337
+ interface ValidationResult {
15338
+ /** Whether the configuration is valid */
15339
+ isValid: boolean;
15340
+ /** Warnings about potential issues */
15341
+ warnings: string[];
15342
+ /** Suggestions for improvement */
15343
+ suggestions: string[];
15344
+ /** Performance impact assessment */
15345
+ performanceImpact: 'low' | 'medium' | 'high';
15346
+ /** Compatibility report */
15347
+ compatibility: {
15348
+ /** Browser support status */
15349
+ browsers: boolean;
15350
+ /** SSR support status */
15351
+ ssr: boolean;
15352
+ /** Framework compatibility */
15353
+ frameworks: ('react' | 'vue' | 'angular' | 'svelte' | 'vanillajs')[];
15354
+ };
14577
15355
  }
14578
15356
  /**
14579
- * RTL Manager
15357
+ * Validate an Atomix configuration with detailed feedback
14580
15358
  *
14581
- * Manages RTL text direction for the theme system
14582
- */
14583
- declare class RTLManager {
14584
- private config;
14585
- private listeners;
14586
- constructor(config?: Partial<RTLConfig>);
14587
- /**
14588
- * Detect locale from browser
14589
- */
14590
- private detectLocale;
14591
- /**
14592
- * Check if locale is RTL
14593
- */
14594
- isRTLLocale(locale: string): boolean;
14595
- /**
14596
- * Get current direction
14597
- */
14598
- getDirection(): 'ltr' | 'rtl';
14599
- /**
14600
- * Check if RTL is enabled
14601
- */
14602
- isEnabled(): boolean;
14603
- /**
14604
- * Set direction
14605
- */
14606
- setDirection(direction: 'ltr' | 'rtl'): void;
14607
- /**
14608
- * Toggle direction
14609
- */
14610
- toggleDirection(): 'ltr' | 'rtl';
14611
- /**
14612
- * Enable RTL
14613
- */
14614
- enable(): void;
14615
- /**
14616
- * Disable RTL
14617
- */
14618
- disable(): void;
14619
- /**
14620
- * Set locale and auto-adjust direction
14621
- */
14622
- setLocale(locale: string): void;
14623
- /**
14624
- * Get current locale
14625
- */
14626
- getLocale(): string | undefined;
14627
- /**
14628
- * Apply direction to DOM
14629
- */
14630
- private applyDirection;
14631
- /**
14632
- * Add direction change listener
14633
- */
14634
- onDirectionChange(callback: (direction: 'ltr' | 'rtl') => void): () => void;
14635
- /**
14636
- * Notify listeners of direction change
14637
- */
14638
- private notifyListeners;
14639
- /**
14640
- * Get RTL-aware value
14641
- *
14642
- * Returns different values based on direction
14643
- */
14644
- getValue<T>(ltrValue: T, rtlValue: T): T;
14645
- /**
14646
- * Get RTL-aware CSS property
14647
- *
14648
- * Returns appropriate CSS property based on direction
14649
- */
14650
- getCSSProperty(property: string): string;
14651
- /**
14652
- * Destroy RTL manager
14653
- */
14654
- destroy(): void;
14655
- }
14656
-
14657
- /**
14658
- * Theme System Exports
14659
- *
14660
- * Simplified theme system using DesignTokens only.
15359
+ * @param config - The configuration to validate
15360
+ * @param options - Validation options
15361
+ * @returns Detailed validation result
14661
15362
  *
14662
15363
  * @example
14663
15364
  * ```typescript
14664
- * import { createTheme, injectTheme } from '@shohojdhara/atomix/theme';
15365
+ * import { validateConfiguration } from '@shohojdhara/atomix/config';
14665
15366
  *
14666
- * // Using DesignTokens
14667
- * const css = createTheme({ 'primary': '#7AFFD7', 'spacing-4': '1rem' });
14668
- * injectTheme(css);
15367
+ * const config = { /* your config *\/ };
15368
+ * const result = validateConfiguration(config);
14669
15369
  *
14670
- * // Or use with ThemeProvider
14671
- * import { ThemeProvider } from '@shohojdhara/atomix/theme';
14672
- * const tokens = { 'primary': '#7c3aed' };
14673
- * <ThemeProvider defaultTheme={tokens}>...</ThemeProvider>
15370
+ * if (!result.isValid) {
15371
+ * console.warn('Warnings:', result.warnings);
15372
+ * console.info('Suggestions:', result.suggestions);
15373
+ * }
14674
15374
  * ```
14675
15375
  */
14676
-
14677
- /**
14678
- * Inject theme CSS into DOM
14679
- */
14680
- declare function injectTheme(css: string, id?: string): void;
15376
+ declare function validateConfiguration(config: AtomixConfig, options?: {
15377
+ /** Include performance impact analysis (default: true) */
15378
+ performanceAnalysis?: boolean;
15379
+ /** Include compatibility report (default: true) */
15380
+ compatibilityReport?: boolean;
15381
+ }): ValidationResult;
14681
15382
  /**
14682
- * Remove theme from DOM
15383
+ * Print a detailed configuration report to the console
15384
+ *
15385
+ * @param config - The configuration to analyze
15386
+ * @param title - Optional title for the report
15387
+ *
15388
+ * @example
15389
+ * ```typescript
15390
+ * import { printConfigReport } from '@shohojdhara/atomix/config';
15391
+ *
15392
+ * const config = { /* your config *\/ };
15393
+ * printConfigReport(config, 'My Application Config');
15394
+ * ```
14683
15395
  */
14684
- declare function removeTheme(id?: string): void;
14685
-
14686
- type themeImport_A11yIssue = A11yIssue;
14687
- type themeImport_CSSVariableConfig = CSSVariableConfig;
14688
- type themeImport_CSSVariableNamingOptions = CSSVariableNamingOptions;
14689
- type themeImport_ComponentThemeOptions = ComponentThemeOptions;
14690
- type themeImport_ComponentThemeOverride = ComponentThemeOverride;
14691
- type themeImport_DesignTokens = DesignTokens;
14692
- declare const themeImport_DesignTokensCustomizer: typeof DesignTokensCustomizer;
14693
- type themeImport_DesignTokensCustomizerProps = DesignTokensCustomizerProps;
14694
- type themeImport_GenerateCSSVariablesOptions = GenerateCSSVariablesOptions;
14695
- type themeImport_NamingOptions = NamingOptions;
14696
- type themeImport_RTLConfig = RTLConfig;
14697
- type themeImport_RTLManager = RTLManager;
14698
- declare const themeImport_RTLManager: typeof RTLManager;
14699
- type themeImport_Theme = Theme;
14700
- type themeImport_ThemeApplicator = ThemeApplicator;
14701
- declare const themeImport_ThemeApplicator: typeof ThemeApplicator;
14702
- type themeImport_ThemeChangeEvent = ThemeChangeEvent;
14703
- declare const themeImport_ThemeComparator: typeof ThemeComparator;
14704
- type themeImport_ThemeComparatorProps = ThemeComparatorProps;
14705
- type themeImport_ThemeComponentOverrides = ThemeComponentOverrides;
14706
- declare const themeImport_ThemeContext: typeof ThemeContext;
14707
- type themeImport_ThemeContextValue = ThemeContextValue;
14708
- type themeImport_ThemeErrorBoundary = ThemeErrorBoundary;
14709
- declare const themeImport_ThemeErrorBoundary: typeof ThemeErrorBoundary;
14710
- type themeImport_ThemeErrorBoundaryProps = ThemeErrorBoundaryProps;
14711
- declare const themeImport_ThemeInspector: typeof ThemeInspector;
14712
- type themeImport_ThemeInspectorProps = ThemeInspectorProps;
14713
- declare const themeImport_ThemeLiveEditor: typeof ThemeLiveEditor;
14714
- type themeImport_ThemeLiveEditorProps = ThemeLiveEditorProps;
14715
- type themeImport_ThemeLoadOptions = ThemeLoadOptions;
14716
- declare const themeImport_ThemePreview: typeof ThemePreview;
14717
- type themeImport_ThemePreviewProps = ThemePreviewProps;
14718
- declare const themeImport_ThemeProvider: typeof ThemeProvider;
14719
- type themeImport_ThemeProviderProps = ThemeProviderProps;
14720
- type themeImport_ThemeValidationResult = ThemeValidationResult;
14721
- type themeImport_ThemeValidator = ThemeValidator;
14722
- declare const themeImport_ThemeValidator: typeof ThemeValidator;
14723
- type themeImport_UseHistoryOptions = UseHistoryOptions;
14724
- type themeImport_UseHistoryReturn<T> = UseHistoryReturn<T>;
14725
- type themeImport_UseThemeReturn = UseThemeReturn;
14726
- type themeImport_ValidationResult = ValidationResult;
14727
- declare const themeImport_applyCSSVariables: typeof applyCSSVariables;
14728
- declare const themeImport_applyComponentTheme: typeof applyComponentTheme;
14729
- declare const themeImport_applyTheme: typeof applyTheme;
14730
- declare const themeImport_camelToKebab: typeof camelToKebab;
14731
- declare const themeImport_clearThemes: typeof clearThemes;
14732
- declare const themeImport_createTheme: typeof createTheme;
14733
- declare const themeImport_createThemeRegistry: typeof createThemeRegistry;
14734
- declare const themeImport_createTokens: typeof createTokens;
14735
- declare const themeImport_cssVarsToStyle: typeof cssVarsToStyle;
14736
- declare const themeImport_deepMerge: typeof deepMerge;
14737
- declare const themeImport_defaultTokens: typeof defaultTokens;
14738
- declare const themeImport_designTokensToCSSVars: typeof designTokensToCSSVars;
14739
- declare const themeImport_extendTheme: typeof extendTheme;
14740
- declare const themeImport_extractComponentName: typeof extractComponentName;
14741
- declare const themeImport_generateCSSVariableName: typeof generateCSSVariableName;
14742
- declare const themeImport_generateCSSVariables: typeof generateCSSVariables;
14743
- declare const themeImport_generateCSSVariablesForSelector: typeof generateCSSVariablesForSelector;
14744
- declare const themeImport_generateClassName: typeof generateClassName;
14745
- declare const themeImport_generateComponentCSSVars: typeof generateComponentCSSVars;
14746
- declare const themeImport_getAllThemes: typeof getAllThemes;
14747
- declare const themeImport_getCSSVariable: typeof getCSSVariable;
14748
- declare const themeImport_getComponentThemeValue: typeof getComponentThemeValue;
14749
- declare const themeImport_getTheme: typeof getTheme;
14750
- declare const themeImport_getThemeApplicator: typeof getThemeApplicator;
14751
- declare const themeImport_getThemeCount: typeof getThemeCount;
14752
- declare const themeImport_getThemeIds: typeof getThemeIds;
14753
- declare const themeImport_hasTheme: typeof hasTheme;
14754
- declare const themeImport_injectCSS: typeof injectCSS;
14755
- declare const themeImport_injectTheme: typeof injectTheme;
14756
- declare const themeImport_isCSSInjected: typeof isCSSInjected;
14757
- declare const themeImport_isDesignTokens: typeof isDesignTokens;
14758
- declare const themeImport_isValidCSSVariableName: typeof isValidCSSVariableName;
14759
- declare const themeImport_mapSCSSTokensToCSSVars: typeof mapSCSSTokensToCSSVars;
14760
- declare const themeImport_mergeCSSVars: typeof mergeCSSVars;
14761
- declare const themeImport_mergeTheme: typeof mergeTheme;
14762
- declare const themeImport_normalizeThemeTokens: typeof normalizeThemeTokens;
14763
- declare const themeImport_registerTheme: typeof registerTheme;
14764
- declare const themeImport_removeCSS: typeof removeCSS;
14765
- declare const themeImport_removeCSSVariables: typeof removeCSSVariables;
14766
- declare const themeImport_removeTheme: typeof removeTheme;
14767
- declare const themeImport_themePropertyToCSSVar: typeof themePropertyToCSSVar;
14768
- declare const themeImport_unregisterTheme: typeof unregisterTheme;
14769
- declare const themeImport_useComponentTheme: typeof useComponentTheme;
14770
- declare const themeImport_useHistory: typeof useHistory;
14771
- declare const themeImport_useTheme: typeof useTheme;
14772
- declare const themeImport_useThemeTokens: typeof useThemeTokens;
14773
- declare namespace themeImport {
14774
- export { themeImport_DesignTokensCustomizer as DesignTokensCustomizer, themeImport_RTLManager as RTLManager, themeImport_ThemeApplicator as ThemeApplicator, themeImport_ThemeComparator as ThemeComparator, themeImport_ThemeContext as ThemeContext, themeImport_ThemeErrorBoundary as ThemeErrorBoundary, themeImport_ThemeInspector as ThemeInspector, themeImport_ThemeLiveEditor as ThemeLiveEditor, themeImport_ThemePreview as ThemePreview, themeImport_ThemeProvider as ThemeProvider, themeImport_ThemeValidator as ThemeValidator, themeImport_applyCSSVariables as applyCSSVariables, themeImport_applyComponentTheme as applyComponentTheme, themeImport_applyTheme as applyTheme, themeImport_camelToKebab as camelToKebab, themeImport_clearThemes as clearThemes, themeImport_createTheme as createTheme, themeImport_createThemeRegistry as createThemeRegistry, themeImport_createTokens as createTokens, themeImport_cssVarsToStyle as cssVarsToStyle, themeImport_deepMerge as deepMerge, themeImport_defaultTokens as defaultTokens, themeImport_designTokensToCSSVars as designTokensToCSSVars, themeImport_extendTheme as extendTheme, themeImport_extractComponentName as extractComponentName, themeImport_generateCSSVariableName as generateCSSVariableName, themeImport_generateCSSVariables as generateCSSVariables, themeImport_generateCSSVariablesForSelector as generateCSSVariablesForSelector, themeImport_generateClassName as generateClassName, themeImport_generateComponentCSSVars as generateComponentCSSVars, themeImport_getAllThemes as getAllThemes, themeImport_getCSSVariable as getCSSVariable, themeImport_getComponentThemeValue as getComponentThemeValue, themeImport_getTheme as getTheme, themeImport_getThemeApplicator as getThemeApplicator, themeImport_getThemeCount as getThemeCount, themeImport_getThemeIds as getThemeIds, themeImport_hasTheme as hasTheme, themeImport_injectCSS as injectCSS, themeImport_injectTheme as injectTheme, themeImport_isCSSInjected as isCSSInjected, themeImport_isDesignTokens as isDesignTokens, themeImport_isValidCSSVariableName as isValidCSSVariableName, themeImport_mapSCSSTokensToCSSVars as mapSCSSTokensToCSSVars, themeImport_mergeCSSVars as mergeCSSVars, themeImport_mergeTheme as mergeTheme, themeImport_normalizeThemeTokens as normalizeThemeTokens, themeImport_registerTheme as registerTheme, themeImport_removeCSS as removeCSS, themeImport_removeCSSVariables as removeCSSVariables, themeImport_removeTheme as removeTheme, themeImport_themePropertyToCSSVar as themePropertyToCSSVar, themeImport_unregisterTheme as unregisterTheme, themeImport_useComponentTheme as useComponentTheme, themeImport_useHistory as useHistory, themeImport_useTheme as useTheme, themeImport_useThemeTokens as useThemeTokens };
14775
- export type { themeImport_A11yIssue as A11yIssue, themeImport_CSSVariableConfig as CSSVariableConfig, themeImport_CSSVariableNamingOptions as CSSVariableNamingOptions, themeImport_ComponentThemeOptions as ComponentThemeOptions, themeImport_ComponentThemeOverride as ComponentThemeOverride, themeImport_DesignTokens as DesignTokens, themeImport_DesignTokensCustomizerProps as DesignTokensCustomizerProps, themeImport_GenerateCSSVariablesOptions as GenerateCSSVariablesOptions, themeImport_NamingOptions as NamingOptions, themeImport_RTLConfig as RTLConfig, themeImport_Theme as Theme, themeImport_ThemeChangeEvent as ThemeChangeEvent, themeImport_ThemeComparatorProps as ThemeComparatorProps, themeImport_ThemeComponentOverrides as ThemeComponentOverrides, themeImport_ThemeContextValue as ThemeContextValue, themeImport_ThemeErrorBoundaryProps as ThemeErrorBoundaryProps, themeImport_ThemeInspectorProps as ThemeInspectorProps, themeImport_ThemeLiveEditorProps as ThemeLiveEditorProps, themeImport_ThemeLoadOptions as ThemeLoadOptions, themeImport_ThemePreviewProps as ThemePreviewProps, themeImport_ThemeProviderProps as ThemeProviderProps, themeImport_ThemeValidationResult as ThemeValidationResult, themeImport_UseHistoryOptions as UseHistoryOptions, themeImport_UseHistoryReturn as UseHistoryReturn, themeImport_UseThemeReturn as UseThemeReturn, themeImport_ValidationResult as ValidationResult };
14776
- }
15396
+ declare function printConfigReport(config: AtomixConfig, title?: string): void;
14777
15397
 
14778
15398
  /**
14779
- * Component Customization Hook
15399
+ * Public API for loading and managing Atomix configuration
14780
15400
  *
14781
- * Merges theme-level component overrides with component-level props
14782
- * for comprehensive customization support.
15401
+ * This module provides the public-facing API for configuration loading
15402
+ * in external projects.
14783
15403
  */
14784
15404
 
14785
15405
  /**
14786
- * Component names that support customization
14787
- */
14788
- type ComponentName = keyof ComponentPartsMap;
14789
- /**
14790
- * Props for a customizable component
14791
- */
14792
- interface CustomizableComponentProps<T extends ComponentName> {
14793
- /** CSS variable overrides */
14794
- cssVars?: T extends keyof ComponentCSSVariables ? Partial<Record<ComponentCSSVariables[T], string | number>> : Record<string, string | number>;
14795
- /** Part-based styling */
14796
- parts?: ComponentPartsMap[T];
14797
- /** Additional className */
14798
- className?: string;
14799
- /** Inline styles */
14800
- style?: React.CSSProperties;
14801
- }
14802
- /**
14803
- * Result of component customization
14804
- */
14805
- interface ComponentCustomization<T extends ComponentName> {
14806
- /** Merged CSS variables */
14807
- cssVars: Record<string, string | number>;
14808
- /** Merged part styles */
14809
- parts: ComponentPartsMap[T];
14810
- /** Merged className */
14811
- className: string;
14812
- /** Merged inline styles */
14813
- style: React.CSSProperties;
14814
- /** CSS variable style object for inline application */
14815
- cssVarStyle: React.CSSProperties;
14816
- }
14817
- /**
14818
- * Hook to merge theme overrides with component props
15406
+ * Load Atomix configuration from an external project.
15407
+ *
15408
+ * @param options - Loading options
15409
+ * @returns The loaded configuration
14819
15410
  *
14820
15411
  * @example
14821
- * function Button(props: ButtonProps) {
14822
- * const customization = useComponentCustomization('Button', props);
15412
+ * ```typescript
15413
+ * import { loadConfig } from '@shohojdhara/atomix/config';
14823
15414
  *
14824
- * return (
14825
- * <button
14826
- * className={customization.className}
14827
- * style={customization.style}
14828
- * >
14829
- * {props.children}
14830
- * </button>
14831
- * );
14832
- * }
14833
- */
14834
- declare function useComponentCustomization<T extends ComponentName>(component: T, props: CustomizableComponentProps<T>): ComponentCustomization<T>;
14835
- /**
14836
- * Hook to get default props from theme
15415
+ * const config = loadConfig();
15416
+ * console.log(config.prefix); // 'atomix' or user's custom prefix
15417
+ * ```
14837
15418
  */
14838
- declare function useComponentDefaultProps<T extends ComponentName>(component: T): Record<string, any>;
15419
+ declare function loadConfig(options?: {
15420
+ configPath?: string;
15421
+ required?: boolean;
15422
+ }): AtomixConfig;
14839
15423
  /**
14840
- * Hook to merge default props with provided props
15424
+ * Validate Atomix configuration structure.
15425
+ *
15426
+ * @param config - Configuration object to validate
15427
+ * @returns Array of validation warnings (empty if valid)
14841
15428
  */
14842
- declare function useMergedProps<T extends Record<string, any>>(defaultProps: T, props: Partial<T>): T;
15429
+ declare function validateConfig(config: AtomixConfig): string[];
15430
+
14843
15431
  /**
14844
- * Utility to apply CSS variables to style object
15432
+ * Theme Adapter
15433
+ *
15434
+ * Converts between Theme objects and DesignTokens
14845
15435
  */
14846
- declare function applyCSSVarsToStyle(cssVars: Record<string, string | number>, baseStyle?: React.CSSProperties): React.CSSProperties;
14847
15436
 
14848
15437
  /**
14849
- * Atomix Configuration System
15438
+ * Converts an AtomixConfig to DesignTokens
14850
15439
  *
14851
- * Tailwind-like configuration for customizing the Atomix Design System.
15440
+ * This function maps the configuration from the user-facing format
15441
+ * to the internal DesignTokens format used by the theme system.
14852
15442
  *
14853
- * External developers can create `atomix.config.ts` in their project root
14854
- * to customize design tokens, similar to Tailwind's tailwind.config.js
15443
+ * @param config - The configuration object to convert
15444
+ * @returns DesignTokens object ready for theme generation
14855
15445
  *
14856
15446
  * @example
14857
15447
  * ```typescript
14858
- * // atomix.config.ts (in your project)
14859
- * import { defineConfig } from '@shohojdhara/atomix/config';
14860
- *
14861
- * export default defineConfig({
14862
- * theme: {
14863
- * extend: {
14864
- * colors: {
14865
- * primary: { main: '#7AFFD7' },
14866
- * },
14867
- * },
14868
- * },
14869
- * });
15448
+ * import { configToTokens } from '@shohojdhara/atomix/theme';
15449
+ *
15450
+ * const config = {
15451
+ * prefix: 'myapp',
15452
+ * theme: { extend: { colors: { primary: { main: '#7AFFD7' } } } }
15453
+ * };
15454
+ * const tokens = configToTokens(config);
14870
15455
  * ```
14871
15456
  */
14872
-
15457
+ declare function configToTokens(config: AtomixConfig): DesignTokens;
14873
15458
  /**
14874
- * Color Scale (1-10)
15459
+ * Converts DesignTokens to CSS variables
15460
+ *
15461
+ * @param tokens - The tokens to convert
15462
+ * @returns A record of CSS variable names and values
14875
15463
  */
14876
- interface ColorScale {
14877
- 1?: string;
14878
- 2?: string;
14879
- 3?: string;
14880
- 4?: string;
14881
- 5?: string;
14882
- 6?: string;
14883
- 7?: string;
14884
- 8?: string;
14885
- 9?: string;
14886
- 10?: string;
14887
- [key: string]: string | undefined;
14888
- }
15464
+ declare function designTokensToCSSVars(tokens: Partial<DesignTokens>): Record<string, string>;
15465
+
14889
15466
  /**
14890
- * Palette Color Options
15467
+ * CSS Variable Mapper
15468
+ *
15469
+ * Utilities for generating and managing CSS custom properties from SCSS tokens
15470
+ * and component configurations.
14891
15471
  */
14892
- interface PaletteColorOptions {
14893
- main: string;
14894
- light?: string;
14895
- dark?: string;
14896
- contrastText?: string;
14897
- }
14898
15472
  /**
14899
- * Design Tokens Schema (Tailwind-like)
15473
+ * Configuration for generating CSS variables for a component
14900
15474
  */
14901
- interface ThemeTokens {
14902
- /** Color palette */
14903
- colors?: Record<string, string | PaletteColorOptions | ColorScale | Record<string, string>>;
14904
- /** Spacing scale */
14905
- spacing?: Record<string, string>;
14906
- /** Border radius scale */
14907
- borderRadius?: Record<string, string>;
14908
- /** Typography scale and settings */
14909
- typography?: {
14910
- fontFamilies?: Record<string, string>;
14911
- fontSizes?: Record<string, string>;
14912
- fontWeights?: Record<string, string | number>;
14913
- lineHeights?: Record<string, string | number>;
14914
- letterSpacings?: Record<string, string>;
14915
- };
14916
- /** Shadow scale */
14917
- shadows?: Record<string, string>;
14918
- /** Z-index scale */
14919
- zIndex?: Record<string, string | number>;
14920
- /** Breakpoints scale */
14921
- breakpoints?: Record<string, string | number>;
14922
- /** Transitions settings */
14923
- transitions?: {
14924
- durations?: Record<string, string>;
14925
- easings?: Record<string, string>;
14926
- };
15475
+ interface CSSVariableConfig {
15476
+ /** Component name (e.g., 'button', 'card') */
15477
+ component: string;
15478
+ /** Base properties for the component */
15479
+ properties: Record<string, string | number>;
15480
+ /** Part-specific properties (e.g., icon, label) */
15481
+ parts?: Record<string, Record<string, string | number>>;
15482
+ /** State-specific properties (e.g., hover, active, disabled) */
15483
+ states?: Record<string, Record<string, string | number>>;
15484
+ /** Variant-specific properties (e.g., primary, secondary) */
15485
+ variants?: Record<string, Record<string, string | number>>;
14927
15486
  }
14928
15487
  /**
14929
- * CSS Theme Definition
15488
+ * CSS variable naming options
14930
15489
  */
14931
- interface CSSThemeDefinition {
14932
- type: 'css';
14933
- name: string;
14934
- class?: string;
14935
- description?: string;
14936
- author?: string;
14937
- version?: string;
14938
- tags?: string[];
14939
- supportsDarkMode?: boolean;
14940
- status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
14941
- a11y?: {
14942
- contrastTarget?: number;
14943
- modes?: string[];
14944
- };
14945
- color?: string;
14946
- features?: string[];
14947
- dependencies?: string[];
14948
- cssPath?: string;
15490
+ interface CSSVariableNamingOptions {
15491
+ /** Prefix for all variables (default: 'atomix') */
15492
+ prefix?: string;
15493
+ /** Separator between parts (default: '-') */
15494
+ separator?: string;
15495
+ /** Whether to include component name in variable (default: true) */
15496
+ includeComponent?: boolean;
14949
15497
  }
14950
15498
  /**
14951
- * JavaScript Theme Definition
15499
+ * Map SCSS tokens to CSS custom properties
15500
+ *
15501
+ * @example
15502
+ * const tokens = { '$primary-color': '#7AFFD7', '$spacing-md': '16px' }
15503
+ * const vars = mapSCSSTokensToCSSVars(tokens)
15504
+ * // Returns: { '--primary-color': '#7AFFD7', '--spacing-md': '16px' }
14952
15505
  */
14953
- interface JSThemeDefinition {
14954
- type: 'js';
14955
- name: string;
14956
- class?: string;
14957
- description?: string;
14958
- author?: string;
14959
- version?: string;
14960
- tags?: string[];
14961
- supportsDarkMode?: boolean;
14962
- status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
14963
- a11y?: {
14964
- contrastTarget?: number;
14965
- modes?: string[];
14966
- };
14967
- color?: string;
14968
- features?: string[];
14969
- dependencies?: string[];
14970
- createTheme: () => Theme;
14971
- }
15506
+ declare function mapSCSSTokensToCSSVars(tokens: Record<string, any>, options?: CSSVariableNamingOptions): Record<string, string>;
14972
15507
  /**
14973
- * Theme Definition (CSS or JS)
15508
+ * Apply CSS variables to an element
15509
+ *
15510
+ * @param vars - CSS variables to apply
15511
+ * @param element - Target element (defaults to document.documentElement)
14974
15512
  */
14975
- type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
15513
+ declare function applyCSSVariables(vars: Record<string, string | number>, element?: HTMLElement): void;
14976
15514
  /**
14977
- * Build configuration (migrated from theme.config.ts)
15515
+ * Remove CSS variables from an element
15516
+ *
15517
+ * @param varNames - Variable names to remove
15518
+ * @param element - Target element (defaults to document.documentElement)
14978
15519
  */
14979
- interface BuildConfig {
14980
- output?: {
14981
- directory?: string;
14982
- formats?: {
14983
- expanded?: string;
14984
- compressed?: string;
14985
- };
14986
- };
14987
- sass?: {
14988
- style?: 'expanded' | 'compressed';
14989
- sourceMap?: boolean;
14990
- loadPaths?: string[];
14991
- };
14992
- }
15520
+ declare function removeCSSVariables(varNames: string[], element?: HTMLElement): void;
14993
15521
  /**
14994
- * Runtime configuration (migrated from theme.config.ts)
15522
+ * Get CSS variable value from an element
15523
+ *
15524
+ * @param varName - Variable name to get
15525
+ * @param element - Target element (defaults to document.documentElement)
15526
+ * @returns Variable value or null if not found
14995
15527
  */
14996
- interface RuntimeConfig {
14997
- basePath?: string;
14998
- cdnPath?: string | null;
14999
- preload?: string[];
15000
- lazy?: boolean;
15001
- defaultTheme?: string;
15002
- storageKey?: string;
15003
- dataAttribute?: string;
15004
- enablePersistence?: boolean;
15005
- useMinified?: boolean;
15006
- }
15528
+ declare function getCSSVariable(varName: string, element?: HTMLElement): string | null;
15007
15529
  /**
15008
- * Integration settings (migrated from theme.config.ts)
15530
+ * Convert CSS variable object to inline style object
15531
+ *
15532
+ * @example
15533
+ * const vars = { '--atomix-button-bg': '#000' }
15534
+ * const style = cssVarsToStyle(vars)
15535
+ * // Returns: { '--atomix-button-bg': '#000' } as React.CSSProperties
15009
15536
  */
15010
- interface IntegrationConfig {
15011
- cssVariables?: Record<string, string>;
15012
- classNames?: {
15013
- theme?: string;
15014
- colorMode?: string;
15015
- };
15016
- }
15537
+ declare function cssVarsToStyle(vars: Record<string, string | number>): React.CSSProperties;
15017
15538
  /**
15018
- * Plugin Configuration
15539
+ * Merge multiple CSS variable objects
15540
+ * Later objects override earlier ones
15019
15541
  */
15020
- interface PluginConfig {
15021
- name: string;
15022
- options?: Record<string, any>;
15023
- }
15542
+ declare function mergeCSSVars(...varObjects: Array<Record<string, string | number> | undefined>): Record<string, string | number>;
15024
15543
  /**
15025
- * Token Provider Configuration
15544
+ * Validate CSS variable name format
15026
15545
  */
15027
- interface TokenProviderConfig {
15028
- type: 'figma' | 'style-dictionary' | 'w3c' | string;
15029
- options?: Record<string, any>;
15030
- }
15546
+ declare function isValidCSSVariableName(name: string): boolean;
15031
15547
  /**
15032
- * Token Engine Configuration
15548
+ * Extract component name from CSS variable name
15549
+ *
15550
+ * @example
15551
+ * extractComponentName('--atomix-button-bg')
15552
+ * // Returns: 'button'
15033
15553
  */
15034
- interface TokenEngineConfig {
15035
- providers?: Record<string, TokenProviderConfig>;
15036
- sync?: {
15037
- pull?: boolean;
15038
- push?: boolean;
15039
- onBuild?: boolean;
15040
- };
15041
- }
15554
+ declare function extractComponentName(varName: string, prefix?: string): string | null;
15555
+
15042
15556
  /**
15043
- * CLI component generator defaults (merged before CLI flags; flags win).
15557
+ * Theme Helper Functions
15558
+ *
15559
+ * Utility functions for working with DesignTokens
15044
15560
  */
15045
- interface GeneratorConfig {
15046
- /** Default output directory for generated components */
15047
- outputPath?: string;
15048
- /** Override detected framework */
15049
- framework?: 'react' | 'next' | 'vanilla';
15050
- /** Per-feature defaults (CLI --no-* flags override) */
15051
- features?: {
15052
- storybook?: boolean;
15053
- hook?: boolean;
15054
- styles?: boolean;
15055
- tests?: boolean;
15561
+
15562
+ /**
15563
+ * Check if a value is DesignTokens
15564
+ *
15565
+ * Type guard to check if an object is DesignTokens format.
15566
+ *
15567
+ * @param value - Value to check
15568
+ * @returns True if value is DesignTokens
15569
+ */
15570
+ declare function isDesignTokens(value: unknown): value is DesignTokens;
15571
+
15572
+ /**
15573
+ * Performance Monitor Utility
15574
+ *
15575
+ * Provides performance monitoring and metrics collection for the Atomix theme system.
15576
+ * Used to measure and optimize performance of advanced visual effects.
15577
+ */
15578
+ /**
15579
+ * Performance metrics collected by the monitor
15580
+ */
15581
+ interface PerformanceMetrics {
15582
+ /** Frames per second */
15583
+ fps: number;
15584
+ /** Average frame render time in ms */
15585
+ frameTime: number;
15586
+ /** Peak frame render time in ms */
15587
+ peakFrameTime: number;
15588
+ /** Memory usage statistics */
15589
+ memory?: {
15590
+ usedJSHeapSize: number;
15591
+ totalJSHeapSize: number;
15592
+ jsHeapSizeLimit: number;
15056
15593
  };
15057
- /** Composable hooks directory relative to project root */
15058
- hookOutputDir?: string;
15059
- /** Story file: side-effect import for global Atomix styles */
15060
- storybookCssImport?: string;
15061
- /** Barrel file strategy for new components */
15062
- barrel?: 'index' | 'none';
15594
+ /** Timestamp of measurement */
15595
+ timestamp: number;
15596
+ /** Whether performance is degrading */
15597
+ isDegraded: boolean;
15063
15598
  }
15064
15599
  /**
15065
- * Atomix Configuration Interface
15066
- *
15067
- * Tailwind-like configuration for external developers.
15068
- * Focus on theme customization - build/runtime configs are internal only.
15600
+ * Performance monitor configuration
15069
15601
  */
15070
- interface AtomixConfig {
15071
- /**
15072
- * CSS variable prefix (default: 'atomix')
15602
+ interface PerformanceMonitorConfig {
15603
+ /** Target FPS threshold (default: 60) */
15604
+ fpsTarget?: number;
15605
+ /** How frequently to sample (default: 500ms) */
15606
+ sampleInterval?: number;
15607
+ /** Callback for performance updates */
15608
+ onUpdate?: (metrics: PerformanceMetrics) => void;
15609
+ /** Callback when performance degrades */
15610
+ onDegraded?: (metrics: PerformanceMetrics) => void;
15611
+ /** Enable/disable memory monitoring */
15612
+ enableMemoryMonitoring?: boolean;
15613
+ }
15614
+ /**
15615
+ * Performance monitor class
15616
+ */
15617
+ declare class PerformanceMonitor {
15618
+ config: Required<PerformanceMonitorConfig>;
15619
+ private frameCount;
15620
+ private lastSampleTime;
15621
+ private lastFpsUpdate;
15622
+ private frameTimes;
15623
+ private animationFrameId;
15624
+ private isActive;
15625
+ private startTime;
15626
+ /**
15627
+ * Create a new performance monitor
15073
15628
  *
15074
- * Change this to customize all CSS variable names.
15075
- * Example: prefix: 'myapp' → --myapp-primary instead of --atomix-primary
15629
+ * @param config Configuration options
15076
15630
  */
15077
- prefix?: string;
15631
+ constructor(config?: PerformanceMonitorConfig);
15078
15632
  /**
15079
- * Plugins to extend CLI functionality
15633
+ * Start monitoring performance
15080
15634
  */
15081
- plugins?: (string | PluginConfig)[];
15635
+ start(): void;
15082
15636
  /**
15083
- * Universal Token Engine configuration
15637
+ * Stop monitoring performance
15084
15638
  */
15085
- tokenEngine?: TokenEngineConfig;
15639
+ stop(): void;
15086
15640
  /**
15087
- * AI-Assisted Scaffolding configuration
15641
+ * Get current performance metrics
15088
15642
  */
15089
- ai?: {
15090
- /** AI provider (default: 'openai') */
15091
- provider?: 'openai' | 'anthropic';
15092
- /** LLM model to use */
15093
- model?: string;
15094
- /** API key for the provider */
15095
- apiKey?: string;
15096
- /** Temperature for AI creativity (0.0-1.0, default: 0.7) */
15097
- temperature?: number;
15098
- /** Maximum tokens per AI response (default: 4000) */
15099
- maxTokens?: number;
15100
- /** Rate limiting configuration */
15101
- rateLimit?: {
15102
- /** Maximum requests allowed */
15103
- requests: number;
15104
- /** Time window in milliseconds */
15105
- windowMs: number;
15106
- };
15107
- };
15643
+ getMetrics(): PerformanceMetrics;
15108
15644
  /**
15109
- * Performance & Telemetry (Phase 4)
15645
+ * Get the current FPS
15110
15646
  */
15111
- telemetry?: {
15112
- /** Enable local telemetry logging (default: false) */
15113
- enabled?: boolean;
15114
- /** Output path for telemetry logs (default: '.atomix/telemetry.json') */
15115
- path?: string;
15116
- /** Anonymize telemetry data (default: true) */
15117
- anonymize?: boolean;
15118
- };
15647
+ getFps(): number;
15119
15648
  /**
15120
- * `atomix generate` defaults (CLI overrides these)
15649
+ * Check if performance is degraded
15121
15650
  */
15122
- generator?: GeneratorConfig;
15651
+ isPerformanceDegraded(): boolean;
15652
+ /**
15653
+ * Private method called on each animation frame
15654
+ */
15655
+ private onFrame;
15123
15656
  /**
15124
- * Theme customization (Tailwind-like)
15657
+ * Run a performance test for a specific function
15125
15658
  *
15126
- * Use `extend` to add or override design tokens.
15127
- * Use `tokens` to completely replace the default token system (advanced).
15659
+ * @param fn Function to test
15660
+ * @param iterations Number of iterations (default: 100)
15661
+ * @returns Average execution time in ms
15128
15662
  */
15129
- theme?: {
15130
- /**
15131
- * Extend the default design tokens
15132
- *
15133
- * This is the recommended way to customize Atomix.
15134
- * Your values will override or extend the base tokens.
15135
- */
15136
- extend?: ThemeTokens;
15137
- /**
15138
- * Override the default tokens entirely (advanced)
15139
- *
15140
- * Use with caution - this replaces the entire token system.
15141
- * Most users should use `extend` instead.
15142
- */
15143
- tokens?: ThemeTokens;
15144
- /**
15145
- * Register custom themes (optional)
15146
- *
15147
- * Define CSS or JavaScript themes that can be loaded dynamically.
15148
- */
15149
- themes?: Record<string, ThemeDefinition>;
15150
- };
15151
- /** @internal Build configuration (internal use only) */
15152
- build?: BuildConfig;
15153
- /** @internal Runtime configuration (internal use only) */
15154
- runtime?: RuntimeConfig;
15155
- /** @internal Integration settings (internal use only) */
15156
- integration?: IntegrationConfig;
15157
- /** @internal Theme dependencies mapping (internal use only) */
15158
- dependencies?: Record<string, string[]>;
15663
+ testFunctionPerformance(fn: () => void, iterations?: number): Promise<number>;
15159
15664
  }
15160
15665
  /**
15161
- * Helper function to define Atomix configuration with type safety
15666
+ * Create a performance monitor instance
15667
+ *
15668
+ * @param config Configuration options
15669
+ * @returns PerformanceMonitor instance
15670
+ *
15671
+ * @example
15672
+ * ```typescript
15673
+ * import { createPerformanceMonitor } from '@shohojdhara/atomix/theme';
15162
15674
  *
15163
- * @param config - Atomix configuration object
15164
- * @returns The configuration object
15675
+ * const monitor = createPerformanceMonitor({
15676
+ * fpsTarget: 60,
15677
+ * onUpdate: (metrics) => console.log('FPS:', metrics.fps),
15678
+ * onDegraded: (metrics) => console.warn('Performance degraded!', metrics),
15679
+ * });
15680
+ *
15681
+ * monitor.start();
15682
+ *
15683
+ * // Later...
15684
+ * monitor.stop();
15685
+ * ```
15165
15686
  */
15687
+ declare function createPerformanceMonitor(config?: PerformanceMonitorConfig): PerformanceMonitor;
15166
15688
  /**
15167
- * Helper function to define Atomix configuration with type safety
15168
- *
15169
- * Similar to Tailwind's defineConfig, provides autocomplete and type checking.
15689
+ * Hook for React components to monitor performance
15170
15690
  *
15171
- * @param config - Atomix configuration object
15172
- * @returns The configuration object
15691
+ * @param config Configuration options
15692
+ * @returns Performance metrics and monitor controls
15173
15693
  *
15174
15694
  * @example
15175
15695
  * ```typescript
15176
- * import { defineConfig } from '@shohojdhara/atomix/config';
15177
- *
15178
- * export default defineConfig({
15179
- * theme: {
15180
- * extend: {
15181
- * colors: {
15182
- * primary: { main: '#7AFFD7' },
15183
- * },
15184
- * },
15185
- * },
15186
- * });
15696
+ * import { usePerformanceMonitor } from '@shohojdhara/atomix/theme';
15697
+ *
15698
+ * function MyComponent() {
15699
+ * const { metrics, start, stop } = usePerformanceMonitor({ fpsTarget: 60 });
15700
+ *
15701
+ * useEffect(() => {
15702
+ * start();
15703
+ * return () => stop();
15704
+ * }, []);
15705
+ *
15706
+ * return <div>FPS: {metrics.fps}</div>;
15707
+ * }
15187
15708
  * ```
15188
15709
  */
15189
- declare function defineConfig(config: AtomixConfig): AtomixConfig;
15710
+ declare function usePerformanceMonitor(config?: PerformanceMonitorConfig): {
15711
+ metrics: PerformanceMetrics;
15712
+ start: () => void;
15713
+ stop: () => void;
15714
+ };
15715
+
15716
+ /**
15717
+ * Responsive Utility for Atomix Theme System
15718
+ *
15719
+ * Provides responsive breakpoint detection and device-aware parameter scaling
15720
+ * based on configuration from the advanced optimization features.
15721
+ */
15722
+ /**
15723
+ * Breakpoint definitions
15724
+ */
15725
+ interface Breakpoints {
15726
+ mobile: string;
15727
+ tablet: string;
15728
+ desktop: string;
15729
+ wide: string;
15730
+ }
15731
+ /**
15732
+ * Device scaling factors
15733
+ */
15734
+ interface DeviceScaling {
15735
+ mobile: number;
15736
+ tablet: number;
15737
+ desktop: number;
15738
+ }
15739
+ /**
15740
+ * Responsive configuration
15741
+ */
15742
+ interface ResponsiveConfig {
15743
+ breakpoints: Breakpoints;
15744
+ deviceScaling: DeviceScaling;
15745
+ }
15746
+ /**
15747
+ * Current device type
15748
+ */
15749
+ type DeviceType = 'mobile' | 'tablet' | 'desktop' | 'wide';
15750
+ /**
15751
+ * Responsive utility class
15752
+ */
15753
+ declare class ResponsiveUtil {
15754
+ private config;
15755
+ private currentDevice;
15756
+ private resizeHandler;
15757
+ private observer;
15758
+ constructor(config: ResponsiveConfig);
15759
+ /**
15760
+ * Get the current device type based on viewport width
15761
+ */
15762
+ getCurrentDeviceType(): DeviceType;
15763
+ /**
15764
+ * Get the scaling factor for the current device
15765
+ */
15766
+ getCurrentScalingFactor(): number;
15767
+ /**
15768
+ * Scale a value based on the current device's scaling factor
15769
+ */
15770
+ scaleValue(value: number): number;
15771
+ /**
15772
+ * Check if the current device matches a specific type
15773
+ */
15774
+ isDevice(device: DeviceType): boolean;
15775
+ /**
15776
+ * Check if the current device is mobile or smaller
15777
+ */
15778
+ isMobileOrSmaller(): boolean;
15779
+ /**
15780
+ * Check if the current device is tablet or smaller
15781
+ */
15782
+ isTabletOrSmaller(): boolean;
15783
+ /**
15784
+ * Check if the current device is desktop or larger
15785
+ */
15786
+ isDesktopOrLarger(): boolean;
15787
+ /**
15788
+ * Update the responsive configuration
15789
+ */
15790
+ updateConfig(config: ResponsiveConfig): void;
15791
+ /**
15792
+ * Destroy the responsive utility and clean up listeners
15793
+ */
15794
+ destroy(): void;
15795
+ /**
15796
+ * Parse a CSS value to pixels
15797
+ */
15798
+ private parsePxValue;
15799
+ /**
15800
+ * Set up the resize listener
15801
+ */
15802
+ private setupResizeListener;
15803
+ }
15804
+ /**
15805
+ * Create a responsive utility instance
15806
+ *
15807
+ * @param config Responsive configuration
15808
+ * @returns ResponsiveUtil instance
15809
+ */
15810
+ declare function createResponsiveUtil(config: ResponsiveConfig): ResponsiveUtil;
15811
+ /**
15812
+ * Hook for React components to use responsive features
15813
+ *
15814
+ * @param config Responsive configuration
15815
+ * @returns Current device type and utility functions
15816
+ */
15817
+ declare function useResponsive(config: ResponsiveConfig): {
15818
+ deviceType: DeviceType;
15819
+ isMobile: boolean;
15820
+ isTablet: boolean;
15821
+ isDesktop: boolean;
15822
+ isWide: boolean;
15823
+ scaleValue: (value: number) => number;
15824
+ getCurrentDeviceType: () => DeviceType;
15825
+ getCurrentScalingFactor: () => number;
15826
+ isMobileOrSmaller: () => boolean;
15827
+ isTabletOrSmaller: () => boolean;
15828
+ isDesktopOrLarger: () => boolean;
15829
+ };
15830
+
15831
+ /**
15832
+ * RTL (Right-to-Left) Support Utilities
15833
+ *
15834
+ * Provides utilities for managing RTL text direction in themes
15835
+ */
15836
+ /**
15837
+ * RTL configuration options
15838
+ */
15839
+ interface RTLConfig {
15840
+ /** Enable RTL mode */
15841
+ enabled: boolean;
15842
+ /** Current direction ('ltr' | 'rtl') */
15843
+ direction: 'ltr' | 'rtl';
15844
+ /** Data attribute name for direction */
15845
+ dataAttribute?: string;
15846
+ /** Auto-detect from locale */
15847
+ autoDetect?: boolean;
15848
+ /** Locale code (e.g., 'ar', 'he', 'fa') */
15849
+ locale?: string;
15850
+ }
15851
+ /**
15852
+ * RTL Manager
15853
+ *
15854
+ * Manages RTL text direction for the theme system
15855
+ */
15856
+ declare class RTLManager {
15857
+ private config;
15858
+ private listeners;
15859
+ constructor(config?: Partial<RTLConfig>);
15860
+ /**
15861
+ * Detect locale from browser
15862
+ */
15863
+ private detectLocale;
15864
+ /**
15865
+ * Check if locale is RTL
15866
+ */
15867
+ isRTLLocale(locale: string): boolean;
15868
+ /**
15869
+ * Get current direction
15870
+ */
15871
+ getDirection(): 'ltr' | 'rtl';
15872
+ /**
15873
+ * Check if RTL is enabled
15874
+ */
15875
+ isEnabled(): boolean;
15876
+ /**
15877
+ * Set direction
15878
+ */
15879
+ setDirection(direction: 'ltr' | 'rtl'): void;
15880
+ /**
15881
+ * Toggle direction
15882
+ */
15883
+ toggleDirection(): 'ltr' | 'rtl';
15884
+ /**
15885
+ * Enable RTL
15886
+ */
15887
+ enable(): void;
15888
+ /**
15889
+ * Disable RTL
15890
+ */
15891
+ disable(): void;
15892
+ /**
15893
+ * Set locale and auto-adjust direction
15894
+ */
15895
+ setLocale(locale: string): void;
15896
+ /**
15897
+ * Get current locale
15898
+ */
15899
+ getLocale(): string | undefined;
15900
+ /**
15901
+ * Apply direction to DOM
15902
+ */
15903
+ private applyDirection;
15904
+ /**
15905
+ * Add direction change listener
15906
+ */
15907
+ onDirectionChange(callback: (direction: 'ltr' | 'rtl') => void): () => void;
15908
+ /**
15909
+ * Notify listeners of direction change
15910
+ */
15911
+ private notifyListeners;
15912
+ /**
15913
+ * Get RTL-aware value
15914
+ *
15915
+ * Returns different values based on direction
15916
+ */
15917
+ getValue<T>(ltrValue: T, rtlValue: T): T;
15918
+ /**
15919
+ * Get RTL-aware CSS property
15920
+ *
15921
+ * Returns appropriate CSS property based on direction
15922
+ */
15923
+ getCSSProperty(property: string): string;
15924
+ /**
15925
+ * Destroy RTL manager
15926
+ */
15927
+ destroy(): void;
15928
+ }
15929
+ /**
15930
+ * Create RTL manager instance
15931
+ */
15932
+ declare function createRTLManager(config?: RTLConfig): RTLManager;
15933
+ /**
15934
+ * Check if locale is RTL
15935
+ */
15936
+ declare function isRTLLocale(locale: string): boolean;
15937
+ /**
15938
+ * Get direction from locale
15939
+ */
15940
+ declare function getDirectionFromLocale(locale: string): 'ltr' | 'rtl';
15941
+ /**
15942
+ * RTL-aware CSS helper
15943
+ *
15944
+ * Returns appropriate CSS based on direction
15945
+ */
15946
+ declare function rtlCSS(ltrCSS: string, rtlCSS: string, direction?: 'ltr' | 'rtl'): string;
15947
+
15948
+ /**
15949
+ * Inject theme CSS into DOM
15950
+ */
15951
+ declare function injectTheme(css: string, id?: string): void;
15952
+ /**
15953
+ * Remove theme from DOM
15954
+ */
15955
+ declare function removeTheme(id?: string): void;
15956
+
15957
+ /**
15958
+ * Main theme module interface
15959
+ */
15960
+ declare const _default: {
15961
+ createTheme: typeof createTheme;
15962
+ injectTheme: typeof injectTheme;
15963
+ removeTheme: typeof removeTheme;
15964
+ ThemeProvider: React$1.FC<ThemeProviderProps>;
15965
+ useTheme: typeof useTheme;
15966
+ useThemeTokens: typeof useThemeTokens;
15967
+ ThemeContext: React$1.Context<ThemeContextValue | null>;
15968
+ ThemeErrorBoundary: typeof ThemeErrorBoundary;
15969
+ configToTokens: typeof configToTokens;
15970
+ designTokensToCSSVars: typeof designTokensToCSSVars;
15971
+ switchTheme: typeof switchTheme;
15972
+ toggleTheme: typeof toggleTheme;
15973
+ getCurrentTheme: typeof getCurrentTheme;
15974
+ getSystemTheme: typeof getSystemTheme;
15975
+ initializeTheme: typeof initializeTheme;
15976
+ listenToSystemTheme: typeof listenToSystemTheme;
15977
+ persistTheme: typeof persistTheme;
15978
+ clearThemePreference: typeof clearThemePreference;
15979
+ mergeTokens: typeof mergeTokens;
15980
+ overrideTokens: typeof overrideTokens;
15981
+ pickTokens: typeof pickTokens;
15982
+ omitTokens: typeof omitTokens;
15983
+ hexToRgb: typeof hexToRgb;
15984
+ rgbToHex: typeof rgbToHex;
15985
+ getLuminance: typeof getLuminance;
15986
+ getContrastRatio: typeof getContrastRatio;
15987
+ isAccessible: typeof isAccessible;
15988
+ getContrastText: typeof getContrastText;
15989
+ lighten: typeof lighten;
15990
+ darken: typeof darken;
15991
+ alpha: typeof alpha;
15992
+ emphasize: typeof emphasize;
15993
+ createSpacing: typeof createSpacing;
15994
+ createPerformanceMonitor: typeof createPerformanceMonitor;
15995
+ usePerformanceMonitor: typeof usePerformanceMonitor;
15996
+ createResponsiveUtil: typeof createResponsiveUtil;
15997
+ useResponsive: typeof useResponsive;
15998
+ ThemeToggle: React$1.FC<ThemeToggleProps>;
15999
+ ThemeApplicator: typeof ThemeApplicator;
16000
+ applyTheme: typeof applyTheme;
16001
+ getThemeApplicator: typeof getThemeApplicator;
16002
+ createThemeRegistry: typeof createThemeRegistry;
16003
+ registerTheme: typeof registerTheme;
16004
+ unregisterTheme: typeof unregisterTheme;
16005
+ hasTheme: typeof hasTheme;
16006
+ getTheme: typeof getTheme;
16007
+ getAllThemes: typeof getAllThemes;
16008
+ getThemeIds: typeof getThemeIds;
16009
+ clearThemes: typeof clearThemes;
16010
+ getThemeCount: typeof getThemeCount;
16011
+ deepMerge: typeof deepMerge;
16012
+ mergeTheme: typeof mergeTheme;
16013
+ extendTheme: typeof extendTheme;
16014
+ createTokens: typeof createTokens;
16015
+ defaultTokens: DesignTokens;
16016
+ generateCSSVariables: typeof generateCSSVariables;
16017
+ generateCSSVariablesForSelector: typeof generateCSSVariablesForSelector;
16018
+ generateClassName: typeof generateClassName;
16019
+ generateCSSVariableName: typeof generateCSSVariableName;
16020
+ normalizeThemeTokens: typeof normalizeThemeTokens;
16021
+ camelToKebab: typeof camelToKebab;
16022
+ themePropertyToCSSVar: typeof themePropertyToCSSVar;
16023
+ getComponentThemeValue: typeof getComponentThemeValue;
16024
+ generateComponentCSSVars: typeof generateComponentCSSVars;
16025
+ applyComponentTheme: typeof applyComponentTheme;
16026
+ useComponentTheme: typeof useComponentTheme;
16027
+ useThemeSwitcher: typeof useThemeSwitcher;
16028
+ isDesignTokens: typeof isDesignTokens;
16029
+ mapSCSSTokensToCSSVars: typeof mapSCSSTokensToCSSVars;
16030
+ applyCSSVariables: typeof applyCSSVariables;
16031
+ removeCSSVariables: typeof removeCSSVariables;
16032
+ getCSSVariable: typeof getCSSVariable;
16033
+ cssVarsToStyle: typeof cssVarsToStyle;
16034
+ mergeCSSVars: typeof mergeCSSVars;
16035
+ isValidCSSVariableName: typeof isValidCSSVariableName;
16036
+ extractComponentName: typeof extractComponentName;
16037
+ injectCSS: typeof injectCSS;
16038
+ removeCSS: typeof removeCSS;
16039
+ isCSSInjected: typeof isCSSInjected;
16040
+ RTLManager: typeof RTLManager;
16041
+ createRTLManager: typeof createRTLManager;
16042
+ isRTLLocale: typeof isRTLLocale;
16043
+ getDirectionFromLocale: typeof getDirectionFromLocale;
16044
+ rtlCSS: typeof rtlCSS;
16045
+ };
16046
+
16047
+ type themeImport_A11yIssue = A11yIssue;
16048
+ type themeImport_CSSVariableConfig = CSSVariableConfig;
16049
+ type themeImport_CSSVariableNamingOptions = CSSVariableNamingOptions;
16050
+ type themeImport_ComponentThemeOptions = ComponentThemeOptions;
16051
+ type themeImport_ComponentThemeOverride = ComponentThemeOverride;
16052
+ type themeImport_DesignTokens = DesignTokens;
16053
+ declare const themeImport_DesignTokensCustomizer: typeof DesignTokensCustomizer;
16054
+ type themeImport_DesignTokensCustomizerProps = DesignTokensCustomizerProps;
16055
+ type themeImport_GenerateCSSVariablesOptions = GenerateCSSVariablesOptions;
16056
+ type themeImport_NamingOptions = NamingOptions;
16057
+ type themeImport_PerformanceMetrics = PerformanceMetrics;
16058
+ type themeImport_RTLConfig = RTLConfig;
16059
+ type themeImport_RTLManager = RTLManager;
16060
+ declare const themeImport_RTLManager: typeof RTLManager;
16061
+ type themeImport_Theme = Theme;
16062
+ type themeImport_ThemeApplicator = ThemeApplicator;
16063
+ declare const themeImport_ThemeApplicator: typeof ThemeApplicator;
16064
+ type themeImport_ThemeChangeEvent = ThemeChangeEvent;
16065
+ declare const themeImport_ThemeComparator: typeof ThemeComparator;
16066
+ type themeImport_ThemeComparatorProps = ThemeComparatorProps;
16067
+ type themeImport_ThemeComponentOverrides = ThemeComponentOverrides;
16068
+ declare const themeImport_ThemeContext: typeof ThemeContext;
16069
+ type themeImport_ThemeContextValue = ThemeContextValue;
16070
+ type themeImport_ThemeErrorBoundary = ThemeErrorBoundary;
16071
+ declare const themeImport_ThemeErrorBoundary: typeof ThemeErrorBoundary;
16072
+ type themeImport_ThemeErrorBoundaryProps = ThemeErrorBoundaryProps;
16073
+ declare const themeImport_ThemeInspector: typeof ThemeInspector;
16074
+ type themeImport_ThemeInspectorProps = ThemeInspectorProps;
16075
+ declare const themeImport_ThemeLiveEditor: typeof ThemeLiveEditor;
16076
+ type themeImport_ThemeLiveEditorProps = ThemeLiveEditorProps;
16077
+ type themeImport_ThemeLoadOptions = ThemeLoadOptions;
16078
+ type themeImport_ThemeMode = ThemeMode;
16079
+ type themeImport_ThemePersistenceOptions = ThemePersistenceOptions;
16080
+ declare const themeImport_ThemePreview: typeof ThemePreview;
16081
+ type themeImport_ThemePreviewProps = ThemePreviewProps;
16082
+ declare const themeImport_ThemeProvider: typeof ThemeProvider;
16083
+ type themeImport_ThemeProviderProps = ThemeProviderProps;
16084
+ type themeImport_ThemeSwitcherOptions = ThemeSwitcherOptions;
16085
+ declare const themeImport_ThemeToggle: typeof ThemeToggle;
16086
+ type themeImport_ThemeToggleProps = ThemeToggleProps;
16087
+ type themeImport_ThemeValidationResult = ThemeValidationResult;
16088
+ type themeImport_ThemeValidator = ThemeValidator;
16089
+ declare const themeImport_ThemeValidator: typeof ThemeValidator;
16090
+ type themeImport_UseHistoryOptions = UseHistoryOptions;
16091
+ type themeImport_UseHistoryReturn<T> = UseHistoryReturn<T>;
16092
+ type themeImport_UseThemeReturn = UseThemeReturn;
16093
+ type themeImport_UseThemeSwitcherOptions = UseThemeSwitcherOptions;
16094
+ type themeImport_UseThemeSwitcherReturn = UseThemeSwitcherReturn;
16095
+ declare const themeImport_alpha: typeof alpha;
16096
+ declare const themeImport_applyCSSVariables: typeof applyCSSVariables;
16097
+ declare const themeImport_applyComponentTheme: typeof applyComponentTheme;
16098
+ declare const themeImport_applyTheme: typeof applyTheme;
16099
+ declare const themeImport_camelToKebab: typeof camelToKebab;
16100
+ declare const themeImport_clearThemePreference: typeof clearThemePreference;
16101
+ declare const themeImport_clearThemes: typeof clearThemes;
16102
+ declare const themeImport_configToTokens: typeof configToTokens;
16103
+ declare const themeImport_createPerformanceMonitor: typeof createPerformanceMonitor;
16104
+ declare const themeImport_createRTLManager: typeof createRTLManager;
16105
+ declare const themeImport_createResponsiveUtil: typeof createResponsiveUtil;
16106
+ declare const themeImport_createSpacing: typeof createSpacing;
16107
+ declare const themeImport_createTheme: typeof createTheme;
16108
+ declare const themeImport_createThemeRegistry: typeof createThemeRegistry;
16109
+ declare const themeImport_createTokens: typeof createTokens;
16110
+ declare const themeImport_cssVarsToStyle: typeof cssVarsToStyle;
16111
+ declare const themeImport_darken: typeof darken;
16112
+ declare const themeImport_deepMerge: typeof deepMerge;
16113
+ declare const themeImport_defaultTokens: typeof defaultTokens;
16114
+ declare const themeImport_designTokensToCSSVars: typeof designTokensToCSSVars;
16115
+ declare const themeImport_emphasize: typeof emphasize;
16116
+ declare const themeImport_extendTheme: typeof extendTheme;
16117
+ declare const themeImport_extractComponentName: typeof extractComponentName;
16118
+ declare const themeImport_generateCSSVariableName: typeof generateCSSVariableName;
16119
+ declare const themeImport_generateCSSVariables: typeof generateCSSVariables;
16120
+ declare const themeImport_generateCSSVariablesForSelector: typeof generateCSSVariablesForSelector;
16121
+ declare const themeImport_generateClassName: typeof generateClassName;
16122
+ declare const themeImport_generateComponentCSSVars: typeof generateComponentCSSVars;
16123
+ declare const themeImport_getAllThemes: typeof getAllThemes;
16124
+ declare const themeImport_getCSSVariable: typeof getCSSVariable;
16125
+ declare const themeImport_getComponentThemeValue: typeof getComponentThemeValue;
16126
+ declare const themeImport_getContrastRatio: typeof getContrastRatio;
16127
+ declare const themeImport_getContrastText: typeof getContrastText;
16128
+ declare const themeImport_getCurrentTheme: typeof getCurrentTheme;
16129
+ declare const themeImport_getDirectionFromLocale: typeof getDirectionFromLocale;
16130
+ declare const themeImport_getLuminance: typeof getLuminance;
16131
+ declare const themeImport_getSystemTheme: typeof getSystemTheme;
16132
+ declare const themeImport_getTheme: typeof getTheme;
16133
+ declare const themeImport_getThemeApplicator: typeof getThemeApplicator;
16134
+ declare const themeImport_getThemeCount: typeof getThemeCount;
16135
+ declare const themeImport_getThemeIds: typeof getThemeIds;
16136
+ declare const themeImport_hasTheme: typeof hasTheme;
16137
+ declare const themeImport_hexToRgb: typeof hexToRgb;
16138
+ declare const themeImport_initializeTheme: typeof initializeTheme;
16139
+ declare const themeImport_injectCSS: typeof injectCSS;
16140
+ declare const themeImport_injectTheme: typeof injectTheme;
16141
+ declare const themeImport_isAccessible: typeof isAccessible;
16142
+ declare const themeImport_isCSSInjected: typeof isCSSInjected;
16143
+ declare const themeImport_isDesignTokens: typeof isDesignTokens;
16144
+ declare const themeImport_isRTLLocale: typeof isRTLLocale;
16145
+ declare const themeImport_isValidCSSVariableName: typeof isValidCSSVariableName;
16146
+ declare const themeImport_lighten: typeof lighten;
16147
+ declare const themeImport_listenToSystemTheme: typeof listenToSystemTheme;
16148
+ declare const themeImport_mapSCSSTokensToCSSVars: typeof mapSCSSTokensToCSSVars;
16149
+ declare const themeImport_mergeCSSVars: typeof mergeCSSVars;
16150
+ declare const themeImport_mergeTheme: typeof mergeTheme;
16151
+ declare const themeImport_mergeTokens: typeof mergeTokens;
16152
+ declare const themeImport_normalizeThemeTokens: typeof normalizeThemeTokens;
16153
+ declare const themeImport_omitTokens: typeof omitTokens;
16154
+ declare const themeImport_overrideTokens: typeof overrideTokens;
16155
+ declare const themeImport_persistTheme: typeof persistTheme;
16156
+ declare const themeImport_pickTokens: typeof pickTokens;
16157
+ declare const themeImport_registerTheme: typeof registerTheme;
16158
+ declare const themeImport_removeCSS: typeof removeCSS;
16159
+ declare const themeImport_removeCSSVariables: typeof removeCSSVariables;
16160
+ declare const themeImport_removeTheme: typeof removeTheme;
16161
+ declare const themeImport_rgbToHex: typeof rgbToHex;
16162
+ declare const themeImport_rtlCSS: typeof rtlCSS;
16163
+ declare const themeImport_switchTheme: typeof switchTheme;
16164
+ declare const themeImport_themePropertyToCSSVar: typeof themePropertyToCSSVar;
16165
+ declare const themeImport_toggleTheme: typeof toggleTheme;
16166
+ declare const themeImport_unregisterTheme: typeof unregisterTheme;
16167
+ declare const themeImport_useComponentTheme: typeof useComponentTheme;
16168
+ declare const themeImport_useHistory: typeof useHistory;
16169
+ declare const themeImport_usePerformanceMonitor: typeof usePerformanceMonitor;
16170
+ declare const themeImport_useResponsive: typeof useResponsive;
16171
+ declare const themeImport_useTheme: typeof useTheme;
16172
+ declare const themeImport_useThemeSwitcher: typeof useThemeSwitcher;
16173
+ declare const themeImport_useThemeTokens: typeof useThemeTokens;
16174
+ declare namespace themeImport {
16175
+ export { themeImport_DesignTokensCustomizer as DesignTokensCustomizer, themeImport_RTLManager as RTLManager, themeImport_ThemeApplicator as ThemeApplicator, themeImport_ThemeComparator as ThemeComparator, themeImport_ThemeContext as ThemeContext, themeImport_ThemeErrorBoundary as ThemeErrorBoundary, themeImport_ThemeInspector as ThemeInspector, themeImport_ThemeLiveEditor as ThemeLiveEditor, themeImport_ThemePreview as ThemePreview, themeImport_ThemeProvider as ThemeProvider, themeImport_ThemeToggle as ThemeToggle, themeImport_ThemeValidator as ThemeValidator, themeImport_alpha as alpha, themeImport_applyCSSVariables as applyCSSVariables, themeImport_applyComponentTheme as applyComponentTheme, themeImport_applyTheme as applyTheme, themeImport_camelToKebab as camelToKebab, themeImport_clearThemePreference as clearThemePreference, themeImport_clearThemes as clearThemes, themeImport_configToTokens as configToTokens, themeImport_createPerformanceMonitor as createPerformanceMonitor, themeImport_createRTLManager as createRTLManager, themeImport_createResponsiveUtil as createResponsiveUtil, themeImport_createSpacing as createSpacing, themeImport_createTheme as createTheme, themeImport_createThemeRegistry as createThemeRegistry, themeImport_createTokens as createTokens, themeImport_cssVarsToStyle as cssVarsToStyle, themeImport_darken as darken, themeImport_deepMerge as deepMerge, _default as default, themeImport_defaultTokens as defaultTokens, themeImport_designTokensToCSSVars as designTokensToCSSVars, themeImport_emphasize as emphasize, themeImport_extendTheme as extendTheme, themeImport_extractComponentName as extractComponentName, themeImport_generateCSSVariableName as generateCSSVariableName, themeImport_generateCSSVariables as generateCSSVariables, themeImport_generateCSSVariablesForSelector as generateCSSVariablesForSelector, themeImport_generateClassName as generateClassName, themeImport_generateComponentCSSVars as generateComponentCSSVars, themeImport_getAllThemes as getAllThemes, themeImport_getCSSVariable as getCSSVariable, themeImport_getComponentThemeValue as getComponentThemeValue, themeImport_getContrastRatio as getContrastRatio, themeImport_getContrastText as getContrastText, themeImport_getCurrentTheme as getCurrentTheme, themeImport_getDirectionFromLocale as getDirectionFromLocale, themeImport_getLuminance as getLuminance, themeImport_getSystemTheme as getSystemTheme, themeImport_getTheme as getTheme, themeImport_getThemeApplicator as getThemeApplicator, themeImport_getThemeCount as getThemeCount, themeImport_getThemeIds as getThemeIds, themeImport_hasTheme as hasTheme, themeImport_hexToRgb as hexToRgb, themeImport_initializeTheme as initializeTheme, themeImport_injectCSS as injectCSS, themeImport_injectTheme as injectTheme, themeImport_isAccessible as isAccessible, themeImport_isCSSInjected as isCSSInjected, themeImport_isDesignTokens as isDesignTokens, themeImport_isRTLLocale as isRTLLocale, themeImport_isValidCSSVariableName as isValidCSSVariableName, themeImport_lighten as lighten, themeImport_listenToSystemTheme as listenToSystemTheme, themeImport_mapSCSSTokensToCSSVars as mapSCSSTokensToCSSVars, themeImport_mergeCSSVars as mergeCSSVars, themeImport_mergeTheme as mergeTheme, themeImport_mergeTokens as mergeTokens, themeImport_normalizeThemeTokens as normalizeThemeTokens, themeImport_omitTokens as omitTokens, themeImport_overrideTokens as overrideTokens, themeImport_persistTheme as persistTheme, themeImport_pickTokens as pickTokens, themeImport_registerTheme as registerTheme, themeImport_removeCSS as removeCSS, themeImport_removeCSSVariables as removeCSSVariables, themeImport_removeTheme as removeTheme, themeImport_rgbToHex as rgbToHex, themeImport_rtlCSS as rtlCSS, themeImport_switchTheme as switchTheme, themeImport_themePropertyToCSSVar as themePropertyToCSSVar, themeImport_toggleTheme as toggleTheme, themeImport_unregisterTheme as unregisterTheme, themeImport_useComponentTheme as useComponentTheme, themeImport_useHistory as useHistory, themeImport_usePerformanceMonitor as usePerformanceMonitor, themeImport_useResponsive as useResponsive, themeImport_useTheme as useTheme, themeImport_useThemeSwitcher as useThemeSwitcher, themeImport_useThemeTokens as useThemeTokens };
16176
+ export type { themeImport_A11yIssue as A11yIssue, themeImport_CSSVariableConfig as CSSVariableConfig, themeImport_CSSVariableNamingOptions as CSSVariableNamingOptions, themeImport_ComponentThemeOptions as ComponentThemeOptions, themeImport_ComponentThemeOverride as ComponentThemeOverride, themeImport_DesignTokens as DesignTokens, themeImport_DesignTokensCustomizerProps as DesignTokensCustomizerProps, themeImport_GenerateCSSVariablesOptions as GenerateCSSVariablesOptions, themeImport_NamingOptions as NamingOptions, themeImport_PerformanceMetrics as PerformanceMetrics, themeImport_RTLConfig as RTLConfig, themeImport_Theme as Theme, themeImport_ThemeChangeEvent as ThemeChangeEvent, themeImport_ThemeComparatorProps as ThemeComparatorProps, themeImport_ThemeComponentOverrides as ThemeComponentOverrides, themeImport_ThemeContextValue as ThemeContextValue, themeImport_ThemeErrorBoundaryProps as ThemeErrorBoundaryProps, themeImport_ThemeInspectorProps as ThemeInspectorProps, themeImport_ThemeLiveEditorProps as ThemeLiveEditorProps, themeImport_ThemeLoadOptions as ThemeLoadOptions, themeImport_ThemeMode as ThemeMode, themeImport_ThemePersistenceOptions as ThemePersistenceOptions, themeImport_ThemePreviewProps as ThemePreviewProps, themeImport_ThemeProviderProps as ThemeProviderProps, themeImport_ThemeSwitcherOptions as ThemeSwitcherOptions, themeImport_ThemeToggleProps as ThemeToggleProps, themeImport_ThemeValidationResult as ThemeValidationResult, themeImport_UseHistoryOptions as UseHistoryOptions, themeImport_UseHistoryReturn as UseHistoryReturn, themeImport_UseThemeReturn as UseThemeReturn, themeImport_UseThemeSwitcherOptions as UseThemeSwitcherOptions, themeImport_UseThemeSwitcherReturn as UseThemeSwitcherReturn, ValidationResult$1 as ValidationResult };
16177
+ }
16178
+
16179
+ /**
16180
+ * Component Customization Hook
16181
+ *
16182
+ * Merges theme-level component overrides with component-level props
16183
+ * for comprehensive customization support.
16184
+ */
16185
+
16186
+ /**
16187
+ * Component names that support customization
16188
+ */
16189
+ type ComponentName = keyof ComponentPartsMap;
16190
+ /**
16191
+ * Props for a customizable component
16192
+ */
16193
+ interface CustomizableComponentProps<T extends ComponentName> {
16194
+ /** CSS variable overrides */
16195
+ cssVars?: T extends keyof ComponentCSSVariables ? Partial<Record<ComponentCSSVariables[T], string | number>> : Record<string, string | number>;
16196
+ /** Part-based styling */
16197
+ parts?: ComponentPartsMap[T];
16198
+ /** Additional className */
16199
+ className?: string;
16200
+ /** Inline styles */
16201
+ style?: React.CSSProperties;
16202
+ }
16203
+ /**
16204
+ * Result of component customization
16205
+ */
16206
+ interface ComponentCustomization<T extends ComponentName> {
16207
+ /** Merged CSS variables */
16208
+ cssVars: Record<string, string | number>;
16209
+ /** Merged part styles */
16210
+ parts: ComponentPartsMap[T];
16211
+ /** Merged className */
16212
+ className: string;
16213
+ /** Merged inline styles */
16214
+ style: React.CSSProperties;
16215
+ /** CSS variable style object for inline application */
16216
+ cssVarStyle: React.CSSProperties;
16217
+ }
16218
+ /**
16219
+ * Hook to merge theme overrides with component props
16220
+ *
16221
+ * @example
16222
+ * function Button(props: ButtonProps) {
16223
+ * const customization = useComponentCustomization('Button', props);
16224
+ *
16225
+ * return (
16226
+ * <button
16227
+ * className={customization.className}
16228
+ * style={customization.style}
16229
+ * >
16230
+ * {props.children}
16231
+ * </button>
16232
+ * );
16233
+ * }
16234
+ */
16235
+ declare function useComponentCustomization<T extends ComponentName>(component: T, props: CustomizableComponentProps<T>): ComponentCustomization<T>;
16236
+ /**
16237
+ * Hook to get default props from theme
16238
+ */
16239
+ declare function useComponentDefaultProps<T extends ComponentName>(component: T): Record<string, any>;
16240
+ /**
16241
+ * Hook to merge default props with provided props
16242
+ */
16243
+ declare function useMergedProps<T extends Record<string, any>>(defaultProps: T, props: Partial<T>): T;
16244
+ /**
16245
+ * Utility to apply CSS variables to style object
16246
+ */
16247
+ declare function applyCSSVarsToStyle(cssVars: Record<string, string | number>, baseStyle?: React.CSSProperties): React.CSSProperties;
15190
16248
 
15191
16249
  declare const composables: typeof __lib_composables;
15192
16250
  declare const utils: typeof __lib_utils;
@@ -15222,7 +16280,7 @@ declare function themeToCSS(theme: Theme, selector?: string): string;
15222
16280
  /**
15223
16281
  * Get theme metadata
15224
16282
  */
15225
- declare function getThemeMetadata(theme: Theme): ThemeMetadata;
16283
+ declare function getThemeMetadata(theme: Theme): ThemeMetadata$1;
15226
16284
  /**
15227
16285
  * Check if theme supports dark mode
15228
16286
  */
@@ -15660,5 +16718,5 @@ declare const atomix: {
15660
16718
  VideoPlayer: React$1.ForwardRefExoticComponent<VideoPlayerProps & React$1.RefAttributes<HTMLVideoElement>>;
15661
16719
  };
15662
16720
 
15663
- export { ACCORDION, ATOMIX_GLASS, AVATAR, AVATAR_GROUP, _default as Accordion, AreaChart, AtomixGlass, AtomixLogo, Avatar, AvatarGroup, BADGE, BADGE_CSS_VARS, BALANCED_PRESET, BLOCK, BREADCRUMB, BUTTON, BUTTON_CSS_VARS, BUTTON_GROUP, Badge, BarChart, Block, Breadcrumb, BubbleChart, Button, ButtonGroup, CALLOUT, CARD, CARD_CSS_VARS, CHART, CHECKBOX_CSS_VARS, CLASS_PREFIX, CODE_SNIPPET, COMPONENT_CSS_VARS, COUNTDOWN, Callout, CandlestickChart, Card, Chart, ChartRenderer, Checkbox, ColorModeToggle, Container, Countdown, DATA_TABLE_CLASSES, DATA_TABLE_SELECTORS, DATEPICKER, DEFAULT_ATOMIX_FONTS, DEFAULT_BREAKPOINTS, DROPDOWN, DROPDOWN_CSS_VARS, DataTable, DatePicker, DesignTokensCustomizer, DeviceDetector, DonutChart, Dropdown, EDGE_PANEL, EdgePanel, ElevationCard, FOOTER, FORM, FORM_GROUP, Footer, FooterLink, FooterSection, FooterSocialLink, Form, FormGroup, FunnelChart, GaugeChart, Grid, GridCol, HERO, HeatmapChart, Hero, INPUT, INPUT_CSS_VARS, Icon, Input, LIST, LIST_GROUP, LineChart, List, ListGroup, MESSAGES, MOBILE_OPTIMIZED_BREAKPOINTS, MODAL, MODAL_CSS_VARS, MasonryGrid, MasonryGridItem, MegaMenu, MegaMenuColumn, MegaMenuLink, Menu, MenuDivider, MenuItem, Messages, Modal, MultiAxisChart, NAV, NAVBAR, Nav, NavDropdown, NavItem, Navbar, PAGINATION_DEFAULTS, PERFORMANCE_PRESET, PHOTOVIEWER, POPOVER, PROGRESS, PROGRESS_CSS_VARS, Pagination, PerformanceOverlay, PhotoViewer, PieChart, Popover, ProductReview, Progress, QUALITY_PRESET, RADIO, RADIO_CSS_VARS, RATING, RIVER, RTLManager, RadarChart, Radio, Rating, River, Row, SECTION_INTRO, SELECT, SIDE_MENU, SIZES, SLIDER, SPINNER, STEPS, ScatterChart, SectionIntro, Select, SideMenu, SideMenuItem, SideMenuList, Slider, Spinner, Steps, TAB, TABS_CSS_VARS, TESTIMONIAL, TEXTAREA, THEME_COLORS, THEME_NAMING, TODO, TOGGLE, TOOLTIP, TOOLTIP_CSS_VARS, TYPEDBUTTON, Tabs, Testimonial, Textarea, ThemeApplicator, ThemeComparator, ThemeContext, ThemeErrorBoundary, ThemeInspector, ThemeLiveEditor, ThemePreview, ThemeProvider, ThemeValidator, Todo, Toggle, Tooltip, TreemapChart, UPLOAD, Upload, VIDEO_PLAYER, VideoPlayer, WaterfallChart, applyCSSVariables, applyCSSVarsToStyle, applyComponentTheme, applyPartStyles, applyTheme, camelToKebab, clearThemes, composables, constants, createBreakpoints, createCSSVarStyle, createDarkVariant, createDebugAttrs, createFontPreloadLink, createPartProps, createSlotComponent, createSlotProps, createTheme, createThemeRegistry, createTokens, cssVarsToStyle, deepMerge, atomix as default, defaultTokens, defineConfig, designTokensToCSSVars, exportTheme, extendTheme, extractComponentName, extractYouTubeId, generateCSSVariableName, generateCSSVariables, generateCSSVariablesForSelector, generateClassName, generateComponentCSSVars, generateFontPreloadTags, generateUUID, getAllThemes, getCSSVariable, getComponentCSSVars, getComponentThemeValue, getDefaultBreakpoints, getDevicePreset, getMobileOptimizedParams, getPartStyles, getQualityMultipliers, getTheme, getThemeApplicator, getThemeCount, getThemeIds, getThemeMetadata, hasCustomization, hasTheme, importTheme, injectCSS, injectTheme, isCSSInjected, isDesignTokens, isSlot, isValidCSSVariableName, isYouTubeUrl, mapSCSSTokensToCSSVars, mergeCSSVars, mergeClassNames, mergeComponentProps, mergePartStyles, mergeSlots, mergeTheme, normalizeThemeTokens, preloadFonts, quickTheme, registerTheme, removeCSS, removeCSSVariables, removeTheme, renderSlot, sliderConstants, supportsDarkMode, theme, themePropertyToCSSVar, themeToCSS, types, unregisterTheme, useAccordion, useAtomixGlass, useBadge, useBarChart, useBlock, useChartData, useChartInteraction, useChartScale, useComponentCustomization, useComponentDefaultProps, useComponentTheme, useEdgePanel, useForm, useFormGroup, useHero, useHistory, useInput, useLineChart, useMergedProps, useNav, useNavDropdown, useNavItem, useNavbar, usePerformanceMonitor, usePieChart, useRadio, useResponsiveGlass, useRiver, useSelect, useSideMenu, useSideMenuItem, useSlot, useSpinner, useTextarea, useTheme, useThemeTokens, useTodo, utils, validateTheme };
15664
- export type { A11yIssue, AccordionParts, AccordionProps$1 as AccordionProps, AccordionState, AreaChartProps, AtomixConfig, AtomixGlassProps, AtomixLogoProps, AvatarGroupProps, AvatarParts, AvatarProps, AvatarSize, BadgeCSSVariable, BadgeParts, BadgeProps, BarChartOptions, BarChartProps, BarDimensions, BaseComponentProps, BlockProps, BreadcrumbInstance, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbOptions, BreadcrumbProps, BubbleChartProps, BubbleDataPoint, BuildConfig, ButtonCSSVariable, ButtonGroupProps, ButtonIconSlotProps, ButtonLabelSlotProps, ButtonParts, ButtonProps, ButtonRootSlotProps, ButtonSpinnerSlotProps, CSSThemeDefinition, CSSVariableConfig, CSSVariableNamingOptions, CalloutProps, CandlestickChartProps, CandlestickDataPoint, CardBodySlotProps, CardCSSVariable, CardFooterSlotProps, CardHeaderSlotProps, CardParts, CardProps, CardRootSlotProps, ChartAxis$1 as ChartAxis, ChartConfig$1 as ChartConfig, ChartDataPoint$1 as ChartDataPoint, ChartDataset$1 as ChartDataset, ChartProps$1 as ChartProps, ChartSize$1 as ChartSize, ChartType$1 as ChartType, CheckboxCSSVariable, CheckboxParts, CheckboxProps, CodeBlockProps, ColorModeToggleProps, ColorScale, ComponentCSSVariables, ComponentCustomization, ComponentName, ComponentParts, ComponentPartsMap, ComponentThemeOptions, ComponentThemeOverride, ContainerProps, CountdownProps, CustomizableComponentProps, DataTableColumn, DataTableParts, DataTableProps, DatePickerProps, DesignTokens, DesignTokensCustomizerProps, DisplacementMode, DonutChartProps, DropdownCSSVariable, DropdownDividerProps, DropdownHeaderProps, DropdownItemProps, DropdownMenuSlotProps, DropdownParts, DropdownPlacement, DropdownProps, DropdownRootSlotProps, DropdownToggleSlotProps, DropdownTrigger$1 as DropdownTrigger, EdgePanelMode, EdgePanelPosition, EdgePanelProps, ElementRefs, ElevationCardProps, ExportFormat, FontPreloadConfig, FooterLayout, FooterLinkProps, FooterProps, FooterSectionProps, FooterSocialLinkProps, FormGroupParts, FormGroupProps, FormProps, FunnelChartProps, FunnelDataPoint, GaugeChartProps, GenerateCSSVariablesOptions, GeneratorConfig, GlassContainerProps, GlassMode, GlassParams, GlassSize, GlassThemeTokens, GridColProps, GridProps, HeatmapChartProps, HeatmapDataPoint, HeroAlignment, HeroBackgroundSlide, HeroBackgroundSliderConfig, HeroParts, HeroProps, IconPosition, IconProps, IconSize$1 as IconSize, IconWeight$1 as IconWeight, ImageType, InputCSSVariable, InputElementSlotProps, InputParts, InputProps, InputRootSlotProps, IntegrationConfig, JSThemeDefinition, LineChartOptions, LineChartProps, ListGroupProps$1 as ListGroupProps, ListParts, ListProps, MasonryGridItemProps, MasonryGridProps, MegaMenuColumnProps, MegaMenuLinkProps, MegaMenuProps, MenuDividerProps, MenuItemProps, MenuProps, MergePropsOptions, MessageItem, MessagesProps, ModalBackdropSlotProps, ModalCSSVariable, ModalContentSlotProps, ModalDialogSlotProps, ModalParts, ModalProps, ModalRootSlotProps, MousePosition, MultiAxisChartProps, NamingOptions, NavAlignment, NavDropdownProps, NavItemProps, NavProps, NavVariant, NavbarParts, NavbarPosition, NavbarProps, OverLightConfig, OverLightObjectConfig, PaginationProps, PaletteColorOptions, PartStyleProps, PerformanceMetrics, PerformanceMonitorConfig, PhosphorIconsType$1 as PhosphorIconsType, PhotoViewerProps, PieChartOptions, PieChartProps, PieSlice, PluginConfig, PopoverProps, PopoverTriggerProps, ProductReviewProps, ProgressCSSVariable, ProgressParts, ProgressProps, RTLConfig, RadarChartProps, RadioCSSVariable, RadioParts, RadioProps, RatingProps, ResponsiveBreakpoint, RiverContentColumn, RiverProps, RowProps, RuntimeConfig, ScatterChartProps, ScatterDataPoint, SectionIntroProps, SelectOption$1 as SelectOption, SelectParts, SelectProps, SelectionMode, SideMenuItemProps, SideMenuListProps, SideMenuProps, Size, SliderAutoplay, SliderBreakpoint, SliderEffect, SliderLazy, SliderNavigation, SliderPagination, SliderProps, SliderRefs, SliderScrollbar, SliderSlide, SliderState, SliderThumbs, SliderVirtual, SliderZoom, SlotProps, SocialLink, SocialPlatform, SortConfig, SpinnerProps, StateModifier, StepsProps, TabsCSSVariable, TabsParts, TabsProps, TestimonialProps, TextareaParts, TextareaProps, Theme, ThemeChangeEvent, ThemeColor, ThemeComparatorProps, ThemeComponentOverrides, ThemeContextValue, ThemeDefinition, ThemeErrorBoundaryProps, ThemeInspectorProps, ThemeLiveEditorProps, ThemeLoadOptions, ThemeName, ThemePreviewProps, ThemeProviderProps, ThemeTokens, ThemeValidationResult, TodoItem, TodoProps, ToggleProps, TokenEngineConfig, TokenProviderConfig, TooltipCSSVariable, TooltipParts, TooltipProps, TreemapChartProps, TreemapDataPoint, TreemapNode, UploadProps, UseBlockOptions, UseBlockReturn, UseCardOptions, UseCardReturn, UseHistoryOptions, UseHistoryReturn, UsePerformanceMonitorReturn, UseThemeReturn, ValidationResult, Variant, VideoChapter, VideoPlayerProps, VideoQuality, VideoSubtitle, WaterfallChartProps, WaterfallDataPoint, listvariant };
16721
+ export { ACCORDION, ATOMIX_GLASS, AVATAR, AVATAR_GROUP, _default$1 as Accordion, AreaChart, AtomixGlass, AtomixLogo, Avatar, AvatarGroup, BADGE, BADGE_CSS_VARS, BALANCED_PRESET, BLOCK, BREADCRUMB, BUTTON, BUTTON_CSS_VARS, BUTTON_GROUP, Badge, BarChart, Block, Breadcrumb, BubbleChart, Button, ButtonGroup, CALLOUT, CARD, CARD_CSS_VARS, CHART, CHECKBOX_CSS_VARS, CLASS_PREFIX, CODE_SNIPPET, COMPONENT_CSS_VARS, COUNTDOWN, Callout, CandlestickChart, Card, Chart, ChartRenderer, Checkbox, ColorModeToggle, Container, Countdown, DATA_TABLE_CLASSES, DATA_TABLE_SELECTORS, DATEPICKER, DEFAULT_ATOMIX_FONTS, DEFAULT_BREAKPOINTS, DROPDOWN, DROPDOWN_CSS_VARS, DataTable, DatePicker, DesignTokensCustomizer, DeviceDetector, DonutChart, Dropdown, EDGE_PANEL, EdgePanel, ElevationCard, FOOTER, FORM, FORM_GROUP, Footer, FooterLink, FooterSection, FooterSocialLink, Form, FormGroup, FunnelChart, GaugeChart, Grid, GridCol, HERO, HeatmapChart, Hero, INPUT, INPUT_CSS_VARS, Icon, Input, LIST, LIST_GROUP, LineChart, List, ListGroup, MESSAGES, MOBILE_OPTIMIZED_BREAKPOINTS, MODAL, MODAL_CSS_VARS, MasonryGrid, MasonryGridItem, MegaMenu, MegaMenuColumn, MegaMenuLink, Menu, MenuDivider, MenuItem, Messages, Modal, MultiAxisChart, NAV, NAVBAR, Nav, NavDropdown, NavItem, Navbar, PAGINATION_DEFAULTS, PERFORMANCE_PRESET, PHOTOVIEWER, POPOVER, PROGRESS, PROGRESS_CSS_VARS, Pagination, PerformanceOverlay, PhotoViewer, PieChart, Popover, ProductReview, Progress, QUALITY_PRESET, RADIO, RADIO_CSS_VARS, RATING, RIVER, RTLManager, RadarChart, Radio, Rating, River, Row, SECTION_INTRO, SELECT, SIDE_MENU, SIZES, SLIDER, SPINNER, STEPS, ScatterChart, SectionIntro, Select, SideMenu, SideMenuItem, SideMenuList, Slider, Spinner, Steps, TAB, TABS_CSS_VARS, TESTIMONIAL, TEXTAREA, THEME_COLORS, THEME_NAMING, TODO, TOGGLE, TOOLTIP, TOOLTIP_CSS_VARS, TYPEDBUTTON, Tabs, Testimonial, Textarea, ThemeApplicator, ThemeComparator, ThemeContext, ThemeErrorBoundary, ThemeInspector, ThemeLiveEditor, ThemePreview, ThemeProvider, ThemeToggle, ThemeValidator, Todo, Toggle, Tooltip, TreemapChart, UPLOAD, Upload, VIDEO_PLAYER, VideoPlayer, WaterfallChart, alpha, applyCSSVariables, applyCSSVarsToStyle, applyComponentTheme, applyPartStyles, applyTheme, camelToKebab, clearThemePreference, clearThemes, composables, configToTokens, constants, createBreakpoints, createCSSVarStyle, createDarkVariant, createDebugAttrs, createFontPreloadLink, createPartProps, createPerformanceMonitor, createRTLManager, createResponsiveUtil, createSlotComponent, createSlotProps, createSpacing, createTheme, createThemeRegistry, createTokens, cssVarsToStyle, darken, deepMerge, atomix as default, defaultTokens, defineConfig, designTokensToCSSVars, emphasize, exportTheme, extendTheme, extractComponentName, extractYouTubeId, generateCSSVariableName, generateCSSVariables, generateCSSVariablesForSelector, generateClassName, generateComponentCSSVars, generateFontPreloadTags, generateUUID, getAllThemes, getCSSVariable, getComponentCSSVars, getComponentThemeValue, getContrastRatio, getContrastText, getCurrentTheme, getDefaultBreakpoints, getDevicePreset, getDirectionFromLocale, getLuminance, getMobileOptimizedParams, getPartStyles, getQualityMultipliers, getSystemTheme, getTheme, getThemeApplicator, getThemeCount, getThemeIds, getThemeMetadata, hasCustomization, hasTheme, hexToRgb, importTheme, initializeTheme, injectCSS, injectTheme, isAccessible, isCSSInjected, isDesignTokens, isRTLLocale, isSlot, isValidCSSVariableName, isYouTubeUrl, lighten, listenToSystemTheme, loadAtomixConfig, loadConfig, mapSCSSTokensToCSSVars, mergeCSSVars, mergeClassNames, mergeComponentProps, mergePartStyles, mergeSlots, mergeTheme, mergeTokens, normalizeThemeTokens, omitTokens, overrideTokens, persistTheme, pickTokens, preloadFonts, printConfigReport, quickTheme, registerTheme, removeCSS, removeCSSVariables, removeTheme, renderSlot, resolveConfigPath, rgbToHex, rtlCSS, sliderConstants, supportsDarkMode, switchTheme, theme, themePropertyToCSSVar, themeToCSS, toggleTheme, types, unregisterTheme, useAccordion, useAtomixGlass, useBadge, useBarChart, useBlock, useChartData, useChartInteraction, useChartScale, useComponentCustomization, useComponentDefaultProps, useComponentTheme, useEdgePanel, useForm, useFormGroup, useHero, useHistory, useInput, useLineChart, useMergedProps, useNav, useNavDropdown, useNavItem, useNavbar, usePieChart, useRadio, useResponsive, useResponsiveGlass, useRiver, useSelect, useSideMenu, useSideMenuItem, useSlot, useSpinner, useTextarea, useTheme, useThemeSwitcher, useThemeTokens, useTodo, utils, validateConfig, validateConfiguration, validateTheme };
16722
+ export type { A11yIssue, AccordionParts, AccordionProps$1 as AccordionProps, AccordionState, AreaChartProps, AtomixConfig, AtomixGlassProps, AtomixLogoProps, AvatarGroupProps, AvatarParts, AvatarProps, AvatarSize, BadgeCSSVariable, BadgeParts, BadgeProps, BarChartOptions, BarChartProps, BarDimensions, BaseComponentProps, BlockProps, BreadcrumbInstance, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbOptions, BreadcrumbProps, BubbleChartProps, BubbleDataPoint, BuildConfig, ButtonCSSVariable, ButtonGroupProps, ButtonIconSlotProps, ButtonLabelSlotProps, ButtonParts, ButtonProps, ButtonRootSlotProps, ButtonSpinnerSlotProps, CSSThemeDefinition, CSSVariableConfig, CSSVariableNamingOptions, CalloutProps, CandlestickChartProps, CandlestickDataPoint, CardBodySlotProps, CardCSSVariable, CardFooterSlotProps, CardHeaderSlotProps, CardParts, CardProps, CardRootSlotProps, ChartAxis$1 as ChartAxis, ChartConfig$1 as ChartConfig, ChartDataPoint$1 as ChartDataPoint, ChartDataset$1 as ChartDataset, ChartProps$1 as ChartProps, ChartSize$1 as ChartSize, ChartType$1 as ChartType, CheckboxCSSVariable, CheckboxParts, CheckboxProps, CodeBlockProps, ColorModeToggleProps, ColorScale, ComponentCSSVariables, ComponentCustomization, ComponentName, ComponentParts, ComponentPartsMap, ComponentThemeOptions, ComponentThemeOverride, ContainerProps, CountdownProps, CustomizableComponentProps, DataTableColumn, DataTableParts, DataTableProps, DatePickerProps, DesignTokenCategory, DesignTokenValue, DesignTokens, DesignTokensCustomizerProps, DisplacementMode, DonutChartProps, DropdownCSSVariable, DropdownDividerProps, DropdownHeaderProps, DropdownItemProps, DropdownMenuSlotProps, DropdownParts, DropdownPlacement, DropdownProps, DropdownRootSlotProps, DropdownToggleSlotProps, DropdownTrigger$1 as DropdownTrigger, EdgePanelMode, EdgePanelPosition, EdgePanelProps, ElementRefs, ElevationCardProps, ExportFormat, FontPreloadConfig, FooterLayout, FooterLinkProps, FooterProps, FooterSectionProps, FooterSocialLinkProps, FormGroupParts, FormGroupProps, FormProps, FunnelChartProps, FunnelDataPoint, GaugeChartProps, GenerateCSSVariablesOptions, GeneratorConfig, GlassContainerProps, GlassMode, GlassParams, GlassSize, GlassThemeTokens, GridColProps, GridProps, HeatmapChartProps, HeatmapDataPoint, HeroAlignment, HeroBackgroundSlide, HeroBackgroundSliderConfig, HeroParts, HeroProps, IconPosition, IconProps, IconSize$1 as IconSize, IconWeight$1 as IconWeight, ImageType, InputCSSVariable, InputElementSlotProps, InputParts, InputProps, InputRootSlotProps, IntegrationConfig, InteractiveEffectsConfig, JSThemeDefinition, LineChartOptions, LineChartProps, ListGroupProps$1 as ListGroupProps, ListParts, ListProps, MasonryGridItemProps, MasonryGridProps, MegaMenuColumnProps, MegaMenuLinkProps, MegaMenuProps, MenuDividerProps, MenuItemProps, MenuProps, MergePropsOptions, MessageItem, MessagesProps, ModalBackdropSlotProps, ModalCSSVariable, ModalContentSlotProps, ModalDialogSlotProps, ModalParts, ModalProps, ModalRootSlotProps, MousePosition, MultiAxisChartProps, NamingOptions, NavAlignment, NavDropdownProps, NavItemProps, NavProps, NavVariant, NavbarParts, NavbarPosition, NavbarProps, OptimizationConfig, OverLightConfig, OverLightObjectConfig, PaginationProps, PaletteColorOptions, PartStyleProps, PerformanceMonitorConfig$1 as PerformanceMonitorConfig, PhosphorIconsType$1 as PhosphorIconsType, PhotoViewerProps, PieChartOptions, PieChartProps, PieSlice, PluginConfig, PopoverProps, PopoverTriggerProps, ProductReviewProps, ProgressCSSVariable, ProgressParts, ProgressProps, RTLConfig, RadarChartProps, RadioCSSVariable, RadioParts, RadioProps, RatingProps, ResponsiveBreakpoint, RiverContentColumn, RiverProps, RowProps, RuntimeConfig, ScatterChartProps, ScatterDataPoint, SectionIntroProps, SelectOption$1 as SelectOption, SelectParts, SelectProps, SelectionMode, SideMenuItemProps, SideMenuListProps, SideMenuProps, Size, SliderAutoplay, SliderBreakpoint, SliderEffect, SliderLazy, SliderNavigation, SliderPagination, SliderProps, SliderRefs, SliderScrollbar, SliderSlide, SliderState, SliderThumbs, SliderVirtual, SliderZoom, SlotProps, SocialLink, SocialPlatform, SortConfig, SpinnerProps, StateModifier, StepsProps, TabsCSSVariable, TabsParts, TabsProps, TestimonialProps, TextareaParts, TextareaProps, Theme, ThemeChangeEvent, ThemeColor, ThemeComparatorProps, ThemeComponentOverrides, ThemeContextValue, ThemeDefinition, ThemeErrorBoundaryProps, ThemeInspectorProps, ThemeLiveEditorProps, ThemeLoadOptions, ThemeMode, ThemeName, ThemePersistenceOptions, ThemePreviewProps, ThemeProviderProps, ThemeSwitcherOptions, ThemeToggleProps, ThemeTokens, ThemeValidationResult, TodoItem, TodoProps, ToggleProps, TokenEngineConfig, TokenProviderConfig, TooltipCSSVariable, TooltipParts, TooltipProps, TreemapChartProps, TreemapDataPoint, TreemapNode, UploadProps, UseBlockOptions, UseBlockReturn, UseCardOptions, UseCardReturn, UseHistoryOptions, UseHistoryReturn, UsePerformanceMonitorReturn, UseThemeReturn, UseThemeSwitcherOptions, UseThemeSwitcherReturn, Variant, VideoChapter, VideoPlayerProps, VideoQuality, VideoSubtitle, VisualPolishConfig, WaterfallChartProps, WaterfallDataPoint, listvariant };