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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/index.esm.js +2 -2
  345. package/dist/index.js +2 -2
  346. package/dist/lib/utils.d.ts +3 -0
  347. package/dist/lib/utils.esm.js +6 -0
  348. package/dist/lib/utils.js +6 -0
  349. package/dist/plugins/theme-css-generator.d.ts +345 -0
  350. package/dist/plugins/theme-css-generator.esm.js +305 -0
  351. package/dist/plugins/theme-css-generator.js +305 -0
  352. package/dist/styles.css +1 -1
  353. package/dist/themes/ThemeContext.d.ts +27 -0
  354. package/dist/themes/ThemeContext.esm.js +31 -0
  355. package/dist/themes/ThemeContext.js +31 -0
  356. package/dist/themes/ThemeProvider.d.ts +222 -0
  357. package/dist/themes/ThemeProvider.esm.js +229 -0
  358. package/dist/themes/ThemeProvider.js +229 -0
  359. package/dist/themes/accessibility/index.d.ts +7 -0
  360. package/dist/themes/accessibility/index.esm.js +27 -0
  361. package/dist/themes/accessibility/index.js +27 -0
  362. package/dist/themes/accessibility.d.ts +259 -0
  363. package/dist/themes/accessibility.esm.js +220 -0
  364. package/dist/themes/accessibility.js +220 -0
  365. package/dist/themes/aria-patterns.d.ts +418 -0
  366. package/dist/themes/aria-patterns.esm.js +384 -0
  367. package/dist/themes/aria-patterns.js +384 -0
  368. package/dist/themes/base-themes.d.ts +34 -0
  369. package/dist/themes/base-themes.esm.js +52 -0
  370. package/dist/themes/base-themes.js +52 -0
  371. package/dist/themes/colorManager.d.ts +327 -0
  372. package/dist/themes/colorManager.esm.js +362 -0
  373. package/dist/themes/colorManager.js +362 -0
  374. package/dist/themes/examples/dark-theme.d.ts +139 -0
  375. package/dist/themes/examples/dark-theme.esm.js +124 -0
  376. package/dist/themes/examples/dark-theme.js +124 -0
  377. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  378. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  379. package/dist/themes/examples/minimal-theme.js +86 -0
  380. package/dist/themes/focus-management.d.ts +699 -0
  381. package/dist/themes/focus-management.esm.js +642 -0
  382. package/dist/themes/focus-management.js +642 -0
  383. package/dist/themes/fontLoader.d.ts +163 -0
  384. package/dist/themes/fontLoader.esm.js +192 -0
  385. package/dist/themes/fontLoader.js +192 -0
  386. package/dist/themes/high-contrast.d.ts +619 -0
  387. package/dist/themes/high-contrast.esm.js +573 -0
  388. package/dist/themes/high-contrast.js +573 -0
  389. package/dist/themes/index.d.ts +11 -0
  390. package/dist/themes/index.esm.js +19 -0
  391. package/dist/themes/index.js +19 -0
  392. package/dist/themes/inheritance.d.ts +160 -0
  393. package/dist/themes/inheritance.esm.js +219 -0
  394. package/dist/themes/inheritance.js +219 -0
  395. package/dist/themes/keyboard-navigation.d.ts +550 -0
  396. package/dist/themes/keyboard-navigation.esm.js +521 -0
  397. package/dist/themes/keyboard-navigation.js +521 -0
  398. package/dist/themes/motion-reduction.d.ts +660 -0
  399. package/dist/themes/motion-reduction.esm.js +602 -0
  400. package/dist/themes/motion-reduction.js +602 -0
  401. package/dist/themes/navigation.d.ts +232 -0
  402. package/dist/themes/navigation.esm.js +238 -0
  403. package/dist/themes/navigation.js +238 -0
  404. package/dist/themes/screen-reader.d.ts +645 -0
  405. package/dist/themes/screen-reader.esm.js +580 -0
  406. package/dist/themes/screen-reader.js +580 -0
  407. package/dist/themes/systemThemeDetector.d.ts +148 -0
  408. package/dist/themes/systemThemeDetector.esm.js +174 -0
  409. package/dist/themes/systemThemeDetector.js +174 -0
  410. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  411. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  412. package/dist/themes/themeCSSUpdater.js +250 -0
  413. package/dist/themes/themePersistence.d.ts +192 -0
  414. package/dist/themes/themePersistence.esm.js +217 -0
  415. package/dist/themes/themePersistence.js +217 -0
  416. package/dist/themes/themes/stan-design.d.ts +678 -0
  417. package/dist/themes/themes/stan-design.esm.js +518 -0
  418. package/dist/themes/themes/stan-design.js +518 -0
  419. package/dist/themes/types.d.ts +454 -0
  420. package/dist/themes/types.esm.js +446 -0
  421. package/dist/themes/types.js +446 -0
  422. package/dist/themes/useSystemTheme.d.ts +43 -0
  423. package/dist/themes/useSystemTheme.esm.js +48 -0
  424. package/dist/themes/useSystemTheme.js +48 -0
  425. package/dist/themes/useTheme.d.ts +20 -0
  426. package/dist/themes/useTheme.esm.js +87 -0
  427. package/dist/themes/useTheme.js +87 -0
  428. package/dist/themes/validation.d.ts +406 -0
  429. package/dist/themes/validation.esm.js +411 -0
  430. package/dist/themes/validation.js +411 -0
  431. package/dist/tokens/index.d.ts +25 -0
  432. package/dist/tokens/index.esm.js +23 -0
  433. package/dist/tokens/index.js +23 -0
  434. package/dist/tokens/tokenExporter.d.ts +336 -0
  435. package/dist/tokens/tokenExporter.esm.js +371 -0
  436. package/dist/tokens/tokenExporter.js +371 -0
  437. package/dist/tokens/tokenGenerator.d.ts +250 -0
  438. package/dist/tokens/tokenGenerator.esm.js +267 -0
  439. package/dist/tokens/tokenGenerator.js +267 -0
  440. package/dist/tokens/tokenManager.d.ts +194 -0
  441. package/dist/tokens/tokenManager.esm.js +235 -0
  442. package/dist/tokens/tokenManager.js +235 -0
  443. package/dist/tokens/tokenValidator.d.ts +488 -0
  444. package/dist/tokens/tokenValidator.esm.js +497 -0
  445. package/dist/tokens/tokenValidator.js +497 -0
  446. package/dist/tokens/types.d.ts +78 -0
  447. package/dist/tokens/types.esm.js +64 -0
  448. package/dist/tokens/types.js +64 -0
  449. package/dist/utils/bundle-analyzer.d.ts +260 -0
  450. package/dist/utils/bundle-analyzer.esm.js +242 -0
  451. package/dist/utils/bundle-analyzer.js +242 -0
  452. package/dist/utils/bundle-splitting.d.ts +483 -0
  453. package/dist/utils/bundle-splitting.esm.js +458 -0
  454. package/dist/utils/bundle-splitting.js +458 -0
  455. package/dist/utils/lazy-loading.d.ts +437 -0
  456. package/dist/utils/lazy-loading.esm.js +415 -0
  457. package/dist/utils/lazy-loading.js +415 -0
  458. package/dist/utils/performance-monitor.d.ts +513 -0
  459. package/dist/utils/performance-monitor.esm.js +472 -0
  460. package/dist/utils/performance-monitor.js +472 -0
  461. package/dist/utils/tree-shaking.d.ts +274 -0
  462. package/dist/utils/tree-shaking.esm.js +266 -0
  463. package/dist/utils/tree-shaking.js +266 -0
  464. package/package.json +1 -1
  465. package/src/index.ts +2 -2
  466. package/src/themes/accessibility/index.ts +1 -1
  467. package/src/themes/focus-management.ts +3 -3
  468. package/src/themes/keyboard-navigation.ts +3 -3
