@shohojdhara/atomix 0.3.6 → 0.3.7

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 (51) hide show
  1. package/README.md +3 -3
  2. package/dist/charts.js +50 -142
  3. package/dist/charts.js.map +1 -1
  4. package/dist/core.js +179 -274
  5. package/dist/core.js.map +1 -1
  6. package/dist/forms.js +50 -142
  7. package/dist/forms.js.map +1 -1
  8. package/dist/heavy.js +179 -274
  9. package/dist/heavy.js.map +1 -1
  10. package/dist/index.d.ts +669 -703
  11. package/dist/index.esm.js +966 -1649
  12. package/dist/index.esm.js.map +1 -1
  13. package/dist/index.js +1211 -1890
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.min.js +1 -1
  16. package/dist/index.min.js.map +1 -1
  17. package/dist/theme.d.ts +163 -334
  18. package/dist/theme.js +774 -1473
  19. package/dist/theme.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/components/AtomixGlass/AtomixGlass.tsx +128 -356
  22. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +1 -1
  23. package/src/components/Button/Button.tsx +85 -167
  24. package/src/lib/composables/useAtomixGlass.ts +7 -7
  25. package/src/lib/config/loader.ts +2 -3
  26. package/src/lib/constants/components.ts +7 -0
  27. package/src/lib/hooks/usePerformanceMonitor.ts +1 -1
  28. package/src/lib/hooks/useThemeTokens.ts +105 -0
  29. package/src/lib/theme/config/configLoader.ts +60 -219
  30. package/src/lib/theme/config/loader.ts +15 -21
  31. package/src/lib/theme/constants/constants.ts +1 -1
  32. package/src/lib/theme/core/ThemeRegistry.ts +75 -279
  33. package/src/lib/theme/core/composeTheme.ts +14 -64
  34. package/src/lib/theme/core/createTheme.ts +54 -40
  35. package/src/lib/theme/core/createThemeObject.ts +2 -2
  36. package/src/lib/theme/core/index.ts +15 -1
  37. package/src/lib/theme/errors/errors.ts +1 -1
  38. package/src/lib/theme/generators/generateCSSNested.ts +130 -0
  39. package/src/lib/theme/generators/index.ts +6 -0
  40. package/src/lib/theme/index.ts +35 -10
  41. package/src/lib/theme/runtime/ThemeApplicator.ts +1 -1
  42. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +4 -4
  43. package/src/lib/theme/runtime/ThemeProvider.tsx +261 -554
  44. package/src/lib/theme/runtime/index.ts +1 -0
  45. package/src/lib/theme/runtime/useThemeTokens.ts +131 -0
  46. package/src/lib/theme/utils/componentTheming.ts +132 -0
  47. package/src/lib/theme/utils/naming.ts +100 -0
  48. package/src/lib/theme/utils/themeUtils.ts +6 -6
  49. package/src/lib/utils/componentUtils.ts +1 -1
  50. package/src/lib/utils/memoryMonitor.ts +3 -3
  51. package/src/lib/utils/themeNaming.ts +135 -0
