@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.8 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.esm.js +30 -24
  3. package/dist/components/ui/accessibility-demo.js +30 -24
  4. package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
  5. package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
  6. package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
  7. package/dist/components/ui/advanced-transition-system-demo.js +110 -64
  8. package/dist/components/ui/advanced-transition-system.esm.js +166 -122
  9. package/dist/components/ui/advanced-transition-system.js +166 -122
  10. package/dist/components/ui/animation/animated-container.esm.js +52 -29
  11. package/dist/components/ui/animation/animated-container.js +52 -29
  12. package/dist/components/ui/animation/staggered-container.esm.js +18 -9
  13. package/dist/components/ui/animation/staggered-container.js +18 -9
  14. package/dist/components/ui/animation-demo.esm.js +67 -35
  15. package/dist/components/ui/animation-demo.js +67 -35
  16. package/dist/components/ui/badge.esm.js +9 -6
  17. package/dist/components/ui/badge.js +9 -6
  18. package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
  19. package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
  20. package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
  21. package/dist/components/ui/border-radius-shadow-demo.js +23 -12
  22. package/dist/components/ui/button.esm.js +8 -2
  23. package/dist/components/ui/button.js +8 -2
  24. package/dist/components/ui/card.esm.js +33 -8
  25. package/dist/components/ui/card.js +33 -8
  26. package/dist/components/ui/checkbox.esm.js +3 -3
  27. package/dist/components/ui/checkbox.js +3 -3
  28. package/dist/components/ui/color-preview.esm.js +68 -45
  29. package/dist/components/ui/color-preview.js +68 -45
  30. package/dist/components/ui/data-display/chart.esm.js +112 -84
  31. package/dist/components/ui/data-display/chart.js +112 -84
  32. package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
  33. package/dist/components/ui/data-display/data-grid-simple.js +1 -1
  34. package/dist/components/ui/data-display/data-grid.esm.js +80 -67
  35. package/dist/components/ui/data-display/data-grid.js +80 -67
  36. package/dist/components/ui/data-display/list.esm.js +53 -45
  37. package/dist/components/ui/data-display/list.js +53 -45
  38. package/dist/components/ui/data-display/table.esm.js +62 -54
  39. package/dist/components/ui/data-display/table.js +62 -54
  40. package/dist/components/ui/data-display/timeline.esm.js +39 -34
  41. package/dist/components/ui/data-display/timeline.js +39 -34
  42. package/dist/components/ui/data-display/tree.esm.js +116 -84
  43. package/dist/components/ui/data-display/tree.js +116 -84
  44. package/dist/components/ui/data-display/types.esm.js +389 -364
  45. package/dist/components/ui/data-display/types.js +389 -364
  46. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
  47. package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
  48. package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
  49. package/dist/components/ui/enterprise-mobile-experience.js +124 -73
  50. package/dist/components/ui/feedback/alert.esm.js +22 -15
  51. package/dist/components/ui/feedback/alert.js +22 -15
  52. package/dist/components/ui/feedback/progress.esm.js +47 -24
  53. package/dist/components/ui/feedback/progress.js +47 -24
  54. package/dist/components/ui/feedback/skeleton.esm.js +39 -29
  55. package/dist/components/ui/feedback/skeleton.js +39 -29
  56. package/dist/components/ui/feedback/toast.esm.js +62 -38
  57. package/dist/components/ui/feedback/toast.js +62 -38
  58. package/dist/components/ui/feedback/types.esm.js +83 -83
  59. package/dist/components/ui/feedback/types.js +83 -83
  60. package/dist/components/ui/font-preview.esm.js +41 -39
  61. package/dist/components/ui/font-preview.js +41 -39
  62. package/dist/components/ui/form-demo.esm.js +150 -113
  63. package/dist/components/ui/form-demo.js +150 -113
  64. package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
  65. package/dist/components/ui/hardware-acceleration-demo.js +137 -87
  66. package/dist/components/ui/input.esm.js +4 -1
  67. package/dist/components/ui/input.js +4 -1
  68. package/dist/components/ui/layout-demo.esm.js +81 -56
  69. package/dist/components/ui/layout-demo.js +81 -56
  70. package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
  71. package/dist/components/ui/layouts/adaptive-layout.js +27 -8
  72. package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
  73. package/dist/components/ui/layouts/desktop-layout.js +39 -19
  74. package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
  75. package/dist/components/ui/layouts/mobile-layout.js +19 -9
  76. package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
  77. package/dist/components/ui/layouts/tablet-layout.js +28 -14
  78. package/dist/components/ui/mobile-form-validation.esm.js +120 -87
  79. package/dist/components/ui/mobile-form-validation.js +120 -87
  80. package/dist/components/ui/mobile-input-demo.esm.js +19 -13
  81. package/dist/components/ui/mobile-input-demo.js +19 -13
  82. package/dist/components/ui/mobile-input.esm.js +185 -120
  83. package/dist/components/ui/mobile-input.js +185 -120
  84. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
  85. package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
  86. package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
  87. package/dist/components/ui/navigation/breadcrumb.js +17 -14
  88. package/dist/components/ui/navigation/index.esm.js +23 -1
  89. package/dist/components/ui/navigation/index.js +23 -1
  90. package/dist/components/ui/navigation/menu.esm.js +49 -35
  91. package/dist/components/ui/navigation/menu.js +49 -35
  92. package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
  93. package/dist/components/ui/navigation/navigation-demo.js +81 -74
  94. package/dist/components/ui/navigation/pagination.esm.js +62 -50
  95. package/dist/components/ui/navigation/pagination.js +62 -50
  96. package/dist/components/ui/navigation/sidebar.esm.js +56 -42
  97. package/dist/components/ui/navigation/sidebar.js +56 -42
  98. package/dist/components/ui/navigation/stepper.esm.js +34 -23
  99. package/dist/components/ui/navigation/stepper.js +34 -23
  100. package/dist/components/ui/navigation/tabs.esm.js +32 -21
  101. package/dist/components/ui/navigation/tabs.js +32 -21
  102. package/dist/components/ui/navigation/types.esm.js +196 -195
  103. package/dist/components/ui/navigation/types.js +196 -195
  104. package/dist/components/ui/overlay/backdrop.esm.js +17 -16
  105. package/dist/components/ui/overlay/backdrop.js +17 -16
  106. package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
  107. package/dist/components/ui/overlay/focus-manager.js +21 -19
  108. package/dist/components/ui/overlay/index.esm.js +22 -2
  109. package/dist/components/ui/overlay/index.js +22 -2
  110. package/dist/components/ui/overlay/modal.esm.js +38 -34
  111. package/dist/components/ui/overlay/modal.js +38 -34
  112. package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
  113. package/dist/components/ui/overlay/overlay-manager.js +25 -20
  114. package/dist/components/ui/overlay/popover.esm.js +74 -58
  115. package/dist/components/ui/overlay/popover.js +74 -58
  116. package/dist/components/ui/overlay/portal.esm.js +7 -7
  117. package/dist/components/ui/overlay/portal.js +7 -7
  118. package/dist/components/ui/overlay/tooltip.esm.js +54 -39
  119. package/dist/components/ui/overlay/tooltip.js +54 -39
  120. package/dist/components/ui/overlay/types.esm.js +132 -131
  121. package/dist/components/ui/overlay/types.js +132 -131
  122. package/dist/components/ui/performance-demo.esm.js +135 -88
  123. package/dist/components/ui/performance-demo.js +135 -88
  124. package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
  125. package/dist/components/ui/semantic-input-system-demo.js +117 -80
  126. package/dist/components/ui/theme-customizer.esm.js +84 -52
  127. package/dist/components/ui/theme-customizer.js +84 -52
  128. package/dist/components/ui/theme-preview.esm.js +95 -43
  129. package/dist/components/ui/theme-preview.js +95 -43
  130. package/dist/components/ui/theme-switcher.esm.js +70 -44
  131. package/dist/components/ui/theme-switcher.js +70 -44
  132. package/dist/components/ui/theme-toggle.esm.js +3 -3
  133. package/dist/components/ui/theme-toggle.js +3 -3
  134. package/dist/components/ui/token-demo.esm.js +33 -21
  135. package/dist/components/ui/token-demo.js +33 -21
  136. package/dist/components/ui/touch-demo.esm.js +102 -73
  137. package/dist/components/ui/touch-demo.js +102 -73
  138. package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
  139. package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
  140. package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
  141. package/dist/components/ui/touch-friendly-interface.js +85 -61
  142. package/dist/hooks/use-accessibility-support.esm.js +115 -85
  143. package/dist/hooks/use-accessibility-support.js +115 -85
  144. package/dist/hooks/use-adaptive-layout.esm.js +56 -33
  145. package/dist/hooks/use-adaptive-layout.js +56 -33
  146. package/dist/hooks/use-advanced-patterns.esm.js +57 -42
  147. package/dist/hooks/use-advanced-patterns.js +57 -42
  148. package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
  149. package/dist/hooks/use-advanced-transition-system.js +112 -71
  150. package/dist/hooks/use-animation-profile.esm.js +63 -34
  151. package/dist/hooks/use-animation-profile.js +63 -34
  152. package/dist/hooks/use-battery-animations.esm.js +80 -55
  153. package/dist/hooks/use-battery-animations.js +80 -55
  154. package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
  155. package/dist/hooks/use-battery-conscious-loading.js +166 -123
  156. package/dist/hooks/use-battery-optimization.esm.js +78 -55
  157. package/dist/hooks/use-battery-optimization.js +78 -55
  158. package/dist/hooks/use-battery-status.esm.js +73 -51
  159. package/dist/hooks/use-battery-status.js +73 -51
  160. package/dist/hooks/use-component-performance.esm.js +62 -47
  161. package/dist/hooks/use-component-performance.js +62 -47
  162. package/dist/hooks/use-device-loading-states.esm.js +152 -109
  163. package/dist/hooks/use-device-loading-states.js +152 -109
  164. package/dist/hooks/use-device.esm.js +25 -14
  165. package/dist/hooks/use-device.js +25 -14
  166. package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
  167. package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
  168. package/dist/hooks/use-form-feedback.esm.js +124 -81
  169. package/dist/hooks/use-form-feedback.js +124 -81
  170. package/dist/hooks/use-form-performance.esm.js +127 -92
  171. package/dist/hooks/use-form-performance.js +127 -92
  172. package/dist/hooks/use-frame-rate.esm.js +56 -37
  173. package/dist/hooks/use-frame-rate.js +56 -37
  174. package/dist/hooks/use-gestures.esm.js +96 -72
  175. package/dist/hooks/use-gestures.js +96 -72
  176. package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
  177. package/dist/hooks/use-hardware-acceleration.js +65 -37
  178. package/dist/hooks/use-input-accessibility.esm.js +157 -119
  179. package/dist/hooks/use-input-accessibility.js +157 -119
  180. package/dist/hooks/use-input-performance.esm.js +139 -104
  181. package/dist/hooks/use-input-performance.js +139 -104
  182. package/dist/hooks/use-layout-performance.esm.js +50 -29
  183. package/dist/hooks/use-layout-performance.js +50 -29
  184. package/dist/hooks/use-loading-accessibility.esm.js +209 -169
  185. package/dist/hooks/use-loading-accessibility.js +209 -169
  186. package/dist/hooks/use-loading-performance.esm.js +117 -93
  187. package/dist/hooks/use-loading-performance.js +117 -93
  188. package/dist/hooks/use-memory-usage.esm.js +57 -38
  189. package/dist/hooks/use-memory-usage.js +57 -38
  190. package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
  191. package/dist/hooks/use-mobile-form-layout.js +111 -74
  192. package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
  193. package/dist/hooks/use-mobile-form-validation.js +211 -144
  194. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
  195. package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
  196. package/dist/hooks/use-mobile-layout.esm.js +73 -51
  197. package/dist/hooks/use-mobile-layout.js +73 -51
  198. package/dist/hooks/use-mobile-optimization.esm.js +72 -44
  199. package/dist/hooks/use-mobile-optimization.js +72 -44
  200. package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
  201. package/dist/hooks/use-mobile-skeleton.js +97 -64
  202. package/dist/hooks/use-mobile-touch.esm.js +128 -93
  203. package/dist/hooks/use-mobile-touch.js +128 -93
  204. package/dist/hooks/use-performance-throttling.esm.js +72 -48
  205. package/dist/hooks/use-performance-throttling.js +72 -48
  206. package/dist/hooks/use-performance.esm.js +90 -52
  207. package/dist/hooks/use-performance.js +90 -52
  208. package/dist/hooks/use-reusable-architecture.esm.js +94 -65
  209. package/dist/hooks/use-reusable-architecture.js +94 -65
  210. package/dist/hooks/use-semantic-input-types.esm.js +166 -124
  211. package/dist/hooks/use-semantic-input-types.js +166 -124
  212. package/dist/hooks/use-semantic-input.esm.js +178 -126
  213. package/dist/hooks/use-semantic-input.js +178 -126
  214. package/dist/hooks/use-tablet-layout.esm.js +67 -38
  215. package/dist/hooks/use-tablet-layout.js +67 -38
  216. package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
  217. package/dist/hooks/use-touch-friendly-input.js +193 -149
  218. package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
  219. package/dist/hooks/use-touch-friendly-interface.js +99 -67
  220. package/dist/hooks/use-touch-optimization.esm.js +99 -72
  221. package/dist/hooks/use-touch-optimization.js +99 -72
  222. package/dist/index.esm.js +289 -280
  223. package/dist/index.js +289 -280
  224. package/dist/lib/utils.esm.js +1 -1
  225. package/dist/lib/utils.js +1 -1
  226. package/dist/plugins/theme-css-generator.esm.js +104 -55
  227. package/dist/plugins/theme-css-generator.js +104 -55
  228. package/dist/provider.esm.js +4 -4
  229. package/dist/provider.js +4 -4
  230. package/dist/styles.css +1 -1
  231. package/dist/theme.esm.js +633 -468
  232. package/dist/theme.js +633 -468
  233. package/dist/themes/ThemeContext.esm.js +15 -15
  234. package/dist/themes/ThemeContext.js +15 -15
  235. package/dist/themes/ThemeProvider.esm.js +25 -22
  236. package/dist/themes/ThemeProvider.js +25 -22
  237. package/dist/themes/accessibility.esm.js +147 -108
  238. package/dist/themes/accessibility.js +147 -108
  239. package/dist/themes/aria-patterns.esm.js +198 -162
  240. package/dist/themes/aria-patterns.js +198 -162
  241. package/dist/themes/base-themes.esm.js +14 -11
  242. package/dist/themes/base-themes.js +14 -11
  243. package/dist/themes/colorManager.esm.js +101 -83
  244. package/dist/themes/colorManager.js +101 -83
  245. package/dist/themes/examples/dark-theme.esm.js +133 -103
  246. package/dist/themes/examples/dark-theme.js +133 -103
  247. package/dist/themes/examples/minimal-theme.esm.js +83 -61
  248. package/dist/themes/examples/minimal-theme.js +83 -61
  249. package/dist/themes/focus-management.esm.js +202 -143
  250. package/dist/themes/focus-management.js +202 -143
  251. package/dist/themes/fontLoader.esm.js +28 -19
  252. package/dist/themes/fontLoader.js +28 -19
  253. package/dist/themes/high-contrast.esm.js +152 -104
  254. package/dist/themes/high-contrast.js +152 -104
  255. package/dist/themes/inheritance.esm.js +35 -27
  256. package/dist/themes/inheritance.js +35 -27
  257. package/dist/themes/keyboard-navigation.esm.js +152 -123
  258. package/dist/themes/keyboard-navigation.js +152 -123
  259. package/dist/themes/motion-reduction.esm.js +193 -133
  260. package/dist/themes/motion-reduction.js +193 -133
  261. package/dist/themes/navigation.esm.js +146 -146
  262. package/dist/themes/navigation.js +146 -146
  263. package/dist/themes/screen-reader.esm.js +159 -94
  264. package/dist/themes/screen-reader.js +159 -94
  265. package/dist/themes/systemThemeDetector.esm.js +42 -34
  266. package/dist/themes/systemThemeDetector.js +42 -34
  267. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  268. package/dist/themes/themeCSSUpdater.js +21 -9
  269. package/dist/themes/themePersistence.esm.js +68 -47
  270. package/dist/themes/themePersistence.js +68 -47
  271. package/dist/themes/themes/stan-design.esm.js +633 -468
  272. package/dist/themes/themes/stan-design.js +633 -468
  273. package/dist/themes/types.esm.js +301 -287
  274. package/dist/themes/types.js +301 -287
  275. package/dist/themes/useSystemTheme.esm.js +4 -4
  276. package/dist/themes/useSystemTheme.js +4 -4
  277. package/dist/themes/useTheme.esm.js +4 -4
  278. package/dist/themes/useTheme.js +4 -4
  279. package/dist/themes/validation.esm.js +128 -77
  280. package/dist/themes/validation.js +128 -77
  281. package/dist/tokens/index.esm.js +15 -4
  282. package/dist/tokens/index.js +15 -4
  283. package/dist/tokens/tokenExporter.esm.js +87 -61
  284. package/dist/tokens/tokenExporter.js +87 -61
  285. package/dist/tokens/tokenGenerator.esm.js +86 -77
  286. package/dist/tokens/tokenGenerator.js +86 -77
  287. package/dist/tokens/tokenManager.esm.js +64 -51
  288. package/dist/tokens/tokenManager.js +64 -51
  289. package/dist/tokens/tokenValidator.esm.js +193 -147
  290. package/dist/tokens/tokenValidator.js +193 -147
  291. package/dist/tokens/types.esm.js +49 -35
  292. package/dist/tokens/types.js +49 -35
  293. package/dist/utils/bundle-analyzer.esm.js +83 -65
  294. package/dist/utils/bundle-analyzer.js +83 -65
  295. package/dist/utils/bundle-splitting.esm.js +142 -117
  296. package/dist/utils/bundle-splitting.js +142 -117
  297. package/dist/utils/lazy-loading.esm.js +132 -106
  298. package/dist/utils/lazy-loading.js +132 -106
  299. package/dist/utils/performance-monitor.esm.js +170 -129
  300. package/dist/utils/performance-monitor.js +170 -129
  301. package/dist/utils/tree-shaking.esm.js +69 -61
  302. package/dist/utils/tree-shaking.js +69 -61
  303. package/package.json +1 -1
  304. package/src/index.ts +146 -146
