@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,549 @@
1
+ import React, { useState } from 'react'
2
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './card'
3
+ import { Button } from './button'
4
+ import { Badge } from './badge'
5
+ import {
6
+ usePerformance,
7
+ useFrameRate,
8
+ useMemoryUsage,
9
+ useBatteryStatus,
10
+ usePerformanceThrottling
11
+ } from '../../hooks'
12
+ import { useDevice } from '../../hooks/use-device'
13
+
14
+ export const PerformanceDemo= () => {
15
+ const [activeTab, setActiveTab] = useState<'overview' | 'fps' | 'memory' | 'battery' | 'throttling'>('overview')
16
+ const [showRecommendations, setShowRecommendations] = useState(false)
17
+
18
+ const device = useDevice()
19
+
20
+ // Main performance hook
21
+ const {
22
+ throttlingEnabled,
23
+ throttlingReason,
24
+ performanceMode,
25
+ getOptimizationRecommendations
26
+ } = usePerformance({
27
+ callbacks) => console.warn(`FPS Warning}`),
28
+ onMemoryWarning) => console.warn(`Memory Warning).toFixed(1)}%`),
29
+ onBatteryLow) => console.warn(`Battery Low).toFixed(1)}%`),
30
+ onPerformanceModeChange) => console.log(`Performance mode changed to}`),
31
+ onThrottlingChange, reason) => console.log(`Throttling ${enabled ? 'enabled' }}`)
32
+ }
33
+ })
34
+
35
+ // Specialized hooks
36
+ const {
37
+ metrics,
38
+ performanceScore,
39
+ getPerformanceInsights} = useFrameRate({
40
+ callbacks) => console.warn(`Frame rate warning} FPS`),
41
+ onFPSDrop, previous) => console.warn(`FPS drop detected} → ${fps}`)
42
+ }
43
+ })
44
+
45
+ const {
46
+ metrics,
47
+ memoryTrend,
48
+ memoryLeakDetected,
49
+ getOptimizationRecommendations,
50
+ getCleanupSuggestions} = useMemoryUsage({
51
+ callbacks) => console.warn(`Memory usage warning).toFixed(1)}%`),
52
+ onMemoryLeakDetected) => console.warn(`Memory leak detected} trend`)
53
+ }
54
+ })
55
+
56
+ const {
57
+ metrics,
58
+ batteryLevel,
59
+ isCharging,
60
+ isLowPowerMode,
61
+ isCriticalBattery,
62
+ getOptimizationRecommendations,
63
+ getPowerSavingSuggestions,
64
+ getBatteryStatus} = useBatteryStatus({
65
+ callbacks) => console.warn(`Battery low).toFixed(1)}%`),
66
+ onBatteryCritical) => console.error(`Battery critical).toFixed(1)}%`)
67
+ }
68
+ })
69
+
70
+ const {
71
+ metrics,
72
+ isThrottling,
73
+ throttleLevel,
74
+ optimizations,
75
+ recommendations,
76
+ performanceSettings,
77
+
78
+ } = usePerformanceThrottling({
79
+ enablePerformanceMonitoring,
80
+ enableAutomaticThrottling,
81
+ enableUserExperienceOptimization,
82
+ enableBatteryPreservation}, {
83
+ onPerformanceWarning) => console.log('Performance warning, metrics),
84
+ onThrottlingApplied, reason) => console.log('Throttling applied, level, reason),
85
+ onPerformanceRecovery) => console.log('Performance recovery, metrics),
86
+ onUserExperienceOptimized) => console.log('User experience optimized, optimization)
87
+ })
88
+
89
+ // Performance score color mapping
90
+ const getScoreColor = (score) => {
91
+ switch (score) {
92
+ case 'excellent'}
93
+ }
94
+
95
+ // Performance mode color mapping
96
+ const getModeColor = (mode) => {
97
+ switch (mode) {
98
+ case 'high'}
99
+ }
100
+
101
+ // Throttling level color mapping
102
+ const getThrottlingColor = (level) => {
103
+ switch (level) {
104
+ case 'none'}
105
+ }
106
+
107
+ // Memory trend icon
108
+ const getMemoryTrendIcon = (trend) => {
109
+ switch (trend) {
110
+ case 'increasing'}
111
+ }
112
+
113
+ // Battery icon
114
+ const getBatteryIcon = (level, charging) => {
115
+ if (charging) return '🔌'
116
+ if (level <= 0.15) return '🔴'
117
+ if (level <= 0.3) return '🟠'
118
+ if (level <= 0.5) return '🟡'
119
+ return '🟢'
120
+ }
121
+
122
+ const tabs = [
123
+ { id, label, icon},
124
+ { id, label, icon},
125
+ { id, label, icon},
126
+ { id, label, icon},
127
+ { id, label, icon}
128
+ ]
129
+
130
+ return (
131
+ <div className="space-y-6">
132
+ {/* Tab Navigation */}
133
+ <div className="flex flex-wrap gap-2 border-b pb-4">
134
+ {tabs.map((tab) => (
135
+ <Button
136
+ key={tab.id}
137
+ variant={activeTab === tab.id ? 'default' }
138
+ size="sm"
139
+ onClick={() => setActiveTab(tab.id as any)}
140
+ className="flex items-center gap-2"
141
+ >
142
+ <span>{tab.icon}</span>
143
+ {tab.label}
144
+ </Button>
145
+ ))}
146
+ </div>
147
+
148
+ {/* Overview Tab */}
149
+ {activeTab === 'overview' && (
150
+ <div className="space-y-6">
151
+ {/* Performance Summary */}
152
+ <Card>
153
+ <CardHeader>
154
+ <CardTitle className="flex items-center gap-2">
155
+ 🎯 Performance Summary
156
+ <Badge variant={performanceMode === 'high' ? 'default' }>
157
+ {performanceMode.toUpperCase()} MODE
158
+ </Badge>
159
+ </CardTitle>
160
+ <CardDescription>
161
+ Real-time performance overview and system status
162
+ </CardDescription>
163
+ </CardHeader>
164
+ <CardContent className="space-y-4">
165
+ <div className="grid grid-cols-1 md}
166
+ <div className="text-center p-4 border rounded-lg">
167
+ <div className="text-2xl font-bold text-blue-600">{fpsMetrics.fps}</div>
168
+ <div className="text-sm text-gray-600">FPS</div>
169
+ <Badge className={`mt-2 ${getScoreColor(fpsScore)}`}>
170
+ {fpsScore}
171
+ </Badge>
172
+ </div>
173
+
174
+ {/* Memory Status */}
175
+ <div className="text-center p-4 border rounded-lg">
176
+ <div className="text-2xl font-bold text-purple-600">
177
+ {memoryMetrics.memoryPercentage ? memoryMetrics.memoryPercentage.toFixed(1) }%
178
+ </div>
179
+ <div className="text-sm text-gray-600">Memory Usage</div>
180
+ <div className="flex items-center justify-center gap-1 mt-2">
181
+ <span>{getMemoryTrendIcon(memoryTrend)}</span>
182
+ <Badge variant={memoryLeakDetected ? 'destructive' }>
183
+ {memoryLeakDetected ? 'Leak Detected' }
184
+ </Badge>
185
+ </div>
186
+ </div>
187
+
188
+ {/* Battery Status */}
189
+ <div className="text-center p-4 border rounded-lg">
190
+ <div className="text-2xl font-bold text-green-600">
191
+ {getBatteryIcon(batteryLevel || 1, isCharging)}
192
+ </div>
193
+ <div className="text-sm text-gray-600">Battery</div>
194
+ <Badge variant={isCriticalBattery ? 'destructive' }>
195
+ {getBatteryStatusText()}
196
+ </Badge>
197
+ </div>
198
+ </div>
199
+
200
+ {/* Throttling Status */}
201
+ {throttlingEnabled && (
202
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
203
+ <div className="flex items-center gap-2">
204
+ <span className="text-yellow-600">⚠️</span>
205
+ <div>
206
+ <div className="font-medium text-yellow-800">Performance Throttling Active</div>
207
+ <div className="text-sm text-yellow-700">{throttlingReason}</div>
208
+ </div>
209
+ </div>
210
+ </div>
211
+ )}
212
+
213
+ {/* Recommendations Toggle */}
214
+ <Button
215
+ variant="outline"
216
+ onClick={() => setShowRecommendations(!showRecommendations)}
217
+ className="w-full"
218
+ >
219
+ {showRecommendations ? 'Hide' } Performance Recommendations
220
+ </Button>
221
+
222
+ {/* Performance Recommendations */}
223
+ {showRecommendations && (
224
+ <div className="space-y-3">
225
+ <h4 className="font-medium text-gray-900">Optimization Recommendations="space-y-2 text-sm text-gray-700">
226
+ {getOptimizationRecommendations().map((rec, index) => (
227
+ <li key={index} className="flex items-start gap-2">
228
+ <span className="text-blue-500">•</span>
229
+ {rec}
230
+ </li>
231
+ ))}
232
+ </ul>
233
+ </div>
234
+ )}
235
+ </CardContent>
236
+ </Card>
237
+
238
+ {/* Device Information */}
239
+ <Card>
240
+ <CardHeader>
241
+ <CardTitle className="flex items-center gap-2">
242
+ 📱 Device Information
243
+ </CardTitle>
244
+ </CardHeader>
245
+ <CardContent>
246
+ <div className="grid grid-cols-1 md="font-medium">Device Type}
247
+ </div>
248
+ <div>
249
+ <span className="font-medium">Screen Size}
250
+ </div>
251
+ <div>
252
+ <span className="font-medium">Orientation}
253
+ </div>
254
+ <div>
255
+ <span className="font-medium">Touch Device}
256
+ </div>
257
+ </div>
258
+ </CardContent>
259
+ </Card>
260
+ </div>
261
+ )}
262
+
263
+ {/* Frame Rate Tab */}
264
+ {activeTab === 'fps' && (
265
+ <Card>
266
+ <CardHeader>
267
+ <CardTitle className="flex items-center gap-2">
268
+ 🎬 Frame Rate Monitoring
269
+ <Badge className={getScoreColor(fpsScore)}>
270
+ {fpsScore.toUpperCase()}
271
+ </Badge>
272
+ </CardTitle>
273
+ <CardDescription>
274
+ Real-time FPS tracking and performance analysis
275
+ </CardDescription>
276
+ </CardHeader>
277
+ <CardContent className="space-y-4">
278
+ <div className="grid grid-cols-2 md="text-center p-3 border rounded-lg">
279
+ <div className="text-xl font-bold text-blue-600">{fpsMetrics.fps}</div>
280
+ <div className="text-xs text-gray-600">Current FPS</div>
281
+ </div>
282
+ <div className="text-center p-3 border rounded-lg">
283
+ <div className="text-xl font-bold text-green-600">{fpsMetrics.averageFPS}</div>
284
+ <div className="text-xs text-gray-600">Average FPS</div>
285
+ </div>
286
+ <div className="text-center p-3 border rounded-lg">
287
+ <div className="text-xl font-bold text-purple-600">{fpsMetrics.minFPS}</div>
288
+ <div className="text-xs text-gray-600">Min FPS</div>
289
+ </div>
290
+ <div className="text-center p-3 border rounded-lg">
291
+ <div className="text-xl font-bold text-orange-600">{fpsMetrics.maxFPS}</div>
292
+ <div className="text-xs text-gray-600">Max FPS</div>
293
+ </div>
294
+ </div>
295
+
296
+ <div className="p-4 bg-blue-50 border border-blue-200 rounded-lg">
297
+ <h4 className="font-medium text-blue-800 mb-2">Performance Insights="space-y-1 text-sm text-blue-700">
298
+ {getFPSInsights().map((insight, index) => (
299
+ <li key={index} className="flex items-start gap-2">
300
+ <span className="text-blue-500">•</span>
301
+ {insight}
302
+ </li>
303
+ ))}
304
+ </ul>
305
+ </div>
306
+ </CardContent>
307
+ </Card>
308
+ )}
309
+
310
+ {/* Memory Tab */}
311
+ {activeTab === 'memory' && (
312
+ <Card>
313
+ <CardHeader>
314
+ <CardTitle className="flex items-center gap-2">
315
+ 🧠 Memory Usage Monitoring
316
+ <Badge variant={memoryLeakDetected ? 'destructive' }>
317
+ {memoryLeakDetected ? 'LEAK DETECTED' )}
318
+ </Badge>
319
+ </CardTitle>
320
+ <CardDescription>
321
+ Memory usage tracking and leak detection
322
+ </CardDescription>
323
+ </CardHeader>
324
+ <CardContent className="space-y-4">
325
+ <div className="grid grid-cols-1 md="text-center p-3 border rounded-lg">
326
+ <div className="text-xl font-bold text-purple-600">
327
+ {memoryMetrics.memoryPercentage ? memoryMetrics.memoryPercentage.toFixed(1) }%
328
+ </div>
329
+ <div className="text-xs text-gray-600">Usage</div>
330
+ </div>
331
+ <div className="text-center p-3 border rounded-lg">
332
+ <div className="text-xl font-bold text-blue-600">
333
+ {memoryMetrics.usedJSHeapSize ? (memoryMetrics.usedJSHeapSize / 1024 / 1024).toFixed(1) } MB
334
+ </div>
335
+ <div className="text-xs text-gray-600">Used</div>
336
+ </div>
337
+ <div className="text-center p-3 border rounded-lg">
338
+ <div className="text-xl font-bold text-green-600">
339
+ {memoryMetrics.jsHeapSizeLimit ? (memoryMetrics.jsHeapSizeLimit / 1024 / 1024).toFixed(1) } MB
340
+ </div>
341
+ <div className="text-xs text-gray-600">Limit</div>
342
+ </div>
343
+ </div>
344
+
345
+ <div className="p-4 bg-purple-50 border border-purple-200 rounded-lg">
346
+ <h4 className="font-medium text-purple-800 mb-2">Memory Optimization="space-y-1 text-sm text-purple-700">
347
+ {getMemoryRecommendations().map((rec, index) => (
348
+ <li key={index} className="flex items-start gap-2">
349
+ <span className="text-purple-500">•</span>
350
+ {rec}
351
+ </li>
352
+ ))}
353
+ </ul>
354
+ </div>
355
+
356
+ {memoryLeakDetected && (
357
+ <div className="p-4 bg-red-50 border border-red-200 rounded-lg">
358
+ <h4 className="font-medium text-red-800 mb-2">Memory Leak Cleanup Suggestions="space-y-1 text-sm text-red-700">
359
+ {getMemoryCleanupSuggestions().map((suggestion, index) => (
360
+ <li key={index} className="flex items-start gap-2">
361
+ <span className="text-red-500">•</span>
362
+ {suggestion}
363
+ </li>
364
+ ))}
365
+ </ul>
366
+ </div>
367
+ )}
368
+ </CardContent>
369
+ </Card>
370
+ )}
371
+
372
+ {/* Battery Tab */}
373
+ {activeTab === 'battery' && (
374
+ <Card>
375
+ <CardHeader>
376
+ <CardTitle className="flex items-center gap-2">
377
+ 🔋 Battery Status Monitoring
378
+ <Badge variant={isCriticalBattery ? 'destructive' }>
379
+ {getBatteryStatusText()}
380
+ </Badge>
381
+ </CardTitle>
382
+ <CardDescription>
383
+ Battery level monitoring and power optimization
384
+ </CardDescription>
385
+ </CardHeader>
386
+ <CardContent className="space-y-4">
387
+ <div className="grid grid-cols-1 md="text-center p-3 border rounded-lg">
388
+ <div className="text-2xl">{getBatteryIcon(batteryLevel || 1, isCharging)}</div>
389
+ <div className="text-xl font-bold text-green-600">
390
+ {batteryLevel ? (batteryLevel * 100).toFixed(1) }%
391
+ </div>
392
+ <div className="text-xs text-gray-600">Level</div>
393
+ </div>
394
+ <div className="text-center p-3 border rounded-lg">
395
+ <div className="text-xl font-bold text-blue-600">
396
+ {isCharging ? 'Yes' }
397
+ </div>
398
+ <div className="text-xs text-gray-600">Charging</div>
399
+ </div>
400
+ <div className="text-center p-3 border rounded-lg">
401
+ <div className="text-xl font-bold text-purple-600">
402
+ {batteryMetrics.chargingTime || 'N/A'}
403
+ </div>
404
+ <div className="text-xs text-gray-600">Charging Time</div>
405
+ </div>
406
+ <div className="text-center p-3 border rounded-lg">
407
+ <div className="text-xl font-bold text-orange-600">
408
+ {batteryMetrics.dischargingTime || 'N/A'}
409
+ </div>
410
+ <div className="text-xs text-gray-600">Discharge Time</div>
411
+ </div>
412
+ </div>
413
+
414
+ <div className="p-4 bg-green-50 border border-green-200 rounded-lg">
415
+ <h4 className="font-medium text-green-800 mb-2">Battery Optimization="space-y-1 text-sm text-green-700">
416
+ {getBatteryRecommendations().map((rec, index) => (
417
+ <li key={index} className="flex items-start gap-2">
418
+ <span className="text-green-500">•</span>
419
+ {rec}
420
+ </li>
421
+ ))}
422
+ </ul>
423
+ </div>
424
+
425
+ {(isLowPowerMode || isCriticalBattery) && (
426
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
427
+ <h4 className="font-medium text-yellow-800 mb-2">Power Saving Suggestions="space-y-1 text-sm text-yellow-700">
428
+ {getBatteryPowerSuggestions().map((suggestion, index) => (
429
+ <li key={index} className="flex items-start gap-2">
430
+ <span className="text-yellow-500">•</span>
431
+ {suggestion}
432
+ </li>
433
+ ))}
434
+ </ul>
435
+ </div>
436
+ )}
437
+ </CardContent>
438
+ </Card>
439
+ )}
440
+
441
+ {/* Throttling Tab */}
442
+ {activeTab === 'throttling' && (
443
+ <Card>
444
+ <CardHeader>
445
+ <CardTitle className="flex items-center gap-2">
446
+ ⚡ Performance Throttling
447
+ <Badge className={getThrottlingColor(throttleLevel)}>
448
+ {throttleLevel.toUpperCase()}
449
+ </Badge>
450
+ </CardTitle>
451
+ <CardDescription>
452
+ Automatic and manual performance throttling controls
453
+ </CardDescription>
454
+ </CardHeader>
455
+ <CardContent className="space-y-4">
456
+ <div className="grid grid-cols-1 md="text-center p-3 border rounded-lg">
457
+ <div className="text-xl font-bold text-blue-600">
458
+ {isThrottling ? 'Active' }
459
+ </div>
460
+ <div className="text-xs text-gray-600">Throttling Status</div>
461
+ </div>
462
+ <div className="text-center p-3 border rounded-lg">
463
+ <Badge className={getModeColor(performanceSettings.animationQuality)}>
464
+ {performanceSettings.animationQuality.toUpperCase()}
465
+ </Badge>
466
+ <div className="text-xs text-gray-600 mt-1">Performance Mode</div>
467
+ </div>
468
+ <div className="text-center p-3 border rounded-lg">
469
+ <div className="text-xl font-bold text-green-600">
470
+ {performanceSettings.memoryOptimization ? 'Yes' }
471
+ </div>
472
+ <div className="text-xs text-gray-600">Battery Optimized</div>
473
+ </div>
474
+ </div>
475
+
476
+ {/* Throttling Status */}
477
+ <div className="flex flex-wrap gap-2">
478
+ <div className="text-center p-3 border rounded-lg">
479
+ <div className="text-lg font-bold text-blue-600">
480
+ {throttleLevel}
481
+ </div>
482
+ <div className="text-xs text-gray-600">Current Level</div>
483
+ </div>
484
+ <div className="text-center p-3 border rounded-lg">
485
+ <div className="text-lg font-bold text-green-600">
486
+ {isThrottling ? 'Active' }
487
+ </div>
488
+ <div className="text-xs text-gray-600">Throttling Status</div>
489
+ </div>
490
+ </div>
491
+
492
+ {/* Performance Settings */}
493
+ <div className="space-y-2">
494
+ <h4 className="font-medium text-gray-900">Performance Settings="grid grid-cols-2 gap-4 text-sm">
495
+ <div>
496
+ <span className="font-medium">Max Concurrent Animations="text-blue-600">{performanceSettings.maxConcurrentAnimations}</div>
497
+ </div>
498
+ <div>
499
+ <span className="font-medium">Frame Rate Limit="text-blue-600">{performanceSettings.frameRateLimit}fps</div>
500
+ </div>
501
+ <div>
502
+ <span className="font-medium">Animation Quality="text-blue-600">{performanceSettings.animationQuality}</div>
503
+ </div>
504
+ <div>
505
+ <span className="font-medium">Memory Optimization="text-blue-600">{performanceSettings.memoryOptimization ? 'Yes' }</div>
506
+ </div>
507
+ </div>
508
+ </div>
509
+
510
+ {/* Throttling Information */}
511
+ {isThrottling && (
512
+ <div className="p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
513
+ <h4 className="font-medium text-yellow-800 mb-2">Throttling Information="text-sm text-yellow-700 space-y-1">
514
+ <div><strong>Level}</div>
515
+ <div><strong>Performance Score}</div>
516
+ <div><strong>FPS}</div>
517
+ </div>
518
+ </div>
519
+ )}
520
+
521
+ {/* Recommendations */}
522
+ <div className="p-4 bg-blue-50 border border-blue-200 rounded-lg">
523
+ <h4 className="font-medium text-blue-800 mb-2">Throttling Recommendations="space-y-1 text-sm text-blue-700">
524
+ {recommendations.map((rec, index) => (
525
+ <li key={index} className="flex items-start gap-2">
526
+ <span className="text-blue-500">•</span>
527
+ {rec}
528
+ </li>
529
+ ))}
530
+ </ul>
531
+ </div>
532
+
533
+ {/* Optimization Suggestions */}
534
+ <div className="p-4 bg-green-50 border border-green-200 rounded-lg">
535
+ <h4 className="font-medium text-green-800 mb-2">Optimization Suggestions="space-y-1 text-sm text-green-700">
536
+ {optimizations.map((suggestion, index) => (
537
+ <li key={index} className="flex items-start gap-2">
538
+ <span className="text-green-500">•</span>
539
+ {suggestion}
540
+ </li>
541
+ ))}
542
+ </ul>
543
+ </div>
544
+ </CardContent>
545
+ </Card>
546
+ )}
547
+ </div>
548
+ )
549
+ }