package/dist/index.d.ts CHANGED
@@ -8331,6 +8331,12 @@ declare const CLASS_PREFIX: {
8331
8331
  /**
8332
8332
  * Button-specific constants
8333
8333
  */
8334
+ declare const THEME_NAMING: {
8335
+ BUTTON_PREFIX: string;
8336
+ ICON_ELEMENT: string;
8337
+ LABEL_ELEMENT: string;
8338
+ SPINNER_ELEMENT: string;
8339
+ };
8334
8340
  declare const BUTTON: {
8335
8341
  BASE_CLASS: string;
8336
8342
  ICON_CLASS: string;
@@ -10101,6 +10107,7 @@ declare const __lib_constants_TAB: typeof TAB;
10101
10107
  declare const __lib_constants_TESTIMONIAL: typeof TESTIMONIAL;
10102
10108
  declare const __lib_constants_TEXTAREA: typeof TEXTAREA;
10103
10109
  declare const __lib_constants_THEME_COLORS: typeof THEME_COLORS;
10110
+ declare const __lib_constants_THEME_NAMING: typeof THEME_NAMING;
10104
10111
  declare const __lib_constants_TODO: typeof TODO;
10105
10112
  declare const __lib_constants_TOGGLE: typeof TOGGLE;
10106
10113
  declare const __lib_constants_TOOLTIP: typeof TOOLTIP;
@@ -10159,6 +10166,7 @@ declare namespace __lib_constants {
10159
10166
  __lib_constants_TESTIMONIAL as TESTIMONIAL,
10160
10167
  __lib_constants_TEXTAREA as TEXTAREA,
10161
10168
  __lib_constants_THEME_COLORS as THEME_COLORS,
10169
+ __lib_constants_THEME_NAMING as THEME_NAMING,
10162
10170
  __lib_constants_TODO as TODO,
10163
10171
  __lib_constants_TOGGLE as TOGGLE,
10164
10172
  __lib_constants_TOOLTIP as TOOLTIP,
@@ -12605,7 +12613,7 @@ declare function createTokens(overrides?: Partial<DesignTokens>): DesignTokens;
12605
12613
  /**
12606
12614
  * Theme metadata interface matching themes.config.js structure
12607
12615
  */
12608
- interface ThemeMetadata {
12616
+ interface ThemeMetadata$1 {
12609
12617
  /** Display name of the theme */
12610
12618
  name: string;
12611
12619
  /** Unique identifier/class name for the theme */
@@ -12688,7 +12696,7 @@ interface UseThemeReturn {
12688
12696
  /** Function to change theme (supports string, Theme, or DesignTokens) */
12689
12697
  setTheme: (theme: string | Theme | DesignTokens | Partial<DesignTokens>, options?: ThemeLoadOptions) => Promise<void>;
12690
12698
  /** Available themes */
12691
- availableThemes: ThemeMetadata[];
12699
+ availableThemes: ThemeMetadata$1[];
12692
12700
  /** Whether a theme is currently loading */
12693
12701
  isLoading: boolean;
12694
12702
  /** Current error, if any */
@@ -12757,7 +12765,7 @@ interface ThemeProviderProps {
12757
12765
  /** Default theme */
12758
12766
  defaultTheme?: string | Theme;
12759
12767
  /** Available themes */
12760
- themes?: Record<string, ThemeMetadata>;
12768
+ themes?: Record<string, ThemeMetadata$1>;
12761
12769
  /** Base path for theme CSS */
12762
12770
  basePath?: string;
12763
12771
  /** CDN path for theme CSS */
@@ -12790,7 +12798,7 @@ interface ThemeContextValue {
12790
12798
  /** Set theme function (supports string, Theme, or DesignTokens) */
12791
12799
  setTheme: (theme: string | Theme | DesignTokens | Partial<DesignTokens>, options?: ThemeLoadOptions) => Promise<void>;
12792
12800
  /** Available themes */
12793
- availableThemes: ThemeMetadata[];
12801
+ availableThemes: ThemeMetadata$1[];
12794
12802
  /** Loading state */
12795
12803
  isLoading: boolean;
12796
12804
  /** Error state */
@@ -13017,7 +13025,7 @@ interface ThemeCustomProperties {
13017
13025
  * Theme configuration options for createTheme
13018
13026
  * Extends ThemeMetadata to support both CSS and JS theme properties
13019
13027
  */
13020
- interface ThemeOptions extends Partial<ThemeMetadata> {
13028
+ interface ThemeOptions extends Partial<ThemeMetadata$1> {
13021
13029
  /** Color palette configuration */
13022
13030
  palette?: PaletteOptions;
13023
13031
  /** Typography configuration */
@@ -13041,7 +13049,7 @@ interface ThemeOptions extends Partial<ThemeMetadata> {
13041
13049
  * Complete theme object with computed values
13042
13050
  * Generated by createTheme function
13043
13051
  */
13044
- interface Theme extends ThemeMetadata {
13052
+ interface Theme extends ThemeMetadata$1 {
13045
13053
  /** Color palette with computed values */
13046
13054
  palette: {
13047
13055
  primary: PaletteColor;
@@ -13167,7 +13175,7 @@ declare function generateCSSVariablesForSelector(tokens: DesignTokens, selector:
13167
13175
  /**
13168
13176
  * Core Theme Functions
13169
13177
  *
13170
- * Unified theme system that handles both DesignTokens and Theme objects.
13178
+ * Simplified theme system that handles both DesignTokens and Theme objects.
13171
13179
  * Config-first approach: loads from atomix.config.ts when no input is provided.
13172
13180
  * Config file is required for automatic loading.
13173
13181
  */
@@ -13239,14 +13247,14 @@ declare function createThemeObject(...options: ThemeOptions[]): Theme;
13239
13247
  /**
13240
13248
  * Theme Composition Utilities
13241
13249
  *
13242
- * Utilities for composing, merging, and extending themes.
13250
+ * Simplified utilities for composing, merging, and extending themes.
13243
13251
  */
13244
13252
 
13245
13253
  /**
13246
13254
  * Deep merge multiple objects
13247
13255
  * Later objects override earlier ones
13248
13256
  */
13249
- declare function deepMerge<T extends Record<string, any>>(...objects: Partial<T>[]): T;
13257
+ declare function deepMerge<T extends Record<string, unknown>>(...objects: Partial<T>[]): T;
13250
13258
  /**
13251
13259
  * Merge multiple theme options into a single theme options object
13252
13260
  *
@@ -13279,750 +13287,418 @@ declare function mergeTheme(...themes: ThemeOptions[]): ThemeOptions;
13279
13287
  declare function extendTheme(baseTheme: Theme | ThemeOptions, extension: ThemeOptions): Theme;
13280
13288
 
13281
13289
  /**
13282
- * Atomix Config Loader
13290
+ * Theme Metadata interface
13291
+ */
13292
+ interface ThemeMetadata {
13293
+ name: string;
13294
+ class: string;
13295
+ description?: string;
13296
+ version?: string;
13297
+ [key: string]: any;
13298
+ }
13299
+ /**
13300
+ * Theme Registry type - a record of theme IDs to metadata
13301
+ */
13302
+ type ThemeRegistry = Record<string, ThemeMetadata>;
13303
+ /**
13304
+ * Create a new theme registry
13305
+ */
13306
+ declare function createThemeRegistry(): ThemeRegistry;
13307
+ /**
13308
+ * Register a theme
13309
+ * @param registry - Theme registry object
13310
+ * @param id - Theme identifier
13311
+ * @param metadata - Theme metadata
13312
+ */
13313
+ declare function registerTheme(registry: ThemeRegistry, id: string, metadata: ThemeMetadata): void;
13314
+ /**
13315
+ * Unregister a theme
13316
+ * @param registry - Theme registry object
13317
+ * @param id - Theme identifier
13318
+ */
13319
+ declare function unregisterTheme(registry: ThemeRegistry, id: string): boolean;
13320
+ /**
13321
+ * Check if a theme is registered
13322
+ * @param registry - Theme registry object
13323
+ * @param id - Theme identifier
13324
+ */
13325
+ declare function hasTheme(registry: ThemeRegistry, id: string): boolean;
13326
+ /**
13327
+ * Get theme metadata
13328
+ * @param registry - Theme registry object
13329
+ * @param id - Theme identifier
13330
+ */
13331
+ declare function getTheme(registry: ThemeRegistry, id: string): ThemeMetadata | undefined;
13332
+ /**
13333
+ * Get all registered theme metadata
13334
+ * @param registry - Theme registry object
13335
+ */
13336
+ declare function getAllThemes(registry: ThemeRegistry): ThemeMetadata[];
13337
+ /**
13338
+ * Get all registered theme IDs
13339
+ * @param registry - Theme registry object
13340
+ */
13341
+ declare function getThemeIds(registry: ThemeRegistry): string[];
13342
+ /**
13343
+ * Clear all registered themes
13344
+ * @param registry - Theme registry object
13345
+ */
13346
+ declare function clearThemes(registry: ThemeRegistry): void;
13347
+ /**
13348
+ * Get the number of registered themes
13349
+ * @param registry - Theme registry object
13350
+ */
13351
+ declare function getThemeCount(registry: ThemeRegistry): number;
13352
+
13353
+ /**
13354
+ * Naming Utilities
13283
13355
  *
13284
- * Helper functions to load atomix.config.ts from external projects.
13285
- * Similar to how Tailwind loads tailwind.config.js
13356
+ * Provides consistent naming conventions across the theme system
13357
+ */
13358
+ interface NamingOptions {
13359
+ prefix?: string;
13360
+ component?: string;
13361
+ variant?: string;
13362
+ state?: string;
13363
+ }
13364
+ /**
13365
+ * Generate consistent CSS class names following BEM methodology
13366
+ */
13367
+ declare function generateClassName(block: string, element?: string, modifiers?: Record<string, boolean | string>): string;
13368
+ /**
13369
+ * Generate consistent CSS variable names
13370
+ */
13371
+ declare function generateCSSVariableName(property: string, options?: NamingOptions): string;
13372
+ /**
13373
+ * Normalize theme tokens to consistent naming convention
13374
+ */
13375
+ declare function normalizeThemeTokens(tokens: Record<string, any>): Record<string, any>;
13376
+ /**
13377
+ * Convert camelCase to kebab-case for CSS custom properties
13378
+ */
13379
+ declare function camelToKebab(str: string): string;
13380
+ /**
13381
+ * Convert theme property to CSS variable name
13286
13382
  */
13383
+ declare function themePropertyToCSSVar(propertyPath: string, prefix?: string): string;
13287
13384
 
13288
13385
  /**
13289
- * Load Atomix configuration from project root
13386
+ * Component Theming Utilities
13290
13387
  *
13291
- * Attempts to load atomix.config.ts from the current working directory.
13292
- * Falls back to default config if file doesn't exist.
13388
+ * Provides consistent patterns for applying theme values to components
13389
+ */
13390
+
13391
+ interface ComponentThemeOptions {
13392
+ component: string;
13393
+ variant?: string;
13394
+ size?: string;
13395
+ theme: Theme;
13396
+ }
13397
+ /**
13398
+ * Get a theme value for a specific component using CSS variables
13399
+ * This ensures all components access theme values consistently
13400
+ */
13401
+ declare function getComponentThemeValue(component: string, property: string, variant?: string, size?: string): string;
13402
+ /**
13403
+ * Generate component-specific CSS variables from theme
13404
+ */
13405
+ declare function generateComponentCSSVars(component: string, theme: Theme, variant?: string, size?: string): Record<string, string>;
13406
+ /**
13407
+ * Apply consistent theme to component style object
13408
+ */
13409
+ declare function applyComponentTheme(component: string, style?: React.CSSProperties, variant?: string, size?: string, theme?: Theme): React.CSSProperties;
13410
+ /**
13411
+ * Create a hook for consistent component theming
13412
+ */
13413
+ declare function useComponentTheme(component: string, variant?: string, size?: string, theme?: Theme): (property: string) => string;
13414
+
13415
+ /**
13416
+ * CSS Injection Utilities
13293
13417
  *
13294
- * @param options - Loader options
13295
- * @returns Loaded configuration or default
13418
+ * Inject CSS into HTML head via <style> element.
13419
+ */
13420
+ /**
13421
+ * Inject CSS into HTML head via <style> element
13422
+ *
13423
+ * Creates or updates a style element in the document head.
13424
+ * If an element with the same ID exists, it will be updated.
13425
+ *
13426
+ * @param css - CSS string to inject
13427
+ * @param id - Style element ID (default: 'atomix-theme')
13296
13428
  *
13297
13429
  * @example
13298
13430
  * ```typescript
13299
- * import { loadAtomixConfig } from '@shohojdhara/atomix/config';
13300
- * import { createTheme } from '@shohojdhara/atomix/theme';
13431
+ * const css = ':root { --atomix-color-primary: #7AFFD7; }';
13432
+ * injectCSS(css);
13301
13433
  *
13302
- * const config = loadAtomixConfig();
13303
- * const theme = createTheme(config.theme?.tokens || {});
13434
+ * // With custom ID
13435
+ * injectCSS(css, 'my-custom-theme');
13304
13436
  * ```
13305
13437
  */
13306
- declare function loadAtomixConfig(options?: {
13307
- /** Custom config path (default: 'atomix.config.ts') */
13438
+ declare function injectCSS(css: string, id?: string): void;
13439
+ /**
13440
+ * Remove injected CSS from DOM
13441
+ *
13442
+ * Removes the style element with the given ID from the document head.
13443
+ *
13444
+ * @param id - Style element ID to remove (default: 'atomix-theme')
13445
+ *
13446
+ * @example
13447
+ * ```typescript
13448
+ * removeCSS(); // Removes default 'atomix-theme'
13449
+ * removeCSS('my-custom-theme'); // Removes custom ID
13450
+ * ```
13451
+ */
13452
+ declare function removeCSS(id?: string): void;
13453
+ /**
13454
+ * Check if CSS is already injected
13455
+ *
13456
+ * @param id - Style element ID to check (default: 'atomix-theme')
13457
+ * @returns True if style element exists
13458
+ */
13459
+ declare function isCSSInjected(id?: string): boolean;
13460
+
13461
+ /**
13462
+ * Theme Configuration Loader
13463
+ *
13464
+ * Provides functions to load theme configurations from atomix.config.ts
13465
+ * Includes both sync and async versions, with automatic fallbacks
13466
+ */
13467
+
13468
+ /**
13469
+ * Load theme from config file (synchronous, Node.js only)
13470
+ * @param configPath - Path to config file (default: atomix.config.ts)
13471
+ * @returns DesignTokens from theme configuration
13472
+ * @throws Error if config loading is not available in browser environment
13473
+ */
13474
+ declare function loadThemeFromConfigSync(options?: {
13308
13475
  configPath?: string;
13309
- /** Whether to throw error if config not found (default: false) */
13310
13476
  required?: boolean;
13311
- }): AtomixConfig;
13477
+ }): DesignTokens;
13312
13478
  /**
13313
- * Resolve config path
13479
+ * Load theme from config file (asynchronous)
13480
+ * @param configPath - Path to config file (default: atomix.config.ts)
13481
+ * @returns Promise resolving to DesignTokens from theme configuration
13482
+ */
13483
+ declare function loadThemeFromConfig(options?: {
13484
+ configPath?: string;
13485
+ required?: boolean;
13486
+ }): Promise<DesignTokens>;
13487
+
13488
+ /**
13489
+ * Theme Provider
13314
13490
  *
13315
- * Finds atomix.config.ts in the project, checking common locations.
13316
- * Returns null in browser environments where file system access is not available.
13491
+ * React context provider for theme management with separated concerns
13492
+ * Updated to use the new simplified theme system
13493
+ */
13494
+
13495
+ /**
13496
+ * Theme Provider
13317
13497
  *
13318
- * This function is designed to work in Node.js environments only.
13319
- * In browser builds, it will always return null without attempting to access Node.js modules.
13498
+ * React context provider for theme management with separated concerns.
13499
+ * Simplified version focusing on core functionality:
13500
+ * - String-based themes (CSS files)
13501
+ * - JS Theme objects
13502
+ * - Persistence via localStorage
13320
13503
  *
13321
- * @internal This function uses Node.js modules and should not be called in browser environments.
13504
+ * Falls back to 'default' theme if no configuration is found.
13322
13505
  */
13323
- declare function resolveConfigPath(): string | null;
13506
+ declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
13324
13507
 
13325
13508
  /**
13326
- * Atomix Configuration System
13509
+ * useTheme Hook
13327
13510
  *
13328
- * Tailwind-like configuration for customizing the Atomix Design System.
13511
+ * React hook for accessing theme context
13512
+ */
13513
+
13514
+ /**
13515
+ * useTheme hook
13329
13516
  *
13330
- * External developers can create `atomix.config.ts` in their project root
13331
- * to customize design tokens, similar to Tailwind's tailwind.config.js
13517
+ * Access theme context and theme management functions
13332
13518
  *
13333
13519
  * @example
13334
- * ```typescript
13335
- * // atomix.config.ts (in your project)
13336
- * import { defineConfig } from '@shohojdhara/atomix/config';
13520
+ * ```tsx
13521
+ * function MyComponent() {
13522
+ * const { theme, setTheme, availableThemes } = useTheme();
13337
13523
  *
13338
- * export default defineConfig({
13339
- * theme: {
13340
- * extend: {
13341
- * colors: {
13342
- * primary: { main: '#7AFFD7' },
13343
- * },
13344
- * },
13345
- * },
13346
- * });
13524
+ * return (
13525
+ * <div>
13526
+ * <p>Current theme: {theme}</p>
13527
+ * <button onClick={() => setTheme('dark-theme')}>
13528
+ * Switch to Dark
13529
+ * </button>
13530
+ * </div>
13531
+ * );
13532
+ * }
13347
13533
  * ```
13348
13534
  */
13535
+ declare function useTheme(): UseThemeReturn;
13349
13536
 
13350
13537
  /**
13351
- * Color Scale (1-10)
13538
+ * Standardized hook for accessing theme tokens in components
13539
+ *
13540
+ * Provides consistent access to theme values across all components
13541
+ * using either CSS custom properties or theme object values.
13352
13542
  */
13353
- interface ColorScale {
13354
- 1?: string;
13355
- 2?: string;
13356
- 3?: string;
13357
- 4?: string;
13358
- 5?: string;
13359
- 6?: string;
13360
- 7?: string;
13361
- 8?: string;
13362
- 9?: string;
13363
- 10?: string;
13364
- [key: string]: string | undefined;
13365
- }
13543
+ type ThemeTokens$1 = {
13544
+ theme: string;
13545
+ activeTheme: Theme | null;
13546
+ getToken: (tokenName: string, fallback?: string) => string;
13547
+ getThemeValue: (path: string, fallback?: any) => any;
13548
+ colors: {
13549
+ primary: string;
13550
+ secondary: string;
13551
+ error: string;
13552
+ success: string;
13553
+ warning: string;
13554
+ info: string;
13555
+ light: string;
13556
+ dark: string;
13557
+ };
13558
+ spacing: Record<string, string>;
13559
+ borderRadius: Record<string, string>;
13560
+ typography: {
13561
+ fontFamily: Record<string, string>;
13562
+ fontSize: Record<string, string>;
13563
+ fontWeight: Record<string, string>;
13564
+ };
13565
+ shadows: Record<string, string>;
13566
+ transitions: Record<string, string>;
13567
+ };
13568
+ declare function useThemeTokens(): ThemeTokens$1;
13569
+
13366
13570
  /**
13367
- * Palette Color Options
13571
+ * Theme context with default values
13368
13572
  */
13369
- interface PaletteColorOptions {
13370
- main: string;
13371
- light?: string;
13372
- dark?: string;
13373
- contrastText?: string;
13374
- }
13573
+ declare const ThemeContext: React$1.Context<ThemeContextValue | null>;
13574
+
13375
13575
  /**
13376
- * Design Tokens Schema (Tailwind-like)
13576
+ * Theme Error Boundary
13577
+ *
13578
+ * React error boundary for catching and handling theme-related errors.
13579
+ * Prevents the entire app from crashing when theme errors occur.
13377
13580
  */
13378
- interface ThemeTokens {
13379
- /** Color palette */
13380
- colors?: Record<string, string | PaletteColorOptions | ColorScale | Record<string, string>>;
13381
- /** Spacing scale */
13382
- spacing?: Record<string, string>;
13383
- /** Border radius scale */
13384
- borderRadius?: Record<string, string>;
13385
- /** Typography scale and settings */
13386
- typography?: {
13387
- fontFamilies?: Record<string, string>;
13388
- fontSizes?: Record<string, string>;
13389
- fontWeights?: Record<string, string | number>;
13390
- lineHeights?: Record<string, string | number>;
13391
- letterSpacings?: Record<string, string>;
13392
- };
13393
- /** Shadow scale */
13394
- shadows?: Record<string, string>;
13395
- /** Z-index scale */
13396
- zIndex?: Record<string, string | number>;
13397
- /** Breakpoints scale */
13398
- breakpoints?: Record<string, string | number>;
13399
- /** Transitions settings */
13400
- transitions?: {
13401
- durations?: Record<string, string>;
13402
- easings?: Record<string, string>;
13403
- };
13581
+
13582
+ /**
13583
+ * Error boundary state
13584
+ */
13585
+ interface ThemeErrorBoundaryState {
13586
+ /** Whether an error has occurred */
13587
+ hasError: boolean;
13588
+ /** The error that occurred */
13589
+ error: Error | null;
13590
+ /** Error information */
13591
+ errorInfo: ErrorInfo | null;
13404
13592
  }
13405
13593
  /**
13406
- * CSS Theme Definition
13594
+ * Error boundary props
13407
13595
  */
13408
- interface CSSThemeDefinition {
13409
- type: 'css';
13410
- name: string;
13411
- class?: string;
13412
- description?: string;
13413
- author?: string;
13414
- version?: string;
13415
- tags?: string[];
13416
- supportsDarkMode?: boolean;
13417
- status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
13418
- a11y?: {
13419
- contrastTarget?: number;
13420
- modes?: string[];
13421
- };
13422
- color?: string;
13423
- features?: string[];
13424
- dependencies?: string[];
13425
- cssPath?: string;
13426
- }
13427
- /**
13428
- * JavaScript Theme Definition
13429
- */
13430
- interface JSThemeDefinition {
13431
- type: 'js';
13432
- name: string;
13433
- class?: string;
13434
- description?: string;
13435
- author?: string;
13436
- version?: string;
13437
- tags?: string[];
13438
- supportsDarkMode?: boolean;
13439
- status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
13440
- a11y?: {
13441
- contrastTarget?: number;
13442
- modes?: string[];
13443
- };
13444
- color?: string;
13445
- features?: string[];
13446
- dependencies?: string[];
13447
- createTheme: () => Theme;
13448
- }
13449
- /**
13450
- * Theme Definition (CSS or JS)
13451
- */
13452
- type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
13453
- /**
13454
- * Build configuration (migrated from theme.config.ts)
13455
- */
13456
- interface BuildConfig {
13457
- output?: {
13458
- directory?: string;
13459
- formats?: {
13460
- expanded?: string;
13461
- compressed?: string;
13462
- };
13463
- };
13464
- sass?: {
13465
- style?: 'expanded' | 'compressed';
13466
- sourceMap?: boolean;
13467
- loadPaths?: string[];
13468
- };
13469
- }
13470
- /**
13471
- * Runtime configuration (migrated from theme.config.ts)
13472
- */
13473
- interface RuntimeConfig {
13474
- basePath?: string;
13475
- cdnPath?: string | null;
13476
- preload?: string[];
13477
- lazy?: boolean;
13478
- defaultTheme?: string;
13479
- storageKey?: string;
13480
- dataAttribute?: string;
13481
- enablePersistence?: boolean;
13482
- useMinified?: boolean;
13483
- }
13484
- /**
13485
- * Integration settings (migrated from theme.config.ts)
13486
- */
13487
- interface IntegrationConfig {
13488
- cssVariables?: Record<string, string>;
13489
- classNames?: {
13490
- theme?: string;
13491
- colorMode?: string;
13492
- };
13596
+ interface ThemeErrorBoundaryProps {
13597
+ /** Child components */
13598
+ children: ReactNode;
13599
+ /** Fallback UI to render when error occurs */
13600
+ fallback?: (error: Error, errorInfo: ErrorInfo) => ReactNode;
13601
+ /** Callback when error occurs */
13602
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
13603
+ /** Whether to reset error on children change */
13604
+ resetOnPropsChange?: boolean;
13605
+ /** Custom error message */
13606
+ errorMessage?: string;
13493
13607
  }
13494
13608
  /**
13495
- * Atomix Configuration Interface
13609
+ * Theme Error Boundary Component
13496
13610
  *
13497
- * Tailwind-like configuration for external developers.
13498
- * Focus on theme customization - build/runtime configs are internal only.
13611
+ * Catches errors in the theme system and displays a fallback UI
13612
+ * instead of crashing the entire application.
13499
13613
  */
13500
- interface AtomixConfig {
13501
- /**
13502
- * CSS variable prefix (default: 'atomix')
13503
- *
13504
- * Change this to customize all CSS variable names.
13505
- * Example: prefix: 'myapp' → --myapp-primary instead of --atomix-primary
13506
- */
13507
- prefix?: string;
13508
- /**
13509
- * Theme customization (Tailwind-like)
13510
- *
13511
- * Use `extend` to add or override design tokens.
13512
- * Use `tokens` to completely replace the default token system (advanced).
13513
- */
13514
- theme?: {
13515
- /**
13516
- * Extend the default design tokens
13517
- *
13518
- * This is the recommended way to customize Atomix.
13519
- * Your values will override or extend the base tokens.
13520
- */
13521
- extend?: ThemeTokens;
13522
- /**
13523
- * Override the default tokens entirely (advanced)
13524
- *
13525
- * Use with caution - this replaces the entire token system.
13526
- * Most users should use `extend` instead.
13527
- */
13528
- tokens?: ThemeTokens;
13529
- /**
13530
- * Register custom themes (optional)
13531
- *
13532
- * Define CSS or JavaScript themes that can be loaded dynamically.
13533
- */
13534
- themes?: Record<string, ThemeDefinition>;
13535
- };
13536
- /** @internal Build configuration (internal use only) */
13537
- build?: BuildConfig;
13538
- /** @internal Runtime configuration (internal use only) */
13539
- runtime?: RuntimeConfig;
13540
- /** @internal Integration settings (internal use only) */
13541
- integration?: IntegrationConfig;
13542
- /** @internal Theme dependencies mapping (internal use only) */
13543
- dependencies?: Record<string, string[]>;
13614
+ declare class ThemeErrorBoundary extends Component<ThemeErrorBoundaryProps, ThemeErrorBoundaryState> {
13615
+ private logger;
13616
+ constructor(props: ThemeErrorBoundaryProps);
13617
+ static getDerivedStateFromError(error: Error): Partial<ThemeErrorBoundaryState>;
13618
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
13619
+ componentDidUpdate(prevProps: ThemeErrorBoundaryProps): void;
13620
+ render(): ReactNode;
13544
13621
  }
13545
- /**
13546
- * Helper function to define Atomix configuration with type safety
13547
- *
13548
- * @param config - Atomix configuration object
13549
- * @returns The configuration object
13550
- */
13551
- /**
13552
- * Helper function to define Atomix configuration with type safety
13553
- *
13554
- * Similar to Tailwind's defineConfig, provides autocomplete and type checking.
13555
- *
13556
- * @param config - Atomix configuration object
13557
- * @returns The configuration object
13558
- *
13559
- * @example
13560
- * ```typescript
13561
- * import { defineConfig } from '@shohojdhara/atomix/config';
13562
- *
13563
- * export default defineConfig({
13564
- * theme: {
13565
- * extend: {
13566
- * colors: {
13567
- * primary: { main: '#7AFFD7' },
13568
- * },
13569
- * },
13570
- * },
13571
- * });
13572
- * ```
13573
- */
13574
- declare function defineConfig(config: AtomixConfig): AtomixConfig;
13575
13622
 
13576
13623
  /**
13577
- * Theme Configuration Types
13624
+ * Theme Applicator
13578
13625
  *
13579
- * Type definitions for the theme configuration system
13580
- */
13581
-
13582
- /**
13583
- * Loaded and validated theme configuration
13584
- */
13585
- interface LoadedThemeConfig {
13586
- /** Registered themes */
13587
- themes: Record<string, ThemeDefinition>;
13588
- /** Build configuration */
13589
- build: BuildConfig;
13590
- /** Runtime configuration */
13591
- runtime: RuntimeConfig;
13592
- /** Integration settings */
13593
- integration: IntegrationConfig;
13594
- /** Theme dependencies mapping */
13595
- dependencies: Record<string, string[]>;
13596
- /** Whether config was validated */
13597
- validated: boolean;
13598
- /** Validation errors (if any) */
13599
- errors?: string[];
13600
- /** Validation warnings (if any) */
13601
- warnings?: string[];
13602
- /** Internal tokens (for generator) */
13603
- __tokens?: any;
13604
- /** Internal extensions (for generator) */
13605
- __extend?: any;
13606
- }
13607
-
13608
- /**
13609
- * Theme Registry
13626
+ * Applies theme configurations to the DOM, including CSS variables,
13627
+ * component overrides, typography, spacing, and color palettes.
13610
13628
  *
13611
- * Central registry for all themes with discovery and dependency management
13629
+ * Uses the unified theme system for CSS generation and injection.
13612
13630
  */
13613
13631
 
13614
13632
  /**
13615
- * Registry entry
13633
+ * Theme applicator class for runtime theme application
13634
+ *
13635
+ * Uses the unified theme system for efficient CSS variable generation and injection.
13616
13636
  */
13617
- interface RegistryEntry {
13618
- /** Theme ID */
13619
- id: string;
13620
- /** Theme definition from config */
13621
- definition: ThemeDefinition;
13622
- /** Resolved theme object (for JS themes) */
13623
- theme?: Theme;
13624
- /** Whether theme is loaded */
13625
- loaded: boolean;
13626
- /** Loading promise (if currently loading) */
13627
- loading?: Promise<Theme | void>;
13628
- /** Dependencies */
13629
- dependencies: string[];
13630
- /** Dependent themes (themes that depend on this one) */
13631
- dependents: string[];
13632
- }
13633
- /**
13634
- * Theme Registry
13635
- *
13636
- * Manages theme registration, discovery, and dependency resolution
13637
- */
13638
- declare class ThemeRegistry {
13639
- private entries;
13640
- private config;
13641
- private initialized;
13642
- /**
13643
- * Initialize registry from config
13644
- */
13645
- initialize(config?: LoadedThemeConfig): Promise<void>;
13646
- /**
13647
- * Register a theme
13648
- */
13649
- register(themeId: string, definition: ThemeDefinition): void;
13650
- /**
13651
- * Get theme entry
13652
- */
13653
- get(themeId: string): RegistryEntry | undefined;
13654
- /**
13655
- * Check if theme exists
13656
- */
13657
- has(themeId: string): boolean;
13658
- /**
13659
- * Get all theme IDs
13660
- */
13661
- getAllIds(): string[];
13662
- /**
13663
- * Get all theme metadata
13664
- */
13665
- getAllMetadata(): ThemeMetadata[];
13666
- /**
13667
- * Get theme definition
13668
- */
13669
- getDefinition(themeId: string): ThemeDefinition | undefined;
13637
+ declare class ThemeApplicator {
13638
+ private root;
13639
+ private styleId;
13640
+ constructor(root?: HTMLElement);
13670
13641
  /**
13671
- * Check if a theme is loaded
13642
+ * Apply a complete theme configuration
13643
+ *
13644
+ * Uses the unified theme system to convert Theme to DesignTokens and inject CSS.
13645
+ * Automatically respects atomix.config.ts when using DesignTokens.
13672
13646
  */
13673
- isThemeLoaded(themeId: string): boolean;
13647
+ applyTheme(theme: Theme | DesignTokens): void;
13674
13648
  /**
13675
- * Mark a theme as loaded
13649
+ * Apply DesignTokens using unified theme system
13650
+ *
13651
+ * Uses createTheme() which automatically loads from atomix.config.ts
13652
+ * if no tokens are provided, ensuring config is always respected.
13676
13653
  */
13677
- markLoaded(themeId: string, theme?: Theme): void;
13654
+ private applyDesignTokens;
13678
13655
  /**
13679
- * Get theme object (for JS themes)
13656
+ * Check if object is DesignTokens
13680
13657
  */
13681
- getTheme(themeId: string): Theme | undefined;
13658
+ private isDesignTokens;
13682
13659
  /**
13683
- * Get dependencies for a theme
13660
+ * Apply global CSS variables (for component overrides)
13684
13661
  */
13685
- getDependencies(themeId: string): string[];
13662
+ private applyGlobalCSSVars;
13686
13663
  /**
13687
- * Get dependents for a theme (themes that depend on this one)
13664
+ * Apply component-level overrides
13688
13665
  */
13689
- getDependents(themeId: string): string[];
13666
+ private applyComponentOverrides;
13690
13667
  /**
13691
- * Resolve all dependencies in correct order
13668
+ * Apply override for a specific component
13692
13669
  */
13693
- resolveDependencyOrder(themeId: string): string[];
13670
+ private applyComponentOverride;
13694
13671
  /**
13695
- * Resolve dependencies and build dependency graph
13672
+ * Clear all applied CSS variables
13696
13673
  */
13697
- private resolveDependencies;
13674
+ private clearAppliedVars;
13698
13675
  /**
13699
- * Validate all themes
13676
+ * Remove theme application
13700
13677
  */
13701
- validate(): {
13702
- valid: boolean;
13703
- errors: string[];
13704
- };
13678
+ removeTheme(): void;
13705
13679
  /**
13706
- * Clear registry
13680
+ * Update specific CSS variables without clearing all
13707
13681
  */
13708
- clear(): void;
13682
+ updateCSSVars(vars: Record<string, string | number>): void;
13709
13683
  }
13710
-
13711
13684
  /**
13712
- * CSS File Utilities
13713
- *
13714
- * Save CSS to file system (Node.js only).
13685
+ * Get or create global theme applicator
13715
13686
  */
13687
+ declare function getThemeApplicator(): ThemeApplicator;
13716
13688
  /**
13717
- * Save CSS to file
13718
- *
13719
- * Writes CSS string to a file. Only works in Node.js environment.
13720
- *
13721
- * @param css - CSS string to save
13722
- * @param filePath - Output file path
13723
- * @throws Error if called in browser environment
13724
- *
13725
- * @example
13726
- * ```typescript
13727
- * const css = ':root { --atomix-color-primary: #7AFFD7; }';
13728
- * await saveCSSFile(css, './themes/custom.css');
13729
- * ```
13689
+ * Apply theme using global applicator
13730
13690
  */
13731
- declare function saveCSSFile(css: string, filePath: string): Promise<void>;
13691
+ declare function applyTheme(theme: Theme | DesignTokens): void;
13692
+
13732
13693
  /**
13733
- * Save CSS to file (synchronous version)
13734
- *
13735
- * Synchronous version of saveCSSFile. Only works in Node.js environment.
13694
+ * Theme Preview Component
13736
13695
  *
13737
- * @param css - CSS string to save
13738
- * @param filePath - Output file path
13739
- * @throws Error if called in browser environment
13696
+ * React component for previewing themes in development
13697
+ * Enhanced with interactive components, viewport controls, and dark mode toggle
13740
13698
  */
13741
- declare function saveCSSFileSync(css: string, filePath: string): void;
13742
13699
 
13743
13700
  /**
13744
- * CSS Injection Utilities
13745
- *
13746
- * Inject CSS into HTML head via <style> element.
13747
- */
13748
- /**
13749
- * Inject CSS into HTML head via <style> element
13750
- *
13751
- * Creates or updates a style element in the document head.
13752
- * If an element with the same ID exists, it will be updated.
13753
- *
13754
- * @param css - CSS string to inject
13755
- * @param id - Style element ID (default: 'atomix-theme')
13756
- *
13757
- * @example
13758
- * ```typescript
13759
- * const css = ':root { --atomix-color-primary: #7AFFD7; }';
13760
- * injectCSS(css);
13761
- *
13762
- * // With custom ID
13763
- * injectCSS(css, 'my-custom-theme');
13764
- * ```
13765
- */
13766
- declare function injectCSS(css: string, id?: string): void;
13767
- /**
13768
- * Remove injected CSS from DOM
13769
- *
13770
- * Removes the style element with the given ID from the document head.
13771
- *
13772
- * @param id - Style element ID to remove (default: 'atomix-theme')
13773
- *
13774
- * @example
13775
- * ```typescript
13776
- * removeCSS(); // Removes default 'atomix-theme'
13777
- * removeCSS('my-custom-theme'); // Removes custom ID
13778
- * ```
13779
- */
13780
- declare function removeCSS(id?: string): void;
13781
- /**
13782
- * Check if CSS is already injected
13783
- *
13784
- * @param id - Style element ID to check (default: 'atomix-theme')
13785
- * @returns True if style element exists
13786
- */
13787
- declare function isCSSInjected(id?: string): boolean;
13788
-
13789
- /**
13790
- * Config Loader
13791
- *
13792
- * Load design tokens from atomix.config.ts and convert to flat token format.
13793
- */
13794
-
13795
- /**
13796
- * Load theme tokens from atomix.config.ts
13797
- *
13798
- * Loads atomix.config.ts and extracts theme tokens.
13799
- * Config file is required - throws error if not found.
13800
- *
13801
- * @param configPath - Optional custom config path (default: 'atomix.config.ts')
13802
- * @returns Partial DesignTokens from config
13803
- * @throws Error if config file is not found or cannot be loaded
13804
- *
13805
- * @example
13806
- * ```typescript
13807
- * const tokens = await loadThemeFromConfig();
13808
- * const css = createTheme(tokens);
13809
- * injectTheme(css);
13810
- * ```
13811
- */
13812
- declare function loadThemeFromConfig(configPath?: string): Promise<Partial<DesignTokens>>;
13813
- /**
13814
- * Load theme tokens from atomix.config.ts (synchronous version)
13815
- *
13816
- * Synchronous version that uses require() instead of dynamic import.
13817
- * Only works in Node.js environment.
13818
- * Config file is required - throws error if not found.
13819
- *
13820
- * @param configPath - Optional custom config path
13821
- * @returns Partial DesignTokens from config
13822
- * @throws Error if config file is not found or cannot be loaded
13823
- */
13824
- declare function loadThemeFromConfigSync(configPath?: string): Partial<DesignTokens>;
13825
-
13826
- /**
13827
- * Theme Provider
13828
- *
13829
- * React context provider for theme management
13830
- */
13831
-
13832
- /**
13833
- * ThemeProvider component
13834
- *
13835
- * Provides theme context to child components and manages theme state.
13836
- *
13837
- * **Config-First Approach**: If `defaultTheme` is not provided, loads from `atomix.config.ts`.
13838
- * Config file is required when `defaultTheme` is not provided.
13839
- *
13840
- * @example
13841
- * ```tsx
13842
- * import { ThemeProvider } from '@shohojdhara/atomix/theme';
13843
- *
13844
- * // Loads from atomix.config.ts (config file required)
13845
- * function App() {
13846
- * return (
13847
- * <ThemeProvider>
13848
- * <YourApp />
13849
- * </ThemeProvider>
13850
- * );
13851
- * }
13852
- *
13853
- * // Provide explicit theme (bypasses config)
13854
- * function App() {
13855
- * return (
13856
- * <ThemeProvider defaultTheme="dark">
13857
- * <YourApp />
13858
- * </ThemeProvider>
13859
- * );
13860
- * }
13861
- * ```
13862
- */
13863
- declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
13864
-
13865
- /**
13866
- * useTheme Hook
13867
- *
13868
- * React hook for accessing theme context
13869
- */
13870
-
13871
- /**
13872
- * useTheme hook
13873
- *
13874
- * Access theme context and theme management functions
13875
- *
13876
- * @example
13877
- * ```tsx
13878
- * function MyComponent() {
13879
- * const { theme, setTheme, availableThemes } = useTheme();
13880
- *
13881
- * return (
13882
- * <div>
13883
- * <p>Current theme: {theme}</p>
13884
- * <button onClick={() => setTheme('dark-theme')}>
13885
- * Switch to Dark
13886
- * </button>
13887
- * </div>
13888
- * );
13889
- * }
13890
- * ```
13891
- */
13892
- declare function useTheme(): UseThemeReturn;
13893
-
13894
- /**
13895
- * Theme context with default values
13896
- */
13897
- declare const ThemeContext: React$1.Context<ThemeContextValue | null>;
13898
-
13899
- /**
13900
- * Theme Error Boundary
13901
- *
13902
- * React error boundary for catching and handling theme-related errors.
13903
- * Prevents the entire app from crashing when theme errors occur.
13904
- */
13905
-
13906
- /**
13907
- * Error boundary state
13908
- */
13909
- interface ThemeErrorBoundaryState {
13910
- /** Whether an error has occurred */
13911
- hasError: boolean;
13912
- /** The error that occurred */
13913
- error: Error | null;
13914
- /** Error information */
13915
- errorInfo: ErrorInfo | null;
13916
- }
13917
- /**
13918
- * Error boundary props
13919
- */
13920
- interface ThemeErrorBoundaryProps {
13921
- /** Child components */
13922
- children: ReactNode;
13923
- /** Fallback UI to render when error occurs */
13924
- fallback?: (error: Error, errorInfo: ErrorInfo) => ReactNode;
13925
- /** Callback when error occurs */
13926
- onError?: (error: Error, errorInfo: ErrorInfo) => void;
13927
- /** Whether to reset error on children change */
13928
- resetOnPropsChange?: boolean;
13929
- /** Custom error message */
13930
- errorMessage?: string;
13931
- }
13932
- /**
13933
- * Theme Error Boundary Component
13934
- *
13935
- * Catches errors in the theme system and displays a fallback UI
13936
- * instead of crashing the entire application.
13937
- */
13938
- declare class ThemeErrorBoundary extends Component<ThemeErrorBoundaryProps, ThemeErrorBoundaryState> {
13939
- private logger;
13940
- constructor(props: ThemeErrorBoundaryProps);
13941
- static getDerivedStateFromError(error: Error): Partial<ThemeErrorBoundaryState>;
13942
- componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
13943
- componentDidUpdate(prevProps: ThemeErrorBoundaryProps): void;
13944
- render(): ReactNode;
13945
- }
13946
-
13947
- /**
13948
- * Theme Applicator
13949
- *
13950
- * Applies theme configurations to the DOM, including CSS variables,
13951
- * component overrides, typography, spacing, and color palettes.
13952
- *
13953
- * Uses the unified theme system for CSS generation and injection.
13954
- */
13955
-
13956
- /**
13957
- * Theme applicator class for runtime theme application
13958
- *
13959
- * Uses the unified theme system for efficient CSS variable generation and injection.
13960
- */
13961
- declare class ThemeApplicator {
13962
- private root;
13963
- private styleId;
13964
- constructor(root?: HTMLElement);
13965
- /**
13966
- * Apply a complete theme configuration
13967
- *
13968
- * Uses the unified theme system to convert Theme to DesignTokens and inject CSS.
13969
- * Automatically respects atomix.config.ts when using DesignTokens.
13970
- */
13971
- applyTheme(theme: Theme | DesignTokens): void;
13972
- /**
13973
- * Apply DesignTokens using unified theme system
13974
- *
13975
- * Uses createTheme() which automatically loads from atomix.config.ts
13976
- * if no tokens are provided, ensuring config is always respected.
13977
- */
13978
- private applyDesignTokens;
13979
- /**
13980
- * Check if object is DesignTokens
13981
- */
13982
- private isDesignTokens;
13983
- /**
13984
- * Apply global CSS variables (for component overrides)
13985
- */
13986
- private applyGlobalCSSVars;
13987
- /**
13988
- * Apply component-level overrides
13989
- */
13990
- private applyComponentOverrides;
13991
- /**
13992
- * Apply override for a specific component
13993
- */
13994
- private applyComponentOverride;
13995
- /**
13996
- * Clear all applied CSS variables
13997
- */
13998
- private clearAppliedVars;
13999
- /**
14000
- * Remove theme application
14001
- */
14002
- removeTheme(): void;
14003
- /**
14004
- * Update specific CSS variables without clearing all
14005
- */
14006
- updateCSSVars(vars: Record<string, string | number>): void;
14007
- }
14008
- /**
14009
- * Get or create global theme applicator
14010
- */
14011
- declare function getThemeApplicator(): ThemeApplicator;
14012
- /**
14013
- * Apply theme using global applicator
14014
- */
14015
- declare function applyTheme(theme: Theme): void;
14016
-
14017
- /**
14018
- * Theme Preview Component
14019
- *
14020
- * React component for previewing themes in development
14021
- * Enhanced with interactive components, viewport controls, and dark mode toggle
14022
- */
14023
-
14024
- /**
14025
- * Theme preview props
13701
+ * Theme preview props
14026
13702
  */
14027
13703
  interface ThemePreviewProps {
14028
13704
  /** Theme to preview */
@@ -14181,7 +13857,7 @@ declare class ThemeValidator {
14181
13857
  /**
14182
13858
  * Validate theme
14183
13859
  */
14184
- validate(theme: Theme, metadata?: ThemeMetadata): ValidationResult;
13860
+ validate(theme: Theme, metadata?: ThemeMetadata$1): ValidationResult;
14185
13861
  /**
14186
13862
  * Validate palette
14187
13863
  */
@@ -14349,25 +14025,6 @@ interface CSSVariableNamingOptions {
14349
14025
  /** Whether to include component name in variable (default: true) */
14350
14026
  includeComponent?: boolean;
14351
14027
  }
14352
- /**
14353
- * Generate CSS variable name from parts
14354
- *
14355
- * @example
14356
- * generateCSSVariableName('button', 'bg', { prefix: 'atomix' })
14357
- * // Returns: '--atomix-button-bg'
14358
- */
14359
- declare function generateCSSVariableName(component: string, property: string, options?: CSSVariableNamingOptions): string;
14360
- /**
14361
- * Generate CSS variables object from configuration
14362
- *
14363
- * @example
14364
- * const vars = generateComponentCSSVars({
14365
- * component: 'button',
14366
- * properties: { bg: '#000', color: '#fff' }
14367
- * })
14368
- * // Returns: { '--atomix-button-bg': '#000', '--atomix-button-color': '#fff' }
14369
- */
14370
- declare function generateComponentCSSVars(config: CSSVariableConfig, options?: CSSVariableNamingOptions): Record<string, string>;
14371
14028
  /**
14372
14029
  * Map SCSS tokens to CSS custom properties
14373
14030
  *
@@ -14604,9 +14261,11 @@ declare function saveTheme(css: string, filePath: string): Promise<void>;
14604
14261
  type themeImport_A11yIssue = A11yIssue;
14605
14262
  type themeImport_CSSVariableConfig = CSSVariableConfig;
14606
14263
  type themeImport_CSSVariableNamingOptions = CSSVariableNamingOptions;
14264
+ type themeImport_ComponentThemeOptions = ComponentThemeOptions;
14607
14265
  type themeImport_ComponentThemeOverride = ComponentThemeOverride;
14608
14266
  type themeImport_DesignTokens = DesignTokens;
14609
14267
  type themeImport_GenerateCSSVariablesOptions = GenerateCSSVariablesOptions;
14268
+ type themeImport_NamingOptions = NamingOptions;
14610
14269
  type themeImport_RTLConfig = RTLConfig;
14611
14270
  type themeImport_RTLManager = RTLManager;
14612
14271
  declare const themeImport_RTLManager: typeof RTLManager;
@@ -14627,13 +14286,10 @@ type themeImport_ThemeInspectorProps = ThemeInspectorProps;
14627
14286
  declare const themeImport_ThemeLiveEditor: typeof ThemeLiveEditor;
14628
14287
  type themeImport_ThemeLiveEditorProps = ThemeLiveEditorProps;
14629
14288
  type themeImport_ThemeLoadOptions = ThemeLoadOptions;
14630
- type themeImport_ThemeMetadata = ThemeMetadata;
14631
14289
  declare const themeImport_ThemePreview: typeof ThemePreview;
14632
14290
  type themeImport_ThemePreviewProps = ThemePreviewProps;
14633
14291
  declare const themeImport_ThemeProvider: typeof ThemeProvider;
14634
14292
  type themeImport_ThemeProviderProps = ThemeProviderProps;
14635
- type themeImport_ThemeRegistry = ThemeRegistry;
14636
- declare const themeImport_ThemeRegistry: typeof ThemeRegistry;
14637
14293
  type themeImport_ThemeValidationResult = ThemeValidationResult;
14638
14294
  type themeImport_ThemeValidator = ThemeValidator;
14639
14295
  declare const themeImport_ThemeValidator: typeof ThemeValidator;
@@ -14642,10 +14298,14 @@ type themeImport_UseHistoryReturn<T> = UseHistoryReturn<T>;
14642
14298
  type themeImport_UseThemeReturn = UseThemeReturn;
14643
14299
  type themeImport_ValidationResult = ValidationResult;
14644
14300
  declare const themeImport_applyCSSVariables: typeof applyCSSVariables;
14301
+ declare const themeImport_applyComponentTheme: typeof applyComponentTheme;
14645
14302
  declare const themeImport_applyTheme: typeof applyTheme;
14303
+ declare const themeImport_camelToKebab: typeof camelToKebab;
14304
+ declare const themeImport_clearThemes: typeof clearThemes;
14646
14305
  declare const themeImport_createDesignTokensFromTheme: typeof createDesignTokensFromTheme;
14647
14306
  declare const themeImport_createTheme: typeof createTheme;
14648
14307
  declare const themeImport_createThemeObject: typeof createThemeObject;
14308
+ declare const themeImport_createThemeRegistry: typeof createThemeRegistry;
14649
14309
  declare const themeImport_createTokens: typeof createTokens;
14650
14310
  declare const themeImport_cssVarsToStyle: typeof cssVarsToStyle;
14651
14311
  declare const themeImport_deepMerge: typeof deepMerge;
@@ -14657,10 +14317,17 @@ declare const themeImport_extractComponentName: typeof extractComponentName;
14657
14317
  declare const themeImport_generateCSSVariableName: typeof generateCSSVariableName;
14658
14318
  declare const themeImport_generateCSSVariables: typeof generateCSSVariables;
14659
14319
  declare const themeImport_generateCSSVariablesForSelector: typeof generateCSSVariablesForSelector;
14320
+ declare const themeImport_generateClassName: typeof generateClassName;
14660
14321
  declare const themeImport_generateComponentCSSVars: typeof generateComponentCSSVars;
14322
+ declare const themeImport_getAllThemes: typeof getAllThemes;
14661
14323
  declare const themeImport_getCSSVariable: typeof getCSSVariable;
14324
+ declare const themeImport_getComponentThemeValue: typeof getComponentThemeValue;
14662
14325
  declare const themeImport_getDesignTokensFromTheme: typeof getDesignTokensFromTheme;
14326
+ declare const themeImport_getTheme: typeof getTheme;
14663
14327
  declare const themeImport_getThemeApplicator: typeof getThemeApplicator;
14328
+ declare const themeImport_getThemeCount: typeof getThemeCount;
14329
+ declare const themeImport_getThemeIds: typeof getThemeIds;
14330
+ declare const themeImport_hasTheme: typeof hasTheme;
14664
14331
  declare const themeImport_injectCSS: typeof injectCSS;
14665
14332
  declare const themeImport_injectTheme: typeof injectTheme;
14666
14333
  declare const themeImport_isCSSInjected: typeof isCSSInjected;
@@ -14672,18 +14339,22 @@ declare const themeImport_loadThemeFromConfigSync: typeof loadThemeFromConfigSyn
14672
14339
  declare const themeImport_mapSCSSTokensToCSSVars: typeof mapSCSSTokensToCSSVars;
14673
14340
  declare const themeImport_mergeCSSVars: typeof mergeCSSVars;
14674
14341
  declare const themeImport_mergeTheme: typeof mergeTheme;
14342
+ declare const themeImport_normalizeThemeTokens: typeof normalizeThemeTokens;
14343
+ declare const themeImport_registerTheme: typeof registerTheme;
14675
14344
  declare const themeImport_removeCSS: typeof removeCSS;
14676
14345
  declare const themeImport_removeCSSVariables: typeof removeCSSVariables;
14677
14346
  declare const themeImport_removeTheme: typeof removeTheme;
14678
- declare const themeImport_saveCSSFile: typeof saveCSSFile;
14679
- declare const themeImport_saveCSSFileSync: typeof saveCSSFileSync;
14680
14347
  declare const themeImport_saveTheme: typeof saveTheme;
14348
+ declare const themeImport_themePropertyToCSSVar: typeof themePropertyToCSSVar;
14681
14349
  declare const themeImport_themeToDesignTokens: typeof themeToDesignTokens;
14350
+ declare const themeImport_unregisterTheme: typeof unregisterTheme;
14351
+ declare const themeImport_useComponentTheme: typeof useComponentTheme;
14682
14352
  declare const themeImport_useHistory: typeof useHistory;
14683
14353
  declare const themeImport_useTheme: typeof useTheme;
14354
+ declare const themeImport_useThemeTokens: typeof useThemeTokens;
14684
14355
  declare namespace themeImport {
14685
- export { 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_ThemeRegistry as ThemeRegistry, themeImport_ThemeValidator as ThemeValidator, themeImport_applyCSSVariables as applyCSSVariables, themeImport_applyTheme as applyTheme, themeImport_createDesignTokensFromTheme as createDesignTokensFromTheme, themeImport_createTheme as createTheme, themeImport_createThemeObject as createThemeObject, themeImport_createTokens as createTokens, themeImport_cssVarsToStyle as cssVarsToStyle, themeImport_deepMerge as deepMerge, themeImport_defaultTokens as defaultTokens, themeImport_designTokensToCSSVars as designTokensToCSSVars, themeImport_designTokensToTheme as designTokensToTheme, themeImport_extendTheme as extendTheme, themeImport_extractComponentName as extractComponentName, themeImport_generateCSSVariableName as generateCSSVariableName, themeImport_generateCSSVariables as generateCSSVariables, themeImport_generateCSSVariablesForSelector as generateCSSVariablesForSelector, themeImport_generateComponentCSSVars as generateComponentCSSVars, themeImport_getCSSVariable as getCSSVariable, themeImport_getDesignTokensFromTheme as getDesignTokensFromTheme, themeImport_getThemeApplicator as getThemeApplicator, themeImport_injectCSS as injectCSS, themeImport_injectTheme as injectTheme, themeImport_isCSSInjected as isCSSInjected, themeImport_isDesignTokens as isDesignTokens, themeImport_isThemeObject as isThemeObject, themeImport_isValidCSSVariableName as isValidCSSVariableName, themeImport_loadThemeFromConfig as loadThemeFromConfig, themeImport_loadThemeFromConfigSync as loadThemeFromConfigSync, themeImport_mapSCSSTokensToCSSVars as mapSCSSTokensToCSSVars, themeImport_mergeCSSVars as mergeCSSVars, themeImport_mergeTheme as mergeTheme, themeImport_removeCSS as removeCSS, themeImport_removeCSSVariables as removeCSSVariables, themeImport_removeTheme as removeTheme, themeImport_saveCSSFile as saveCSSFile, themeImport_saveCSSFileSync as saveCSSFileSync, themeImport_saveTheme as saveTheme, themeImport_themeToDesignTokens as themeToDesignTokens, themeImport_useHistory as useHistory, themeImport_useTheme as useTheme };
14686
- export type { themeImport_A11yIssue as A11yIssue, themeImport_CSSVariableConfig as CSSVariableConfig, themeImport_CSSVariableNamingOptions as CSSVariableNamingOptions, themeImport_ComponentThemeOverride as ComponentThemeOverride, themeImport_DesignTokens as DesignTokens, themeImport_GenerateCSSVariablesOptions as GenerateCSSVariablesOptions, 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_ThemeMetadata as ThemeMetadata, 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 };
14356
+ export { 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_createDesignTokensFromTheme as createDesignTokensFromTheme, themeImport_createTheme as createTheme, themeImport_createThemeObject as createThemeObject, 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_designTokensToTheme as designTokensToTheme, 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_getDesignTokensFromTheme as getDesignTokensFromTheme, 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_isThemeObject as isThemeObject, themeImport_isValidCSSVariableName as isValidCSSVariableName, themeImport_loadThemeFromConfig as loadThemeFromConfig, themeImport_loadThemeFromConfigSync as loadThemeFromConfigSync, 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_saveTheme as saveTheme, themeImport_themePropertyToCSSVar as themePropertyToCSSVar, themeImport_themeToDesignTokens as themeToDesignTokens, themeImport_unregisterTheme as unregisterTheme, themeImport_useComponentTheme as useComponentTheme, themeImport_useHistory as useHistory, themeImport_useTheme as useTheme, themeImport_useThemeTokens as useThemeTokens };
14357
+ 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_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 };
14687
14358
  }
14688
14359
 
14689
14360
  /**
@@ -14756,6 +14427,301 @@ declare function useMergedProps<T extends Record<string, any>>(defaultProps: T,
14756
14427
  */
14757
14428
  declare function applyCSSVarsToStyle(cssVars: Record<string, string | number>, baseStyle?: React.CSSProperties): React.CSSProperties;
14758
14429
 
14430
+ /**
14431
+ * Atomix Config Loader
14432
+ *
14433
+ * Helper functions to load atomix.config.ts from external projects.
14434
+ * Similar to how Tailwind loads tailwind.config.js
14435
+ */
14436
+
14437
+ /**
14438
+ * Load Atomix configuration from project root
14439
+ *
14440
+ * Attempts to load atomix.config.ts from the current working directory.
14441
+ * Falls back to default config if file doesn't exist.
14442
+ *
14443
+ * @param options - Loader options
14444
+ * @returns Loaded configuration or default
14445
+ *
14446
+ * @example
14447
+ * ```typescript
14448
+ * import { loadAtomixConfig } from '@shohojdhara/atomix/config';
14449
+ * import { createTheme } from '@shohojdhara/atomix/theme';
14450
+ *
14451
+ * const config = loadAtomixConfig();
14452
+ * const theme = createTheme(config.theme?.tokens || {});
14453
+ * ```
14454
+ */
14455
+ declare function loadAtomixConfig(options?: {
14456
+ /** Custom config path (default: 'atomix.config.ts') */
14457
+ configPath?: string;
14458
+ /** Whether to throw error if config not found (default: false) */
14459
+ required?: boolean;
14460
+ }): AtomixConfig;
14461
+ /**
14462
+ * Resolve config path
14463
+ *
14464
+ * Finds atomix.config.ts in the project, checking common locations.
14465
+ * Returns null in browser environments where file system access is not available.
14466
+ *
14467
+ * This function is designed to work in Node.js environments only.
14468
+ * In browser builds, it will always return null without attempting to access Node.js modules.
14469
+ *
14470
+ * @internal This function uses Node.js modules and should not be called in browser environments.
14471
+ */
14472
+ declare function resolveConfigPath(): string | null;
14473
+
14474
+ /**
14475
+ * Atomix Configuration System
14476
+ *
14477
+ * Tailwind-like configuration for customizing the Atomix Design System.
14478
+ *
14479
+ * External developers can create `atomix.config.ts` in their project root
14480
+ * to customize design tokens, similar to Tailwind's tailwind.config.js
14481
+ *
14482
+ * @example
14483
+ * ```typescript
14484
+ * // atomix.config.ts (in your project)
14485
+ * import { defineConfig } from '@shohojdhara/atomix/config';
14486
+ *
14487
+ * export default defineConfig({
14488
+ * theme: {
14489
+ * extend: {
14490
+ * colors: {
14491
+ * primary: { main: '#7AFFD7' },
14492
+ * },
14493
+ * },
14494
+ * },
14495
+ * });
14496
+ * ```
14497
+ */
14498
+
14499
+ /**
14500
+ * Color Scale (1-10)
14501
+ */
14502
+ interface ColorScale {
14503
+ 1?: string;
14504
+ 2?: string;
14505
+ 3?: string;
14506
+ 4?: string;
14507
+ 5?: string;
14508
+ 6?: string;
14509
+ 7?: string;
14510
+ 8?: string;
14511
+ 9?: string;
14512
+ 10?: string;
14513
+ [key: string]: string | undefined;
14514
+ }
14515
+ /**
14516
+ * Palette Color Options
14517
+ */
14518
+ interface PaletteColorOptions {
14519
+ main: string;
14520
+ light?: string;
14521
+ dark?: string;
14522
+ contrastText?: string;
14523
+ }
14524
+ /**
14525
+ * Design Tokens Schema (Tailwind-like)
14526
+ */
14527
+ interface ThemeTokens {
14528
+ /** Color palette */
14529
+ colors?: Record<string, string | PaletteColorOptions | ColorScale | Record<string, string>>;
14530
+ /** Spacing scale */
14531
+ spacing?: Record<string, string>;
14532
+ /** Border radius scale */
14533
+ borderRadius?: Record<string, string>;
14534
+ /** Typography scale and settings */
14535
+ typography?: {
14536
+ fontFamilies?: Record<string, string>;
14537
+ fontSizes?: Record<string, string>;
14538
+ fontWeights?: Record<string, string | number>;
14539
+ lineHeights?: Record<string, string | number>;
14540
+ letterSpacings?: Record<string, string>;
14541
+ };
14542
+ /** Shadow scale */
14543
+ shadows?: Record<string, string>;
14544
+ /** Z-index scale */
14545
+ zIndex?: Record<string, string | number>;
14546
+ /** Breakpoints scale */
14547
+ breakpoints?: Record<string, string | number>;
14548
+ /** Transitions settings */
14549
+ transitions?: {
14550
+ durations?: Record<string, string>;
14551
+ easings?: Record<string, string>;
14552
+ };
14553
+ }
14554
+ /**
14555
+ * CSS Theme Definition
14556
+ */
14557
+ interface CSSThemeDefinition {
14558
+ type: 'css';
14559
+ name: string;
14560
+ class?: string;
14561
+ description?: string;
14562
+ author?: string;
14563
+ version?: string;
14564
+ tags?: string[];
14565
+ supportsDarkMode?: boolean;
14566
+ status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
14567
+ a11y?: {
14568
+ contrastTarget?: number;
14569
+ modes?: string[];
14570
+ };
14571
+ color?: string;
14572
+ features?: string[];
14573
+ dependencies?: string[];
14574
+ cssPath?: string;
14575
+ }
14576
+ /**
14577
+ * JavaScript Theme Definition
14578
+ */
14579
+ interface JSThemeDefinition {
14580
+ type: 'js';
14581
+ name: string;
14582
+ class?: string;
14583
+ description?: string;
14584
+ author?: string;
14585
+ version?: string;
14586
+ tags?: string[];
14587
+ supportsDarkMode?: boolean;
14588
+ status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
14589
+ a11y?: {
14590
+ contrastTarget?: number;
14591
+ modes?: string[];
14592
+ };
14593
+ color?: string;
14594
+ features?: string[];
14595
+ dependencies?: string[];
14596
+ createTheme: () => Theme;
14597
+ }
14598
+ /**
14599
+ * Theme Definition (CSS or JS)
14600
+ */
14601
+ type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
14602
+ /**
14603
+ * Build configuration (migrated from theme.config.ts)
14604
+ */
14605
+ interface BuildConfig {
14606
+ output?: {
14607
+ directory?: string;
14608
+ formats?: {
14609
+ expanded?: string;
14610
+ compressed?: string;
14611
+ };
14612
+ };
14613
+ sass?: {
14614
+ style?: 'expanded' | 'compressed';
14615
+ sourceMap?: boolean;
14616
+ loadPaths?: string[];
14617
+ };
14618
+ }
14619
+ /**
14620
+ * Runtime configuration (migrated from theme.config.ts)
14621
+ */
14622
+ interface RuntimeConfig {
14623
+ basePath?: string;
14624
+ cdnPath?: string | null;
14625
+ preload?: string[];
14626
+ lazy?: boolean;
14627
+ defaultTheme?: string;
14628
+ storageKey?: string;
14629
+ dataAttribute?: string;
14630
+ enablePersistence?: boolean;
14631
+ useMinified?: boolean;
14632
+ }
14633
+ /**
14634
+ * Integration settings (migrated from theme.config.ts)
14635
+ */
14636
+ interface IntegrationConfig {
14637
+ cssVariables?: Record<string, string>;
14638
+ classNames?: {
14639
+ theme?: string;
14640
+ colorMode?: string;
14641
+ };
14642
+ }
14643
+ /**
14644
+ * Atomix Configuration Interface
14645
+ *
14646
+ * Tailwind-like configuration for external developers.
14647
+ * Focus on theme customization - build/runtime configs are internal only.
14648
+ */
14649
+ interface AtomixConfig {
14650
+ /**
14651
+ * CSS variable prefix (default: 'atomix')
14652
+ *
14653
+ * Change this to customize all CSS variable names.
14654
+ * Example: prefix: 'myapp' → --myapp-primary instead of --atomix-primary
14655
+ */
14656
+ prefix?: string;
14657
+ /**
14658
+ * Theme customization (Tailwind-like)
14659
+ *
14660
+ * Use `extend` to add or override design tokens.
14661
+ * Use `tokens` to completely replace the default token system (advanced).
14662
+ */
14663
+ theme?: {
14664
+ /**
14665
+ * Extend the default design tokens
14666
+ *
14667
+ * This is the recommended way to customize Atomix.
14668
+ * Your values will override or extend the base tokens.
14669
+ */
14670
+ extend?: ThemeTokens;
14671
+ /**
14672
+ * Override the default tokens entirely (advanced)
14673
+ *
14674
+ * Use with caution - this replaces the entire token system.
14675
+ * Most users should use `extend` instead.
14676
+ */
14677
+ tokens?: ThemeTokens;
14678
+ /**
14679
+ * Register custom themes (optional)
14680
+ *
14681
+ * Define CSS or JavaScript themes that can be loaded dynamically.
14682
+ */
14683
+ themes?: Record<string, ThemeDefinition>;
14684
+ };
14685
+ /** @internal Build configuration (internal use only) */
14686
+ build?: BuildConfig;
14687
+ /** @internal Runtime configuration (internal use only) */
14688
+ runtime?: RuntimeConfig;
14689
+ /** @internal Integration settings (internal use only) */
14690
+ integration?: IntegrationConfig;
14691
+ /** @internal Theme dependencies mapping (internal use only) */
14692
+ dependencies?: Record<string, string[]>;
14693
+ }
14694
+ /**
14695
+ * Helper function to define Atomix configuration with type safety
14696
+ *
14697
+ * @param config - Atomix configuration object
14698
+ * @returns The configuration object
14699
+ */
14700
+ /**
14701
+ * Helper function to define Atomix configuration with type safety
14702
+ *
14703
+ * Similar to Tailwind's defineConfig, provides autocomplete and type checking.
14704
+ *
14705
+ * @param config - Atomix configuration object
14706
+ * @returns The configuration object
14707
+ *
14708
+ * @example
14709
+ * ```typescript
14710
+ * import { defineConfig } from '@shohojdhara/atomix/config';
14711
+ *
14712
+ * export default defineConfig({
14713
+ * theme: {
14714
+ * extend: {
14715
+ * colors: {
14716
+ * primary: { main: '#7AFFD7' },
14717
+ * },
14718
+ * },
14719
+ * },
14720
+ * });
14721
+ * ```
14722
+ */
14723
+ declare function defineConfig(config: AtomixConfig): AtomixConfig;
14724
+
14759
14725
  declare const composables: typeof __lib_composables;
14760
14726
  declare const utils: typeof __lib_utils;
14761
14727
  declare const types: typeof __lib_types;
@@ -15143,5 +15109,5 @@ declare const atomix: {
15143
15109
  VideoPlayer: React$1.ForwardRefExoticComponent<VideoPlayerProps & React$1.RefAttributes<HTMLVideoElement>>;
15144
15110
  };
15145
15111
 
15146
- export { ACCORDION, ATOMIX_GLASS, AVATAR, AVATAR_GROUP, Accordion, AnimatedChart, AreaChart, AtomixGlass, AtomixLogo, Avatar, AvatarGroup, BADGE, BADGE_CSS_VARS, 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, DOTS, DROPDOWN, DROPDOWN_CSS_VARS, DataTable, DatePicker, DonutChart, Dropdown, EDGE_PANEL, EdgePanel, ElevationCard, FOOTER, FORM, FORM_GROUP, Footer, FooterLink, FooterSection, FooterSocialLink, Form, FormGroup, FunnelChart, GLASS_CONTAINER, GaugeChart, Grid, GridCol, HERO, HeatmapChart, Hero, INPUT, INPUT_CSS_VARS, Icon, Input, LIST, LIST_GROUP, LineChart, List, ListGroup, MESSAGES, MODAL, MODAL_CSS_VARS, MasonryGrid, MasonryGridItem, MegaMenu, MegaMenuColumn, MegaMenuLink, Menu, MenuDivider, MenuItem, Messages, Modal, MultiAxisChart, NAV, NAVBAR, Nav, NavDropdown, NavItem, Navbar, PAGINATION_DEFAULTS, PHOTOVIEWER, POPOVER, PROGRESS, PROGRESS_CSS_VARS, Pagination, PhotoViewer, PieChart, Popover, ProductReview, Progress, 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, TODO, TOGGLE, TOOLTIP, TOOLTIP_CSS_VARS, Tabs, Testimonial, Textarea, ThemeApplicator, ThemeComparator, ThemeContext, ThemeErrorBoundary, ThemeInspector, ThemeLiveEditor, ThemePreview, ThemeProvider, ThemeRegistry, ThemeValidator, Todo, Toggle, Tooltip, TreemapChart, UPLOAD, Upload, VIDEO_PLAYER, VideoPlayer, WaterfallChart, applyCSSVariables, applyCSSVarsToStyle, applyPartStyles, applyTheme, composables, constants, createCSSVarStyle, createDebugAttrs, createDesignTokensFromTheme, createFontPreloadLink, createPartProps, createSlotComponent, createSlotProps, createTheme, createThemeObject, createTokens, cssVarsToStyle, deepMerge, atomix as default, defaultTokens, defineConfig, designTokensToCSSVars, designTokensToTheme, extendTheme, extractComponentName, extractYouTubeId, generateCSSVariableName, generateCSSVariables, generateCSSVariablesForSelector, generateComponentCSSVars, generateFontPreloadTags, generateUUID, getCSSVariable, getComponentCSSVars, getDesignTokensFromTheme, getPartStyles, getThemeApplicator, hasCustomization, injectCSS, injectTheme, isCSSInjected, isDesignTokens, isSlot, isThemeObject, isValidCSSVariableName, isYouTubeUrl, loadAtomixConfig, loadThemeFromConfig, loadThemeFromConfigSync, mapSCSSTokensToCSSVars, mergeCSSVars, mergeClassNames, mergeComponentProps, mergePartStyles, mergeSlots, mergeTheme, preloadFonts, removeCSS, removeCSSVariables, removeTheme, renderSlot, resolveConfigPath, saveCSSFile, saveCSSFileSync, saveTheme, sliderConstants, theme, themeToDesignTokens, types, useAccordion, useAtomixGlass, useBadge, useBarChart, useBlock, useBreadcrumb, useButton, useCard, useChartData, useChartInteraction, useChartScale, useCheckbox, useComponentCustomization, useComponentDefaultProps, useDataTable, useEdgePanel, useForm, useFormGroup, useGlassContainer, useHero, useHistory, useInput, useLineChart, useMergedProps, useModal, useNav, useNavDropdown, useNavItem, useNavbar, usePagination, usePieChart, useRadio, useRiver, useSelect, useSideMenu, useSideMenuItem, useSlider, useSlot, useSpinner, useTextarea, useTheme, useTodo, utils };
15147
- export type { A11yIssue, AccordionParts, AccordionProps$1 as AccordionProps, AccordionState, AnimatedChartProps, AreaChartProps, AtomixConfig, AtomixGlassProps, AtomixLogoProps, AvatarGroupProps, AvatarParts, AvatarProps, AvatarSize, BadgeCSSVariable, BadgeParts, BadgeProps, BarChartOptions, BarChartProps, BarDimensions, BaseComponentProps, BlockProps, BreadcrumbInstance, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbOptions$1 as 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, ComponentThemeOverride, ContainerProps, CountdownProps, CustomizableComponentProps, DataTableColumn, DataTableParts, DataTableProps, DatePickerProps, DesignTokens, DisplacementMode, DonutChartProps, DropdownCSSVariable, DropdownDividerProps, DropdownHeaderProps, DropdownItemProps, DropdownMenuSlotProps, DropdownParts, DropdownPlacement, DropdownProps, DropdownRootSlotProps, DropdownToggleSlotProps, DropdownTrigger, EdgePanelMode, EdgePanelPosition, EdgePanelProps, ElementRefs, ElevationCardProps, FontPreloadConfig, FooterLayout, FooterLinkProps, FooterProps, FooterSectionProps, FooterSocialLinkProps, FormGroupParts, FormGroupProps, FormProps, FunnelChartProps, FunnelDataPoint, GaugeChartProps, GenerateCSSVariablesOptions, GlassContainerProps, GlassMode, GlassSize, GridColProps, GridProps, HeatmapChartProps, HeatmapDataPoint, HeroAlignment, HeroBackgroundSlide, HeroBackgroundSliderConfig, 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, NavAlignment, NavDropdownProps, NavItemProps, NavProps, NavVariant, NavbarParts, NavbarPosition, NavbarProps, OverLightConfig, OverLightObjectConfig, PaginationProps, PaletteColorOptions, PartStyleProps, PhosphorIconsType$1 as PhosphorIconsType, PhotoViewerProps, PieChartOptions, PieChartProps, PieSlice, PopoverProps, PopoverTriggerProps, ProductReviewProps, ProgressCSSVariable, ProgressParts, ProgressProps, RTLConfig, RadarChartProps, RadioCSSVariable, RadioParts, RadioProps, RatingProps, RiverContentColumn, RiverProps, RowProps, RuntimeConfig, ScatterChartProps, ScatterDataPoint, SectionIntroProps, SelectOption, SelectParts, SelectProps, 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, ThemeMetadata, ThemeName, ThemePreviewProps, ThemeProviderProps, ThemeTokens, ThemeValidationResult, TodoItem, TodoProps, ToggleProps, TooltipCSSVariable, TooltipParts, TooltipProps, TreemapChartProps, TreemapDataPoint, TreemapNode, UploadProps, UseBlockOptions, UseBlockReturn, UseCardOptions, UseCardReturn, UseDataTableProps, UseDataTableReturn, UseHistoryOptions, UseHistoryReturn, UseModalProps, UseModalReturn, UseSliderOptions, UseSliderReturn, UseThemeReturn, ValidationResult, Variant, VideoChapter, VideoPlayerProps, VideoQuality, VideoSubtitle, WaterfallChartProps, WaterfallDataPoint, listvariant };
15112
+ export { ACCORDION, ATOMIX_GLASS, AVATAR, AVATAR_GROUP, Accordion, AnimatedChart, AreaChart, AtomixGlass, AtomixLogo, Avatar, AvatarGroup, BADGE, BADGE_CSS_VARS, 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, DOTS, DROPDOWN, DROPDOWN_CSS_VARS, DataTable, DatePicker, DonutChart, Dropdown, EDGE_PANEL, EdgePanel, ElevationCard, FOOTER, FORM, FORM_GROUP, Footer, FooterLink, FooterSection, FooterSocialLink, Form, FormGroup, FunnelChart, GLASS_CONTAINER, GaugeChart, Grid, GridCol, HERO, HeatmapChart, Hero, INPUT, INPUT_CSS_VARS, Icon, Input, LIST, LIST_GROUP, LineChart, List, ListGroup, MESSAGES, MODAL, MODAL_CSS_VARS, MasonryGrid, MasonryGridItem, MegaMenu, MegaMenuColumn, MegaMenuLink, Menu, MenuDivider, MenuItem, Messages, Modal, MultiAxisChart, NAV, NAVBAR, Nav, NavDropdown, NavItem, Navbar, PAGINATION_DEFAULTS, PHOTOVIEWER, POPOVER, PROGRESS, PROGRESS_CSS_VARS, Pagination, PhotoViewer, PieChart, Popover, ProductReview, Progress, 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, 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, createCSSVarStyle, createDebugAttrs, createDesignTokensFromTheme, createFontPreloadLink, createPartProps, createSlotComponent, createSlotProps, createTheme, createThemeObject, createThemeRegistry, createTokens, cssVarsToStyle, deepMerge, atomix as default, defaultTokens, defineConfig, designTokensToCSSVars, designTokensToTheme, extendTheme, extractComponentName, extractYouTubeId, generateCSSVariableName, generateCSSVariables, generateCSSVariablesForSelector, generateClassName, generateComponentCSSVars, generateFontPreloadTags, generateUUID, getAllThemes, getCSSVariable, getComponentCSSVars, getComponentThemeValue, getDesignTokensFromTheme, getPartStyles, getTheme, getThemeApplicator, getThemeCount, getThemeIds, hasCustomization, hasTheme, injectCSS, injectTheme, isCSSInjected, isDesignTokens, isSlot, isThemeObject, isValidCSSVariableName, isYouTubeUrl, loadAtomixConfig, loadThemeFromConfig, loadThemeFromConfigSync, mapSCSSTokensToCSSVars, mergeCSSVars, mergeClassNames, mergeComponentProps, mergePartStyles, mergeSlots, mergeTheme, normalizeThemeTokens, preloadFonts, registerTheme, removeCSS, removeCSSVariables, removeTheme, renderSlot, resolveConfigPath, saveTheme, sliderConstants, theme, themePropertyToCSSVar, themeToDesignTokens, types, unregisterTheme, useAccordion, useAtomixGlass, useBadge, useBarChart, useBlock, useBreadcrumb, useButton, useCard, useChartData, useChartInteraction, useChartScale, useCheckbox, useComponentCustomization, useComponentDefaultProps, useComponentTheme, useDataTable, useEdgePanel, useForm, useFormGroup, useGlassContainer, useHero, useHistory, useInput, useLineChart, useMergedProps, useModal, useNav, useNavDropdown, useNavItem, useNavbar, usePagination, usePieChart, useRadio, useRiver, useSelect, useSideMenu, useSideMenuItem, useSlider, useSlot, useSpinner, useTextarea, useTheme, useThemeTokens, useTodo, utils };
15113
+ export type { A11yIssue, AccordionParts, AccordionProps$1 as AccordionProps, AccordionState, AnimatedChartProps, AreaChartProps, AtomixConfig, AtomixGlassProps, AtomixLogoProps, AvatarGroupProps, AvatarParts, AvatarProps, AvatarSize, BadgeCSSVariable, BadgeParts, BadgeProps, BarChartOptions, BarChartProps, BarDimensions, BaseComponentProps, BlockProps, BreadcrumbInstance, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbOptions$1 as 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, DisplacementMode, DonutChartProps, DropdownCSSVariable, DropdownDividerProps, DropdownHeaderProps, DropdownItemProps, DropdownMenuSlotProps, DropdownParts, DropdownPlacement, DropdownProps, DropdownRootSlotProps, DropdownToggleSlotProps, DropdownTrigger, EdgePanelMode, EdgePanelPosition, EdgePanelProps, ElementRefs, ElevationCardProps, FontPreloadConfig, FooterLayout, FooterLinkProps, FooterProps, FooterSectionProps, FooterSocialLinkProps, FormGroupParts, FormGroupProps, FormProps, FunnelChartProps, FunnelDataPoint, GaugeChartProps, GenerateCSSVariablesOptions, GlassContainerProps, GlassMode, GlassSize, GridColProps, GridProps, HeatmapChartProps, HeatmapDataPoint, HeroAlignment, HeroBackgroundSlide, HeroBackgroundSliderConfig, 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, PhosphorIconsType$1 as PhosphorIconsType, PhotoViewerProps, PieChartOptions, PieChartProps, PieSlice, PopoverProps, PopoverTriggerProps, ProductReviewProps, ProgressCSSVariable, ProgressParts, ProgressProps, RTLConfig, RadarChartProps, RadioCSSVariable, RadioParts, RadioProps, RatingProps, RiverContentColumn, RiverProps, RowProps, RuntimeConfig, ScatterChartProps, ScatterDataPoint, SectionIntroProps, SelectOption, SelectParts, SelectProps, 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, TooltipCSSVariable, TooltipParts, TooltipProps, TreemapChartProps, TreemapDataPoint, TreemapNode, UploadProps, UseBlockOptions, UseBlockReturn, UseCardOptions, UseCardReturn, UseDataTableProps, UseDataTableReturn, UseHistoryOptions, UseHistoryReturn, UseModalProps, UseModalReturn, UseSliderOptions, UseSliderReturn, UseThemeReturn, ValidationResult, Variant, VideoChapter, VideoPlayerProps, VideoQuality, VideoSubtitle, WaterfallChartProps, WaterfallDataPoint, listvariant };