@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.
- package/atomix.config.ts +33 -33
- package/dist/atomix.css +3213 -159
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +5 -5
- package/dist/atomix.min.css.map +1 -1
- package/dist/config.d.ts +187 -112
- package/dist/config.js +2 -47
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1958 -900
- package/dist/index.esm.js +2279 -382
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2332 -413
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/theme.d.ts +1390 -276
- package/dist/theme.js +2125 -621
- package/dist/theme.js.map +1 -1
- package/package.json +1 -1
- package/scripts/cli/internal/config-loader.js +30 -20
- package/src/lib/config/index.ts +38 -362
- package/src/lib/config/loader.ts +422 -0
- package/src/lib/config/public-api.ts +43 -0
- package/src/lib/config/types.ts +389 -0
- package/src/lib/config/validator.ts +305 -0
- package/src/lib/theme/adapters/index.ts +1 -1
- package/src/lib/theme/adapters/themeAdapter.ts +358 -229
- package/src/lib/theme/components/ThemeToggle.tsx +276 -0
- package/src/lib/theme/config/configLoader.ts +351 -0
- package/src/lib/theme/config/loader.ts +221 -0
- package/src/lib/theme/core/createTheme.ts +126 -50
- package/src/lib/theme/core/createThemeObject.ts +7 -4
- package/src/lib/theme/hooks/useThemeSwitcher.ts +164 -0
- package/src/lib/theme/index.ts +322 -38
- package/src/lib/theme/runtime/ThemeProvider.tsx +44 -10
- package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +44 -393
- package/src/lib/theme/runtime/useTheme.ts +1 -0
- package/src/lib/theme/tokens/tokens.ts +101 -1
- package/src/lib/theme/types.ts +91 -0
- package/src/lib/theme/utils/performanceMonitor.ts +315 -0
- package/src/lib/theme/utils/responsive.ts +280 -0
- package/src/lib/theme/utils/themeUtils.ts +531 -117
- package/src/styles/01-settings/_settings.background.scss +34 -5
- package/src/styles/02-tools/_tools.background.scss +330 -52
- package/src/styles/05-objects/_objects.masonry-grid.scss +3 -3
- package/src/styles/06-components/_components.accordion.scss +2 -2
- package/src/styles/06-components/_components.badge.scss +1 -1
- package/src/styles/06-components/_components.button.scss +2 -2
- package/src/styles/06-components/_components.callout.scss +2 -2
- package/src/styles/06-components/_components.card.scss +1 -1
- package/src/styles/06-components/_components.dropdown.scss +1 -1
- package/src/styles/06-components/_components.dynamic-background.scss +69 -0
- package/src/styles/06-components/_components.edge-panel.scss +2 -2
- package/src/styles/06-components/_components.input.scss +3 -3
- package/src/styles/06-components/_components.messages.scss +6 -6
- package/src/styles/06-components/_components.modal.scss +1 -1
- package/src/styles/06-components/_components.navbar.scss +1 -1
- package/src/styles/06-components/_components.popover.scss +1 -1
- package/src/styles/06-components/_components.toggle.scss +1 -1
- package/src/styles/06-components/_components.tooltip.scss +3 -3
- 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,
|
|
11959
|
-
export type { __lib_composables_BarChartOptions as BarChartOptions, __lib_composables_BarDimensions as BarDimensions, __lib_composables_LineChartOptions as LineChartOptions,
|
|
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
|
-
*
|
|
13790
|
+
* CSS Variable Generator
|
|
13864
13791
|
*
|
|
13865
|
-
*
|
|
13792
|
+
* Generates CSS custom properties from design tokens.
|
|
13866
13793
|
*/
|
|
13867
|
-
|
|
13868
|
-
prefix?: string;
|
|
13869
|
-
component?: string;
|
|
13870
|
-
variant?: string;
|
|
13871
|
-
state?: string;
|
|
13872
|
-
}
|
|
13794
|
+
|
|
13873
13795
|
/**
|
|
13874
|
-
*
|
|
13796
|
+
* Options for CSS variable generation
|
|
13875
13797
|
*/
|
|
13876
|
-
|
|
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
|
|
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
|
|
13824
|
+
declare function generateCSSVariables(tokens: DesignTokens, options?: GenerateCSSVariablesOptions): string;
|
|
13881
13825
|
/**
|
|
13882
|
-
*
|
|
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
|
|
13844
|
+
declare function generateCSSVariablesForSelector(tokens: DesignTokens, selector: string, prefix?: string): string;
|
|
13845
|
+
|
|
13885
13846
|
/**
|
|
13886
|
-
*
|
|
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
|
-
|
|
13853
|
+
|
|
13889
13854
|
/**
|
|
13890
|
-
*
|
|
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
|
|
13884
|
+
declare function createTheme(input?: Partial<DesignTokens> | Theme, options?: GenerateCSSVariablesOptions): string;
|
|
13893
13885
|
|
|
13894
13886
|
/**
|
|
13895
|
-
*
|
|
13887
|
+
* Theme Composition Utilities
|
|
13896
13888
|
*
|
|
13897
|
-
*
|
|
13898
|
-
|
|
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
|
-
|
|
13902
|
-
|
|
13903
|
-
|
|
13904
|
-
|
|
13905
|
-
|
|
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
|
-
*
|
|
13909
|
-
* This ensures all components access theme values consistently
|
|
13939
|
+
* Theme Registry type - a record of theme IDs to metadata
|
|
13910
13940
|
*/
|
|
13911
|
-
|
|
13941
|
+
type ThemeRegistry = Record<string, ThemeMetadata>;
|
|
13912
13942
|
/**
|
|
13913
|
-
*
|
|
13943
|
+
* Create a new theme registry
|
|
13914
13944
|
*/
|
|
13915
|
-
declare function
|
|
13945
|
+
declare function createThemeRegistry(): ThemeRegistry;
|
|
13916
13946
|
/**
|
|
13917
|
-
*
|
|
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
|
|
13952
|
+
declare function registerTheme(registry: ThemeRegistry, id: string, metadata: ThemeMetadata): void;
|
|
13920
13953
|
/**
|
|
13921
|
-
*
|
|
13954
|
+
* Unregister a theme
|
|
13955
|
+
* @param registry - Theme registry object
|
|
13956
|
+
* @param id - Theme identifier
|
|
13922
13957
|
*/
|
|
13923
|
-
declare function
|
|
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
|
-
*
|
|
14039
|
+
* Naming Utilities
|
|
13973
14040
|
*
|
|
13974
|
-
*
|
|
13975
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
14130
|
+
* Switch between light and dark themes
|
|
13999
14131
|
*
|
|
14000
|
-
*
|
|
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
|
-
* ```
|
|
14004
|
-
*
|
|
14005
|
-
* const { theme, setTheme, availableThemes } = useTheme();
|
|
14138
|
+
* ```typescript
|
|
14139
|
+
* import { switchTheme } from '@shohojdhara/atomix/theme/utils';
|
|
14006
14140
|
*
|
|
14007
|
-
*
|
|
14008
|
-
*
|
|
14009
|
-
*
|
|
14010
|
-
*
|
|
14011
|
-
*
|
|
14012
|
-
*
|
|
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
|
|
14019
|
-
|
|
14149
|
+
declare function switchTheme(mode: ThemeMode, options?: ThemeSwitcherOptions): void;
|
|
14020
14150
|
/**
|
|
14021
|
-
*
|
|
14151
|
+
* Toggle between light and dark themes
|
|
14022
14152
|
*
|
|
14023
|
-
*
|
|
14024
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
14932
|
+
* Configuration Types
|
|
14440
14933
|
*
|
|
14441
|
-
*
|
|
14934
|
+
* Type definitions for the Atomix configuration system.
|
|
14442
14935
|
*/
|
|
14443
14936
|
|
|
14444
14937
|
/**
|
|
14445
|
-
*
|
|
14446
|
-
*
|
|
14447
|
-
* @param tokens - DesignTokens object
|
|
14448
|
-
* @returns CSS variables object compatible with Theme.cssVars
|
|
14938
|
+
* Design token categories
|
|
14449
14939
|
*/
|
|
14450
|
-
|
|
14451
|
-
|
|
14940
|
+
type DesignTokenCategory = 'colors' | 'spacing' | 'typography' | 'borderRadius' | 'shadows' | 'zIndex' | 'transitions' | 'breakpoints';
|
|
14452
14941
|
/**
|
|
14453
|
-
*
|
|
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
|
-
*
|
|
14946
|
+
* Color Scale (1-10)
|
|
14460
14947
|
*/
|
|
14461
|
-
interface
|
|
14462
|
-
|
|
14463
|
-
|
|
14464
|
-
|
|
14465
|
-
|
|
14466
|
-
|
|
14467
|
-
|
|
14468
|
-
|
|
14469
|
-
|
|
14470
|
-
|
|
14471
|
-
|
|
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
|
-
*
|
|
14962
|
+
* Palette Color Options
|
|
14475
14963
|
*/
|
|
14476
|
-
interface
|
|
14477
|
-
|
|
14478
|
-
|
|
14479
|
-
|
|
14480
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
14495
|
-
*
|
|
14496
|
-
* @param vars - CSS variables to apply
|
|
14497
|
-
* @param element - Target element (defaults to document.documentElement)
|
|
15006
|
+
* Optimization Configuration
|
|
14498
15007
|
*/
|
|
14499
|
-
|
|
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
|
-
*
|
|
14502
|
-
*
|
|
14503
|
-
* @param varNames - Variable names to remove
|
|
14504
|
-
* @param element - Target element (defaults to document.documentElement)
|
|
15042
|
+
* Visual Polish Configuration
|
|
14505
15043
|
*/
|
|
14506
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
14526
|
-
* Later objects override earlier ones
|
|
15122
|
+
* JavaScript Theme Definition
|
|
14527
15123
|
*/
|
|
14528
|
-
|
|
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
|
-
*
|
|
15144
|
+
* Theme Definition (CSS or JS)
|
|
14531
15145
|
*/
|
|
14532
|
-
|
|
15146
|
+
type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
|
|
14533
15147
|
/**
|
|
14534
|
-
*
|
|
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
|
-
*
|
|
14537
|
-
* extractComponentName('--atomix-button-bg')
|
|
14538
|
-
* // Returns: 'button'
|
|
15238
|
+
* Tailwind-like configuration for external developers.
|
|
14539
15239
|
*/
|
|
14540
|
-
|
|
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
|
-
*
|
|
15284
|
+
* Atomix Config Loader
|
|
14544
15285
|
*
|
|
14545
|
-
*
|
|
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
|
-
*
|
|
15291
|
+
* Load Atomix configuration from project root
|
|
14550
15292
|
*
|
|
14551
|
-
*
|
|
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
|
|
14554
|
-
* @returns
|
|
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
|
|
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
|
-
*
|
|
15328
|
+
* Configuration Validator
|
|
14560
15329
|
*
|
|
14561
|
-
* Provides
|
|
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
|
-
*
|
|
15335
|
+
* Validation result with detailed information
|
|
14565
15336
|
*/
|
|
14566
|
-
interface
|
|
14567
|
-
/**
|
|
14568
|
-
|
|
14569
|
-
/**
|
|
14570
|
-
|
|
14571
|
-
/**
|
|
14572
|
-
|
|
14573
|
-
/**
|
|
14574
|
-
|
|
14575
|
-
/**
|
|
14576
|
-
|
|
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
|
-
*
|
|
15357
|
+
* Validate an Atomix configuration with detailed feedback
|
|
14580
15358
|
*
|
|
14581
|
-
*
|
|
14582
|
-
|
|
14583
|
-
|
|
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 {
|
|
15365
|
+
* import { validateConfiguration } from '@shohojdhara/atomix/config';
|
|
14665
15366
|
*
|
|
14666
|
-
*
|
|
14667
|
-
* const
|
|
14668
|
-
* injectTheme(css);
|
|
15367
|
+
* const config = { /* your config *\/ };
|
|
15368
|
+
* const result = validateConfiguration(config);
|
|
14669
15369
|
*
|
|
14670
|
-
*
|
|
14671
|
-
*
|
|
14672
|
-
*
|
|
14673
|
-
*
|
|
15370
|
+
* if (!result.isValid) {
|
|
15371
|
+
* console.warn('Warnings:', result.warnings);
|
|
15372
|
+
* console.info('Suggestions:', result.suggestions);
|
|
15373
|
+
* }
|
|
14674
15374
|
* ```
|
|
14675
15375
|
*/
|
|
14676
|
-
|
|
14677
|
-
/**
|
|
14678
|
-
|
|
14679
|
-
*/
|
|
14680
|
-
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
15399
|
+
* Public API for loading and managing Atomix configuration
|
|
14780
15400
|
*
|
|
14781
|
-
*
|
|
14782
|
-
*
|
|
15401
|
+
* This module provides the public-facing API for configuration loading
|
|
15402
|
+
* in external projects.
|
|
14783
15403
|
*/
|
|
14784
15404
|
|
|
14785
15405
|
/**
|
|
14786
|
-
*
|
|
14787
|
-
|
|
14788
|
-
|
|
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
|
-
*
|
|
14822
|
-
*
|
|
15412
|
+
* ```typescript
|
|
15413
|
+
* import { loadConfig } from '@shohojdhara/atomix/config';
|
|
14823
15414
|
*
|
|
14824
|
-
*
|
|
14825
|
-
*
|
|
14826
|
-
*
|
|
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
|
|
15419
|
+
declare function loadConfig(options?: {
|
|
15420
|
+
configPath?: string;
|
|
15421
|
+
required?: boolean;
|
|
15422
|
+
}): AtomixConfig;
|
|
14839
15423
|
/**
|
|
14840
|
-
*
|
|
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
|
|
15429
|
+
declare function validateConfig(config: AtomixConfig): string[];
|
|
15430
|
+
|
|
14843
15431
|
/**
|
|
14844
|
-
*
|
|
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
|
-
*
|
|
15438
|
+
* Converts an AtomixConfig to DesignTokens
|
|
14850
15439
|
*
|
|
14851
|
-
*
|
|
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
|
-
*
|
|
14854
|
-
*
|
|
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
|
-
*
|
|
14859
|
-
*
|
|
14860
|
-
*
|
|
14861
|
-
*
|
|
14862
|
-
* theme: {
|
|
14863
|
-
*
|
|
14864
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
14877
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
15473
|
+
* Configuration for generating CSS variables for a component
|
|
14900
15474
|
*/
|
|
14901
|
-
interface
|
|
14902
|
-
/**
|
|
14903
|
-
|
|
14904
|
-
/**
|
|
14905
|
-
|
|
14906
|
-
/**
|
|
14907
|
-
|
|
14908
|
-
/**
|
|
14909
|
-
|
|
14910
|
-
|
|
14911
|
-
|
|
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
|
|
15488
|
+
* CSS variable naming options
|
|
14930
15489
|
*/
|
|
14931
|
-
interface
|
|
14932
|
-
|
|
14933
|
-
|
|
14934
|
-
|
|
14935
|
-
|
|
14936
|
-
|
|
14937
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
15513
|
+
declare function applyCSSVariables(vars: Record<string, string | number>, element?: HTMLElement): void;
|
|
14976
15514
|
/**
|
|
14977
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
15539
|
+
* Merge multiple CSS variable objects
|
|
15540
|
+
* Later objects override earlier ones
|
|
15019
15541
|
*/
|
|
15020
|
-
|
|
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
|
-
*
|
|
15544
|
+
* Validate CSS variable name format
|
|
15026
15545
|
*/
|
|
15027
|
-
|
|
15028
|
-
type: 'figma' | 'style-dictionary' | 'w3c' | string;
|
|
15029
|
-
options?: Record<string, any>;
|
|
15030
|
-
}
|
|
15546
|
+
declare function isValidCSSVariableName(name: string): boolean;
|
|
15031
15547
|
/**
|
|
15032
|
-
*
|
|
15548
|
+
* Extract component name from CSS variable name
|
|
15549
|
+
*
|
|
15550
|
+
* @example
|
|
15551
|
+
* extractComponentName('--atomix-button-bg')
|
|
15552
|
+
* // Returns: 'button'
|
|
15033
15553
|
*/
|
|
15034
|
-
|
|
15035
|
-
|
|
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
|
-
*
|
|
15557
|
+
* Theme Helper Functions
|
|
15558
|
+
*
|
|
15559
|
+
* Utility functions for working with DesignTokens
|
|
15044
15560
|
*/
|
|
15045
|
-
|
|
15046
|
-
|
|
15047
|
-
|
|
15048
|
-
|
|
15049
|
-
|
|
15050
|
-
|
|
15051
|
-
|
|
15052
|
-
|
|
15053
|
-
|
|
15054
|
-
|
|
15055
|
-
|
|
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
|
-
/**
|
|
15058
|
-
|
|
15059
|
-
/**
|
|
15060
|
-
|
|
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
|
-
*
|
|
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
|
|
15071
|
-
/**
|
|
15072
|
-
|
|
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
|
-
*
|
|
15075
|
-
* Example: prefix: 'myapp' → --myapp-primary instead of --atomix-primary
|
|
15629
|
+
* @param config Configuration options
|
|
15076
15630
|
*/
|
|
15077
|
-
|
|
15631
|
+
constructor(config?: PerformanceMonitorConfig);
|
|
15078
15632
|
/**
|
|
15079
|
-
*
|
|
15633
|
+
* Start monitoring performance
|
|
15080
15634
|
*/
|
|
15081
|
-
|
|
15635
|
+
start(): void;
|
|
15082
15636
|
/**
|
|
15083
|
-
*
|
|
15637
|
+
* Stop monitoring performance
|
|
15084
15638
|
*/
|
|
15085
|
-
|
|
15639
|
+
stop(): void;
|
|
15086
15640
|
/**
|
|
15087
|
-
*
|
|
15641
|
+
* Get current performance metrics
|
|
15088
15642
|
*/
|
|
15089
|
-
|
|
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
|
-
*
|
|
15645
|
+
* Get the current FPS
|
|
15110
15646
|
*/
|
|
15111
|
-
|
|
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
|
-
*
|
|
15649
|
+
* Check if performance is degraded
|
|
15121
15650
|
*/
|
|
15122
|
-
|
|
15651
|
+
isPerformanceDegraded(): boolean;
|
|
15652
|
+
/**
|
|
15653
|
+
* Private method called on each animation frame
|
|
15654
|
+
*/
|
|
15655
|
+
private onFrame;
|
|
15123
15656
|
/**
|
|
15124
|
-
*
|
|
15657
|
+
* Run a performance test for a specific function
|
|
15125
15658
|
*
|
|
15126
|
-
*
|
|
15127
|
-
*
|
|
15659
|
+
* @param fn Function to test
|
|
15660
|
+
* @param iterations Number of iterations (default: 100)
|
|
15661
|
+
* @returns Average execution time in ms
|
|
15128
15662
|
*/
|
|
15129
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
15164
|
-
*
|
|
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
|
-
*
|
|
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
|
|
15172
|
-
* @returns
|
|
15691
|
+
* @param config Configuration options
|
|
15692
|
+
* @returns Performance metrics and monitor controls
|
|
15173
15693
|
*
|
|
15174
15694
|
* @example
|
|
15175
15695
|
* ```typescript
|
|
15176
|
-
* import {
|
|
15177
|
-
*
|
|
15178
|
-
*
|
|
15179
|
-
*
|
|
15180
|
-
*
|
|
15181
|
-
*
|
|
15182
|
-
*
|
|
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
|
|
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,
|
|
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,
|
|
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 };
|