@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
@@ -1,18 +1,18 @@
1
1
  import { createContext } from 'react';
2
-
2
+ import type { ReactNode } from 'react';
3
3
  import { MultiThemeConfig, CompleteThemeConfig } from './types';
4
4
 
5
5
  // Theme context interface
6
6
  export interface ThemeContextType {
7
- currentTheme;
8
- currentThemeConfig;
9
- availableThemes];
10
- setTheme) => void;
11
- addTheme, theme) => void;
12
- removeTheme) => void;
13
- getTheme) => CompleteThemeConfig | null;
14
- isLoading;
15
- error;
7
+ currentTheme: string;
8
+ currentThemeConfig: CompleteThemeConfig | null;
9
+ availableThemes: string[];
10
+ setTheme: (themeName: string) => void;
11
+ addTheme: (name: string, theme: MultiThemeConfig) => void;
12
+ removeTheme: (name: string) => void;
13
+ getTheme: (name: string) => CompleteThemeConfig | null;
14
+ isLoading: boolean;
15
+ error: string | null;
16
16
  }
17
17
 
18
18
  // Create the context
@@ -20,11 +20,11 @@ const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
20
20
 
21
21
  // Provider props interface
22
22
  export interface ThemeProviderProps {
23
- children;
24
- defaultTheme?;
25
- themes?, MultiThemeConfig>;
26
- persistTheme?;
27
- storageKey?;
23
+ children: ReactNode;
24
+ defaultTheme?: string;
25
+ themes?: Record<string, MultiThemeConfig>;
26
+ persistTheme?: boolean;
27
+ storageKey?: string;
28
28
  }
29
29
 
30
30
  // Export the context for testing and advanced usage
@@ -1,18 +1,18 @@
1
1
  import { createContext } from 'react';
2
-
2
+ import type { ReactNode } from 'react';
3
3
  import { MultiThemeConfig, CompleteThemeConfig } from './types';
4
4
 
5
5
  // Theme context interface
6
6
  export interface ThemeContextType {
7
- currentTheme;
8
- currentThemeConfig;
9
- availableThemes];
10
- setTheme) => void;
11
- addTheme, theme) => void;
12
- removeTheme) => void;
13
- getTheme) => CompleteThemeConfig | null;
14
- isLoading;
15
- error;
7
+ currentTheme: string;
8
+ currentThemeConfig: CompleteThemeConfig | null;
9
+ availableThemes: string[];
10
+ setTheme: (themeName: string) => void;
11
+ addTheme: (name: string, theme: MultiThemeConfig) => void;
12
+ removeTheme: (name: string) => void;
13
+ getTheme: (name: string) => CompleteThemeConfig | null;
14
+ isLoading: boolean;
15
+ error: string | null;
16
16
  }
17
17
 
18
18
  // Create the context
@@ -20,11 +20,11 @@ const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
20
20
 
21
21
  // Provider props interface
22
22
  export interface ThemeProviderProps {
23
- children;
24
- defaultTheme?;
25
- themes?, MultiThemeConfig>;
26
- persistTheme?;
27
- storageKey?;
23
+ children: ReactNode;
24
+ defaultTheme?: string;
25
+ themes?: Record<string, MultiThemeConfig>;
26
+ persistTheme?: boolean;
27
+ storageKey?: string;
28
28
  }
29
29
 
30
30
  // Export the context for testing and advanced usage
@@ -8,7 +8,7 @@ import { themeCSSUpdater } from './themeCSSUpdater';
8
8
  import { fontLoader } from './fontLoader';
9
9
  import { ColorManager } from './colorManager';
10
10
 
