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

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 (468) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/index.esm.js +2 -2
  345. package/dist/index.js +2 -2
  346. package/dist/lib/utils.d.ts +3 -0
  347. package/dist/lib/utils.esm.js +6 -0
  348. package/dist/lib/utils.js +6 -0
  349. package/dist/plugins/theme-css-generator.d.ts +345 -0
  350. package/dist/plugins/theme-css-generator.esm.js +305 -0
  351. package/dist/plugins/theme-css-generator.js +305 -0
  352. package/dist/styles.css +1 -1
  353. package/dist/themes/ThemeContext.d.ts +27 -0
  354. package/dist/themes/ThemeContext.esm.js +31 -0
  355. package/dist/themes/ThemeContext.js +31 -0
  356. package/dist/themes/ThemeProvider.d.ts +222 -0
  357. package/dist/themes/ThemeProvider.esm.js +229 -0
  358. package/dist/themes/ThemeProvider.js +229 -0
  359. package/dist/themes/accessibility/index.d.ts +7 -0
  360. package/dist/themes/accessibility/index.esm.js +27 -0
  361. package/dist/themes/accessibility/index.js +27 -0
  362. package/dist/themes/accessibility.d.ts +259 -0
  363. package/dist/themes/accessibility.esm.js +220 -0
  364. package/dist/themes/accessibility.js +220 -0
  365. package/dist/themes/aria-patterns.d.ts +418 -0
  366. package/dist/themes/aria-patterns.esm.js +384 -0
  367. package/dist/themes/aria-patterns.js +384 -0
  368. package/dist/themes/base-themes.d.ts +34 -0
  369. package/dist/themes/base-themes.esm.js +52 -0
  370. package/dist/themes/base-themes.js +52 -0
  371. package/dist/themes/colorManager.d.ts +327 -0
  372. package/dist/themes/colorManager.esm.js +362 -0
  373. package/dist/themes/colorManager.js +362 -0
  374. package/dist/themes/examples/dark-theme.d.ts +139 -0
  375. package/dist/themes/examples/dark-theme.esm.js +124 -0
  376. package/dist/themes/examples/dark-theme.js +124 -0
  377. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  378. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  379. package/dist/themes/examples/minimal-theme.js +86 -0
  380. package/dist/themes/focus-management.d.ts +699 -0
  381. package/dist/themes/focus-management.esm.js +642 -0
  382. package/dist/themes/focus-management.js +642 -0
  383. package/dist/themes/fontLoader.d.ts +163 -0
  384. package/dist/themes/fontLoader.esm.js +192 -0
  385. package/dist/themes/fontLoader.js +192 -0
  386. package/dist/themes/high-contrast.d.ts +619 -0
  387. package/dist/themes/high-contrast.esm.js +573 -0
  388. package/dist/themes/high-contrast.js +573 -0
  389. package/dist/themes/index.d.ts +11 -0
  390. package/dist/themes/index.esm.js +19 -0
  391. package/dist/themes/index.js +19 -0
  392. package/dist/themes/inheritance.d.ts +160 -0
  393. package/dist/themes/inheritance.esm.js +219 -0
  394. package/dist/themes/inheritance.js +219 -0
  395. package/dist/themes/keyboard-navigation.d.ts +550 -0
  396. package/dist/themes/keyboard-navigation.esm.js +521 -0
  397. package/dist/themes/keyboard-navigation.js +521 -0
  398. package/dist/themes/motion-reduction.d.ts +660 -0
  399. package/dist/themes/motion-reduction.esm.js +602 -0
  400. package/dist/themes/motion-reduction.js +602 -0
  401. package/dist/themes/navigation.d.ts +232 -0
  402. package/dist/themes/navigation.esm.js +238 -0
  403. package/dist/themes/navigation.js +238 -0
  404. package/dist/themes/screen-reader.d.ts +645 -0
  405. package/dist/themes/screen-reader.esm.js +580 -0
  406. package/dist/themes/screen-reader.js +580 -0
  407. package/dist/themes/systemThemeDetector.d.ts +148 -0
  408. package/dist/themes/systemThemeDetector.esm.js +174 -0
  409. package/dist/themes/systemThemeDetector.js +174 -0
  410. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  411. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  412. package/dist/themes/themeCSSUpdater.js +250 -0
  413. package/dist/themes/themePersistence.d.ts +192 -0
  414. package/dist/themes/themePersistence.esm.js +217 -0
  415. package/dist/themes/themePersistence.js +217 -0
  416. package/dist/themes/themes/stan-design.d.ts +678 -0
  417. package/dist/themes/themes/stan-design.esm.js +518 -0
  418. package/dist/themes/themes/stan-design.js +518 -0
  419. package/dist/themes/types.d.ts +454 -0
  420. package/dist/themes/types.esm.js +446 -0
  421. package/dist/themes/types.js +446 -0
  422. package/dist/themes/useSystemTheme.d.ts +43 -0
  423. package/dist/themes/useSystemTheme.esm.js +48 -0
  424. package/dist/themes/useSystemTheme.js +48 -0
  425. package/dist/themes/useTheme.d.ts +20 -0
  426. package/dist/themes/useTheme.esm.js +87 -0
  427. package/dist/themes/useTheme.js +87 -0
  428. package/dist/themes/validation.d.ts +406 -0
  429. package/dist/themes/validation.esm.js +411 -0
  430. package/dist/themes/validation.js +411 -0
  431. package/dist/tokens/index.d.ts +25 -0
  432. package/dist/tokens/index.esm.js +23 -0
  433. package/dist/tokens/index.js +23 -0
  434. package/dist/tokens/tokenExporter.d.ts +336 -0
  435. package/dist/tokens/tokenExporter.esm.js +371 -0
  436. package/dist/tokens/tokenExporter.js +371 -0
  437. package/dist/tokens/tokenGenerator.d.ts +250 -0
  438. package/dist/tokens/tokenGenerator.esm.js +267 -0
  439. package/dist/tokens/tokenGenerator.js +267 -0
  440. package/dist/tokens/tokenManager.d.ts +194 -0
  441. package/dist/tokens/tokenManager.esm.js +235 -0
  442. package/dist/tokens/tokenManager.js +235 -0
  443. package/dist/tokens/tokenValidator.d.ts +488 -0
  444. package/dist/tokens/tokenValidator.esm.js +497 -0
  445. package/dist/tokens/tokenValidator.js +497 -0
  446. package/dist/tokens/types.d.ts +78 -0
  447. package/dist/tokens/types.esm.js +64 -0
  448. package/dist/tokens/types.js +64 -0
  449. package/dist/utils/bundle-analyzer.d.ts +260 -0
  450. package/dist/utils/bundle-analyzer.esm.js +242 -0
  451. package/dist/utils/bundle-analyzer.js +242 -0
  452. package/dist/utils/bundle-splitting.d.ts +483 -0
  453. package/dist/utils/bundle-splitting.esm.js +458 -0
  454. package/dist/utils/bundle-splitting.js +458 -0
  455. package/dist/utils/lazy-loading.d.ts +437 -0
  456. package/dist/utils/lazy-loading.esm.js +415 -0
  457. package/dist/utils/lazy-loading.js +415 -0
  458. package/dist/utils/performance-monitor.d.ts +513 -0
  459. package/dist/utils/performance-monitor.esm.js +472 -0
  460. package/dist/utils/performance-monitor.js +472 -0
  461. package/dist/utils/tree-shaking.d.ts +274 -0
  462. package/dist/utils/tree-shaking.esm.js +266 -0
  463. package/dist/utils/tree-shaking.js +266 -0
  464. package/package.json +1 -1
  465. package/src/index.ts +2 -2
  466. package/src/themes/accessibility/index.ts +1 -1
  467. package/src/themes/focus-management.ts +3 -3
  468. package/src/themes/keyboard-navigation.ts +3 -3
