@rakeyshgidwani/roger-ui-bank-theme-jeremy 0.5.3

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 (961) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +137 -0
  3. package/dist/components/ui/accessibility-demo.d.ts +7 -0
  4. package/dist/components/ui/accessibility-demo.d.ts.map +1 -0
  5. package/dist/components/ui/accessibility-demo.esm.js +95 -0
  6. package/dist/components/ui/accessibility-demo.js +95 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.d.ts +4 -0
  8. package/dist/components/ui/advanced-component-architecture-demo.d.ts.map +1 -0
  9. package/dist/components/ui/advanced-component-architecture-demo.esm.js +257 -0
  10. package/dist/components/ui/advanced-component-architecture-demo.js +257 -0
  11. package/dist/components/ui/advanced-transition-system-demo.d.ts +3 -0
  12. package/dist/components/ui/advanced-transition-system-demo.d.ts.map +1 -0
  13. package/dist/components/ui/advanced-transition-system-demo.esm.js +60 -0
  14. package/dist/components/ui/advanced-transition-system-demo.js +60 -0
  15. package/dist/components/ui/advanced-transition-system.d.ts +45 -0
  16. package/dist/components/ui/advanced-transition-system.d.ts.map +1 -0
  17. package/dist/components/ui/advanced-transition-system.esm.js +213 -0
  18. package/dist/components/ui/advanced-transition-system.js +213 -0
  19. package/dist/components/ui/animation/animated-container.d.ts +13 -0
  20. package/dist/components/ui/animation/animated-container.d.ts.map +1 -0
  21. package/dist/components/ui/animation/animated-container.esm.js +106 -0
  22. package/dist/components/ui/animation/animated-container.js +106 -0
  23. package/dist/components/ui/animation/index.d.ts +7 -0
  24. package/dist/components/ui/animation/index.d.ts.map +1 -0
  25. package/dist/components/ui/animation/index.esm.js +4 -0
  26. package/dist/components/ui/animation/index.js +4 -0
  27. package/dist/components/ui/animation/staggered-container.d.ts +10 -0
  28. package/dist/components/ui/animation/staggered-container.d.ts.map +1 -0
  29. package/dist/components/ui/animation/staggered-container.esm.js +37 -0
  30. package/dist/components/ui/animation/staggered-container.js +37 -0
  31. package/dist/components/ui/animation-demo.d.ts +3 -0
  32. package/dist/components/ui/animation-demo.d.ts.map +1 -0
  33. package/dist/components/ui/animation-demo.esm.js +31 -0
  34. package/dist/components/ui/animation-demo.js +31 -0
  35. package/dist/components/ui/badge.d.ts +10 -0
  36. package/dist/components/ui/badge.d.ts.map +1 -0
  37. package/dist/components/ui/badge.esm.js +20 -0
  38. package/dist/components/ui/badge.js +20 -0
  39. package/dist/components/ui/battery-conscious-animation-demo.d.ts +4 -0
  40. package/dist/components/ui/battery-conscious-animation-demo.d.ts.map +1 -0
  41. package/dist/components/ui/battery-conscious-animation-demo.esm.js +140 -0
  42. package/dist/components/ui/battery-conscious-animation-demo.js +140 -0
  43. package/dist/components/ui/border-radius-shadow-demo.d.ts +3 -0
  44. package/dist/components/ui/border-radius-shadow-demo.d.ts.map +1 -0
  45. package/dist/components/ui/border-radius-shadow-demo.esm.js +7 -0
  46. package/dist/components/ui/border-radius-shadow-demo.js +7 -0
  47. package/dist/components/ui/button.d.ts +11 -0
  48. package/dist/components/ui/button.d.ts.map +1 -0
  49. package/dist/components/ui/button.esm.js +19 -0
  50. package/dist/components/ui/button.js +19 -0
  51. package/dist/components/ui/card.d.ts +37 -0
  52. package/dist/components/ui/card.d.ts.map +1 -0
  53. package/dist/components/ui/card.esm.js +93 -0
  54. package/dist/components/ui/card.js +93 -0
  55. package/dist/components/ui/checkbox.d.ts +8 -0
  56. package/dist/components/ui/checkbox.d.ts.map +1 -0
  57. package/dist/components/ui/checkbox.esm.js +12 -0
  58. package/dist/components/ui/checkbox.js +12 -0
  59. package/dist/components/ui/color-preview.d.ts +16 -0
  60. package/dist/components/ui/color-preview.d.ts.map +1 -0
  61. package/dist/components/ui/color-preview.esm.js +57 -0
  62. package/dist/components/ui/color-preview.js +57 -0
  63. package/dist/components/ui/data-display/chart.d.ts +5 -0
  64. package/dist/components/ui/data-display/chart.d.ts.map +1 -0
  65. package/dist/components/ui/data-display/chart.esm.js +233 -0
  66. package/dist/components/ui/data-display/chart.js +233 -0
  67. package/dist/components/ui/data-display/data-grid-simple.d.ts +5 -0
  68. package/dist/components/ui/data-display/data-grid-simple.d.ts.map +1 -0
  69. package/dist/components/ui/data-display/data-grid-simple.esm.js +19 -0
  70. package/dist/components/ui/data-display/data-grid-simple.js +19 -0
  71. package/dist/components/ui/data-display/data-grid.d.ts +5 -0
  72. package/dist/components/ui/data-display/data-grid.d.ts.map +1 -0
  73. package/dist/components/ui/data-display/data-grid.esm.js +195 -0
  74. package/dist/components/ui/data-display/data-grid.js +195 -0
  75. package/dist/components/ui/data-display/list.d.ts +5 -0
  76. package/dist/components/ui/data-display/list.d.ts.map +1 -0
  77. package/dist/components/ui/data-display/list.esm.js +100 -0
  78. package/dist/components/ui/data-display/list.js +100 -0
  79. package/dist/components/ui/data-display/table.d.ts +5 -0
  80. package/dist/components/ui/data-display/table.d.ts.map +1 -0
  81. package/dist/components/ui/data-display/table.esm.js +125 -0
  82. package/dist/components/ui/data-display/table.js +125 -0
  83. package/dist/components/ui/data-display/timeline.d.ts +5 -0
  84. package/dist/components/ui/data-display/timeline.d.ts.map +1 -0
  85. package/dist/components/ui/data-display/timeline.esm.js +104 -0
  86. package/dist/components/ui/data-display/timeline.js +104 -0
  87. package/dist/components/ui/data-display/tree.d.ts +5 -0
  88. package/dist/components/ui/data-display/tree.d.ts.map +1 -0
  89. package/dist/components/ui/data-display/tree.esm.js +231 -0
  90. package/dist/components/ui/data-display/tree.js +231 -0
  91. package/dist/components/ui/data-display/types.d.ts +483 -0
  92. package/dist/components/ui/data-display/types.d.ts.map +1 -0
  93. package/dist/components/ui/data-display/types.esm.js +8 -0
  94. package/dist/components/ui/data-display/types.js +8 -0
  95. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +3 -0
  96. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts.map +1 -0
  97. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +77 -0
  98. package/dist/components/ui/enterprise-mobile-experience-demo.js +77 -0
  99. package/dist/components/ui/enterprise-mobile-experience.d.ts +72 -0
  100. package/dist/components/ui/enterprise-mobile-experience.d.ts.map +1 -0
  101. package/dist/components/ui/enterprise-mobile-experience.esm.js +157 -0
  102. package/dist/components/ui/enterprise-mobile-experience.js +157 -0
  103. package/dist/components/ui/feedback/alert.d.ts +5 -0
  104. package/dist/components/ui/feedback/alert.d.ts.map +1 -0
  105. package/dist/components/ui/feedback/alert.esm.js +51 -0
  106. package/dist/components/ui/feedback/alert.js +51 -0
  107. package/dist/components/ui/feedback/index.d.ts +10 -0
  108. package/dist/components/ui/feedback/index.d.ts.map +1 -0
  109. package/dist/components/ui/feedback/index.esm.js +10 -0
  110. package/dist/components/ui/feedback/index.js +10 -0
  111. package/dist/components/ui/feedback/progress.d.ts +5 -0
  112. package/dist/components/ui/feedback/progress.d.ts.map +1 -0
  113. package/dist/components/ui/feedback/progress.esm.js +77 -0
  114. package/dist/components/ui/feedback/progress.js +77 -0
  115. package/dist/components/ui/feedback/skeleton.d.ts +8 -0
  116. package/dist/components/ui/feedback/skeleton.d.ts.map +1 -0
  117. package/dist/components/ui/feedback/skeleton.esm.js +77 -0
  118. package/dist/components/ui/feedback/skeleton.js +77 -0
  119. package/dist/components/ui/feedback/status-alert-example.d.ts +3 -0
  120. package/dist/components/ui/feedback/status-alert-example.d.ts.map +1 -0
  121. package/dist/components/ui/feedback/status-alert-example.esm.js +68 -0
  122. package/dist/components/ui/feedback/status-alert-example.js +68 -0
  123. package/dist/components/ui/feedback/toast-context.d.ts +27 -0
  124. package/dist/components/ui/feedback/toast-context.d.ts.map +1 -0
  125. package/dist/components/ui/feedback/toast-context.esm.js +95 -0
  126. package/dist/components/ui/feedback/toast-context.js +95 -0
  127. package/dist/components/ui/feedback/toast-example.d.ts +4 -0
  128. package/dist/components/ui/feedback/toast-example.d.ts.map +1 -0
  129. package/dist/components/ui/feedback/toast-example.esm.js +40 -0
  130. package/dist/components/ui/feedback/toast-example.js +40 -0
  131. package/dist/components/ui/feedback/toast-renderer.d.ts +11 -0
  132. package/dist/components/ui/feedback/toast-renderer.d.ts.map +1 -0
  133. package/dist/components/ui/feedback/toast-renderer.esm.js +23 -0
  134. package/dist/components/ui/feedback/toast-renderer.js +23 -0
  135. package/dist/components/ui/feedback/toast.d.ts +8 -0
  136. package/dist/components/ui/feedback/toast.d.ts.map +1 -0
  137. package/dist/components/ui/feedback/toast.esm.js +143 -0
  138. package/dist/components/ui/feedback/toast.js +143 -0
  139. package/dist/components/ui/feedback/types.d.ts +127 -0
  140. package/dist/components/ui/feedback/types.d.ts.map +1 -0
  141. package/dist/components/ui/feedback/types.esm.js +2 -0
  142. package/dist/components/ui/feedback/types.js +2 -0
  143. package/dist/components/ui/font-preview.d.ts +15 -0
  144. package/dist/components/ui/font-preview.d.ts.map +1 -0
  145. package/dist/components/ui/font-preview.esm.js +62 -0
  146. package/dist/components/ui/font-preview.js +62 -0
  147. package/dist/components/ui/form-demo.d.ts +4 -0
  148. package/dist/components/ui/form-demo.d.ts.map +1 -0
  149. package/dist/components/ui/form-demo.esm.js +192 -0
  150. package/dist/components/ui/form-demo.js +192 -0
  151. package/dist/components/ui/hardware-acceleration-demo.d.ts +4 -0
  152. package/dist/components/ui/hardware-acceleration-demo.d.ts.map +1 -0
  153. package/dist/components/ui/hardware-acceleration-demo.esm.js +107 -0
  154. package/dist/components/ui/hardware-acceleration-demo.js +107 -0
  155. package/dist/components/ui/input.d.ts +9 -0
  156. package/dist/components/ui/input.d.ts.map +1 -0
  157. package/dist/components/ui/input.esm.js +17 -0
  158. package/dist/components/ui/input.js +17 -0
  159. package/dist/components/ui/label.d.ts +5 -0
  160. package/dist/components/ui/label.d.ts.map +1 -0
  161. package/dist/components/ui/label.esm.js +6 -0
  162. package/dist/components/ui/label.js +6 -0
  163. package/dist/components/ui/layout/container.d.ts +57 -0
  164. package/dist/components/ui/layout/container.d.ts.map +1 -0
  165. package/dist/components/ui/layout/container.esm.js +173 -0
  166. package/dist/components/ui/layout/container.js +173 -0
  167. package/dist/components/ui/layout/index.d.ts +9 -0
  168. package/dist/components/ui/layout/index.d.ts.map +1 -0
  169. package/dist/components/ui/layout/index.esm.js +6 -0
  170. package/dist/components/ui/layout/index.js +6 -0
  171. package/dist/components/ui/layout/responsive-grid.d.ts +93 -0
  172. package/dist/components/ui/layout/responsive-grid.d.ts.map +1 -0
  173. package/dist/components/ui/layout/responsive-grid.esm.js +124 -0
  174. package/dist/components/ui/layout/responsive-grid.js +124 -0
  175. package/dist/components/ui/layout-demo.d.ts +4 -0
  176. package/dist/components/ui/layout-demo.d.ts.map +1 -0
  177. package/dist/components/ui/layout-demo.esm.js +77 -0
  178. package/dist/components/ui/layout-demo.js +77 -0
  179. package/dist/components/ui/layouts/adaptive-layout.d.ts +18 -0
  180. package/dist/components/ui/layouts/adaptive-layout.d.ts.map +1 -0
  181. package/dist/components/ui/layouts/adaptive-layout.esm.js +54 -0
  182. package/dist/components/ui/layouts/adaptive-layout.js +54 -0
  183. package/dist/components/ui/layouts/desktop-layout.d.ts +15 -0
  184. package/dist/components/ui/layouts/desktop-layout.d.ts.map +1 -0
  185. package/dist/components/ui/layouts/desktop-layout.esm.js +40 -0
  186. package/dist/components/ui/layouts/desktop-layout.js +40 -0
  187. package/dist/components/ui/layouts/index.d.ts +9 -0
  188. package/dist/components/ui/layouts/index.d.ts.map +1 -0
  189. package/dist/components/ui/layouts/index.esm.js +4 -0
  190. package/dist/components/ui/layouts/index.js +4 -0
  191. package/dist/components/ui/layouts/mobile-layout.d.ts +15 -0
  192. package/dist/components/ui/layouts/mobile-layout.d.ts.map +1 -0
  193. package/dist/components/ui/layouts/mobile-layout.esm.js +50 -0
  194. package/dist/components/ui/layouts/mobile-layout.js +50 -0
  195. package/dist/components/ui/layouts/tablet-layout.d.ts +15 -0
  196. package/dist/components/ui/layouts/tablet-layout.d.ts.map +1 -0
  197. package/dist/components/ui/layouts/tablet-layout.esm.js +54 -0
  198. package/dist/components/ui/layouts/tablet-layout.js +54 -0
  199. package/dist/components/ui/mobile-form-validation.d.ts +32 -0
  200. package/dist/components/ui/mobile-form-validation.d.ts.map +1 -0
  201. package/dist/components/ui/mobile-form-validation.esm.js +218 -0
  202. package/dist/components/ui/mobile-form-validation.js +218 -0
  203. package/dist/components/ui/mobile-input-demo.d.ts +3 -0
  204. package/dist/components/ui/mobile-input-demo.d.ts.map +1 -0
  205. package/dist/components/ui/mobile-input-demo.esm.js +15 -0
  206. package/dist/components/ui/mobile-input-demo.js +15 -0
  207. package/dist/components/ui/mobile-input.d.ts +66 -0
  208. package/dist/components/ui/mobile-input.d.ts.map +1 -0
  209. package/dist/components/ui/mobile-input.esm.js +199 -0
  210. package/dist/components/ui/mobile-input.js +199 -0
  211. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +4 -0
  212. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts.map +1 -0
  213. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +145 -0
  214. package/dist/components/ui/mobile-skeleton-loading-demo.js +145 -0
  215. package/dist/components/ui/navigation/breadcrumb.d.ts +9 -0
  216. package/dist/components/ui/navigation/breadcrumb.d.ts.map +1 -0
  217. package/dist/components/ui/navigation/breadcrumb.esm.js +60 -0
  218. package/dist/components/ui/navigation/breadcrumb.js +60 -0
  219. package/dist/components/ui/navigation/index.d.ts +16 -0
  220. package/dist/components/ui/navigation/index.d.ts.map +1 -0
  221. package/dist/components/ui/navigation/index.esm.js +15 -0
  222. package/dist/components/ui/navigation/index.js +15 -0
  223. package/dist/components/ui/navigation/menu.d.ts +9 -0
  224. package/dist/components/ui/navigation/menu.d.ts.map +1 -0
  225. package/dist/components/ui/navigation/menu.esm.js +192 -0
  226. package/dist/components/ui/navigation/menu.js +192 -0
  227. package/dist/components/ui/navigation/navigation-demo.d.ts +8 -0
  228. package/dist/components/ui/navigation/navigation-demo.d.ts.map +1 -0
  229. package/dist/components/ui/navigation/navigation-demo.esm.js +144 -0
  230. package/dist/components/ui/navigation/navigation-demo.js +144 -0
  231. package/dist/components/ui/navigation/pagination.d.ts +9 -0
  232. package/dist/components/ui/navigation/pagination.d.ts.map +1 -0
  233. package/dist/components/ui/navigation/pagination.esm.js +155 -0
  234. package/dist/components/ui/navigation/pagination.js +155 -0
  235. package/dist/components/ui/navigation/progressive-navigation.d.ts +37 -0
  236. package/dist/components/ui/navigation/progressive-navigation.d.ts.map +1 -0
  237. package/dist/components/ui/navigation/progressive-navigation.esm.js +145 -0
  238. package/dist/components/ui/navigation/progressive-navigation.js +145 -0
  239. package/dist/components/ui/navigation/sidebar.d.ts +9 -0
  240. package/dist/components/ui/navigation/sidebar.d.ts.map +1 -0
  241. package/dist/components/ui/navigation/sidebar.esm.js +176 -0
  242. package/dist/components/ui/navigation/sidebar.js +176 -0
  243. package/dist/components/ui/navigation/stepper.d.ts +9 -0
  244. package/dist/components/ui/navigation/stepper.d.ts.map +1 -0
  245. package/dist/components/ui/navigation/stepper.esm.js +144 -0
  246. package/dist/components/ui/navigation/stepper.js +144 -0
  247. package/dist/components/ui/navigation/subscription-badge.d.ts +9 -0
  248. package/dist/components/ui/navigation/subscription-badge.d.ts.map +1 -0
  249. package/dist/components/ui/navigation/subscription-badge.esm.js +58 -0
  250. package/dist/components/ui/navigation/subscription-badge.js +58 -0
  251. package/dist/components/ui/navigation/tabs.d.ts +9 -0
  252. package/dist/components/ui/navigation/tabs.d.ts.map +1 -0
  253. package/dist/components/ui/navigation/tabs.esm.js +101 -0
  254. package/dist/components/ui/navigation/tabs.js +101 -0
  255. package/dist/components/ui/navigation/types.d.ts +277 -0
  256. package/dist/components/ui/navigation/types.d.ts.map +1 -0
  257. package/dist/components/ui/navigation/types.esm.js +5 -0
  258. package/dist/components/ui/navigation/types.js +5 -0
  259. package/dist/components/ui/navigation/user-avatar.d.ts +9 -0
  260. package/dist/components/ui/navigation/user-avatar.d.ts.map +1 -0
  261. package/dist/components/ui/navigation/user-avatar.esm.js +55 -0
  262. package/dist/components/ui/navigation/user-avatar.js +55 -0
  263. package/dist/components/ui/navigation/user-menu-examples.d.ts +8 -0
  264. package/dist/components/ui/navigation/user-menu-examples.d.ts.map +1 -0
  265. package/dist/components/ui/navigation/user-menu-examples.esm.js +125 -0
  266. package/dist/components/ui/navigation/user-menu-examples.js +125 -0
  267. package/dist/components/ui/navigation/user-menu-types.d.ts +218 -0
  268. package/dist/components/ui/navigation/user-menu-types.d.ts.map +1 -0
  269. package/dist/components/ui/navigation/user-menu-types.esm.js +5 -0
  270. package/dist/components/ui/navigation/user-menu-types.js +5 -0
  271. package/dist/components/ui/navigation/user-menu.d.ts +9 -0
  272. package/dist/components/ui/navigation/user-menu.d.ts.map +1 -0
  273. package/dist/components/ui/navigation/user-menu.esm.js +205 -0
  274. package/dist/components/ui/navigation/user-menu.js +205 -0
  275. package/dist/components/ui/overlay/backdrop.d.ts +15 -0
  276. package/dist/components/ui/overlay/backdrop.d.ts.map +1 -0
  277. package/dist/components/ui/overlay/backdrop.esm.js +44 -0
  278. package/dist/components/ui/overlay/backdrop.js +44 -0
  279. package/dist/components/ui/overlay/focus-manager.d.ts +13 -0
  280. package/dist/components/ui/overlay/focus-manager.d.ts.map +1 -0
  281. package/dist/components/ui/overlay/focus-manager.esm.js +101 -0
  282. package/dist/components/ui/overlay/focus-manager.js +101 -0
  283. package/dist/components/ui/overlay/index.d.ts +10 -0
  284. package/dist/components/ui/overlay/index.d.ts.map +1 -0
  285. package/dist/components/ui/overlay/index.esm.js +9 -0
  286. package/dist/components/ui/overlay/index.js +9 -0
  287. package/dist/components/ui/overlay/modal.d.ts +8 -0
  288. package/dist/components/ui/overlay/modal.d.ts.map +1 -0
  289. package/dist/components/ui/overlay/modal.esm.js +118 -0
  290. package/dist/components/ui/overlay/modal.js +118 -0
  291. package/dist/components/ui/overlay/overlay-manager.d.ts +17 -0
  292. package/dist/components/ui/overlay/overlay-manager.d.ts.map +1 -0
  293. package/dist/components/ui/overlay/overlay-manager.esm.js +73 -0
  294. package/dist/components/ui/overlay/overlay-manager.js +73 -0
  295. package/dist/components/ui/overlay/popover.d.ts +9 -0
  296. package/dist/components/ui/overlay/popover.d.ts.map +1 -0
  297. package/dist/components/ui/overlay/popover.esm.js +284 -0
  298. package/dist/components/ui/overlay/popover.js +284 -0
  299. package/dist/components/ui/overlay/portal.d.ts +5 -0
  300. package/dist/components/ui/overlay/portal.d.ts.map +1 -0
  301. package/dist/components/ui/overlay/portal.esm.js +52 -0
  302. package/dist/components/ui/overlay/portal.js +52 -0
  303. package/dist/components/ui/overlay/tooltip.d.ts +6 -0
  304. package/dist/components/ui/overlay/tooltip.d.ts.map +1 -0
  305. package/dist/components/ui/overlay/tooltip.esm.js +219 -0
  306. package/dist/components/ui/overlay/tooltip.js +219 -0
  307. package/dist/components/ui/overlay/types.d.ts +171 -0
  308. package/dist/components/ui/overlay/types.d.ts.map +1 -0
  309. package/dist/components/ui/overlay/types.esm.js +2 -0
  310. package/dist/components/ui/overlay/types.js +2 -0
  311. package/dist/components/ui/performance-demo.d.ts +3 -0
  312. package/dist/components/ui/performance-demo.d.ts.map +1 -0
  313. package/dist/components/ui/performance-demo.esm.js +111 -0
  314. package/dist/components/ui/performance-demo.js +111 -0
  315. package/dist/components/ui/semantic-input-system-demo.d.ts +3 -0
  316. package/dist/components/ui/semantic-input-system-demo.d.ts.map +1 -0
  317. package/dist/components/ui/semantic-input-system-demo.esm.js +89 -0
  318. package/dist/components/ui/semantic-input-system-demo.js +89 -0
  319. package/dist/components/ui/theme-customizer.d.ts +27 -0
  320. package/dist/components/ui/theme-customizer.d.ts.map +1 -0
  321. package/dist/components/ui/theme-customizer.esm.js +140 -0
  322. package/dist/components/ui/theme-customizer.js +140 -0
  323. package/dist/components/ui/theme-preview.d.ts +11 -0
  324. package/dist/components/ui/theme-preview.d.ts.map +1 -0
  325. package/dist/components/ui/theme-preview.esm.js +49 -0
  326. package/dist/components/ui/theme-preview.js +49 -0
  327. package/dist/components/ui/theme-switcher.d.ts +11 -0
  328. package/dist/components/ui/theme-switcher.d.ts.map +1 -0
  329. package/dist/components/ui/theme-switcher.esm.js +87 -0
  330. package/dist/components/ui/theme-switcher.js +87 -0
  331. package/dist/components/ui/theme-toggle.d.ts +3 -0
  332. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  333. package/dist/components/ui/theme-toggle.esm.js +36 -0
  334. package/dist/components/ui/theme-toggle.js +36 -0
  335. package/dist/components/ui/token-demo.d.ts +3 -0
  336. package/dist/components/ui/token-demo.d.ts.map +1 -0
  337. package/dist/components/ui/token-demo.esm.js +50 -0
  338. package/dist/components/ui/token-demo.js +50 -0
  339. package/dist/components/ui/touch-demo.d.ts +3 -0
  340. package/dist/components/ui/touch-demo.d.ts.map +1 -0
  341. package/dist/components/ui/touch-demo.esm.js +97 -0
  342. package/dist/components/ui/touch-demo.js +97 -0
  343. package/dist/components/ui/touch-friendly-interface-demo.d.ts +3 -0
  344. package/dist/components/ui/touch-friendly-interface-demo.d.ts.map +1 -0
  345. package/dist/components/ui/touch-friendly-interface-demo.esm.js +64 -0
  346. package/dist/components/ui/touch-friendly-interface-demo.js +64 -0
  347. package/dist/components/ui/touch-friendly-interface.d.ts +31 -0
  348. package/dist/components/ui/touch-friendly-interface.d.ts.map +1 -0
  349. package/dist/components/ui/touch-friendly-interface.esm.js +119 -0
  350. package/dist/components/ui/touch-friendly-interface.js +119 -0
  351. package/dist/hooks/index.d.ts +47 -0
  352. package/dist/hooks/index.d.ts.map +1 -0
  353. package/dist/hooks/index.esm.js +32 -0
  354. package/dist/hooks/index.js +32 -0
  355. package/dist/hooks/use-accessibility-support.d.ts +74 -0
  356. package/dist/hooks/use-accessibility-support.d.ts.map +1 -0
  357. package/dist/hooks/use-accessibility-support.esm.js +377 -0
  358. package/dist/hooks/use-accessibility-support.js +377 -0
  359. package/dist/hooks/use-adaptive-layout.d.ts +58 -0
  360. package/dist/hooks/use-adaptive-layout.d.ts.map +1 -0
  361. package/dist/hooks/use-adaptive-layout.esm.js +219 -0
  362. package/dist/hooks/use-adaptive-layout.js +219 -0
  363. package/dist/hooks/use-advanced-patterns.d.ts +88 -0
  364. package/dist/hooks/use-advanced-patterns.d.ts.map +1 -0
  365. package/dist/hooks/use-advanced-patterns.esm.js +186 -0
  366. package/dist/hooks/use-advanced-patterns.js +186 -0
  367. package/dist/hooks/use-advanced-transition-system.d.ts +59 -0
  368. package/dist/hooks/use-advanced-transition-system.d.ts.map +1 -0
  369. package/dist/hooks/use-advanced-transition-system.esm.js +287 -0
  370. package/dist/hooks/use-advanced-transition-system.js +287 -0
  371. package/dist/hooks/use-animation-profile.d.ts +45 -0
  372. package/dist/hooks/use-animation-profile.d.ts.map +1 -0
  373. package/dist/hooks/use-animation-profile.esm.js +226 -0
  374. package/dist/hooks/use-animation-profile.js +226 -0
  375. package/dist/hooks/use-battery-animations.d.ts +53 -0
  376. package/dist/hooks/use-battery-animations.d.ts.map +1 -0
  377. package/dist/hooks/use-battery-animations.esm.js +310 -0
  378. package/dist/hooks/use-battery-animations.js +310 -0
  379. package/dist/hooks/use-battery-conscious-loading.d.ts +58 -0
  380. package/dist/hooks/use-battery-conscious-loading.d.ts.map +1 -0
  381. package/dist/hooks/use-battery-conscious-loading.esm.js +381 -0
  382. package/dist/hooks/use-battery-conscious-loading.js +381 -0
  383. package/dist/hooks/use-battery-optimization.d.ts +45 -0
  384. package/dist/hooks/use-battery-optimization.d.ts.map +1 -0
  385. package/dist/hooks/use-battery-optimization.esm.js +268 -0
  386. package/dist/hooks/use-battery-optimization.js +268 -0
  387. package/dist/hooks/use-battery-status.d.ts +57 -0
  388. package/dist/hooks/use-battery-status.d.ts.map +1 -0
  389. package/dist/hooks/use-battery-status.esm.js +219 -0
  390. package/dist/hooks/use-battery-status.js +219 -0
  391. package/dist/hooks/use-component-performance.d.ts +67 -0
  392. package/dist/hooks/use-component-performance.d.ts.map +1 -0
  393. package/dist/hooks/use-component-performance.esm.js +239 -0
  394. package/dist/hooks/use-component-performance.js +239 -0
  395. package/dist/hooks/use-device-loading-states.d.ts +61 -0
  396. package/dist/hooks/use-device-loading-states.d.ts.map +1 -0
  397. package/dist/hooks/use-device-loading-states.esm.js +358 -0
  398. package/dist/hooks/use-device-loading-states.js +358 -0
  399. package/dist/hooks/use-device.d.ts +22 -0
  400. package/dist/hooks/use-device.d.ts.map +1 -0
  401. package/dist/hooks/use-device.esm.js +93 -0
  402. package/dist/hooks/use-device.js +93 -0
  403. package/dist/hooks/use-enterprise-mobile-experience.d.ts +84 -0
  404. package/dist/hooks/use-enterprise-mobile-experience.d.ts.map +1 -0
  405. package/dist/hooks/use-enterprise-mobile-experience.esm.js +350 -0
  406. package/dist/hooks/use-enterprise-mobile-experience.js +350 -0
  407. package/dist/hooks/use-form-feedback.d.ts +91 -0
  408. package/dist/hooks/use-form-feedback.d.ts.map +1 -0
  409. package/dist/hooks/use-form-feedback.esm.js +318 -0
  410. package/dist/hooks/use-form-feedback.js +318 -0
  411. package/dist/hooks/use-form-performance.d.ts +88 -0
  412. package/dist/hooks/use-form-performance.d.ts.map +1 -0
  413. package/dist/hooks/use-form-performance.esm.js +420 -0
  414. package/dist/hooks/use-form-performance.js +420 -0
  415. package/dist/hooks/use-frame-rate.d.ts +47 -0
  416. package/dist/hooks/use-frame-rate.d.ts.map +1 -0
  417. package/dist/hooks/use-frame-rate.esm.js +178 -0
  418. package/dist/hooks/use-frame-rate.js +178 -0
  419. package/dist/hooks/use-gestures.d.ts +94 -0
  420. package/dist/hooks/use-gestures.d.ts.map +1 -0
  421. package/dist/hooks/use-gestures.esm.js +236 -0
  422. package/dist/hooks/use-gestures.js +236 -0
  423. package/dist/hooks/use-hardware-acceleration.d.ts +53 -0
  424. package/dist/hooks/use-hardware-acceleration.d.ts.map +1 -0
  425. package/dist/hooks/use-hardware-acceleration.esm.js +248 -0
  426. package/dist/hooks/use-hardware-acceleration.js +248 -0
  427. package/dist/hooks/use-input-accessibility.d.ts +58 -0
  428. package/dist/hooks/use-input-accessibility.d.ts.map +1 -0
  429. package/dist/hooks/use-input-accessibility.esm.js +351 -0
  430. package/dist/hooks/use-input-accessibility.js +351 -0
  431. package/dist/hooks/use-input-performance.d.ts +55 -0
  432. package/dist/hooks/use-input-performance.d.ts.map +1 -0
  433. package/dist/hooks/use-input-performance.esm.js +423 -0
  434. package/dist/hooks/use-input-performance.js +423 -0
  435. package/dist/hooks/use-layout-performance.d.ts +39 -0
  436. package/dist/hooks/use-layout-performance.d.ts.map +1 -0
  437. package/dist/hooks/use-layout-performance.esm.js +233 -0
  438. package/dist/hooks/use-layout-performance.js +233 -0
  439. package/dist/hooks/use-loading-accessibility.d.ts +62 -0
  440. package/dist/hooks/use-loading-accessibility.d.ts.map +1 -0
  441. package/dist/hooks/use-loading-accessibility.esm.js +425 -0
  442. package/dist/hooks/use-loading-accessibility.js +425 -0
  443. package/dist/hooks/use-loading-performance.d.ts +51 -0
  444. package/dist/hooks/use-loading-performance.d.ts.map +1 -0
  445. package/dist/hooks/use-loading-performance.esm.js +402 -0
  446. package/dist/hooks/use-loading-performance.js +402 -0
  447. package/dist/hooks/use-memory-usage.d.ts +51 -0
  448. package/dist/hooks/use-memory-usage.d.ts.map +1 -0
  449. package/dist/hooks/use-memory-usage.esm.js +211 -0
  450. package/dist/hooks/use-memory-usage.js +211 -0
  451. package/dist/hooks/use-mobile-form-layout.d.ts +127 -0
  452. package/dist/hooks/use-mobile-form-layout.d.ts.map +1 -0
  453. package/dist/hooks/use-mobile-form-layout.esm.js +371 -0
  454. package/dist/hooks/use-mobile-form-layout.js +371 -0
  455. package/dist/hooks/use-mobile-form-validation.d.ts +100 -0
  456. package/dist/hooks/use-mobile-form-validation.d.ts.map +1 -0
  457. package/dist/hooks/use-mobile-form-validation.esm.js +405 -0
  458. package/dist/hooks/use-mobile-form-validation.js +405 -0
  459. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +70 -0
  460. package/dist/hooks/use-mobile-keyboard-optimization.d.ts.map +1 -0
  461. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +358 -0
  462. package/dist/hooks/use-mobile-keyboard-optimization.js +358 -0
  463. package/dist/hooks/use-mobile-layout.d.ts +56 -0
  464. package/dist/hooks/use-mobile-layout.d.ts.map +1 -0
  465. package/dist/hooks/use-mobile-layout.esm.js +215 -0
  466. package/dist/hooks/use-mobile-layout.js +215 -0
  467. package/dist/hooks/use-mobile-optimization.d.ts +55 -0
  468. package/dist/hooks/use-mobile-optimization.d.ts.map +1 -0
  469. package/dist/hooks/use-mobile-optimization.esm.js +310 -0
  470. package/dist/hooks/use-mobile-optimization.js +310 -0
  471. package/dist/hooks/use-mobile-skeleton.d.ts +59 -0
  472. package/dist/hooks/use-mobile-skeleton.d.ts.map +1 -0
  473. package/dist/hooks/use-mobile-skeleton.esm.js +300 -0
  474. package/dist/hooks/use-mobile-skeleton.js +300 -0
  475. package/dist/hooks/use-mobile-touch.d.ts +86 -0
  476. package/dist/hooks/use-mobile-touch.d.ts.map +1 -0
  477. package/dist/hooks/use-mobile-touch.esm.js +316 -0
  478. package/dist/hooks/use-mobile-touch.js +316 -0
  479. package/dist/hooks/use-performance-throttling.d.ts +48 -0
  480. package/dist/hooks/use-performance-throttling.d.ts.map +1 -0
  481. package/dist/hooks/use-performance-throttling.esm.js +280 -0
  482. package/dist/hooks/use-performance-throttling.js +280 -0
  483. package/dist/hooks/use-performance.d.ts +73 -0
  484. package/dist/hooks/use-performance.d.ts.map +1 -0
  485. package/dist/hooks/use-performance.esm.js +219 -0
  486. package/dist/hooks/use-performance.js +219 -0
  487. package/dist/hooks/use-reusable-architecture.d.ts +94 -0
  488. package/dist/hooks/use-reusable-architecture.d.ts.map +1 -0
  489. package/dist/hooks/use-reusable-architecture.esm.js +261 -0
  490. package/dist/hooks/use-reusable-architecture.js +261 -0
  491. package/dist/hooks/use-semantic-input-types.d.ts +57 -0
  492. package/dist/hooks/use-semantic-input-types.d.ts.map +1 -0
  493. package/dist/hooks/use-semantic-input-types.esm.js +291 -0
  494. package/dist/hooks/use-semantic-input-types.js +291 -0
  495. package/dist/hooks/use-semantic-input.d.ts +73 -0
  496. package/dist/hooks/use-semantic-input.d.ts.map +1 -0
  497. package/dist/hooks/use-semantic-input.esm.js +462 -0
  498. package/dist/hooks/use-semantic-input.js +462 -0
  499. package/dist/hooks/use-tablet-layout.d.ts +74 -0
  500. package/dist/hooks/use-tablet-layout.d.ts.map +1 -0
  501. package/dist/hooks/use-tablet-layout.esm.js +279 -0
  502. package/dist/hooks/use-tablet-layout.js +279 -0
  503. package/dist/hooks/use-touch-friendly-input.d.ts +75 -0
  504. package/dist/hooks/use-touch-friendly-input.d.ts.map +1 -0
  505. package/dist/hooks/use-touch-friendly-input.esm.js +406 -0
  506. package/dist/hooks/use-touch-friendly-input.js +406 -0
  507. package/dist/hooks/use-touch-friendly-interface.d.ts +56 -0
  508. package/dist/hooks/use-touch-friendly-interface.d.ts.map +1 -0
  509. package/dist/hooks/use-touch-friendly-interface.esm.js +242 -0
  510. package/dist/hooks/use-touch-friendly-interface.js +242 -0
  511. package/dist/hooks/use-touch-optimization.d.ts +66 -0
  512. package/dist/hooks/use-touch-optimization.d.ts.map +1 -0
  513. package/dist/hooks/use-touch-optimization.esm.js +293 -0
  514. package/dist/hooks/use-touch-optimization.js +293 -0
  515. package/dist/index.d.ts +388 -0
  516. package/dist/index.d.ts.map +1 -0
  517. package/dist/index.esm.js +233 -0
  518. package/dist/index.js +233 -0
  519. package/dist/lib/utils.d.ts +3 -0
  520. package/dist/lib/utils.d.ts.map +1 -0
  521. package/dist/lib/utils.esm.js +5 -0
  522. package/dist/lib/utils.js +5 -0
  523. package/dist/plugins/css-purge-optimizer.d.ts +25 -0
  524. package/dist/plugins/css-purge-optimizer.d.ts.map +1 -0
  525. package/dist/plugins/css-purge-optimizer.esm.js +414 -0
  526. package/dist/plugins/css-purge-optimizer.js +414 -0
  527. package/dist/plugins/performance-monitor.d.ts +29 -0
  528. package/dist/plugins/performance-monitor.d.ts.map +1 -0
  529. package/dist/plugins/performance-monitor.esm.js +221 -0
  530. package/dist/plugins/performance-monitor.js +221 -0
  531. package/dist/plugins/progressive-css-loader.d.ts +21 -0
  532. package/dist/plugins/progressive-css-loader.d.ts.map +1 -0
  533. package/dist/plugins/progressive-css-loader.esm.js +227 -0
  534. package/dist/plugins/progressive-css-loader.js +227 -0
  535. package/dist/plugins/theme-css-generator.d.ts +3 -0
  536. package/dist/plugins/theme-css-generator.d.ts.map +1 -0
  537. package/dist/plugins/theme-css-generator.esm.js +277 -0
  538. package/dist/plugins/theme-css-generator.js +277 -0
  539. package/dist/provider.d.ts +9 -0
  540. package/dist/provider.d.ts.map +1 -0
  541. package/dist/provider.esm.js +4 -0
  542. package/dist/provider.js +4 -0
  543. package/dist/styles/layers/validation.d.ts +20 -0
  544. package/dist/styles/layers/validation.d.ts.map +1 -0
  545. package/dist/styles/layers/validation.esm.js +275 -0
  546. package/dist/styles/layers/validation.js +275 -0
  547. package/dist/styles.css +25372 -0
  548. package/dist/theme.d.ts +7 -0
  549. package/dist/theme.d.ts.map +1 -0
  550. package/dist/theme.esm.js +679 -0
  551. package/dist/theme.js +679 -0
  552. package/dist/themes/ThemeContext.d.ts +23 -0
  553. package/dist/themes/ThemeContext.d.ts.map +1 -0
  554. package/dist/themes/ThemeContext.esm.js +5 -0
  555. package/dist/themes/ThemeContext.js +5 -0
  556. package/dist/themes/ThemeProvider.d.ts +3 -0
  557. package/dist/themes/ThemeProvider.d.ts.map +1 -0
  558. package/dist/themes/ThemeProvider.esm.js +200 -0
  559. package/dist/themes/ThemeProvider.js +200 -0
  560. package/dist/themes/accessibility/index.d.ts +19 -0
  561. package/dist/themes/accessibility/index.d.ts.map +1 -0
  562. package/dist/themes/accessibility/index.esm.js +23 -0
  563. package/dist/themes/accessibility/index.js +23 -0
  564. package/dist/themes/accessibility.d.ts +59 -0
  565. package/dist/themes/accessibility.d.ts.map +1 -0
  566. package/dist/themes/accessibility.esm.js +194 -0
  567. package/dist/themes/accessibility.js +194 -0
  568. package/dist/themes/aria-patterns.d.ts +153 -0
  569. package/dist/themes/aria-patterns.d.ts.map +1 -0
  570. package/dist/themes/aria-patterns.esm.js +364 -0
  571. package/dist/themes/aria-patterns.js +364 -0
  572. package/dist/themes/base-themes.d.ts +36 -0
  573. package/dist/themes/base-themes.d.ts.map +1 -0
  574. package/dist/themes/base-themes.esm.js +53 -0
  575. package/dist/themes/base-themes.js +53 -0
  576. package/dist/themes/colorManager.d.ts +64 -0
  577. package/dist/themes/colorManager.d.ts.map +1 -0
  578. package/dist/themes/colorManager.esm.js +316 -0
  579. package/dist/themes/colorManager.js +316 -0
  580. package/dist/themes/examples/dark-theme.d.ts +13 -0
  581. package/dist/themes/examples/dark-theme.d.ts.map +1 -0
  582. package/dist/themes/examples/dark-theme.esm.js +150 -0
  583. package/dist/themes/examples/dark-theme.js +150 -0
  584. package/dist/themes/examples/minimal-theme.d.ts +6 -0
  585. package/dist/themes/examples/minimal-theme.d.ts.map +1 -0
  586. package/dist/themes/examples/minimal-theme.esm.js +103 -0
  587. package/dist/themes/examples/minimal-theme.js +103 -0
  588. package/dist/themes/focus-management.d.ts +110 -0
  589. package/dist/themes/focus-management.d.ts.map +1 -0
  590. package/dist/themes/focus-management.esm.js +565 -0
  591. package/dist/themes/focus-management.js +565 -0
  592. package/dist/themes/fontLoader.d.ts +49 -0
  593. package/dist/themes/fontLoader.d.ts.map +1 -0
  594. package/dist/themes/fontLoader.esm.js +172 -0
  595. package/dist/themes/fontLoader.js +172 -0
  596. package/dist/themes/high-contrast.d.ts +70 -0
  597. package/dist/themes/high-contrast.d.ts.map +1 -0
  598. package/dist/themes/high-contrast.esm.js +457 -0
  599. package/dist/themes/high-contrast.js +457 -0
  600. package/dist/themes/index.d.ts +9 -0
  601. package/dist/themes/index.d.ts.map +1 -0
  602. package/dist/themes/index.esm.js +13 -0
  603. package/dist/themes/index.js +13 -0
  604. package/dist/themes/inheritance.d.ts +90 -0
  605. package/dist/themes/inheritance.d.ts.map +1 -0
  606. package/dist/themes/inheritance.esm.js +192 -0
  607. package/dist/themes/inheritance.js +192 -0
  608. package/dist/themes/keyboard-navigation.d.ts +213 -0
  609. package/dist/themes/keyboard-navigation.d.ts.map +1 -0
  610. package/dist/themes/keyboard-navigation.esm.js +458 -0
  611. package/dist/themes/keyboard-navigation.js +458 -0
  612. package/dist/themes/motion-reduction.d.ts +121 -0
  613. package/dist/themes/motion-reduction.d.ts.map +1 -0
  614. package/dist/themes/motion-reduction.esm.js +505 -0
  615. package/dist/themes/motion-reduction.js +505 -0
  616. package/dist/themes/navigation.d.ts +201 -0
  617. package/dist/themes/navigation.d.ts.map +1 -0
  618. package/dist/themes/navigation.esm.js +5 -0
  619. package/dist/themes/navigation.js +5 -0
  620. package/dist/themes/phase1-constants.d.ts +23 -0
  621. package/dist/themes/phase1-constants.d.ts.map +1 -0
  622. package/dist/themes/phase1-constants.esm.js +180 -0
  623. package/dist/themes/phase1-constants.js +180 -0
  624. package/dist/themes/screen-reader.d.ts +86 -0
  625. package/dist/themes/screen-reader.d.ts.map +1 -0
  626. package/dist/themes/screen-reader.esm.js +544 -0
  627. package/dist/themes/screen-reader.js +544 -0
  628. package/dist/themes/systemThemeDetector.d.ts +58 -0
  629. package/dist/themes/systemThemeDetector.d.ts.map +1 -0
  630. package/dist/themes/systemThemeDetector.esm.js +153 -0
  631. package/dist/themes/systemThemeDetector.js +153 -0
  632. package/dist/themes/themeCSSUpdater.d.ts +46 -0
  633. package/dist/themes/themeCSSUpdater.d.ts.map +1 -0
  634. package/dist/themes/themeCSSUpdater.esm.js +227 -0
  635. package/dist/themes/themeCSSUpdater.js +227 -0
  636. package/dist/themes/themePersistence.d.ts +84 -0
  637. package/dist/themes/themePersistence.d.ts.map +1 -0
  638. package/dist/themes/themePersistence.esm.js +207 -0
  639. package/dist/themes/themePersistence.js +207 -0
  640. package/dist/themes/themes/default.d.ts +9 -0
  641. package/dist/themes/themes/default.d.ts.map +1 -0
  642. package/dist/themes/themes/default.esm.js +587 -0
  643. package/dist/themes/themes/default.js +587 -0
  644. package/dist/themes/themes/jeremy.d.ts +7 -0
  645. package/dist/themes/themes/jeremy.d.ts.map +1 -0
  646. package/dist/themes/themes/jeremy.esm.js +679 -0
  647. package/dist/themes/themes/jeremy.js +679 -0
  648. package/dist/themes/types.d.ts +462 -0
  649. package/dist/themes/types.d.ts.map +1 -0
  650. package/dist/themes/types.esm.js +3 -0
  651. package/dist/themes/types.js +3 -0
  652. package/dist/themes/useSystemTheme.d.ts +11 -0
  653. package/dist/themes/useSystemTheme.d.ts.map +1 -0
  654. package/dist/themes/useSystemTheme.esm.js +40 -0
  655. package/dist/themes/useSystemTheme.js +40 -0
  656. package/dist/themes/useTheme.d.ts +70 -0
  657. package/dist/themes/useTheme.d.ts.map +1 -0
  658. package/dist/themes/useTheme.esm.js +82 -0
  659. package/dist/themes/useTheme.js +82 -0
  660. package/dist/themes/validation.d.ts +88 -0
  661. package/dist/themes/validation.d.ts.map +1 -0
  662. package/dist/themes/validation.esm.js +627 -0
  663. package/dist/themes/validation.js +627 -0
  664. package/dist/tokens/index.d.ts +11 -0
  665. package/dist/tokens/index.d.ts.map +1 -0
  666. package/dist/tokens/index.esm.js +11 -0
  667. package/dist/tokens/index.js +11 -0
  668. package/dist/tokens/tokenExporter.d.ts +84 -0
  669. package/dist/tokens/tokenExporter.d.ts.map +1 -0
  670. package/dist/tokens/tokenExporter.esm.js +333 -0
  671. package/dist/tokens/tokenExporter.js +333 -0
  672. package/dist/tokens/tokenGenerator.d.ts +37 -0
  673. package/dist/tokens/tokenGenerator.d.ts.map +1 -0
  674. package/dist/tokens/tokenGenerator.esm.js +244 -0
  675. package/dist/tokens/tokenGenerator.js +244 -0
  676. package/dist/tokens/tokenManager.d.ts +92 -0
  677. package/dist/tokens/tokenManager.d.ts.map +1 -0
  678. package/dist/tokens/tokenManager.esm.js +194 -0
  679. package/dist/tokens/tokenManager.js +194 -0
  680. package/dist/tokens/tokenValidator.d.ts +91 -0
  681. package/dist/tokens/tokenValidator.d.ts.map +1 -0
  682. package/dist/tokens/tokenValidator.esm.js +423 -0
  683. package/dist/tokens/tokenValidator.js +423 -0
  684. package/dist/tokens/types.d.ts +58 -0
  685. package/dist/tokens/types.d.ts.map +1 -0
  686. package/dist/tokens/types.esm.js +1 -0
  687. package/dist/tokens/types.js +1 -0
  688. package/dist/types.d.ts +462 -0
  689. package/dist/types.d.ts.map +1 -0
  690. package/dist/types.esm.js +3 -0
  691. package/dist/types.js +3 -0
  692. package/dist/utils/bundle-analyzer.d.ts +43 -0
  693. package/dist/utils/bundle-analyzer.d.ts.map +1 -0
  694. package/dist/utils/bundle-analyzer.esm.js +202 -0
  695. package/dist/utils/bundle-analyzer.js +202 -0
  696. package/dist/utils/bundle-splitting.d.ts +71 -0
  697. package/dist/utils/bundle-splitting.d.ts.map +1 -0
  698. package/dist/utils/bundle-splitting.esm.js +355 -0
  699. package/dist/utils/bundle-splitting.js +355 -0
  700. package/dist/utils/lazy-loading.d.ts +72 -0
  701. package/dist/utils/lazy-loading.d.ts.map +1 -0
  702. package/dist/utils/lazy-loading.esm.js +336 -0
  703. package/dist/utils/lazy-loading.js +336 -0
  704. package/dist/utils/performance-monitor.d.ts +81 -0
  705. package/dist/utils/performance-monitor.d.ts.map +1 -0
  706. package/dist/utils/performance-monitor.esm.js +392 -0
  707. package/dist/utils/performance-monitor.js +392 -0
  708. package/dist/utils/progressive-css-injector.d.ts +80 -0
  709. package/dist/utils/progressive-css-injector.d.ts.map +1 -0
  710. package/dist/utils/progressive-css-injector.esm.js +217 -0
  711. package/dist/utils/progressive-css-injector.js +217 -0
  712. package/dist/utils/tree-shaking.d.ts +47 -0
  713. package/dist/utils/tree-shaking.d.ts.map +1 -0
  714. package/dist/utils/tree-shaking.esm.js +204 -0
  715. package/dist/utils/tree-shaking.js +204 -0
  716. package/package.json +92 -0
  717. package/src/components/ui/accessibility-demo.tsx +274 -0
  718. package/src/components/ui/advanced-component-architecture-demo.tsx +919 -0
  719. package/src/components/ui/advanced-transition-system-demo.tsx +673 -0
  720. package/src/components/ui/advanced-transition-system.tsx +398 -0
  721. package/src/components/ui/animation/animated-container.tsx +169 -0
  722. package/src/components/ui/animation/index.ts +19 -0
  723. package/src/components/ui/animation/staggered-container.tsx +69 -0
  724. package/src/components/ui/animation-demo.tsx +253 -0
  725. package/src/components/ui/badge.tsx +33 -0
  726. package/src/components/ui/battery-conscious-animation-demo.tsx +571 -0
  727. package/src/components/ui/border-radius-shadow-demo.tsx +187 -0
  728. package/src/components/ui/button.tsx +41 -0
  729. package/src/components/ui/card.tsx +207 -0
  730. package/src/components/ui/checkbox.tsx +32 -0
  731. package/src/components/ui/color-preview.tsx +411 -0
  732. package/src/components/ui/data-display/chart.tsx +656 -0
  733. package/src/components/ui/data-display/data-grid-simple.tsx +76 -0
  734. package/src/components/ui/data-display/data-grid.tsx +684 -0
  735. package/src/components/ui/data-display/list.tsx +459 -0
  736. package/src/components/ui/data-display/table.tsx +486 -0
  737. package/src/components/ui/data-display/timeline.tsx +444 -0
  738. package/src/components/ui/data-display/tree.tsx +605 -0
  739. package/src/components/ui/data-display/types.ts +540 -0
  740. package/src/components/ui/enterprise-mobile-experience-demo.tsx +752 -0
  741. package/src/components/ui/enterprise-mobile-experience.tsx +467 -0
  742. package/src/components/ui/feedback/alert.tsx +163 -0
  743. package/src/components/ui/feedback/index.ts +35 -0
  744. package/src/components/ui/feedback/progress.tsx +279 -0
  745. package/src/components/ui/feedback/skeleton.tsx +185 -0
  746. package/src/components/ui/feedback/status-alert-example.ts +71 -0
  747. package/src/components/ui/feedback/toast-context.tsx +145 -0
  748. package/src/components/ui/feedback/toast-example.tsx +65 -0
  749. package/src/components/ui/feedback/toast-renderer.tsx +61 -0
  750. package/src/components/ui/feedback/toast.tsx +285 -0
  751. package/src/components/ui/feedback/types.ts +145 -0
  752. package/src/components/ui/font-preview.tsx +288 -0
  753. package/src/components/ui/form-demo.tsx +556 -0
  754. package/src/components/ui/hardware-acceleration-demo.tsx +550 -0
  755. package/src/components/ui/input.tsx +37 -0
  756. package/src/components/ui/label.tsx +16 -0
  757. package/src/components/ui/layout/container.tsx +312 -0
  758. package/src/components/ui/layout/index.ts +10 -0
  759. package/src/components/ui/layout/responsive-grid.tsx +286 -0
  760. package/src/components/ui/layout-demo.tsx +370 -0
  761. package/src/components/ui/layouts/adaptive-layout.tsx +120 -0
  762. package/src/components/ui/layouts/desktop-layout.tsx +213 -0
  763. package/src/components/ui/layouts/index.ts +10 -0
  764. package/src/components/ui/layouts/mobile-layout.tsx +165 -0
  765. package/src/components/ui/layouts/tablet-layout.tsx +200 -0
  766. package/src/components/ui/mobile-form-validation.tsx +454 -0
  767. package/src/components/ui/mobile-input-demo.tsx +201 -0
  768. package/src/components/ui/mobile-input.tsx +283 -0
  769. package/src/components/ui/mobile-skeleton-loading-demo.tsx +641 -0
  770. package/src/components/ui/navigation/breadcrumb.tsx +160 -0
  771. package/src/components/ui/navigation/index.ts +51 -0
  772. package/src/components/ui/navigation/menu.tsx +376 -0
  773. package/src/components/ui/navigation/navigation-demo.tsx +326 -0
  774. package/src/components/ui/navigation/pagination.tsx +274 -0
  775. package/src/components/ui/navigation/progressive-navigation.tsx +453 -0
  776. package/src/components/ui/navigation/sidebar.tsx +385 -0
  777. package/src/components/ui/navigation/stepper.tsx +305 -0
  778. package/src/components/ui/navigation/subscription-badge.tsx +110 -0
  779. package/src/components/ui/navigation/tabs.tsx +207 -0
  780. package/src/components/ui/navigation/types.ts +354 -0
  781. package/src/components/ui/navigation/user-avatar.tsx +111 -0
  782. package/src/components/ui/navigation/user-menu-examples.tsx +551 -0
  783. package/src/components/ui/navigation/user-menu-types.ts +308 -0
  784. package/src/components/ui/navigation/user-menu.tsx +414 -0
  785. package/src/components/ui/overlay/backdrop.tsx +83 -0
  786. package/src/components/ui/overlay/focus-manager.tsx +146 -0
  787. package/src/components/ui/overlay/index.ts +36 -0
  788. package/src/components/ui/overlay/modal.tsx +273 -0
  789. package/src/components/ui/overlay/overlay-manager.tsx +113 -0
  790. package/src/components/ui/overlay/popover.tsx +465 -0
  791. package/src/components/ui/overlay/portal.tsx +82 -0
  792. package/src/components/ui/overlay/tooltip.tsx +306 -0
  793. package/src/components/ui/overlay/types.ts +196 -0
  794. package/src/components/ui/performance-demo.tsx +599 -0
  795. package/src/components/ui/semantic-input-system-demo.tsx +505 -0
  796. package/src/components/ui/semantic-input-system-demo.tsx.disabled +873 -0
  797. package/src/components/ui/theme-customizer.tsx +389 -0
  798. package/src/components/ui/theme-preview.tsx +310 -0
  799. package/src/components/ui/theme-switcher.tsx +267 -0
  800. package/src/components/ui/theme-toggle.tsx +56 -0
  801. package/src/components/ui/token-demo.tsx +198 -0
  802. package/src/components/ui/touch-demo.tsx +465 -0
  803. package/src/components/ui/touch-friendly-interface-demo.tsx +522 -0
  804. package/src/components/ui/touch-friendly-interface.tsx +299 -0
  805. package/src/hooks/index.ts +190 -0
  806. package/src/hooks/use-accessibility-support.ts +518 -0
  807. package/src/hooks/use-adaptive-layout.ts +293 -0
  808. package/src/hooks/use-advanced-patterns.ts +294 -0
  809. package/src/hooks/use-advanced-transition-system.ts +393 -0
  810. package/src/hooks/use-animation-profile.ts +288 -0
  811. package/src/hooks/use-battery-animations.ts +384 -0
  812. package/src/hooks/use-battery-conscious-loading.ts +475 -0
  813. package/src/hooks/use-battery-optimization.ts +330 -0
  814. package/src/hooks/use-battery-status.ts +299 -0
  815. package/src/hooks/use-component-performance.ts +345 -0
  816. package/src/hooks/use-device-loading-states.ts +459 -0
  817. package/src/hooks/use-device.tsx +119 -0
  818. package/src/hooks/use-enterprise-mobile-experience.ts +488 -0
  819. package/src/hooks/use-form-feedback.ts +403 -0
  820. package/src/hooks/use-form-performance.ts +513 -0
  821. package/src/hooks/use-frame-rate.ts +251 -0
  822. package/src/hooks/use-gestures.ts +338 -0
  823. package/src/hooks/use-hardware-acceleration.ts +341 -0
  824. package/src/hooks/use-input-accessibility.ts +455 -0
  825. package/src/hooks/use-input-performance.ts +506 -0
  826. package/src/hooks/use-layout-performance.ts +319 -0
  827. package/src/hooks/use-loading-accessibility.ts +535 -0
  828. package/src/hooks/use-loading-performance.ts +473 -0
  829. package/src/hooks/use-memory-usage.ts +287 -0
  830. package/src/hooks/use-mobile-form-layout.ts +464 -0
  831. package/src/hooks/use-mobile-form-validation.ts +518 -0
  832. package/src/hooks/use-mobile-keyboard-optimization.ts +472 -0
  833. package/src/hooks/use-mobile-layout.ts +302 -0
  834. package/src/hooks/use-mobile-optimization.ts +406 -0
  835. package/src/hooks/use-mobile-skeleton.ts +402 -0
  836. package/src/hooks/use-mobile-touch.ts +414 -0
  837. package/src/hooks/use-performance-throttling.ts +348 -0
  838. package/src/hooks/use-performance.ts +316 -0
  839. package/src/hooks/use-reusable-architecture.ts +414 -0
  840. package/src/hooks/use-semantic-input-types.ts +357 -0
  841. package/src/hooks/use-semantic-input.ts +565 -0
  842. package/src/hooks/use-tablet-layout.ts +384 -0
  843. package/src/hooks/use-touch-friendly-input.ts +524 -0
  844. package/src/hooks/use-touch-friendly-interface.ts +331 -0
  845. package/src/hooks/use-touch-optimization.ts +375 -0
  846. package/src/index.css +1049 -0
  847. package/src/index.ts +412 -0
  848. package/src/lib/utils.ts +6 -0
  849. package/src/plugins/css-purge-optimizer.ts +491 -0
  850. package/src/plugins/performance-monitor.ts +292 -0
  851. package/src/plugins/progressive-css-loader.ts +269 -0
  852. package/src/plugins/theme-css-generator.ts +334 -0
  853. package/src/provider.tsx +20 -0
  854. package/src/styles/base/fonts.css +30 -0
  855. package/src/styles/base/index.css +7 -0
  856. package/src/styles/base/reset.css +48 -0
  857. package/src/styles/base/theme.css +1068 -0
  858. package/src/styles/base/typography.css +68 -0
  859. package/src/styles/base/variables.css +5 -0
  860. package/src/styles/components/CLAUDE.md +62 -0
  861. package/src/styles/components/base/badge.css +432 -0
  862. package/src/styles/components/base/button.css +980 -0
  863. package/src/styles/components/base/card.css +605 -0
  864. package/src/styles/components/base/checkbox.css +446 -0
  865. package/src/styles/components/base/index.css +9 -0
  866. package/src/styles/components/base/input.css +891 -0
  867. package/src/styles/components/base/label.css +300 -0
  868. package/src/styles/components/data-display/chart.css +353 -0
  869. package/src/styles/components/data-display/data-grid.css +619 -0
  870. package/src/styles/components/data-display/index.css +9 -0
  871. package/src/styles/components/data-display/list.css +560 -0
  872. package/src/styles/components/data-display/table.css +498 -0
  873. package/src/styles/components/data-display/timeline.css +764 -0
  874. package/src/styles/components/data-display/tree.css +881 -0
  875. package/src/styles/components/feedback/alert.css +358 -0
  876. package/src/styles/components/feedback/index.css +7 -0
  877. package/src/styles/components/feedback/progress.css +468 -0
  878. package/src/styles/components/feedback/skeleton.css +337 -0
  879. package/src/styles/components/feedback/toast.css +564 -0
  880. package/src/styles/components/index.css +20 -0
  881. package/src/styles/components/layout/container.css +466 -0
  882. package/src/styles/components/layout/index.css +5 -0
  883. package/src/styles/components/layout/responsive-grid.css +422 -0
  884. package/src/styles/components/navigation/breadcrumb.css +465 -0
  885. package/src/styles/components/navigation/index.css +11 -0
  886. package/src/styles/components/navigation/menu.css +572 -0
  887. package/src/styles/components/navigation/pagination.css +635 -0
  888. package/src/styles/components/navigation/progressive-navigation.css +633 -0
  889. package/src/styles/components/navigation/sidebar.css +807 -0
  890. package/src/styles/components/navigation/stepper.css +519 -0
  891. package/src/styles/components/navigation/tabs.css +404 -0
  892. package/src/styles/components/navigation/user-menu.css +582 -0
  893. package/src/styles/components/overlay/backdrop.css +243 -0
  894. package/src/styles/components/overlay/index.css +8 -0
  895. package/src/styles/components/overlay/modal.css +482 -0
  896. package/src/styles/components/overlay/popover.css +607 -0
  897. package/src/styles/components/overlay/portal.css +213 -0
  898. package/src/styles/components/overlay/tooltip.css +488 -0
  899. package/src/styles/components/ui/index.css +4 -0
  900. package/src/styles/components/ui/theme-toggle.css +200 -0
  901. package/src/styles/generated-theme-variables.css +1 -0
  902. package/src/styles/index.css +5 -0
  903. package/src/styles/layers/index.css +33 -0
  904. package/src/styles/layers/overrides.css +108 -0
  905. package/src/styles/layers/validation.css +159 -0
  906. package/src/styles/layers/validation.js +310 -0
  907. package/src/styles/progressive.css +17 -0
  908. package/src/styles/themes/jeremy.css +646 -0
  909. package/src/styles/utilities/advanced-transition-system.css +467 -0
  910. package/src/styles/utilities/battery-conscious-animations.css +289 -0
  911. package/src/styles/utilities/design-system-utilities.css +278 -0
  912. package/src/styles/utilities/enterprise-mobile-experience.css +817 -0
  913. package/src/styles/utilities/hardware-acceleration.css +121 -0
  914. package/src/styles/utilities/index.css +23 -0
  915. package/src/styles/utilities/mobile-skeleton-loading.css +596 -0
  916. package/src/styles/utilities/semantic-input-system.css +445 -0
  917. package/src/styles/utilities/touch-friendly-interface.css +247 -0
  918. package/src/styles/utilities/touch-optimization.css +165 -0
  919. package/src/theme.ts +683 -0
  920. package/src/themes/README.md +272 -0
  921. package/src/themes/ThemeContext.tsx +31 -0
  922. package/src/themes/ThemeProvider.tsx +232 -0
  923. package/src/themes/accessibility/index.ts +27 -0
  924. package/src/themes/accessibility.ts +259 -0
  925. package/src/themes/aria-patterns.ts +420 -0
  926. package/src/themes/base-themes.ts +64 -0
  927. package/src/themes/colorManager.ts +380 -0
  928. package/src/themes/examples/dark-theme.ts +154 -0
  929. package/src/themes/examples/minimal-theme.ts +108 -0
  930. package/src/themes/focus-management.ts +701 -0
  931. package/src/themes/fontLoader.ts +201 -0
  932. package/src/themes/high-contrast.ts +621 -0
  933. package/src/themes/index.ts +20 -0
  934. package/src/themes/inheritance.ts +227 -0
  935. package/src/themes/keyboard-navigation.ts +550 -0
  936. package/src/themes/motion-reduction.ts +662 -0
  937. package/src/themes/navigation.ts +238 -0
  938. package/src/themes/phase1-constants.ts +189 -0
  939. package/src/themes/screen-reader.ts +645 -0
  940. package/src/themes/systemThemeDetector.ts +182 -0
  941. package/src/themes/themeCSSUpdater.ts +262 -0
  942. package/src/themes/themePersistence.ts +238 -0
  943. package/src/themes/themes/default.ts +590 -0
  944. package/src/themes/themes/jeremy.ts +683 -0
  945. package/src/themes/types.ts +540 -0
  946. package/src/themes/useSystemTheme.ts +48 -0
  947. package/src/themes/useTheme.ts +87 -0
  948. package/src/themes/validation.ts +711 -0
  949. package/src/tokens/index.ts +34 -0
  950. package/src/tokens/tokenExporter.ts +397 -0
  951. package/src/tokens/tokenGenerator.ts +276 -0
  952. package/src/tokens/tokenManager.ts +248 -0
  953. package/src/tokens/tokenValidator.ts +543 -0
  954. package/src/tokens/types.ts +78 -0
  955. package/src/types.ts +540 -0
  956. package/src/utils/bundle-analyzer.ts +260 -0
  957. package/src/utils/bundle-splitting.ts +483 -0
  958. package/src/utils/lazy-loading.ts +441 -0
  959. package/src/utils/performance-monitor.ts +513 -0
  960. package/src/utils/progressive-css-injector.ts +254 -0
  961. package/src/utils/tree-shaking.ts +274 -0
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { Badge } from './badge.js';
5
+ import { Input } from './input.js';
6
+ import { Button } from './button.js';
7
+ import { Card, CardContent } from './card.js';
8
+ import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface.js';
9
+ export const TouchFriendlyInterfaceDemo = () => {
10
+ const [activeDemo, setActiveDemo] = useState('targets');
11
+ const [formData, setFormData] = useState({
12
+ name: '',
13
+ email: '',
14
+ message: ''
15
+ });
16
+ const [toggleState, setToggleState] = useState(false);
17
+ const [sliderValue, setSliderValue] = useState(50);
18
+ const { touchTargetState, touchInteractionState, isOptimizing, optimizations } = useTouchFriendlyInterface({
19
+ minSize: 44,
20
+ spacing: 'default',
21
+ feedback: 'scale',
22
+ performance: true,
23
+ accessibility: true
24
+ }, {
25
+ onTouchTargetOptimized: (config) => {
26
+ console.log('Touch target optimized:', config);
27
+ },
28
+ onTouchInteractionDetected: (interaction) => {
29
+ console.log('Touch interaction detected:', interaction);
30
+ },
31
+ onPerformanceOptimized: (score) => {
32
+ console.log('Performance optimized:', score);
33
+ },
34
+ onAccessibilityEnhanced: (feature) => {
35
+ console.log('Accessibility enhanced:', feature);
36
+ }
37
+ });
38
+ const handleInputChange = (field, value) => {
39
+ setFormData(prev => ({ ...prev, [field]: value }));
40
+ };
41
+ const renderTargetComplianceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "44px Target Compliance" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Button, { size: "sm", className: "touch-target touch-friendly-button touch-interaction touch-performance min-h-[44px] min-w-[44px]", children: "Small Button (44px)" }), _jsx(Button, { size: "default", variant: "secondary", className: "touch-target touch-friendly-button-secondary touch-interaction touch-performance min-h-[48px] min-w-[48px]", children: "Default Button (48px)" }), _jsx(Button, { size: "lg", variant: "outline", className: "touch-target touch-interaction touch-performance min-h-[56px] min-w-[56px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg", children: "Large Button (56px)" }), _jsx(Button, { size: "lg", variant: "ghost", className: "touch-target touch-interaction touch-performance min-h-[64px] min-w-[64px] bg-transparent text-cs-text-primary hover:bg-cs-hover-bg", children: "Extra Large Button (64px)" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch-Friendly Inputs" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Input, { placeholder: "Small Input (44px)", value: formData.name, onChange: (e) => handleInputChange('name', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[44px] min-w-[44px] px-3 py-2 text-sm" }), _jsx(Input, { placeholder: "Default Input (48px)", value: formData.email, onChange: (e) => handleInputChange('email', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[48px] min-w-[48px] px-4 py-3 text-base" }), _jsx(Input, { placeholder: "Large Input (56px)", value: formData.message, onChange: (e) => handleInputChange('message', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[56px] min-w-[56px] px-6 py-4 text-lg" })] })] })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Interactive Cards" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-feedback min-h-[44px] min-w-[44px] p-3 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Small Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "44px target" })] }) }), _jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px] p-4 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Default Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "48px target" })] }) }), _jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-state-hover touch-state-active min-h-[56px] min-w-[56px] p-6 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Large Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "56px target" })] }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Form Controls" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("button", { type: "button", role: "switch", "aria-checked": toggleState, onClick: () => setToggleState(!toggleState), className: "touch-target touch-interaction touch-performance touch-feedback relative inline-flex items-center justify-center rounded-full transition-colors min-h-[48px] min-w-[48px] focus:outline-none focus:ring-2 focus:ring-cs-primary focus:ring-offset-2", style: {
42
+ backgroundColor: toggleState ? 'var(--cs-primary)' : 'var(--cs-border)'
43
+ }, children: _jsx("span", { className: "inline-block rounded-full bg-white shadow transform transition-transform w-6 h-6", style: {
44
+ transform: toggleState ? 'translateX(24px)' : 'translateX(0)'
45
+ } }) }), _jsx("span", { className: "text-sm", children: "Toggle Switch" })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("label", { className: "text-sm font-medium", children: ["Slider Value: ", sliderValue] }), _jsx("input", { type: "range", value: sliderValue, onChange: (e) => setSliderValue(Number(e.target.value)), min: 0, max: 100, step: 1, className: "touch-target touch-interaction touch-performance touch-feedback w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer focus:outline-none focus:ring-2 focus:ring-cs-primary min-h-[48px]" })] })] })] })] })] }));
46
+ const renderTouchInteractionsDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch State" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [_jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Touching:" }), _jsx("span", { className: `ml-2 ${touchInteractionState.isTouching ? 'text-cs-success' : 'text-cs-text-secondary'}`, children: touchInteractionState.isTouching ? 'Yes' : 'No' })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Touch Count:" }), _jsx("span", { className: "ml-2 text-cs-text-primary", children: touchInteractionState.touchCount })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Duration:" }), _jsxs("span", { className: "ml-2 text-cs-text-primary", children: [touchInteractionState.touchDuration.toFixed(0), "ms"] })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Velocity:" }), _jsxs("span", { className: "ml-2 text-cs-text-primary", children: [touchInteractionState.touchVelocity.toFixed(2), "px/ms"] })] })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Gesture Detection" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-2xl font-bold text-cs-primary mb-2", children: touchInteractionState.gestureType === 'none' ? '👆' :
47
+ touchInteractionState.gestureType === 'tap' ? '👆' :
48
+ touchInteractionState.gestureType === 'double-tap' ? '👆👆' :
49
+ touchInteractionState.gestureType === 'long-press' ? '⏰' :
50
+ touchInteractionState.gestureType === 'swipe' ? '👈👉' : '🤏' }), _jsx("div", { className: "text-lg font-semibold capitalize", children: touchInteractionState.gestureType.replace('-', ' ') }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: touchInteractionState.gestureType === 'none' ? 'Touch to detect gesture' :
51
+ touchInteractionState.gestureType === 'tap' ? 'Quick touch detected' :
52
+ touchInteractionState.gestureType === 'double-tap' ? 'Double touch detected' :
53
+ touchInteractionState.gestureType === 'long-press' ? 'Long press detected' :
54
+ touchInteractionState.gestureType === 'swipe' ? 'Swipe gesture detected' : 'Pinch detected' })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Coordinates" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: [_jsx("h4", { className: "font-medium mb-2", children: "Start Position" }), _jsxs("div", { className: "text-sm space-y-1", children: [_jsxs("div", { children: ["X: ", touchInteractionState.touchStartX, "px"] }), _jsxs("div", { children: ["Y: ", touchInteractionState.touchStartY, "px"] })] })] }), _jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: [_jsx("h4", { className: "font-medium mb-2", children: "Current Position" }), _jsxs("div", { className: "text-sm space-y-1", children: [_jsxs("div", { children: ["X: ", touchInteractionState.touchCurrentX, "px"] }), _jsxs("div", { children: ["Y: ", touchInteractionState.touchCurrentY, "px"] })] })] })] })] })] }));
55
+ const renderPerformanceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Performance Metrics" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Performance Score" }), _jsxs("span", { className: `text-lg font-bold ${touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
56
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [touchTargetState.performanceScore, "/100"] })] }), _jsx("div", { className: "w-full bg-cs-border rounded-full h-2", children: _jsx("div", { className: `h-2 rounded-full transition-all duration-300 ${touchTargetState.performanceScore >= 80 ? 'bg-cs-success' :
57
+ touchTargetState.performanceScore >= 60 ? 'bg-cs-warning' : 'bg-cs-error'}`, style: { width: `${touchTargetState.performanceScore}%` } }) }), _jsx("div", { className: "text-xs text-cs-text-secondary", children: touchTargetState.performanceScore >= 80 ? 'Excellent performance' :
58
+ touchTargetState.performanceScore >= 60 ? 'Good performance' : 'Needs optimization' })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Target Status" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Target Size" }), _jsxs("span", { className: "font-medium", children: [touchTargetState.size, "px"] })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Compliance" }), _jsx("span", { className: `font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`, children: touchTargetState.size >= 44 ? '✅ Compliant' : '❌ Non-compliant' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Spacing" }), _jsx("span", { className: "font-medium capitalize", children: touchTargetState.spacing })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Feedback" }), _jsx("span", { className: "font-medium capitalize", children: touchTargetState.feedback })] })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Optimizations" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: isOptimizing ? (_jsxs("div", { className: "text-center py-4", children: [_jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Optimizing touch targets..." })] })) : optimizations.length > 0 ? (_jsx("div", { className: "space-y-2", children: optimizations.map((optimization, index) => (_jsxs("div", { className: "flex items-center space-x-2 text-sm", children: [_jsx("span", { className: "text-cs-success", children: "\u2705" }), _jsx("span", { children: optimization })] }, index))) })) : (_jsx("div", { className: "text-center py-4 text-cs-text-secondary", children: "No optimizations applied yet" })) })] })] }));
59
+ const renderAccessibilityDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Accessibility Features" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "ARIA Support" }), _jsx("span", { className: `font-medium ${touchTargetState.isAccessible ? 'text-cs-success' : 'text-cs-warning'}`, children: touchTargetState.isAccessible ? '✅ Enabled' : '⚠️ Disabled' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Focus Management" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Enabled" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Screen Reader" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Supported" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Keyboard Nav" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Supported" })] })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Standards" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "44px Minimum" }), _jsx("span", { className: `font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`, children: touchTargetState.size >= 44 ? '✅ Met' : '❌ Not Met' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Touch Action" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Optimized" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Tap Highlight" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Disabled" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "User Select" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Disabled" })] })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Interactive Test" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [_jsx(Button, { size: "default", className: "touch-target touch-friendly-button touch-interaction touch-performance touch-feedback min-h-[48px] min-w-[48px]", "aria-label": "Test button with scale feedback", children: "Scale Feedback" }), _jsx(Button, { size: "default", variant: "secondary", className: "touch-target touch-friendly-button-secondary touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px]", "aria-label": "Test button with ripple feedback", children: "Ripple Feedback" }), _jsx(Button, { size: "default", variant: "outline", className: "touch-target touch-interaction touch-performance touch-state-hover touch-state-active min-h-[48px] min-w-[48px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg", "aria-label": "Test button with color feedback", children: "Color Feedback" })] })] })] }));
60
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center space-y-2", children: [_jsx("h2", { className: "text-2xl font-bold text-cs-text-primary", children: "Touch-Friendly Interface & 44px Target Compliance" }), _jsx("p", { className: "text-cs-text-secondary", children: "Advanced touch interface system with accessibility compliance and performance optimization" })] }), _jsx("div", { className: "flex flex-wrap gap-2 justify-center", children: ['targets', 'interactions', 'performance', 'accessibility'].map((demo) => (_jsxs("button", { onClick: () => setActiveDemo(demo), className: `px-4 py-2 rounded-lg font-medium transition-colors ${activeDemo === demo
61
+ ? 'bg-cs-primary text-white'
62
+ : 'bg-cs-surface-bg text-cs-text-primary hover:bg-cs-hover-bg'}`, children: [demo === 'targets' && '🎯 Target Compliance', demo === 'interactions' && '👆 Touch Interactions', demo === 'performance' && '⚡ Performance', demo === 'accessibility' && '♿ Accessibility'] }, demo))) }), _jsxs("div", { className: "min-h-[400px]", children: [activeDemo === 'targets' && renderTargetComplianceDemo(), activeDemo === 'interactions' && renderTouchInteractionsDemo(), activeDemo === 'performance' && renderPerformanceDemo(), activeDemo === 'accessibility' && renderAccessibilityDemo()] }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4 text-sm", children: [_jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Status:" }), _jsx(Badge, { variant: touchTargetState.isOptimized ? 'default' : 'secondary', children: touchTargetState.isOptimized ? 'Optimized' : 'Optimizing...' }), _jsx(Badge, { variant: touchTargetState.isAccessible ? 'default' : 'secondary', children: touchTargetState.isAccessible ? 'Accessible' : 'Enhancing...' })] }), _jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Performance:" }), _jsxs("span", { className: `font-bold ${touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
63
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [touchTargetState.performanceScore, "%"] })] })] }) })] }));
64
+ };
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { Badge } from './badge.js';
5
+ import { Input } from './input.js';
6
+ import { Button } from './button.js';
7
+ import { Card, CardContent } from './card.js';
8
+ import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface.js';
9
+ export const TouchFriendlyInterfaceDemo = () => {
10
+ const [activeDemo, setActiveDemo] = useState('targets');
11
+ const [formData, setFormData] = useState({
12
+ name: '',
13
+ email: '',
14
+ message: ''
15
+ });
16
+ const [toggleState, setToggleState] = useState(false);
17
+ const [sliderValue, setSliderValue] = useState(50);
18
+ const { touchTargetState, touchInteractionState, isOptimizing, optimizations } = useTouchFriendlyInterface({
19
+ minSize: 44,
20
+ spacing: 'default',
21
+ feedback: 'scale',
22
+ performance: true,
23
+ accessibility: true
24
+ }, {
25
+ onTouchTargetOptimized: (config) => {
26
+ console.log('Touch target optimized:', config);
27
+ },
28
+ onTouchInteractionDetected: (interaction) => {
29
+ console.log('Touch interaction detected:', interaction);
30
+ },
31
+ onPerformanceOptimized: (score) => {
32
+ console.log('Performance optimized:', score);
33
+ },
34
+ onAccessibilityEnhanced: (feature) => {
35
+ console.log('Accessibility enhanced:', feature);
36
+ }
37
+ });
38
+ const handleInputChange = (field, value) => {
39
+ setFormData(prev => ({ ...prev, [field]: value }));
40
+ };
41
+ const renderTargetComplianceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "44px Target Compliance" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Button, { size: "sm", className: "touch-target touch-friendly-button touch-interaction touch-performance min-h-[44px] min-w-[44px]", children: "Small Button (44px)" }), _jsx(Button, { size: "default", variant: "secondary", className: "touch-target touch-friendly-button-secondary touch-interaction touch-performance min-h-[48px] min-w-[48px]", children: "Default Button (48px)" }), _jsx(Button, { size: "lg", variant: "outline", className: "touch-target touch-interaction touch-performance min-h-[56px] min-w-[56px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg", children: "Large Button (56px)" }), _jsx(Button, { size: "lg", variant: "ghost", className: "touch-target touch-interaction touch-performance min-h-[64px] min-w-[64px] bg-transparent text-cs-text-primary hover:bg-cs-hover-bg", children: "Extra Large Button (64px)" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch-Friendly Inputs" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Input, { placeholder: "Small Input (44px)", value: formData.name, onChange: (e) => handleInputChange('name', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[44px] min-w-[44px] px-3 py-2 text-sm" }), _jsx(Input, { placeholder: "Default Input (48px)", value: formData.email, onChange: (e) => handleInputChange('email', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[48px] min-w-[48px] px-4 py-3 text-base" }), _jsx(Input, { placeholder: "Large Input (56px)", value: formData.message, onChange: (e) => handleInputChange('message', e.target.value), className: "touch-target touch-friendly-input touch-interaction touch-performance min-h-[56px] min-w-[56px] px-6 py-4 text-lg" })] })] })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Interactive Cards" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-feedback min-h-[44px] min-w-[44px] p-3 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Small Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "44px target" })] }) }), _jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px] p-4 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Default Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "48px target" })] }) }), _jsx(Card, { className: "touch-target touch-friendly-card touch-interaction touch-performance touch-state-hover touch-state-active min-h-[56px] min-w-[56px] p-6 cursor-pointer", children: _jsxs(CardContent, { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Large Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "56px target" })] }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Form Controls" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("button", { type: "button", role: "switch", "aria-checked": toggleState, onClick: () => setToggleState(!toggleState), className: "touch-target touch-interaction touch-performance touch-feedback relative inline-flex items-center justify-center rounded-full transition-colors min-h-[48px] min-w-[48px] focus:outline-none focus:ring-2 focus:ring-cs-primary focus:ring-offset-2", style: {
42
+ backgroundColor: toggleState ? 'var(--cs-primary)' : 'var(--cs-border)'
43
+ }, children: _jsx("span", { className: "inline-block rounded-full bg-white shadow transform transition-transform w-6 h-6", style: {
44
+ transform: toggleState ? 'translateX(24px)' : 'translateX(0)'
45
+ } }) }), _jsx("span", { className: "text-sm", children: "Toggle Switch" })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("label", { className: "text-sm font-medium", children: ["Slider Value: ", sliderValue] }), _jsx("input", { type: "range", value: sliderValue, onChange: (e) => setSliderValue(Number(e.target.value)), min: 0, max: 100, step: 1, className: "touch-target touch-interaction touch-performance touch-feedback w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer focus:outline-none focus:ring-2 focus:ring-cs-primary min-h-[48px]" })] })] })] })] })] }));
46
+ const renderTouchInteractionsDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch State" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [_jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Touching:" }), _jsx("span", { className: `ml-2 ${touchInteractionState.isTouching ? 'text-cs-success' : 'text-cs-text-secondary'}`, children: touchInteractionState.isTouching ? 'Yes' : 'No' })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Touch Count:" }), _jsx("span", { className: "ml-2 text-cs-text-primary", children: touchInteractionState.touchCount })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Duration:" }), _jsxs("span", { className: "ml-2 text-cs-text-primary", children: [touchInteractionState.touchDuration.toFixed(0), "ms"] })] }), _jsxs("div", { children: [_jsx("span", { className: "font-medium", children: "Velocity:" }), _jsxs("span", { className: "ml-2 text-cs-text-primary", children: [touchInteractionState.touchVelocity.toFixed(2), "px/ms"] })] })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Gesture Detection" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-2xl font-bold text-cs-primary mb-2", children: touchInteractionState.gestureType === 'none' ? '👆' :
47
+ touchInteractionState.gestureType === 'tap' ? '👆' :
48
+ touchInteractionState.gestureType === 'double-tap' ? '👆👆' :
49
+ touchInteractionState.gestureType === 'long-press' ? '⏰' :
50
+ touchInteractionState.gestureType === 'swipe' ? '👈👉' : '🤏' }), _jsx("div", { className: "text-lg font-semibold capitalize", children: touchInteractionState.gestureType.replace('-', ' ') }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: touchInteractionState.gestureType === 'none' ? 'Touch to detect gesture' :
51
+ touchInteractionState.gestureType === 'tap' ? 'Quick touch detected' :
52
+ touchInteractionState.gestureType === 'double-tap' ? 'Double touch detected' :
53
+ touchInteractionState.gestureType === 'long-press' ? 'Long press detected' :
54
+ touchInteractionState.gestureType === 'swipe' ? 'Swipe gesture detected' : 'Pinch detected' })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Coordinates" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: [_jsx("h4", { className: "font-medium mb-2", children: "Start Position" }), _jsxs("div", { className: "text-sm space-y-1", children: [_jsxs("div", { children: ["X: ", touchInteractionState.touchStartX, "px"] }), _jsxs("div", { children: ["Y: ", touchInteractionState.touchStartY, "px"] })] })] }), _jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: [_jsx("h4", { className: "font-medium mb-2", children: "Current Position" }), _jsxs("div", { className: "text-sm space-y-1", children: [_jsxs("div", { children: ["X: ", touchInteractionState.touchCurrentX, "px"] }), _jsxs("div", { children: ["Y: ", touchInteractionState.touchCurrentY, "px"] })] })] })] })] })] }));
55
+ const renderPerformanceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Performance Metrics" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Performance Score" }), _jsxs("span", { className: `text-lg font-bold ${touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
56
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [touchTargetState.performanceScore, "/100"] })] }), _jsx("div", { className: "w-full bg-cs-border rounded-full h-2", children: _jsx("div", { className: `h-2 rounded-full transition-all duration-300 ${touchTargetState.performanceScore >= 80 ? 'bg-cs-success' :
57
+ touchTargetState.performanceScore >= 60 ? 'bg-cs-warning' : 'bg-cs-error'}`, style: { width: `${touchTargetState.performanceScore}%` } }) }), _jsx("div", { className: "text-xs text-cs-text-secondary", children: touchTargetState.performanceScore >= 80 ? 'Excellent performance' :
58
+ touchTargetState.performanceScore >= 60 ? 'Good performance' : 'Needs optimization' })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Target Status" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Target Size" }), _jsxs("span", { className: "font-medium", children: [touchTargetState.size, "px"] })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Compliance" }), _jsx("span", { className: `font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`, children: touchTargetState.size >= 44 ? '✅ Compliant' : '❌ Non-compliant' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Spacing" }), _jsx("span", { className: "font-medium capitalize", children: touchTargetState.spacing })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Feedback" }), _jsx("span", { className: "font-medium capitalize", children: touchTargetState.feedback })] })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Optimizations" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: isOptimizing ? (_jsxs("div", { className: "text-center py-4", children: [_jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Optimizing touch targets..." })] })) : optimizations.length > 0 ? (_jsx("div", { className: "space-y-2", children: optimizations.map((optimization, index) => (_jsxs("div", { className: "flex items-center space-x-2 text-sm", children: [_jsx("span", { className: "text-cs-success", children: "\u2705" }), _jsx("span", { children: optimization })] }, index))) })) : (_jsx("div", { className: "text-center py-4 text-cs-text-secondary", children: "No optimizations applied yet" })) })] })] }));
59
+ const renderAccessibilityDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Accessibility Features" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "ARIA Support" }), _jsx("span", { className: `font-medium ${touchTargetState.isAccessible ? 'text-cs-success' : 'text-cs-warning'}`, children: touchTargetState.isAccessible ? '✅ Enabled' : '⚠️ Disabled' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Focus Management" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Enabled" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Screen Reader" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Supported" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Keyboard Nav" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Supported" })] })] }) }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Touch Standards" }), _jsx("div", { className: "space-y-3", children: _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "44px Minimum" }), _jsx("span", { className: `font-medium ${touchTargetState.size >= 44 ? 'text-cs-success' : 'text-cs-error'}`, children: touchTargetState.size >= 44 ? '✅ Met' : '❌ Not Met' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Touch Action" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Optimized" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "Tap Highlight" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Disabled" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm", children: "User Select" }), _jsx("span", { className: "font-medium text-cs-success", children: "\u2705 Disabled" })] })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "Interactive Test" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [_jsx(Button, { size: "default", className: "touch-target touch-friendly-button touch-interaction touch-performance touch-feedback min-h-[48px] min-w-[48px]", "aria-label": "Test button with scale feedback", children: "Scale Feedback" }), _jsx(Button, { size: "default", variant: "secondary", className: "touch-target touch-friendly-button-secondary touch-interaction touch-performance touch-ripple min-h-[48px] min-w-[48px]", "aria-label": "Test button with ripple feedback", children: "Ripple Feedback" }), _jsx(Button, { size: "default", variant: "outline", className: "touch-target touch-interaction touch-performance touch-state-hover touch-state-active min-h-[48px] min-w-[48px] bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg", "aria-label": "Test button with color feedback", children: "Color Feedback" })] })] })] }));
60
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center space-y-2", children: [_jsx("h2", { className: "text-2xl font-bold text-cs-text-primary", children: "Touch-Friendly Interface & 44px Target Compliance" }), _jsx("p", { className: "text-cs-text-secondary", children: "Advanced touch interface system with accessibility compliance and performance optimization" })] }), _jsx("div", { className: "flex flex-wrap gap-2 justify-center", children: ['targets', 'interactions', 'performance', 'accessibility'].map((demo) => (_jsxs("button", { onClick: () => setActiveDemo(demo), className: `px-4 py-2 rounded-lg font-medium transition-colors ${activeDemo === demo
61
+ ? 'bg-cs-primary text-white'
62
+ : 'bg-cs-surface-bg text-cs-text-primary hover:bg-cs-hover-bg'}`, children: [demo === 'targets' && '🎯 Target Compliance', demo === 'interactions' && '👆 Touch Interactions', demo === 'performance' && '⚡ Performance', demo === 'accessibility' && '♿ Accessibility'] }, demo))) }), _jsxs("div", { className: "min-h-[400px]", children: [activeDemo === 'targets' && renderTargetComplianceDemo(), activeDemo === 'interactions' && renderTouchInteractionsDemo(), activeDemo === 'performance' && renderPerformanceDemo(), activeDemo === 'accessibility' && renderAccessibilityDemo()] }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4 text-sm", children: [_jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Status:" }), _jsx(Badge, { variant: touchTargetState.isOptimized ? 'default' : 'secondary', children: touchTargetState.isOptimized ? 'Optimized' : 'Optimizing...' }), _jsx(Badge, { variant: touchTargetState.isAccessible ? 'default' : 'secondary', children: touchTargetState.isAccessible ? 'Accessible' : 'Enhancing...' })] }), _jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Performance:" }), _jsxs("span", { className: `font-bold ${touchTargetState.performanceScore >= 80 ? 'text-cs-success' :
63
+ touchTargetState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [touchTargetState.performanceScore, "%"] })] })] }) })] }));
64
+ };
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ export interface TouchFriendlyButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ variant?: 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive';
4
+ size?: 'sm' | 'default' | 'lg' | 'xl';
5
+ feedback?: 'scale' | 'ripple' | 'color' | 'none';
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const TouchFriendlyButton: React.ForwardRefExoticComponent<TouchFriendlyButtonProps & React.RefAttributes<HTMLButtonElement>>;
9
+ export interface TouchFriendlyInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
10
+ touchSize?: 'sm' | 'default' | 'lg';
11
+ feedback?: 'scale' | 'ripple' | 'color' | 'none';
12
+ }
13
+ export declare const TouchFriendlyInput: React.ForwardRefExoticComponent<TouchFriendlyInputProps & React.RefAttributes<HTMLInputElement>>;
14
+ export interface TouchFriendlyCardProps extends React.HTMLAttributes<HTMLDivElement> {
15
+ size?: 'sm' | 'default' | 'lg';
16
+ feedback?: 'scale' | 'ripple' | 'color' | 'none';
17
+ interactive?: boolean;
18
+ }
19
+ export declare const TouchFriendlyCard: React.ForwardRefExoticComponent<TouchFriendlyCardProps & React.RefAttributes<HTMLDivElement>>;
20
+ export interface TouchFriendlyToggleProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
21
+ checked?: boolean;
22
+ onCheckedChange?: (checked: boolean) => void;
23
+ size?: 'sm' | 'default' | 'lg';
24
+ }
25
+ export declare const TouchFriendlyToggle: React.ForwardRefExoticComponent<TouchFriendlyToggleProps & React.RefAttributes<HTMLButtonElement>>;
26
+ export interface TouchFriendlySliderProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
27
+ touchSize?: 'sm' | 'default' | 'lg';
28
+ showValue?: boolean;
29
+ }
30
+ export declare const TouchFriendlySlider: React.ForwardRefExoticComponent<TouchFriendlySliderProps & React.RefAttributes<HTMLInputElement>>;
31
+ //# sourceMappingURL=touch-friendly-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touch-friendly-interface.d.ts","sourceRoot":"","sources":["../../../src/components/ui/touch-friendly-interface.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC7F,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;IACvE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,mBAAmB,oGAuD/B,CAAA;AAKD,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACxG,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;CACjD;AAED,eAAO,MAAM,kBAAkB,kGAsC9B,CAAA;AAKD,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAClF,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,iBAAiB,+FAgD7B,CAAA;AAKD,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,mBAAmB,oGAsD/B,CAAA;AAKD,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClH,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,mBAAmB,mGA4C/B,CAAA"}
@@ -0,0 +1,119 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { cn } from '../../lib/utils';
5
+ import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface.js';
6
+ export const TouchFriendlyButton = forwardRef(({ className, variant = 'default', size = 'default', feedback = 'scale', children, ...props }, ref) => {
7
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
8
+ minSize: 44,
9
+ feedback
10
+ });
11
+ const baseClasses = 'touch-target touch-friendly-button touch-interaction touch-performance';
12
+ const feedbackClasses = {
13
+ scale: 'touch-feedback',
14
+ ripple: 'touch-ripple',
15
+ color: 'touch-state-hover touch-state-active',
16
+ none: ''
17
+ };
18
+ const variantClasses = {
19
+ default: 'touch-friendly-button',
20
+ secondary: 'touch-friendly-button-secondary',
21
+ outline: 'touch-target touch-spacing bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg',
22
+ ghost: 'touch-target touch-spacing bg-transparent text-cs-text-primary hover:bg-cs-hover-bg',
23
+ destructive: 'touch-target touch-spacing bg-cs-error text-white hover:bg-cs-error-hover'
24
+ };
25
+ const sizeClasses = {
26
+ sm: 'min-h-[44px] min-w-[44px] px-3 py-2 text-sm',
27
+ default: 'min-h-[48px] min-w-[48px] px-4 py-3 text-base',
28
+ lg: 'min-h-[56px] min-w-[56px] px-6 py-4 text-lg',
29
+ xl: 'min-h-[64px] min-w-[64px] px-8 py-5 text-xl'
30
+ };
31
+ return (_jsxs("button", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], variantClasses[variant], sizeClasses[size], className), style: {
32
+ minHeight: `${getTouchTargetSize()}px`,
33
+ minWidth: `${getTouchTargetSize()}px`
34
+ }, ...props, children: [children, !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning ml-2", children: "\u26A0\uFE0F Target too small" }))] }));
35
+ });
36
+ TouchFriendlyButton.displayName = 'TouchFriendlyButton';
37
+ export const TouchFriendlyInput = forwardRef(({ className, touchSize = 'default', feedback = 'scale', ...props }, ref) => {
38
+ const { getTouchTargetSize } = useTouchFriendlyInterface({
39
+ minSize: 44,
40
+ feedback
41
+ });
42
+ const baseClasses = 'touch-target touch-friendly-input touch-interaction touch-performance';
43
+ const feedbackClasses = {
44
+ scale: 'touch-feedback',
45
+ ripple: 'touch-ripple',
46
+ color: 'touch-state-hover touch-state-focus',
47
+ none: ''
48
+ };
49
+ const sizeClasses = {
50
+ sm: 'min-h-[44px] min-w-[44px] px-3 py-2 text-sm',
51
+ default: 'min-h-[48px] min-w-[48px] px-4 py-3 text-base',
52
+ lg: 'min-h-[56px] min-w-[56px] px-6 py-4 text-lg'
53
+ };
54
+ return (_jsx("input", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], sizeClasses[touchSize], className), style: {
55
+ minHeight: `${getTouchTargetSize()}px`,
56
+ minWidth: `${getTouchTargetSize()}px`
57
+ }, ...props }));
58
+ });
59
+ TouchFriendlyInput.displayName = 'TouchFriendlyInput';
60
+ export const TouchFriendlyCard = forwardRef(({ className, size = 'default', feedback = 'scale', interactive = false, children, ...props }, ref) => {
61
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
62
+ minSize: 44,
63
+ feedback
64
+ });
65
+ const baseClasses = 'touch-friendly-card touch-interaction touch-performance';
66
+ const feedbackClasses = interactive ? {
67
+ scale: 'touch-feedback',
68
+ ripple: 'touch-ripple',
69
+ color: 'touch-state-hover touch-state-active',
70
+ none: ''
71
+ } : { scale: '', ripple: '', color: '', none: '' };
72
+ const sizeClasses = {
73
+ sm: 'min-h-[44px] min-w-[44px] p-3',
74
+ default: 'min-h-[48px] min-w-[48px] p-4',
75
+ lg: 'min-h-[56px] min-w-[56px] p-6'
76
+ };
77
+ const interactiveClasses = interactive ? 'cursor-pointer' : '';
78
+ return (_jsxs("div", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], sizeClasses[size], interactiveClasses, className), style: {
79
+ minHeight: `${getTouchTargetSize()}px`,
80
+ minWidth: `${getTouchTargetSize()}px`
81
+ }, ...props, children: [children, interactive && !isTouchTargetCompliant() && (_jsx("div", { className: "text-xs text-cs-warning mt-2", children: "\u26A0\uFE0F Interactive target too small" }))] }));
82
+ });
83
+ TouchFriendlyCard.displayName = 'TouchFriendlyCard';
84
+ export const TouchFriendlyToggle = forwardRef(({ className, checked = false, onCheckedChange, size = 'default', ...props }, ref) => {
85
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
86
+ minSize: 44,
87
+ feedback: 'scale'
88
+ });
89
+ const baseClasses = 'touch-target touch-interaction touch-performance touch-feedback';
90
+ const sizeClasses = {
91
+ sm: 'min-h-[44px] min-w-[44px]',
92
+ default: 'min-h-[48px] min-w-[48px]',
93
+ lg: 'min-h-[56px] min-w-[56px]'
94
+ };
95
+ const handleClick = () => {
96
+ onCheckedChange?.(!checked);
97
+ };
98
+ return (_jsxs("button", { ref: ref, type: "button", role: "switch", "aria-checked": checked, className: cn(baseClasses, sizeClasses[size], 'relative inline-flex items-center justify-center rounded-full transition-colors', checked ? 'bg-cs-primary' : 'bg-cs-border', 'focus:outline-none focus:ring-2 focus:ring-cs-primary focus:ring-offset-2', className), style: {
99
+ minHeight: `${getTouchTargetSize()}px`,
100
+ minWidth: `${getTouchTargetSize()}px`
101
+ }, onClick: handleClick, ...props, children: [_jsx("span", { className: cn('inline-block rounded-full bg-white shadow transform transition-transform', size === 'sm' ? 'w-5 h-5' : size === 'default' ? 'w-6 h-6' : 'w-7 h-7', checked ? 'translate-x-full' : 'translate-x-0') }), !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning absolute -bottom-6 left-1/2 transform -translate-x-1/2", children: "\u26A0\uFE0F Target too small" }))] }));
102
+ });
103
+ TouchFriendlyToggle.displayName = 'TouchFriendlyToggle';
104
+ export const TouchFriendlySlider = forwardRef(({ className, touchSize = 'default', showValue = true, ...props }, ref) => {
105
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
106
+ minSize: 44,
107
+ feedback: 'scale'
108
+ });
109
+ const baseClasses = 'touch-target touch-interaction touch-performance touch-feedback';
110
+ const sizeClasses = {
111
+ sm: 'min-h-[44px] min-w-[44px]',
112
+ default: 'min-h-[48px] min-w-[48px]',
113
+ lg: 'min-h-[56px] min-w-[56px]'
114
+ };
115
+ return (_jsxs("div", { className: "flex flex-col items-center space-y-2", children: [_jsx("input", { ref: ref, type: "range", className: cn(baseClasses, sizeClasses[touchSize], 'w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer', 'focus:outline-none focus:ring-2 focus:ring-cs-primary', className), style: {
116
+ minHeight: `${getTouchTargetSize()}px`
117
+ }, ...props }), showValue && (_jsx("span", { className: "text-sm text-cs-text-secondary", children: props.value || props.defaultValue || 0 })), !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning", children: "\u26A0\uFE0F Slider target too small" }))] }));
118
+ });
119
+ TouchFriendlySlider.displayName = 'TouchFriendlySlider';
@@ -0,0 +1,119 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { cn } from '../../lib/utils';
5
+ import { useTouchFriendlyInterface } from '../../hooks/use-touch-friendly-interface.js';
6
+ export const TouchFriendlyButton = forwardRef(({ className, variant = 'default', size = 'default', feedback = 'scale', children, ...props }, ref) => {
7
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
8
+ minSize: 44,
9
+ feedback
10
+ });
11
+ const baseClasses = 'touch-target touch-friendly-button touch-interaction touch-performance';
12
+ const feedbackClasses = {
13
+ scale: 'touch-feedback',
14
+ ripple: 'touch-ripple',
15
+ color: 'touch-state-hover touch-state-active',
16
+ none: ''
17
+ };
18
+ const variantClasses = {
19
+ default: 'touch-friendly-button',
20
+ secondary: 'touch-friendly-button-secondary',
21
+ outline: 'touch-target touch-spacing bg-transparent border border-cs-border text-cs-text-primary hover:bg-cs-hover-bg',
22
+ ghost: 'touch-target touch-spacing bg-transparent text-cs-text-primary hover:bg-cs-hover-bg',
23
+ destructive: 'touch-target touch-spacing bg-cs-error text-white hover:bg-cs-error-hover'
24
+ };
25
+ const sizeClasses = {
26
+ sm: 'min-h-[44px] min-w-[44px] px-3 py-2 text-sm',
27
+ default: 'min-h-[48px] min-w-[48px] px-4 py-3 text-base',
28
+ lg: 'min-h-[56px] min-w-[56px] px-6 py-4 text-lg',
29
+ xl: 'min-h-[64px] min-w-[64px] px-8 py-5 text-xl'
30
+ };
31
+ return (_jsxs("button", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], variantClasses[variant], sizeClasses[size], className), style: {
32
+ minHeight: `${getTouchTargetSize()}px`,
33
+ minWidth: `${getTouchTargetSize()}px`
34
+ }, ...props, children: [children, !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning ml-2", children: "\u26A0\uFE0F Target too small" }))] }));
35
+ });
36
+ TouchFriendlyButton.displayName = 'TouchFriendlyButton';
37
+ export const TouchFriendlyInput = forwardRef(({ className, touchSize = 'default', feedback = 'scale', ...props }, ref) => {
38
+ const { getTouchTargetSize } = useTouchFriendlyInterface({
39
+ minSize: 44,
40
+ feedback
41
+ });
42
+ const baseClasses = 'touch-target touch-friendly-input touch-interaction touch-performance';
43
+ const feedbackClasses = {
44
+ scale: 'touch-feedback',
45
+ ripple: 'touch-ripple',
46
+ color: 'touch-state-hover touch-state-focus',
47
+ none: ''
48
+ };
49
+ const sizeClasses = {
50
+ sm: 'min-h-[44px] min-w-[44px] px-3 py-2 text-sm',
51
+ default: 'min-h-[48px] min-w-[48px] px-4 py-3 text-base',
52
+ lg: 'min-h-[56px] min-w-[56px] px-6 py-4 text-lg'
53
+ };
54
+ return (_jsx("input", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], sizeClasses[touchSize], className), style: {
55
+ minHeight: `${getTouchTargetSize()}px`,
56
+ minWidth: `${getTouchTargetSize()}px`
57
+ }, ...props }));
58
+ });
59
+ TouchFriendlyInput.displayName = 'TouchFriendlyInput';
60
+ export const TouchFriendlyCard = forwardRef(({ className, size = 'default', feedback = 'scale', interactive = false, children, ...props }, ref) => {
61
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
62
+ minSize: 44,
63
+ feedback
64
+ });
65
+ const baseClasses = 'touch-friendly-card touch-interaction touch-performance';
66
+ const feedbackClasses = interactive ? {
67
+ scale: 'touch-feedback',
68
+ ripple: 'touch-ripple',
69
+ color: 'touch-state-hover touch-state-active',
70
+ none: ''
71
+ } : { scale: '', ripple: '', color: '', none: '' };
72
+ const sizeClasses = {
73
+ sm: 'min-h-[44px] min-w-[44px] p-3',
74
+ default: 'min-h-[48px] min-w-[48px] p-4',
75
+ lg: 'min-h-[56px] min-w-[56px] p-6'
76
+ };
77
+ const interactiveClasses = interactive ? 'cursor-pointer' : '';
78
+ return (_jsxs("div", { ref: ref, className: cn(baseClasses, feedbackClasses[feedback], sizeClasses[size], interactiveClasses, className), style: {
79
+ minHeight: `${getTouchTargetSize()}px`,
80
+ minWidth: `${getTouchTargetSize()}px`
81
+ }, ...props, children: [children, interactive && !isTouchTargetCompliant() && (_jsx("div", { className: "text-xs text-cs-warning mt-2", children: "\u26A0\uFE0F Interactive target too small" }))] }));
82
+ });
83
+ TouchFriendlyCard.displayName = 'TouchFriendlyCard';
84
+ export const TouchFriendlyToggle = forwardRef(({ className, checked = false, onCheckedChange, size = 'default', ...props }, ref) => {
85
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
86
+ minSize: 44,
87
+ feedback: 'scale'
88
+ });
89
+ const baseClasses = 'touch-target touch-interaction touch-performance touch-feedback';
90
+ const sizeClasses = {
91
+ sm: 'min-h-[44px] min-w-[44px]',
92
+ default: 'min-h-[48px] min-w-[48px]',
93
+ lg: 'min-h-[56px] min-w-[56px]'
94
+ };
95
+ const handleClick = () => {
96
+ onCheckedChange?.(!checked);
97
+ };
98
+ return (_jsxs("button", { ref: ref, type: "button", role: "switch", "aria-checked": checked, className: cn(baseClasses, sizeClasses[size], 'relative inline-flex items-center justify-center rounded-full transition-colors', checked ? 'bg-cs-primary' : 'bg-cs-border', 'focus:outline-none focus:ring-2 focus:ring-cs-primary focus:ring-offset-2', className), style: {
99
+ minHeight: `${getTouchTargetSize()}px`,
100
+ minWidth: `${getTouchTargetSize()}px`
101
+ }, onClick: handleClick, ...props, children: [_jsx("span", { className: cn('inline-block rounded-full bg-white shadow transform transition-transform', size === 'sm' ? 'w-5 h-5' : size === 'default' ? 'w-6 h-6' : 'w-7 h-7', checked ? 'translate-x-full' : 'translate-x-0') }), !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning absolute -bottom-6 left-1/2 transform -translate-x-1/2", children: "\u26A0\uFE0F Target too small" }))] }));
102
+ });
103
+ TouchFriendlyToggle.displayName = 'TouchFriendlyToggle';
104
+ export const TouchFriendlySlider = forwardRef(({ className, touchSize = 'default', showValue = true, ...props }, ref) => {
105
+ const { isTouchTargetCompliant, getTouchTargetSize } = useTouchFriendlyInterface({
106
+ minSize: 44,
107
+ feedback: 'scale'
108
+ });
109
+ const baseClasses = 'touch-target touch-interaction touch-performance touch-feedback';
110
+ const sizeClasses = {
111
+ sm: 'min-h-[44px] min-w-[44px]',
112
+ default: 'min-h-[48px] min-w-[48px]',
113
+ lg: 'min-h-[56px] min-w-[56px]'
114
+ };
115
+ return (_jsxs("div", { className: "flex flex-col items-center space-y-2", children: [_jsx("input", { ref: ref, type: "range", className: cn(baseClasses, sizeClasses[touchSize], 'w-full h-2 bg-cs-border rounded-lg appearance-none cursor-pointer', 'focus:outline-none focus:ring-2 focus:ring-cs-primary', className), style: {
116
+ minHeight: `${getTouchTargetSize()}px`
117
+ }, ...props }), showValue && (_jsx("span", { className: "text-sm text-cs-text-secondary", children: props.value || props.defaultValue || 0 })), !isTouchTargetCompliant() && (_jsx("span", { className: "text-xs text-cs-warning", children: "\u26A0\uFE0F Slider target too small" }))] }));
118
+ });
119
+ TouchFriendlySlider.displayName = 'TouchFriendlySlider';
@@ -0,0 +1,47 @@
1
+ export { usePerformance } from './use-performance';
2
+ export type { PerformanceMetrics, PerformanceThresholds, PerformanceCallbacks, PerformanceOptions } from './use-performance';
3
+ export { useFrameRate } from './use-frame-rate';
4
+ export type { FrameRateMetrics, FrameRateThresholds, FrameRateCallbacks, FrameRateOptions } from './use-frame-rate';
5
+ export { useMemoryUsage } from './use-memory-usage';
6
+ export type { MemoryMetrics, MemoryThresholds, MemoryCallbacks, MemoryOptions } from './use-memory-usage';
7
+ export { useBatteryStatus } from './use-battery-status';
8
+ export type { BatteryMetrics, BatteryThresholds, BatteryCallbacks, BatteryOptions } from './use-battery-status';
9
+ export { usePerformanceThrottling } from './use-performance-throttling';
10
+ export type { PerformanceThrottlingConfig, PerformanceThrottlingCallbacks } from './use-performance-throttling';
11
+ export { useGestures, useSwipeGesture, usePinchGesture, useTapGesture, useLongPressGesture } from './use-gestures';
12
+ export type { GestureConfig, SwipeGesture, PinchGesture, GestureCallbacks, GestureState } from './use-gestures';
13
+ export { useTouchOptimization, useBasicTouchOptimization, useBatteryAwareTouchOptimization } from './use-touch-optimization';
14
+ export type { TouchOptimizationConfig, TouchPerformanceMetrics, TouchOptimizationCallbacks, TouchOptimizationState } from './use-touch-optimization';
15
+ export { useMobileTouch, useBasicMobileTouch, useEnhancedMobileTouch } from './use-mobile-touch';
16
+ export type { MobileTouchConfig, TouchFeedbackState, GestureHint, MobileTouchCallbacks, MobileTouchState } from './use-mobile-touch';
17
+ export { useAnimationProfile, useAnimationDuration, useAnimationEasing, useAnimationClasses, usePerformanceMode } from './use-animation-profile';
18
+ export type { AnimationProfile, PerformanceMetrics as AnimationPerformanceMetrics } from './use-animation-profile';
19
+ export { useDevice } from './use-device';
20
+ export type { DeviceInfo } from './use-device';
21
+ export { useBatteryAnimations } from './use-battery-animations';
22
+ export type { BatteryAnimationConfig, BatteryAnimationState, BatteryAnimationCallbacks } from './use-battery-animations';
23
+ export { useHardwareAcceleration } from './use-hardware-acceleration';
24
+ export type { GPUInfo, HardwareAccelerationMetrics, HardwareAccelerationConfig, HardwareAccelerationCallbacks } from './use-hardware-acceleration';
25
+ export { useBatteryOptimization } from './use-battery-optimization';
26
+ export type { BatteryStatus, BatteryOptimizationConfig, BatteryOptimizationCallbacks } from './use-battery-optimization';
27
+ export { useAdvancedPatterns } from './use-advanced-patterns';
28
+ export type { AdvancedPatternsConfig, AdvancedPatternsCallbacks, CompoundComponentContext, RenderPropsConfig, HigherOrderComponentConfig } from './use-advanced-patterns';
29
+ export { useComponentPerformance } from './use-component-performance';
30
+ export type { ComponentPerformanceConfig, ComponentPerformanceCallbacks, PerformanceMetrics as ComponentPerformanceMetrics } from './use-component-performance';
31
+ export { useMobileOptimization } from './use-mobile-optimization';
32
+ export type { MobileOptimizationConfig, MobileOptimizationCallbacks, MobileOptimizationState } from './use-mobile-optimization';
33
+ export { useReusableArchitecture } from './use-reusable-architecture';
34
+ export type { ReusableArchitectureConfig, ReusableArchitectureCallbacks, ComponentTemplate, SharedPattern, SharedStyle, SharedBehavior } from './use-reusable-architecture';
35
+ export { useAccessibilitySupport } from './use-accessibility-support';
36
+ export type { AccessibilitySupportConfig, AccessibilitySupportCallbacks, AccessibilityState, AccessibilityFeatures } from './use-accessibility-support';
37
+ export { default as useMobileSkeleton } from './use-mobile-skeleton';
38
+ export type { MobileSkeletonConfig, SkeletonVariant, DeviceLoadingState, MobileSkeletonCallbacks } from './use-mobile-skeleton';
39
+ export { default as useDeviceLoadingStates } from './use-device-loading-states';
40
+ export type { DeviceLoadingStatesConfig, LoadingState, DeviceSpecificState, DeviceLoadingStatesCallbacks } from './use-device-loading-states';
41
+ export { default as useLoadingPerformance } from './use-loading-performance';
42
+ export type { LoadingPerformanceConfig, PerformanceMetrics as LoadingPerformanceMetrics, OptimizationStrategy as LoadingOptimizationStrategy, LoadingPerformanceCallbacks } from './use-loading-performance';
43
+ export { default as useBatteryConsciousLoading } from './use-battery-conscious-loading';
44
+ export type { BatteryConsciousLoadingConfig, BatteryState as BatteryLoadingState, LoadingOptimization, BatteryConsciousLoadingCallbacks } from './use-battery-conscious-loading';
45
+ export { default as useLoadingAccessibility } from './use-loading-accessibility';
46
+ export type { LoadingAccessibilityConfig, AccessibilityFeature, AccessibilityState as LoadingAccessibilityState, LoadingAccessibilityCallbacks } from './use-loading-accessibility';
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,YAAY,EACV,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAClH,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAC5H,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChG,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACV,gBAAgB,EAChB,kBAAkB,IAAI,2BAA2B,EAClD,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EACV,OAAO,EACP,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,IAAI,2BAA2B,EAClD,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,cAAc,EACf,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACpE,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,YAAY,EACV,yBAAyB,EACzB,YAAY,EACZ,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,YAAY,EACV,wBAAwB,EACxB,kBAAkB,IAAI,yBAAyB,EAC/C,oBAAoB,IAAI,2BAA2B,EACnD,2BAA2B,EAC5B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACvF,YAAY,EACV,6BAA6B,EAC7B,YAAY,IAAI,mBAAmB,EACnC,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAChF,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,IAAI,yBAAyB,EAC/C,6BAA6B,EAC9B,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,32 @@
1
+ // Performance monitoring hooks
2
+ export { usePerformance } from './use-performance';
3
+ export { useFrameRate } from './use-frame-rate';
4
+ export { useMemoryUsage } from './use-memory-usage';
5
+ export { useBatteryStatus } from './use-battery-status';
6
+ export { usePerformanceThrottling } from './use-performance-throttling';
7
+ // Touch optimization & gesture support hooks
8
+ export { useGestures, useSwipeGesture, usePinchGesture, useTapGesture, useLongPressGesture } from './use-gestures';
9
+ export { useTouchOptimization, useBasicTouchOptimization, useBatteryAwareTouchOptimization } from './use-touch-optimization';
10
+ export { useMobileTouch, useBasicMobileTouch, useEnhancedMobileTouch } from './use-mobile-touch';
11
+ // Animation hooks
12
+ export { useAnimationProfile, useAnimationDuration, useAnimationEasing, useAnimationClasses, usePerformanceMode } from './use-animation-profile';
13
+ // Device hook
14
+ export { useDevice } from './use-device';
15
+ // Battery-conscious animation hooks
16
+ export { useBatteryAnimations } from './use-battery-animations';
17
+ // Hardware acceleration hooks
18
+ export { useHardwareAcceleration } from './use-hardware-acceleration';
19
+ // Battery optimization hooks
20
+ export { useBatteryOptimization } from './use-battery-optimization';
21
+ // Advanced component architecture hooks
22
+ export { useAdvancedPatterns } from './use-advanced-patterns';
23
+ export { useComponentPerformance } from './use-component-performance';
24
+ export { useMobileOptimization } from './use-mobile-optimization';
25
+ export { useReusableArchitecture } from './use-reusable-architecture';
26
+ export { useAccessibilitySupport } from './use-accessibility-support';
27
+ // Mobile skeleton and loading states hooks
28
+ export { default as useMobileSkeleton } from './use-mobile-skeleton';
29
+ export { default as useDeviceLoadingStates } from './use-device-loading-states';
30
+ export { default as useLoadingPerformance } from './use-loading-performance';
31
+ export { default as useBatteryConsciousLoading } from './use-battery-conscious-loading';
32
+ export { default as useLoadingAccessibility } from './use-loading-accessibility';