@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 → 0.2.9

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 (462) 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/lib/utils.d.ts +3 -0
  345. package/dist/lib/utils.esm.js +6 -0
  346. package/dist/lib/utils.js +6 -0
  347. package/dist/plugins/theme-css-generator.d.ts +345 -0
  348. package/dist/plugins/theme-css-generator.esm.js +305 -0
  349. package/dist/plugins/theme-css-generator.js +305 -0
  350. package/dist/styles.css +1 -1
  351. package/dist/themes/ThemeContext.d.ts +27 -0
  352. package/dist/themes/ThemeContext.esm.js +31 -0
  353. package/dist/themes/ThemeContext.js +31 -0
  354. package/dist/themes/ThemeProvider.d.ts +222 -0
  355. package/dist/themes/ThemeProvider.esm.js +229 -0
  356. package/dist/themes/ThemeProvider.js +229 -0
  357. package/dist/themes/accessibility/index.d.ts +7 -0
  358. package/dist/themes/accessibility/index.esm.js +27 -0
  359. package/dist/themes/accessibility/index.js +27 -0
  360. package/dist/themes/accessibility.d.ts +259 -0
  361. package/dist/themes/accessibility.esm.js +220 -0
  362. package/dist/themes/accessibility.js +220 -0
  363. package/dist/themes/aria-patterns.d.ts +418 -0
  364. package/dist/themes/aria-patterns.esm.js +384 -0
  365. package/dist/themes/aria-patterns.js +384 -0
  366. package/dist/themes/base-themes.d.ts +34 -0
  367. package/dist/themes/base-themes.esm.js +52 -0
  368. package/dist/themes/base-themes.js +52 -0
  369. package/dist/themes/colorManager.d.ts +327 -0
  370. package/dist/themes/colorManager.esm.js +362 -0
  371. package/dist/themes/colorManager.js +362 -0
  372. package/dist/themes/examples/dark-theme.d.ts +139 -0
  373. package/dist/themes/examples/dark-theme.esm.js +124 -0
  374. package/dist/themes/examples/dark-theme.js +124 -0
  375. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  376. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  377. package/dist/themes/examples/minimal-theme.js +86 -0
  378. package/dist/themes/focus-management.d.ts +699 -0
  379. package/dist/themes/focus-management.esm.js +642 -0
  380. package/dist/themes/focus-management.js +642 -0
  381. package/dist/themes/fontLoader.d.ts +163 -0
  382. package/dist/themes/fontLoader.esm.js +192 -0
  383. package/dist/themes/fontLoader.js +192 -0
  384. package/dist/themes/high-contrast.d.ts +619 -0
  385. package/dist/themes/high-contrast.esm.js +573 -0
  386. package/dist/themes/high-contrast.js +573 -0
  387. package/dist/themes/index.d.ts +11 -0
  388. package/dist/themes/index.esm.js +19 -0
  389. package/dist/themes/index.js +19 -0
  390. package/dist/themes/inheritance.d.ts +160 -0
  391. package/dist/themes/inheritance.esm.js +219 -0
  392. package/dist/themes/inheritance.js +219 -0
  393. package/dist/themes/keyboard-navigation.d.ts +550 -0
  394. package/dist/themes/keyboard-navigation.esm.js +521 -0
  395. package/dist/themes/keyboard-navigation.js +521 -0
  396. package/dist/themes/motion-reduction.d.ts +660 -0
  397. package/dist/themes/motion-reduction.esm.js +602 -0
  398. package/dist/themes/motion-reduction.js +602 -0
  399. package/dist/themes/navigation.d.ts +232 -0
  400. package/dist/themes/navigation.esm.js +238 -0
  401. package/dist/themes/navigation.js +238 -0
  402. package/dist/themes/screen-reader.d.ts +645 -0
  403. package/dist/themes/screen-reader.esm.js +580 -0
  404. package/dist/themes/screen-reader.js +580 -0
  405. package/dist/themes/systemThemeDetector.d.ts +148 -0
  406. package/dist/themes/systemThemeDetector.esm.js +174 -0
  407. package/dist/themes/systemThemeDetector.js +174 -0
  408. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  409. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  410. package/dist/themes/themeCSSUpdater.js +250 -0
  411. package/dist/themes/themePersistence.d.ts +192 -0
  412. package/dist/themes/themePersistence.esm.js +217 -0
  413. package/dist/themes/themePersistence.js +217 -0
  414. package/dist/themes/themes/stan-design.d.ts +678 -0
  415. package/dist/themes/themes/stan-design.esm.js +518 -0
  416. package/dist/themes/themes/stan-design.js +518 -0
  417. package/dist/themes/types.d.ts +454 -0
  418. package/dist/themes/types.esm.js +446 -0
  419. package/dist/themes/types.js +446 -0
  420. package/dist/themes/useSystemTheme.d.ts +43 -0
  421. package/dist/themes/useSystemTheme.esm.js +48 -0
  422. package/dist/themes/useSystemTheme.js +48 -0
  423. package/dist/themes/useTheme.d.ts +20 -0
  424. package/dist/themes/useTheme.esm.js +87 -0
  425. package/dist/themes/useTheme.js +87 -0
  426. package/dist/themes/validation.d.ts +406 -0
  427. package/dist/themes/validation.esm.js +411 -0
  428. package/dist/themes/validation.js +411 -0
  429. package/dist/tokens/index.d.ts +25 -0
  430. package/dist/tokens/index.esm.js +23 -0
  431. package/dist/tokens/index.js +23 -0
  432. package/dist/tokens/tokenExporter.d.ts +336 -0
  433. package/dist/tokens/tokenExporter.esm.js +371 -0
  434. package/dist/tokens/tokenExporter.js +371 -0
  435. package/dist/tokens/tokenGenerator.d.ts +250 -0
  436. package/dist/tokens/tokenGenerator.esm.js +267 -0
  437. package/dist/tokens/tokenGenerator.js +267 -0
  438. package/dist/tokens/tokenManager.d.ts +194 -0
  439. package/dist/tokens/tokenManager.esm.js +235 -0
  440. package/dist/tokens/tokenManager.js +235 -0
  441. package/dist/tokens/tokenValidator.d.ts +488 -0
  442. package/dist/tokens/tokenValidator.esm.js +497 -0
  443. package/dist/tokens/tokenValidator.js +497 -0
  444. package/dist/tokens/types.d.ts +78 -0
  445. package/dist/tokens/types.esm.js +64 -0
  446. package/dist/tokens/types.js +64 -0
  447. package/dist/utils/bundle-analyzer.d.ts +260 -0
  448. package/dist/utils/bundle-analyzer.esm.js +242 -0
  449. package/dist/utils/bundle-analyzer.js +242 -0
  450. package/dist/utils/bundle-splitting.d.ts +483 -0
  451. package/dist/utils/bundle-splitting.esm.js +458 -0
  452. package/dist/utils/bundle-splitting.js +458 -0
  453. package/dist/utils/lazy-loading.d.ts +437 -0
  454. package/dist/utils/lazy-loading.esm.js +415 -0
  455. package/dist/utils/lazy-loading.js +415 -0
  456. package/dist/utils/performance-monitor.d.ts +513 -0
  457. package/dist/utils/performance-monitor.esm.js +472 -0
  458. package/dist/utils/performance-monitor.js +472 -0
  459. package/dist/utils/tree-shaking.d.ts +274 -0
  460. package/dist/utils/tree-shaking.esm.js +266 -0
  461. package/dist/utils/tree-shaking.js +266 -0
  462. package/package.json +1 -1