@@ -0,0 +1,481 @@
1
+ import React, { useState } from 'react'
2
+ import { Badge } from './badge'
3
+ import { Input } from './input'
4
+ import { Button } from './button'
5
+ import { Card, CardContent } from './card'
6
+ import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface'
7
+
8
+ export const TouchFriendlyInterfaceDemo= () => {
9
+ const [activeDemo, setActiveDemo] = useState<'targets' | 'interactions' | 'performance' | 'accessibility'>('targets')
10
+ const [formData, setFormData] = useState({
11
+ name,
12
+ email,
13
+ message})
14
+ const [toggleState, setToggleState] = useState(false)
15
+ const [sliderValue, setSliderValue] = useState(50)
16
+
17
+ 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)
25
+ },
26
+ onTouchInteractionDetected) => {
27
+ console.log('Touch interaction detected, interaction)
28
+ },
29
+ onPerformanceOptimized) => {
30
+ console.log('Performance optimized, score)
31
+ },
32
+ onAccessibilityEnhanced) => {
33
+ console.log('Accessibility enhanced, feature)
34
+ }
35
+ })
36
+
37
+ const handleInputChange = (field, value) => {
38
+ setFormData(prev => ({ ...prev, [field]}))
39
+ }
40
+
41
+ const renderTargetComplianceDemo = () => (
42
+ <div className="space-y-6">
43
+ <div className="grid grid-cols-1 md="space-y-4">
44
+ <h3 className="text-lg font-semibold text-cs-text-primary">44px Target Compliance</h3>
45
+
46
+ <div className="space-y-3">
47
+ <Button size="sm" className="touch-target touch-friendly-button touch-interaction touch-performance min-h-[44px] min-w-[44px]">
48
+ Small Button (44px)
49
+ </Button>
50
+
51
+ <Button size="default" variant="secondary" className="touch-target touch-friendly-button-secondary touch-interaction touch-performance min-h-[48px] min-w-[48px]">
52
+ Default Button (48px)
53
+ </Button>
54
+
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)
56
+ </Button>
57
+
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)
59
+ </Button>
60
+ </div>
61
+ </div>
62
+
63
+ <div className="space-y-4">
64
+ <h3 className="text-lg font-semibold text-cs-text-primary">Touch-Friendly Inputs</h3>
65
+
66
+ <div className="space-y-3">
67
+ <Input
68
+ placeholder="Small Input (44px)"
69
+ value={formData.name}
70
+ onChange={(e) => handleInputChange('name', e.target.value)}
71
+ className="touch-target touch-friendly-input touch-interaction touch-performance min-h-[44px] min-w-[44px] px-3 py-2 text-sm"
72
+ />
73
+
74
+ <Input
75
+ placeholder="Default Input (48px)"
76
+ value={formData.email}
77
+ onChange={(e) => handleInputChange('email', e.target.value)}
78
+ className="touch-target touch-friendly-input touch-interaction touch-performance min-h-[48px] min-w-[48px] px-4 py-3 text-base"
79
+ />
80
+
81
+ <Input
82
+ placeholder="Large Input (56px)"
83
+ value={formData.message}
84
+ onChange={(e) => handleInputChange('message', e.target.value)}
85
+ className="touch-target touch-friendly-input touch-interaction touch-performance min-h-[56px] min-w-[56px] px-6 py-4 text-lg"
86
+ />
87
+ </div>
88
+ </div>
89
+ </div>
90
+
91
+ <div className="grid grid-cols-1 md="space-y-4">
92
+ <h3 className="text-lg font-semibold text-cs-text-primary">Interactive Cards</h3>
93
+
94
+ <div className="space-y-3">
95
+ <Card className="touch-target touch-friendly-card touch-interaction touch-performance touch-feedback min-h-[44px] min-w-[44px] p-3 cursor-pointer">
96
+ <CardContent className="text-center">
97
+ <div className="text-lg font-semibold">Small Card</div>
98
+ <div className="text-sm text-cs-text-secondary">44px target</div>
99
+ </CardContent>
100
+ </Card>
101
+
102
+ <Card className="touch-target touch-friendly-card touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px] p-4 cursor-pointer">
103
+ <CardContent className="text-center">
104
+ <div className="text-lg font-semibold">Default Card</div>
105
+ <div className="text-sm text-cs-text-secondary">48px target</div>
106
+ </CardContent>
107
+ </Card>
108
+
109
+ <Card className="touch-target touch-friendly-card touch-interaction touch-performance touch-state-hover touch-state-active min-h-[56px] min-w-[56px] p-6 cursor-pointer">
110
+ <CardContent className="text-center">
111
+ <div className="text-lg font-semibold">Large Card</div>
112
+ <div className="text-sm text-cs-text-secondary">56px target</div>
113
+ </CardContent>
114
+ </Card>
115
+ </div>
116
+ </div>
117
+
118
+ <div className="space-y-4">
119
+ <h3 className="text-lg font-semibold text-cs-text-primary">Form Controls</h3>
120
+
121
+ <div className="space-y-4">
122
+ <div className="flex items-center space-x-3">
123
+ <button
124
+ type="button"
125
+ role="switch"
126
+ aria-checked={toggleState}
127
+ 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)' )'
130
+ }}
131
+ >
132
+ <span
133
+ className="inline-block rounded-full bg-white shadow transform transition-transform w-6 h-6"
134
+ style={{
135
+ transform)' )'
136
+ }}
137
+ />
138
+ </button>
139
+ <span className="text-sm">Toggle Switch</span>
140
+ </div>
141
+
142
+ <div className="space-y-2">
143
+ <label className="text-sm font-medium">Slider Value}</label>
144
+ <input
145
+ type="range"
146
+ value={sliderValue}
147
+ onChange={(e) => setSliderValue(Number(e.target.value))}
148
+ min={0}
149
+ max={100}
150
+ 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]"
152
+ />
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ )
159
+
160
+ const renderTouchInteractionsDemo = () => (
161
+ <div className="space-y-6">
162
+ <div className="grid grid-cols-1 md="space-y-4">
163
+ <h3 className="text-lg font-semibold text-cs-text-primary">Touch State</h3>
164
+
165
+ <div className="space-y-3">
166
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
167
+ <div className="grid grid-cols-2 gap-4 text-sm">
168
+ <div>
169
+ <span className="font-medium">Touching={`ml-2 ${touchInteractionState.isTouching ? 'text-cs-success' }`}>
170
+ {touchInteractionState.isTouching ? 'Yes' }
171
+ </span>
172
+ </div>
173
+ <div>
174
+ <span className="font-medium">Touch Count="ml-2 text-cs-text-primary">{touchInteractionState.touchCount}</span>
175
+ </div>
176
+ <div>
177
+ <span className="font-medium">Duration="ml-2 text-cs-text-primary">{touchInteractionState.touchDuration.toFixed(0)}ms</span>
178
+ </div>
179
+ <div>
180
+ <span className="font-medium">Velocity="ml-2 text-cs-text-primary">{touchInteractionState.touchVelocity.toFixed(2)}px/ms</span>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+ <div className="space-y-4">
188
+ <h3 className="text-lg font-semibold text-cs-text-primary">Gesture Detection</h3>
189
+
190
+ <div className="space-y-3">
191
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
192
+ <div className="text-center">
193
+ <div className="text-2xl font-bold text-cs-primary mb-2">
194
+ {touchInteractionState.gestureType === 'none' ? '👆' === 'tap' ? '👆' === 'double-tap' ? '👆👆' === 'long-press' ? '⏰' === 'swipe' ? '👈👉' }
195
+ </div>
196
+ <div className="text-lg font-semibold capitalize">
197
+ {touchInteractionState.gestureType.replace('-', ' ')}
198
+ </div>
199
+ <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' }
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ </div>
207
+
208
+ <div className="space-y-4">
209
+ <h3 className="text-lg font-semibold text-cs-text-primary">Touch Coordinates</h3>
210
+
211
+ <div className="grid grid-cols-1 md="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
212
+ <h4 className="font-medium mb-2">Start Position</h4>
213
+ <div className="text-sm space-y-1">
214
+ <div>X}px</div>
215
+ <div>Y}px</div>
216
+ </div>
217
+ </div>
218
+
219
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
220
+ <h4 className="font-medium mb-2">Current Position</h4>
221
+ <div className="text-sm space-y-1">
222
+ <div>X}px</div>
223
+ <div>Y}px</div>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ )
230
+
231
+ const renderPerformanceDemo = () => (
232
+ <div className="space-y-6">
233
+ <div className="grid grid-cols-1 md="space-y-4">
234
+ <h3 className="text-lg font-semibold text-cs-text-primary">Performance Metrics</h3>
235
+
236
+ <div className="space-y-3">
237
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
238
+ <div className="space-y-3">
239
+ <div className="flex justify-between items-center">
240
+ <span className="text-sm font-medium">Performance Score</span>
241
+ <span className={`text-lg font-bold ${
242
+ touchTargetState.performanceScore >= 80 ? 'text-cs-success' = 60 ? 'text-cs-warning' }`}>
243
+ {touchTargetState.performanceScore}/100
244
+ </span>
245
+ </div>
246
+
247
+ <div className="w-full bg-cs-border rounded-full h-2">
248
+ <div
249
+ className={`h-2 rounded-full transition-all duration-300 ${
250
+ touchTargetState.performanceScore >= 80 ? 'bg-cs-success' = 60 ? 'bg-cs-warning' }`}
251
+ style={{ width}%` }}
252
+ />
253
+ </div>
254
+
255
+ <div className="text-xs text-cs-text-secondary">
256
+ {touchTargetState.performanceScore >= 80 ? 'Excellent performance' = 60 ? 'Good performance' }
257
+ </div>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ </div>
262
+
263
+ <div className="space-y-4">
264
+ <h3 className="text-lg font-semibold text-cs-text-primary">Touch Target Status</h3>
265
+
266
+ <div className="space-y-3">
267
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
268
+ <div className="space-y-2">
269
+ <div className="flex justify-between items-center">
270
+ <span className="text-sm">Target Size</span>
271
+ <span className="font-medium">{touchTargetState.size}px</span>
272
+ </div>
273
+
274
+ <div className="flex justify-between items-center">
275
+ <span className="text-sm">Compliance</span>
276
+ <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' }`}>
277
+ {touchTargetState.size >= 44 ? '✅ Compliant' }
278
+ </span>
279
+ </div>
280
+
281
+ <div className="flex justify-between items-center">
282
+ <span className="text-sm">Spacing</span>
283
+ <span className="font-medium capitalize">{touchTargetState.spacing}</span>
284
+ </div>
285
+
286
+ <div className="flex justify-between items-center">
287
+ <span className="text-sm">Feedback</span>
288
+ <span className="font-medium capitalize">{touchTargetState.feedback}</span>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ </div>
295
+
296
+ <div className="space-y-4">
297
+ <h3 className="text-lg font-semibold text-cs-text-primary">Optimizations</h3>
298
+
299
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
300
+ {isOptimizing ? (
301
+ <div className="text-center py-4">
302
+ <div className="animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2"></div>
303
+ <div className="text-sm text-cs-text-secondary">Optimizing touch targets...</div>
304
+ </div>
305
+ ) ="space-y-2">
306
+ {optimizations.map((optimization, index) => (
307
+ <div key={index} className="flex items-center space-x-2 text-sm">
308
+ <span className="text-cs-success">✅</span>
309
+ <span>{optimization}</span>
310
+ </div>
311
+ ))}
312
+ </div>
313
+ ) ="text-center py-4 text-cs-text-secondary">
314
+ No optimizations applied yet
315
+ </div>
316
+ )}
317
+ </div>
318
+ </div>
319
+ </div>
320
+ )
321
+
322
+ const renderAccessibilityDemo = () => (
323
+ <div className="space-y-6">
324
+ <div className="grid grid-cols-1 md="space-y-4">
325
+ <h3 className="text-lg font-semibold text-cs-text-primary">Accessibility Features</h3>
326
+
327
+ <div className="space-y-3">
328
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
329
+ <div className="space-y-2">
330
+ <div className="flex justify-between items-center">
331
+ <span className="text-sm">ARIA Support</span>
332
+ <span className={`font-medium ${touchTargetState.isAccessible ? 'text-cs-success' }`}>
333
+ {touchTargetState.isAccessible ? '✅ Enabled' }
334
+ </span>
335
+ </div>
336
+
337
+ <div className="flex justify-between items-center">
338
+ <span className="text-sm">Focus Management</span>
339
+ <span className="font-medium text-cs-success">✅ Enabled</span>
340
+ </div>
341
+
342
+ <div className="flex justify-between items-center">
343
+ <span className="text-sm">Screen Reader</span>
344
+ <span className="font-medium text-cs-success">✅ Supported</span>
345
+ </div>
346
+
347
+ <div className="flex justify-between items-center">
348
+ <span className="text-sm">Keyboard Nav</span>
349
+ <span className="font-medium text-cs-success">✅ Supported</span>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </div>
354
+ </div>
355
+
356
+ <div className="space-y-4">
357
+ <h3 className="text-lg font-semibold text-cs-text-primary">Touch Standards</h3>
358
+
359
+ <div className="space-y-3">
360
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
361
+ <div className="space-y-2">
362
+ <div className="flex justify-between items-center">
363
+ <span className="text-sm">44px Minimum</span>
364
+ <span className={`font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' }`}>
365
+ {touchTargetState.size >= 44 ? '✅ Met' }
366
+ </span>
367
+ </div>
368
+
369
+ <div className="flex justify-between items-center">
370
+ <span className="text-sm">Touch Action</span>
371
+ <span className="font-medium text-cs-success">✅ Optimized</span>
372
+ </div>
373
+
374
+ <div className="flex justify-between items-center">
375
+ <span className="text-sm">Tap Highlight</span>
376
+ <span className="font-medium text-cs-success">✅ Disabled</span>
377
+ </div>
378
+
379
+ <div className="flex justify-between items-center">
380
+ <span className="text-sm">User Select</span>
381
+ <span className="font-medium text-cs-success">✅ Disabled</span>
382
+ </div>
383
+ </div>
384
+ </div>
385
+ </div>
386
+ </div>
387
+ </div>
388
+
389
+ <div className="space-y-4">
390
+ <h3 className="text-lg font-semibold text-cs-text-primary">Interactive Test</h3>
391
+
392
+ <div className="grid grid-cols-1 md="default"
393
+ className="touch-target touch-friendly-button touch-interaction touch-performance touch-feedback min-h-[48px] min-w-[48px]"
394
+ aria-label="Test button with scale feedback"
395
+ >
396
+ Scale Feedback
397
+ </Button>
398
+
399
+ <Button
400
+ size="default"
401
+ variant="secondary"
402
+ className="touch-target touch-friendly-button-secondary touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px]"
403
+ aria-label="Test button with ripple feedback"
404
+ >
405
+ Ripple Feedback
406
+ </Button>
407
+
408
+ <Button
409
+ size="default"
410
+ 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"
412
+ >
413
+ Color Feedback
414
+ </Button>
415
+ </div>
416
+ </div>
417
+ </div>
418
+ )
419
+
420
+ return (
421
+ <div className="space-y-6">
422
+ {/* Header */}
423
+ <div className="text-center space-y-2">
424
+ <h2 className="text-2xl font-bold text-cs-text-primary">
425
+ Touch-Friendly Interface & 44px Target Compliance
426
+ </h2>
427
+ <p className="text-cs-text-secondary">
428
+ Advanced touch interface system with accessibility compliance and performance optimization
429
+ </p>
430
+ </div>
431
+
432
+ {/* Navigation Tabs */}
433
+ <div className="flex flex-wrap gap-2 justify-center">
434
+ {(['targets', 'interactions', 'performance', 'accessibility'] as const).map((demo) => (
435
+ <button
436
+ key={demo}
437
+ onClick={() => setActiveDemo(demo)}
438
+ className={`px-4 py-2 rounded-lg font-medium transition-colors ${
439
+ activeDemo === demo
440
+ ? 'bg-cs-primary text-white'
441
+ }`}
442
+ >
443
+ {demo === 'targets' && '🎯 Target Compliance'}
444
+ {demo === 'interactions' && '👆 Touch Interactions'}
445
+ {demo === 'performance' && '⚡ Performance'}
446
+ {demo === 'accessibility' && '♿ Accessibility'}
447
+ </button>
448
+ ))}
449
+ </div>
450
+
451
+ {/* Demo Content */}
452
+ <div className="min-h-[400px]">
453
+ {activeDemo === 'targets' && renderTargetComplianceDemo()}
454
+ {activeDemo === 'interactions' && renderTouchInteractionsDemo()}
455
+ {activeDemo === 'performance' && renderPerformanceDemo()}
456
+ {activeDemo === 'accessibility' && renderAccessibilityDemo()}
457
+ </div>
458
+
459
+ {/* Status Bar */}
460
+ <div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
461
+ <div className="flex flex-wrap items-center justify-between gap-4 text-sm">
462
+ <div className="flex items-center space-x-4">
463
+ <span className="font-medium">Status={touchTargetState.isOptimized ? 'default' }>
464
+ {touchTargetState.isOptimized ? 'Optimized' }
465
+ </Badge>
466
+ <Badge variant={touchTargetState.isAccessible ? 'default' }>
467
+ {touchTargetState.isAccessible ? 'Accessible' }
468
+ </Badge>
469
+ </div>
470
+
471
+ <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' }`}>
474
+ {touchTargetState.performanceScore}%
475
+ </span>
476
+ </div>
477
+ </div>
478
+ </div>
479
+ </div>
480
+ )
481
+ }