@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.
Files changed (306) 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 +0 -1
  89. package/dist/components/ui/navigation/index.js +0 -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 +0 -2
  109. package/dist/components/ui/overlay/index.js +0 -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 +157 -281
  223. package/dist/index.js +157 -281
  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/index.esm.js +1 -1
  256. package/dist/themes/index.js +1 -1
  257. package/dist/themes/inheritance.esm.js +35 -27
  258. package/dist/themes/inheritance.js +35 -27
  259. package/dist/themes/keyboard-navigation.esm.js +152 -123
  260. package/dist/themes/keyboard-navigation.js +152 -123
  261. package/dist/themes/motion-reduction.esm.js +193 -133
  262. package/dist/themes/motion-reduction.js +193 -133
  263. package/dist/themes/navigation.esm.js +146 -146
  264. package/dist/themes/navigation.js +146 -146
  265. package/dist/themes/screen-reader.esm.js +159 -94
  266. package/dist/themes/screen-reader.js +159 -94
  267. package/dist/themes/systemThemeDetector.esm.js +42 -34
  268. package/dist/themes/systemThemeDetector.js +42 -34
  269. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  270. package/dist/themes/themeCSSUpdater.js +21 -9
  271. package/dist/themes/themePersistence.esm.js +68 -47
  272. package/dist/themes/themePersistence.js +68 -47
  273. package/dist/themes/themes/stan-design.esm.js +633 -468
  274. package/dist/themes/themes/stan-design.js +633 -468
  275. package/dist/themes/types.esm.js +301 -287
  276. package/dist/themes/types.js +301 -287
  277. package/dist/themes/useSystemTheme.esm.js +4 -4
  278. package/dist/themes/useSystemTheme.js +4 -4
  279. package/dist/themes/useTheme.esm.js +4 -4
  280. package/dist/themes/useTheme.js +4 -4
  281. package/dist/themes/validation.esm.js +128 -77
  282. package/dist/themes/validation.js +128 -77
  283. package/dist/tokens/index.esm.js +1 -2
  284. package/dist/tokens/index.js +1 -2
  285. package/dist/tokens/tokenExporter.esm.js +87 -61
  286. package/dist/tokens/tokenExporter.js +87 -61
  287. package/dist/tokens/tokenGenerator.esm.js +86 -77
  288. package/dist/tokens/tokenGenerator.js +86 -77
  289. package/dist/tokens/tokenManager.esm.js +64 -51
  290. package/dist/tokens/tokenManager.js +64 -51
  291. package/dist/tokens/tokenValidator.esm.js +193 -147
  292. package/dist/tokens/tokenValidator.js +193 -147
  293. package/dist/tokens/types.esm.js +49 -35
  294. package/dist/tokens/types.js +49 -35
  295. package/dist/utils/bundle-analyzer.esm.js +83 -65
  296. package/dist/utils/bundle-analyzer.js +83 -65
  297. package/dist/utils/bundle-splitting.esm.js +142 -117
  298. package/dist/utils/bundle-splitting.js +142 -117
  299. package/dist/utils/lazy-loading.esm.js +132 -106
  300. package/dist/utils/lazy-loading.js +132 -106
  301. package/dist/utils/performance-monitor.esm.js +170 -129
  302. package/dist/utils/performance-monitor.js +170 -129
  303. package/dist/utils/tree-shaking.esm.js +69 -61
  304. package/dist/utils/tree-shaking.js +69 -61
  305. package/package.json +1 -1
  306. package/src/index.ts +146 -146
@@ -2,124 +2,124 @@ import React from 'react';
2
2
 
3
3
  // Base props for all feedback components
4
4
  export interface FeedbackBaseProps {
5
- className?;
6
- theme?;
5
+ className?: string;
6
+ theme?: 'stan-design' | 'harvey';
7
7
  }
8
8
 
9
9
  // Alert Component Types
