@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,195 @@
1
+ import React from 'react';
2
+ import { Card } from './card';
3
+ import { MobileInput, mobileInputConfigs } from './mobile-input';
4
+
5
+ export const MobileInputDemo= () => {
6
+ return (
7
+ <div className="space-y-6">
8
+ <div className="text-center">
9
+ <h2 className="text-2xl font-bold text-cs-text-primary mb-2">
10
+ Mobile Input System Recovery
11
+ </h2>
12
+ <p className="text-cs-text-secondary">
13
+ Semantic Input Excellence - Recovered from original project
14
+ </p>
15
+ </div>
16
+
17
+ <Card className="p-6">
18
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
19
+ Semantic Input Types
20
+ </h3>
21
+ <div className="grid grid-cols-1 md="space-y-2">
22
+ <label className="text-sm font-medium text-cs-text-secondary">Name Input</label>
23
+ <MobileInput
24
+ placeholder="Enter your full name"
25
+ mobileConfig={mobileInputConfigs.name}
26
+ className="w-full"
27
+ />
28
+ <p className="text-xs text-cs-text-muted">
29
+ Auto-capitalizes words, suggests name autocomplete
30
+ </p>
31
+ </div>
32
+
33
+ <div className="space-y-2">
34
+ <label className="text-sm font-medium text-cs-text-secondary">Email Input</label>
35
+ <MobileInput
36
+ placeholder="Enter your email"
37
+ mobileConfig={mobileInputConfigs.email}
38
+ className="w-full"
39
+ />
40
+ <p className="text-xs text-cs-text-muted">
41
+ Email keyboard, no spell check, email autocomplete
42
+ </p>
43
+ </div>
44
+
45
+ <div className="space-y-2">
46
+ <label className="text-sm font-medium text-cs-text-secondary">Phone Input</label>
47
+ <MobileInput
48
+ placeholder="Enter phone number"
49
+ mobileConfig={mobileInputConfigs.phone}
50
+ className="w-full"
51
+ />
52
+ <p className="text-xs text-cs-text-muted">
53
+ Numeric keyboard, phone autocomplete
54
+ </p>
55
+ </div>
56
+
57
+ <div className="space-y-2">
58
+ <label className="text-sm font-medium text-cs-text-secondary">Password Input</label>
59
+ <MobileInput
60
+ placeholder="Enter new password"
61
+ mobileConfig={mobileInputConfigs.newPassword}
62
+ className="w-full"
63
+ />
64
+ <p className="text-xs text-cs-text-muted">
65
+ Password keyboard, new-password autocomplete
66
+ </p>
67
+ </div>
68
+
69
+ <div className="space-y-2">
70
+ <label className="text-sm font-medium text-cs-text-secondary">Search Input</label>
71
+ <MobileInput
72
+ placeholder="Search..."
73
+ mobileConfig={mobileInputConfigs.search}
74
+ className="w-full"
75
+ />
76
+ <p className="text-xs text-cs-text-muted">
77
+ Search keyboard, no autocomplete
78
+ </p>
79
+ </div>
80
+
81
+ <div className="space-y-2">
82
+ <label className="text-sm font-medium text-cs-text-secondary">Amount Input</label>
83
+ <MobileInput
84
+ placeholder="Enter amount"
85
+ mobileConfig={mobileInputConfigs.amount}
86
+ className="w-full"
87
+ />
88
+ <p className="text-xs text-cs-text-muted">
89
+ Decimal keyboard, no autocomplete
90
+ </p>
91
+ </div>
92
+ </div>
93
+ </Card>
94
+
95
+ <Card className="p-6">
96
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
97
+ Custom Mobile Configurations
98
+ </h3>
99
+ <div className="grid grid-cols-1 md="space-y-2">
100
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Input Mode</label>
101
+ <MobileInput
102
+ placeholder="Custom input mode"
103
+ mobileConfig={{
104
+ semanticType,
105
+ inputMode,
106
+ spellCheck,
107
+ autoCapitalize}}
108
+ className="w-full"
109
+ />
110
+ <p className="text-xs text-cs-text-muted">
111
+ Email type with tel input mode, spell check enabled
112
+ </p>
113
+ </div>
114
+
115
+ <div className="space-y-2">
116
+ <label className="text-sm font-medium text-cs-text-secondary">Disabled Autocomplete</label>
117
+ <MobileInput
118
+ placeholder="No autocomplete"
119
+ mobileConfig={{
120
+ semanticType,
121
+ enableAutocomplete}}
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="space-y-2">
136
+ <label className="text-sm font-medium text-cs-text-secondary">Explicit Type Override</label>
137
+ <MobileInput
138
+ type="password"
139
+ placeholder="Password type overrides semantic"
140
+ mobileConfig={{ semanticType}}
141
+ className="w-full"
142
+ />
143
+ <p className="text-xs text-cs-text-muted">
144
+ Explicit password type overrides email semantic type
145
+ </p>
146
+ </div>
147
+
148
+ <div className="space-y-2">
149
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Attributes</label>
150
+ <MobileInput
151
+ placeholder="Custom attributes"
152
+ mobileConfig={{ semanticType}}
153
+ autoComplete="off"
154
+ spellCheck={true}
155
+ className="w-full"
156
+ />
157
+ <p className="text-xs text-cs-text-muted">
158
+ Custom autoComplete and spellCheck override mobile config
159
+ </p>
160
+ </div>
161
+ </div>
162
+ </Card>
163
+
164
+ <Card className="p-6">
165
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
166
+ Mobile Optimization Features
167
+ </h3>
168
+ <div className="space-y-4">
169
+ <div className="grid grid-cols-1 md="p-4 bg-cs-surface-bg rounded-lg">
170
+ <div className="text-2xl mb-2">📱</div>
171
+ <h4 className="font-medium text-cs-text-primary">Touch Optimized</h4>
172
+ <p className="text-sm text-cs-text-secondary">
173
+ 44px touch targets, touch-manipulation CSS
174
+ </p>
175
+ </div>
176
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
177
+ <div className="text-2xl mb-2">⌨️</div>
178
+ <h4 className="font-medium text-cs-text-primary">Smart Keyboards</h4>
179
+ <p className="text-sm text-cs-text-secondary">
180
+ Semantic input modes for optimal mobile keyboards
181
+ </p>
182
+ </div>
183
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
184
+ <div className="text-2xl mb-2">🔍</div>
185
+ <h4 className="font-medium text-cs-text-primary">Autocomplete</h4>
186
+ <p className="text-sm text-cs-text-secondary">
187
+ Intelligent autocomplete suggestions for better UX
188
+ </p>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ </Card>
193
+ </div>
194
+ );
195
+ };
@@ -0,0 +1,195 @@
1
+ import React from 'react';
2
+ import { Card } from './card';
3
+ import { MobileInput, mobileInputConfigs } from './mobile-input';
4
+
5
+ export const MobileInputDemo= () => {
6
+ return (
7
+ <div className="space-y-6">
8
+ <div className="text-center">
9
+ <h2 className="text-2xl font-bold text-cs-text-primary mb-2">
10
+ Mobile Input System Recovery
11
+ </h2>
12
+ <p className="text-cs-text-secondary">
13
+ Semantic Input Excellence - Recovered from original project
14
+ </p>
15
+ </div>
16
+
17
+ <Card className="p-6">
18
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
19
+ Semantic Input Types
20
+ </h3>
21
+ <div className="grid grid-cols-1 md="space-y-2">
22
+ <label className="text-sm font-medium text-cs-text-secondary">Name Input</label>
23
+ <MobileInput
24
+ placeholder="Enter your full name"
25
+ mobileConfig={mobileInputConfigs.name}
26
+ className="w-full"
27
+ />
28
+ <p className="text-xs text-cs-text-muted">
29
+ Auto-capitalizes words, suggests name autocomplete
30
+ </p>
31
+ </div>
32
+
33
+ <div className="space-y-2">
34
+ <label className="text-sm font-medium text-cs-text-secondary">Email Input</label>
35
+ <MobileInput
36
+ placeholder="Enter your email"
37
+ mobileConfig={mobileInputConfigs.email}
38
+ className="w-full"
39
+ />
40
+ <p className="text-xs text-cs-text-muted">
41
+ Email keyboard, no spell check, email autocomplete
42
+ </p>
43
+ </div>
44
+
45
+ <div className="space-y-2">
46
+ <label className="text-sm font-medium text-cs-text-secondary">Phone Input</label>
47
+ <MobileInput
48
+ placeholder="Enter phone number"
49
+ mobileConfig={mobileInputConfigs.phone}
50
+ className="w-full"
51
+ />
52
+ <p className="text-xs text-cs-text-muted">
53
+ Numeric keyboard, phone autocomplete
54
+ </p>
55
+ </div>
56
+
57
+ <div className="space-y-2">
58
+ <label className="text-sm font-medium text-cs-text-secondary">Password Input</label>
59
+ <MobileInput
60
+ placeholder="Enter new password"
61
+ mobileConfig={mobileInputConfigs.newPassword}
62
+ className="w-full"
63
+ />
64
+ <p className="text-xs text-cs-text-muted">
65
+ Password keyboard, new-password autocomplete
66
+ </p>
67
+ </div>
68
+
69
+ <div className="space-y-2">
70
+ <label className="text-sm font-medium text-cs-text-secondary">Search Input</label>
71
+ <MobileInput
72
+ placeholder="Search..."
73
+ mobileConfig={mobileInputConfigs.search}
74
+ className="w-full"
75
+ />
76
+ <p className="text-xs text-cs-text-muted">
77
+ Search keyboard, no autocomplete
78
+ </p>
79
+ </div>
80
+
81
+ <div className="space-y-2">
82
+ <label className="text-sm font-medium text-cs-text-secondary">Amount Input</label>
83
+ <MobileInput
84
+ placeholder="Enter amount"
85
+ mobileConfig={mobileInputConfigs.amount}
86
+ className="w-full"
87
+ />
88
+ <p className="text-xs text-cs-text-muted">
89
+ Decimal keyboard, no autocomplete
90
+ </p>
91
+ </div>
92
+ </div>
93
+ </Card>
94
+
95
+ <Card className="p-6">
96
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
97
+ Custom Mobile Configurations
98
+ </h3>
99
+ <div className="grid grid-cols-1 md="space-y-2">
100
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Input Mode</label>
101
+ <MobileInput
102
+ placeholder="Custom input mode"
103
+ mobileConfig={{
104
+ semanticType,
105
+ inputMode,
106
+ spellCheck,
107
+ autoCapitalize}}
108
+ className="w-full"
109
+ />
110
+ <p className="text-xs text-cs-text-muted">
111
+ Email type with tel input mode, spell check enabled
112
+ </p>
113
+ </div>
114
+
115
+ <div className="space-y-2">
116
+ <label className="text-sm font-medium text-cs-text-secondary">Disabled Autocomplete</label>
117
+ <MobileInput
118
+ placeholder="No autocomplete"
119
+ mobileConfig={{
120
+ semanticType,
121
+ enableAutocomplete}}
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="space-y-2">
136
+ <label className="text-sm font-medium text-cs-text-secondary">Explicit Type Override</label>
137
+ <MobileInput
138
+ type="password"
139
+ placeholder="Password type overrides semantic"
140
+ mobileConfig={{ semanticType}}
141
+ className="w-full"
142
+ />
143
+ <p className="text-xs text-cs-text-muted">
144
+ Explicit password type overrides email semantic type
145
+ </p>
146
+ </div>
147
+
148
+ <div className="space-y-2">
149
+ <label className="text-sm font-medium text-cs-text-secondary">Custom Attributes</label>
150
+ <MobileInput
151
+ placeholder="Custom attributes"
152
+ mobileConfig={{ semanticType}}
153
+ autoComplete="off"
154
+ spellCheck={true}
155
+ className="w-full"
156
+ />
157
+ <p className="text-xs text-cs-text-muted">
158
+ Custom autoComplete and spellCheck override mobile config
159
+ </p>
160
+ </div>
161
+ </div>
162
+ </Card>
163
+
164
+ <Card className="p-6">
165
+ <h3 className="text-lg font-semibold text-cs-text-primary mb-4">
166
+ Mobile Optimization Features
167
+ </h3>
168
+ <div className="space-y-4">
169
+ <div className="grid grid-cols-1 md="p-4 bg-cs-surface-bg rounded-lg">
170
+ <div className="text-2xl mb-2">📱</div>
171
+ <h4 className="font-medium text-cs-text-primary">Touch Optimized</h4>
172
+ <p className="text-sm text-cs-text-secondary">
173
+ 44px touch targets, touch-manipulation CSS
174
+ </p>
175
+ </div>
176
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
177
+ <div className="text-2xl mb-2">⌨️</div>
178
+ <h4 className="font-medium text-cs-text-primary">Smart Keyboards</h4>
179
+ <p className="text-sm text-cs-text-secondary">
180
+ Semantic input modes for optimal mobile keyboards
181
+ </p>
182
+ </div>
183
+ <div className="p-4 bg-cs-surface-bg rounded-lg">
184
+ <div className="text-2xl mb-2">🔍</div>
185
+ <h4 className="font-medium text-cs-text-primary">Autocomplete</h4>
186
+ <p className="text-sm text-cs-text-secondary">
187
+ Intelligent autocomplete suggestions for better UX
188
+ </p>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ </Card>
193
+ </div>
194
+ );
195
+ };
@@ -0,0 +1,273 @@
1
+ // Input type mappings for mobile optimization
2
+ export type MobileInputType =
3
+ | 'text'
4
+ | 'email'
5
+ | 'tel'
6
+ | 'url'
7
+ | 'number'
8
+ | 'decimal'
9
+ | 'search'
10
+ | 'password'
11
+ | 'date'
12
+ | 'time'
13
+ | 'datetime-local'
14
+ | 'month'
15
+ | 'week'
16
+
17
+ interface MobileInputConfig {
18
+
19
+ semanticType?: 'name' | 'username' | 'email' | 'phone' | 'address' | 'city' | 'zipcode' | 'creditcard' | 'amount' | 'age' | 'search' | 'url' | 'newPassword' | 'currentPassword'
20
+
21
+ enableAutocomplete?: boolean
22
+
23
+ inputMode?: 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'
24
+
25
+ spellCheck?: boolean
26
+
27
+ autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters'
28
+
29
+ autoCorrect?: 'on' | 'off'
30
+ }
31
+
32
+ export interface MobileInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
33
+ type?: MobileInputType
34
+ mobileConfig?: MobileInputConfig
35
+ }
36
+
37
+ export declare const MobileInput: React.forwardRef<HTMLInputElement, MobileInputProps>(
38
+ ({ className, type, mobileConfig = {}, ...props }, ref) => {
39
+ const {
40
+ semanticType,
41
+ enableAutocomplete = true,
42
+ inputMode,
43
+ spellCheck,
44
+ autoCapitalize,
45
+ autoCorrect
46
+ } = mobileConfig
47
+
48
+ // Get optimized input attributes based on semantic type
49
+ const getInputAttributes = () => {
50
+ const baseAttributes = {
51
+ spellCheck: spellCheck ?? false,
52
+ autoCapitalize: autoCapitalize ?? 'none',
53
+ autoCorrect: autoCorrect ?? 'off',
54
+ autoComplete: enableAutocomplete ? 'on' : 'off'
55
+ }
56
+
57
+ // If explicit type is provided, don't override it with semantic type
58
+ if (type) {
59
+ return {
60
+ ...baseAttributes,
61
+ type: type,
62
+ inputMode: inputMode || getDefaultInputMode(type as MobileInputType)
63
+ }
64
+ }
65
+
66
+ // Override based on semantic type, but respect custom mobile config
67
+ switch (semanticType) {
68
+ case 'name':
69
+ return {
70
+ ...baseAttributes,
71
+ type: 'text' as const,
72
+ autoComplete: enableAutocomplete ? 'name' : 'off',
73
+ autoCapitalize: autoCapitalize || 'words' as const,
74
+ inputMode: inputMode || 'text' as const
75
+ }
76
+
77
+ case 'username':
78
+ return {
79
+ ...baseAttributes,
80
+ type: 'text' as const,
81
+ autoComplete: enableAutocomplete ? 'username' : 'off',
82
+ autoCapitalize: autoCapitalize || 'none' as const,
83
+ inputMode: inputMode || 'text' as const
84
+ }
85
+
86
+ case 'email':
87
+ return {
88
+ ...baseAttributes,
89
+ type: 'email' as const,
90
+ autoComplete: enableAutocomplete ? 'email' : 'off',
91
+ autoCapitalize: autoCapitalize || 'none' as const,
92
+ inputMode: inputMode || 'email' as const,
93
+ spellCheck: spellCheck ?? false
94
+ }
95
+
96
+ case 'phone':
97
+ return {
98
+ ...baseAttributes,
99
+ type: 'tel' as const,
100
+ autoComplete: enableAutocomplete ? 'tel' : 'off',
101
+ autoCapitalize: autoCapitalize || 'none' as const,
102
+ inputMode: inputMode || 'tel' as const,
103
+ spellCheck: spellCheck ?? false
104
+ }
105
+
106
+ case 'address':
107
+ return {
108
+ ...baseAttributes,
109
+ type: 'text' as const,
110
+ autoComplete: enableAutocomplete ? 'street-address' : 'off',
111
+ autoCapitalize: autoCapitalize || 'words' as const,
112
+ inputMode: inputMode || 'text' as const
113
+ }
114
+
115
+ case 'city':
116
+ return {
117
+ ...baseAttributes,
118
+ type: 'text' as const,
119
+ autoComplete: enableAutocomplete ? 'address-level2' : 'off',
120
+ autoCapitalize: autoCapitalize || 'words' as const,
121
+ inputMode: inputMode || 'text' as const
122
+ }
123
+
124
+ case 'zipcode':
125
+ return {
126
+ ...baseAttributes,
127
+ type: 'text' as const,
128
+ autoComplete: enableAutocomplete ? 'postal-code' : 'off',
129
+ autoCapitalize: autoCapitalize || 'none' as const,
130
+ inputMode: inputMode || 'numeric' as const,
131
+ spellCheck: spellCheck ?? false
132
+ }
133
+
134
+ case 'creditcard':
135
+ return {
136
+ ...baseAttributes,
137
+ type: 'text' as const,
138
+ autoComplete: enableAutocomplete ? 'cc-number' : 'off',
139
+ autoCapitalize: autoCapitalize || 'none' as const,
140
+ inputMode: inputMode || 'numeric' as const,
141
+ spellCheck: spellCheck ?? false
142
+ }
143
+
144
+ case 'amount':
145
+ return {
146
+ ...baseAttributes,
147
+ type: 'number' as const,
148
+ autoComplete: 'off',
149
+ autoCapitalize: autoCapitalize || 'none' as const,
150
+ inputMode: inputMode || 'decimal' as const,
151
+ spellCheck: spellCheck ?? false
152
+ }
153
+
154
+ case 'age':
155
+ return {
156
+ ...baseAttributes,
157
+ type: 'text' as const,
158
+ autoComplete: enableAutocomplete ? 'bday-year' : 'off',
159
+ autoCapitalize: autoCapitalize || 'none' as const,
160
+ inputMode: inputMode || 'numeric' as const,
161
+ spellCheck: spellCheck ?? false
162
+ }
163
+
164
+ case 'search':
165
+ return {
166
+ ...baseAttributes,
167
+ type: 'search' as const,
168
+ autoComplete: 'off',
169
+ autoCapitalize: autoCapitalize || 'none' as const,
170
+ inputMode: inputMode || 'search' as const
171
+ }
172
+
173
+ case 'url':
174
+ return {
175
+ ...baseAttributes,
176
+ type: 'url' as const,
177
+ autoComplete: enableAutocomplete ? 'url' : 'off',
178
+ autoCapitalize: autoCapitalize || 'none' as const,
179
+ inputMode: inputMode || 'url' as const,
180
+ spellCheck: spellCheck ?? false
181
+ }
182
+
183
+ case 'newPassword':
184
+ return {
185
+ ...baseAttributes,
186
+ type: 'password' as const,
187
+ autoComplete: enableAutocomplete ? 'new-password' : 'off',
188
+ autoCapitalize: autoCapitalize || 'none' as const,
189
+ inputMode: inputMode || 'text' as const,
190
+ spellCheck: spellCheck ?? false
191
+ }
192
+
193
+ case 'currentPassword':
194
+ return {
195
+ ...baseAttributes,
196
+ type: 'password' as const,
197
+ autoComplete: enableAutocomplete ? 'current-password' : 'off',
198
+ autoCapitalize: autoCapitalize || 'none' as const,
199
+ inputMode: inputMode || 'text' as const,
200
+ spellCheck: spellCheck ?? false
201
+ }
202
+
203
+ default:
204
+ // Use provided type or fallback settings
205
+ const finalInputMode = inputMode || getDefaultInputMode(type || 'text')
206
+ return {
207
+ ...baseAttributes,
208
+ type: type || 'text',
209
+ inputMode: finalInputMode
210
+ }
211
+ }
212
+ }
213
+
214
+ const getDefaultInputMode = (inputType: MobileInputType): string => {
215
+ switch (inputType) {
216
+ case 'email': return 'email'
217
+ case 'tel': return 'tel'
218
+ case 'url': return 'url'
219
+ case 'number':
220
+ case 'decimal': return 'decimal'
221
+ case 'search': return 'search'
222
+ default: return 'text'
223
+ }
224
+ }
225
+
226
+ const inputAttributes = getInputAttributes()
227
+
228
+ return (
229
+ <Input
230
+ className={cn(
231
+ "coach-stan-mobile-input",
232
+ // Add mobile-specific styling
233
+ "touch-manipulation", // Disable double-tap zoom
234
+ className
235
+ )}
236
+ ref={ref}
237
+ {...inputAttributes}
238
+ // Ensure mobile config doesn't override explicit props
239
+ type={type || inputAttributes.type}
240
+ inputMode={(props.inputMode || inputAttributes.inputMode) as React.InputHTMLAttributes<HTMLInputElement>['inputMode']}
241
+ autoComplete={props.autoComplete || inputAttributes.autoComplete}
242
+ autoCapitalize={props.autoCapitalize || inputAttributes.autoCapitalize}
243
+ autoCorrect={props.autoCorrect || inputAttributes.autoCorrect}
244
+ spellCheck={props.spellCheck ?? inputAttributes.spellCheck}
245
+ {...props}
246
+ size="md"
247
+ />
248
+ )
249
+ }
250
+ )
251
+
252
+ MobileInput.displayName = "MobileInput"
253
+
254
+ // Utility function to get optimal mobile input props for common scenarios
255
+ export declare const getMobileInputProps: (semanticType: MobileInputConfig['semanticType']): MobileInputConfig => {
256
+ return { semanticType, enableAutocomplete: true }
257
+ }
258
+
259
+ // Common mobile input configurations
260
+ export declare const mobileInputConfigs: {
261
+ name: { semanticType: 'name' as const },
262
+ email: { semanticType: 'email' as const },
263
+ phone: { semanticType: 'phone' as const },
264
+ address: { semanticType: 'address' as const },
265
+ city: { semanticType: 'city' as const },
266
+ zipcode: { semanticType: 'zipcode' as const },
267
+ creditCard: { semanticType: 'creditcard' as const },
268
+ amount: { semanticType: 'amount' as const },
269
+ search: { semanticType: 'search' as const },
270
+ url: { semanticType: 'url' as const },
271
+ newPassword: { semanticType: 'newPassword' as const },
272
+ currentPassword: { semanticType: 'currentPassword' as const }
273
+ } as const