@@ -0,0 +1,540 @@
1
+ export const HardwareAccelerationDemo: React.FC = () => {
2
+ const [showGPUInfo, setShowGPUInfo] = useState(true)
3
+ const [showPerformanceMetrics, setShowPerformanceMetrics] = useState(true)
4
+ const [showBatteryInfo, setShowBatteryInfo] = useState(true)
5
+ const [enableHardwareAcceleration, setEnableHardwareAcceleration] = useState(true)
6
+ const [enableBatteryOptimization, setEnableBatteryOptimization] = useState(true)
7
+ const [error, setError] = useState<string | null>(null)
8
+
9
+ // Hooks with error handling
10
+ const hardwareAcceleration = useHardwareAcceleration({
11
+ enableGPUMonitoring: true,
12
+ enablePerformanceTracking: true,
13
+ enableBatteryOptimization: true,
14
+ enableAutomaticOptimization: true
15
+ }, {
16
+ onGPUDetected: (gpuInfo) => console.log('GPU detected:', gpuInfo),
17
+ onPerformanceWarning: (warning, metrics) => console.log('Performance warning:', warning, metrics),
18
+ onBatteryWarning: (level, isLow) => console.log('Battery warning:', level, isLow),
19
+ onOptimizationApplied: (optimization) => console.log('Optimization applied:', optimization)
20
+ })
21
+
22
+ const batteryOptimization = useBatteryOptimization({
23
+ enableBatteryMonitoring: true,
24
+ enablePerformanceThrottling: true,
25
+ enableUserPreferences: true,
26
+ enableAdaptiveOptimization: true
27
+ }, {
28
+ onBatteryStatusChange: (status) => console.log('Battery status changed:', status),
29
+ onLowBatteryWarning: (status) => console.log('Low battery warning:', status),
30
+ onCriticalBatteryWarning: (status) => console.log('Critical battery warning:', status),
31
+ onPerformanceThrottled: (level, reason) => console.log('Performance throttled:', level, reason),
32
+ onOptimizationApplied: (optimization) => console.log('Battery optimization applied:', optimization)
33
+ })
34
+
35
+ // Error boundary effect
36
+ useEffect(() => {
37
+ const handleError = (error: ErrorEvent) => {
38
+ console.error('Hardware acceleration demo error:', error)
39
+ setError(error.message)
40
+ }
41
+
42
+ window.addEventListener('error', handleError)
43
+ return () => window.removeEventListener('error', handleError)
44
+ }, [])
45
+
46
+ // Demo animations with hardware acceleration
47
+ const [animationState, setAnimationState] = useState<'idle' | 'running' | 'paused'>('idle')
48
+ const [animationType, setAnimationType] = useState<'basic' | 'gpu' | 'transform3d' | 'performance'>('basic')
49
+
50
+ const startAnimation = useCallback(() => {
51
+ setAnimationState('running')
52
+ setTimeout(() => setAnimationState('idle'), 3000)
53
+ }, [])
54
+
55
+ const pauseAnimation = useCallback(() => {
56
+ setAnimationState('paused')
57
+ }, [])
58
+
59
+ const resumeAnimation = useCallback(() => {
60
+ setAnimationState('running')
61
+ }, [])
62
+
63
+ // Get animation classes based on type
64
+ const getAnimationClasses = useCallback((type: string) => {
65
+ const baseClasses = 'w-32 h-32 rounded-lg transition-all duration-1000 ease-in-out'
66
+
67
+ switch (type) {
68
+ case 'basic':
69
+ return `${baseClasses} bg-cs-primary hover:bg-cs-secondary`
70
+ case 'gpu':
71
+ return `${baseClasses} bg-cs-secondary gpu-optimized hover:bg-cs-accent`
72
+ case 'transform3d':
73
+ return `${baseClasses} bg-cs-accent transform3d-optimized hover:bg-cs-primary`
74
+ case 'performance':
75
+ return `${baseClasses} bg-cs-primary performance-accelerated hover:bg-cs-secondary`
76
+ default:
77
+ return baseClasses
78
+ }
79
+ }, [])
80
+
81
+ // Get animation styles based on state
82
+ const getAnimationStyles = useCallback((state: string) => {
83
+ switch (state) {
84
+ case 'running':
85
+ return {
86
+ transform: 'translate3d(100px, 0, 0) rotate(360deg) scale(1.2)',
87
+ opacity: 0.8
88
+ }
89
+ case 'paused':
90
+ return {
91
+ transform: 'translate3d(50px, 0, 0) rotate(180deg) scale(1.1)',
92
+ opacity: 0.9
93
+ }
94
+ default:
95
+ return {
96
+ transform: 'translate3d(0, 0, 0) rotate(0deg) scale(1)',
97
+ opacity: 1
98
+ }
99
+ }
100
+ }, [])
101
+
102
+ // Show error if any
103
+ if (error) {
104
+ return (
105
+ <div className="p-6 bg-red-50 border border-red-200 rounded-lg">
106
+ <h2 className="text-lg font-semibold text-red-800 mb-2">Error Loading Hardware Acceleration Demo</h2>
107
+ <p className="text-red-600 mb-4">{error}</p>
108
+ <Button onClick={() => setError(null)} variant="outline">
109
+ Try Again
110
+ </Button>
111
+ </div>
112
+ )
113
+ }
114
+
115
+ return (
116
+ <div className="space-y-6">
117
+ <div className="text-center">
118
+ <h1 className="text-3xl font-bold text-cs-text-primary mb-2">
119
+ 🚀 Hardware Acceleration & GPU Optimization
120
+ </h1>
121
+ <p className="text-lg text-cs-text-secondary mb-4">
122
+ Story 8 Implementation - Advanced hardware acceleration with GPU optimization and battery awareness
123
+ </p>
124
+ <div className="flex items-center justify-center gap-2">
125
+ <Badge variant="default">Story 8</Badge>
126
+ <Badge variant="outline">Hardware Acceleration</Badge>
127
+ <Badge variant="secondary">GPU Optimization</Badge>
128
+ <Badge variant="outline">Battery Optimization</Badge>
129
+ </div>
130
+ </div>
131
+
132
+ {/* GPU Information */}
133
+ {showGPUInfo && hardwareAcceleration.gpuInfo && (
134
+ <Card className="border-2 border-cs-primary">
135
+ <CardHeader>
136
+ <CardTitle className="text-xl flex items-center gap-2">
137
+ 🎮 GPU Information
138
+ <Badge variant={hardwareAcceleration.isGPUSupported ? 'default' : 'secondary'}>
139
+ {hardwareAcceleration.isGPUSupported ? 'Supported' : 'Not Supported'}
140
+ </Badge>
141
+ </CardTitle>
142
+ <CardDescription>
143
+ Real-time GPU capability detection and WebGL support information
144
+ </CardDescription>
145
+ </CardHeader>
146
+ <CardContent>
147
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
148
+ <div className="space-y-2">
149
+ <div className="flex justify-between">
150
+ <span className="text-sm font-medium">Vendor:</span>
151
+ <span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.vendor}</span>
152
+ </div>
153
+ <div className="flex justify-between">
154
+ <span className="text-sm font-medium">Renderer:</span>
155
+ <span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.renderer}</span>
156
+ </div>
157
+ <div className="flex justify-between">
158
+ <span className="text-sm font-medium">Version:</span>
159
+ <span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.version}</span>
160
+ </div>
161
+ </div>
162
+ <div className="space-y-2">
163
+ <div className="flex justify-between">
164
+ <span className="text-sm font-medium">WebGL Support:</span>
165
+ <Badge variant={hardwareAcceleration.gpuInfo.isWebGLSupported ? 'default' : 'secondary'}>
166
+ {hardwareAcceleration.gpuInfo.isWebGLSupported ? 'Yes' : 'No'}
167
+ </Badge>
168
+ </div>
169
+ <div className="flex justify-between">
170
+ <span className="text-sm font-medium">WebGL2 Support:</span>
171
+ <Badge variant={hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'default' : 'secondary'}>
172
+ {hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'Yes' : 'No'}
173
+ </Badge>
174
+ </div>
175
+ <div className="flex justify-between">
176
+ <span className="text-sm font-medium">Max Texture Size:</span>
177
+ <span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.maxTextureSize}</span>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </CardContent>
182
+ </Card>
183
+ )}
184
+
185
+ {/* Performance Metrics */}
186
+ {showPerformanceMetrics && (
187
+ <Card className="border-2 border-cs-secondary">
188
+ <CardHeader>
189
+ <CardTitle className="text-xl flex items-center gap-2">
190
+ 📊 Performance Metrics
191
+ <Badge variant="outline">Real-time</Badge>
192
+ </CardTitle>
193
+ <CardDescription>
194
+ Hardware acceleration performance monitoring and optimization status
195
+ </CardDescription>
196
+ </CardHeader>
197
+ <CardContent>
198
+ <div className="grid grid-cols-2 lg:grid-cols-4 gap-4 text-center">
199
+ <div>
200
+ <p className="text-2xl font-bold text-cs-primary">
201
+ {hardwareAcceleration.metrics.fps}
202
+ </p>
203
+ <p className="text-sm text-cs-text-secondary">FPS</p>
204
+ </div>
205
+ <div>
206
+ <p className="text-2xl font-bold text-cs-secondary">
207
+ {hardwareAcceleration.metrics.frameTime.toFixed(1)}ms
208
+ </p>
209
+ <p className="text-sm text-cs-text-secondary">Frame Time</p>
210
+ </div>
211
+ <div>
212
+ <p className="text-2xl font-bold text-cs-accent">
213
+ {hardwareAcceleration.metrics.gpuUtilization.toFixed(1)}%
214
+ </p>
215
+ <p className="text-sm text-cs-text-secondary">GPU Usage</p>
216
+ </div>
217
+ <div>
218
+ <p className="text-2xl font-bold text-cs-primary">
219
+ {hardwareAcceleration.metrics.performanceScore}
220
+ </p>
221
+ <p className="text-sm text-cs-text-secondary">Performance Score</p>
222
+ </div>
223
+ </div>
224
+
225
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
226
+ <div className="flex items-center justify-between mb-2">
227
+ <span className="font-medium text-sm">Performance Level:</span>
228
+ <Badge variant={
229
+ hardwareAcceleration.performanceLevel === 'excellent' ? 'default' :
230
+ hardwareAcceleration.performanceLevel === 'good' ? 'default' :
231
+ hardwareAcceleration.performanceLevel === 'fair' ? 'secondary' : 'secondary'
232
+ }>
233
+ {hardwareAcceleration.performanceLevel.toUpperCase()}
234
+ </Badge>
235
+ </div>
236
+ <div className="flex items-center justify-between">
237
+ <span className="font-medium text-sm">Hardware Acceleration:</span>
238
+ <Badge variant={hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary'}>
239
+ {hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled'}
240
+ </Badge>
241
+ </div>
242
+ </div>
243
+ </CardContent>
244
+ </Card>
245
+ )}
246
+
247
+ {/* Battery Information */}
248
+ {showBatteryInfo && (
249
+ <Card className="border-2 border-cs-accent">
250
+ <CardHeader>
251
+ <CardTitle className="text-xl flex items-center gap-2">
252
+ 🔋 Battery Optimization
253
+ <Badge variant={batteryOptimization.isLowBattery ? 'secondary' : 'default'}>
254
+ {batteryOptimization.batteryPercentage}%
255
+ </Badge>
256
+ </CardTitle>
257
+ <CardDescription>
258
+ Battery-aware performance optimization and user preference management
259
+ </CardDescription>
260
+ </CardHeader>
261
+ <CardContent>
262
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
263
+ <div className="space-y-3">
264
+ <h4 className="font-medium">Battery Status</h4>
265
+ <div className="space-y-2">
266
+ <div className="flex justify-between">
267
+ <span className="text-sm">Level:</span>
268
+ <span className="text-sm text-cs-text-secondary">{batteryOptimization.batteryPercentage}%</span>
269
+ </div>
270
+ <div className="flex justify-between">
271
+ <span className="text-sm">Status:</span>
272
+ <Badge variant={batteryOptimization.isCharging ? 'default' : 'secondary'}>
273
+ {batteryOptimization.isCharging ? 'Charging' : 'Discharging'}
274
+ </Badge>
275
+ </div>
276
+ <div className="flex justify-between">
277
+ <span className="text-sm">Health:</span>
278
+ <Badge variant="outline">{batteryOptimization.getBatteryHealth()}</Badge>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ <div className="space-y-3">
284
+ <h4 className="font-medium">Performance Settings</h4>
285
+ <div className="space-y-2">
286
+ <div className="flex justify-between">
287
+ <span className="text-sm">Throttle Level:</span>
288
+ <Badge variant="outline">{batteryOptimization.currentThrottleLevel}</Badge>
289
+ </div>
290
+ <div className="flex justify-between">
291
+ <span className="text-sm">User Preference:</span>
292
+ <Badge variant="outline">{batteryOptimization.userPreferences}</Badge>
293
+ </div>
294
+ <div className="flex justify-between">
295
+ <span className="text-sm">Optimization:</span>
296
+ <Badge variant={batteryOptimization.isOptimizing ? 'secondary' : 'default'}>
297
+ {batteryOptimization.isOptimizing ? 'Active' : 'Idle'}
298
+ </Badge>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ </div>
303
+
304
+ {/* User Preference Controls */}
305
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
306
+ <h4 className="font-medium text-sm mb-2">User Preference:</h4>
307
+ <div className="flex gap-2">
308
+ <Button
309
+ variant={batteryOptimization.userPreferences === 'performance' ? 'default' : 'outline'}
310
+ size="sm"
311
+ onClick={() => batteryOptimization.updateUserPreferences('performance')}
312
+ >
313
+ Performance
314
+ </Button>
315
+ <Button
316
+ variant={batteryOptimization.userPreferences === 'balanced' ? 'default' : 'outline'}
317
+ size="sm"
318
+ onClick={() => batteryOptimization.updateUserPreferences('balanced')}
319
+ >
320
+ Balanced
321
+ </Button>
322
+ <Button
323
+ variant={batteryOptimization.userPreferences === 'battery' ? 'default' : 'outline'}
324
+ size="sm"
325
+ onClick={() => batteryOptimization.updateUserPreferences('battery')}
326
+ >
327
+ Battery
328
+ </Button>
329
+ </div>
330
+ </div>
331
+ </CardContent>
332
+ </Card>
333
+ )}
334
+
335
+ {/* Hardware Acceleration Demo */}
336
+ <Card className="border border-cs-border">
337
+ <CardHeader>
338
+ <CardTitle className="text-lg">Hardware Acceleration Demo</CardTitle>
339
+ <CardDescription>
340
+ Test different types of hardware acceleration with real-time animations
341
+ </CardDescription>
342
+ </CardHeader>
343
+ <CardContent className="space-y-4">
344
+ {/* Animation Type Selection */}
345
+ <div className="flex flex-wrap gap-2">
346
+ <Button
347
+ variant={animationType === 'basic' ? 'default' : 'outline'}
348
+ size="sm"
349
+ onClick={() => setAnimationType('basic')}
350
+ >
351
+ Basic
352
+ </Button>
353
+ <Button
354
+ variant={animationType === 'gpu' ? 'default' : 'outline'}
355
+ size="sm"
356
+ onClick={() => setAnimationType('gpu')}
357
+ >
358
+ GPU Optimized
359
+ </Button>
360
+ <Button
361
+ variant={animationType === 'transform3d' ? 'default' : 'outline'}
362
+ size="sm"
363
+ onClick={() => setAnimationType('transform3d')}
364
+ >
365
+ Transform3D
366
+ </Button>
367
+ <Button
368
+ variant={animationType === 'performance' ? 'default' : 'outline'}
369
+ size="sm"
370
+ onClick={() => setAnimationType('performance')}
371
+ >
372
+ Performance
373
+ </Button>
374
+ </div>
375
+
376
+ {/* Animation Controls */}
377
+ <div className="flex gap-2">
378
+ <Button
379
+ variant="default"
380
+ onClick={startAnimation}
381
+ disabled={animationState === 'running'}
382
+ >
383
+ Start Animation
384
+ </Button>
385
+ <Button
386
+ variant="outline"
387
+ onClick={pauseAnimation}
388
+ disabled={animationState !== 'running'}
389
+ >
390
+ Pause
391
+ </Button>
392
+ <Button
393
+ variant="outline"
394
+ onClick={resumeAnimation}
395
+ disabled={animationState !== 'paused'}
396
+ >
397
+ Resume
398
+ </Button>
399
+ </div>
400
+
401
+ {/* Animation Display */}
402
+ <div className="flex justify-center">
403
+ <div
404
+ className={getAnimationClasses(animationType)}
405
+ style={getAnimationStyles(animationState)}
406
+ />
407
+ </div>
408
+
409
+ {/* Animation Info */}
410
+ <div className="text-center text-sm text-cs-text-secondary">
411
+ <p>Animation Type: <span className="font-medium">{animationType}</span></p>
412
+ <p>State: <span className="font-medium">{animationState}</span></p>
413
+ <p>Hardware Acceleration: <span className="font-medium">
414
+ {hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled'}
415
+ </span></p>
416
+ </div>
417
+ </CardContent>
418
+ </Card>
419
+
420
+ {/* Controls */}
421
+ <Card className="border border-cs-border">
422
+ <CardHeader>
423
+ <CardTitle className="text-lg">Demo Controls</CardTitle>
424
+ <CardDescription>
425
+ Configure and test different hardware acceleration features
426
+ </CardDescription>
427
+ </CardHeader>
428
+ <CardContent className="space-y-4">
429
+ <div className="flex flex-wrap gap-4">
430
+ <Button
431
+ variant={showGPUInfo ? 'default' : 'outline'}
432
+ size="sm"
433
+ onClick={() => setShowGPUInfo(!showGPUInfo)}
434
+ >
435
+ {showGPUInfo ? 'Hide' : 'Show'} GPU Info
436
+ </Button>
437
+ <Button
438
+ variant={showPerformanceMetrics ? 'default' : 'outline'}
439
+ size="sm"
440
+ onClick={() => setShowPerformanceMetrics(!showPerformanceMetrics)}
441
+ >
442
+ {showPerformanceMetrics ? 'Hide' : 'Show'} Performance
443
+ </Button>
444
+ <Button
445
+ variant={showBatteryInfo ? 'default' : 'outline'}
446
+ size="sm"
447
+ onClick={() => setShowBatteryInfo(!showBatteryInfo)}
448
+ >
449
+ {showBatteryInfo ? 'Hide' : 'Show'} Battery Info
450
+ </Button>
451
+ </div>
452
+
453
+ <div className="flex flex-wrap gap-4">
454
+ <Button
455
+ variant={enableHardwareAcceleration ? 'default' : 'outline'}
456
+ size="sm"
457
+ onClick={() => setEnableHardwareAcceleration(!enableHardwareAcceleration)}
458
+ >
459
+ {enableHardwareAcceleration ? 'Disable' : 'Enable'} Hardware Acceleration
460
+ </Button>
461
+ <Button
462
+ variant={enableBatteryOptimization ? 'default' : 'outline'}
463
+ size="sm"
464
+ onClick={() => setEnableBatteryOptimization(!enableBatteryOptimization)}
465
+ >
466
+ {enableBatteryOptimization ? 'Disable' : 'Enable'} Battery Optimization
467
+ </Button>
468
+ </div>
469
+ </CardContent>
470
+ </Card>
471
+
472
+ {/* Optimization Status */}
473
+ <Card className="border border-cs-border">
474
+ <CardHeader>
475
+ <CardTitle className="text-lg">Optimization Status</CardTitle>
476
+ <CardDescription>
477
+ Current optimization status and recommendations
478
+ </CardDescription>
479
+ </CardHeader>
480
+ <CardContent>
481
+ <div className="space-y-3">
482
+ <div className="flex items-center justify-between">
483
+ <span className="text-sm">Hardware Acceleration:</span>
484
+ <Badge variant={hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary'}>
485
+ {hardwareAcceleration.isHardwareAccelerated ? 'Optimal' : 'Needs Optimization'}
486
+ </Badge>
487
+ </div>
488
+ <div className="flex items-center justify-between">
489
+ <span className="text-sm">Performance Level:</span>
490
+ <Badge variant={
491
+ hardwareAcceleration.performanceLevel === 'excellent' || hardwareAcceleration.performanceLevel === 'good'
492
+ ? 'default' : 'secondary'
493
+ }>
494
+ {hardwareAcceleration.performanceLevel.toUpperCase()}
495
+ </Badge>
496
+ </div>
497
+ <div className="flex items-center justify-between">
498
+ <span className="text-sm">Battery Optimization:</span>
499
+ <Badge variant={batteryOptimization.isLowBattery ? 'secondary' : 'default'}>
500
+ {batteryOptimization.isLowBattery ? 'Needs Optimization' : 'Optimized'}
501
+ </Badge>
502
+ </div>
503
+ <div className="flex items-center justify-between">
504
+ <span className="text-sm">GPU Utilization:</span>
505
+ <Badge variant={hardwareAcceleration.metrics.gpuUtilization < 80 ? 'default' : 'secondary'}>
506
+ {hardwareAcceleration.metrics.gpuUtilization < 80 ? 'Optimal' : 'High Usage'}
507
+ </Badge>
508
+ </div>
509
+ </div>
510
+
511
+ {/* Recent Optimizations */}
512
+ {hardwareAcceleration.optimizations.length > 0 && (
513
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
514
+ <h4 className="font-medium text-sm mb-2">Recent Optimizations:</h4>
515
+ <ul className="text-xs text-cs-text-secondary space-y-1">
516
+ {hardwareAcceleration.optimizations.slice(-3).map((optimization, index) => (
517
+ <li key={index}>• {optimization}</li>
518
+ ))}
519
+ </ul>
520
+ </div>
521
+ )}
522
+
523
+ {/* Battery Recommendations */}
524
+ {batteryOptimization.optimizationRecommendations.length > 0 && (
525
+ <div className="mt-4 p-3 bg-cs-secondary/10 rounded-lg">
526
+ <h4 className="font-medium text-sm mb-2">Battery Recommendations:</h4>
527
+ <ul className="text-xs text-cs-text-secondary space-y-1">
528
+ {batteryOptimization.optimizationRecommendations.slice(0, 3).map((recommendation, index) => (
529
+ <li key={index}>• {recommendation}</li>
530
+ ))}
531
+ </ul>
532
+ </div>
533
+ )}
534
+ </CardContent>
535
+ </Card>
536
+ </div>
537
+ )
538
+ }
539
+
540
+ export default HardwareAccelerationDemo