10
10
  export interface AlertProps extends FeedbackBaseProps {
11
- title?;
12
- message;
13
- type;
14
- dismissible?;
15
- onDismiss?) => void;
16
- icon?;
17
- actions?];
18
- showIcon?;
19
- closable?;
20
- persistent?;
21
- size?;
22
- variant?;
11
+ title?: string;
12
+ message: string;
13
+ type: 'success' | 'warning' | 'error' | 'info';
14
+ dismissible?: boolean;
15
+ onDismiss?: () => void;
16
+ icon?: React.ReactNode;
17
+ actions?: AlertAction[];
18
+ showIcon?: boolean;
19
+ closable?: boolean;
20
+ persistent?: boolean;
21
+ size?: 'sm' | 'md' | 'lg';
22
+ variant?: 'default' | 'bordered' | 'filled';
23
23
  }
24
24
 
25
25
  export interface AlertAction {
26
- label;
27
- onClick) => void;
28
- variant?;
29
- size?;
26
+ label: string;
27
+ onClick: () => void;
28
+ variant?: 'primary' | 'secondary' | 'ghost';
29
+ size?: 'sm' | 'md' | 'lg';
30
30
  }
31
31
 
32
32
  // Toast Component Types
33
33
  export interface ToastProps extends FeedbackBaseProps {
34
- id;
35
- title?;
36
- message;
37
- type;
38
- duration?; // milliseconds, 0 = persistent
39
- onClose?) => void;
40
- onAction?) => void;
41
- actions?];
42
- icon?;
43
- showIcon?;
44
- closable?;
45
- position?;
46
- autoClose?;
47
- pauseOnHover?;
48
- draggable?;
49
- progress?;
50
- size?;
51
- variant?;
34
+ id: string;
35
+ title?: string;
36
+ message: string;
37
+ type: 'success' | 'warning' | 'error' | 'info' | 'default';
38
+ duration?: number; // milliseconds, 0 = persistent
39
+ onClose?: () => void;
40
+ onAction?: (action: string) => void;
41
+ actions?: ToastAction[];
42
+ icon?: React.ReactNode;
43
+ showIcon?: boolean;
44
+ closable?: boolean;
45
+ position?: 'top-left' | 'top-right' | 'top-center' | 'bottom-left' | 'bottom-right' | 'bottom-center';
46
+ autoClose?: boolean;
47
+ pauseOnHover?: boolean;
48
+ draggable?: boolean;
49
+ progress?: boolean;
50
+ size?: 'sm' | 'md' | 'lg';
51
+ variant?: 'default' | 'bordered' | 'filled';
52
52
  }
53
53
 
54
54
  export interface ToastAction {
55
- label;
56
- action;
57
- variant?;
55
+ label: string;
56
+ action: string;
57
+ variant?: 'primary' | 'secondary' | 'ghost';
58
58
  }
59
59
 
60
60
  export interface ToastContainerProps {
61
- position?];
62
- maxToasts?;
63
- autoClose?;
64
- pauseOnHover?;
65
- draggable?;
66
- progress?;
67
- className?;
68
- theme?;
61
+ position?: ToastProps['position'];
62
+ maxToasts?: number;
63
+ autoClose?: boolean;
64
+ pauseOnHover?: boolean;
65
+ draggable?: boolean;
66
+ progress?: boolean;
67
+ className?: string;
68
+ theme?: 'stan-design' | 'harvey';
69
69
  }
70
70
 
71
71
  // Progress Component Types
72
72
  export interface ProgressProps extends FeedbackBaseProps {
73
- value; // 0-100
74
- max?;
75
- min?;
76
- label?;
77
- showLabel?;
78
- showValue?;
79
- showPercentage?;
80
- animated?;
81
- striped?;
82
- color?;
83
- size?;
84
- variant?;
85
- thickness?;
86
- trackColor?;
87
- progressColor?;
88
- indeterminate?;
89
- onComplete?) => void;
73
+ value: number; // 0-100
74
+ max?: number;
75
+ min?: number;
76
+ label?: string;
77
+ showLabel?: boolean;
78
+ showValue?: boolean;
79
+ showPercentage?: boolean;
80
+ animated?: boolean;
81
+ striped?: boolean;
82
+ color?: string;
83
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
84
+ variant?: 'linear' | 'circular' | 'steps';
85
+ thickness?: number;
86
+ trackColor?: string;
87
+ progressColor?: string;
88
+ indeterminate?: boolean;
89
+ onComplete?: () => void;
90
90
  }
