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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/lib/utils.d.ts +3 -0
  345. package/dist/lib/utils.esm.js +6 -0
  346. package/dist/lib/utils.js +6 -0
  347. package/dist/plugins/theme-css-generator.d.ts +345 -0
  348. package/dist/plugins/theme-css-generator.esm.js +305 -0
  349. package/dist/plugins/theme-css-generator.js +305 -0
  350. package/dist/styles.css +1 -1
  351. package/dist/themes/ThemeContext.d.ts +27 -0
  352. package/dist/themes/ThemeContext.esm.js +31 -0
  353. package/dist/themes/ThemeContext.js +31 -0
  354. package/dist/themes/ThemeProvider.d.ts +222 -0
  355. package/dist/themes/ThemeProvider.esm.js +229 -0
  356. package/dist/themes/ThemeProvider.js +229 -0
  357. package/dist/themes/accessibility/index.d.ts +7 -0
  358. package/dist/themes/accessibility/index.esm.js +27 -0
  359. package/dist/themes/accessibility/index.js +27 -0
  360. package/dist/themes/accessibility.d.ts +259 -0
  361. package/dist/themes/accessibility.esm.js +220 -0
  362. package/dist/themes/accessibility.js +220 -0
  363. package/dist/themes/aria-patterns.d.ts +418 -0
  364. package/dist/themes/aria-patterns.esm.js +384 -0
  365. package/dist/themes/aria-patterns.js +384 -0
  366. package/dist/themes/base-themes.d.ts +34 -0
  367. package/dist/themes/base-themes.esm.js +52 -0
  368. package/dist/themes/base-themes.js +52 -0
  369. package/dist/themes/colorManager.d.ts +327 -0
  370. package/dist/themes/colorManager.esm.js +362 -0
  371. package/dist/themes/colorManager.js +362 -0
  372. package/dist/themes/examples/dark-theme.d.ts +139 -0
  373. package/dist/themes/examples/dark-theme.esm.js +124 -0
  374. package/dist/themes/examples/dark-theme.js +124 -0
  375. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  376. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  377. package/dist/themes/examples/minimal-theme.js +86 -0
  378. package/dist/themes/focus-management.d.ts +699 -0
  379. package/dist/themes/focus-management.esm.js +642 -0
  380. package/dist/themes/focus-management.js +642 -0
  381. package/dist/themes/fontLoader.d.ts +163 -0
  382. package/dist/themes/fontLoader.esm.js +192 -0
  383. package/dist/themes/fontLoader.js +192 -0
  384. package/dist/themes/high-contrast.d.ts +619 -0
  385. package/dist/themes/high-contrast.esm.js +573 -0
  386. package/dist/themes/high-contrast.js +573 -0
  387. package/dist/themes/index.d.ts +11 -0
  388. package/dist/themes/index.esm.js +19 -0
  389. package/dist/themes/index.js +19 -0
  390. package/dist/themes/inheritance.d.ts +160 -0
  391. package/dist/themes/inheritance.esm.js +219 -0
  392. package/dist/themes/inheritance.js +219 -0
  393. package/dist/themes/keyboard-navigation.d.ts +550 -0
  394. package/dist/themes/keyboard-navigation.esm.js +521 -0
  395. package/dist/themes/keyboard-navigation.js +521 -0
  396. package/dist/themes/motion-reduction.d.ts +660 -0
  397. package/dist/themes/motion-reduction.esm.js +602 -0
  398. package/dist/themes/motion-reduction.js +602 -0
  399. package/dist/themes/navigation.d.ts +232 -0
  400. package/dist/themes/navigation.esm.js +238 -0
  401. package/dist/themes/navigation.js +238 -0
  402. package/dist/themes/screen-reader.d.ts +645 -0
  403. package/dist/themes/screen-reader.esm.js +580 -0
  404. package/dist/themes/screen-reader.js +580 -0
  405. package/dist/themes/systemThemeDetector.d.ts +148 -0
  406. package/dist/themes/systemThemeDetector.esm.js +174 -0
  407. package/dist/themes/systemThemeDetector.js +174 -0
  408. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  409. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  410. package/dist/themes/themeCSSUpdater.js +250 -0
  411. package/dist/themes/themePersistence.d.ts +192 -0
  412. package/dist/themes/themePersistence.esm.js +217 -0
  413. package/dist/themes/themePersistence.js +217 -0
  414. package/dist/themes/themes/stan-design.d.ts +678 -0
  415. package/dist/themes/themes/stan-design.esm.js +518 -0
  416. package/dist/themes/themes/stan-design.js +518 -0
  417. package/dist/themes/types.d.ts +454 -0
  418. package/dist/themes/types.esm.js +446 -0
  419. package/dist/themes/types.js +446 -0
  420. package/dist/themes/useSystemTheme.d.ts +43 -0
  421. package/dist/themes/useSystemTheme.esm.js +48 -0
  422. package/dist/themes/useSystemTheme.js +48 -0
  423. package/dist/themes/useTheme.d.ts +20 -0
  424. package/dist/themes/useTheme.esm.js +87 -0
  425. package/dist/themes/useTheme.js +87 -0
  426. package/dist/themes/validation.d.ts +406 -0
  427. package/dist/themes/validation.esm.js +411 -0
  428. package/dist/themes/validation.js +411 -0
  429. package/dist/tokens/index.d.ts +25 -0
  430. package/dist/tokens/index.esm.js +23 -0
  431. package/dist/tokens/index.js +23 -0
  432. package/dist/tokens/tokenExporter.d.ts +336 -0
  433. package/dist/tokens/tokenExporter.esm.js +371 -0
  434. package/dist/tokens/tokenExporter.js +371 -0
  435. package/dist/tokens/tokenGenerator.d.ts +250 -0
  436. package/dist/tokens/tokenGenerator.esm.js +267 -0
  437. package/dist/tokens/tokenGenerator.js +267 -0
  438. package/dist/tokens/tokenManager.d.ts +194 -0
  439. package/dist/tokens/tokenManager.esm.js +235 -0
  440. package/dist/tokens/tokenManager.js +235 -0
  441. package/dist/tokens/tokenValidator.d.ts +488 -0
  442. package/dist/tokens/tokenValidator.esm.js +497 -0
  443. package/dist/tokens/tokenValidator.js +497 -0
  444. package/dist/tokens/types.d.ts +78 -0
  445. package/dist/tokens/types.esm.js +64 -0
  446. package/dist/tokens/types.js +64 -0
  447. package/dist/utils/bundle-analyzer.d.ts +260 -0
  448. package/dist/utils/bundle-analyzer.esm.js +242 -0
  449. package/dist/utils/bundle-analyzer.js +242 -0
  450. package/dist/utils/bundle-splitting.d.ts +483 -0
  451. package/dist/utils/bundle-splitting.esm.js +458 -0
  452. package/dist/utils/bundle-splitting.js +458 -0
  453. package/dist/utils/lazy-loading.d.ts +437 -0
  454. package/dist/utils/lazy-loading.esm.js +415 -0
  455. package/dist/utils/lazy-loading.js +415 -0
  456. package/dist/utils/performance-monitor.d.ts +513 -0
  457. package/dist/utils/performance-monitor.esm.js +472 -0
  458. package/dist/utils/performance-monitor.js +472 -0
  459. package/dist/utils/tree-shaking.d.ts +274 -0
  460. package/dist/utils/tree-shaking.esm.js +266 -0
  461. package/dist/utils/tree-shaking.js +266 -0
  462. package/package.json +1 -1
