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

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