91
91
 
92
92
  export interface ProgressStep {
93
- label;
94
- value;
95
- status;
96
- description?;
93
+ label: string;
94
+ value: number;
95
+ status: 'pending' | 'active' | 'completed' | 'error';
96
+ description?: string;
97
97
  }
98
98
 
99
99
  // Skeleton Component Types
100
100
  export interface SkeletonProps extends FeedbackBaseProps {
101
- width?;
102
- height?;
103
- variant?;
104
- animation?;
105
- rows?;
106
- spacing?;
107
- show?;
108
- className?;
109
- size?;
101
+ width?: string | number;
102
+ height?: string | number;
103
+ variant?: 'text' | 'circular' | 'rectangular' | 'rounded';
104
+ animation?: 'pulse' | 'wave' | 'none';
105
+ rows?: number;
106
+ spacing?: number;
107
+ show?: boolean;
108
+ className?: string;
109
+ size?: 'sm' | 'md' | 'lg' | 'xl';
110
110
  }
111
111
 
112
112
  export interface SkeletonTextProps extends SkeletonProps {
113
- lines?;
114
- lineHeight?;
115
- lastLineWidth?;
113
+ lines?: number;
114
+ lineHeight?: string | number;
115
+ lastLineWidth?: string | number;
116
116
  }
117
117
 
118
118
  export interface SkeletonAvatarProps extends SkeletonProps {
119
- size?;
120
- shape?;
119
+ size?: 'sm' | 'md' | 'lg' | 'xl';
120
+ shape?: 'circular' | 'square' | 'rounded';
121
121
  }
122
122
 
123
123
  export interface SkeletonButtonProps extends SkeletonProps {
124
- fullWidth?;
124
+ fullWidth?: boolean;
125
125
  }
@@ -2,124 +2,124 @@ import React from 'react';
2
2
 
3
3
  // Base props for all feedback components
4
4
  export interface FeedbackBaseProps {
5
- className?;
6
- theme?;
5
+ className?: string;
6
+ theme?: 'stan-design' | 'harvey';
7
7
  }
8
8
 
9
9
  // Alert Component Types
10
10
  export interface AlertProps extends FeedbackBaseProps {
11
- title?;
12
- message;
13
- type;
14
- dismissible?;
15
- onDismiss?) => void;
16
- icon?;
17
- actions?];
18
- showIcon?;
19
- closable?;
20
- persistent?;
21
- size?;
22
- variant?;
11
+ title?: string;
12
+ message: string;
13
+ type: 'success' | 'warning' | 'error' | 'info';
14
+ dismissible?: boolean;
15
+ onDismiss?: () => void;
16
+ icon?: React.ReactNode;
17
+ actions?: AlertAction[];
18
+ showIcon?: boolean;
19
+ closable?: boolean;
20
+ persistent?: boolean;
21
+ size?: 'sm' | 'md' | 'lg';
22
+ variant?: 'default' | 'bordered' | 'filled';
23
23
  }
24
24
 
25
25
  export interface AlertAction {
26
- label;
27
- onClick) => void;
28
- variant?;
29
- size?;
26
+ label: string;
27
+ onClick: () => void;
28
+ variant?: 'primary' | 'secondary' | 'ghost';
29
+ size?: 'sm' | 'md' | 'lg';
30
30
  }
31
31
 
32
32
  // Toast Component Types