11
- export const ThemeProvider= ({
11
+ export const ThemeProvider: React.FC<ThemeProviderProps> = ({
12
12
  children,
13
13
  defaultTheme = 'stan-design',
14
14
  themes = defaultThemes,
@@ -23,7 +23,7 @@ export const ThemeProvider= ({
23
23
  const [error, setError] = useState<string | null>(null);
24
24
 
25
25
  // Enhance theme colors using ColorManager
26
- const enhanceThemeColors = useCallback((themeConfig)=> {
26
+ const enhanceThemeColors = useCallback((themeConfig: CompleteThemeConfig): CompleteThemeConfig => {
27
27
  try {
28
28
  const enhanced = { ...themeConfig };
29
29
 
@@ -35,14 +35,16 @@ export const ThemeProvider= ({
35
35
  if (!enhanced.colors.primary.light || !enhanced.colors.primary.dark || !enhanced.colors.primary.contrast) {
36
36
  const enhancedScale = ColorManager.generateColorScale({
37
37
  baseColor,
38
- generateShades,
39
- generateContrast});
38
+ generateShades: true,
39
+ generateContrast: true
40
+ });
40
41
 
41
42
  enhanced.colors.primary = {
42
43
  ...enhanced.colors.primary,
43
- light,
44
- dark,
45
- contrast};
44
+ light: enhancedScale.light,
45
+ dark: enhancedScale.dark,
46
+ contrast: enhancedScale.contrast
47
+ };
46
48
  }
47
49
  }
48
50
 
@@ -62,7 +64,7 @@ export const ThemeProvider= ({
62
64
 
63
65
  return enhanced;
64
66
  } catch (err) {
65
- console.warn('Failed to enhance theme colors, err);
67
+ console.warn('Failed to enhance theme colors:', err);
66
68
  return themeConfig;
67
69
  }
68
70
  }, []);
@@ -75,7 +77,7 @@ export const ThemeProvider= ({
75
77
  try {
76
78
  themeInheritanceManager.registerTheme(name, theme);
77
79
  } catch (err) {
78
- console.warn(`Failed to register theme '${name}', err);
80
+ console.warn(`Failed to register theme '${name}':`, err);
79
81
  }
80
82
  });
81
83
 
@@ -87,14 +89,15 @@ export const ThemeProvider= ({
87
89
  const persistence = createThemePersistence({
88
90
  storageKey,
89
91
  defaultTheme,
90
- enableSystemPreference});
92
+ enableSystemPreference: true
93
+ });
91
94
  const persistedTheme = persistence.getStoredTheme();
92
95
  if (persistedTheme && themes[persistedTheme]) {
93
96
  setCurrentThemeState(persistedTheme);
94
97
  }
95
98
  }
96
99
  } catch (err) {
97
- setError(`Failed to initialize themes}`);
100
+ setError(`Failed to initialize themes: ${err instanceof Error ? err.message : 'Unknown error'}`);
98
101
  } finally {
99
102
  setIsLoading(false);
100
103
  }
@@ -113,13 +116,13 @@ export const ThemeProvider= ({
113
116
  // Apply the enhanced theme to CSS variables and load fonts
114
117
  themeCSSUpdater.applyTheme(enhancedThemeConfig);
115
118
  fontLoader.loadThemeFonts(enhancedThemeConfig.fonts).catch(err => {
116
- console.warn(`Failed to load fonts for theme '${currentTheme}', err);
119
+ console.warn(`Failed to load fonts for theme '${currentTheme}':`, err);
117
120
  });
118
121
  }
119
122
 
120
123
  setError(null);
121
124
  } catch (err) {
122
- const errorMessage = `Failed to load theme '${currentTheme}'}`;
125
+ const errorMessage = `Failed to load theme '${currentTheme}': ${err instanceof Error ? err.message : 'Unknown error'}`;
123
126
  setError(errorMessage);
124
127
  setCurrentThemeConfig(null);
125
128
  console.error(errorMessage, err);
@@ -127,7 +130,7 @@ export const ThemeProvider= ({
127
130
  }, [currentTheme, enhanceThemeColors]);
128
131
 
129
132
  // Theme switching function
130
- const setTheme = useCallback(async (themeName) => {
133
+ const setTheme = useCallback(async (themeName: string) => {
131
134
  if (!themes[themeName]) {
132
135
  setError(`Theme '${themeName}' not found`);
133
136
  return;
@@ -162,25 +165,25 @@ export const ThemeProvider= ({
162
165
 
163
166
  setError(null);
164
167
  } catch (err) {
165
- const errorMessage = `Failed to switch to theme '${themeName}'}`;
168
+ const errorMessage = `Failed to switch to theme '${themeName}': ${err instanceof Error ? err.message : 'Unknown error'}`;
166
169
  setError(errorMessage);
167
170
  console.error(errorMessage, err);
168
171
  }
169
172
  }, [themes, persistTheme, storageKey]);
170
173
 
171
174
  // Add new theme
172
- const addTheme = useCallback((name, theme) => {
175
+ const addTheme = useCallback((name: string, theme: MultiThemeConfig) => {
173
176
  try {
174
177
  themeInheritanceManager.registerTheme(name, theme);
175
178
  setAvailableThemes(prev => [...prev, name]);
176
179
  setError(null);
177
180
  } catch (err) {
178
- setError(`Failed to add theme '${name}'}`);
181
+ setError(`Failed to add theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
179
182
  }
180
183
  }, []);
181
184
 
182
185
  // Remove theme
183
- const removeTheme = useCallback((name) => {
186
+ const removeTheme = useCallback((name: string) => {
184
187
  try {
185
188
  // Don't allow removing the current theme
186
189
  if (name === currentTheme) {
@@ -194,22 +197,22 @@ export const ThemeProvider= ({
194
197
  setAvailableThemes(prev => prev.filter(t => t !== name));
195
198
  setError(null);
196
199
  } catch (err) {
197
- setError(`Failed to remove theme '${name}'}`);
200
+ setError(`Failed to remove theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
198
201
  }
199
202
  }, [currentTheme]);
200
203
 
201
204
  // Get theme by name
202
- const getTheme = useCallback((name)=> {
205
+ const getTheme = useCallback((name: string): CompleteThemeConfig | null => {
203
206
  try {
204
207
  return themeInheritanceManager.getCompleteTheme(name);
205
208
  } catch (err) {
206
- setError(`Failed to get theme '${name}'}`);
209
+ setError(`Failed to get theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
207
210
  return null;
208
211
  }
209
212
  }, []);
210
213
 
211
214
  // Context value
212
- const contextValue= {
215
+ const contextValue: ThemeContextType = {
213
216
  currentTheme,
214
217
  currentThemeConfig,
215
218
  availableThemes,
@@ -8,7 +8,7 @@ import { themeCSSUpdater } from './themeCSSUpdater';
8
8
  import { fontLoader } from './fontLoader';
9
9
  import { ColorManager } from './colorManager';
10
10
 
11
- export const ThemeProvider= ({
11
+ export const ThemeProvider: React.FC<ThemeProviderProps> = ({
12
12
  children,
13
13
  defaultTheme = 'stan-design',
14
14
  themes = defaultThemes,
@@ -23,7 +23,7 @@ export const ThemeProvider= ({
23
23
  const [error, setError] = useState<string | null>(null);
24
24
 
25
25
  // Enhance theme colors using ColorManager
26
- const enhanceThemeColors = useCallback((themeConfig)=> {
26
+ const enhanceThemeColors = useCallback((themeConfig: CompleteThemeConfig): CompleteThemeConfig => {
27
27
  try {
28
28
  const enhanced = { ...themeConfig };
29
29
 
@@ -35,14 +35,16 @@ export const ThemeProvider= ({
35
35
  if (!enhanced.colors.primary.light || !enhanced.colors.primary.dark || !enhanced.colors.primary.contrast) {
36
36
  const enhancedScale = ColorManager.generateColorScale({
37
37
  baseColor,
38
- generateShades,
39
- generateContrast});
38
+ generateShades: true,
39
+ generateContrast: true
40
+ });
40
41
 
41
42
  enhanced.colors.primary = {
42
43
  ...enhanced.colors.primary,
43
- light,
44
- dark,
45
- contrast};
44
+ light: enhancedScale.light,
45
+ dark: enhancedScale.dark,
46
+ contrast: enhancedScale.contrast
47
+ };
46
48
  }
47
49
  }
48
50
 
@@ -62,7 +64,7 @@ export const ThemeProvider= ({
62
64
 
63
65
  return enhanced;
64
66
  } catch (err) {
65
- console.warn('Failed to enhance theme colors, err);
67
+ console.warn('Failed to enhance theme colors:', err);
66
68
  return themeConfig;
67
69
  }
68
70
  }, []);
@@ -75,7 +77,7 @@ export const ThemeProvider= ({
75
77
  try {
76
78
  themeInheritanceManager.registerTheme(name, theme);
77
79
  } catch (err) {
78
- console.warn(`Failed to register theme '${name}', err);
80
+ console.warn(`Failed to register theme '${name}':`, err);
79
81
  }
80
82
  });
81
83
 
@@ -87,14 +89,15 @@ export const ThemeProvider= ({
87
89
  const persistence = createThemePersistence({
88
90
  storageKey,
89
91
  defaultTheme,
90
- enableSystemPreference});
92
+ enableSystemPreference: true
93
+ });
91
94
  const persistedTheme = persistence.getStoredTheme();
92
95
  if (persistedTheme && themes[persistedTheme]) {
93
96
  setCurrentThemeState(persistedTheme);
94
97
  }
95
98
  }
96
99
  } catch (err) {
97
- setError(`Failed to initialize themes}`);
100
+ setError(`Failed to initialize themes: ${err instanceof Error ? err.message : 'Unknown error'}`);
98
101
  } finally {
99
102
  setIsLoading(false);
100
103
  }
@@ -113,13 +116,13 @@ export const ThemeProvider= ({
113
116
  // Apply the enhanced theme to CSS variables and load fonts
114
117
  themeCSSUpdater.applyTheme(enhancedThemeConfig);
115
118
  fontLoader.loadThemeFonts(enhancedThemeConfig.fonts).catch(err => {
116
- console.warn(`Failed to load fonts for theme '${currentTheme}', err);
119
+ console.warn(`Failed to load fonts for theme '${currentTheme}':`, err);
117
120
  });
118
121
  }
119
122
 
120
123
  setError(null);
121
124
  } catch (err) {
122
- const errorMessage = `Failed to load theme '${currentTheme}'}`;
125
+ const errorMessage = `Failed to load theme '${currentTheme}': ${err instanceof Error ? err.message : 'Unknown error'}`;
123
126
  setError(errorMessage);
124
127
  setCurrentThemeConfig(null);
125
128
  console.error(errorMessage, err);
@@ -127,7 +130,7 @@ export const ThemeProvider= ({
127
130
  }, [currentTheme, enhanceThemeColors]);
128
131
 
129
132
  // Theme switching function
130
- const setTheme = useCallback(async (themeName) => {
133
+ const setTheme = useCallback(async (themeName: string) => {
131
134
  if (!themes[themeName]) {
132
135
  setError(`Theme '${themeName}' not found`);
133
136
  return;
@@ -162,25 +165,25 @@ export const ThemeProvider= ({
162
165
 
163
166
  setError(null);
164
167
  } catch (err) {
165
- const errorMessage = `Failed to switch to theme '${themeName}'}`;
168
+ const errorMessage = `Failed to switch to theme '${themeName}': ${err instanceof Error ? err.message : 'Unknown error'}`;
166
169
  setError(errorMessage);
167
170
  console.error(errorMessage, err);
168
171
  }
169
172
  }, [themes, persistTheme, storageKey]);
170
173
 
171
174
  // Add new theme
172
- const addTheme = useCallback((name, theme) => {
175
+ const addTheme = useCallback((name: string, theme: MultiThemeConfig) => {
173
176
  try {
174
177
  themeInheritanceManager.registerTheme(name, theme);
175
178
  setAvailableThemes(prev => [...prev, name]);
176
179
  setError(null);
177
180
  } catch (err) {
178
- setError(`Failed to add theme '${name}'}`);
181
+ setError(`Failed to add theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
179
182
  }
180
183
  }, []);
181
184
 
182
185
  // Remove theme
183
- const removeTheme = useCallback((name) => {
186
+ const removeTheme = useCallback((name: string) => {
184
187
  try {
185
188
  // Don't allow removing the current theme
186
189
  if (name === currentTheme) {
@@ -194,22 +197,22 @@ export const ThemeProvider= ({
194
197
  setAvailableThemes(prev => prev.filter(t => t !== name));
195
198
  setError(null);
196
199
  } catch (err) {
197
- setError(`Failed to remove theme '${name}'}`);
200
+ setError(`Failed to remove theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
198
201
  }
199
202
  }, [currentTheme]);
200
203
 
201
204
  // Get theme by name
202
- const getTheme = useCallback((name)=> {
205
+ const getTheme = useCallback((name: string): CompleteThemeConfig | null => {
203
206
  try {
204
207
  return themeInheritanceManager.getCompleteTheme(name);
205
208
  } catch (err) {
206
- setError(`Failed to get theme '${name}'}`);
209
+ setError(`Failed to get theme '${name}': ${err instanceof Error ? err.message : 'Unknown error'}`);
207
210
  return null;
208
211
  }
209
212
  }, []);
210
213
 
211
214
  // Context value
212
- const contextValue= {
215
+ const contextValue: ThemeContextType = {
213
216
  currentTheme,
214
217
  currentThemeConfig,
215
218
  availableThemes,