@@ -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?; // Optional property for theme inheritance
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?]; // Font fallback stack
45
- display?; // Font loading strategy
46
- source?; // Font source configuration
47
- features?; // Advanced font 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?; // For custom fonts
53
- files?; // For custom font 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?; // Lighter than 50
135
- dark?; // Darker than 900
136
- contrast?; // High contrast version
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
- margin;
270
- gap;
271
+ button: {
272
+ padding: string;
273
+ margin: string;
274
+ gap: string;
271
275
  };
272
- input;
273
- margin;
274
- gap;
276
+ input: {
277
+ padding: string;
278
+ margin: string;
279
+ gap: string;
275
280
  };
276
- card;
277
- margin;
278
- gap;
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
- normal;
327
- slow;
331
+ duration: {
332
+ fast: string;
333
+ normal: string;
334
+ slow: string;
328
335
  };
329
- easing;
330
- ease;
331
- easeIn;
332
- easeOut;
333
- easeInOut;
336
+ easing: {
337
+ linear: string;
338
+ ease: string;
339
+ easeIn: string;
340
+ easeOut: string;
341
+ easeInOut: string;
334
342
  };
335
- transforms;
336
- offsetY;
337
- scale;
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
- offset;
344
- color;
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
- outlineWidth;
359
+ highContrast: {
360
+ borderWidth: string;
361
+ outlineWidth: string;
350
362
  };
351
- disabled;
352
- opacity;
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
- medium;
372
- large;
373
- xl;
374
- full;
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?; // Theme name to extend
438
- overrides; // Properties to override
439
- additions; // Properties to add
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
  }