33
33
  export interface ToastProps extends FeedbackBaseProps {
34
- id;
35
- title?;
36
- message;
37
- type;
38
- duration?; // milliseconds, 0 = persistent
39
- onClose?) => void;
40
- onAction?) => void;
41
- actions?];
42
- icon?;
43
- showIcon?;
44
- closable?;
45
- position?;
46
- autoClose?;
47
- pauseOnHover?;
48
- draggable?;
49
- progress?;
50
- size?;
51
- variant?;
34
+ id: string;
35
+ title?: string;
36
+ message: string;
37
+ type: 'success' | 'warning' | 'error' | 'info' | 'default';
38
+ duration?: number; // milliseconds, 0 = persistent
39
+ onClose?: () => void;
40
+ onAction?: (action: string) => void;
41
+ actions?: ToastAction[];
42
+ icon?: React.ReactNode;
43
+ showIcon?: boolean;
44
+ closable?: boolean;
45
+ position?: 'top-left' | 'top-right' | 'top-center' | 'bottom-left' | 'bottom-right' | 'bottom-center';
46
+ autoClose?: boolean;
47
+ pauseOnHover?: boolean;
48
+ draggable?: boolean;
49
+ progress?: boolean;
50
+ size?: 'sm' | 'md' | 'lg';
51
+ variant?: 'default' | 'bordered' | 'filled';
52
52
  }
53
53
 
54
54
  export interface ToastAction {
55
- label;
56
- action;
57
- variant?;
55
+ label: string;
56
+ action: string;
57
+ variant?: 'primary' | 'secondary' | 'ghost';
58
58
  }
59
59
 
60
60
  export interface ToastContainerProps {
61
- position?];
62
- maxToasts?;
63
- autoClose?;
64
- pauseOnHover?;
65
- draggable?;
66
- progress?;
67
- className?;
68
- theme?;
61
+ position?: ToastProps['position'];
62
+ maxToasts?: number;
63
+ autoClose?: boolean;
64
+ pauseOnHover?: boolean;
65
+ draggable?: boolean;
66
+ progress?: boolean;
67
+ className?: string;
68
+ theme?: 'stan-design' | 'harvey';
69
69
  }
70
70
 
71
71
  // Progress Component Types
72
72
  export interface ProgressProps extends FeedbackBaseProps {
73
- value; // 0-100
74
- max?;
75
- min?;
76
- label?;
77
- showLabel?;
78
- showValue?;
79
- showPercentage?;
80
- animated?;
81
- striped?;
82
- color?;
83
- size?;
84
- variant?;
85
- thickness?;
86
- trackColor?;
87
- progressColor?;
88
- indeterminate?;
89
- onComplete?) => void;
73
+ value: number; // 0-100
74
+ max?: number;
75
+ min?: number;
76
+ label?: string;
77
+ showLabel?: boolean;
78
+ showValue?: boolean;
79
+ showPercentage?: boolean;
80
+ animated?: boolean;
81
+ striped?: boolean;
82
+ color?: string;
83
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
84
+ variant?: 'linear' | 'circular' | 'steps';
85
+ thickness?: number;
86
+ trackColor?: string;
87
+ progressColor?: string;
88
+ indeterminate?: boolean;
89
+ onComplete?: () => void;
90
90
  }
91
91
 
92
92
  export interface ProgressStep {
93
- label;
94
- value;
95
- status;
96
- description?;
93
+ label: string;
94
+ value: number;
95
+ status: 'pending' | 'active' | 'completed' | 'error';
96
+ description?: string;
97
97
  }
98
98
 
99
99
  // Skeleton Component Types
100
100
  export interface SkeletonProps extends FeedbackBaseProps {
101
- width?;
102
- height?;
103
- variant?;
104
- animation?;
105
- rows?;
106
- spacing?;
107
- show?;
108
- className?;
109
- size?;
101
+ width?: string | number;
102
+ height?: string | number;
103
+ variant?: 'text' | 'circular' | 'rectangular' | 'rounded';
104
+ animation?: 'pulse' | 'wave' | 'none';
105
+ rows?: number;
106
+ spacing?: number;
107
+ show?: boolean;
108
+ className?: string;
109
+ size?: 'sm' | 'md' | 'lg' | 'xl';
110
110
  }
111
111
 
