@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,28 @@
1
+ const badgeVariants = cva(
2
+ "badge",
3
+ {
4
+ variants: {
5
+ variant: {
6
+ default: "badge--default",
7
+ secondary: "badge--secondary",
8
+ destructive: "badge--destructive",
9
+ outline: "badge--outline",
10
+ },
11
+ },
12
+ defaultVariants: {
13
+ variant: "default",
14
+ },
15
+ }
16
+ )
17
+
18
+ export interface BadgeProps
19
+ extends React.HTMLAttributes<HTMLDivElement>,
20
+ VariantProps<typeof badgeVariants> {}
21
+
22
+ function Badge({ className, variant, ...props }: BadgeProps) {
23
+ return (
24
+ <div className={cn(badgeVariants({ variant }), className)} {...props} />
25
+ )
26
+ }
27
+
28
+ export { Badge, badgeVariants }
@@ -0,0 +1,30 @@
1
+ import * as React from "react"
2
+ import { cva, type VariantProps } from "class-variance-authority"
3
+
4
+ import { cn } from "../../lib/utils"
5
+
6
+ const badgeVariants = cva(
7
+ "badge",
8
+ {
9
+ variants,
10
+ secondary,
11
+ destructive,
12
+ outline,
13
+ },
14
+ },
15
+ defaultVariants,
16
+ },
17
+ }
18
+ )
19
+
20
+ export interface BadgeProps
21
+ extends React.HTMLAttributes<HTMLDivElement>,
22
+ VariantProps<typeof badgeVariants> {}
23
+
24
+ function Badge({ className, variant, ...props }) {
25
+ return (
26
+ <div className={cn(badgeVariants({ variant }), className)} {...props} />
27
+ )
28
+ }
29
+
30
+ export { Badge, badgeVariants }
@@ -0,0 +1,30 @@
1
+ import * as React from "react"
2
+ import { cva, type VariantProps } from "class-variance-authority"
3
+
4
+ import { cn } from "../../lib/utils"
5
+
6
+ const badgeVariants = cva(
7
+ "badge",
8
+ {
9
+ variants,
10
+ secondary,
11
+ destructive,
12
+ outline,
13
+ },
14
+ },
15
+ defaultVariants,
16
+ },
17
+ }
18
+ )
19
+
20
+ export interface BadgeProps
21
+ extends React.HTMLAttributes<HTMLDivElement>,
22
+ VariantProps<typeof badgeVariants> {}
23
+
24
+ function Badge({ className, variant, ...props }) {
25
+ return (
26
+ <div className={cn(badgeVariants({ variant }), className)} {...props} />
27
+ )
28
+ }
29
+
30
+ export { Badge, badgeVariants }
@@ -0,0 +1,561 @@
1
+ export const BatteryConsciousAnimationDemo: React.FC = () => {
2
+ const [showBatteryInfo, setShowBatteryInfo] = useState(true)
3
+ const [showPerformanceInfo, setShowPerformanceInfo] = useState(true)
4
+ const [showAnimationDemo, setShowAnimationDemo] = useState(true)
5
+ const [showControls] = useState(true)
6
+
7
+ // Animation states
8
+ const [animationState, setAnimationState] = useState<'idle' | 'running' | 'paused'>('idle')
9
+ const [animationType, setAnimationType] = useState<'battery' | 'performance' | 'reduced-motion' | 'user-preference'>('battery')
10
+ const [animationComplexity, setAnimationComplexity] = useState<'low' | 'medium' | 'high'>('medium')
11
+
12
+ // Hooks
13
+ const batteryAnimations = useBatteryAnimations({
14
+ enableBatteryMonitoring: true,
15
+ enablePerformanceThrottling: true,
16
+ enableReducedMotion: true,
17
+ enableUserPreferences: true,
18
+ enableAutomaticOptimization: true
19
+ }, {
20
+ onBatteryLevelChange: (level, isLow) => console.log('Battery level changed:', level, isLow),
21
+ onPerformanceWarning: (score, shouldThrottle) => console.log('Performance warning:', score, shouldThrottle),
22
+ onAnimationThrottled: (level, reason) => console.log('Animation throttled:', level, reason),
23
+ onUserPreferenceChange: (preference) => console.log('User preference changed:', preference),
24
+ onReducedMotionChange: (enabled) => console.log('Reduced motion changed:', enabled)
25
+ })
26
+
27
+ const performanceThrottling = usePerformanceThrottling({
28
+ enablePerformanceMonitoring: true,
29
+ enableAutomaticThrottling: true,
30
+ enableUserExperienceOptimization: true,
31
+ enableBatteryPreservation: true
32
+ }, {
33
+ onPerformanceWarning: (metrics) => console.log('Performance warning:', metrics),
34
+ onThrottlingApplied: (level, reason) => console.log('Throttling applied:', level, reason),
35
+ onPerformanceRecovery: (metrics) => console.log('Performance recovery:', metrics),
36
+ onUserExperienceOptimized: (optimization) => console.log('User experience optimized:', optimization)
37
+ })
38
+
39
+ // Animation controls
40
+ const startAnimation = useCallback(() => {
41
+ setAnimationState('running')
42
+ setTimeout(() => setAnimationState('idle'), 3000)
43
+ }, [])
44
+
45
+ const pauseAnimation = useCallback(() => {
46
+ setAnimationState('paused')
47
+ }, [])
48
+
49
+ const resumeAnimation = useCallback(() => {
50
+ setAnimationState('running')
51
+ }, [])
52
+
53
+ // Get animation classes based on current state
54
+ const getAnimationClasses = useCallback(() => {
55
+ const baseClasses = 'w-32 h-32 rounded-lg transition-all duration-1000 ease-in-out'
56
+
57
+ // Base battery-conscious animation
58
+ let classes = `${baseClasses} battery-conscious-animation`
59
+
60
+ // Add battery-specific classes
61
+ if (batteryAnimations.state.isCriticalBattery) {
62
+ classes += ' battery-critical-animation'
63
+ } else if (batteryAnimations.state.isLowBattery) {
64
+ classes += ' battery-optimized-animation'
65
+ }
66
+
67
+ // Add performance throttling classes
68
+ if (performanceThrottling.throttleLevel === 'aggressive') {
69
+ classes += ' performance-throttled-aggressive'
70
+ } else if (performanceThrottling.throttleLevel === 'moderate') {
71
+ classes += ' performance-throttled-moderate'
72
+ } else if (performanceThrottling.throttleLevel === 'light') {
73
+ classes += ' performance-throttled-light'
74
+ }
75
+
76
+ // Add complexity classes
77
+ if (animationComplexity === 'low') {
78
+ classes += ' animation-complexity-low'
79
+ } else if (animationComplexity === 'high') {
80
+ classes += ' animation-complexity-high'
81
+ }
82
+
83
+ // Add user preference classes
84
+ classes += ` user-preference-${batteryAnimations.state.userPreference}`
85
+
86
+ // Add performance optimization classes
87
+ if (performanceThrottling.metrics.performanceScore < 50) {
88
+ classes += ' performance-poor'
89
+ } else if (performanceThrottling.metrics.performanceScore < 70) {
90
+ classes += ' performance-fair'
91
+ }
92
+
93
+ return classes
94
+ }, [batteryAnimations.state, performanceThrottling.throttleLevel, animationComplexity])
95
+
96
+ // Get animation styles based on state
97
+ const getAnimationStyles = useCallback(() => {
98
+ const settings = batteryAnimations.animationSettings
99
+
100
+ if (!settings.shouldAnimate || batteryAnimations.shouldDisableAnimations) {
101
+ return {
102
+ transform: 'translate3d(0, 0, 0) rotate(0deg) scale(1)',
103
+ opacity: 1
104
+ }
105
+ }
106
+
107
+ switch (animationState) {
108
+ case 'running':
109
+ return {
110
+ transform: `translate3d(100px, 0, 0) rotate(360deg) scale(1.2)`,
111
+ opacity: 0.8,
112
+ transitionDuration: `${settings.duration}ms`,
113
+ transitionTimingFunction: settings.easing
114
+ }
115
+ case 'paused':
116
+ return {
117
+ transform: `translate3d(50px, 0, 0) rotate(180deg) scale(1.1)`,
118
+ opacity: 0.9,
119
+ transitionDuration: `${settings.duration}ms`,
120
+ transitionTimingFunction: settings.easing
121
+ }
122
+ default:
123
+ return {
124
+ transform: 'translate3d(0, 0, 0) rotate(0deg) scale(1)',
125
+ opacity: 1,
126
+ transitionDuration: `${settings.duration}ms`,
127
+ transitionTimingFunction: settings.easing
128
+ }
129
+ }
130
+ }, [animationState, batteryAnimations.animationSettings, batteryAnimations.shouldDisableAnimations])
131
+
132
+ // Get background color based on battery level
133
+ const getBackgroundColor = useCallback(() => {
134
+ if (batteryAnimations.state.isCriticalBattery) return 'bg-red-500'
135
+ if (batteryAnimations.state.isLowBattery) return 'bg-yellow-500'
136
+ if (batteryAnimations.state.batteryLevel < 0.5) return 'bg-orange-500'
137
+ return 'bg-green-500'
138
+ }, [batteryAnimations.state])
139
+
140
+ return (
141
+ <div className="space-y-6">
142
+ <div className="text-center">
143
+ <h1 className="text-3xl font-bold text-cs-text-primary mb-2">
144
+ 🔋 Battery-Conscious Mobile Animations
145
+ </h1>
146
+ <p className="text-lg text-cs-text-secondary mb-4">
147
+ Story 9 Implementation - Smart animation system that respects battery life, performance, and user preferences
148
+ </p>
149
+ <div className="flex items-center justify-center gap-2">
150
+ <Badge variant="default">Story 9</Badge>
151
+ <Badge variant="outline">Battery Conscious</Badge>
152
+ <Badge variant="secondary">Performance Optimized</Badge>
153
+ <Badge variant="outline">Accessibility First</Badge>
154
+ </div>
155
+ </div>
156
+
157
+ {/* Battery Information */}
158
+ {showBatteryInfo && (
159
+ <Card className="border-2 border-cs-primary">
160
+ <CardHeader>
161
+ <CardTitle className="text-xl flex items-center gap-2">
162
+ 🔋 Battery Status
163
+ <Badge variant={batteryAnimations.state.isLowBattery ? 'secondary' : 'default'}>
164
+ {batteryAnimations.batteryPercentage}%
165
+ </Badge>
166
+ </CardTitle>
167
+ <CardDescription>
168
+ Real-time battery monitoring and animation optimization
169
+ </CardDescription>
170
+ </CardHeader>
171
+ <CardContent>
172
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
173
+ <div className="space-y-3">
174
+ <h4 className="font-medium">Battery Information</h4>
175
+ <div className="space-y-2">
176
+ <div className="flex justify-between">
177
+ <span className="text-sm">Level:</span>
178
+ <span className="text-sm text-cs-text-secondary">{batteryAnimations.batteryPercentage}%</span>
179
+ </div>
180
+ <div className="flex justify-between">
181
+ <span className="text-sm">Status:</span>
182
+ <Badge variant={batteryAnimations.state.isCharging ? 'default' : 'secondary'}>
183
+ {batteryAnimations.state.isCharging ? 'Charging' : 'Discharging'}
184
+ </Badge>
185
+ </div>
186
+ <div className="flex justify-between">
187
+ <span className="text-sm">Health:</span>
188
+ <Badge variant="outline">{batteryAnimations.getBatteryHealth()}</Badge>
189
+ </div>
190
+ <div className="flex justify-between">
191
+ <span className="text-sm">Throttle Level:</span>
192
+ <Badge variant="outline">{batteryAnimations.state.throttleLevel}</Badge>
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+ <div className="space-y-3">
198
+ <h4 className="font-medium">Animation Settings</h4>
199
+ <div className="space-y-2">
200
+ <div className="flex justify-between">
201
+ <span className="text-sm">Duration:</span>
202
+ <span className="text-sm text-cs-text-secondary">{batteryAnimations.animationSettings.duration}ms</span>
203
+ </div>
204
+ <div className="flex justify-between">
205
+ <span className="text-sm">Easing:</span>
206
+ <span className="text-sm text-cs-text-secondary">{batteryAnimations.animationSettings.easing}</span>
207
+ </div>
208
+ <div className="flex justify-between">
209
+ <span className="text-sm">Complexity:</span>
210
+ <Badge variant="outline">{batteryAnimations.animationSettings.complexity}</Badge>
211
+ </div>
212
+ <div className="flex justify-between">
213
+ <span className="text-sm">Frame Rate:</span>
214
+ <span className="text-sm text-cs-text-secondary">{batteryAnimations.animationSettings.frameRate}fps</span>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
219
+
220
+ {/* User Preference Controls */}
221
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
222
+ <h4 className="font-medium text-sm mb-2">User Preference:</h4>
223
+ <div className="flex gap-2">
224
+ <Button
225
+ variant={batteryAnimations.state.userPreference === 'performance' ? 'default' : 'outline'}
226
+ size="sm"
227
+ onClick={() => batteryAnimations.updateUserPreference('performance')}
228
+ >
229
+ Performance
230
+ </Button>
231
+ <Button
232
+ variant={batteryAnimations.state.userPreference === 'balanced' ? 'default' : 'outline'}
233
+ size="sm"
234
+ onClick={() => batteryAnimations.updateUserPreference('balanced')}
235
+ >
236
+ Balanced
237
+ </Button>
238
+ <Button
239
+ variant={batteryAnimations.state.userPreference === 'battery' ? 'default' : 'outline'}
240
+ size="sm"
241
+ onClick={() => batteryAnimations.updateUserPreference('battery')}
242
+ >
243
+ Battery
244
+ </Button>
245
+ <Button
246
+ variant={batteryAnimations.state.userPreference === 'accessibility' ? 'default' : 'outline'}
247
+ size="sm"
248
+ onClick={() => batteryAnimations.updateUserPreference('accessibility')}
249
+ >
250
+ Accessibility
251
+ </Button>
252
+ </div>
253
+ </div>
254
+ </CardContent>
255
+ </Card>
256
+ )}
257
+
258
+ {/* Performance Information */}
259
+ {showPerformanceInfo && (
260
+ <Card className="border-2 border-cs-secondary">
261
+ <CardHeader>
262
+ <CardTitle className="text-xl flex items-center gap-2">
263
+ 📊 Performance Monitoring
264
+ <Badge variant={performanceThrottling.isThrottling ? 'secondary' : 'default'}>
265
+ {performanceThrottling.isThrottling ? 'Throttling' : 'Optimal'}
266
+ </Badge>
267
+ </CardTitle>
268
+ <CardDescription>
269
+ Real-time performance metrics and automatic throttling
270
+ </CardDescription>
271
+ </CardHeader>
272
+ <CardContent>
273
+ <div className="grid grid-cols-2 lg:grid-cols-4 gap-4 text-center">
274
+ <div>
275
+ <p className="text-2xl font-bold text-cs-primary">
276
+ {performanceThrottling.metrics.fps}
277
+ </p>
278
+ <p className="text-sm text-cs-text-secondary">FPS</p>
279
+ </div>
280
+ <div>
281
+ <p className="text-2xl font-bold text-cs-secondary">
282
+ {performanceThrottling.metrics.frameTime.toFixed(1)}ms
283
+ </p>
284
+ <p className="text-sm text-cs-text-secondary">Frame Time</p>
285
+ </div>
286
+ <div>
287
+ <p className="text-2xl font-bold text-cs-accent">
288
+ {performanceThrottling.metrics.performanceScore}
289
+ </p>
290
+ <p className="text-sm text-cs-text-secondary">Performance Score</p>
291
+ </div>
292
+ <div>
293
+ <p className="text-2xl font-bold text-cs-primary">
294
+ {performanceThrottling.throttleLevel}
295
+ </p>
296
+ <p className="text-sm text-cs-text-secondary">Throttle Level</p>
297
+ </div>
298
+ </div>
299
+
300
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
301
+ <div className="flex items-center justify-between mb-2">
302
+ <span className="font-medium text-sm">Performance Level:</span>
303
+ <Badge variant={
304
+ performanceThrottling.performanceLevel === 'excellent' || performanceThrottling.performanceLevel === 'good'
305
+ ? 'default' : 'secondary'
306
+ }>
307
+ {performanceThrottling.performanceLevel.toUpperCase()}
308
+ </Badge>
309
+ </div>
310
+ <div className="flex items-center justify-between">
311
+ <span className="font-medium text-sm">Throttling Status:</span>
312
+ <Badge variant={performanceThrottling.isThrottling ? 'secondary' : 'default'}>
313
+ {performanceThrottling.isThrottling ? 'Active' : 'Inactive'}
314
+ </Badge>
315
+ </div>
316
+ </div>
317
+ </CardContent>
318
+ </Card>
319
+ )}
320
+
321
+ {/* Animation Demo */}
322
+ {showAnimationDemo && (
323
+ <Card className="border border-cs-border">
324
+ <CardHeader>
325
+ <CardTitle className="text-lg">Battery-Conscious Animation Demo</CardTitle>
326
+ <CardDescription>
327
+ Test different animation types with real-time battery and performance optimization
328
+ </CardDescription>
329
+ </CardHeader>
330
+ <CardContent className="space-y-4">
331
+ {/* Animation Type Selection */}
332
+ <div className="flex flex-wrap gap-2">
333
+ <Button
334
+ variant={animationType === 'battery' ? 'default' : 'outline'}
335
+ size="sm"
336
+ onClick={() => setAnimationType('battery')}
337
+ >
338
+ Battery Optimized
339
+ </Button>
340
+ <Button
341
+ variant={animationType === 'performance' ? 'default' : 'outline'}
342
+ size="sm"
343
+ onClick={() => setAnimationType('performance')}
344
+ >
345
+ Performance Optimized
346
+ </Button>
347
+ <Button
348
+ variant={animationType === 'reduced-motion' ? 'default' : 'outline'}
349
+ size="sm"
350
+ onClick={() => setAnimationType('reduced-motion')}
351
+ >
352
+ Reduced Motion
353
+ </Button>
354
+ <Button
355
+ variant={animationType === 'user-preference' ? 'default' : 'outline'}
356
+ size="sm"
357
+ onClick={() => setAnimationType('user-preference')}
358
+ >
359
+ User Preference
360
+ </Button>
361
+ </div>
362
+
363
+ {/* Animation Complexity Selection */}
364
+ <div className="flex flex-wrap gap-2">
365
+ <Button
366
+ variant={animationComplexity === 'low' ? 'default' : 'outline'}
367
+ size="sm"
368
+ onClick={() => setAnimationComplexity('low')}
369
+ >
370
+ Low Complexity
371
+ </Button>
372
+ <Button
373
+ variant={animationComplexity === 'medium' ? 'default' : 'outline'}
374
+ size="sm"
375
+ onClick={() => setAnimationComplexity('medium')}
376
+ >
377
+ Medium Complexity
378
+ </Button>
379
+ <Button
380
+ variant={animationComplexity === 'high' ? 'default' : 'outline'}
381
+ size="sm"
382
+ onClick={() => setAnimationComplexity('high')}
383
+ >
384
+ High Complexity
385
+ </Button>
386
+ </div>
387
+
388
+ {/* Animation Controls */}
389
+ <div className="flex gap-2">
390
+ <Button
391
+ variant="default"
392
+ onClick={startAnimation}
393
+ disabled={animationState === 'running'}
394
+ >
395
+ Start Animation
396
+ </Button>
397
+ <Button
398
+ variant="outline"
399
+ onClick={pauseAnimation}
400
+ disabled={animationState !== 'running'}
401
+ >
402
+ Pause
403
+ </Button>
404
+ <Button
405
+ variant="outline"
406
+ onClick={resumeAnimation}
407
+ disabled={animationState !== 'paused'}
408
+ >
409
+ Resume
410
+ </Button>
411
+ </div>
412
+
413
+ {/* Animation Display */}
414
+ <div className="flex justify-center">
415
+ <div
416
+ className={`${getAnimationClasses()} ${getBackgroundColor()}`}
417
+ style={getAnimationStyles()}
418
+ />
419
+ </div>
420
+
421
+ {/* Animation Info */}
422
+ <div className="text-center text-sm text-cs-text-secondary">
423
+ <p>Animation Type: <span className="font-medium">{animationType}</span></p>
424
+ <p>Complexity: <span className="font-medium">{animationComplexity}</span></p>
425
+ <p>State: <span className="font-medium">{animationState}</span></p>
426
+ <p>Battery Optimized: <span className="font-medium">
427
+ {batteryAnimations.isAnimationOptimized() ? 'Yes' : 'No'}
428
+ </span></p>
429
+ <p>Animations Disabled: <span className="font-medium">
430
+ {batteryAnimations.shouldDisableAnimations ? 'Yes' : 'No'}
431
+ </span></p>
432
+ </div>
433
+ </CardContent>
434
+ </Card>
435
+ )}
436
+
437
+ {/* Controls */}
438
+ {showControls && (
439
+ <Card className="border border-cs-border">
440
+ <CardHeader>
441
+ <CardTitle className="text-lg">Demo Controls</CardTitle>
442
+ <CardDescription>
443
+ Configure and test different battery-conscious animation features
444
+ </CardDescription>
445
+ </CardHeader>
446
+ <CardContent className="space-y-4">
447
+ <div className="flex flex-wrap gap-4">
448
+ <Button
449
+ variant={showBatteryInfo ? 'default' : 'outline'}
450
+ size="sm"
451
+ onClick={() => setShowBatteryInfo(!showBatteryInfo)}
452
+ >
453
+ {showBatteryInfo ? 'Hide' : 'Show'} Battery Info
454
+ </Button>
455
+ <Button
456
+ variant={showPerformanceInfo ? 'default' : 'outline'}
457
+ size="sm"
458
+ onClick={() => setShowPerformanceInfo(!showPerformanceInfo)}
459
+ >
460
+ {showPerformanceInfo ? 'Hide' : 'Show'} Performance
461
+ </Button>
462
+ <Button
463
+ variant={showAnimationDemo ? 'default' : 'outline'}
464
+ size="sm"
465
+ onClick={() => setShowAnimationDemo(!showAnimationDemo)}
466
+ >
467
+ {showAnimationDemo ? 'Hide' : 'Show'} Animation Demo
468
+ </Button>
469
+ </div>
470
+ </CardContent>
471
+ </Card>
472
+ )}
473
+
474
+ {/* Optimization Status */}
475
+ <Card className="border border-cs-border">
476
+ <CardHeader>
477
+ <CardTitle className="text-lg">Optimization Status</CardTitle>
478
+ <CardDescription>
479
+ Current optimization status and recommendations
480
+ </CardDescription>
481
+ </CardHeader>
482
+ <CardContent>
483
+ <div className="space-y-3">
484
+ <div className="flex items-center justify-between">
485
+ <span className="text-sm">Battery Optimization:</span>
486
+ <Badge variant={batteryAnimations.isAnimationOptimized() ? 'default' : 'secondary'}>
487
+ {batteryAnimations.isAnimationOptimized() ? 'Active' : 'Inactive'}
488
+ </Badge>
489
+ </div>
490
+ <div className="flex items-center justify-between">
491
+ <span className="text-sm">Performance Throttling:</span>
492
+ <Badge variant={performanceThrottling.isThrottling ? 'secondary' : 'default'}>
493
+ {performanceThrottling.isThrottling ? 'Active' : 'Inactive'}
494
+ </Badge>
495
+ </div>
496
+ <div className="flex items-center justify-between">
497
+ <span className="text-sm">Reduced Motion:</span>
498
+ <Badge variant={batteryAnimations.state.reducedMotion ? 'secondary' : 'default'}>
499
+ {batteryAnimations.state.reducedMotion ? 'Enabled' : 'Disabled'}
500
+ </Badge>
501
+ </div>
502
+ <div className="flex items-center justify-between">
503
+ <span className="text-sm">User Preference:</span>
504
+ <Badge variant="outline">{batteryAnimations.state.userPreference}</Badge>
505
+ </div>
506
+ </div>
507
+
508
+ {/* Recent Optimizations */}
509
+ {batteryAnimations.optimizations.length > 0 && (
510
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
511
+ <h4 className="font-medium text-sm mb-2">Recent Optimizations:</h4>
512
+ <ul className="text-xs text-cs-text-secondary space-y-1">
513
+ {batteryAnimations.optimizations.slice(-3).map((optimization, index) => (
514
+ <li key={index}>• {optimization}</li>
515
+ ))}
516
+ </ul>
517
+ </div>
518
+ )}
519
+
520
+ {/* Performance Optimizations */}
521
+ {performanceThrottling.optimizations.length > 0 && (
522
+ <div className="mt-4 p-3 bg-cs-secondary/10 rounded-lg">
523
+ <h4 className="font-medium text-sm mb-2">Performance Optimizations:</h4>
524
+ <ul className="text-xs text-cs-text-secondary space-y-1">
525
+ {performanceThrottling.optimizations.slice(-3).map((optimization, index) => (
526
+ <li key={index}>• {optimization}</li>
527
+ ))}
528
+ </ul>
529
+ </div>
530
+ )}
531
+
532
+ {/* Battery Recommendations */}
533
+ {batteryAnimations.recommendations.length > 0 && (
534
+ <div className="mt-4 p-3 bg-cs-primary/10 rounded-lg">
535
+ <h4 className="font-medium text-sm mb-2">Battery Recommendations:</h4>
536
+ <ul className="text-xs text-cs-text-secondary space-y-1">
537
+ {batteryAnimations.recommendations.slice(0, 3).map((recommendation, index) => (
538
+ <li key={index}>• {recommendation}</li>
539
+ ))}
540
+ </ul>
541
+ </div>
542
+ )}
543
+
544
+ {/* Performance Recommendations */}
545
+ {performanceThrottling.recommendations.length > 0 && (
546
+ <div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
547
+ <h4 className="font-medium text-sm mb-2">Performance Recommendations:</h4>
548
+ <ul className="text-xs text-cs-text-secondary space-y-1">
549
+ {performanceThrottling.recommendations.slice(0, 3).map((recommendation, index) => (
550
+ <li key={index}>• {recommendation}</li>
551
+ ))}
552
+ </ul>
553
+ </div>
554
+ )}
555
+ </CardContent>
556
+ </Card>
557
+ </div>
558
+ )
559
+ }
560
+
561
+ export default BatteryConsciousAnimationDemo