@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.9 → 0.2.11
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/CHANGELOG.md +1 -1
- package/dist/components/ui/accessibility-demo.esm.js +30 -24
- package/dist/components/ui/accessibility-demo.js +30 -24
- package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
- package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
- package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
- package/dist/components/ui/advanced-transition-system-demo.js +110 -64
- package/dist/components/ui/advanced-transition-system.esm.js +166 -122
- package/dist/components/ui/advanced-transition-system.js +166 -122
- package/dist/components/ui/animation/animated-container.esm.js +52 -29
- package/dist/components/ui/animation/animated-container.js +52 -29
- package/dist/components/ui/animation/staggered-container.esm.js +18 -9
- package/dist/components/ui/animation/staggered-container.js +18 -9
- package/dist/components/ui/animation-demo.esm.js +67 -35
- package/dist/components/ui/animation-demo.js +67 -35
- package/dist/components/ui/badge.esm.js +9 -6
- package/dist/components/ui/badge.js +9 -6
- package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
- package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
- package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
- package/dist/components/ui/border-radius-shadow-demo.js +23 -12
- package/dist/components/ui/button.esm.js +8 -2
- package/dist/components/ui/button.js +8 -2
- package/dist/components/ui/card.esm.js +33 -8
- package/dist/components/ui/card.js +33 -8
- package/dist/components/ui/checkbox.esm.js +3 -3
- package/dist/components/ui/checkbox.js +3 -3
- package/dist/components/ui/color-preview.esm.js +68 -45
- package/dist/components/ui/color-preview.js +68 -45
- package/dist/components/ui/data-display/chart.esm.js +112 -84
- package/dist/components/ui/data-display/chart.js +112 -84
- package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
- package/dist/components/ui/data-display/data-grid-simple.js +1 -1
- package/dist/components/ui/data-display/data-grid.esm.js +80 -67
- package/dist/components/ui/data-display/data-grid.js +80 -67
- package/dist/components/ui/data-display/list.esm.js +53 -45
- package/dist/components/ui/data-display/list.js +53 -45
- package/dist/components/ui/data-display/table.esm.js +62 -54
- package/dist/components/ui/data-display/table.js +62 -54
- package/dist/components/ui/data-display/timeline.esm.js +39 -34
- package/dist/components/ui/data-display/timeline.js +39 -34
- package/dist/components/ui/data-display/tree.esm.js +116 -84
- package/dist/components/ui/data-display/tree.js +116 -84
- package/dist/components/ui/data-display/types.esm.js +389 -364
- package/dist/components/ui/data-display/types.js +389 -364
- package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
- package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
- package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
- package/dist/components/ui/enterprise-mobile-experience.js +124 -73
- package/dist/components/ui/feedback/alert.esm.js +22 -15
- package/dist/components/ui/feedback/alert.js +22 -15
- package/dist/components/ui/feedback/progress.esm.js +47 -24
- package/dist/components/ui/feedback/progress.js +47 -24
- package/dist/components/ui/feedback/skeleton.esm.js +39 -29
- package/dist/components/ui/feedback/skeleton.js +39 -29
- package/dist/components/ui/feedback/toast.esm.js +62 -38
- package/dist/components/ui/feedback/toast.js +62 -38
- package/dist/components/ui/feedback/types.esm.js +83 -83
- package/dist/components/ui/feedback/types.js +83 -83
- package/dist/components/ui/font-preview.esm.js +41 -39
- package/dist/components/ui/font-preview.js +41 -39
- package/dist/components/ui/form-demo.esm.js +150 -113
- package/dist/components/ui/form-demo.js +150 -113
- package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
- package/dist/components/ui/hardware-acceleration-demo.js +137 -87
- package/dist/components/ui/input.esm.js +4 -1
- package/dist/components/ui/input.js +4 -1
- package/dist/components/ui/layout-demo.esm.js +81 -56
- package/dist/components/ui/layout-demo.js +81 -56
- package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
- package/dist/components/ui/layouts/adaptive-layout.js +27 -8
- package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
- package/dist/components/ui/layouts/desktop-layout.js +39 -19
- package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
- package/dist/components/ui/layouts/mobile-layout.js +19 -9
- package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
- package/dist/components/ui/layouts/tablet-layout.js +28 -14
- package/dist/components/ui/mobile-form-validation.esm.js +120 -87
- package/dist/components/ui/mobile-form-validation.js +120 -87
- package/dist/components/ui/mobile-input-demo.esm.js +19 -13
- package/dist/components/ui/mobile-input-demo.js +19 -13
- package/dist/components/ui/mobile-input.esm.js +185 -120
- package/dist/components/ui/mobile-input.js +185 -120
- package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
- package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
- package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
- package/dist/components/ui/navigation/breadcrumb.js +17 -14
- package/dist/components/ui/navigation/index.esm.js +0 -1
- package/dist/components/ui/navigation/index.js +0 -1
- package/dist/components/ui/navigation/menu.esm.js +49 -35
- package/dist/components/ui/navigation/menu.js +49 -35
- package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
- package/dist/components/ui/navigation/navigation-demo.js +81 -74
- package/dist/components/ui/navigation/pagination.esm.js +62 -50
- package/dist/components/ui/navigation/pagination.js +62 -50
- package/dist/components/ui/navigation/sidebar.esm.js +56 -42
- package/dist/components/ui/navigation/sidebar.js +56 -42
- package/dist/components/ui/navigation/stepper.esm.js +34 -23
- package/dist/components/ui/navigation/stepper.js +34 -23
- package/dist/components/ui/navigation/tabs.esm.js +32 -21
- package/dist/components/ui/navigation/tabs.js +32 -21
- package/dist/components/ui/navigation/types.esm.js +196 -195
- package/dist/components/ui/navigation/types.js +196 -195
- package/dist/components/ui/overlay/backdrop.esm.js +17 -16
- package/dist/components/ui/overlay/backdrop.js +17 -16
- package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
- package/dist/components/ui/overlay/focus-manager.js +21 -19
- package/dist/components/ui/overlay/index.esm.js +0 -2
- package/dist/components/ui/overlay/index.js +0 -2
- package/dist/components/ui/overlay/modal.esm.js +38 -34
- package/dist/components/ui/overlay/modal.js +38 -34
- package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
- package/dist/components/ui/overlay/overlay-manager.js +25 -20
- package/dist/components/ui/overlay/popover.esm.js +74 -58
- package/dist/components/ui/overlay/popover.js +74 -58
- package/dist/components/ui/overlay/portal.esm.js +7 -7
- package/dist/components/ui/overlay/portal.js +7 -7
- package/dist/components/ui/overlay/tooltip.esm.js +54 -39
- package/dist/components/ui/overlay/tooltip.js +54 -39
- package/dist/components/ui/overlay/types.esm.js +132 -131
- package/dist/components/ui/overlay/types.js +132 -131
- package/dist/components/ui/performance-demo.esm.js +135 -88
- package/dist/components/ui/performance-demo.js +135 -88
- package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
- package/dist/components/ui/semantic-input-system-demo.js +117 -80
- package/dist/components/ui/theme-customizer.esm.js +84 -52
- package/dist/components/ui/theme-customizer.js +84 -52
- package/dist/components/ui/theme-preview.esm.js +95 -43
- package/dist/components/ui/theme-preview.js +95 -43
- package/dist/components/ui/theme-switcher.esm.js +70 -44
- package/dist/components/ui/theme-switcher.js +70 -44
- package/dist/components/ui/theme-toggle.esm.js +3 -3
- package/dist/components/ui/theme-toggle.js +3 -3
- package/dist/components/ui/token-demo.esm.js +33 -21
- package/dist/components/ui/token-demo.js +33 -21
- package/dist/components/ui/touch-demo.esm.js +102 -73
- package/dist/components/ui/touch-demo.js +102 -73
- package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
- package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
- package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
- package/dist/components/ui/touch-friendly-interface.js +85 -61
- package/dist/hooks/use-accessibility-support.esm.js +115 -85
- package/dist/hooks/use-accessibility-support.js +115 -85
- package/dist/hooks/use-adaptive-layout.esm.js +56 -33
- package/dist/hooks/use-adaptive-layout.js +56 -33
- package/dist/hooks/use-advanced-patterns.esm.js +57 -42
- package/dist/hooks/use-advanced-patterns.js +57 -42
- package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
- package/dist/hooks/use-advanced-transition-system.js +112 -71
- package/dist/hooks/use-animation-profile.esm.js +63 -34
- package/dist/hooks/use-animation-profile.js +63 -34
- package/dist/hooks/use-battery-animations.esm.js +80 -55
- package/dist/hooks/use-battery-animations.js +80 -55
- package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
- package/dist/hooks/use-battery-conscious-loading.js +166 -123
- package/dist/hooks/use-battery-optimization.esm.js +78 -55
- package/dist/hooks/use-battery-optimization.js +78 -55
- package/dist/hooks/use-battery-status.esm.js +73 -51
- package/dist/hooks/use-battery-status.js +73 -51
- package/dist/hooks/use-component-performance.esm.js +62 -47
- package/dist/hooks/use-component-performance.js +62 -47
- package/dist/hooks/use-device-loading-states.esm.js +152 -109
- package/dist/hooks/use-device-loading-states.js +152 -109
- package/dist/hooks/use-device.esm.js +25 -14
- package/dist/hooks/use-device.js +25 -14
- package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
- package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
- package/dist/hooks/use-form-feedback.esm.js +124 -81
- package/dist/hooks/use-form-feedback.js +124 -81
- package/dist/hooks/use-form-performance.esm.js +127 -92
- package/dist/hooks/use-form-performance.js +127 -92
- package/dist/hooks/use-frame-rate.esm.js +56 -37
- package/dist/hooks/use-frame-rate.js +56 -37
- package/dist/hooks/use-gestures.esm.js +96 -72
- package/dist/hooks/use-gestures.js +96 -72
- package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
- package/dist/hooks/use-hardware-acceleration.js +65 -37
- package/dist/hooks/use-input-accessibility.esm.js +157 -119
- package/dist/hooks/use-input-accessibility.js +157 -119
- package/dist/hooks/use-input-performance.esm.js +139 -104
- package/dist/hooks/use-input-performance.js +139 -104
- package/dist/hooks/use-layout-performance.esm.js +50 -29
- package/dist/hooks/use-layout-performance.js +50 -29
- package/dist/hooks/use-loading-accessibility.esm.js +209 -169
- package/dist/hooks/use-loading-accessibility.js +209 -169
- package/dist/hooks/use-loading-performance.esm.js +117 -93
- package/dist/hooks/use-loading-performance.js +117 -93
- package/dist/hooks/use-memory-usage.esm.js +57 -38
- package/dist/hooks/use-memory-usage.js +57 -38
- package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
- package/dist/hooks/use-mobile-form-layout.js +111 -74
- package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
- package/dist/hooks/use-mobile-form-validation.js +211 -144
- package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
- package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
- package/dist/hooks/use-mobile-layout.esm.js +73 -51
- package/dist/hooks/use-mobile-layout.js +73 -51
- package/dist/hooks/use-mobile-optimization.esm.js +72 -44
- package/dist/hooks/use-mobile-optimization.js +72 -44
- package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
- package/dist/hooks/use-mobile-skeleton.js +97 -64
- package/dist/hooks/use-mobile-touch.esm.js +128 -93
- package/dist/hooks/use-mobile-touch.js +128 -93
- package/dist/hooks/use-performance-throttling.esm.js +72 -48
- package/dist/hooks/use-performance-throttling.js +72 -48
- package/dist/hooks/use-performance.esm.js +90 -52
- package/dist/hooks/use-performance.js +90 -52
- package/dist/hooks/use-reusable-architecture.esm.js +94 -65
- package/dist/hooks/use-reusable-architecture.js +94 -65
- package/dist/hooks/use-semantic-input-types.esm.js +166 -124
- package/dist/hooks/use-semantic-input-types.js +166 -124
- package/dist/hooks/use-semantic-input.esm.js +178 -126
- package/dist/hooks/use-semantic-input.js +178 -126
- package/dist/hooks/use-tablet-layout.esm.js +67 -38
- package/dist/hooks/use-tablet-layout.js +67 -38
- package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
- package/dist/hooks/use-touch-friendly-input.js +193 -149
- package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
- package/dist/hooks/use-touch-friendly-interface.js +99 -67
- package/dist/hooks/use-touch-optimization.esm.js +99 -72
- package/dist/hooks/use-touch-optimization.js +99 -72
- package/dist/index.esm.js +157 -281
- package/dist/index.js +157 -281
- package/dist/lib/utils.esm.js +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/plugins/theme-css-generator.esm.js +104 -55
- package/dist/plugins/theme-css-generator.js +104 -55
- package/dist/provider.esm.js +4 -4
- package/dist/provider.js +4 -4
- package/dist/styles.css +1 -1
- package/dist/theme.esm.js +633 -468
- package/dist/theme.js +633 -468
- package/dist/themes/ThemeContext.esm.js +15 -15
- package/dist/themes/ThemeContext.js +15 -15
- package/dist/themes/ThemeProvider.esm.js +25 -22
- package/dist/themes/ThemeProvider.js +25 -22
- package/dist/themes/accessibility.esm.js +147 -108
- package/dist/themes/accessibility.js +147 -108
- package/dist/themes/aria-patterns.esm.js +198 -162
- package/dist/themes/aria-patterns.js +198 -162
- package/dist/themes/base-themes.esm.js +14 -11
- package/dist/themes/base-themes.js +14 -11
- package/dist/themes/colorManager.esm.js +101 -83
- package/dist/themes/colorManager.js +101 -83
- package/dist/themes/examples/dark-theme.esm.js +133 -103
- package/dist/themes/examples/dark-theme.js +133 -103
- package/dist/themes/examples/minimal-theme.esm.js +83 -61
- package/dist/themes/examples/minimal-theme.js +83 -61
- package/dist/themes/focus-management.esm.js +202 -143
- package/dist/themes/focus-management.js +202 -143
- package/dist/themes/fontLoader.esm.js +28 -19
- package/dist/themes/fontLoader.js +28 -19
- package/dist/themes/high-contrast.esm.js +152 -104
- package/dist/themes/high-contrast.js +152 -104
- package/dist/themes/index.esm.js +1 -1
- package/dist/themes/index.js +1 -1
- package/dist/themes/inheritance.esm.js +35 -27
- package/dist/themes/inheritance.js +35 -27
- package/dist/themes/keyboard-navigation.esm.js +152 -123
- package/dist/themes/keyboard-navigation.js +152 -123
- package/dist/themes/motion-reduction.esm.js +193 -133
- package/dist/themes/motion-reduction.js +193 -133
- package/dist/themes/navigation.esm.js +146 -146
- package/dist/themes/navigation.js +146 -146
- package/dist/themes/screen-reader.esm.js +159 -94
- package/dist/themes/screen-reader.js +159 -94
- package/dist/themes/systemThemeDetector.esm.js +42 -34
- package/dist/themes/systemThemeDetector.js +42 -34
- package/dist/themes/themeCSSUpdater.esm.js +21 -9
- package/dist/themes/themeCSSUpdater.js +21 -9
- package/dist/themes/themePersistence.esm.js +68 -47
- package/dist/themes/themePersistence.js +68 -47
- package/dist/themes/themes/stan-design.esm.js +633 -468
- package/dist/themes/themes/stan-design.js +633 -468
- package/dist/themes/types.esm.js +301 -287
- package/dist/themes/types.js +301 -287
- package/dist/themes/useSystemTheme.esm.js +4 -4
- package/dist/themes/useSystemTheme.js +4 -4
- package/dist/themes/useTheme.esm.js +4 -4
- package/dist/themes/useTheme.js +4 -4
- package/dist/themes/validation.esm.js +128 -77
- package/dist/themes/validation.js +128 -77
- package/dist/tokens/index.esm.js +1 -2
- package/dist/tokens/index.js +1 -2
- package/dist/tokens/tokenExporter.esm.js +87 -61
- package/dist/tokens/tokenExporter.js +87 -61
- package/dist/tokens/tokenGenerator.esm.js +86 -77
- package/dist/tokens/tokenGenerator.js +86 -77
- package/dist/tokens/tokenManager.esm.js +64 -51
- package/dist/tokens/tokenManager.js +64 -51
- package/dist/tokens/tokenValidator.esm.js +193 -147
- package/dist/tokens/tokenValidator.js +193 -147
- package/dist/tokens/types.esm.js +49 -35
- package/dist/tokens/types.js +49 -35
- package/dist/utils/bundle-analyzer.esm.js +83 -65
- package/dist/utils/bundle-analyzer.js +83 -65
- package/dist/utils/bundle-splitting.esm.js +142 -117
- package/dist/utils/bundle-splitting.js +142 -117
- package/dist/utils/lazy-loading.esm.js +132 -106
- package/dist/utils/lazy-loading.js +132 -106
- package/dist/utils/performance-monitor.esm.js +170 -129
- package/dist/utils/performance-monitor.js +170 -129
- package/dist/utils/tree-shaking.esm.js +69 -61
- package/dist/utils/tree-shaking.js +69 -61
- package/package.json +1 -1
- package/src/index.ts +146 -146
package/dist/themes/types.js
CHANGED
|
@@ -2,445 +2,459 @@
|
|
|
2
2
|
// This file defines the core interfaces for theme configuration
|
|
3
3
|
|
|
4
4
|
export interface MultiThemeConfig {
|
|
5
|
-
fonts;
|
|
6
|
-
colors;
|
|
7
|
-
navigation;
|
|
8
|
-
spacing;
|
|
9
|
-
shadows;
|
|
10
|
-
transitions;
|
|
11
|
-
borderRadius;
|
|
12
|
-
borderWidth;
|
|
13
|
-
animation;
|
|
14
|
-
accessibility;
|
|
15
|
-
print;
|
|
16
|
-
containerQuery;
|
|
17
|
-
container;
|
|
18
|
-
shimmer;
|
|
19
|
-
meta;
|
|
20
|
-
extends
|
|
5
|
+
fonts: FontThemeConfig;
|
|
6
|
+
colors: ColorThemeConfig;
|
|
7
|
+
navigation: NavigationThemeConfig;
|
|
8
|
+
spacing: SpacingThemeConfig;
|
|
9
|
+
shadows: ShadowThemeConfig;
|
|
10
|
+
transitions: TransitionThemeConfig;
|
|
11
|
+
borderRadius: BorderRadiusThemeConfig;
|
|
12
|
+
borderWidth: BorderWidthThemeConfig;
|
|
13
|
+
animation: AnimationThemeConfig;
|
|
14
|
+
accessibility: AccessibilityThemeConfig;
|
|
15
|
+
print: PrintThemeConfig;
|
|
16
|
+
containerQuery: ContainerQueryThemeConfig;
|
|
17
|
+
container: ContainerThemeConfig;
|
|
18
|
+
shimmer: ShimmerThemeConfig;
|
|
19
|
+
meta: ThemeMetadata;
|
|
20
|
+
extends?: string; // Optional property for theme inheritance
|
|
21
21
|
|
|
22
|
-
// NEW)
|
|
23
|
-
modes
|
|
22
|
+
// NEW: Add light/dark mode configuration (colors only)
|
|
23
|
+
modes?: {
|
|
24
|
+
light?: {
|
|
25
|
+
colors?: Partial<ColorThemeConfig>;
|
|
24
26
|
};
|
|
25
|
-
dark
|
|
27
|
+
dark?: {
|
|
28
|
+
colors?: Partial<ColorThemeConfig>;
|
|
26
29
|
};
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
export interface FontThemeConfig {
|
|
31
|
-
primary;
|
|
32
|
-
secondary;
|
|
33
|
-
display;
|
|
34
|
-
body;
|
|
35
|
-
mono;
|
|
34
|
+
primary: FontConfig;
|
|
35
|
+
secondary: FontConfig;
|
|
36
|
+
display: FontConfig;
|
|
37
|
+
body: FontConfig;
|
|
38
|
+
mono: FontConfig;
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
export interface FontConfig {
|
|
39
|
-
family;
|
|
40
|
-
weights];
|
|
41
|
-
sizes;
|
|
42
|
-
lineHeights;
|
|
43
|
-
letterSpacing;
|
|
44
|
-
fallbacks
|
|
45
|
-
display
|
|
46
|
-
source
|
|
47
|
-
features
|
|
42
|
+
family: string;
|
|
43
|
+
weights: number[];
|
|
44
|
+
sizes: FontSizeScale;
|
|
45
|
+
lineHeights: LineHeightScale;
|
|
46
|
+
letterSpacing: LetterSpacingScale;
|
|
47
|
+
fallbacks?: string[]; // Font fallback stack
|
|
48
|
+
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional'; // Font loading strategy
|
|
49
|
+
source?: FontSource; // Font source configuration
|
|
50
|
+
features?: FontFeatures; // Advanced font features
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
export interface FontSource {
|
|
51
|
-
type;
|
|
52
|
-
url
|
|
53
|
-
files
|
|
54
|
+
type: 'google' | 'custom' | 'system';
|
|
55
|
+
url?: string; // For custom fonts
|
|
56
|
+
files?: FontFiles; // For custom font files
|
|
54
57
|
}
|
|
55
58
|
|
|
56
59
|
export interface FontFiles {
|
|
57
|
-
woff2
|
|
58
|
-
woff
|
|
59
|
-
ttf
|
|
60
|
-
eot
|
|
61
|
-
svg
|
|
60
|
+
woff2?: string;
|
|
61
|
+
woff?: string;
|
|
62
|
+
ttf?: string;
|
|
63
|
+
eot?: string;
|
|
64
|
+
svg?: string;
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
export interface FontFeatures {
|
|
65
|
-
ligatures
|
|
66
|
-
kerning
|
|
67
|
-
variant
|
|
68
|
-
stretch
|
|
69
|
-
styleSet
|
|
68
|
+
ligatures?: boolean;
|
|
69
|
+
kerning?: boolean;
|
|
70
|
+
variant?: 'normal' | 'small-caps' | 'all-small-caps';
|
|
71
|
+
stretch?: 'normal' | 'condensed' | 'expanded';
|
|
72
|
+
styleSet?: number;
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
export interface FontSizeScale {
|
|
73
|
-
xs;
|
|
74
|
-
sm;
|
|
75
|
-
md;
|
|
76
|
-
lg;
|
|
77
|
-
xl;
|
|
78
|
-
'2xl';
|
|
79
|
-
'3xl';
|
|
80
|
-
'4xl';
|
|
81
|
-
'5xl';
|
|
82
|
-
'6xl';
|
|
76
|
+
xs: string;
|
|
77
|
+
sm: string;
|
|
78
|
+
md: string;
|
|
79
|
+
lg: string;
|
|
80
|
+
xl: string;
|
|
81
|
+
'2xl': string;
|
|
82
|
+
'3xl': string;
|
|
83
|
+
'4xl': string;
|
|
84
|
+
'5xl': string;
|
|
85
|
+
'6xl': string;
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
export interface LineHeightScale {
|
|
86
|
-
tight;
|
|
87
|
-
normal;
|
|
88
|
-
relaxed;
|
|
89
|
-
loose;
|
|
89
|
+
tight: string;
|
|
90
|
+
normal: string;
|
|
91
|
+
relaxed: string;
|
|
92
|
+
loose: string;
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
export interface LetterSpacingScale {
|
|
93
|
-
tight;
|
|
94
|
-
normal;
|
|
95
|
-
wide;
|
|
96
|
-
wider;
|
|
97
|
-
widest;
|
|
96
|
+
tight: string;
|
|
97
|
+
normal: string;
|
|
98
|
+
wide: string;
|
|
99
|
+
wider: string;
|
|
100
|
+
widest: string;
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
export interface ColorThemeConfig {
|
|
101
|
-
primary;
|
|
102
|
-
secondary;
|
|
103
|
-
semantic;
|
|
104
|
-
neutral;
|
|
105
|
-
surface;
|
|
106
|
-
text;
|
|
107
|
-
interactive;
|
|
104
|
+
primary: ColorScale;
|
|
105
|
+
secondary: ColorScale;
|
|
106
|
+
semantic: SemanticColors;
|
|
107
|
+
neutral: ColorScale;
|
|
108
|
+
surface: SurfaceColors;
|
|
109
|
+
text: TextColors;
|
|
110
|
+
interactive: InteractiveColors;
|
|
108
111
|
// Additional color properties referenced in CSS
|
|
109
|
-
accent
|
|
110
|
-
'bg-primary'
|
|
111
|
-
'bg-secondary'
|
|
112
|
-
'surface-bg'
|
|
113
|
-
'primary-hover'
|
|
114
|
-
'primary-active'
|
|
115
|
-
'accent-rgb'
|
|
116
|
-
border
|
|
117
|
-
'border-transparent'
|
|
118
|
-
'text-primary'
|
|
119
|
-
'text-secondary'
|
|
112
|
+
accent?: string;
|
|
113
|
+
'bg-primary'?: string;
|
|
114
|
+
'bg-secondary'?: string;
|
|
115
|
+
'surface-bg'?: string;
|
|
116
|
+
'primary-hover'?: string;
|
|
117
|
+
'primary-active'?: string;
|
|
118
|
+
'accent-rgb'?: string;
|
|
119
|
+
border?: string;
|
|
120
|
+
'border-transparent'?: string;
|
|
121
|
+
'text-primary'?: string;
|
|
122
|
+
'text-secondary'?: string;
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
export interface ColorScale {
|
|
123
|
-
50;
|
|
124
|
-
100;
|
|
125
|
-
200;
|
|
126
|
-
300;
|
|
127
|
-
400;
|
|
128
|
-
500;
|
|
129
|
-
600;
|
|
130
|
-
700;
|
|
131
|
-
800;
|
|
132
|
-
900;
|
|
126
|
+
50: string;
|
|
127
|
+
100: string;
|
|
128
|
+
200: string;
|
|
129
|
+
300: string;
|
|
130
|
+
400: string;
|
|
131
|
+
500: string;
|
|
132
|
+
600: string;
|
|
133
|
+
700: string;
|
|
134
|
+
800: string;
|
|
135
|
+
900: string;
|
|
133
136
|
// Additional color variations
|
|
134
|
-
light
|
|
135
|
-
dark
|
|
136
|
-
contrast
|
|
137
|
+
light?: string; // Lighter than 50
|
|
138
|
+
dark?: string; // Darker than 900
|
|
139
|
+
contrast?: string; // High contrast version
|
|
137
140
|
// RGB versions for rgba() usage
|
|
138
|
-
'500-rgb'
|
|
139
|
-
'600-rgb'
|
|
140
|
-
'700-rgb'
|
|
141
|
+
'500-rgb'?: string;
|
|
142
|
+
'600-rgb'?: string;
|
|
143
|
+
'700-rgb'?: string;
|
|
141
144
|
}
|
|
142
145
|
|
|
143
146
|
export interface ColorAccessibility {
|
|
144
|
-
aa; // WCAG AA compliance
|
|
145
|
-
aaa; // WCAG AAA compliance
|
|
146
|
-
contrastRatio; // Actual contrast ratio
|
|
147
|
-
recommended]; // Recommended improvements
|
|
147
|
+
aa: boolean; // WCAG AA compliance
|
|
148
|
+
aaa: boolean; // WCAG AAA compliance
|
|
149
|
+
contrastRatio: number; // Actual contrast ratio
|
|
150
|
+
recommended: string[]; // Recommended improvements
|
|
148
151
|
}
|
|
149
152
|
|
|
150
153
|
export interface SemanticColors {
|
|
151
|
-
success;
|
|
152
|
-
warning;
|
|
153
|
-
error;
|
|
154
|
-
info;
|
|
154
|
+
success: string;
|
|
155
|
+
warning: string;
|
|
156
|
+
error: string;
|
|
157
|
+
info: string;
|
|
155
158
|
// Enhanced semantic colors with accessibility
|
|
156
|
-
successLight
|
|
157
|
-
successDark
|
|
158
|
-
warningLight
|
|
159
|
-
warningDark
|
|
160
|
-
errorLight
|
|
161
|
-
errorDark
|
|
162
|
-
infoLight
|
|
163
|
-
infoDark
|
|
159
|
+
successLight?: string;
|
|
160
|
+
successDark?: string;
|
|
161
|
+
warningLight?: string;
|
|
162
|
+
warningDark?: string;
|
|
163
|
+
errorLight?: string;
|
|
164
|
+
errorDark?: string;
|
|
165
|
+
infoLight?: string;
|
|
166
|
+
infoDark?: string;
|
|
164
167
|
// RGB versions for rgba() usage
|
|
165
|
-
successRgb
|
|
166
|
-
warningRgb
|
|
167
|
-
errorRgb
|
|
168
|
-
errorDarkRgb
|
|
169
|
-
infoRgb
|
|
168
|
+
successRgb?: string;
|
|
169
|
+
warningRgb?: string;
|
|
170
|
+
errorRgb?: string;
|
|
171
|
+
errorDarkRgb?: string;
|
|
172
|
+
infoRgb?: string;
|
|
170
173
|
// Additional RGB versions referenced in CSS
|
|
171
|
-
'success-rgb'
|
|
172
|
-
'warning-rgb'
|
|
173
|
-
'error-rgb'
|
|
174
|
-
'error-dark-rgb'
|
|
175
|
-
'info-rgb'
|
|
174
|
+
'success-rgb'?: string;
|
|
175
|
+
'warning-rgb'?: string;
|
|
176
|
+
'error-rgb'?: string;
|
|
177
|
+
'error-dark-rgb'?: string;
|
|
178
|
+
'info-rgb'?: string;
|
|
176
179
|
}
|
|
177
180
|
|
|
178
181
|
export interface NeutralColors {
|
|
179
|
-
50;
|
|
180
|
-
100;
|
|
181
|
-
200;
|
|
182
|
-
300;
|
|
183
|
-
400;
|
|
184
|
-
500;
|
|
185
|
-
600;
|
|
186
|
-
700;
|
|
187
|
-
800;
|
|
188
|
-
900;
|
|
182
|
+
50: string;
|
|
183
|
+
100: string;
|
|
184
|
+
200: string;
|
|
185
|
+
300: string;
|
|
186
|
+
400: string;
|
|
187
|
+
500: string;
|
|
188
|
+
600: string;
|
|
189
|
+
700: string;
|
|
190
|
+
800: string;
|
|
191
|
+
900: string;
|
|
189
192
|
}
|
|
190
193
|
|
|
191
194
|
export interface SurfaceColors {
|
|
192
|
-
background;
|
|
193
|
-
surface;
|
|
194
|
-
border;
|
|
195
|
-
divider;
|
|
195
|
+
background: string;
|
|
196
|
+
surface: string;
|
|
197
|
+
border: string;
|
|
198
|
+
divider: string;
|
|
196
199
|
}
|
|
197
200
|
|
|
198
201
|
export interface TextColors {
|
|
199
|
-
primary;
|
|
200
|
-
secondary;
|
|
201
|
-
muted;
|
|
202
|
-
inverse;
|
|
203
|
-
onPrimary;
|
|
204
|
-
onSecondary;
|
|
205
|
-
onSurface;
|
|
202
|
+
primary: string;
|
|
203
|
+
secondary: string;
|
|
204
|
+
muted: string;
|
|
205
|
+
inverse: string;
|
|
206
|
+
onPrimary: string;
|
|
207
|
+
onSecondary: string;
|
|
208
|
+
onSurface: string;
|
|
206
209
|
}
|
|
207
210
|
|
|
208
211
|
export interface InteractiveColors {
|
|
209
|
-
hover;
|
|
210
|
-
active;
|
|
211
|
-
focus;
|
|
212
|
-
disabled;
|
|
212
|
+
hover: string;
|
|
213
|
+
active: string;
|
|
214
|
+
focus: string;
|
|
215
|
+
disabled: string;
|
|
213
216
|
// Enhanced interactive states
|
|
214
|
-
hoverLight
|
|
215
|
-
hoverDark
|
|
216
|
-
activeLight
|
|
217
|
-
activeDark
|
|
218
|
-
focusRing
|
|
219
|
-
focusRingOffset
|
|
217
|
+
hoverLight?: string;
|
|
218
|
+
hoverDark?: string;
|
|
219
|
+
activeLight?: string;
|
|
220
|
+
activeDark?: string;
|
|
221
|
+
focusRing?: string;
|
|
222
|
+
focusRingOffset?: string;
|
|
220
223
|
}
|
|
221
224
|
|
|
222
225
|
// Color generation and utility interfaces
|
|
223
226
|
export interface ColorGenerationConfig {
|
|
224
|
-
baseColor;
|
|
225
|
-
hueShift
|
|
226
|
-
saturationAdjust
|
|
227
|
-
lightnessAdjust
|
|
228
|
-
generateShades
|
|
229
|
-
generateTints
|
|
230
|
-
generateContrast
|
|
227
|
+
baseColor: string;
|
|
228
|
+
hueShift?: number;
|
|
229
|
+
saturationAdjust?: number;
|
|
230
|
+
lightnessAdjust?: number;
|
|
231
|
+
generateShades?: boolean;
|
|
232
|
+
generateTints?: boolean;
|
|
233
|
+
generateContrast?: boolean;
|
|
231
234
|
}
|
|
232
235
|
|
|
233
236
|
export interface ColorPalette {
|
|
234
|
-
name;
|
|
235
|
-
description;
|
|
236
|
-
colors;
|
|
237
|
-
accessibility;
|
|
238
|
-
usage];
|
|
239
|
-
tags];
|
|
237
|
+
name: string;
|
|
238
|
+
description: string;
|
|
239
|
+
colors: ColorScale;
|
|
240
|
+
accessibility: ColorAccessibility;
|
|
241
|
+
usage: string[];
|
|
242
|
+
tags: string[];
|
|
240
243
|
}
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
import type { NavigationThemeConfig } from './navigation';
|
|
243
246
|
|
|
244
247
|
|
|
245
248
|
|
|
246
249
|
|
|
247
250
|
|
|
248
251
|
export interface SpacingThemeConfig {
|
|
249
|
-
scale;
|
|
250
|
-
component;
|
|
251
|
-
layout;
|
|
252
|
+
scale: SpacingScale;
|
|
253
|
+
component: ComponentSpacing;
|
|
254
|
+
layout: LayoutSpacing;
|
|
252
255
|
}
|
|
253
256
|
|
|
254
257
|
export interface SpacingScale {
|
|
255
|
-
xs;
|
|
256
|
-
sm;
|
|
257
|
-
md;
|
|
258
|
-
lg;
|
|
259
|
-
xl;
|
|
260
|
-
'2xl';
|
|
261
|
-
'3xl';
|
|
262
|
-
'4xl';
|
|
263
|
-
'5xl';
|
|
264
|
-
'6xl';
|
|
258
|
+
xs: string;
|
|
259
|
+
sm: string;
|
|
260
|
+
md: string;
|
|
261
|
+
lg: string;
|
|
262
|
+
xl: string;
|
|
263
|
+
'2xl': string;
|
|
264
|
+
'3xl': string;
|
|
265
|
+
'4xl': string;
|
|
266
|
+
'5xl': string;
|
|
267
|
+
'6xl': string;
|
|
265
268
|
}
|
|
266
269
|
|
|
267
270
|
export interface ComponentSpacing {
|
|
268
|
-
button
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
button: {
|
|
272
|
+
padding: string;
|
|
273
|
+
margin: string;
|
|
274
|
+
gap: string;
|
|
271
275
|
};
|
|
272
|
-
input
|
|
273
|
-
|
|
274
|
-
|
|
276
|
+
input: {
|
|
277
|
+
padding: string;
|
|
278
|
+
margin: string;
|
|
279
|
+
gap: string;
|
|
275
280
|
};
|
|
276
|
-
card
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
card: {
|
|
282
|
+
padding: string;
|
|
283
|
+
margin: string;
|
|
284
|
+
gap: string;
|
|
279
285
|
};
|
|
280
286
|
}
|
|
281
287
|
|
|
282
288
|
export interface LayoutSpacing {
|
|
283
|
-
page;
|
|
284
|
-
section;
|
|
285
|
-
container;
|
|
286
|
-
grid;
|
|
289
|
+
page: string;
|
|
290
|
+
section: string;
|
|
291
|
+
container: string;
|
|
292
|
+
grid: string;
|
|
287
293
|
}
|
|
288
294
|
|
|
289
295
|
export interface ShadowThemeConfig {
|
|
290
|
-
sm;
|
|
291
|
-
md;
|
|
292
|
-
lg;
|
|
293
|
-
xl;
|
|
294
|
-
'2xl';
|
|
295
|
-
inner;
|
|
296
|
-
none;
|
|
296
|
+
sm: string;
|
|
297
|
+
md: string;
|
|
298
|
+
lg: string;
|
|
299
|
+
xl: string;
|
|
300
|
+
'2xl': string;
|
|
301
|
+
inner: string;
|
|
302
|
+
none: string;
|
|
297
303
|
}
|
|
298
304
|
|
|
299
305
|
export interface TransitionThemeConfig {
|
|
300
|
-
duration;
|
|
301
|
-
easing;
|
|
302
|
-
properties;
|
|
306
|
+
duration: TransitionDuration;
|
|
307
|
+
easing: TransitionEasing;
|
|
308
|
+
properties: TransitionProperties;
|
|
303
309
|
}
|
|
304
310
|
|
|
305
311
|
export interface BorderRadiusThemeConfig {
|
|
306
|
-
none;
|
|
307
|
-
sm;
|
|
308
|
-
md;
|
|
309
|
-
lg;
|
|
310
|
-
xl;
|
|
311
|
-
'2xl';
|
|
312
|
-
full;
|
|
312
|
+
none: string;
|
|
313
|
+
sm: string;
|
|
314
|
+
md: string;
|
|
315
|
+
lg: string;
|
|
316
|
+
xl: string;
|
|
317
|
+
'2xl': string;
|
|
318
|
+
full: string;
|
|
313
319
|
}
|
|
314
320
|
|
|
315
321
|
export interface BorderWidthThemeConfig {
|
|
316
|
-
none;
|
|
317
|
-
thin;
|
|
318
|
-
normal;
|
|
319
|
-
focus;
|
|
320
|
-
thick;
|
|
321
|
-
extraThick;
|
|
322
|
+
none: string;
|
|
323
|
+
thin: string;
|
|
324
|
+
normal: string;
|
|
325
|
+
focus: string;
|
|
326
|
+
thick: string;
|
|
327
|
+
extraThick: string;
|
|
322
328
|
}
|
|
323
329
|
|
|
324
330
|
export interface AnimationThemeConfig {
|
|
325
|
-
duration
|
|
326
|
-
|
|
327
|
-
|
|
331
|
+
duration: {
|
|
332
|
+
fast: string;
|
|
333
|
+
normal: string;
|
|
334
|
+
slow: string;
|
|
328
335
|
};
|
|
329
|
-
easing
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
336
|
+
easing: {
|
|
337
|
+
linear: string;
|
|
338
|
+
ease: string;
|
|
339
|
+
easeIn: string;
|
|
340
|
+
easeOut: string;
|
|
341
|
+
easeInOut: string;
|
|
334
342
|
};
|
|
335
|
-
transforms
|
|
336
|
-
|
|
337
|
-
|
|
343
|
+
transforms: {
|
|
344
|
+
hoverY: string;
|
|
345
|
+
offsetY: string;
|
|
346
|
+
scale: string;
|
|
338
347
|
};
|
|
339
348
|
}
|
|
340
349
|
|
|
341
350
|
export interface AccessibilityThemeConfig {
|
|
342
|
-
focusRing
|
|
343
|
-
|
|
344
|
-
|
|
351
|
+
focusRing: {
|
|
352
|
+
width: string;
|
|
353
|
+
offset: string;
|
|
354
|
+
color: string;
|
|
345
355
|
};
|
|
346
|
-
outline
|
|
356
|
+
outline: {
|
|
357
|
+
offset: string;
|
|
347
358
|
};
|
|
348
|
-
highContrast
|
|
349
|
-
|
|
359
|
+
highContrast: {
|
|
360
|
+
borderWidth: string;
|
|
361
|
+
outlineWidth: string;
|
|
350
362
|
};
|
|
351
|
-
disabled
|
|
352
|
-
|
|
363
|
+
disabled: {
|
|
364
|
+
cursor: string;
|
|
365
|
+
opacity: string;
|
|
353
366
|
};
|
|
354
367
|
}
|
|
355
368
|
|
|
356
369
|
export interface PrintThemeConfig {
|
|
357
|
-
borderColor;
|
|
358
|
-
textColor;
|
|
359
|
-
textSecondaryColor;
|
|
360
|
-
backgroundColor;
|
|
370
|
+
borderColor: string;
|
|
371
|
+
textColor: string;
|
|
372
|
+
textSecondaryColor: string;
|
|
373
|
+
backgroundColor: string;
|
|
361
374
|
}
|
|
362
375
|
|
|
363
376
|
export interface ContainerQueryThemeConfig {
|
|
364
|
-
small;
|
|
365
|
-
medium;
|
|
366
|
-
large;
|
|
377
|
+
small: string;
|
|
378
|
+
medium: string;
|
|
379
|
+
large: string;
|
|
367
380
|
}
|
|
368
381
|
|
|
369
382
|
export interface ContainerThemeConfig {
|
|
370
|
-
width
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
383
|
+
width: {
|
|
384
|
+
small: string;
|
|
385
|
+
medium: string;
|
|
386
|
+
large: string;
|
|
387
|
+
xl: string;
|
|
388
|
+
full: string;
|
|
375
389
|
};
|
|
376
390
|
}
|
|
377
391
|
|
|
378
392
|
export interface ShimmerThemeConfig {
|
|
379
|
-
alpha;
|
|
380
|
-
color;
|
|
393
|
+
alpha: string;
|
|
394
|
+
color: string;
|
|
381
395
|
}
|
|
382
396
|
|
|
383
397
|
export interface TransitionDuration {
|
|
384
|
-
fast;
|
|
385
|
-
normal;
|
|
386
|
-
slow;
|
|
398
|
+
fast: string;
|
|
399
|
+
normal: string;
|
|
400
|
+
slow: string;
|
|
387
401
|
}
|
|
388
402
|
|
|
389
403
|
export interface TransitionEasing {
|
|
390
|
-
linear;
|
|
391
|
-
ease;
|
|
392
|
-
easeIn;
|
|
393
|
-
easeOut;
|
|
394
|
-
easeInOut;
|
|
404
|
+
linear: string;
|
|
405
|
+
ease: string;
|
|
406
|
+
easeIn: string;
|
|
407
|
+
easeOut: string;
|
|
408
|
+
easeInOut: string;
|
|
395
409
|
}
|
|
396
410
|
|
|
397
411
|
export interface TransitionProperties {
|
|
398
|
-
colors;
|
|
399
|
-
transform;
|
|
400
|
-
opacity;
|
|
401
|
-
shadow;
|
|
412
|
+
colors: string;
|
|
413
|
+
transform: string;
|
|
414
|
+
opacity: string;
|
|
415
|
+
shadow: string;
|
|
402
416
|
}
|
|
403
417
|
|
|
404
418
|
export interface ThemeMetadata {
|
|
405
|
-
name;
|
|
406
|
-
description;
|
|
407
|
-
author;
|
|
408
|
-
version;
|
|
409
|
-
category;
|
|
410
|
-
tags];
|
|
411
|
-
preview; // URL to preview image
|
|
412
|
-
createdAt;
|
|
413
|
-
updatedAt;
|
|
419
|
+
name: string;
|
|
420
|
+
description: string;
|
|
421
|
+
author: string;
|
|
422
|
+
version: string;
|
|
423
|
+
category: 'brand' | 'enterprise' | 'creative' | 'custom' | 'accessibility';
|
|
424
|
+
tags: string[];
|
|
425
|
+
preview: string; // URL to preview image
|
|
426
|
+
createdAt: string;
|
|
427
|
+
updatedAt: string;
|
|
414
428
|
}
|
|
415
429
|
|
|
416
430
|
// Theme validation types
|
|
417
431
|
export interface ThemeValidationResult {
|
|
418
|
-
isValid;
|
|
419
|
-
errors];
|
|
420
|
-
warnings];
|
|
432
|
+
isValid: boolean;
|
|
433
|
+
errors: ThemeValidationError[];
|
|
434
|
+
warnings: ThemeValidationWarning[];
|
|
421
435
|
}
|
|
422
436
|
|
|
423
437
|
export interface ThemeValidationError {
|
|
424
|
-
path;
|
|
425
|
-
message;
|
|
426
|
-
severity;
|
|
438
|
+
path: string;
|
|
439
|
+
message: string;
|
|
440
|
+
severity: 'error' | 'critical';
|
|
427
441
|
}
|
|
428
442
|
|
|
429
443
|
export interface ThemeValidationWarning {
|
|
430
|
-
path;
|
|
431
|
-
message;
|
|
432
|
-
severity;
|
|
444
|
+
path: string;
|
|
445
|
+
message: string;
|
|
446
|
+
severity: 'warning' | 'info';
|
|
433
447
|
}
|
|
434
448
|
|
|
435
449
|
// Theme inheritance types
|
|
436
450
|
export interface ThemeInheritance {
|
|
437
|
-
extends
|
|
438
|
-
overrides
|
|
439
|
-
additions
|
|
451
|
+
extends?: string; // Theme name to extend
|
|
452
|
+
overrides: Partial<MultiThemeConfig>; // Properties to override
|
|
453
|
+
additions: Partial<MultiThemeConfig>; // Properties to add
|
|
440
454
|
}
|
|
441
455
|
|
|
442
456
|
// Complete theme with inheritance
|
|
443
457
|
export interface CompleteThemeConfig extends MultiThemeConfig {
|
|
444
|
-
inheritance
|
|
445
|
-
validation;
|
|
458
|
+
inheritance?: ThemeInheritance;
|
|
459
|
+
validation: ThemeValidationResult;
|
|
446
460
|
}
|