@@ -0,0 +1,583 @@
1
+ export const PerformanceDemo: React.FC = () => {
2
+ const [activeTab, setActiveTab] = useState<'overview' | 'fps' | 'memory' | 'battery' | 'throttling'>('overview')
3
+ const [showRecommendations, setShowRecommendations] = useState(false)
4
+
5
+ const device = useDevice()
6
+
7
+ // Main performance hook
8
+ const {
9
+ throttlingEnabled,
10
+ throttlingReason,
11
+ performanceMode,
12
+ getOptimizationRecommendations
13
+ } = usePerformance({
14
+ callbacks: {
15
+ onFPSWarning: (fps) => console.warn(`FPS Warning: ${fps}`),
16
+ onMemoryWarning: (usage) => console.warn(`Memory Warning: ${(usage * 100).toFixed(1)}%`),
17
+ onBatteryLow: (level) => console.warn(`Battery Low: ${(level * 100).toFixed(1)}%`),
18
+ onPerformanceModeChange: (mode) => console.log(`Performance mode changed to: ${mode}`),
19
+ onThrottlingChange: (enabled, reason) => console.log(`Throttling ${enabled ? 'enabled' : 'disabled'}: ${reason}`)
20
+ }
21
+ })
22
+
23
+ // Specialized hooks
24
+ const {
25
+ metrics: fpsMetrics,
26
+ performanceScore: fpsScore,
27
+ getPerformanceInsights: getFPSInsights
28
+ } = useFrameRate({
29
+ callbacks: {
30
+ onFPSWarning: (fps) => console.warn(`Frame rate warning: ${fps} FPS`),
31
+ onFPSDrop: (fps, previous) => console.warn(`FPS drop detected: ${previous} → ${fps}`)
32
+ }
33
+ })
34
+
35
+ const {
36
+ metrics: memoryMetrics,
37
+ memoryTrend,
38
+ memoryLeakDetected,
39
+ getOptimizationRecommendations: getMemoryRecommendations,
40
+ getCleanupSuggestions: getMemoryCleanupSuggestions
41
+ } = useMemoryUsage({
42
+ callbacks: {
43
+ onMemoryWarning: (usage) => console.warn(`Memory usage warning: ${(usage * 100).toFixed(1)}%`),
44
+ onMemoryLeakDetected: (trend) => console.warn(`Memory leak detected: ${trend} trend`)
45
+ }
46
+ })
47
+
48
+ const {
49
+ metrics: batteryMetrics,
50
+ batteryLevel,
51
+ isCharging,
52
+ isLowPowerMode,
53
+ isCriticalBattery,
54
+ getOptimizationRecommendations: getBatteryRecommendations,
55
+ getPowerSavingSuggestions: getBatteryPowerSuggestions,
56
+ getBatteryStatus: getBatteryStatusText
57
+ } = useBatteryStatus({
58
+ callbacks: {
59
+ onBatteryLow: (level) => console.warn(`Battery low: ${(level * 100).toFixed(1)}%`),
60
+ onBatteryCritical: (level) => console.error(`Battery critical: ${(level * 100).toFixed(1)}%`)
61
+ }
62
+ })
63
+
64
+ const {
65
+ metrics,
66
+ isThrottling,
67
+ throttleLevel,
68
+ optimizations,
69
+ recommendations,
70
+ performanceSettings,
71
+
72
+ } = usePerformanceThrottling({
73
+ enablePerformanceMonitoring: true,
74
+ enableAutomaticThrottling: true,
75
+ enableUserExperienceOptimization: true,
76
+ enableBatteryPreservation: true
77
+ }, {
78
+ onPerformanceWarning: (metrics) => console.log('Performance warning:', metrics),
79
+ onThrottlingApplied: (level, reason) => console.log('Throttling applied:', level, reason),
80
+ onPerformanceRecovery: (metrics) => console.log('Performance recovery:', metrics),
81
+ onUserExperienceOptimized: (optimization) => console.log('User experience optimized:', optimization)
82
+ })
83
+
84
+ // Performance score color mapping
85
+ const getScoreColor = (score: string) => {
86
+ switch (score) {
87
+ case 'excellent': return 'text-green-600 bg-green-100'
88
+ case 'good': return 'text-blue-600 bg-blue-100'
89
+ case 'fair': return 'text-yellow-600 bg-yellow-100'
90
+ case 'poor': return 'text-red-600 bg-red-100'
91
+ default: return 'text-gray-600 bg-gray-100'
92
+ }
93
+ }
94
+
95
+ // Performance mode color mapping
96
+ const getModeColor = (mode: string) => {
97
+ switch (mode) {
98
+ case 'high': return 'text-green-600 bg-green-100'
99
+ case 'medium': return 'text-yellow-600 bg-yellow-100'
100
+ case 'low': return 'text-red-600 bg-red-100'
101
+ default: return 'text-gray-600 bg-gray-100'
102
+ }
103
+ }
104
+
105
+ // Throttling level color mapping
106
+ const getThrottlingColor = (level: string) => {
107
+ switch (level) {
108
+ case 'none': return 'text-green-600 bg-green-100'
109
+ case 'light': return 'text-blue-600 bg-blue-100'
110
+ case 'moderate': return 'text-yellow-600 bg-yellow-100'
111
+ case 'aggressive': return 'text-red-600 bg-red-100'
112
+ default: return 'text-gray-600 bg-gray-100'
113
+ }
114
+ }
115
+
116
+ // Memory trend icon
117
+ const getMemoryTrendIcon = (trend: string) => {
118
+ switch (trend) {
119
+ case 'increasing': return '📈'
120
+ case 'decreasing': return '📉'
121
+ case 'stable': return '➡️'
122
+ default: return '❓'
123
+ }
124
+ }
125
+
126
+ // Battery icon
127
+ const getBatteryIcon = (level: number, charging: boolean) => {
128
+ if (charging) return '🔌'
129
+ if (level <= 0.15) return '🔴'
130
+ if (level <= 0.3) return '🟠'
131
+ if (level <= 0.5) return '🟡'
132
+ return '🟢'
133
+ }
134
+
135
+ const tabs = [
136
+ { id: 'overview', label: 'Overview', icon: '📊' },
137
+ { id: 'fps', label: 'Frame Rate', icon: '🎬' },
138
+ { id: 'memory', label: 'Memory', icon: '🧠' },
139
+ { id: 'battery', label: 'Battery', icon: '🔋' },
140
+ { id: 'throttling', label: 'Throttling', icon: '⚡' }
141
+ ]
142
+
143
+ return (
144
+ <div className="space-y-6">
145
+ {/* Tab Navigation */}
146
+ <div className="flex flex-wrap gap-2 border-b pb-4">
147
+ {tabs.map((tab) => (
148
+ <Button
149
+ key={tab.id}
150
+ variant={activeTab === tab.id ? 'default' : 'outline'}
151
+ size="sm"
152
+ onClick={() => setActiveTab(tab.id as any)}
153
+ className="flex items-center gap-2"
154
+ >
155
+ <span>{tab.icon}</span>
156
+ {tab.label}
157
+ </Button>
158
+ ))}
159
+ </div>
160
+
161
+ {/* Overview Tab */}
162
+ {activeTab === 'overview' && (
163
+ <div className="space-y-6">
164
+ {/* Performance Summary */}
165
+ <Card>
166
+ <CardHeader>
167
+ <CardTitle className="flex items-center gap-2">
168
+ 🎯 Performance Summary
169
+ <Badge variant={performanceMode === 'high' ? 'default' : 'secondary'}>
170
+ {performanceMode.toUpperCase()} MODE
171
+ </Badge>
172
+ </CardTitle>
173
+ <CardDescription>
174
+ Real-time performance overview and system status
175
+ </CardDescription>
176
+ </CardHeader>
177
+ <CardContent className="space-y-4">
178
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
179
+ {/* FPS Status */}
180
+ <div className="text-center p-4 border rounded-lg">
181
+ <div className="text-2xl font-bold text-blue-600">{fpsMetrics.fps}</div>
182
+ <div className="text-sm text-gray-600">FPS</div>
183
+ <Badge className={`mt-2 ${getScoreColor(fpsScore)}`}>
184
+ {fpsScore}
185
+ </Badge>
186
+ </div>
187
+
188
+ {/* Memory Status */}
189
+ <div className="text-center p-4 border rounded-lg">
190
+ <div className="text-2xl font-bold text-purple-600">
191
+ {memoryMetrics.memoryPercentage ? memoryMetrics.memoryPercentage.toFixed(1) : 'N/A'}%
192
+ </div>
193
+ <div className="text-sm text-gray-600">Memory Usage</div>
194
+ <div className="flex items-center justify-center gap-1 mt-2">
195
+ <span>{getMemoryTrendIcon(memoryTrend)}</span>
196
+ <Badge variant={memoryLeakDetected ? 'destructive' : 'secondary'}>
197
+ {memoryLeakDetected ? 'Leak Detected' : memoryTrend}
198
+ </Badge>
199
+ </div>
200
+ </div>
201
+
202
+ {/* Battery Status */}
203
+ <div className="text-center p-4 border rounded-lg">
204
+ <div className="text-2xl font-bold text-green-600">
205
+ {getBatteryIcon(batteryLevel || 1, isCharging)}
206
+ </div>
207
+ <div className="text-sm text-gray-600">Battery</div>
208
+ <Badge variant={isCriticalBattery ? 'destructive' : isLowPowerMode ? 'secondary' : 'default'}>
209
+ {getBatteryStatusText()}
210
+ </Badge>
211
+ </div>
212
+ </div>
213
+
214
+ {/* Throttling Status */}
215
+ {throttlingEnabled && (
216
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
217
+ <div className="flex items-center gap-2">
218
+ <span className="text-yellow-600">⚠️</span>
219
+ <div>
220
+ <div className="font-medium text-yellow-800">Performance Throttling Active</div>
221
+ <div className="text-sm text-yellow-700">{throttlingReason}</div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ )}
226
+
227
+ {/* Recommendations Toggle */}
228
+ <Button
229
+ variant="outline"
230
+ onClick={() => setShowRecommendations(!showRecommendations)}
231
+ className="w-full"
232
+ >
233
+ {showRecommendations ? 'Hide' : 'Show'} Performance Recommendations
234
+ </Button>
235
+
236
+ {/* Performance Recommendations */}
237
+ {showRecommendations && (
238
+ <div className="space-y-3">
239
+ <h4 className="font-medium text-gray-900">Optimization Recommendations:</h4>
240
+ <ul className="space-y-2 text-sm text-gray-700">
241
+ {getOptimizationRecommendations().map((rec, index) => (
242
+ <li key={index} className="flex items-start gap-2">
243
+ <span className="text-blue-500">•</span>
244
+ {rec}
245
+ </li>
246
+ ))}
247
+ </ul>
248
+ </div>
249
+ )}
250
+ </CardContent>
251
+ </Card>
252
+
253
+ {/* Device Information */}
254
+ <Card>
255
+ <CardHeader>
256
+ <CardTitle className="flex items-center gap-2">
257
+ 📱 Device Information
258
+ </CardTitle>
259
+ </CardHeader>
260
+ <CardContent>
261
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4 text-sm">
262
+ <div>
263
+ <span className="font-medium">Device Type:</span> {device.screenSize}
264
+ </div>
265
+ <div>
266
+ <span className="font-medium">Screen Size:</span> {device.screenSize}
267
+ </div>
268
+ <div>
269
+ <span className="font-medium">Orientation:</span> {device.orientation}
270
+ </div>
271
+ <div>
272
+ <span className="font-medium">Touch Device:</span> {device.touchDevice ? 'Yes' : 'No'}
273
+ </div>
274
+ </div>
275
+ </CardContent>
276
+ </Card>
277
+ </div>
278
+ )}
279
+
280
+ {/* Frame Rate Tab */}
281
+ {activeTab === 'fps' && (
282
+ <Card>
283
+ <CardHeader>
284
+ <CardTitle className="flex items-center gap-2">
285
+ 🎬 Frame Rate Monitoring
286
+ <Badge className={getScoreColor(fpsScore)}>
287
+ {fpsScore.toUpperCase()}
288
+ </Badge>
289
+ </CardTitle>
290
+ <CardDescription>
291
+ Real-time FPS tracking and performance analysis
292
+ </CardDescription>
293
+ </CardHeader>
294
+ <CardContent className="space-y-4">
295
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-4">
296
+ <div className="text-center p-3 border rounded-lg">
297
+ <div className="text-xl font-bold text-blue-600">{fpsMetrics.fps}</div>
298
+ <div className="text-xs text-gray-600">Current FPS</div>
299
+ </div>
300
+ <div className="text-center p-3 border rounded-lg">
301
+ <div className="text-xl font-bold text-green-600">{fpsMetrics.averageFPS}</div>
302
+ <div className="text-xs text-gray-600">Average FPS</div>
303
+ </div>
304
+ <div className="text-center p-3 border rounded-lg">
305
+ <div className="text-xl font-bold text-purple-600">{fpsMetrics.minFPS}</div>
306
+ <div className="text-xs text-gray-600">Min FPS</div>
307
+ </div>
308
+ <div className="text-center p-3 border rounded-lg">
309
+ <div className="text-xl font-bold text-orange-600">{fpsMetrics.maxFPS}</div>
310
+ <div className="text-xs text-gray-600">Max FPS</div>
311
+ </div>
312
+ </div>
313
+
314
+ <div className="p-4 bg-blue-50 border border-blue-200 rounded-lg">
315
+ <h4 className="font-medium text-blue-800 mb-2">Performance Insights:</h4>
316
+ <ul className="space-y-1 text-sm text-blue-700">
317
+ {getFPSInsights().map((insight, index) => (
318
+ <li key={index} className="flex items-start gap-2">
319
+ <span className="text-blue-500">•</span>
320
+ {insight}
321
+ </li>
322
+ ))}
323
+ </ul>
324
+ </div>
325
+ </CardContent>
326
+ </Card>
327
+ )}
328
+
329
+ {/* Memory Tab */}
330
+ {activeTab === 'memory' && (
331
+ <Card>
332
+ <CardHeader>
333
+ <CardTitle className="flex items-center gap-2">
334
+ 🧠 Memory Usage Monitoring
335
+ <Badge variant={memoryLeakDetected ? 'destructive' : 'secondary'}>
336
+ {memoryLeakDetected ? 'LEAK DETECTED' : memoryTrend.toUpperCase()}
337
+ </Badge>
338
+ </CardTitle>
339
+ <CardDescription>
340
+ Memory usage tracking and leak detection
341
+ </CardDescription>
342
+ </CardHeader>
343
+ <CardContent className="space-y-4">
344
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
345
+ <div className="text-center p-3 border rounded-lg">
346
+ <div className="text-xl font-bold text-purple-600">
347
+ {memoryMetrics.memoryPercentage ? memoryMetrics.memoryPercentage.toFixed(1) : 'N/A'}%
348
+ </div>
349
+ <div className="text-xs text-gray-600">Usage</div>
350
+ </div>
351
+ <div className="text-center p-3 border rounded-lg">
352
+ <div className="text-xl font-bold text-blue-600">
353
+ {memoryMetrics.usedJSHeapSize ? (memoryMetrics.usedJSHeapSize / 1024 / 1024).toFixed(1) : 'N/A'} MB
354
+ </div>
355
+ <div className="text-xs text-gray-600">Used</div>
356
+ </div>
357
+ <div className="text-center p-3 border rounded-lg">
358
+ <div className="text-xl font-bold text-green-600">
359
+ {memoryMetrics.jsHeapSizeLimit ? (memoryMetrics.jsHeapSizeLimit / 1024 / 1024).toFixed(1) : 'N/A'} MB
360
+ </div>
361
+ <div className="text-xs text-gray-600">Limit</div>
362
+ </div>
363
+ </div>
364
+
365
+ <div className="p-4 bg-purple-50 border border-purple-200 rounded-lg">
366
+ <h4 className="font-medium text-purple-800 mb-2">Memory Optimization:</h4>
367
+ <ul className="space-y-1 text-sm text-purple-700">
368
+ {getMemoryRecommendations().map((rec, index) => (
369
+ <li key={index} className="flex items-start gap-2">
370
+ <span className="text-purple-500">•</span>
371
+ {rec}
372
+ </li>
373
+ ))}
374
+ </ul>
375
+ </div>
376
+
377
+ {memoryLeakDetected && (
378
+ <div className="p-4 bg-red-50 border border-red-200 rounded-lg">
379
+ <h4 className="font-medium text-red-800 mb-2">Memory Leak Cleanup Suggestions:</h4>
380
+ <ul className="space-y-1 text-sm text-red-700">
381
+ {getMemoryCleanupSuggestions().map((suggestion, index) => (
382
+ <li key={index} className="flex items-start gap-2">
383
+ <span className="text-red-500">•</span>
384
+ {suggestion}
385
+ </li>
386
+ ))}
387
+ </ul>
388
+ </div>
389
+ )}
390
+ </CardContent>
391
+ </Card>
392
+ )}
393
+
394
+ {/* Battery Tab */}
395
+ {activeTab === 'battery' && (
396
+ <Card>
397
+ <CardHeader>
398
+ <CardTitle className="flex items-center gap-2">
399
+ 🔋 Battery Status Monitoring
400
+ <Badge variant={isCriticalBattery ? 'destructive' : isLowPowerMode ? 'secondary' : 'default'}>
401
+ {getBatteryStatusText()}
402
+ </Badge>
403
+ </CardTitle>
404
+ <CardDescription>
405
+ Battery level monitoring and power optimization
406
+ </CardDescription>
407
+ </CardHeader>
408
+ <CardContent className="space-y-4">
409
+ <div className="grid grid-cols-1 md:grid-cols-4 gap-4">
410
+ <div className="text-center p-3 border rounded-lg">
411
+ <div className="text-2xl">{getBatteryIcon(batteryLevel || 1, isCharging)}</div>
412
+ <div className="text-xl font-bold text-green-600">
413
+ {batteryLevel ? (batteryLevel * 100).toFixed(1) : 'N/A'}%
414
+ </div>
415
+ <div className="text-xs text-gray-600">Level</div>
416
+ </div>
417
+ <div className="text-center p-3 border rounded-lg">
418
+ <div className="text-xl font-bold text-blue-600">
419
+ {isCharging ? 'Yes' : 'No'}
420
+ </div>
421
+ <div className="text-xs text-gray-600">Charging</div>
422
+ </div>
423
+ <div className="text-center p-3 border rounded-lg">
424
+ <div className="text-xl font-bold text-purple-600">
425
+ {batteryMetrics.chargingTime || 'N/A'}
426
+ </div>
427
+ <div className="text-xs text-gray-600">Charging Time</div>
428
+ </div>
429
+ <div className="text-center p-3 border rounded-lg">
430
+ <div className="text-xl font-bold text-orange-600">
431
+ {batteryMetrics.dischargingTime || 'N/A'}
432
+ </div>
433
+ <div className="text-xs text-gray-600">Discharge Time</div>
434
+ </div>
435
+ </div>
436
+
437
+ <div className="p-4 bg-green-50 border border-green-200 rounded-lg">
438
+ <h4 className="font-medium text-green-800 mb-2">Battery Optimization:</h4>
439
+ <ul className="space-y-1 text-sm text-green-700">
440
+ {getBatteryRecommendations().map((rec, index) => (
441
+ <li key={index} className="flex items-start gap-2">
442
+ <span className="text-green-500">•</span>
443
+ {rec}
444
+ </li>
445
+ ))}
446
+ </ul>
447
+ </div>
448
+
449
+ {(isLowPowerMode || isCriticalBattery) && (
450
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
451
+ <h4 className="font-medium text-yellow-800 mb-2">Power Saving Suggestions:</h4>
452
+ <ul className="space-y-1 text-sm text-yellow-700">
453
+ {getBatteryPowerSuggestions().map((suggestion, index) => (
454
+ <li key={index} className="flex items-start gap-2">
455
+ <span className="text-yellow-500">•</span>
456
+ {suggestion}
457
+ </li>
458
+ ))}
459
+ </ul>
460
+ </div>
461
+ )}
462
+ </CardContent>
463
+ </Card>
464
+ )}
465
+
466
+ {/* Throttling Tab */}
467
+ {activeTab === 'throttling' && (
468
+ <Card>
469
+ <CardHeader>
470
+ <CardTitle className="flex items-center gap-2">
471
+ ⚡ Performance Throttling
472
+ <Badge className={getThrottlingColor(throttleLevel)}>
473
+ {throttleLevel.toUpperCase()}
474
+ </Badge>
475
+ </CardTitle>
476
+ <CardDescription>
477
+ Automatic and manual performance throttling controls
478
+ </CardDescription>
479
+ </CardHeader>
480
+ <CardContent className="space-y-4">
481
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
482
+ <div className="text-center p-3 border rounded-lg">
483
+ <div className="text-xl font-bold text-blue-600">
484
+ {isThrottling ? 'Active' : 'Inactive'}
485
+ </div>
486
+ <div className="text-xs text-gray-600">Throttling Status</div>
487
+ </div>
488
+ <div className="text-center p-3 border rounded-lg">
489
+ <Badge className={getModeColor(performanceSettings.animationQuality)}>
490
+ {performanceSettings.animationQuality.toUpperCase()}
491
+ </Badge>
492
+ <div className="text-xs text-gray-600 mt-1">Performance Mode</div>
493
+ </div>
494
+ <div className="text-center p-3 border rounded-lg">
495
+ <div className="text-xl font-bold text-green-600">
496
+ {performanceSettings.memoryOptimization ? 'Yes' : 'No'}
497
+ </div>
498
+ <div className="text-xs text-gray-600">Battery Optimized</div>
499
+ </div>
500
+ </div>
501
+
502
+ {/* Throttling Status */}
503
+ <div className="flex flex-wrap gap-2">
504
+ <div className="text-center p-3 border rounded-lg">
505
+ <div className="text-lg font-bold text-blue-600">
506
+ {throttleLevel}
507
+ </div>
508
+ <div className="text-xs text-gray-600">Current Level</div>
509
+ </div>
510
+ <div className="text-center p-3 border rounded-lg">
511
+ <div className="text-lg font-bold text-green-600">
512
+ {isThrottling ? 'Active' : 'Inactive'}
513
+ </div>
514
+ <div className="text-xs text-gray-600">Throttling Status</div>
515
+ </div>
516
+ </div>
517
+
518
+ {/* Performance Settings */}
519
+ <div className="space-y-2">
520
+ <h4 className="font-medium text-gray-900">Performance Settings:</h4>
521
+ <div className="grid grid-cols-2 gap-4 text-sm">
522
+ <div>
523
+ <span className="font-medium">Max Concurrent Animations:</span>
524
+ <div className="text-blue-600">{performanceSettings.maxConcurrentAnimations}</div>
525
+ </div>
526
+ <div>
527
+ <span className="font-medium">Frame Rate Limit:</span>
528
+ <div className="text-blue-600">{performanceSettings.frameRateLimit}fps</div>
529
+ </div>
530
+ <div>
531
+ <span className="font-medium">Animation Quality:</span>
532
+ <div className="text-blue-600">{performanceSettings.animationQuality}</div>
533
+ </div>
534
+ <div>
535
+ <span className="font-medium">Memory Optimization:</span>
536
+ <div className="text-blue-600">{performanceSettings.memoryOptimization ? 'Yes' : 'No'}</div>
537
+ </div>
538
+ </div>
539
+ </div>
540
+
541
+ {/* Throttling Information */}
542
+ {isThrottling && (
543
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
544
+ <h4 className="font-medium text-yellow-800 mb-2">Throttling Information:</h4>
545
+ <div className="text-sm text-yellow-700 space-y-1">
546
+ <div><strong>Level:</strong> {throttleLevel}</div>
547
+ <div><strong>Performance Score:</strong> {metrics.performanceScore}</div>
548
+ <div><strong>FPS:</strong> {metrics.fps}</div>
549
+ </div>
550
+ </div>
551
+ )}
552
+
553
+ {/* Recommendations */}
554
+ <div className="p-4 bg-blue-50 border border-blue-200 rounded-lg">
555
+ <h4 className="font-medium text-blue-800 mb-2">Throttling Recommendations:</h4>
556
+ <ul className="space-y-1 text-sm text-blue-700">
557
+ {recommendations.map((rec, index) => (
558
+ <li key={index} className="flex items-start gap-2">
559
+ <span className="text-blue-500">•</span>
560
+ {rec}
561
+ </li>
562
+ ))}
563
+ </ul>
564
+ </div>
565
+
566
+ {/* Optimization Suggestions */}
567
+ <div className="p-4 bg-green-50 border border-green-200 rounded-lg">
568
+ <h4 className="font-medium text-green-800 mb-2">Optimization Suggestions:</h4>
569
+ <ul className="space-y-1 text-sm text-green-700">
570
+ {optimizations.map((suggestion, index) => (
571
+ <li key={index} className="flex items-start gap-2">
572
+ <span className="text-green-500">•</span>
573
+ {suggestion}
574
+ </li>
575
+ ))}
576
+ </ul>
577
+ </div>
578
+ </CardContent>
579
+ </Card>
580
+ )}
581
+ </div>
582
+ )
583
+ }