@@ -0,0 +1,490 @@
1
+ export const SemanticInputSystemDemo: React.FC = () => {
2
+ const [activeDemo, setActiveDemo] = useState<'semantic' | 'mobile' | 'touch' | 'performance' | 'accessibility'>('semantic')
3
+ const [formData, setFormData] = useState({
4
+ name: '',
5
+ email: '',
6
+ phone: '',
7
+ creditCard: '',
8
+ amount: '',
9
+ search: ''
10
+ })
11
+
12
+ // Initialize hooks with proper interfaces
13
+ const { semanticState, detectInputType, optimizeKeyboard } = useSemanticInput(
14
+ { type: 'text', autocomplete: 'on', inputMode: 'text', keyboardType: 'default' },
15
+ {},
16
+ {
17
+ enableAutoDetection: true,
18
+ enableKeyboardOptimization: true,
19
+ enableAutocomplete: true
20
+ }
21
+ )
22
+
23
+ const { keyboardState, optimizations, autoOptimizeForInputType } = useMobileKeyboardOptimization({
24
+ enableKeyboardDetection: true,
25
+ enablePerformanceMonitoring: true,
26
+ enableBatteryOptimization: true
27
+ })
28
+
29
+ const { touchState, touchOptimizations, autoOptimizeTouch } = useTouchFriendlyInput({
30
+ enableTouchOptimization: true,
31
+ enablePerformanceMonitoring: true,
32
+ enableAccessibilitySupport: true
33
+ })
34
+
35
+ const { performanceMetrics, autoOptimize } = useInputPerformance({
36
+ enablePerformanceMonitoring: true,
37
+ enableMemoryManagement: true,
38
+ enableBatteryOptimization: true
39
+ })
40
+
41
+ const { accessibilityFeatures, enableARIASupport } = useInputAccessibility({
42
+ enableARIA: true,
43
+ enableKeyboardNavigation: true,
44
+ enableScreenReader: true,
45
+ enableFocusManagement: true
46
+ })
47
+
48
+ const handleInputChange = (field: string, value: string) => {
49
+ setFormData(prev => ({ ...prev, [field]: value }))
50
+
51
+ // Detect semantic type and optimize
52
+ const detectedType = detectInputType(value, field)
53
+ if (detectedType && detectedType.type !== 'text') {
54
+ optimizeKeyboard(detectedType)
55
+ autoOptimizeForInputType(detectedType.type)
56
+ }
57
+ }
58
+
59
+ const handleDemoChange = (demo: typeof activeDemo) => {
60
+ setActiveDemo(demo)
61
+
62
+ // Start relevant monitoring for the selected demo
63
+ switch (demo) {
64
+ case 'semantic':
65
+ break
66
+ case 'mobile':
67
+ // Mobile keyboard detection is already running
68
+ break
69
+ case 'touch':
70
+ autoOptimizeTouch()
71
+ break
72
+ case 'performance':
73
+ autoOptimize()
74
+ break
75
+ case 'accessibility':
76
+ // Call functions safely - simplified to avoid type issues
77
+ if (typeof enableARIASupport === 'function') {
78
+ enableARIASupport()
79
+ }
80
+ break
81
+ }
82
+ }
83
+
84
+ const renderSemanticDemo = () => (
85
+ <div className="space-y-6">
86
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
87
+ <div className="space-y-2">
88
+ <Label htmlFor="name">Full Name</Label>
89
+ <Input
90
+ id="name"
91
+ value={formData.name}
92
+ onChange={(e) => handleInputChange('name', e.target.value)}
93
+ placeholder="Enter your full name"
94
+ className="semantic-input"
95
+ />
96
+ <div className="text-sm text-gray-600">
97
+ Detected Type: <Badge variant="secondary">{semanticState.detectedType?.type || 'text'}</Badge>
98
+ </div>
99
+ </div>
100
+
101
+ <div className="space-y-2">
102
+ <Label htmlFor="email">Email Address</Label>
103
+ <Input
104
+ id="email"
105
+ type="email"
106
+ value={formData.email}
107
+ onChange={(e) => handleInputChange('email', e.target.value)}
108
+ placeholder="Enter your email"
109
+ className="semantic-input"
110
+ />
111
+ <div className="text-sm text-gray-600">
112
+ Keyboard: <Badge variant="secondary">{semanticState.keyboardOptimized ? 'Optimized' : 'Default'}</Badge>
113
+ </div>
114
+ </div>
115
+
116
+ <div className="space-y-2">
117
+ <Label htmlFor="phone">Phone Number</Label>
118
+ <Input
119
+ id="phone"
120
+ value={formData.phone}
121
+ onChange={(e) => handleInputChange('phone', e.target.value)}
122
+ placeholder="Enter your phone number"
123
+ className="semantic-input"
124
+ />
125
+ <div className="text-sm text-gray-600">
126
+ Autocomplete: <Badge variant="secondary">{semanticState.autocompleteEnhanced ? 'Enhanced' : 'Default'}</Badge>
127
+ </div>
128
+ </div>
129
+
130
+ <div className="space-y-2">
131
+ <Label htmlFor="creditCard">Credit Card</Label>
132
+ <Input
133
+ id="creditCard"
134
+ value={formData.creditCard}
135
+ onChange={(e) => handleInputChange('creditCard', e.target.value)}
136
+ placeholder="Enter credit card number"
137
+ className="semantic-input"
138
+ />
139
+ <div className="text-sm text-gray-600">
140
+ Touch: <Badge variant="secondary">{semanticState.touchOptimized ? 'Optimized' : 'Default'}</Badge>
141
+ </div>
142
+ </div>
143
+
144
+ <div className="space-y-2">
145
+ <Label htmlFor="amount">Amount</Label>
146
+ <Input
147
+ id="amount"
148
+ value={formData.amount}
149
+ onChange={(e) => handleInputChange('amount', e.target.value)}
150
+ placeholder="Enter amount"
151
+ className="semantic-input"
152
+ />
153
+ <div className="text-sm text-gray-600">
154
+ Performance: <Badge variant="secondary">{semanticState.isOptimized ? 'Optimized' : 'Default'}</Badge>
155
+ </div>
156
+ </div>
157
+
158
+ <div className="space-y-2">
159
+ <Label htmlFor="search">Search</Label>
160
+ <Input
161
+ id="search"
162
+ value={formData.search}
163
+ onChange={(e) => handleInputChange('search', e.target.value)}
164
+ placeholder="Search..."
165
+ className="semantic-input"
166
+ />
167
+ <div className="text-sm text-gray-600">
168
+ Type: <Badge variant="secondary">{semanticState.detectedType?.type || 'text'}</Badge>
169
+ </div>
170
+ </div>
171
+ </div>
172
+
173
+ <div className="bg-gray-50 p-4 rounded-lg">
174
+ <h4 className="font-semibold mb-2">Semantic State</h4>
175
+ <pre className="text-xs text-gray-700 overflow-auto">
176
+ {JSON.stringify(semanticState, null, 2)}
177
+ </pre>
178
+ </div>
179
+ </div>
180
+ )
181
+
182
+ const renderMobileDemo = () => (
183
+ <div className="space-y-6">
184
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
185
+ <div className="space-y-2">
186
+ <Label>Keyboard State</Label>
187
+ <div className="space-y-2 text-sm">
188
+ <div>Visible: <Badge variant={keyboardState.isVisible ? 'default' : 'secondary'}>{keyboardState.isVisible ? 'Yes' : 'No'}</Badge></div>
189
+ <div>Height: {keyboardState.height}px</div>
190
+ <div>Type: <Badge variant="outline">{keyboardState.type}</Badge></div>
191
+ <div>Platform: <Badge variant="outline">{keyboardState.platform}</Badge></div>
192
+ <div>Orientation: <Badge variant="outline">{keyboardState.orientation}</Badge></div>
193
+ </div>
194
+ </div>
195
+
196
+ <div className="space-y-2">
197
+ <Label>Keyboard Optimizations</Label>
198
+ <div className="space-y-2">
199
+ {optimizations.map((opt, index) => (
200
+ <div key={index} className="flex items-center justify-between p-2 bg-gray-50 rounded">
201
+ <span className="text-sm">{opt.name}</span>
202
+ <Badge variant={opt.applied ? 'default' : 'secondary'}>
203
+ {opt.applied ? 'Applied' : 'Pending'}
204
+ </Badge>
205
+ </div>
206
+ ))}
207
+ </div>
208
+ </div>
209
+ </div>
210
+
211
+ <div className="bg-blue-50 p-4 rounded-lg">
212
+ <h4 className="font-semibold mb-2 text-blue-800">Mobile Keyboard Features</h4>
213
+ <ul className="text-sm text-blue-700 space-y-1">
214
+ <li>• Automatic keyboard type detection</li>
215
+ <li>• Platform-specific optimizations</li>
216
+ <li>• Orientation-aware adjustments</li>
217
+ <li>• Performance monitoring integration</li>
218
+ <li>• Battery optimization support</li>
219
+ </ul>
220
+ </div>
221
+ </div>
222
+ )
223
+
224
+ const renderTouchDemo = () => (
225
+ <div className="space-y-6">
226
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
227
+ <div className="space-y-2">
228
+ <Label>Touch State</Label>
229
+ <div className="space-y-2 text-sm">
230
+ <div>Touching: <Badge variant={touchState.isTouching ? 'default' : 'secondary'}>{touchState.isTouching ? 'Yes' : 'No'}</Badge></div>
231
+ <div>Touch Count: {touchState.touchCount}</div>
232
+ <div>Duration: {touchState.touchDuration}ms</div>
233
+ <div>Velocity: {touchState.touchVelocity.toFixed(2)}px/ms</div>
234
+ <div>Gesture: <Badge variant="outline">{touchState.gestureType}</Badge></div>
235
+ </div>
236
+ </div>
237
+
238
+ <div className="space-y-2">
239
+ <Label>Touch Optimizations</Label>
240
+ <div className="space-y-2">
241
+ {touchOptimizations.map((opt, index) => (
242
+ <div key={index} className="flex items-center justify-between p-2 bg-gray-50 rounded">
243
+ <span className="text-sm">{opt.name}</span>
244
+ <Badge variant={opt.applied ? 'default' : 'secondary'}>
245
+ {opt.applied ? 'Applied' : 'Pending'}
246
+ </Badge>
247
+ </div>
248
+ ))}
249
+ </div>
250
+ </div>
251
+ </div>
252
+
253
+ <div className="bg-green-50 p-4 rounded-lg">
254
+ <h4 className="font-semibold mb-2 text-green-800">Touch-Friendly Features</h4>
255
+ <ul className="text-sm text-green-700 space-y-1">
256
+ <li>• 44px minimum touch targets</li>
257
+ <li>• Multi-touch gesture support</li>
258
+ <li>• Touch feedback and animations</li>
259
+ <li>• Performance monitoring</li>
260
+ <li>• Accessibility compliance</li>
261
+ </ul>
262
+ </div>
263
+ </div>
264
+ )
265
+
266
+ const renderPerformanceDemo = () => (
267
+ <div className="space-y-6">
268
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
269
+ <div className="space-y-2">
270
+ <Label>Performance Metrics</Label>
271
+ <div className="space-y-2 text-sm">
272
+ <div>Frame Rate: {performanceMetrics.frameRate} FPS</div>
273
+ <div>Input Latency: {performanceMetrics.inputLatency.toFixed(2)}ms</div>
274
+ <div>Memory Usage: {performanceMetrics.memoryUsage}MB</div>
275
+ <div>Battery Level: {(performanceMetrics.batteryLevel * 100).toFixed(1)}%</div>
276
+ </div>
277
+ </div>
278
+
279
+ <div className="space-y-2">
280
+ <Label>Performance Status</Label>
281
+ <div className="space-y-2">
282
+ <div className="flex items-center justify-between">
283
+ <span className="text-sm">Frame Rate</span>
284
+ <Badge variant={performanceMetrics.frameRate >= 60 ? 'default' : 'destructive'}>
285
+ {performanceMetrics.frameRate >= 60 ? 'Optimal' : 'Low'}
286
+ </Badge>
287
+ </div>
288
+ <div className="flex items-center justify-between">
289
+ <span className="text-sm">Input Latency</span>
290
+ <Badge variant={performanceMetrics.inputLatency < 16 ? 'default' : 'destructive'}>
291
+ {performanceMetrics.inputLatency < 16 ? 'Optimal' : 'High'}
292
+ </Badge>
293
+ </div>
294
+ <div className="flex items-center justify-between">
295
+ <span className="text-sm">Memory</span>
296
+ <Badge variant={performanceMetrics.memoryUsage < 100 ? 'default' : 'destructive'}>
297
+ {performanceMetrics.memoryUsage < 100 ? 'Optimal' : 'High'}
298
+ </Badge>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ </div>
303
+
304
+ <div className="bg-purple-50 p-4 rounded-lg">
305
+ <h4 className="font-semibold mb-2 text-purple-800">Performance Features</h4>
306
+ <ul className="text-sm text-purple-700 space-y-1">
307
+ <li>• Real-time performance monitoring</li>
308
+ <li>• Memory usage optimization</li>
309
+ <li>• Battery-conscious operations</li>
310
+ <li>• Frame rate optimization</li>
311
+ <li>• Input latency tracking</li>
312
+ </ul>
313
+ </div>
314
+ </div>
315
+ )
316
+
317
+ const renderAccessibilityDemo = () => (
318
+ <div className="space-y-6">
319
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
320
+ <div className="space-y-2">
321
+ <Label>Accessibility Features</Label>
322
+ <div className="space-y-2">
323
+ {accessibilityFeatures.map((feature, index) => (
324
+ <div key={index} className="flex items-center justify-between p-2 bg-gray-50 rounded">
325
+ <span className="text-sm">{feature.name}</span>
326
+ <Badge variant={feature.enabled ? 'default' : 'secondary'}>
327
+ {feature.enabled ? 'Enabled' : 'Disabled'}
328
+ </Badge>
329
+ </div>
330
+ ))}
331
+ </div>
332
+ </div>
333
+
334
+ <div className="space-y-2">
335
+ <Label>Accessibility Score</Label>
336
+ <div className="text-center p-4 bg-blue-50 rounded-lg">
337
+ <div className="text-3xl font-bold text-blue-600">
338
+ {accessibilityFeatures.filter(f => f.enabled).length}/{accessibilityFeatures.length}
339
+ </div>
340
+ <div className="text-sm text-blue-700">Features Enabled</div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+
345
+ <div className="bg-orange-50 p-4 rounded-lg">
346
+ <h4 className="font-semibold mb-2 text-orange-800">Accessibility Features</h4>
347
+ <ul className="text-sm text-orange-700 space-y-1">
348
+ <li>• ARIA labels and descriptions</li>
349
+ <li>• Keyboard navigation support</li>
350
+ <li>• Screen reader optimization</li>
351
+ <li>• Focus management</li>
352
+ <li>• High contrast support</li>
353
+ </ul>
354
+ </div>
355
+ </div>
356
+ )
357
+
358
+ return (
359
+ <div className="max-w-6xl mx-auto p-6 space-y-6">
360
+ <div className="text-center space-y-4">
361
+ <h1 className="text-4xl font-bold text-gray-900">
362
+ 🎯 Story 12: Semantic Input System & Mobile Keyboard Optimization
363
+ </h1>
364
+ <p className="text-xl text-gray-600 max-w-3xl mx-auto">
365
+ Advanced input system with semantic type detection, mobile keyboard optimization,
366
+ touch-friendly behavior, performance monitoring, and accessibility support.
367
+ </p>
368
+ <div className="flex flex-wrap justify-center gap-2">
369
+ <Badge variant="default">Semantic Types</Badge>
370
+ <Badge variant="secondary">Mobile Keyboard</Badge>
371
+ <Badge variant="outline">Touch Optimization</Badge>
372
+ <Badge variant="destructive">Performance</Badge>
373
+ <Badge variant="default">Accessibility</Badge>
374
+ </div>
375
+ </div>
376
+
377
+ <div className="flex flex-wrap gap-2 justify-center">
378
+ <Button
379
+ variant={activeDemo === 'semantic' ? 'default' : 'outline'}
380
+ onClick={() => handleDemoChange('semantic')}
381
+ >
382
+ 🧠 Semantic Input
383
+ </Button>
384
+ <Button
385
+ variant={activeDemo === 'mobile' ? 'default' : 'outline'}
386
+ onClick={() => handleDemoChange('mobile')}
387
+ >
388
+ 📱 Mobile Keyboard
389
+ </Button>
390
+ <Button
391
+ variant={activeDemo === 'touch' ? 'default' : 'outline'}
392
+ onClick={() => handleDemoChange('touch')}
393
+ >
394
+ 👆 Touch Friendly
395
+ </Button>
396
+ <Button
397
+ variant={activeDemo === 'performance' ? 'default' : 'outline'}
398
+ onClick={() => handleDemoChange('performance')}
399
+ >
400
+ ⚡ Performance
401
+ </Button>
402
+ <Button
403
+ variant={activeDemo === 'accessibility' ? 'default' : 'outline'}
404
+ onClick={() => handleDemoChange('accessibility')}
405
+ >
406
+ ♿ Accessibility
407
+ </Button>
408
+ </div>
409
+
410
+ <Card>
411
+ <CardHeader>
412
+ <CardTitle className="flex items-center gap-2">
413
+ {activeDemo === 'semantic' && '🧠 Semantic Input System'}
414
+ {activeDemo === 'mobile' && '📱 Mobile Keyboard Optimization'}
415
+ {activeDemo === 'touch' && '👆 Touch-Friendly Interface'}
416
+ {activeDemo === 'performance' && '⚡ Performance Monitoring'}
417
+ {activeDemo === 'accessibility' && '♿ Accessibility Features'}
418
+ </CardTitle>
419
+ <CardDescription>
420
+ {activeDemo === 'semantic' && 'Intelligent input type detection and mobile keyboard optimization'}
421
+ {activeDemo === 'mobile' && 'Platform-aware keyboard behavior and mobile-specific enhancements'}
422
+ {activeDemo === 'touch' && 'Touch-optimized interactions with 44px minimum targets'}
423
+ {activeDemo === 'performance' && 'Real-time performance monitoring and optimization'}
424
+ {activeDemo === 'accessibility' && 'Comprehensive accessibility support and compliance'}
425
+ </CardDescription>
426
+ </CardHeader>
427
+ <CardContent>
428
+ {activeDemo === 'semantic' && renderSemanticDemo()}
429
+ {activeDemo === 'mobile' && renderMobileDemo()}
430
+ {activeDemo === 'touch' && renderTouchDemo()}
431
+ {activeDemo === 'performance' && renderPerformanceDemo()}
432
+ {activeDemo === 'accessibility' && renderAccessibilityDemo()}
433
+ </CardContent>
434
+ </Card>
435
+
436
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
437
+ <Card>
438
+ <CardHeader>
439
+ <CardTitle className="text-lg">🎯 Next Steps</CardTitle>
440
+ </CardHeader>
441
+ <CardContent>
442
+ <ul className="text-sm space-y-2">
443
+ <li>✅ Story 12: Semantic Input System [COMPLETE]</li>
444
+ <li>🔧 Story 13: Touch-Friendly Interface</li>
445
+ <li>🎨 Story 14: Advanced Transitions</li>
446
+ <li>📱 Story 15: Mobile Experience Polish</li>
447
+ </ul>
448
+ </CardContent>
449
+ </Card>
450
+
451
+ <Card>
452
+ <CardHeader>
453
+ <CardTitle className="text-lg">🚀 Features</CardTitle>
454
+ </CardHeader>
455
+ <CardContent>
456
+ <ul className="text-sm space-y-2">
457
+ <li>• Semantic input type detection</li>
458
+ <li>• Mobile keyboard optimization</li>
459
+ <li>• Touch-friendly behavior</li>
460
+ <li>• Performance monitoring</li>
461
+ <li>• Accessibility compliance</li>
462
+ </ul>
463
+ </CardContent>
464
+ </Card>
465
+
466
+ <Card>
467
+ <CardHeader>
468
+ <CardTitle className="text-lg">📊 Status</CardTitle>
469
+ </CardHeader>
470
+ <CardContent>
471
+ <div className="space-y-2">
472
+ <div className="flex justify-between">
473
+ <span className="text-sm">Components:</span>
474
+ <Badge variant="default">6/6</Badge>
475
+ </div>
476
+ <div className="flex justify-between">
477
+ <span className="text-sm">Hooks:</span>
478
+ <Badge variant="default">6/6</Badge>
479
+ </div>
480
+ <div className="flex justify-between">
481
+ <span className="text-sm">Tests:</span>
482
+ <Badge variant="default">Passing</Badge>
483
+ </div>
484
+ </div>
485
+ </CardContent>
486
+ </Card>
487
+ </div>
488
+ </div>
489
+ )
490
+ }