112
112
  export interface SkeletonTextProps extends SkeletonProps {
113
- lines?;
114
- lineHeight?;
115
- lastLineWidth?;
113
+ lines?: number;
114
+ lineHeight?: string | number;
115
+ lastLineWidth?: string | number;
116
116
  }
117
117
 
118
118
  export interface SkeletonAvatarProps extends SkeletonProps {
119
- size?;
120
- shape?;
119
+ size?: 'sm' | 'md' | 'lg' | 'xl';
120
+ shape?: 'circular' | 'square' | 'rounded';
121
121
  }
122
122
 
123
123
  export interface SkeletonButtonProps extends SkeletonProps {
124
- fullWidth?;
124
+ fullWidth?: boolean;
125
125
  }
@@ -5,13 +5,13 @@ import { useTheme } from '../../themes';
5
5
  import { FontConfig } from '../../themes/types';
6
6
 
7
7
  export interface FontPreviewProps {
8
- fontConfig?;
9
- fontType?;
10
- showAllVariations?;
11
- className?;
8
+ fontConfig?: FontConfig;
9
+ fontType?: 'primary' | 'secondary' | 'display' | 'body' | 'mono';
10
+ showAllVariations?: boolean;
11
+ className?: string;
12
12
  }
13
13
 
14
- export const FontPreview= ({
14
+ export const FontPreview: React.FC<FontPreviewProps> = ({
15
15
  fontConfig,
16
16
  fontType = 'primary',
17
17
  showAllVariations = false,
@@ -37,7 +37,7 @@ export const FontPreview= ({
37
37
  // Build full font family string with fallbacks
38
38
  const fullFontFamily = fallbacks
39
39
  ? `${family}, ${fallbacks.join(', ')}`
40
- ;
40
+ : family;
41
41
 
42
42
  // Sample text for preview
43
43
  const sampleText = "The quick brown fox jumps over the lazy dog";
@@ -64,7 +64,7 @@ export const FontPreview= ({
64
64
  <span className="font-mono text-xs">{family}</span>
65
65
  {fallbacks && fallbacks.length > 0 && (
66
66
  <div className="mt-1 text-xs text-muted-foreground">
67
- Fallbacks, 3).join(', ')}
67
+ Fallbacks: {fallbacks.slice(0, 3).join(', ')}
68
68
  {fallbacks.length > 3 && ` (+${fallbacks.length - 3} more)`}
69
69
  </div>
70
70
  )}
@@ -83,9 +83,10 @@ export const FontPreview= ({
83
83
  </Badge>
84
84
  <p
85
85
  style={{
86
- fontFamily,
87
- fontWeight,
88
- fontSize}}
86
+ fontFamily: fullFontFamily,
87
+ fontWeight: weight,
88
+ fontSize: sizes?.md || '1rem'
89
+ }}
89
90
  className="flex-1"
90
91
  >
91
92
  {sampleText}
@@ -109,9 +110,9 @@ export const FontPreview= ({
109
110
  <span className="text-xs text-muted-foreground w-16">{value}</span>
110
111
  <p
111
112
  style={{
112
- fontFamily,
113
- fontSize,
114
- fontWeight] || 400
113
+ fontFamily: fullFontFamily,
114
+ fontSize: value,
115
+ fontWeight: weights?.[0] || 400
115
116
  }}
116
117
  >
117
118
  Sample text
@@ -135,10 +136,10 @@ export const FontPreview= ({
135
136
  </div>
136
137
  <p
137
138
  style={{
138
- fontFamily,
139
- fontSize,
140
- lineHeight,
141
- fontWeight] || 400
139
+ fontFamily: fullFontFamily,
140
+ fontSize: sizes?.md || '1rem',
141
+ lineHeight: value,
142
+ fontWeight: weights?.[0] || 400
142
143
  }}
143
144
  className="text-sm border-l-2 border-muted pl-4"
144
145
  >
@@ -163,10 +164,10 @@ export const FontPreview= ({
163
164
  <span className="text-xs text-muted-foreground w-16">{value}</span>
164
165
  <p
165
166
  style={{
166
- fontFamily,
167
- fontSize,
168
- letterSpacing,
169
- fontWeight] || 400
167
+ fontFamily: fullFontFamily,
168
+ fontSize: sizes?.md || '1rem',
169
+ letterSpacing: value,
170
+ fontWeight: weights?.[0] || 400
170
171
  }}
171
172
  className="flex-1"
172
173
  >
@@ -187,9 +188,9 @@ export const FontPreview= ({
187
188
  <span className="text-xs text-muted-foreground block mb-1">Alphabet</span>
188
189
  <p
189
190
  style={{
190
- fontFamily,
191
- fontSize,
192
- fontWeight] || 400
191
+ fontFamily: fullFontFamily,
192
+ fontSize: sizes?.md || '1rem',
193
+ fontWeight: weights?.[0] || 400
193
194
  }}
194
195
  className="text-sm"
195
196
  >
@@ -201,10 +202,11 @@ export const FontPreview= ({
201
202
  <span className="text-xs text-muted-foreground block mb-1">Numbers</span>
202
203
  <p
203
204
  style={{
204
- fontFamily,
205
- fontSize,
206
- fontWeight] || 400,
207
- letterSpacing}}
205
+ fontFamily: fullFontFamily,
206
+ fontSize: sizes?.lg || '1.125rem',
207
+ fontWeight: weights?.[0] || 400,
208
+ letterSpacing: letterSpacing?.wide || '0.025em'
209
+ }}
208
210
  className="text-sm"
209
211
  >
210
212
  {sampleNumbers}
@@ -215,9 +217,9 @@ export const FontPreview= ({
215
217
  <span className="text-xs text-muted-foreground block mb-1">Special Characters</span>
216
218
  <p
217
219
  style={{
218
- fontFamily,
219
- fontSize,
220
- fontWeight] || 400
220
+ fontFamily: fullFontFamily,
221
+ fontSize: sizes?.sm || '0.875rem',
222
+ fontWeight: weights?.[0] || 400
221
223
  }}
222
224
  className="text-sm"
223
225
  >
@@ -232,15 +234,15 @@ export const FontPreview= ({
232
234
  <div className="pt-4 border-t">
233
235
  <h4 className="text-sm font-medium mb-2">Font Loading</h4>
234
236
  <div className="space-y-1 text-xs text-muted-foreground">
235
- <div>Source="capitalize">{source.type}</span></div>
236
- {source.url && <div>URL}</div>}
237
+ <div>Source: <span className="capitalize">{source.type}</span></div>
238
+ {source.url && <div>URL: {source.url}</div>}
237
239
  {source.files && (
238
240
  <div>
239
- Files).join(', ')}
241
+ Files: {Object.keys(source.files).join(', ')}
240
242
  </div>
241
243
  )}
242
244
  {config.display && (
243
- <div>Display}</div>
245
+ <div>Display: {config.display}</div>
244
246
  )}
245
247
  </div>
246
248
  </div>
@@ -252,11 +254,11 @@ export const FontPreview= ({
252
254
 
253
255
  // Multi-font preview component
254
256
  export interface FontShowcaseProps {
255
- showAllVariations?;
256
- className?;
257
+ showAllVariations?: boolean;
258
+ className?: string;
257
259
  }
258
260
 
259
- export const FontShowcase= ({
261
+ export const FontShowcase: React.FC<FontShowcaseProps> = ({
260
262
  showAllVariations = false,
261
263
  className = ''
262
264
  }) => {
@@ -270,7 +272,7 @@ export const FontShowcase= ({
270
272
  );
271
273
  }
272
274
 
273
- const fontTypes= ['primary', 'secondary', 'display', 'body', 'mono'];
275
+ const fontTypes: Array<keyof typeof currentThemeConfig.fonts> = ['primary', 'secondary', 'display', 'body', 'mono'];
274
276
 
275
277
  return (
276
278
  <div className={`space-y-6 ${className}`}>