@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.9 → 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
@@ -5,42 +5,45 @@ import { Button } from './button'
5
5
  import { Card, CardContent } from './card'
6
6
  import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface'
7
7
 
8
- export const TouchFriendlyInterfaceDemo= () => {
8
+ export const TouchFriendlyInterfaceDemo: React.FC = () => {
9
9
  const [activeDemo, setActiveDemo] = useState<'targets' | 'interactions' | 'performance' | 'accessibility'>('targets')
10
10
  const [formData, setFormData] = useState({
11
- name,
12
- email,
13
- message})
11
+ name: '',
12
+ email: '',
13
+ message: ''
14
+ })
14
15
  const [toggleState, setToggleState] = useState(false)
15
16
  const [sliderValue, setSliderValue] = useState(50)
16
17
 
17
18
  const { touchTargetState, touchInteractionState, isOptimizing, optimizations } = useTouchFriendlyInterface({
18
- minSize,
19
- spacing,
20
- feedback,
21
- performance,
22
- accessibility}, {
23
- onTouchTargetOptimized) => {
24
- console.log('Touch target optimized, config)
19
+ minSize: 44,
20
+ spacing: 'default',
21
+ feedback: 'scale',
22
+ performance: true,
23
+ accessibility: true
24
+ }, {
25
+ onTouchTargetOptimized: (config) => {
26
+ console.log('Touch target optimized:', config)
25
27
  },
26
- onTouchInteractionDetected) => {
27
- console.log('Touch interaction detected, interaction)
28
+ onTouchInteractionDetected: (interaction) => {
29
+ console.log('Touch interaction detected:', interaction)
28
30
  },
29
- onPerformanceOptimized) => {
30
- console.log('Performance optimized, score)
31
+ onPerformanceOptimized: (score) => {
32
+ console.log('Performance optimized:', score)
31
33
  },
32
- onAccessibilityEnhanced) => {
33
- console.log('Accessibility enhanced, feature)
34
+ onAccessibilityEnhanced: (feature) => {
35
+ console.log('Accessibility enhanced:', feature)
34
36
  }
35
37
  })
36
38
 
37
- const handleInputChange = (field, value) => {
38
- setFormData(prev => ({ ...prev, [field]}))
39
+ const handleInputChange = (field: string, value: string) => {
40
+ setFormData(prev => ({ ...prev, [field]: value }))
39
41
  }
40
42
 
41
43
  const renderTargetComplianceDemo = () => (
42
44
  <div className="space-y-6">
43
- <div className="grid grid-cols-1 md="space-y-4">
45
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
46
+ <div className="space-y-4">
44
47
  <h3 className="text-lg font-semibold text-cs-text-primary">44px Target Compliance</h3>
45
48
 
46
49
  <div className="space-y-3">
@@ -52,10 +55,12 @@ export const TouchFriendlyInterfaceDemo= () => {
52
55
  Default Button (48px)
53
56
  </Button>
54
57
 
55
- <Button size="lg" variant="outline" className="touch-target touch-interaction touch-performance min-h-[56px] min-w-[56px] bg-transparent border border-cs-border text-cs-text-primary hover)
58
+ <Button size="lg" variant="outline" className="touch-target touch-interaction touch-performance min-h-[56px] min-w-[56px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg">
59
+ Large Button (56px)
56
60
  </Button>
57
61
 
58
- <Button size="lg" variant="ghost" className="touch-target touch-interaction touch-performance min-h-[64px] min-w-[64px] bg-transparent text-cs-text-primary hover)
62
+ <Button size="lg" variant="ghost" className="touch-target touch-interaction touch-performance min-h-[64px] min-w-[64px] bg-transparent text-cs-text-primary hover:bg-cs-hover-bg">
63
+ Extra Large Button (64px)
59
64
  </Button>
60
65
  </div>
61
66
  </div>
@@ -88,7 +93,8 @@ export const TouchFriendlyInterfaceDemo= () => {
88
93
  </div>
89
94
  </div>
90
95
 
91
- <div className="grid grid-cols-1 md="space-y-4">
96
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
97
+ <div className="space-y-4">
92
98
  <h3 className="text-lg font-semibold text-cs-text-primary">Interactive Cards</h3>
93
99
 
94
100
  <div className="space-y-3">
@@ -125,14 +131,15 @@ export const TouchFriendlyInterfaceDemo= () => {
125
131
  role="switch"
126
132
  aria-checked={toggleState}
127
133
  onClick={() => setToggleState(!toggleState)}
128
- className="touch-target touch-interaction touch-performance touch-feedback relative inline-flex items-center justify-center rounded-full transition-colors min-h-[48px] min-w-[48px] focus={{
129
- backgroundColor)' )'
134
+ className="touch-target touch-interaction touch-performance touch-feedback relative inline-flex items-center justify-center rounded-full transition-colors min-h-[48px] min-w-[48px] focus:outline-none focus:ring-2 focus:ring-cs-primary focus:ring-offset-2"
135
+ style={{
136
+ backgroundColor: toggleState ? 'var(--cs-primary)' : 'var(--cs-border)'
130
137
  }}
131
138
  >
132
139
  <span
133
140
  className="inline-block rounded-full bg-white shadow transform transition-transform w-6 h-6"
134
141
  style={{
135
- transform)' )'
142
+ transform: toggleState ? 'translateX(24px)' : 'translateX(0)'
136
143
  }}
137
144
  />
138
145
  </button>
@@ -140,7 +147,7 @@ export const TouchFriendlyInterfaceDemo= () => {
140
147
  </div>
141
148
 
142
149
  <div className="space-y-2">
143
- <label className="text-sm font-medium">Slider Value}</label>
150
+ <label className="text-sm font-medium">Slider Value: {sliderValue}</label>
144
151
  <input
145
152
  type="range"
146
153
  value={sliderValue}
@@ -148,7 +155,7 @@ export const TouchFriendlyInterfaceDemo= () => {
148
155
  min={0}
149
156
  max={100}
150
157
  step={1}
151
- className="touch-target touch-interaction touch-performance touch-feedback w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer focus]"
158
+ className="touch-target touch-interaction touch-performance touch-feedback w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer focus:outline-none focus:ring-2 focus:ring-cs-primary min-h-[48px]"
152
159
  />
153
160
  </div>
154
161
  </div>
@@ -159,25 +166,30 @@ export const TouchFriendlyInterfaceDemo= () => {
159
166
 
160
167
  const renderTouchInteractionsDemo = () => (
161
168
  <div className="space-y-6">
162
- <div className="grid grid-cols-1 md="space-y-4">
169
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
170
+ <div className="space-y-4">
163
171
  <h3 className="text-lg font-semibold text-cs-text-primary">Touch State</h3>
164
172
 
165
173
  <div className="space-y-3">
166
174
  <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
167
175
  <div className="grid grid-cols-2 gap-4 text-sm">
168
176
  <div>
169
- <span className="font-medium">Touching={`ml-2 ${touchInteractionState.isTouching ? 'text-cs-success' }`}>
170
- {touchInteractionState.isTouching ? 'Yes' }
177
+ <span className="font-medium">Touching:</span>
178
+ <span className={`ml-2 ${touchInteractionState.isTouching ? 'text-cs-success' : 'text-cs-text-secondary'}`}>
179
+ {touchInteractionState.isTouching ? 'Yes' : 'No'}
171
180
  </span>
172
181
  </div>
173
182
  <div>
174
- <span className="font-medium">Touch Count="ml-2 text-cs-text-primary">{touchInteractionState.touchCount}</span>
183
+ <span className="font-medium">Touch Count:</span>
184
+ <span className="ml-2 text-cs-text-primary">{touchInteractionState.touchCount}</span>
175
185
  </div>
176
186
  <div>
177
- <span className="font-medium">Duration="ml-2 text-cs-text-primary">{touchInteractionState.touchDuration.toFixed(0)}ms</span>
187
+ <span className="font-medium">Duration:</span>
188
+ <span className="ml-2 text-cs-text-primary">{touchInteractionState.touchDuration.toFixed(0)}ms</span>
178
189
  </div>
179
190
  <div>
180
- <span className="font-medium">Velocity="ml-2 text-cs-text-primary">{touchInteractionState.touchVelocity.toFixed(2)}px/ms</span>
191
+ <span className="font-medium">Velocity:</span>
192
+ <span className="ml-2 text-cs-text-primary">{touchInteractionState.touchVelocity.toFixed(2)}px/ms</span>
181
193
  </div>
182
194
  </div>
183
195
  </div>
@@ -191,13 +203,21 @@ export const TouchFriendlyInterfaceDemo= () => {
191
203
  <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
192
204
  <div className="text-center">
193
205
  <div className="text-2xl font-bold text-cs-primary mb-2">
194
- {touchInteractionState.gestureType === 'none' ? '👆' === 'tap' ? '👆' === 'double-tap' ? '👆👆' === 'long-press' ? '⏰' === 'swipe' ? '👈👉' }
206
+ {touchInteractionState.gestureType === 'none' ? '👆' :
207
+ touchInteractionState.gestureType === 'tap' ? '👆' :
208
+ touchInteractionState.gestureType === 'double-tap' ? '👆👆' :
209
+ touchInteractionState.gestureType === 'long-press' ? '⏰' :
210
+ touchInteractionState.gestureType === 'swipe' ? '👈👉' : '🤏'}
195
211
  </div>
196
212
  <div className="text-lg font-semibold capitalize">
197
213
  {touchInteractionState.gestureType.replace('-', ' ')}
198
214
  </div>
199
215
  <div className="text-sm text-cs-text-secondary">
200
- {touchInteractionState.gestureType === 'none' ? 'Touch to detect gesture' === 'tap' ? 'Quick touch detected' === 'double-tap' ? 'Double touch detected' === 'long-press' ? 'Long press detected' === 'swipe' ? 'Swipe gesture detected' }
216
+ {touchInteractionState.gestureType === 'none' ? 'Touch to detect gesture' :
217
+ touchInteractionState.gestureType === 'tap' ? 'Quick touch detected' :
218
+ touchInteractionState.gestureType === 'double-tap' ? 'Double touch detected' :
219
+ touchInteractionState.gestureType === 'long-press' ? 'Long press detected' :
220
+ touchInteractionState.gestureType === 'swipe' ? 'Swipe gesture detected' : 'Pinch detected'}
201
221
  </div>
202
222
  </div>
203
223
  </div>
@@ -208,19 +228,20 @@ export const TouchFriendlyInterfaceDemo= () => {
208
228
  <div className="space-y-4">
209
229
  <h3 className="text-lg font-semibold text-cs-text-primary">Touch Coordinates</h3>
210
230
 
211
- <div className="grid grid-cols-1 md="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
231
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
232
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
212
233
  <h4 className="font-medium mb-2">Start Position</h4>
213
234
  <div className="text-sm space-y-1">
214
- <div>X}px</div>
215
- <div>Y}px</div>
235
+ <div>X: {touchInteractionState.touchStartX}px</div>
236
+ <div>Y: {touchInteractionState.touchStartY}px</div>
216
237
  </div>
217
238
  </div>
218
239
 
219
240
  <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
220
241
  <h4 className="font-medium mb-2">Current Position</h4>
221
242
  <div className="text-sm space-y-1">
222
- <div>X}px</div>
223
- <div>Y}px</div>
243
+ <div>X: {touchInteractionState.touchCurrentX}px</div>
244
+ <div>Y: {touchInteractionState.touchCurrentY}px</div>
224
245
  </div>
225
246
  </div>
226
247
  </div>
@@ -230,7 +251,8 @@ export const TouchFriendlyInterfaceDemo= () => {
230
251
 
231
252
  const renderPerformanceDemo = () => (
232
253
  <div className="space-y-6">
233
- <div className="grid grid-cols-1 md="space-y-4">
254
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
255
+ <div className="space-y-4">
234
256
  <h3 className="text-lg font-semibold text-cs-text-primary">Performance Metrics</h3>
235
257
 
236
258
  <div className="space-y-3">
@@ -239,7 +261,9 @@ export const TouchFriendlyInterfaceDemo= () => {
239
261
  <div className="flex justify-between items-center">
240
262
  <span className="text-sm font-medium">Performance Score</span>
241
263
  <span className={`text-lg font-bold ${
242
- touchTargetState.performanceScore >= 80 ? 'text-cs-success' = 60 ? 'text-cs-warning' }`}>
264
+ touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
265
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'
266
+ }`}>
243
267
  {touchTargetState.performanceScore}/100
244
268
  </span>
245
269
  </div>
@@ -247,13 +271,16 @@ export const TouchFriendlyInterfaceDemo= () => {
247
271
  <div className="w-full bg-cs-border rounded-full h-2">
248
272
  <div
249
273
  className={`h-2 rounded-full transition-all duration-300 ${
250
- touchTargetState.performanceScore >= 80 ? 'bg-cs-success' = 60 ? 'bg-cs-warning' }`}
251
- style={{ width}%` }}
274
+ touchTargetState.performanceScore >= 80 ? 'bg-cs-success' :
275
+ touchTargetState.performanceScore >= 60 ? 'bg-cs-warning' : 'bg-cs-error'
276
+ }`}
277
+ style={{ width: `${touchTargetState.performanceScore}%` }}
252
278
  />
253
279
  </div>
254
280
 
255
281
  <div className="text-xs text-cs-text-secondary">
256
- {touchTargetState.performanceScore >= 80 ? 'Excellent performance' = 60 ? 'Good performance' }
282
+ {touchTargetState.performanceScore >= 80 ? 'Excellent performance' :
283
+ touchTargetState.performanceScore >= 60 ? 'Good performance' : 'Needs optimization'}
257
284
  </div>
258
285
  </div>
259
286
  </div>
@@ -273,8 +300,8 @@ export const TouchFriendlyInterfaceDemo= () => {
273
300
 
274
301
  <div className="flex justify-between items-center">
275
302
  <span className="text-sm">Compliance</span>
276
- <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' }`}>
277
- {touchTargetState.size >= 44 ? '✅ Compliant' }
303
+ <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`}>
304
+ {touchTargetState.size >= 44 ? '✅ Compliant' : '❌ Non-compliant'}
278
305
  </span>
279
306
  </div>
280
307
 
@@ -302,7 +329,8 @@ export const TouchFriendlyInterfaceDemo= () => {
302
329
  <div className="animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2"></div>
303
330
  <div className="text-sm text-cs-text-secondary">Optimizing touch targets...</div>
304
331
  </div>
305
- ) ="space-y-2">
332
+ ) : optimizations.length > 0 ? (
333
+ <div className="space-y-2">
306
334
  {optimizations.map((optimization, index) => (
307
335
  <div key={index} className="flex items-center space-x-2 text-sm">
308
336
  <span className="text-cs-success">✅</span>
@@ -310,7 +338,8 @@ export const TouchFriendlyInterfaceDemo= () => {
310
338
  </div>
311
339
  ))}
312
340
  </div>
313
- ) ="text-center py-4 text-cs-text-secondary">
341
+ ) : (
342
+ <div className="text-center py-4 text-cs-text-secondary">
314
343
  No optimizations applied yet
315
344
  </div>
316
345
  )}
@@ -321,7 +350,8 @@ export const TouchFriendlyInterfaceDemo= () => {
321
350
 
322
351
  const renderAccessibilityDemo = () => (
323
352
  <div className="space-y-6">
324
- <div className="grid grid-cols-1 md="space-y-4">
353
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
354
+ <div className="space-y-4">
325
355
  <h3 className="text-lg font-semibold text-cs-text-primary">Accessibility Features</h3>
326
356
 
327
357
  <div className="space-y-3">
@@ -329,8 +359,8 @@ export const TouchFriendlyInterfaceDemo= () => {
329
359
  <div className="space-y-2">
330
360
  <div className="flex justify-between items-center">
331
361
  <span className="text-sm">ARIA Support</span>
332
- <span className={`font-medium ${touchTargetState.isAccessible ? 'text-cs-success' }`}>
333
- {touchTargetState.isAccessible ? '✅ Enabled' }
362
+ <span className={`font-medium ${touchTargetState.isAccessible ? 'text-cs-success' : 'text-cs-warning'}`}>
363
+ {touchTargetState.isAccessible ? '✅ Enabled' : '⚠️ Disabled'}
334
364
  </span>
335
365
  </div>
336
366
 
@@ -361,8 +391,8 @@ export const TouchFriendlyInterfaceDemo= () => {
361
391
  <div className="space-y-2">
362
392
  <div className="flex justify-between items-center">
363
393
  <span className="text-sm">44px Minimum</span>
364
- <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' }`}>
365
- {touchTargetState.size >= 44 ? '✅ Met' }
394
+ <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`}>
395
+ {touchTargetState.size >= 44 ? '✅ Met' : '❌ Not Met'}
366
396
  </span>
367
397
  </div>
368
398
 
@@ -389,7 +419,9 @@ export const TouchFriendlyInterfaceDemo= () => {
389
419
  <div className="space-y-4">
390
420
  <h3 className="text-lg font-semibold text-cs-text-primary">Interactive Test</h3>
391
421
 
392
- <div className="grid grid-cols-1 md="default"
422
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
423
+ <Button
424
+ size="default"
393
425
  className="touch-target touch-friendly-button touch-interaction touch-performance touch-feedback min-h-[48px] min-w-[48px]"
394
426
  aria-label="Test button with scale feedback"
395
427
  >
@@ -408,7 +440,8 @@ export const TouchFriendlyInterfaceDemo= () => {
408
440
  <Button
409
441
  size="default"
410
442
  variant="outline"
411
- className="touch-target touch-interaction touch-performance touch-state-hover touch-state-active min-h-[48px] min-w-[48px] bg-transparent border border-cs-border text-cs-text-primary hover="Test button with color feedback"
443
+ className="touch-target touch-interaction touch-performance touch-state-hover touch-state-active min-h-[48px] min-w-[48px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg"
444
+ aria-label="Test button with color feedback"
412
445
  >
413
446
  Color Feedback
414
447
  </Button>
@@ -438,7 +471,8 @@ export const TouchFriendlyInterfaceDemo= () => {
438
471
  className={`px-4 py-2 rounded-lg font-medium transition-colors ${
439
472
  activeDemo === demo
440
473
  ? 'bg-cs-primary text-white'
441
- }`}
474
+ : 'bg-cs-surface-bg text-cs-text-primary hover:bg-cs-hover-bg'
475
+ }`}
442
476
  >
443
477
  {demo === 'targets' && '🎯 Target Compliance'}
444
478
  {demo === 'interactions' && '👆 Touch Interactions'}
@@ -460,17 +494,21 @@ export const TouchFriendlyInterfaceDemo= () => {
460
494
  <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
461
495
  <div className="flex flex-wrap items-center justify-between gap-4 text-sm">
462
496
  <div className="flex items-center space-x-4">
463
- <span className="font-medium">Status={touchTargetState.isOptimized ? 'default' }>
464
- {touchTargetState.isOptimized ? 'Optimized' }
497
+ <span className="font-medium">Status:</span>
498
+ <Badge variant={touchTargetState.isOptimized ? 'default' : 'secondary'}>
499
+ {touchTargetState.isOptimized ? 'Optimized' : 'Optimizing...'}
465
500
  </Badge>
466
- <Badge variant={touchTargetState.isAccessible ? 'default' }>
467
- {touchTargetState.isAccessible ? 'Accessible' }
501
+ <Badge variant={touchTargetState.isAccessible ? 'default' : 'secondary'}>
502
+ {touchTargetState.isAccessible ? 'Accessible' : 'Enhancing...'}
468
503
  </Badge>
469
504
  </div>
470
505
 
471
506
  <div className="flex items-center space-x-4">
472
- <span className="font-medium">Performance={`font-bold ${
473
- touchTargetState.performanceScore >= 80 ? 'text-cs-success' = 60 ? 'text-cs-warning' }`}>
507
+ <span className="font-medium">Performance:</span>
508
+ <span className={`font-bold ${
509
+ touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
510
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'
511
+ }`}>
474
512
  {touchTargetState.performanceScore}%
475
513
  </span>
476
514
  </div>