@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,621 @@
1
+ import React, { useState, useEffect } from 'react'
2
+ import { Card } from './card'
3
+ import { Button } from './button'
4
+ import { Badge } from './badge'
5
+ import { useMobileSkeleton } from '../../hooks/use-mobile-skeleton'
6
+ import { useDeviceLoadingStates } from '../../hooks/use-device-loading-states'
7
+ import { useLoadingPerformance } from '../../hooks/use-loading-performance'
8
+ import { useBatteryConsciousLoading } from '../../hooks/use-battery-conscious-loading'
9
+ import { useLoadingAccessibility } from '../../hooks/use-loading-accessibility'
10
+
11
+ export const MobileSkeletonLoadingDemo= () => {
12
+ const [activeTab, setActiveTab] = useState('overview')
13
+ const [isLoading, setIsLoading] = useState(false)
14
+ const [loadingProgress, setLoadingProgress] = useState(0)
15
+ const [showSkeletons, setShowSkeletons] = useState(true)
16
+
17
+ // Initialize all hooks
18
+ const mobileSkeleton = useMobileSkeleton(
19
+ {
20
+ enableMobileOptimization,
21
+ enablePerformanceOptimization,
22
+ enableBatteryOptimization,
23
+ enableAccessibilitySupport,
24
+ enableTouchOptimization},
25
+ {
26
+ onSkeletonCreated) => console.log('Skeleton created, variant),
27
+ onLoadingStateChanged) => console.log('Loading state changed, state),
28
+ onPerformanceOptimized) => console.log('Performance optimized, optimization),
29
+ onBatteryOptimized) => console.log('Battery optimized, strategy),
30
+ onAccessibilityEnhanced) => console.log('Accessibility enhanced, feature)
31
+ }
32
+ )
33
+
34
+ const deviceLoadingStates = useDeviceLoadingStates(
35
+ {
36
+ enableMobileStates,
37
+ enableTabletStates,
38
+ enableDesktopStates,
39
+ enableAdaptiveBehavior,
40
+ enableOrientationSupport,
41
+ enablePerformanceAdaptation},
42
+ {
43
+ onLoadingStateChanged) => console.log('Device loading state changed, state),
44
+ onDeviceStateChanged) => console.log('Device state changed, deviceState),
45
+ onAdaptiveBehaviorEnabled) => console.log('Adaptive behavior enabled, behavior),
46
+ onPerformanceAdapted) => console.log('Performance adapted, adaptation)
47
+ }
48
+ )
49
+
50
+ const loadingPerformance = useLoadingPerformance(
51
+ {
52
+ enableAnimationOptimization,
53
+ enableMemoryManagement,
54
+ enableBatteryOptimization,
55
+ enablePerformanceMonitoring,
56
+ enableAutoOptimization},
57
+ {
58
+ onPerformanceOptimized) => console.log('Loading performance optimized, strategy),
59
+ onMemoryOptimized) => console.log('Memory optimized, optimization),
60
+ onBatteryOptimized) => console.log('Battery optimized, strategy),
61
+ onAnimationOptimized) => console.log('Animation optimized, optimization)
62
+ }
63
+ )
64
+
65
+ const batteryConsciousLoading = useBatteryConsciousLoading(
66
+ {
67
+ enableBatteryMonitoring,
68
+ enableLoadingOptimization,
69
+ enablePerformanceAdjustment,
70
+ enableUserNotification,
71
+ enableAutoOptimization},
72
+ {
73
+ onBatteryLevelChanged) => console.log('Battery level changed, batteryState),
74
+ onLoadingOptimized) => console.log('Loading optimized for battery, optimization),
75
+ onPerformanceAdjusted) => console.log('Performance adjusted, adjustment),
76
+ onUserNotified) => console.log('User notified, notification)
77
+ }
78
+ )
79
+
80
+ const loadingAccessibility = useLoadingAccessibility(
81
+ {
82
+ enableScreenReaderSupport,
83
+ enableReducedMotionSupport,
84
+ enableFocusManagement,
85
+ enableAriaSupport,
86
+ enableVoiceControl,
87
+ enableHighContrast,
88
+ enableKeyboardNavigation},
89
+ {
90
+ onScreenReaderEnhanced) => console.log('Screen reader enhanced, feature),
91
+ onReducedMotionApplied) => console.log('Reduced motion applied, feature),
92
+ onFocusManaged) => console.log('Focus managed, feature),
93
+ onAriaEnhanced) => console.log('ARIA enhanced, feature),
94
+ onVoiceControlEnabled) => console.log('Voice control enabled, feature),
95
+ onHighContrastApplied) => console.log('High contrast applied, feature),
96
+ onKeyboardNavigationEnabled) => console.log('Keyboard navigation enabled, feature)
97
+ }
98
+ )
99
+
100
+ // Simulate loading progress
101
+ useEffect(() => {
102
+ if (isLoading) {
103
+ const interval = setInterval(() => {
104
+ setLoadingProgress(prev => {
105
+ if (prev >= 100) {
106
+ setIsLoading(false)
107
+ setLoadingProgress(0)
108
+ return 0
109
+ }
110
+ return prev + 10
111
+ })
112
+ }, 200)
113
+ return () => clearInterval(interval)
114
+ }
115
+ }, [isLoading])
116
+
117
+ // Start loading simulation
118
+ const startLoading = () => {
119
+ setIsLoading(true)
120
+ setLoadingProgress(0)
121
+ }
122
+
123
+ // Toggle skeleton visibility
124
+ const toggleSkeletons = () => {
125
+ setShowSkeletons(!showSkeletons)
126
+ }
127
+
128
+ // Get device-specific loading class
129
+ const getLoadingStateClass = () => {
130
+ switch (deviceLoadingStates.deviceState.deviceType) {
131
+ case 'mobile'}
132
+ }
133
+
134
+ // Get battery-conscious class
135
+ const getBatteryClass = () => {
136
+ const batteryStatus = batteryConsciousLoading.batteryState.status
137
+ if (batteryStatus === 'critical') return 'battery-critical'
138
+ if (batteryStatus === 'low') return 'battery-low'
139
+ return ''
140
+ }
141
+
142
+ // Get performance class
143
+ const getPerformanceClass = () => {
144
+ const performanceHealth = loadingPerformance.performanceHealth
145
+ if (performanceHealth === 'poor') return 'performance-low'
146
+ if (performanceHealth === 'fair') return 'performance-medium'
147
+ return 'performance-high'
148
+ }
149
+
150
+ // Get accessibility class
151
+ const getAccessibilityClass = () => {
152
+ if (loadingAccessibility.accessibilityScore >= 80) return 'accessibility-enhanced'
153
+ return ''
154
+ }
155
+
156
+ return (
157
+ <div className="space-y-6">
158
+ {/* Header */}
159
+ <div className="text-center">
160
+ <h2 className="text-2xl font-bold text-gray-900 mb-2">
161
+ 📱 Mobile Skeleton & Loading State Sophistication
162
+ </h2>
163
+ <p className="text-gray-600 mb-4">
164
+ Advanced mobile-optimized skeleton components with device-specific loading states,
165
+ performance optimization, battery consciousness, and accessibility support.
166
+ </p>
167
+ <Badge variant="secondary">Story 11 Implementation</Badge>
168
+ </div>
169
+
170
+ {/* Main Demo */}
171
+ <Card className="p-6">
172
+ {/* Navigation */}
173
+ <div className="flex flex-wrap gap-2 mb-6">
174
+ <Button
175
+ variant={activeTab === 'overview' ? 'default' }
176
+ onClick={() => setActiveTab('overview')}
177
+ size="sm"
178
+ >
179
+ Overview
180
+ </Button>
181
+ <Button
182
+ variant={activeTab === 'skeletons' ? 'default' }
183
+ onClick={() => setActiveTab('skeletons')}
184
+ size="sm"
185
+ >
186
+ Skeletons
187
+ </Button>
188
+ <Button
189
+ variant={activeTab === 'loading' ? 'default' }
190
+ onClick={() => setActiveTab('loading')}
191
+ size="sm"
192
+ >
193
+ Loading States
194
+ </Button>
195
+ <Button
196
+ variant={activeTab === 'performance' ? 'default' }
197
+ onClick={() => setActiveTab('performance')}
198
+ size="sm"
199
+ >
200
+ Performance
201
+ </Button>
202
+ <Button
203
+ variant={activeTab === 'accessibility' ? 'default' }
204
+ onClick={() => setActiveTab('accessibility')}
205
+ size="sm"
206
+ >
207
+ Accessibility
208
+ </Button>
209
+ </div>
210
+
211
+ {/* Overview Section */}
212
+ {activeTab === 'overview' && (
213
+ <div className="space-y-6">
214
+ <div className="grid grid-cols-1 md}
215
+ <div className="p-4 bg-blue-50 rounded-lg">
216
+ <h3 className="font-semibold text-blue-900 mb-2">Device State</h3>
217
+ <div className="space-y-1 text-sm">
218
+ <p><span className="font-medium">Type}</p>
219
+ <p><span className="font-medium">Orientation}</p>
220
+ <p><span className="font-medium">Screen}</p>
221
+ <p><span className="font-medium">Strategy]?.type || 'skeleton'}</p>
222
+ </div>
223
+ </div>
224
+
225
+ {/* Battery Status */}
226
+ <div className="p-4 bg-yellow-50 rounded-lg">
227
+ <h3 className="font-semibold text-yellow-900 mb-2">Battery Status</h3>
228
+ <div className="space-y-1 text-sm">
229
+ <p><span className="font-medium">Level)}%</p>
230
+ <p><span className="font-medium">Status}</p>
231
+ <p><span className="font-medium">Mode}</p>
232
+ <p><span className="font-medium">Savings}%</p>
233
+ </div>
234
+ </div>
235
+
236
+ {/* Performance Metrics */}
237
+ <div className="p-4 bg-green-50 rounded-lg">
238
+ <h3 className="font-semibold text-green-900 mb-2">Performance</h3>
239
+ <div className="space-y-1 text-sm">
240
+ <p><span className="font-medium">FPS}</p>
241
+ <p><span className="font-medium">Render)}ms</p>
242
+ <p><span className="font-medium">Memory}MB</p>
243
+ <p><span className="font-medium">Health}</p>
244
+ </div>
245
+ </div>
246
+
247
+ {/* Accessibility Score */}
248
+ <div className="p-4 bg-purple-50 rounded-lg">
249
+ <h3 className="font-semibold text-purple-900 mb-2">Accessibility</h3>
250
+ <div className="space-y-1 text-sm">
251
+ <p><span className="font-medium">Score}%</p>
252
+ <p><span className="font-medium">Features}</p>
253
+ <p><span className="font-medium">Active}</p>
254
+ <p><span className="font-medium">Enhancing}</p>
255
+ </div>
256
+ </div>
257
+ </div>
258
+
259
+ {/* Controls */}
260
+ <div className="flex flex-wrap gap-4 justify-center">
261
+ <Button onClick={startLoading} disabled={isLoading}>
262
+ {isLoading ? 'Loading...' }
263
+ </Button>
264
+ <Button onClick={toggleSkeletons} variant="outline">
265
+ {showSkeletons ? 'Hide' } Skeletons
266
+ </Button>
267
+ <Button onClick={loadingPerformance.autoOptimize} variant="outline">
268
+ Auto-Optimize Performance
269
+ </Button>
270
+ <Button onClick={batteryConsciousLoading.optimizeLoadingForBattery} variant="outline">
271
+ Optimize for Battery
272
+ </Button>
273
+ <Button onClick={loadingAccessibility.autoEnableAccessibility} variant="outline">
274
+ Enable All Accessibility
275
+ </Button>
276
+ </div>
277
+ </div>
278
+ )}
279
+
280
+ {/* Skeletons Section */}
281
+ {activeTab === 'skeletons' && (
282
+ <div className="space-y-6">
283
+ <div className="text-center mb-6">
284
+ <h3 className="text-xl font-semibold mb-2">Mobile-Optimized Skeleton Components</h3>
285
+ <p className="text-gray-600">
286
+ Device-specific skeleton variants with performance optimization and touch-friendly interactions
287
+ </p>
288
+ </div>
289
+
290
+ <div className={`${getLoadingStateClass()} ${getBatteryClass()} ${getPerformanceClass()} ${getAccessibilityClass()}`}>
291
+ {showSkeletons && (
292
+ <>
293
+ {/* Text Line Skeletons */}
294
+ <div className="loading-skeleton">
295
+ <div className="mobile-skeleton text-line animation-pulse touch-friendly"
296
+ aria-label="Loading text line 1"></div>
297
+ <div className="mobile-skeleton text-line animation-pulse touch-friendly"
298
+ aria-label="Loading text line 2"></div>
299
+ <div className="mobile-skeleton text-line animation-pulse touch-friendly"
300
+ aria-label="Loading text line 3"></div>
301
+ </div>
302
+
303
+ {/* Avatar and Button Skeletons */}
304
+ <div className="flex items-center gap-4">
305
+ <div className="mobile-skeleton avatar animation-shimmer touch-friendly"
306
+ aria-label="Loading avatar"></div>
307
+ <div className="mobile-skeleton button animation-pulse touch-friendly"
308
+ aria-label="Loading button"></div>
309
+ </div>
310
+
311
+ {/* Card Skeleton */}
312
+ <div className="mobile-skeleton card animation-wave touch-friendly"
313
+ aria-label="Loading card content"></div>
314
+ </>
315
+ )}
316
+ </div>
317
+
318
+ {/* Skeleton Variants */}
319
+ <div className="grid grid-cols-1 md="p-4 bg-gray-50 rounded-lg">
320
+ <h4 className="font-semibold mb-2">Available Skeleton Variants</h4>
321
+ <div className="space-y-2 text-sm">
322
+ {mobileSkeleton.skeletonVariants.map(variant => (
323
+ <div key={variant.id} className="flex justify-between items-center">
324
+ <span>{variant.name}</span>
325
+ <Badge variant={variant.mobileOptimized ? "default" }>
326
+ {variant.animation}
327
+ </Badge>
328
+ </div>
329
+ ))}
330
+ </div>
331
+ </div>
332
+
333
+ <div className="p-4 bg-gray-50 rounded-lg">
334
+ <h4 className="font-semibold mb-2">Device Optimizations</h4>
335
+ <div className="space-y-2 text-sm">
336
+ <p><span className="font-medium">Mobile Optimized) ? 'Yes' }</p>
337
+ <p><span className="font-medium">Loading Strategy)}</p>
338
+ <p><span className="font-medium">Animation Intensity)}</p>
339
+ <p><span className="font-medium">Touch Friendly=> v.touchFriendly) ? 'Yes' }</p>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ )}
345
+
346
+ {/* Loading States Section */}
347
+ {activeTab === 'loading' && (
348
+ <div className="space-y-6">
349
+ <div className="text-center mb-6">
350
+ <h3 className="text-xl font-semibold mb-2">Device-Specific Loading States</h3>
351
+ <p className="text-gray-600">
352
+ Adaptive loading states that automatically adjust based on device capabilities and battery level
353
+ </p>
354
+ </div>
355
+
356
+ {/* Loading Progress */}
357
+ {isLoading && (
358
+ <div className="space-y-4">
359
+ <div className="loading-progress">
360
+ <div
361
+ className="loading-progress-bar"
362
+ style={{ width}%` }}
363
+ aria-label={`Loading progress}%`}
364
+ ></div>
365
+ </div>
366
+ <p className="text-center text-sm text-gray-600">
367
+ Loading... {loadingProgress}%
368
+ </p>
369
+ </div>
370
+ )}
371
+
372
+ {/* Device Loading States */}
373
+ <div className="grid grid-cols-1 md="space-y-4">
374
+ <h4 className="font-semibold">Current Device State</h4>
375
+ <div className="p-4 bg-blue-50 rounded-lg space-y-2">
376
+ <p><span className="font-medium">Device}</p>
377
+ <p><span className="font-medium">Orientation}</p>
378
+ <p><span className="font-medium">Performance}</p>
379
+ <p><span className="font-medium">Battery}</p>
380
+ <p><span className="font-medium">Adaptive}</p>
381
+ </div>
382
+ </div>
383
+
384
+ <div className="space-y-4">
385
+ <h4 className="font-semibold">Available Loading States</h4>
386
+ <div className="space-y-2">
387
+ {deviceLoadingStates.getLoadingStatesForDevice().map(state => (
388
+ <div key={state.id} className="p-3 bg-gray-50 rounded-lg">
389
+ <div className="flex justify-between items-center mb-1">
390
+ <span className="font-medium">{state.name}</span>
391
+ <Badge variant="outline">{state.type}</Badge>
392
+ </div>
393
+ <div className="text-sm text-gray-600">
394
+ <p>Duration}ms</p>
395
+ <p>Complexity}</p>
396
+ <p>Performance}</p>
397
+ </div>
398
+ </div>
399
+ ))}
400
+ </div>
401
+ </div>
402
+ </div>
403
+
404
+ {/* Loading State Controls */}
405
+ <div className="flex flex-wrap gap-4 justify-center">
406
+ <Button onClick={deviceLoadingStates.enableAdaptiveBehavior} variant="outline">
407
+ Enable Adaptive Behavior
408
+ </Button>
409
+ <Button onClick={deviceLoadingStates.adaptToPerformance} variant="outline">
410
+ Adapt to Performance
411
+ </Button>
412
+ <Button onClick={deviceLoadingStates.clearAdaptations} variant="outline">
413
+ Clear Adaptations
414
+ </Button>
415
+ </div>
416
+ </div>
417
+ )}
418
+
419
+ {/* Performance Section */}
420
+ {activeTab === 'performance' && (
421
+ <div className="space-y-6">
422
+ <div className="text-center mb-6">
423
+ <h3 className="text-xl font-semibold mb-2">Loading Performance Optimization</h3>
424
+ <p className="text-gray-600">
425
+ Real-time performance monitoring with automatic optimization and battery-conscious strategies
426
+ </p>
427
+ </div>
428
+
429
+ {/* Performance Metrics */}
430
+ <div className="grid grid-cols-2 md="metric-item">
431
+ <div className="metric-value">{loadingPerformance.performanceMetrics.frameRate}</div>
432
+ <div className="metric-label">FPS</div>
433
+ </div>
434
+ <div className="metric-item">
435
+ <div className="metric-value">{Math.round(loadingPerformance.performanceMetrics.renderTime)}ms</div>
436
+ <div className="metric-label">Render Time</div>
437
+ </div>
438
+ <div className="metric-item">
439
+ <div className="metric-value">{loadingPerformance.performanceMetrics.memoryUsage}MB</div>
440
+ <div className="metric-label">Memory</div>
441
+ </div>
442
+ <div className="metric-item">
443
+ <div className="metric-value">{loadingPerformance.getPerformanceScore()}</div>
444
+ <div className="metric-label">Score</div>
445
+ </div>
446
+ </div>
447
+
448
+ {/* Performance Health */}
449
+ <div className="p-4 bg-gray-50 rounded-lg">
450
+ <h4 className="font-semibold mb-3">Performance Health}</h4>
451
+ <div className="space-y-2">
452
+ {loadingPerformance.getOptimizationRecommendations().map((recommendation, index) => (
453
+ <p key={index} className="text-sm text-gray-600">• {recommendation}</p>
454
+ ))}
455
+ </div>
456
+ </div>
457
+
458
+ {/* Optimization Strategies */}
459
+ <div className="space-y-4">
460
+ <h4 className="font-semibold">Applied Optimizations</h4>
461
+ <div className="grid grid-cols-1 md=> (
462
+ <div key={strategy.id} className="p-3 bg-green-50 rounded-lg">
463
+ <div className="flex justify-between items-center mb-1">
464
+ <span className="font-medium">{strategy.name}</span>
465
+ <Badge variant={strategy.impact === 'high' ? 'default' }>
466
+ {strategy.impact}
467
+ </Badge>
468
+ </div>
469
+ <p className="text-sm text-gray-600">{strategy.description}</p>
470
+ </div>
471
+ ))}
472
+ </div>
473
+ </div>
474
+
475
+ {/* Performance Controls */}
476
+ <div className="flex flex-wrap gap-4 justify-center">
477
+ <Button onClick={loadingPerformance.optimizeAnimations} variant="outline">
478
+ Optimize Animations
479
+ </Button>
480
+ <Button onClick={loadingPerformance.optimizeMemory} variant="outline">
481
+ Optimize Memory
482
+ </Button>
483
+ <Button onClick={loadingPerformance.optimizeBattery} variant="outline">
484
+ Optimize Battery
485
+ </Button>
486
+ <Button onClick={loadingPerformance.optimizePerformance} variant="outline">
487
+ Optimize Overall
488
+ </Button>
489
+ </div>
490
+ </div>
491
+ )}
492
+
493
+ {/* Accessibility Section */}
494
+ {activeTab === 'accessibility' && (
495
+ <div className="space-y-6">
496
+ <div className="text-center mb-6">
497
+ <h3 className="text-xl font-semibold mb-2">Loading Accessibility Support</h3>
498
+ <p className="text-gray-600">
499
+ Comprehensive accessibility features including screen reader support, reduced motion, focus management, and ARIA
500
+ </p>
501
+ </div>
502
+
503
+ {/* Accessibility Score */}
504
+ <div className="text-center p-6 bg-purple-50 rounded-lg">
505
+ <div className="text-4xl font-bold text-purple-600 mb-2">
506
+ {loadingAccessibility.accessibilityScore}%
507
+ </div>
508
+ <p className="text-purple-700 font-medium">Accessibility Score</p>
509
+ </div>
510
+
511
+ {/* Accessibility State */}
512
+ <div className="grid grid-cols-2 md="metric-item">
513
+ <div className="metric-value">{loadingAccessibility.accessibilityState.screenReaderActive ? '✓' }</div>
514
+ <div className="metric-label">Screen Reader</div>
515
+ </div>
516
+ <div className="metric-item">
517
+ <div className="metric-value">{loadingAccessibility.accessibilityState.reducedMotionEnabled ? '✓' }</div>
518
+ <div className="metric-label">Reduced Motion</div>
519
+ </div>
520
+ <div className="metric-item">
521
+ <div className="metric-value">{loadingAccessibility.accessibilityState.ariaLabelsActive ? '✓' }</div>
522
+ <div className="metric-label">ARIA Labels</div>
523
+ </div>
524
+ <div className="metric-item">
525
+ <div className="metric-value">{loadingAccessibility.accessibilityState.keyboardNavigationActive ? '✓' }</div>
526
+ <div className="metric-label">Keyboard Nav</div>
527
+ </div>
528
+ </div>
529
+
530
+ {/* Accessibility Features */}
531
+ <div className="space-y-4">
532
+ <h4 className="font-semibold">Active Accessibility Features</h4>
533
+ <div className="grid grid-cols-1 md=> (
534
+ <div key={feature.id} className="p-3 bg-purple-50 rounded-lg">
535
+ <div className="flex justify-between items-center mb-1">
536
+ <span className="font-medium">{feature.name}</span>
537
+ <Badge variant={feature.impact === 'high' ? 'default' }>
538
+ {feature.impact}
539
+ </Badge>
540
+ </div>
541
+ <p className="text-sm text-gray-600">{feature.description}</p>
542
+ </div>
543
+ ))}
544
+ </div>
545
+ </div>
546
+
547
+ {/* Accessibility Recommendations */}
548
+ <div className="p-4 bg-blue-50 rounded-lg">
549
+ <h4 className="font-semibold mb-3">Accessibility Recommendations</h4>
550
+ <div className="space-y-2">
551
+ {loadingAccessibility.getAccessibilityRecommendations().map((recommendation, index) => (
552
+ <p key={index} className="text-sm text-gray-600">• {recommendation}</p>
553
+ ))}
554
+ </div>
555
+ </div>
556
+
557
+ {/* Accessibility Controls */}
558
+ <div className="flex flex-wrap gap-4 justify-center">
559
+ <Button onClick={loadingAccessibility.enableScreenReaderSupport} variant="outline">
560
+ Enable Screen Reader
561
+ </Button>
562
+ <Button onClick={loadingAccessibility.enableReducedMotionSupport} variant="outline">
563
+ Enable Reduced Motion
564
+ </Button>
565
+ <Button onClick={loadingAccessibility.enableAriaSupport} variant="outline">
566
+ Enable ARIA Support
567
+ </Button>
568
+ <Button onClick={loadingAccessibility.enableKeyboardNavigation} variant="outline">
569
+ Enable Keyboard Nav
570
+ </Button>
571
+ </div>
572
+ </div>
573
+ )}
574
+ </Card>
575
+
576
+ {/* Status Indicators */}
577
+ <div className="grid grid-cols-1 md={`loading-status ${getBatteryClass()}`}>
578
+ <div className="w-3 h-3 bg-current rounded-full"></div>
579
+ <span className="text-sm font-medium">
580
+ Battery)}
581
+ </span>
582
+ </div>
583
+
584
+ <div className={`loading-status ${getPerformanceClass()}`}>
585
+ <div className="w-3 h-3 bg-current rounded-full"></div>
586
+ <span className="text-sm font-medium">
587
+ Performance}
588
+ </span>
589
+ </div>
590
+
591
+ <div className={`loading-status ${getAccessibilityClass()}`}>
592
+ <div className="w-3 h-3 bg-current rounded-full"></div>
593
+ <span className="text-sm font-medium">
594
+ Accessibility}%
595
+ </span>
596
+ </div>
597
+
598
+ <div className="loading-status">
599
+ <div className="w-3 h-3 bg-current rounded-full"></div>
600
+ <span className="text-sm font-medium">
601
+ Device}
602
+ </span>
603
+ </div>
604
+ </div>
605
+
606
+ {/* Notifications */}
607
+ {batteryConsciousLoading.notifications.length > 0 && (
608
+ <div className="space-y-2">
609
+ <h4 className="font-semibold">Recent Notifications</h4>
610
+ {batteryConsciousLoading.notifications.slice(-3).map((notification, index) => (
611
+ <div key={index} className="p-3 bg-blue-50 border border-blue-200 rounded-lg">
612
+ <p className="text-sm text-blue-800">{notification}</p>
613
+ </div>
614
+ ))}
615
+ </div>
616
+ )}
617
+ </div>
618
+ )
619
+ }
620
+
621
+ export default MobileSkeletonLoadingDemo