@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 → 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 (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,418 @@
1
+ import React, { useState, useRef, forwardRef } from 'react'
2
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './card'
3
+ import { Button } from './button'
4
+ import { Badge } from './badge'
5
+ import { Input } from './input'
6
+ import { Label } from './label'
7
+ import { useMobileFormValidation, ValidationRule } from '../../hooks/use-mobile-form-validation'
8
+ import { useFormFeedback } from '../../hooks/use-form-feedback'
9
+ import { useMobileFormLayout } from '../../hooks/use-mobile-form-layout'
10
+ import { useSemanticInput, InputType } from '../../hooks/use-semantic-input'
11
+ import { useFormPerformance } from '../../hooks/use-form-performance'
12
+
13
+ export interface MobileFormValidationProps {
14
+ title?]
15
+ initialValue?}>
16
+ onSubmit?, any>) => void
17
+ onValidationChange?) => void
18
+ className?}
19
+
20
+ export interface MobileFormValidationRef {
21
+ submit) => Promise<{ success; data, any>; errors] }>
22
+ reset) => void
23
+ validate) => Promise<boolean>
24
+ getFieldValidation) => any
25
+ }
26
+
27
+ export const MobileFormValidation = forwardRef<MobileFormValidationRef, MobileFormValidationProps>(
28
+ ({
29
+ title = 'Mobile Form Validation',
30
+ description = 'Advanced form validation with mobile optimization',
31
+ fields,
32
+ onSubmit,
33
+ onValidationChange,
34
+ className = '',
35
+ enableEnhancedFeatures = true
36
+ }, ref) => {
37
+ const [formData, setFormData] = useState<Record<string, any>>({})
38
+ const [isSubmitting, setIsSubmitting] = useState(false)
39
+ const formRef = useRef<HTMLFormElement>(null)
40
+
41
+ // Initialize form data
42
+ React.useEffect(() => {
43
+ const initialData = fields.reduce((acc, field) => {
44
+ acc[field.name] = field.initialValue || ''
45
+ return acc
46
+ }, {} as Record<string, any>)
47
+ setFormData(initialData)
48
+ }, [fields])
49
+
50
+ // Initialize hooks with configuration based on enhanced features
51
+ const initialFields = fields.reduce((acc, field) => {
52
+ acc[field.name] = {
53
+ name,
54
+ value,
55
+ rules}
56
+ return acc
57
+ }, {} as Record<string, any>)
58
+
59
+ // Form feedback hook
60
+ const feedback = useFormFeedback({
61
+ onFeedbackShow) => {
62
+ console.log('Feedback shown, feedbackState)
63
+ }
64
+ }, {
65
+ enableAnimations,
66
+ enableTouchFeedback,
67
+ enableHapticFeedback,
68
+ enableSoundFeedback,
69
+ enableAccessibility})
70
+
71
+ // Form validation hook
72
+ const {
73
+ updateField,
74
+ touchField,
75
+ validateAllFields,
76
+ submitForm,
77
+ resetForm,
78
+ getFieldValidation,
79
+ isFormValid,
80
+ isFormDirty
81
+ } = useMobileFormValidation(initialFields, {
82
+ onFormSubmit, isValid) => {
83
+ if (isValid && onSubmit) {
84
+ onSubmit(data)
85
+ }
86
+ },
87
+ onValidationComplete, isValid, errors) => {
88
+ // Trigger feedback based on validation result
89
+ if (isValid) {
90
+ feedback.showSuccess(`${fieldName} is valid`)
91
+ } else {
92
+ feedback.showError(`${fieldName}, ')}`)
93
+ }
94
+ }
95
+ }, {
96
+ enableTouchFeedback,
97
+ enableHapticFeedback,
98
+ enableSoundFeedback,
99
+ validationDelay,
100
+ enablePerformanceOptimization,
101
+ maxValidationRetries})
102
+
103
+ // Mobile form layout hook
104
+ const layout = useMobileFormLayout({
105
+ onLayoutChange) => {
106
+ console.log('Layout changed, layoutState)
107
+ }
108
+ }, {
109
+ enableTouchOptimization,
110
+ enableKeyboardOptimization,
111
+ enableResponsiveBehavior,
112
+ enablePerformanceOptimization,
113
+ enableAutoFocus})
114
+
115
+ // Form performance hook
116
+ const performance = useFormPerformance({
117
+ onPerformanceWarning, metrics) => {
118
+ console.warn('Performance warning, warning, metrics)
119
+ feedback.showWarning(warning)
120
+ },
121
+ onMemoryWarning, _threshold) => {
122
+ feedback.showWarning(`Memory usage high).toFixed(1)}%`)
123
+ },
124
+ onBatteryWarning, isLow) => {
125
+ if (isLow) {
126
+ feedback.showWarning(`Low battery).toFixed(0)}%`)
127
+ }
128
+ }
129
+ }, {
130
+ enableValidationThrottling,
131
+ enableTouchEventOptimization,
132
+ enableMemoryManagement,
133
+ enableBatteryOptimization})
134
+
135
+ // Semantic input hooks for each field
136
+ const semanticInputs = fields.reduce((acc, field) => {
137
+ acc[field.name] = useSemanticInput(field.type, {
138
+ onInputTypeDetected) => {
139
+ console.log(`Input type detected for ${field.name}, inputType)
140
+ },
141
+ onKeyboardOptimization) => {
142
+ console.log(`Keyboard optimization for ${field.name}, optimized)
143
+ }
144
+ }, {
145
+ enableAutoDetection,
146
+ enableKeyboardOptimization,
147
+ enableAutocomplete,
148
+ enableTouchOptimization,
149
+ enableAccessibility,
150
+ enablePerformanceMonitoring})
151
+ return acc
152
+ }, {} as Record<string, any>)
153
+
154
+ // Handle field changes
155
+ const handleFieldChange = (fieldName, value) => {
156
+ setFormData(prev => ({ ...prev, [fieldName]}))
157
+
158
+ // Update validation state
159
+ updateField(fieldName, value)
160
+
161
+ // Update semantic input
162
+ const semanticInput = semanticInputs[fieldName]
163
+ if (semanticInput) {
164
+ semanticInput.handleInputChange(value, fieldName, fields.find(f => f.name === fieldName)?.placeholder)
165
+ }
166
+
167
+ // Notify validation change
168
+ if (onValidationChange) {
169
+ onValidationChange(isFormValid)
170
+ }
171
+ }
172
+
173
+ // Handle field blur
174
+ const handleFieldBlur = (fieldName) => {
175
+ touchField(fieldName)
176
+ }
177
+
178
+ // Handle form submission
179
+ const handleSubmit = async (e) => {
180
+ e.preventDefault()
181
+ setIsSubmitting(true)
182
+
183
+ try {
184
+ const result = await submitFormHook()
185
+
186
+ if (result.success) {
187
+ feedback.showSuccess('Form submitted successfully!')
188
+ if (onSubmit) {
189
+ onSubmit(result.data)
190
+ }
191
+ } else {
192
+ feedback.showError(`Form submission failed, ')}`)
193
+ }
194
+ } catch (error) {
195
+ feedback.showError('An unexpected error occurred')
196
+ console.error('Form submission error, error)
197
+ } finally {
198
+ setIsSubmitting(false)
199
+ }
200
+ }
201
+
202
+ // Handle form reset
203
+ const handleReset = () => {
204
+ resetForm()
205
+ setFormData(fields.reduce((acc, field) => {
206
+ acc[field.name] = field.initialValue || ''
207
+ return acc
208
+ }, {} as Record<string, any>))
209
+
210
+ // Reset semantic inputs
211
+ Object.values(semanticInputs).forEach((semanticInput) => {
212
+ semanticInput.resetOptimizations()
213
+ })
214
+
215
+ // Reset performance
216
+ performance.resetPerformance()
217
+
218
+ // Clear feedback
219
+ feedback.clearFeedback()
220
+
221
+ feedback.showInfo('Form has been reset')
222
+ }
223
+
224
+ // Expose methods via ref
225
+ React.useImperativeHandle(ref, () => ({
226
+ submit,
227
+ reset,
228
+ validate,
229
+ getFieldValidation
230
+ }))
231
+
232
+ // Apply performance optimizations
233
+ React.useEffect(() => {
234
+ performance.applyOptimizations()
235
+ }, [performance])
236
+
237
+ // Auto-focus first input on mobile
238
+ React.useEffect(() => {
239
+ if (layout.isMobile && layout.autoFocusFirstInput) {
240
+ layout.autoFocusFirstInput()
241
+ }
242
+ }, [layout.isMobile, layout.autoFocusFirstInput])
243
+
244
+ return (
245
+ <div className={`mobile-form-validation ${className}`}>
246
+ {/* Performance Status */}
247
+ {enableEnhancedFeatures && (
248
+ <div className="mb-4 p-3 bg-gray-50 rounded-lg">
249
+ <div className="flex items-center justify-between text-sm">
250
+ <div className="flex items-center gap-2">
251
+ <span>Performance={performance.performanceState.isOptimized ? 'default' }>
252
+ {performance.performanceState.isOptimized ? 'Optimized' }
253
+ </Badge>
254
+ </div>
255
+ <div className="flex items-center gap-2">
256
+ <span>Layout={layout.isOptimized ? 'default' }>
257
+ {layout.isOptimized ? 'Optimized' }
258
+ </Badge>
259
+ </div>
260
+ </div>
261
+ </div>
262
+ )}
263
+
264
+ {/* Form Feedback Display */}
265
+ {feedback.isFeedbackVisible() && (
266
+ <div className={`mb-4 p-3 rounded-lg ${feedback.getFeedbackClasses()}`}>
267
+ <div className="flex items-center gap-2">
268
+ <span>{feedback.getFeedbackIcon(feedback.getCurrentFeedbackType())}</span>
269
+ <span>{feedback.feedbackState.currentFeedback.message}</span>
270
+ </div>
271
+ </div>
272
+ )}
273
+
274
+ {/* Form */}
275
+ <form
276
+ ref={formRef}
277
+ onSubmit={handleSubmit}
278
+ className={`space-y-4 ${layout.getLayoutClasses()}`}
279
+ style={layout.getLayoutCSSVariables() as React.CSSProperties}
280
+ >
281
+ <Card>
282
+ <CardHeader>
283
+ <CardTitle className="flex items-center gap-2">
284
+ {title}
285
+ <Badge variant="outline">Story 6 Implementation</Badge>
286
+ </CardTitle>
287
+ <CardDescription>{description}</CardDescription>
288
+ </CardHeader>
289
+ <CardContent className="space-y-4">
290
+ {/* Form Fields */}
291
+ {fields.map((field) => {
292
+ const fieldValidation = getFieldValidation(field.name)
293
+ const semanticInput = semanticInputs[field.name]
294
+ const isFieldValid = fieldValidation.isValid
295
+ const fieldErrors = fieldValidation.errors
296
+ const isFieldTouched = fieldValidation.isTouched
297
+
298
+ return (
299
+ <div key={field.name} className="space-y-2">
300
+ <Label htmlFor={field.name} className="text-sm font-medium">
301
+ {field.label}
302
+ {field.rules.some(rule => rule.type === 'required') && (
303
+ <span className="text-red-500 ml-1">*</span>
304
+ )}
305
+ </Label>
306
+
307
+ <div className="relative">
308
+ <Input
309
+ id={field.name}
310
+ ref={semanticInput?.inputRef}
311
+ type={field.type.type}
312
+ placeholder={field.placeholder}
313
+ value={formData[field.name] || ''}
314
+ onChange={(e) => handleFieldChange(field.name, e.target.value)}
315
+ onBlur={() => handleFieldBlur(field.name)}
316
+ className={`w-full transition-all duration-200 ${
317
+ isFieldTouched && !isFieldValid
318
+ ? 'border-red-500 focus} ${semanticInput?.getSemanticClasses() || ''}`}
319
+ style={{
320
+ minHeight,
321
+ width}}
322
+ {...semanticInput?.getOptimizedAttributes(field.type)}
323
+ />
324
+
325
+ {/* Field Status Indicators */}
326
+ {isFieldTouched && (
327
+ <div className="absolute right-3 top-1/2 transform -translate-y-1/2">
328
+ {isFieldValid ? (
329
+ <span className="text-green-500 text-lg">✓</span>
330
+ ) ="text-red-500 text-lg">✗</span>
331
+ )}
332
+ </div>
333
+ )}
334
+ </div>
335
+
336
+ {/* Field Errors */}
337
+ {isFieldTouched && !isFieldValid && fieldErrors.length > 0 && (
338
+ <div className="text-red-500 text-sm space-y-1">
339
+ {fieldErrors.map((error, index) => (
340
+ <div key={index} className="flex items-center gap-1">
341
+ <span>•</span>
342
+ <span>{error}</span>
343
+ </div>
344
+ ))}
345
+ </div>
346
+ )}
347
+
348
+ {/* Semantic Input Status */}
349
+ {enableEnhancedFeatures && semanticInput && (
350
+ <div className="text-xs text-gray-500 space-y-1">
351
+ <div className="flex items-center gap-2">
352
+ <span>Type="outline" className="text-xs">
353
+ {semanticInput.semanticState.detectedType?.type || field.type.type}
354
+ </Badge>
355
+ </div>
356
+ {semanticInput.semanticState.isOptimized && (
357
+ <div className="flex items-center gap-2">
358
+ <span>Optimized="default" className="text-xs">Yes</Badge>
359
+ </div>
360
+ )}
361
+ </div>
362
+ )}
363
+ </div>
364
+ )
365
+ })}
366
+
367
+ {/* Form Actions */}
368
+ <div className="flex flex-col sm="submit"
369
+ disabled={!isFormValid || isSubmitting}
370
+ className="flex-1 touch-button"
371
+ style={{ minHeight}}
372
+ >
373
+ {isSubmitting ? 'Submitting...' }
374
+ </Button>
375
+
376
+ <Button
377
+ type="button"
378
+ variant="outline"
379
+ onClick={handleReset}
380
+ className="flex-1 touch-button"
381
+ style={{ minHeight}}
382
+ >
383
+ Reset
384
+ </Button>
385
+ </div>
386
+
387
+ {/* Form Status */}
388
+ <div className="text-sm text-gray-500 space-y-1">
389
+ <div className="flex items-center gap-2">
390
+ <span>Form Status={isFormValid ? 'default' }>
391
+ {isFormValid ? 'Valid' }
392
+ </Badge>
393
+ </div>
394
+ <div className="flex items-center gap-2">
395
+ <span>Dirty={isFormDirty ? 'default' }>
396
+ {isFormDirty ? 'Yes' }
397
+ </Badge>
398
+ </div>
399
+ {enableEnhancedFeatures && (
400
+ <div className="flex items-center gap-2">
401
+ <span>Performance Score={
402
+ performance.performanceState.performanceMetrics.optimizationScore >= 0.8 ? 'default' = 0.6 ? 'secondary' }>
403
+ {(performance.performanceState.performanceMetrics.optimizationScore * 100).toFixed(0)}%
404
+ </Badge>
405
+ </div>
406
+ )}
407
+ </div>
408
+ </CardContent>
409
+ </Card>
410
+ </form>
411
+ </div>
412
+ )
413
+ }
414
+ )
415
+
416
+ MobileFormValidation.displayName = 'MobileFormValidation'
417
+
418
+ export default MobileFormValidation
@@ -0,0 +1,197 @@
1
+ export const MobileInputDemo: React.FC = () => {
2
+ return (
3
+ <div className="space-y-6">
4
+ <div className="text-center">
5
+ <h2 className="text-2xl font-bold text-cs-text-primary mb-2">
6
+ Mobile Input System Recovery
7
+ </h2>
8
+ <p className="text-cs-text-secondary">
9
+ Semantic Input Excellence - Recovered from original project
10
+ </p>
11
+ </div>
12
+
13
+ <Card className="p-6">
14
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
15
+ Semantic Input Types
16
+ </h3>
17
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
18
+ <div className="space-y-2">
19
+ <label className="text-sm font-medium text-cs-text-secondary">Name Input</label>
20
+ <MobileInput
21
+ placeholder="Enter your full name"
22
+ mobileConfig={mobileInputConfigs.name}
23
+ className="w-full"
24
+ />
25
+ <p className="text-xs text-cs-text-muted">
26
+ Auto-capitalizes words, suggests name autocomplete
27
+ </p>
28
+ </div>
29
+
30
+ <div className="space-y-2">
31
+ <label className="text-sm font-medium text-cs-text-secondary">Email Input</label>
32
+ <MobileInput
33
+ placeholder="Enter your email"
34
+ mobileConfig={mobileInputConfigs.email}
35
+ className="w-full"
36
+ />
37
+ <p className="text-xs text-cs-text-muted">
38
+ Email keyboard, no spell check, email autocomplete
39
+ </p>
40
+ </div>
41
+
42
+ <div className="space-y-2">
43
+ <label className="text-sm font-medium text-cs-text-secondary">Phone Input</label>
44
+ <MobileInput
45
+ placeholder="Enter phone number"
46
+ mobileConfig={mobileInputConfigs.phone}
47
+ className="w-full"
48
+ />
49
+ <p className="text-xs text-cs-text-muted">
50
+ Numeric keyboard, phone autocomplete
51
+ </p>
52
+ </div>
53
+
54
+ <div className="space-y-2">
55
+ <label className="text-sm font-medium text-cs-text-secondary">Password Input</label>
56
+ <MobileInput
57
+ placeholder="Enter new password"
58
+ mobileConfig={mobileInputConfigs.newPassword}
59
+ className="w-full"
60
+ />
61
+ <p className="text-xs text-cs-text-muted">
62
+ Password keyboard, new-password autocomplete
63
+ </p>
64
+ </div>
65
+
66
+ <div className="space-y-2">
67
+ <label className="text-sm font-medium text-cs-text-secondary">Search Input</label>
68
+ <MobileInput
69
+ placeholder="Search..."
70
+ mobileConfig={mobileInputConfigs.search}
71
+ className="w-full"
72
+ />
73
+ <p className="text-xs text-cs-text-muted">
74
+ Search keyboard, no autocomplete
75
+ </p>
76
+ </div>
77
+
78
+ <div className="space-y-2">
79
+ <label className="text-sm font-medium text-cs-text-secondary">Amount Input</label>
80
+ <MobileInput
81
+ placeholder="Enter amount"
82
+ mobileConfig={mobileInputConfigs.amount}
83
+ className="w-full"
84
+ />
85
+ <p className="text-xs text-cs-text-muted">
86
+ Decimal keyboard, no autocomplete
87
+ </p>
88
+ </div>
89
+ </div>
90
+ </Card>
91
+
92
+ <Card className="p-6">
93
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
94
+ Custom Mobile Configurations
95
+ </h3>
96
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
97
+ <div className="space-y-2">
98
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Input Mode</label>
99
+ <MobileInput
100
+ placeholder="Custom input mode"
101
+ mobileConfig={{
102
+ semanticType: 'email',
103
+ inputMode: 'tel',
104
+ spellCheck: true,
105
+ autoCapitalize: 'characters'
106
+ }}
107
+ className="w-full"
108
+ />
109
+ <p className="text-xs text-cs-text-muted">
110
+ Email type with tel input mode, spell check enabled
111
+ </p>
112
+ </div>
113
+
114
+ <div className="space-y-2">
115
+ <label className="text-sm font-medium text-cs-text-secondary">Disabled Autocomplete</label>
116
+ <MobileInput
117
+ placeholder="No autocomplete"
118
+ mobileConfig={{
119
+ semanticType: 'name',
120
+ enableAutocomplete: false
121
+ }}
122
+ className="w-full"
123
+ />
124
+ <p className="text-xs text-cs-text-muted">
125
+ Name input with autocomplete disabled
126
+ </p>
127
+ </div>
128
+ </div>
129
+ </Card>
130
+
131
+ <Card className="p-6">
132
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
133
+ Props Override Behavior
134
+ </h3>
135
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
136
+ <div className="space-y-2">
137
+ <label className="text-sm font-medium text-cs-text-secondary">Explicit Type Override</label>
138
+ <MobileInput
139
+ type="password"
140
+ placeholder="Password type overrides semantic"
141
+ mobileConfig={{ semanticType: 'email' }}
142
+ className="w-full"
143
+ />
144
+ <p className="text-xs text-cs-text-muted">
145
+ Explicit password type overrides email semantic type
146
+ </p>
147
+ </div>
148
+
149
+ <div className="space-y-2">
150
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Attributes</label>
151
+ <MobileInput
152
+ placeholder="Custom attributes"
153
+ mobileConfig={{ semanticType: 'name' }}
154
+ autoComplete="off"
155
+ spellCheck={true}
156
+ className="w-full"
157
+ />
158
+ <p className="text-xs text-cs-text-muted">
159
+ Custom autoComplete and spellCheck override mobile config
160
+ </p>
161
+ </div>
162
+ </div>
163
+ </Card>
164
+
165
+ <Card className="p-6">
166
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
167
+ Mobile Optimization Features
168
+ </h3>
169
+ <div className="space-y-4">
170
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4 text-center">
171
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
172
+ <div className="text-2xl mb-2">📱</div>
173
+ <h4 className="font-medium text-cs-text-primary">Touch Optimized</h4>
174
+ <p className="text-sm text-cs-text-secondary">
175
+ 44px touch targets, touch-manipulation CSS
176
+ </p>
177
+ </div>
178
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
179
+ <div className="text-2xl mb-2">⌨️</div>
180
+ <h4 className="font-medium text-cs-text-primary">Smart Keyboards</h4>
181
+ <p className="text-sm text-cs-text-secondary">
182
+ Semantic input modes for optimal mobile keyboards
183
+ </p>
184
+ </div>
185
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
186
+ <div className="text-2xl mb-2">🔍</div>
187
+ <h4 className="font-medium text-cs-text-primary">Autocomplete</h4>
188
+ <p className="text-sm text-cs-text-secondary">
189
+ Intelligent autocomplete suggestions for better UX
190
+ </p>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </Card>
195
+ </div>
196
+ );
197
+ };