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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/index.esm.js +2 -2
  345. package/dist/index.js +2 -2
  346. package/dist/lib/utils.d.ts +3 -0
  347. package/dist/lib/utils.esm.js +6 -0
  348. package/dist/lib/utils.js +6 -0
  349. package/dist/plugins/theme-css-generator.d.ts +345 -0
  350. package/dist/plugins/theme-css-generator.esm.js +305 -0
  351. package/dist/plugins/theme-css-generator.js +305 -0
  352. package/dist/styles.css +1 -1
  353. package/dist/themes/ThemeContext.d.ts +27 -0
  354. package/dist/themes/ThemeContext.esm.js +31 -0
  355. package/dist/themes/ThemeContext.js +31 -0
  356. package/dist/themes/ThemeProvider.d.ts +222 -0
  357. package/dist/themes/ThemeProvider.esm.js +229 -0
  358. package/dist/themes/ThemeProvider.js +229 -0
  359. package/dist/themes/accessibility/index.d.ts +7 -0
  360. package/dist/themes/accessibility/index.esm.js +27 -0
  361. package/dist/themes/accessibility/index.js +27 -0
  362. package/dist/themes/accessibility.d.ts +259 -0
  363. package/dist/themes/accessibility.esm.js +220 -0
  364. package/dist/themes/accessibility.js +220 -0
  365. package/dist/themes/aria-patterns.d.ts +418 -0
  366. package/dist/themes/aria-patterns.esm.js +384 -0
  367. package/dist/themes/aria-patterns.js +384 -0
  368. package/dist/themes/base-themes.d.ts +34 -0
  369. package/dist/themes/base-themes.esm.js +52 -0
  370. package/dist/themes/base-themes.js +52 -0
  371. package/dist/themes/colorManager.d.ts +327 -0
  372. package/dist/themes/colorManager.esm.js +362 -0
  373. package/dist/themes/colorManager.js +362 -0
  374. package/dist/themes/examples/dark-theme.d.ts +139 -0
  375. package/dist/themes/examples/dark-theme.esm.js +124 -0
  376. package/dist/themes/examples/dark-theme.js +124 -0
  377. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  378. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  379. package/dist/themes/examples/minimal-theme.js +86 -0
  380. package/dist/themes/focus-management.d.ts +699 -0
  381. package/dist/themes/focus-management.esm.js +642 -0
  382. package/dist/themes/focus-management.js +642 -0
  383. package/dist/themes/fontLoader.d.ts +163 -0
  384. package/dist/themes/fontLoader.esm.js +192 -0
  385. package/dist/themes/fontLoader.js +192 -0
  386. package/dist/themes/high-contrast.d.ts +619 -0
  387. package/dist/themes/high-contrast.esm.js +573 -0
  388. package/dist/themes/high-contrast.js +573 -0
  389. package/dist/themes/index.d.ts +11 -0
  390. package/dist/themes/index.esm.js +19 -0
  391. package/dist/themes/index.js +19 -0
  392. package/dist/themes/inheritance.d.ts +160 -0
  393. package/dist/themes/inheritance.esm.js +219 -0
  394. package/dist/themes/inheritance.js +219 -0
  395. package/dist/themes/keyboard-navigation.d.ts +550 -0
  396. package/dist/themes/keyboard-navigation.esm.js +521 -0
  397. package/dist/themes/keyboard-navigation.js +521 -0
  398. package/dist/themes/motion-reduction.d.ts +660 -0
  399. package/dist/themes/motion-reduction.esm.js +602 -0
  400. package/dist/themes/motion-reduction.js +602 -0
  401. package/dist/themes/navigation.d.ts +232 -0
  402. package/dist/themes/navigation.esm.js +238 -0
  403. package/dist/themes/navigation.js +238 -0
  404. package/dist/themes/screen-reader.d.ts +645 -0
  405. package/dist/themes/screen-reader.esm.js +580 -0
  406. package/dist/themes/screen-reader.js +580 -0
  407. package/dist/themes/systemThemeDetector.d.ts +148 -0
  408. package/dist/themes/systemThemeDetector.esm.js +174 -0
  409. package/dist/themes/systemThemeDetector.js +174 -0
  410. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  411. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  412. package/dist/themes/themeCSSUpdater.js +250 -0
  413. package/dist/themes/themePersistence.d.ts +192 -0
  414. package/dist/themes/themePersistence.esm.js +217 -0
  415. package/dist/themes/themePersistence.js +217 -0
  416. package/dist/themes/themes/stan-design.d.ts +678 -0
  417. package/dist/themes/themes/stan-design.esm.js +518 -0
  418. package/dist/themes/themes/stan-design.js +518 -0
  419. package/dist/themes/types.d.ts +454 -0
  420. package/dist/themes/types.esm.js +446 -0
  421. package/dist/themes/types.js +446 -0
  422. package/dist/themes/useSystemTheme.d.ts +43 -0
  423. package/dist/themes/useSystemTheme.esm.js +48 -0
  424. package/dist/themes/useSystemTheme.js +48 -0
  425. package/dist/themes/useTheme.d.ts +20 -0
  426. package/dist/themes/useTheme.esm.js +87 -0
  427. package/dist/themes/useTheme.js +87 -0
  428. package/dist/themes/validation.d.ts +406 -0
  429. package/dist/themes/validation.esm.js +411 -0
  430. package/dist/themes/validation.js +411 -0
  431. package/dist/tokens/index.d.ts +25 -0
  432. package/dist/tokens/index.esm.js +23 -0
  433. package/dist/tokens/index.js +23 -0
  434. package/dist/tokens/tokenExporter.d.ts +336 -0
  435. package/dist/tokens/tokenExporter.esm.js +371 -0
  436. package/dist/tokens/tokenExporter.js +371 -0
  437. package/dist/tokens/tokenGenerator.d.ts +250 -0
  438. package/dist/tokens/tokenGenerator.esm.js +267 -0
  439. package/dist/tokens/tokenGenerator.js +267 -0
  440. package/dist/tokens/tokenManager.d.ts +194 -0
  441. package/dist/tokens/tokenManager.esm.js +235 -0
  442. package/dist/tokens/tokenManager.js +235 -0
  443. package/dist/tokens/tokenValidator.d.ts +488 -0
  444. package/dist/tokens/tokenValidator.esm.js +497 -0
  445. package/dist/tokens/tokenValidator.js +497 -0
  446. package/dist/tokens/types.d.ts +78 -0
  447. package/dist/tokens/types.esm.js +64 -0
  448. package/dist/tokens/types.js +64 -0
  449. package/dist/utils/bundle-analyzer.d.ts +260 -0
  450. package/dist/utils/bundle-analyzer.esm.js +242 -0
  451. package/dist/utils/bundle-analyzer.js +242 -0
  452. package/dist/utils/bundle-splitting.d.ts +483 -0
  453. package/dist/utils/bundle-splitting.esm.js +458 -0
  454. package/dist/utils/bundle-splitting.js +458 -0
  455. package/dist/utils/lazy-loading.d.ts +437 -0
  456. package/dist/utils/lazy-loading.esm.js +415 -0
  457. package/dist/utils/lazy-loading.js +415 -0
  458. package/dist/utils/performance-monitor.d.ts +513 -0
  459. package/dist/utils/performance-monitor.esm.js +472 -0
  460. package/dist/utils/performance-monitor.js +472 -0
  461. package/dist/utils/tree-shaking.d.ts +274 -0
  462. package/dist/utils/tree-shaking.esm.js +266 -0
  463. package/dist/utils/tree-shaking.js +266 -0
  464. package/package.json +1 -1
  465. package/src/index.ts +2 -2
  466. package/src/themes/accessibility/index.ts +1 -1
  467. package/src/themes/focus-management.ts +3 -3
  468. package/src/themes/keyboard-navigation.ts +3 -3
@@ -0,0 +1,238 @@
1
+ export const AnimationDemo: React.FC = () => {
2
+ const [currentAnimation, setCurrentAnimation] = useState<'fadeIn' | 'slideIn' | 'scaleIn' | 'bounce'>('fadeIn')
3
+ const [isAnimating, setIsAnimating] = useState(false)
4
+
5
+ const { profile, performanceMetrics, deviceInfo } = useAnimationProfile()
6
+ const { performanceMode, shouldOptimizeForBattery } = usePerformanceMode()
7
+
8
+ const animations = [
9
+ { key: 'fadeIn' as const, label: 'Fade In', icon: '✨' },
10
+ { key: 'slideIn' as const, label: 'Slide In', icon: '➡️' },
11
+ { key: 'scaleIn' as const, label: 'Scale In', icon: '🔍' },
12
+ { key: 'bounce' as const, label: 'Bounce', icon: '🎾' }
13
+ ]
14
+
15
+ const handleAnimationChange = (animation: typeof currentAnimation) => {
16
+ setCurrentAnimation(animation)
17
+ setIsAnimating(true)
18
+
19
+ // Reset animation state after a delay
20
+ setTimeout(() => setIsAnimating(false), 1000)
21
+ }
22
+
23
+ const performanceIndicators = [
24
+ { label: 'FPS', value: performanceMetrics.fps, unit: '', color: performanceMetrics.fps > 50 ? 'green' : performanceMetrics.fps > 30 ? 'yellow' : 'red' },
25
+ { label: 'Memory', value: performanceMetrics.memoryUsage ? Math.round(performanceMetrics.memoryUsage * 100) : 'N/A', unit: '%', color: 'blue' },
26
+ { label: 'Battery', value: performanceMetrics.batteryLevel ? Math.round(performanceMetrics.batteryLevel * 100) : 'N/A', unit: '%', color: performanceMetrics.isLowPowerMode ? 'red' : 'green' }
27
+ ]
28
+
29
+ return (
30
+ <div className="space-y-6 p-6">
31
+ <div className="text-center">
32
+ <h1 className="text-3xl font-bold mb-2">Mobile-First Animation System</h1>
33
+ <p className="text-gray-600 dark:text-gray-400">
34
+ Device-specific animations with performance optimization and battery awareness
35
+ </p>
36
+ </div>
37
+
38
+ {/* Performance Metrics */}
39
+ <Card className="p-4">
40
+ <h2 className="text-xl font-semibold mb-4">Performance Metrics</h2>
41
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
42
+ {performanceIndicators.map((indicator) => (
43
+ <div key={indicator.label} className="text-center">
44
+ <div className={`text-2xl font-bold text-${indicator.color}-600`}>
45
+ {indicator.value}{indicator.unit}
46
+ </div>
47
+ <div className="text-sm text-gray-600 dark:text-gray-400">
48
+ {indicator.label}
49
+ </div>
50
+ </div>
51
+ ))}
52
+ </div>
53
+
54
+ <div className="mt-4 space-y-2">
55
+ <div className="flex items-center justify-between">
56
+ <span>Performance Mode:</span>
57
+ <Badge variant={performanceMode === 'high' ? 'default' : performanceMode === 'medium' ? 'secondary' : 'destructive'}>
58
+ {performanceMode.toUpperCase()}
59
+ </Badge>
60
+ </div>
61
+ <div className="flex items-center justify-between">
62
+ <span>Battery Optimization:</span>
63
+ <Badge variant={shouldOptimizeForBattery ? 'destructive' : 'default'}>
64
+ {shouldOptimizeForBattery ? 'Enabled' : 'Disabled'}
65
+ </Badge>
66
+ </div>
67
+ <div className="flex items-center justify-between">
68
+ <span>Reduced Motion:</span>
69
+ <Badge variant={profile.performance.reducedMotion ? 'destructive' : 'default'}>
70
+ {profile.performance.reducedMotion ? 'Enabled' : 'Disabled'}
71
+ </Badge>
72
+ </div>
73
+ </div>
74
+ </Card>
75
+
76
+ {/* Device Information */}
77
+ <Card className="p-4">
78
+ <h2 className="text-xl font-semibold mb-4">Device Profile</h2>
79
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-4">
80
+ <div className="text-center">
81
+ <div className="text-lg font-semibold">{deviceInfo.screenSize}</div>
82
+ <div className="text-sm text-gray-600 dark:text-gray-400">Screen Size</div>
83
+ </div>
84
+ <div className="text-center">
85
+ <div className="text-lg font-semibold">{deviceInfo.orientation}</div>
86
+ <div className="text-sm text-gray-600 dark:text-gray-400">Orientation</div>
87
+ </div>
88
+ <div className="text-center">
89
+ <div className="text-lg font-semibold">{deviceInfo.touchDevice ? 'Touch' : 'Mouse'}</div>
90
+ <div className="text-sm text-gray-600 dark:text-gray-400">Input Type</div>
91
+ </div>
92
+ <div className="text-center">
93
+ <div className="text-lg font-semibold">{deviceInfo.isMobile ? 'Mobile' : deviceInfo.isTablet ? 'Tablet' : 'Desktop'}</div>
94
+ <div className="text-sm text-gray-600 dark:text-gray-400">Device Type</div>
95
+ </div>
96
+ </div>
97
+ </Card>
98
+
99
+ {/* Animation Controls */}
100
+ <Card className="p-4">
101
+ <h2 className="text-xl font-semibold mb-4">Animation Controls</h2>
102
+ <div className="flex flex-wrap gap-2 mb-4">
103
+ {animations.map((animation) => (
104
+ <Button
105
+ key={animation.key}
106
+ variant={currentAnimation === animation.key ? 'default' : 'outline'}
107
+ onClick={() => handleAnimationChange(animation.key)}
108
+ disabled={isAnimating}
109
+ className="flex items-center gap-2"
110
+ >
111
+ <span>{animation.icon}</span>
112
+ {animation.label}
113
+ </Button>
114
+ ))}
115
+ </div>
116
+
117
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
118
+ <div>
119
+ <label className="block text-sm font-medium mb-2">Current Animation Profile</label>
120
+ <div className="space-y-2 text-sm">
121
+ <div>Duration: {profile.duration.normal}</div>
122
+ <div>Easing: {profile.easing.ease}</div>
123
+ <div>Performance: {profile.performance.mode}</div>
124
+ </div>
125
+ </div>
126
+ <div>
127
+ <label className="block text-sm font-medium mb-2">Animation Classes</label>
128
+ <div className="text-xs bg-gray-100 dark:bg-gray-800 p-2 rounded">
129
+ {deviceInfo.isMobile && 'coach-stan-mobile-animation '}
130
+ {deviceInfo.isTablet && 'coach-stan-tablet-animation '}
131
+ {deviceInfo.isDesktop && 'coach-stan-desktop-animation '}
132
+ {shouldOptimizeForBattery && 'coach-stan-battery-saver '}
133
+ {profile.performance.reducedMotion && 'reduced-motion'}
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </Card>
138
+
139
+ {/* Animation Examples */}
140
+ <Card className="p-4">
141
+ <h2 className="text-xl font-semibold mb-4">Animation Examples</h2>
142
+
143
+ {/* Single Animation */}
144
+ <div className="mb-6">
145
+ <h3 className="text-lg font-medium mb-3">Single Animation</h3>
146
+ <AnimatedContainer
147
+ animation={currentAnimation}
148
+ duration="normal"
149
+ easing="ease"
150
+ className="h-32 bg-gradient-to-r from-blue-500 to-purple-500 rounded-lg flex items-center justify-center text-white font-semibold"
151
+ >
152
+ <div className="text-center">
153
+ <div className="text-2xl mb-2">🎭</div>
154
+ <div>Animated Element</div>
155
+ <div className="text-sm opacity-75">{currentAnimation}</div>
156
+ </div>
157
+ </AnimatedContainer>
158
+ </div>
159
+
160
+ {/* Staggered Animations */}
161
+ <div className="mb-6">
162
+ <h3 className="text-lg font-medium mb-3">Staggered Animations</h3>
163
+ <StaggeredContainer
164
+ animation="slideIn"
165
+ duration="fast"
166
+ staggerDelay={0.1}
167
+ staggerDirection="forward"
168
+ className="grid grid-cols-2 md:grid-cols-4 gap-4"
169
+ >
170
+ {[1, 2, 3, 4].map((num) => (
171
+ <div
172
+ key={num}
173
+ className="h-20 bg-gradient-to-br from-green-400 to-blue-500 rounded-lg flex items-center justify-center text-white font-bold text-xl"
174
+ >
175
+ {num}
176
+ </div>
177
+ ))}
178
+ </StaggeredContainer>
179
+ </div>
180
+
181
+ {/* Performance Mode Comparison */}
182
+ <div>
183
+ <h3 className="text-lg font-medium mb-3">Performance Mode Comparison</h3>
184
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
185
+ <AnimatedContainer
186
+ animation="fadeIn"
187
+ duration="fast"
188
+ className="h-24 bg-red-400 rounded-lg flex items-center justify-center text-white font-semibold"
189
+ >
190
+ Fast Mode
191
+ </AnimatedContainer>
192
+ <AnimatedContainer
193
+ animation="fadeIn"
194
+ duration="normal"
195
+ className="h-24 bg-yellow-400 rounded-lg flex items-center justify-center text-white font-semibold"
196
+ >
197
+ Normal Mode
198
+ </AnimatedContainer>
199
+ <AnimatedContainer
200
+ animation="fadeIn"
201
+ duration="slow"
202
+ className="h-24 bg-green-400 rounded-lg flex items-center justify-center text-white font-semibold"
203
+ >
204
+ Slow Mode
205
+ </AnimatedContainer>
206
+ </div>
207
+ </div>
208
+ </Card>
209
+
210
+ {/* Technical Details */}
211
+ <Card className="p-4">
212
+ <h2 className="text-xl font-semibold mb-4">Technical Details</h2>
213
+ <div className="space-y-4">
214
+ <div>
215
+ <h3 className="font-medium mb-2">Animation Profile</h3>
216
+ <pre className="text-xs bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto">
217
+ {JSON.stringify(profile, null, 2)}
218
+ </pre>
219
+ </div>
220
+
221
+ <div>
222
+ <h3 className="font-medium mb-2">Device Info</h3>
223
+ <pre className="text-xs bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto">
224
+ {JSON.stringify(deviceInfo, null, 2)}
225
+ </pre>
226
+ </div>
227
+
228
+ <div>
229
+ <h3 className="font-medium mb-2">Performance Metrics</h3>
230
+ <pre className="text-xs bg-gray-100 dark:bg-gray-800 p-3 rounded overflow-x-auto">
231
+ {JSON.stringify(performanceMetrics, null, 2)}
232
+ </pre>
233
+ </div>
234
+ </div>
235
+ </Card>
236
+ </div>
237
+ )
238
+ }
@@ -0,0 +1,218 @@
1
+ import React, { useState } from 'react'
2
+ import { Card } from './card'
3
+ import { Button } from './button'
4
+ import { Badge } from './badge'
5
+ import {
6
+ AnimatedContainer,
7
+ StaggeredContainer,
8
+ useAnimationProfile,
9
+ usePerformanceMode
10
+ } from './animation'
11
+
12
+
13
+ export const AnimationDemo= () => {
14
+ const [currentAnimation, setCurrentAnimation] = useState<'fadeIn' | 'slideIn' | 'scaleIn' | 'bounce'>('fadeIn')
15
+ const [isAnimating, setIsAnimating] = useState(false)
16
+
17
+ const { profile, performanceMetrics, deviceInfo } = useAnimationProfile()
18
+ const { performanceMode, shouldOptimizeForBattery } = usePerformanceMode()
19
+
20
+ const animations = [
21
+ { key, label, icon},
22
+ { key, label, icon},
23
+ { key, label, icon},
24
+ { key, label, icon}
25
+ ]
26
+
27
+ const handleAnimationChange = (animation) => {
28
+ setCurrentAnimation(animation)
29
+ setIsAnimating(true)
30
+
31
+ // Reset animation state after a delay
32
+ setTimeout(() => setIsAnimating(false), 1000)
33
+ }
34
+
35
+ const performanceIndicators = [
36
+ { label, value, unit, color},
37
+ { label, value) , unit, color},
38
+ { label, value) , unit, color}
39
+ ]
40
+
41
+ return (
42
+ <div className="space-y-6 p-6">
43
+ <div className="text-center">
44
+ <h1 className="text-3xl font-bold mb-2">Mobile-First Animation System</h1>
45
+ <p className="text-gray-600 dark}
46
+ <Card className="p-4">
47
+ <h2 className="text-xl font-semibold mb-4">Performance Metrics</h2>
48
+ <div className="grid grid-cols-1 md) => (
49
+ <div key={indicator.label} className="text-center">
50
+ <div className={`text-2xl font-bold text-${indicator.color}-600`}>
51
+ {indicator.value}{indicator.unit}
52
+ </div>
53
+ <div className="text-sm text-gray-600 dark}
54
+ </div>
55
+ </div>
56
+ ))}
57
+ </div>
58
+
59
+ <div className="mt-4 space-y-2">
60
+ <div className="flex items-center justify-between">
61
+ <span>Performance Mode={performanceMode === 'high' ? 'default' === 'medium' ? 'secondary' }>
62
+ {performanceMode.toUpperCase()}
63
+ </Badge>
64
+ </div>
65
+ <div className="flex items-center justify-between">
66
+ <span>Battery Optimization={shouldOptimizeForBattery ? 'destructive' }>
67
+ {shouldOptimizeForBattery ? 'Enabled' }
68
+ </Badge>
69
+ </div>
70
+ <div className="flex items-center justify-between">
71
+ <span>Reduced Motion={profile.performance.reducedMotion ? 'destructive' }>
72
+ {profile.performance.reducedMotion ? 'Enabled' }
73
+ </Badge>
74
+ </div>
75
+ </div>
76
+ </Card>
77
+
78
+ {/* Device Information */}
79
+ <Card className="p-4">
80
+ <h2 className="text-xl font-semibold mb-4">Device Profile</h2>
81
+ <div className="grid grid-cols-2 md="text-center">
82
+ <div className="text-lg font-semibold">{deviceInfo.screenSize}</div>
83
+ <div className="text-sm text-gray-600 dark="text-center">
84
+ <div className="text-lg font-semibold">{deviceInfo.orientation}</div>
85
+ <div className="text-sm text-gray-600 dark="text-center">
86
+ <div className="text-lg font-semibold">{deviceInfo.touchDevice ? 'Touch' }</div>
87
+ <div className="text-sm text-gray-600 dark="text-center">
88
+ <div className="text-lg font-semibold">{deviceInfo.isMobile ? 'Mobile' }</div>
89
+ <div className="text-sm text-gray-600 dark}
90
+ <Card className="p-4">
91
+ <h2 className="text-xl font-semibold mb-4">Animation Controls</h2>
92
+ <div className="flex flex-wrap gap-2 mb-4">
93
+ {animations.map((animation) => (
94
+ <Button
95
+ key={animation.key}
96
+ variant={currentAnimation === animation.key ? 'default' }
97
+ onClick={() => handleAnimationChange(animation.key)}
98
+ disabled={isAnimating}
99
+ className="flex items-center gap-2"
100
+ >
101
+ <span>{animation.icon}</span>
102
+ {animation.label}
103
+ </Button>
104
+ ))}
105
+ </div>
106
+
107
+ <div className="grid grid-cols-1 md="block text-sm font-medium mb-2">Current Animation Profile</label>
108
+ <div className="space-y-2 text-sm">
109
+ <div>Duration}</div>
110
+ <div>Easing}</div>
111
+ <div>Performance}</div>
112
+ </div>
113
+ </div>
114
+ <div>
115
+ <label className="block text-sm font-medium mb-2">Animation Classes</label>
116
+ <div className="text-xs bg-gray-100 dark}
117
+ {deviceInfo.isTablet && 'coach-stan-tablet-animation '}
118
+ {deviceInfo.isDesktop && 'coach-stan-desktop-animation '}
119
+ {shouldOptimizeForBattery && 'coach-stan-battery-saver '}
120
+ {profile.performance.reducedMotion && 'reduced-motion'}
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </Card>
125
+
126
+ {/* Animation Examples */}
127
+ <Card className="p-4">
128
+ <h2 className="text-xl font-semibold mb-4">Animation Examples</h2>
129
+
130
+ {/* Single Animation */}
131
+ <div className="mb-6">
132
+ <h3 className="text-lg font-medium mb-3">Single Animation</h3>
133
+ <AnimatedContainer
134
+ animation={currentAnimation}
135
+ duration="normal"
136
+ easing="ease"
137
+ className="h-32 bg-gradient-to-r from-blue-500 to-purple-500 rounded-lg flex items-center justify-center text-white font-semibold"
138
+ >
139
+ <div className="text-center">
140
+ <div className="text-2xl mb-2">🎭</div>
141
+ <div>Animated Element</div>
142
+ <div className="text-sm opacity-75">{currentAnimation}</div>
143
+ </div>
144
+ </AnimatedContainer>
145
+ </div>
146
+
147
+ {/* Staggered Animations */}
148
+ <div className="mb-6">
149
+ <h3 className="text-lg font-medium mb-3">Staggered Animations</h3>
150
+ <StaggeredContainer
151
+ animation="slideIn"
152
+ duration="fast"
153
+ staggerDelay={0.1}
154
+ staggerDirection="forward"
155
+ className="grid grid-cols-2 md, 2, 3, 4].map((num) => (
156
+ <div
157
+ key={num}
158
+ className="h-20 bg-gradient-to-br from-green-400 to-blue-500 rounded-lg flex items-center justify-center text-white font-bold text-xl"
159
+ >
160
+ {num}
161
+ </div>
162
+ ))}
163
+ </StaggeredContainer>
164
+ </div>
165
+
166
+ {/* Performance Mode Comparison */}
167
+ <div>
168
+ <h3 className="text-lg font-medium mb-3">Performance Mode Comparison</h3>
169
+ <div className="grid grid-cols-1 md="fadeIn"
170
+ duration="fast"
171
+ className="h-24 bg-red-400 rounded-lg flex items-center justify-center text-white font-semibold"
172
+ >
173
+ Fast Mode
174
+ </AnimatedContainer>
175
+ <AnimatedContainer
176
+ animation="fadeIn"
177
+ duration="normal"
178
+ className="h-24 bg-yellow-400 rounded-lg flex items-center justify-center text-white font-semibold"
179
+ >
180
+ Normal Mode
181
+ </AnimatedContainer>
182
+ <AnimatedContainer
183
+ animation="fadeIn"
184
+ duration="slow"
185
+ className="h-24 bg-green-400 rounded-lg flex items-center justify-center text-white font-semibold"
186
+ >
187
+ Slow Mode
188
+ </AnimatedContainer>
189
+ </div>
190
+ </div>
191
+ </Card>
192
+
193
+ {/* Technical Details */}
194
+ <Card className="p-4">
195
+ <h2 className="text-xl font-semibold mb-4">Technical Details</h2>
196
+ <div className="space-y-4">
197
+ <div>
198
+ <h3 className="font-medium mb-2">Animation Profile</h3>
199
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
200
+ </pre>
201
+ </div>
202
+
203
+ <div>
204
+ <h3 className="font-medium mb-2">Device Info</h3>
205
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
206
+ </pre>
207
+ </div>
208
+
209
+ <div>
210
+ <h3 className="font-medium mb-2">Performance Metrics</h3>
211
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
212
+ </pre>
213
+ </div>
214
+ </div>
215
+ </Card>
216
+ </div>
217
+ )
218
+ }
@@ -0,0 +1,218 @@
1
+ import React, { useState } from 'react'
2
+ import { Card } from './card'
3
+ import { Button } from './button'
4
+ import { Badge } from './badge'
5
+ import {
6
+ AnimatedContainer,
7
+ StaggeredContainer,
8
+ useAnimationProfile,
9
+ usePerformanceMode
10
+ } from './animation'
11
+
12
+
13
+ export const AnimationDemo= () => {
14
+ const [currentAnimation, setCurrentAnimation] = useState<'fadeIn' | 'slideIn' | 'scaleIn' | 'bounce'>('fadeIn')
15
+ const [isAnimating, setIsAnimating] = useState(false)
16
+
17
+ const { profile, performanceMetrics, deviceInfo } = useAnimationProfile()
18
+ const { performanceMode, shouldOptimizeForBattery } = usePerformanceMode()
19
+
20
+ const animations = [
21
+ { key, label, icon},
22
+ { key, label, icon},
23
+ { key, label, icon},
24
+ { key, label, icon}
25
+ ]
26
+
27
+ const handleAnimationChange = (animation) => {
28
+ setCurrentAnimation(animation)
29
+ setIsAnimating(true)
30
+
31
+ // Reset animation state after a delay
32
+ setTimeout(() => setIsAnimating(false), 1000)
33
+ }
34
+
35
+ const performanceIndicators = [
36
+ { label, value, unit, color},
37
+ { label, value) , unit, color},
38
+ { label, value) , unit, color}
39
+ ]
40
+
41
+ return (
42
+ <div className="space-y-6 p-6">
43
+ <div className="text-center">
44
+ <h1 className="text-3xl font-bold mb-2">Mobile-First Animation System</h1>
45
+ <p className="text-gray-600 dark}
46
+ <Card className="p-4">
47
+ <h2 className="text-xl font-semibold mb-4">Performance Metrics</h2>
48
+ <div className="grid grid-cols-1 md) => (
49
+ <div key={indicator.label} className="text-center">
50
+ <div className={`text-2xl font-bold text-${indicator.color}-600`}>
51
+ {indicator.value}{indicator.unit}
52
+ </div>
53
+ <div className="text-sm text-gray-600 dark}
54
+ </div>
55
+ </div>
56
+ ))}
57
+ </div>
58
+
59
+ <div className="mt-4 space-y-2">
60
+ <div className="flex items-center justify-between">
61
+ <span>Performance Mode={performanceMode === 'high' ? 'default' === 'medium' ? 'secondary' }>
62
+ {performanceMode.toUpperCase()}
63
+ </Badge>
64
+ </div>
65
+ <div className="flex items-center justify-between">
66
+ <span>Battery Optimization={shouldOptimizeForBattery ? 'destructive' }>
67
+ {shouldOptimizeForBattery ? 'Enabled' }
68
+ </Badge>
69
+ </div>
70
+ <div className="flex items-center justify-between">
71
+ <span>Reduced Motion={profile.performance.reducedMotion ? 'destructive' }>
72
+ {profile.performance.reducedMotion ? 'Enabled' }
73
+ </Badge>
74
+ </div>
75
+ </div>
76
+ </Card>
77
+
78
+ {/* Device Information */}
79
+ <Card className="p-4">
80
+ <h2 className="text-xl font-semibold mb-4">Device Profile</h2>
81
+ <div className="grid grid-cols-2 md="text-center">
82
+ <div className="text-lg font-semibold">{deviceInfo.screenSize}</div>
83
+ <div className="text-sm text-gray-600 dark="text-center">
84
+ <div className="text-lg font-semibold">{deviceInfo.orientation}</div>
85
+ <div className="text-sm text-gray-600 dark="text-center">
86
+ <div className="text-lg font-semibold">{deviceInfo.touchDevice ? 'Touch' }</div>
87
+ <div className="text-sm text-gray-600 dark="text-center">
88
+ <div className="text-lg font-semibold">{deviceInfo.isMobile ? 'Mobile' }</div>
89
+ <div className="text-sm text-gray-600 dark}
90
+ <Card className="p-4">
91
+ <h2 className="text-xl font-semibold mb-4">Animation Controls</h2>
92
+ <div className="flex flex-wrap gap-2 mb-4">
93
+ {animations.map((animation) => (
94
+ <Button
95
+ key={animation.key}
96
+ variant={currentAnimation === animation.key ? 'default' }
97
+ onClick={() => handleAnimationChange(animation.key)}
98
+ disabled={isAnimating}
99
+ className="flex items-center gap-2"
100
+ >
101
+ <span>{animation.icon}</span>
102
+ {animation.label}
103
+ </Button>
104
+ ))}
105
+ </div>
106
+
107
+ <div className="grid grid-cols-1 md="block text-sm font-medium mb-2">Current Animation Profile</label>
108
+ <div className="space-y-2 text-sm">
109
+ <div>Duration}</div>
110
+ <div>Easing}</div>
111
+ <div>Performance}</div>
112
+ </div>
113
+ </div>
114
+ <div>
115
+ <label className="block text-sm font-medium mb-2">Animation Classes</label>
116
+ <div className="text-xs bg-gray-100 dark}
117
+ {deviceInfo.isTablet && 'coach-stan-tablet-animation '}
118
+ {deviceInfo.isDesktop && 'coach-stan-desktop-animation '}
119
+ {shouldOptimizeForBattery && 'coach-stan-battery-saver '}
120
+ {profile.performance.reducedMotion && 'reduced-motion'}
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </Card>
125
+
126
+ {/* Animation Examples */}
127
+ <Card className="p-4">
128
+ <h2 className="text-xl font-semibold mb-4">Animation Examples</h2>
129
+
130
+ {/* Single Animation */}
131
+ <div className="mb-6">
132
+ <h3 className="text-lg font-medium mb-3">Single Animation</h3>
133
+ <AnimatedContainer
134
+ animation={currentAnimation}
135
+ duration="normal"
136
+ easing="ease"
137
+ className="h-32 bg-gradient-to-r from-blue-500 to-purple-500 rounded-lg flex items-center justify-center text-white font-semibold"
138
+ >
139
+ <div className="text-center">
140
+ <div className="text-2xl mb-2">🎭</div>
141
+ <div>Animated Element</div>
142
+ <div className="text-sm opacity-75">{currentAnimation}</div>
143
+ </div>
144
+ </AnimatedContainer>
145
+ </div>
146
+
147
+ {/* Staggered Animations */}
148
+ <div className="mb-6">
149
+ <h3 className="text-lg font-medium mb-3">Staggered Animations</h3>
150
+ <StaggeredContainer
151
+ animation="slideIn"
152
+ duration="fast"
153
+ staggerDelay={0.1}
154
+ staggerDirection="forward"
155
+ className="grid grid-cols-2 md, 2, 3, 4].map((num) => (
156
+ <div
157
+ key={num}
158
+ className="h-20 bg-gradient-to-br from-green-400 to-blue-500 rounded-lg flex items-center justify-center text-white font-bold text-xl"
159
+ >
160
+ {num}
161
+ </div>
162
+ ))}
163
+ </StaggeredContainer>
164
+ </div>
165
+
166
+ {/* Performance Mode Comparison */}
167
+ <div>
168
+ <h3 className="text-lg font-medium mb-3">Performance Mode Comparison</h3>
169
+ <div className="grid grid-cols-1 md="fadeIn"
170
+ duration="fast"
171
+ className="h-24 bg-red-400 rounded-lg flex items-center justify-center text-white font-semibold"
172
+ >
173
+ Fast Mode
174
+ </AnimatedContainer>
175
+ <AnimatedContainer
176
+ animation="fadeIn"
177
+ duration="normal"
178
+ className="h-24 bg-yellow-400 rounded-lg flex items-center justify-center text-white font-semibold"
179
+ >
180
+ Normal Mode
181
+ </AnimatedContainer>
182
+ <AnimatedContainer
183
+ animation="fadeIn"
184
+ duration="slow"
185
+ className="h-24 bg-green-400 rounded-lg flex items-center justify-center text-white font-semibold"
186
+ >
187
+ Slow Mode
188
+ </AnimatedContainer>
189
+ </div>
190
+ </div>
191
+ </Card>
192
+
193
+ {/* Technical Details */}
194
+ <Card className="p-4">
195
+ <h2 className="text-xl font-semibold mb-4">Technical Details</h2>
196
+ <div className="space-y-4">
197
+ <div>
198
+ <h3 className="font-medium mb-2">Animation Profile</h3>
199
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
200
+ </pre>
201
+ </div>
202
+
203
+ <div>
204
+ <h3 className="font-medium mb-2">Device Info</h3>
205
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
206
+ </pre>
207
+ </div>
208
+
209
+ <div>
210
+ <h3 className="font-medium mb-2">Performance Metrics</h3>
211
+ <pre className="text-xs bg-gray-100 dark, null, 2)}
212
+ </pre>
213
+ </div>
214
+ </div>
215
+ </Card>
216
+ </div>
217
+ )
218
+ }