@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.10 → 0.2.16
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.
- package/CHANGELOG.md +1 -1
- package/dist/components/ui/accessibility-demo.esm.js +80 -258
- package/dist/components/ui/accessibility-demo.js +80 -258
- package/dist/components/ui/advanced-component-architecture-demo.esm.js +256 -916
- package/dist/components/ui/advanced-component-architecture-demo.js +256 -916
- package/dist/components/ui/advanced-transition-system-demo.esm.js +59 -670
- package/dist/components/ui/advanced-transition-system-demo.js +59 -670
- package/dist/components/ui/advanced-transition-system.esm.js +194 -378
- package/dist/components/ui/advanced-transition-system.js +194 -378
- package/dist/components/ui/animation/animated-container.esm.js +98 -159
- package/dist/components/ui/animation/animated-container.js +98 -159
- package/dist/components/ui/animation/index.esm.js +3 -18
- package/dist/components/ui/animation/index.js +3 -18
- package/dist/components/ui/animation/staggered-container.esm.js +37 -68
- package/dist/components/ui/animation/staggered-container.js +37 -68
- package/dist/components/ui/animation-demo.esm.js +30 -250
- package/dist/components/ui/animation-demo.js +30 -250
- package/dist/components/ui/badge.esm.js +15 -28
- package/dist/components/ui/badge.js +15 -28
- package/dist/components/ui/battery-conscious-animation-demo.esm.js +136 -565
- package/dist/components/ui/battery-conscious-animation-demo.js +136 -565
- package/dist/components/ui/border-radius-shadow-demo.esm.js +3 -184
- package/dist/components/ui/border-radius-shadow-demo.js +3 -184
- package/dist/components/ui/button.esm.js +14 -33
- package/dist/components/ui/button.js +14 -33
- package/dist/components/ui/card.esm.js +74 -188
- package/dist/components/ui/card.js +74 -188
- package/dist/components/ui/checkbox.esm.js +11 -30
- package/dist/components/ui/checkbox.js +11 -30
- package/dist/components/ui/color-preview.esm.js +50 -405
- package/dist/components/ui/color-preview.js +50 -405
- package/dist/components/ui/data-display/chart.esm.js +210 -632
- package/dist/components/ui/data-display/chart.js +210 -632
- package/dist/components/ui/data-display/data-grid-simple.esm.js +16 -74
- package/dist/components/ui/data-display/data-grid-simple.js +16 -74
- package/dist/components/ui/data-display/data-grid.esm.js +173 -661
- package/dist/components/ui/data-display/data-grid.js +173 -661
- package/dist/components/ui/data-display/list.esm.js +88 -446
- package/dist/components/ui/data-display/list.js +88 -446
- package/dist/components/ui/data-display/table.esm.js +109 -468
- package/dist/components/ui/data-display/table.js +109 -468
- package/dist/components/ui/data-display/timeline.esm.js +92 -431
- package/dist/components/ui/data-display/timeline.js +92 -431
- package/dist/components/ui/data-display/tree.esm.js +211 -585
- package/dist/components/ui/data-display/tree.js +211 -585
- package/dist/components/ui/data-display/types.esm.js +1 -530
- package/dist/components/ui/data-display/types.js +1 -530
- package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +76 -749
- package/dist/components/ui/enterprise-mobile-experience-demo.js +76 -749
- package/dist/components/ui/enterprise-mobile-experience.esm.js +152 -460
- package/dist/components/ui/enterprise-mobile-experience.js +152 -460
- package/dist/components/ui/feedback/alert.esm.js +40 -148
- package/dist/components/ui/feedback/alert.js +40 -148
- package/dist/components/ui/feedback/progress.esm.js +74 -278
- package/dist/components/ui/feedback/progress.js +74 -278
- package/dist/components/ui/feedback/skeleton.esm.js +64 -173
- package/dist/components/ui/feedback/skeleton.js +64 -173
- package/dist/components/ui/feedback/toast.esm.js +86 -225
- package/dist/components/ui/feedback/toast.js +86 -225
- package/dist/components/ui/feedback/types.esm.js +1 -125
- package/dist/components/ui/feedback/types.js +1 -125
- package/dist/components/ui/font-preview.esm.js +56 -283
- package/dist/components/ui/font-preview.js +56 -283
- package/dist/components/ui/form-demo.esm.js +191 -553
- package/dist/components/ui/form-demo.js +191 -553
- package/dist/components/ui/hardware-acceleration-demo.esm.js +103 -544
- package/dist/components/ui/hardware-acceleration-demo.js +103 -544
- package/dist/components/ui/input.esm.js +13 -32
- package/dist/components/ui/input.js +13 -32
- package/dist/components/ui/label.esm.js +6 -16
- package/dist/components/ui/label.js +6 -16
- package/dist/components/ui/layout-demo.esm.js +76 -367
- package/dist/components/ui/layout-demo.js +76 -367
- package/dist/components/ui/layouts/adaptive-layout.esm.js +60 -139
- package/dist/components/ui/layouts/adaptive-layout.js +60 -139
- package/dist/components/ui/layouts/desktop-layout.esm.js +39 -224
- package/dist/components/ui/layouts/desktop-layout.js +39 -224
- package/dist/components/ui/layouts/index.esm.js +4 -10
- package/dist/components/ui/layouts/index.js +4 -10
- package/dist/components/ui/layouts/mobile-layout.esm.js +49 -162
- package/dist/components/ui/layouts/mobile-layout.js +49 -162
- package/dist/components/ui/layouts/tablet-layout.esm.js +53 -197
- package/dist/components/ui/layouts/tablet-layout.js +53 -197
- package/dist/components/ui/mobile-form-validation.esm.js +185 -420
- package/dist/components/ui/mobile-form-validation.js +185 -420
- package/dist/components/ui/mobile-input-demo.esm.js +11 -198
- package/dist/components/ui/mobile-input-demo.js +11 -198
- package/dist/components/ui/mobile-input.esm.js +187 -270
- package/dist/components/ui/mobile-input.js +187 -270
- package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +144 -638
- package/dist/components/ui/mobile-skeleton-loading-demo.js +144 -638
- package/dist/components/ui/navigation/breadcrumb.esm.js +51 -154
- package/dist/components/ui/navigation/breadcrumb.js +51 -154
- package/dist/components/ui/navigation/index.esm.js +0 -26
- package/dist/components/ui/navigation/index.js +0 -26
- package/dist/components/ui/navigation/menu.esm.js +178 -365
- package/dist/components/ui/navigation/menu.js +178 -365
- package/dist/components/ui/navigation/navigation-demo.esm.js +130 -315
- package/dist/components/ui/navigation/navigation-demo.js +130 -315
- package/dist/components/ui/navigation/pagination.esm.js +142 -264
- package/dist/components/ui/navigation/pagination.js +142 -264
- package/dist/components/ui/navigation/sidebar.esm.js +156 -368
- package/dist/components/ui/navigation/sidebar.js +156 -368
- package/dist/components/ui/navigation/stepper.esm.js +131 -295
- package/dist/components/ui/navigation/stepper.js +131 -295
- package/dist/components/ui/navigation/tabs.esm.js +89 -198
- package/dist/components/ui/navigation/tabs.js +89 -198
- package/dist/components/ui/navigation/types.esm.js +1 -295
- package/dist/components/ui/navigation/types.js +1 -295
- package/dist/components/ui/overlay/backdrop.esm.js +39 -78
- package/dist/components/ui/overlay/backdrop.js +39 -78
- package/dist/components/ui/overlay/focus-manager.esm.js +96 -140
- package/dist/components/ui/overlay/focus-manager.js +96 -140
- package/dist/components/ui/overlay/index.esm.js +0 -27
- package/dist/components/ui/overlay/index.js +0 -27
- package/dist/components/ui/overlay/modal.esm.js +94 -249
- package/dist/components/ui/overlay/modal.js +94 -249
- package/dist/components/ui/overlay/overlay-manager.esm.js +60 -100
- package/dist/components/ui/overlay/overlay-manager.js +60 -100
- package/dist/components/ui/overlay/popover.esm.js +258 -438
- package/dist/components/ui/overlay/popover.js +258 -438
- package/dist/components/ui/overlay/portal.esm.js +45 -74
- package/dist/components/ui/overlay/portal.js +45 -74
- package/dist/components/ui/overlay/tooltip.esm.js +202 -288
- package/dist/components/ui/overlay/tooltip.js +202 -288
- package/dist/components/ui/overlay/types.esm.js +1 -196
- package/dist/components/ui/overlay/types.js +1 -196
- package/dist/components/ui/performance-demo.esm.js +110 -596
- package/dist/components/ui/performance-demo.js +110 -596
- package/dist/components/ui/semantic-input-system-demo.esm.js +87 -501
- package/dist/components/ui/semantic-input-system-demo.js +87 -501
- package/dist/components/ui/theme-customizer.esm.js +123 -371
- package/dist/components/ui/theme-customizer.js +123 -371
- package/dist/components/ui/theme-preview.esm.js +44 -306
- package/dist/components/ui/theme-preview.js +44 -306
- package/dist/components/ui/theme-switcher.esm.js +79 -258
- package/dist/components/ui/theme-switcher.js +79 -258
- package/dist/components/ui/theme-toggle.esm.js +22 -35
- package/dist/components/ui/theme-toggle.js +22 -35
- package/dist/components/ui/token-demo.esm.js +42 -189
- package/dist/components/ui/token-demo.js +42 -189
- package/dist/components/ui/touch-demo.esm.js +96 -462
- package/dist/components/ui/touch-demo.js +96 -462
- package/dist/components/ui/touch-friendly-interface-demo.esm.js +63 -519
- package/dist/components/ui/touch-friendly-interface-demo.js +63 -519
- package/dist/components/ui/touch-friendly-interface.esm.js +103 -281
- package/dist/components/ui/touch-friendly-interface.js +103 -281
- package/dist/hooks/index.esm.js +23 -181
- package/dist/hooks/index.js +23 -181
- package/dist/hooks/use-accessibility-support.esm.js +377 -518
- package/dist/hooks/use-accessibility-support.js +377 -518
- package/dist/hooks/use-adaptive-layout.esm.js +212 -287
- package/dist/hooks/use-adaptive-layout.js +212 -287
- package/dist/hooks/use-advanced-patterns.esm.js +185 -293
- package/dist/hooks/use-advanced-patterns.js +185 -293
- package/dist/hooks/use-advanced-transition-system.esm.js +286 -392
- package/dist/hooks/use-advanced-transition-system.js +286 -392
- package/dist/hooks/use-animation-profile.esm.js +221 -283
- package/dist/hooks/use-animation-profile.js +221 -283
- package/dist/hooks/use-battery-animations.esm.js +310 -384
- package/dist/hooks/use-battery-animations.js +310 -384
- package/dist/hooks/use-battery-conscious-loading.esm.js +374 -468
- package/dist/hooks/use-battery-conscious-loading.js +374 -468
- package/dist/hooks/use-battery-optimization.esm.js +267 -329
- package/dist/hooks/use-battery-optimization.js +267 -329
- package/dist/hooks/use-battery-status.esm.js +213 -293
- package/dist/hooks/use-battery-status.js +213 -293
- package/dist/hooks/use-component-performance.esm.js +235 -341
- package/dist/hooks/use-component-performance.js +235 -341
- package/dist/hooks/use-device-loading-states.esm.js +356 -457
- package/dist/hooks/use-device-loading-states.js +356 -457
- package/dist/hooks/use-device.esm.js +77 -102
- package/dist/hooks/use-device.js +77 -102
- package/dist/hooks/use-enterprise-mobile-experience.esm.js +349 -487
- package/dist/hooks/use-enterprise-mobile-experience.js +349 -487
- package/dist/hooks/use-form-feedback.esm.js +313 -398
- package/dist/hooks/use-form-feedback.js +313 -398
- package/dist/hooks/use-form-performance.esm.js +407 -500
- package/dist/hooks/use-form-performance.js +407 -500
- package/dist/hooks/use-frame-rate.esm.js +178 -251
- package/dist/hooks/use-frame-rate.js +178 -251
- package/dist/hooks/use-gestures.esm.js +230 -332
- package/dist/hooks/use-gestures.js +230 -332
- package/dist/hooks/use-hardware-acceleration.esm.js +246 -339
- package/dist/hooks/use-hardware-acceleration.js +246 -339
- package/dist/hooks/use-input-accessibility.esm.js +350 -454
- package/dist/hooks/use-input-accessibility.js +350 -454
- package/dist/hooks/use-input-performance.esm.js +419 -502
- package/dist/hooks/use-input-performance.js +419 -502
- package/dist/hooks/use-layout-performance.esm.js +233 -319
- package/dist/hooks/use-layout-performance.js +233 -319
- package/dist/hooks/use-loading-accessibility.esm.js +421 -531
- package/dist/hooks/use-loading-accessibility.js +421 -531
- package/dist/hooks/use-loading-performance.esm.js +398 -469
- package/dist/hooks/use-loading-performance.js +398 -469
- package/dist/hooks/use-memory-usage.esm.js +211 -287
- package/dist/hooks/use-memory-usage.js +211 -287
- package/dist/hooks/use-mobile-form-layout.esm.js +365 -458
- package/dist/hooks/use-mobile-form-layout.js +365 -458
- package/dist/hooks/use-mobile-form-validation.esm.js +384 -497
- package/dist/hooks/use-mobile-form-validation.js +384 -497
- package/dist/hooks/use-mobile-keyboard-optimization.esm.js +354 -468
- package/dist/hooks/use-mobile-keyboard-optimization.js +354 -468
- package/dist/hooks/use-mobile-layout.esm.js +207 -294
- package/dist/hooks/use-mobile-layout.js +207 -294
- package/dist/hooks/use-mobile-optimization.esm.js +308 -404
- package/dist/hooks/use-mobile-optimization.js +308 -404
- package/dist/hooks/use-mobile-skeleton.esm.js +300 -402
- package/dist/hooks/use-mobile-skeleton.js +300 -402
- package/dist/hooks/use-mobile-touch.esm.js +314 -412
- package/dist/hooks/use-mobile-touch.js +314 -412
- package/dist/hooks/use-performance-throttling.esm.js +276 -344
- package/dist/hooks/use-performance-throttling.js +276 -344
- package/dist/hooks/use-performance.esm.js +216 -313
- package/dist/hooks/use-performance.js +216 -313
- package/dist/hooks/use-reusable-architecture.esm.js +255 -408
- package/dist/hooks/use-reusable-architecture.js +255 -408
- package/dist/hooks/use-semantic-input-types.esm.js +290 -356
- package/dist/hooks/use-semantic-input-types.js +290 -356
- package/dist/hooks/use-semantic-input.esm.js +446 -549
- package/dist/hooks/use-semantic-input.js +446 -549
- package/dist/hooks/use-tablet-layout.esm.js +279 -384
- package/dist/hooks/use-tablet-layout.js +279 -384
- package/dist/hooks/use-touch-friendly-input.esm.js +401 -519
- package/dist/hooks/use-touch-friendly-input.js +401 -519
- package/dist/hooks/use-touch-friendly-interface.esm.js +242 -331
- package/dist/hooks/use-touch-friendly-interface.js +242 -331
- package/dist/hooks/use-touch-optimization.esm.js +288 -370
- package/dist/hooks/use-touch-optimization.js +288 -370
- package/dist/index.esm.js +150 -294
- package/dist/index.js +150 -294
- package/dist/lib/utils.esm.js +4 -5
- package/dist/lib/utils.js +4 -5
- package/dist/plugins/theme-css-generator.esm.js +292 -346
- package/dist/plugins/theme-css-generator.js +292 -346
- package/dist/provider.esm.js +3 -19
- package/dist/provider.js +3 -19
- package/dist/styles/layers/validation.esm.js +275 -0
- package/dist/styles/layers/validation.js +275 -0
- package/dist/styles.css +1 -1
- package/dist/theme.esm.js +654 -658
- package/dist/theme.js +654 -658
- package/dist/themes/ThemeContext.esm.js +1 -27
- package/dist/themes/ThemeContext.js +1 -27
- package/dist/themes/ThemeProvider.esm.js +191 -223
- package/dist/themes/ThemeProvider.js +191 -223
- package/dist/themes/accessibility/index.esm.js +0 -4
- package/dist/themes/accessibility/index.js +0 -4
- package/dist/themes/accessibility.esm.js +175 -240
- package/dist/themes/accessibility.js +175 -240
- package/dist/themes/aria-patterns.esm.js +345 -401
- package/dist/themes/aria-patterns.js +345 -401
- package/dist/themes/base-themes.esm.js +15 -24
- package/dist/themes/base-themes.js +15 -24
- package/dist/themes/colorManager.esm.js +293 -357
- package/dist/themes/colorManager.js +293 -357
- package/dist/themes/examples/dark-theme.esm.js +129 -133
- package/dist/themes/examples/dark-theme.js +129 -133
- package/dist/themes/examples/minimal-theme.esm.js +80 -85
- package/dist/themes/examples/minimal-theme.js +80 -85
- package/dist/themes/focus-management.esm.js +541 -677
- package/dist/themes/focus-management.js +541 -677
- package/dist/themes/fontLoader.esm.js +151 -180
- package/dist/themes/fontLoader.js +151 -180
- package/dist/themes/high-contrast.esm.js +394 -558
- package/dist/themes/high-contrast.js +394 -558
- package/dist/themes/index.esm.js +1 -9
- package/dist/themes/index.js +1 -9
- package/dist/themes/inheritance.esm.js +145 -180
- package/dist/themes/inheritance.js +145 -180
- package/dist/themes/keyboard-navigation.esm.js +418 -510
- package/dist/themes/keyboard-navigation.js +418 -510
- package/dist/themes/motion-reduction.esm.js +434 -591
- package/dist/themes/motion-reduction.js +434 -591
- package/dist/themes/navigation.esm.js +1 -234
- package/dist/themes/navigation.js +1 -234
- package/dist/themes/screen-reader.esm.js +515 -616
- package/dist/themes/screen-reader.js +515 -616
- package/dist/themes/systemThemeDetector.esm.js +135 -164
- package/dist/themes/systemThemeDetector.js +135 -164
- package/dist/themes/themeCSSUpdater.esm.js +217 -252
- package/dist/themes/themeCSSUpdater.js +217 -252
- package/dist/themes/themePersistence.esm.js +181 -212
- package/dist/themes/themePersistence.js +181 -212
- package/dist/themes/themes/default.esm.js +584 -0
- package/dist/themes/themes/default.js +584 -0
- package/dist/themes/themes/harvey.esm.js +551 -0
- package/dist/themes/themes/harvey.js +551 -0
- package/dist/themes/themes/stan-design.esm.js +654 -658
- package/dist/themes/themes/stan-design.js +654 -658
- package/dist/themes/types.esm.js +1 -458
- package/dist/themes/types.js +1 -458
- package/dist/themes/useSystemTheme.esm.js +34 -42
- package/dist/themes/useSystemTheme.js +34 -42
- package/dist/themes/useTheme.esm.js +23 -28
- package/dist/themes/useTheme.js +23 -28
- package/dist/themes/validation.esm.js +380 -433
- package/dist/themes/validation.js +380 -433
- package/dist/tokens/index.esm.js +2 -25
- package/dist/tokens/index.js +2 -25
- package/dist/tokens/tokenExporter.esm.js +309 -373
- package/dist/tokens/tokenExporter.js +309 -373
- package/dist/tokens/tokenGenerator.esm.js +241 -273
- package/dist/tokens/tokenGenerator.js +241 -273
- package/dist/tokens/tokenManager.esm.js +187 -241
- package/dist/tokens/tokenManager.js +187 -241
- package/dist/tokens/tokenValidator.esm.js +402 -522
- package/dist/tokens/tokenValidator.js +402 -522
- package/dist/tokens/types.esm.js +1 -78
- package/dist/tokens/types.js +1 -78
- package/dist/types.esm.js +3 -0
- package/dist/types.js +3 -0
- package/dist/utils/bundle-analyzer.esm.js +188 -246
- package/dist/utils/bundle-analyzer.js +188 -246
- package/dist/utils/bundle-splitting.esm.js +330 -458
- package/dist/utils/bundle-splitting.js +330 -458
- package/dist/utils/lazy-loading.esm.js +311 -417
- package/dist/utils/lazy-loading.js +311 -417
- package/dist/utils/performance-monitor.esm.js +369 -490
- package/dist/utils/performance-monitor.js +369 -490
- package/dist/utils/tree-shaking.esm.js +194 -264
- package/dist/utils/tree-shaking.js +194 -264
- package/package.json +18 -2
- package/src/index.ts +150 -149
- package/src/provider.tsx +3 -3
- package/src/theme.ts +1 -1
- package/{dist/theme.d.ts → src/themes/themes/default.ts} +77 -169
- package/src/themes/themes/harvey.ts +554 -0
- package/{dist/themes/types.d.ts → src/types.ts} +7 -1
- package/dist/components/ui/accessibility-demo.d.ts +0 -259
- package/dist/components/ui/advanced-component-architecture-demo.d.ts +0 -718
- package/dist/components/ui/advanced-transition-system-demo.d.ts +0 -660
- package/dist/components/ui/advanced-transition-system.d.ts +0 -391
- package/dist/components/ui/animation/animated-container.d.ts +0 -162
- package/dist/components/ui/animation/index.d.ts +0 -9
- package/dist/components/ui/animation/staggered-container.d.ts +0 -64
- package/dist/components/ui/animation-demo.d.ts +0 -238
- package/dist/components/ui/badge.d.ts +0 -28
- package/dist/components/ui/battery-conscious-animation-demo.d.ts +0 -561
- package/dist/components/ui/border-radius-shadow-demo.d.ts +0 -183
- package/dist/components/ui/button.d.ts +0 -33
- package/dist/components/ui/card.d.ts +0 -205
- package/dist/components/ui/checkbox.d.ts +0 -26
- package/dist/components/ui/color-preview.d.ts +0 -402
- package/dist/components/ui/data-display/chart.d.ts +0 -646
- package/dist/components/ui/data-display/data-grid-simple.d.ts +0 -73
- package/dist/components/ui/data-display/data-grid.d.ts +0 -670
- package/dist/components/ui/data-display/list.d.ts +0 -448
- package/dist/components/ui/data-display/table.d.ts +0 -472
- package/dist/components/ui/data-display/timeline.d.ts +0 -433
- package/dist/components/ui/data-display/tree.d.ts +0 -594
- package/dist/components/ui/data-display/types.d.ts +0 -534
- package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +0 -735
- package/dist/components/ui/enterprise-mobile-experience.d.ts +0 -461
- package/dist/components/ui/feedback/alert.d.ts +0 -154
- package/dist/components/ui/feedback/progress.d.ts +0 -288
- package/dist/components/ui/feedback/skeleton.d.ts +0 -182
- package/dist/components/ui/feedback/toast.d.ts +0 -277
- package/dist/components/ui/feedback/types.d.ts +0 -123
- package/dist/components/ui/font-preview.d.ts +0 -282
- package/dist/components/ui/form-demo.d.ts +0 -544
- package/dist/components/ui/hardware-acceleration-demo.d.ts +0 -540
- package/dist/components/ui/input.d.ts +0 -33
- package/dist/components/ui/label.d.ts +0 -13
- package/dist/components/ui/layout-demo.d.ts +0 -352
- package/dist/components/ui/layouts/adaptive-layout.d.ts +0 -132
- package/dist/components/ui/layouts/desktop-layout.d.ts +0 -219
- package/dist/components/ui/layouts/index.d.ts +0 -5
- package/dist/components/ui/layouts/mobile-layout.d.ts +0 -158
- package/dist/components/ui/layouts/tablet-layout.d.ts +0 -192
- package/dist/components/ui/mobile-form-validation.d.ts +0 -439
- package/dist/components/ui/mobile-input-demo.d.ts +0 -197
- package/dist/components/ui/mobile-input.d.ts +0 -273
- package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +0 -628
- package/dist/components/ui/navigation/breadcrumb.d.ts +0 -149
- package/dist/components/ui/navigation/index.d.ts +0 -25
- package/dist/components/ui/navigation/menu.d.ts +0 -366
- package/dist/components/ui/navigation/navigation-demo.d.ts +0 -169
- package/dist/components/ui/navigation/pagination.d.ts +0 -261
- package/dist/components/ui/navigation/sidebar.d.ts +0 -375
- package/dist/components/ui/navigation/stepper.d.ts +0 -294
- package/dist/components/ui/navigation/tabs.d.ts +0 -196
- package/dist/components/ui/navigation/types.d.ts +0 -293
- package/dist/components/ui/overlay/backdrop.d.ts +0 -79
- package/dist/components/ui/overlay/focus-manager.d.ts +0 -141
- package/dist/components/ui/overlay/index.d.ts +0 -27
- package/dist/components/ui/overlay/modal.d.ts +0 -262
- package/dist/components/ui/overlay/overlay-manager.d.ts +0 -107
- package/dist/components/ui/overlay/popover.d.ts +0 -450
- package/dist/components/ui/overlay/portal.d.ts +0 -75
- package/dist/components/ui/overlay/tooltip.d.ts +0 -298
- package/dist/components/ui/overlay/types.d.ts +0 -194
- package/dist/components/ui/performance-demo.d.ts +0 -583
- package/dist/components/ui/semantic-input-system-demo.d.ts +0 -490
- package/dist/components/ui/theme-customizer.d.ts +0 -378
- package/dist/components/ui/theme-preview.d.ts +0 -305
- package/dist/components/ui/theme-switcher.d.ts +0 -259
- package/dist/components/ui/theme-toggle.d.ts +0 -34
- package/dist/components/ui/token-demo.d.ts +0 -188
- package/dist/components/ui/touch-demo.d.ts +0 -455
- package/dist/components/ui/touch-friendly-interface-demo.d.ts +0 -512
- package/dist/components/ui/touch-friendly-interface.d.ts +0 -292
- package/dist/hooks/index.d.ts +0 -161
- package/dist/hooks/use-accessibility-support.d.ts +0 -516
- package/dist/hooks/use-adaptive-layout.d.ts +0 -287
- package/dist/hooks/use-advanced-patterns.d.ts +0 -292
- package/dist/hooks/use-advanced-transition-system.d.ts +0 -390
- package/dist/hooks/use-animation-profile.d.ts +0 -285
- package/dist/hooks/use-battery-animations.d.ts +0 -382
- package/dist/hooks/use-battery-conscious-loading.d.ts +0 -473
- package/dist/hooks/use-battery-optimization.d.ts +0 -328
- package/dist/hooks/use-battery-status.d.ts +0 -297
- package/dist/hooks/use-component-performance.d.ts +0 -342
- package/dist/hooks/use-device-loading-states.d.ts +0 -456
- package/dist/hooks/use-device.d.ts +0 -104
- package/dist/hooks/use-enterprise-mobile-experience.d.ts +0 -486
- package/dist/hooks/use-form-feedback.d.ts +0 -401
- package/dist/hooks/use-form-performance.d.ts +0 -511
- package/dist/hooks/use-frame-rate.d.ts +0 -249
- package/dist/hooks/use-gestures.d.ts +0 -336
- package/dist/hooks/use-hardware-acceleration.d.ts +0 -339
- package/dist/hooks/use-input-accessibility.d.ts +0 -451
- package/dist/hooks/use-input-performance.d.ts +0 -503
- package/dist/hooks/use-layout-performance.d.ts +0 -317
- package/dist/hooks/use-loading-accessibility.d.ts +0 -532
- package/dist/hooks/use-loading-performance.d.ts +0 -471
- package/dist/hooks/use-memory-usage.d.ts +0 -285
- package/dist/hooks/use-mobile-form-layout.d.ts +0 -462
- package/dist/hooks/use-mobile-form-validation.d.ts +0 -516
- package/dist/hooks/use-mobile-keyboard-optimization.d.ts +0 -469
- package/dist/hooks/use-mobile-layout.d.ts +0 -300
- package/dist/hooks/use-mobile-optimization.d.ts +0 -404
- package/dist/hooks/use-mobile-skeleton.d.ts +0 -399
- package/dist/hooks/use-mobile-touch.d.ts +0 -412
- package/dist/hooks/use-performance-throttling.d.ts +0 -346
- package/dist/hooks/use-performance.d.ts +0 -314
- package/dist/hooks/use-reusable-architecture.d.ts +0 -412
- package/dist/hooks/use-semantic-input-types.d.ts +0 -354
- package/dist/hooks/use-semantic-input.d.ts +0 -563
- package/dist/hooks/use-tablet-layout.d.ts +0 -382
- package/dist/hooks/use-touch-friendly-input.d.ts +0 -520
- package/dist/hooks/use-touch-friendly-interface.d.ts +0 -329
- package/dist/hooks/use-touch-optimization.d.ts +0 -373
- package/dist/index.d.ts +0 -149
- package/dist/lib/utils.d.ts +0 -3
- package/dist/plugins/theme-css-generator.d.ts +0 -345
- package/dist/provider.d.ts +0 -17
- package/dist/themes/ThemeContext.d.ts +0 -27
- package/dist/themes/ThemeProvider.d.ts +0 -222
- package/dist/themes/accessibility/index.d.ts +0 -7
- package/dist/themes/accessibility.d.ts +0 -259
- package/dist/themes/aria-patterns.d.ts +0 -418
- package/dist/themes/base-themes.d.ts +0 -34
- package/dist/themes/colorManager.d.ts +0 -327
- package/dist/themes/examples/dark-theme.d.ts +0 -139
- package/dist/themes/examples/minimal-theme.d.ts +0 -93
- package/dist/themes/focus-management.d.ts +0 -699
- package/dist/themes/fontLoader.d.ts +0 -163
- package/dist/themes/high-contrast.d.ts +0 -619
- package/dist/themes/index.d.ts +0 -11
- package/dist/themes/inheritance.d.ts +0 -160
- package/dist/themes/keyboard-navigation.d.ts +0 -550
- package/dist/themes/motion-reduction.d.ts +0 -660
- package/dist/themes/navigation.d.ts +0 -232
- package/dist/themes/screen-reader.d.ts +0 -645
- package/dist/themes/systemThemeDetector.d.ts +0 -148
- package/dist/themes/themeCSSUpdater.d.ts +0 -229
- package/dist/themes/themePersistence.d.ts +0 -192
- package/dist/themes/themes/stan-design.d.ts +0 -678
- package/dist/themes/useSystemTheme.d.ts +0 -43
- package/dist/themes/useTheme.d.ts +0 -20
- package/dist/themes/validation.d.ts +0 -406
- package/dist/tokens/index.d.ts +0 -25
- package/dist/tokens/tokenExporter.d.ts +0 -336
- package/dist/tokens/tokenGenerator.d.ts +0 -250
- package/dist/tokens/tokenManager.d.ts +0 -194
- package/dist/tokens/tokenValidator.d.ts +0 -488
- package/dist/tokens/types.d.ts +0 -78
- package/dist/utils/bundle-analyzer.d.ts +0 -260
- package/dist/utils/bundle-splitting.d.ts +0 -483
- package/dist/utils/lazy-loading.d.ts +0 -437
- package/dist/utils/performance-monitor.d.ts +0 -513
- package/dist/utils/tree-shaking.d.ts +0 -274
|
@@ -1,547 +1,106 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
export const HardwareAccelerationDemo
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
case 'basic':
|
|
76
|
-
return `${baseClasses} bg-cs-primary hover:bg-cs-secondary`
|
|
77
|
-
case 'gpu':
|
|
78
|
-
return `${baseClasses} bg-cs-secondary gpu-optimized hover:bg-cs-accent`
|
|
79
|
-
case 'transform3d':
|
|
80
|
-
return `${baseClasses} bg-cs-accent transform3d-optimized hover:bg-cs-primary`
|
|
81
|
-
case 'performance':
|
|
82
|
-
return `${baseClasses} bg-cs-primary performance-accelerated hover:bg-cs-secondary`
|
|
83
|
-
default:
|
|
84
|
-
return baseClasses
|
|
85
|
-
}
|
|
86
|
-
}, [])
|
|
87
|
-
|
|
88
|
-
// Get animation styles based on state
|
|
89
|
-
const getAnimationStyles = useCallback((state: string) => {
|
|
90
|
-
switch (state) {
|
|
91
|
-
case 'running':
|
|
92
|
-
return {
|
|
93
|
-
transform: 'translate3d(100px, 0, 0) rotate(360deg) scale(1.2)',
|
|
94
|
-
opacity: 0.8
|
|
95
|
-
}
|
|
96
|
-
case 'paused':
|
|
97
|
-
return {
|
|
98
|
-
transform: 'translate3d(50px, 0, 0) rotate(180deg) scale(1.1)',
|
|
99
|
-
opacity: 0.9
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
3
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './card';
|
|
4
|
+
import { Badge } from './badge';
|
|
5
|
+
import { Button } from './button';
|
|
6
|
+
import { useHardwareAcceleration } from '../../hooks/use-hardware-acceleration';
|
|
7
|
+
import { useBatteryOptimization } from '../../hooks/use-battery-optimization';
|
|
8
|
+
export const HardwareAccelerationDemo = () => {
|
|
9
|
+
const [showGPUInfo, setShowGPUInfo] = useState(true);
|
|
10
|
+
const [showPerformanceMetrics, setShowPerformanceMetrics] = useState(true);
|
|
11
|
+
const [showBatteryInfo, setShowBatteryInfo] = useState(true);
|
|
12
|
+
const [enableHardwareAcceleration, setEnableHardwareAcceleration] = useState(true);
|
|
13
|
+
const [enableBatteryOptimization, setEnableBatteryOptimization] = useState(true);
|
|
14
|
+
const [error, setError] = useState(null);
|
|
15
|
+
// Hooks with error handling
|
|
16
|
+
const hardwareAcceleration = useHardwareAcceleration({
|
|
17
|
+
enableGPUMonitoring: true,
|
|
18
|
+
enablePerformanceTracking: true,
|
|
19
|
+
enableBatteryOptimization: true,
|
|
20
|
+
enableAutomaticOptimization: true
|
|
21
|
+
}, {
|
|
22
|
+
onGPUDetected: (gpuInfo) => console.log('GPU detected:', gpuInfo),
|
|
23
|
+
onPerformanceWarning: (warning, metrics) => console.log('Performance warning:', warning, metrics),
|
|
24
|
+
onBatteryWarning: (level, isLow) => console.log('Battery warning:', level, isLow),
|
|
25
|
+
onOptimizationApplied: (optimization) => console.log('Optimization applied:', optimization)
|
|
26
|
+
});
|
|
27
|
+
const batteryOptimization = useBatteryOptimization({
|
|
28
|
+
enableBatteryMonitoring: true,
|
|
29
|
+
enablePerformanceThrottling: true,
|
|
30
|
+
enableUserPreferences: true,
|
|
31
|
+
enableAdaptiveOptimization: true
|
|
32
|
+
}, {
|
|
33
|
+
onBatteryStatusChange: (status) => console.log('Battery status changed:', status),
|
|
34
|
+
onLowBatteryWarning: (status) => console.log('Low battery warning:', status),
|
|
35
|
+
onCriticalBatteryWarning: (status) => console.log('Critical battery warning:', status),
|
|
36
|
+
onPerformanceThrottled: (level, reason) => console.log('Performance throttled:', level, reason),
|
|
37
|
+
onOptimizationApplied: (optimization) => console.log('Battery optimization applied:', optimization)
|
|
38
|
+
});
|
|
39
|
+
// Error boundary effect
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
const handleError = (error) => {
|
|
42
|
+
console.error('Hardware acceleration demo error:', error);
|
|
43
|
+
setError(error.message);
|
|
44
|
+
};
|
|
45
|
+
window.addEventListener('error', handleError);
|
|
46
|
+
return () => window.removeEventListener('error', handleError);
|
|
47
|
+
}, []);
|
|
48
|
+
// Demo animations with hardware acceleration
|
|
49
|
+
const [animationState, setAnimationState] = useState('idle');
|
|
50
|
+
const [animationType, setAnimationType] = useState('basic');
|
|
51
|
+
const startAnimation = useCallback(() => {
|
|
52
|
+
setAnimationState('running');
|
|
53
|
+
setTimeout(() => setAnimationState('idle'), 3000);
|
|
54
|
+
}, []);
|
|
55
|
+
const pauseAnimation = useCallback(() => {
|
|
56
|
+
setAnimationState('paused');
|
|
57
|
+
}, []);
|
|
58
|
+
const resumeAnimation = useCallback(() => {
|
|
59
|
+
setAnimationState('running');
|
|
60
|
+
}, []);
|
|
61
|
+
// Get animation classes based on type
|
|
62
|
+
const getAnimationClasses = useCallback((type) => {
|
|
63
|
+
const baseClasses = 'w-32 h-32 rounded-lg transition-all duration-1000 ease-in-out';
|
|
64
|
+
switch (type) {
|
|
65
|
+
case 'basic':
|
|
66
|
+
return `${baseClasses} bg-cs-primary hover:bg-cs-secondary`;
|
|
67
|
+
case 'gpu':
|
|
68
|
+
return `${baseClasses} bg-cs-secondary gpu-optimized hover:bg-cs-accent`;
|
|
69
|
+
case 'transform3d':
|
|
70
|
+
return `${baseClasses} bg-cs-accent transform3d-optimized hover:bg-cs-primary`;
|
|
71
|
+
case 'performance':
|
|
72
|
+
return `${baseClasses} bg-cs-primary performance-accelerated hover:bg-cs-secondary`;
|
|
73
|
+
default:
|
|
74
|
+
return baseClasses;
|
|
100
75
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
76
|
+
}, []);
|
|
77
|
+
// Get animation styles based on state
|
|
78
|
+
const getAnimationStyles = useCallback((state) => {
|
|
79
|
+
switch (state) {
|
|
80
|
+
case 'running':
|
|
81
|
+
return {
|
|
82
|
+
transform: 'translate3d(100px, 0, 0) rotate(360deg) scale(1.2)',
|
|
83
|
+
opacity: 0.8
|
|
84
|
+
};
|
|
85
|
+
case 'paused':
|
|
86
|
+
return {
|
|
87
|
+
transform: 'translate3d(50px, 0, 0) rotate(180deg) scale(1.1)',
|
|
88
|
+
opacity: 0.9
|
|
89
|
+
};
|
|
90
|
+
default:
|
|
91
|
+
return {
|
|
92
|
+
transform: 'translate3d(0, 0, 0) rotate(0deg) scale(1)',
|
|
93
|
+
opacity: 1
|
|
94
|
+
};
|
|
105
95
|
}
|
|
96
|
+
}, []);
|
|
97
|
+
// Show error if any
|
|
98
|
+
if (error) {
|
|
99
|
+
return (_jsxs("div", { className: "p-6 bg-red-50 border border-red-200 rounded-lg", children: [_jsx("h2", { className: "text-lg font-semibold text-red-800 mb-2", children: "Error Loading Hardware Acceleration Demo" }), _jsx("p", { className: "text-red-600 mb-4", children: error }), _jsx(Button, { onClick: () => setError(null), variant: "outline", children: "Try Again" })] }));
|
|
106
100
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
<h2 className="text-lg font-semibold text-red-800 mb-2">Error Loading Hardware Acceleration Demo</h2>
|
|
114
|
-
<p className="text-red-600 mb-4">{error}</p>
|
|
115
|
-
<Button onClick={() => setError(null)} variant="outline">
|
|
116
|
-
Try Again
|
|
117
|
-
</Button>
|
|
118
|
-
</div>
|
|
119
|
-
)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return (
|
|
123
|
-
<div className="space-y-6">
|
|
124
|
-
<div className="text-center">
|
|
125
|
-
<h1 className="text-3xl font-bold text-cs-text-primary mb-2">
|
|
126
|
-
🚀 Hardware Acceleration & GPU Optimization
|
|
127
|
-
</h1>
|
|
128
|
-
<p className="text-lg text-cs-text-secondary mb-4">
|
|
129
|
-
Story 8 Implementation - Advanced hardware acceleration with GPU optimization and battery awareness
|
|
130
|
-
</p>
|
|
131
|
-
<div className="flex items-center justify-center gap-2">
|
|
132
|
-
<Badge variant="default">Story 8</Badge>
|
|
133
|
-
<Badge variant="outline">Hardware Acceleration</Badge>
|
|
134
|
-
<Badge variant="secondary">GPU Optimization</Badge>
|
|
135
|
-
<Badge variant="outline">Battery Optimization</Badge>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
|
|
139
|
-
{/* GPU Information */}
|
|
140
|
-
{showGPUInfo && hardwareAcceleration.gpuInfo && (
|
|
141
|
-
<Card className="border-2 border-cs-primary">
|
|
142
|
-
<CardHeader>
|
|
143
|
-
<CardTitle className="text-xl flex items-center gap-2">
|
|
144
|
-
🎮 GPU Information
|
|
145
|
-
<Badge variant={hardwareAcceleration.isGPUSupported ? 'default' : 'secondary'}>
|
|
146
|
-
{hardwareAcceleration.isGPUSupported ? 'Supported' : 'Not Supported'}
|
|
147
|
-
</Badge>
|
|
148
|
-
</CardTitle>
|
|
149
|
-
<CardDescription>
|
|
150
|
-
Real-time GPU capability detection and WebGL support information
|
|
151
|
-
</CardDescription>
|
|
152
|
-
</CardHeader>
|
|
153
|
-
<CardContent>
|
|
154
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
155
|
-
<div className="space-y-2">
|
|
156
|
-
<div className="flex justify-between">
|
|
157
|
-
<span className="text-sm font-medium">Vendor:</span>
|
|
158
|
-
<span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.vendor}</span>
|
|
159
|
-
</div>
|
|
160
|
-
<div className="flex justify-between">
|
|
161
|
-
<span className="text-sm font-medium">Renderer:</span>
|
|
162
|
-
<span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.renderer}</span>
|
|
163
|
-
</div>
|
|
164
|
-
<div className="flex justify-between">
|
|
165
|
-
<span className="text-sm font-medium">Version:</span>
|
|
166
|
-
<span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.version}</span>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
<div className="space-y-2">
|
|
170
|
-
<div className="flex justify-between">
|
|
171
|
-
<span className="text-sm font-medium">WebGL Support:</span>
|
|
172
|
-
<Badge variant={hardwareAcceleration.gpuInfo.isWebGLSupported ? 'default' : 'secondary'}>
|
|
173
|
-
{hardwareAcceleration.gpuInfo.isWebGLSupported ? 'Yes' : 'No'}
|
|
174
|
-
</Badge>
|
|
175
|
-
</div>
|
|
176
|
-
<div className="flex justify-between">
|
|
177
|
-
<span className="text-sm font-medium">WebGL2 Support:</span>
|
|
178
|
-
<Badge variant={hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'default' : 'secondary'}>
|
|
179
|
-
{hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'Yes' : 'No'}
|
|
180
|
-
</Badge>
|
|
181
|
-
</div>
|
|
182
|
-
<div className="flex justify-between">
|
|
183
|
-
<span className="text-sm font-medium">Max Texture Size:</span>
|
|
184
|
-
<span className="text-sm text-cs-text-secondary">{hardwareAcceleration.gpuInfo.maxTextureSize}</span>
|
|
185
|
-
</div>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
</CardContent>
|
|
189
|
-
</Card>
|
|
190
|
-
)}
|
|
191
|
-
|
|
192
|
-
{/* Performance Metrics */}
|
|
193
|
-
{showPerformanceMetrics && (
|
|
194
|
-
<Card className="border-2 border-cs-secondary">
|
|
195
|
-
<CardHeader>
|
|
196
|
-
<CardTitle className="text-xl flex items-center gap-2">
|
|
197
|
-
📊 Performance Metrics
|
|
198
|
-
<Badge variant="outline">Real-time</Badge>
|
|
199
|
-
</CardTitle>
|
|
200
|
-
<CardDescription>
|
|
201
|
-
Hardware acceleration performance monitoring and optimization status
|
|
202
|
-
</CardDescription>
|
|
203
|
-
</CardHeader>
|
|
204
|
-
<CardContent>
|
|
205
|
-
<div className="grid grid-cols-2 lg:grid-cols-4 gap-4 text-center">
|
|
206
|
-
<div>
|
|
207
|
-
<p className="text-2xl font-bold text-cs-primary">
|
|
208
|
-
{hardwareAcceleration.metrics.fps}
|
|
209
|
-
</p>
|
|
210
|
-
<p className="text-sm text-cs-text-secondary">FPS</p>
|
|
211
|
-
</div>
|
|
212
|
-
<div>
|
|
213
|
-
<p className="text-2xl font-bold text-cs-secondary">
|
|
214
|
-
{hardwareAcceleration.metrics.frameTime.toFixed(1)}ms
|
|
215
|
-
</p>
|
|
216
|
-
<p className="text-sm text-cs-text-secondary">Frame Time</p>
|
|
217
|
-
</div>
|
|
218
|
-
<div>
|
|
219
|
-
<p className="text-2xl font-bold text-cs-accent">
|
|
220
|
-
{hardwareAcceleration.metrics.gpuUtilization.toFixed(1)}%
|
|
221
|
-
</p>
|
|
222
|
-
<p className="text-sm text-cs-text-secondary">GPU Usage</p>
|
|
223
|
-
</div>
|
|
224
|
-
<div>
|
|
225
|
-
<p className="text-2xl font-bold text-cs-primary">
|
|
226
|
-
{hardwareAcceleration.metrics.performanceScore}
|
|
227
|
-
</p>
|
|
228
|
-
<p className="text-sm text-cs-text-secondary">Performance Score</p>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
|
|
232
|
-
<div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
|
|
233
|
-
<div className="flex items-center justify-between mb-2">
|
|
234
|
-
<span className="font-medium text-sm">Performance Level:</span>
|
|
235
|
-
<Badge variant={
|
|
236
|
-
hardwareAcceleration.performanceLevel === 'excellent' ? 'default' :
|
|
237
|
-
hardwareAcceleration.performanceLevel === 'good' ? 'default' :
|
|
238
|
-
hardwareAcceleration.performanceLevel === 'fair' ? 'secondary' : 'secondary'
|
|
239
|
-
}>
|
|
240
|
-
{hardwareAcceleration.performanceLevel.toUpperCase()}
|
|
241
|
-
</Badge>
|
|
242
|
-
</div>
|
|
243
|
-
<div className="flex items-center justify-between">
|
|
244
|
-
<span className="font-medium text-sm">Hardware Acceleration:</span>
|
|
245
|
-
<Badge variant={hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary'}>
|
|
246
|
-
{hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled'}
|
|
247
|
-
</Badge>
|
|
248
|
-
</div>
|
|
249
|
-
</div>
|
|
250
|
-
</CardContent>
|
|
251
|
-
</Card>
|
|
252
|
-
)}
|
|
253
|
-
|
|
254
|
-
{/* Battery Information */}
|
|
255
|
-
{showBatteryInfo && (
|
|
256
|
-
<Card className="border-2 border-cs-accent">
|
|
257
|
-
<CardHeader>
|
|
258
|
-
<CardTitle className="text-xl flex items-center gap-2">
|
|
259
|
-
🔋 Battery Optimization
|
|
260
|
-
<Badge variant={batteryOptimization.isLowBattery ? 'secondary' : 'default'}>
|
|
261
|
-
{batteryOptimization.batteryPercentage}%
|
|
262
|
-
</Badge>
|
|
263
|
-
</CardTitle>
|
|
264
|
-
<CardDescription>
|
|
265
|
-
Battery-aware performance optimization and user preference management
|
|
266
|
-
</CardDescription>
|
|
267
|
-
</CardHeader>
|
|
268
|
-
<CardContent>
|
|
269
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
270
|
-
<div className="space-y-3">
|
|
271
|
-
<h4 className="font-medium">Battery Status</h4>
|
|
272
|
-
<div className="space-y-2">
|
|
273
|
-
<div className="flex justify-between">
|
|
274
|
-
<span className="text-sm">Level:</span>
|
|
275
|
-
<span className="text-sm text-cs-text-secondary">{batteryOptimization.batteryPercentage}%</span>
|
|
276
|
-
</div>
|
|
277
|
-
<div className="flex justify-between">
|
|
278
|
-
<span className="text-sm">Status:</span>
|
|
279
|
-
<Badge variant={batteryOptimization.isCharging ? 'default' : 'secondary'}>
|
|
280
|
-
{batteryOptimization.isCharging ? 'Charging' : 'Discharging'}
|
|
281
|
-
</Badge>
|
|
282
|
-
</div>
|
|
283
|
-
<div className="flex justify-between">
|
|
284
|
-
<span className="text-sm">Health:</span>
|
|
285
|
-
<Badge variant="outline">{batteryOptimization.getBatteryHealth()}</Badge>
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
</div>
|
|
289
|
-
|
|
290
|
-
<div className="space-y-3">
|
|
291
|
-
<h4 className="font-medium">Performance Settings</h4>
|
|
292
|
-
<div className="space-y-2">
|
|
293
|
-
<div className="flex justify-between">
|
|
294
|
-
<span className="text-sm">Throttle Level:</span>
|
|
295
|
-
<Badge variant="outline">{batteryOptimization.currentThrottleLevel}</Badge>
|
|
296
|
-
</div>
|
|
297
|
-
<div className="flex justify-between">
|
|
298
|
-
<span className="text-sm">User Preference:</span>
|
|
299
|
-
<Badge variant="outline">{batteryOptimization.userPreferences}</Badge>
|
|
300
|
-
</div>
|
|
301
|
-
<div className="flex justify-between">
|
|
302
|
-
<span className="text-sm">Optimization:</span>
|
|
303
|
-
<Badge variant={batteryOptimization.isOptimizing ? 'secondary' : 'default'}>
|
|
304
|
-
{batteryOptimization.isOptimizing ? 'Active' : 'Idle'}
|
|
305
|
-
</Badge>
|
|
306
|
-
</div>
|
|
307
|
-
</div>
|
|
308
|
-
</div>
|
|
309
|
-
</div>
|
|
310
|
-
|
|
311
|
-
{/* User Preference Controls */}
|
|
312
|
-
<div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
|
|
313
|
-
<h4 className="font-medium text-sm mb-2">User Preference:</h4>
|
|
314
|
-
<div className="flex gap-2">
|
|
315
|
-
<Button
|
|
316
|
-
variant={batteryOptimization.userPreferences === 'performance' ? 'default' : 'outline'}
|
|
317
|
-
size="sm"
|
|
318
|
-
onClick={() => batteryOptimization.updateUserPreferences('performance')}
|
|
319
|
-
>
|
|
320
|
-
Performance
|
|
321
|
-
</Button>
|
|
322
|
-
<Button
|
|
323
|
-
variant={batteryOptimization.userPreferences === 'balanced' ? 'default' : 'outline'}
|
|
324
|
-
size="sm"
|
|
325
|
-
onClick={() => batteryOptimization.updateUserPreferences('balanced')}
|
|
326
|
-
>
|
|
327
|
-
Balanced
|
|
328
|
-
</Button>
|
|
329
|
-
<Button
|
|
330
|
-
variant={batteryOptimization.userPreferences === 'battery' ? 'default' : 'outline'}
|
|
331
|
-
size="sm"
|
|
332
|
-
onClick={() => batteryOptimization.updateUserPreferences('battery')}
|
|
333
|
-
>
|
|
334
|
-
Battery
|
|
335
|
-
</Button>
|
|
336
|
-
</div>
|
|
337
|
-
</div>
|
|
338
|
-
</CardContent>
|
|
339
|
-
</Card>
|
|
340
|
-
)}
|
|
341
|
-
|
|
342
|
-
{/* Hardware Acceleration Demo */}
|
|
343
|
-
<Card className="border border-cs-border">
|
|
344
|
-
<CardHeader>
|
|
345
|
-
<CardTitle className="text-lg">Hardware Acceleration Demo</CardTitle>
|
|
346
|
-
<CardDescription>
|
|
347
|
-
Test different types of hardware acceleration with real-time animations
|
|
348
|
-
</CardDescription>
|
|
349
|
-
</CardHeader>
|
|
350
|
-
<CardContent className="space-y-4">
|
|
351
|
-
{/* Animation Type Selection */}
|
|
352
|
-
<div className="flex flex-wrap gap-2">
|
|
353
|
-
<Button
|
|
354
|
-
variant={animationType === 'basic' ? 'default' : 'outline'}
|
|
355
|
-
size="sm"
|
|
356
|
-
onClick={() => setAnimationType('basic')}
|
|
357
|
-
>
|
|
358
|
-
Basic
|
|
359
|
-
</Button>
|
|
360
|
-
<Button
|
|
361
|
-
variant={animationType === 'gpu' ? 'default' : 'outline'}
|
|
362
|
-
size="sm"
|
|
363
|
-
onClick={() => setAnimationType('gpu')}
|
|
364
|
-
>
|
|
365
|
-
GPU Optimized
|
|
366
|
-
</Button>
|
|
367
|
-
<Button
|
|
368
|
-
variant={animationType === 'transform3d' ? 'default' : 'outline'}
|
|
369
|
-
size="sm"
|
|
370
|
-
onClick={() => setAnimationType('transform3d')}
|
|
371
|
-
>
|
|
372
|
-
Transform3D
|
|
373
|
-
</Button>
|
|
374
|
-
<Button
|
|
375
|
-
variant={animationType === 'performance' ? 'default' : 'outline'}
|
|
376
|
-
size="sm"
|
|
377
|
-
onClick={() => setAnimationType('performance')}
|
|
378
|
-
>
|
|
379
|
-
Performance
|
|
380
|
-
</Button>
|
|
381
|
-
</div>
|
|
382
|
-
|
|
383
|
-
{/* Animation Controls */}
|
|
384
|
-
<div className="flex gap-2">
|
|
385
|
-
<Button
|
|
386
|
-
variant="default"
|
|
387
|
-
onClick={startAnimation}
|
|
388
|
-
disabled={animationState === 'running'}
|
|
389
|
-
>
|
|
390
|
-
Start Animation
|
|
391
|
-
</Button>
|
|
392
|
-
<Button
|
|
393
|
-
variant="outline"
|
|
394
|
-
onClick={pauseAnimation}
|
|
395
|
-
disabled={animationState !== 'running'}
|
|
396
|
-
>
|
|
397
|
-
Pause
|
|
398
|
-
</Button>
|
|
399
|
-
<Button
|
|
400
|
-
variant="outline"
|
|
401
|
-
onClick={resumeAnimation}
|
|
402
|
-
disabled={animationState !== 'paused'}
|
|
403
|
-
>
|
|
404
|
-
Resume
|
|
405
|
-
</Button>
|
|
406
|
-
</div>
|
|
407
|
-
|
|
408
|
-
{/* Animation Display */}
|
|
409
|
-
<div className="flex justify-center">
|
|
410
|
-
<div
|
|
411
|
-
className={getAnimationClasses(animationType)}
|
|
412
|
-
style={getAnimationStyles(animationState)}
|
|
413
|
-
/>
|
|
414
|
-
</div>
|
|
415
|
-
|
|
416
|
-
{/* Animation Info */}
|
|
417
|
-
<div className="text-center text-sm text-cs-text-secondary">
|
|
418
|
-
<p>Animation Type: <span className="font-medium">{animationType}</span></p>
|
|
419
|
-
<p>State: <span className="font-medium">{animationState}</span></p>
|
|
420
|
-
<p>Hardware Acceleration: <span className="font-medium">
|
|
421
|
-
{hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled'}
|
|
422
|
-
</span></p>
|
|
423
|
-
</div>
|
|
424
|
-
</CardContent>
|
|
425
|
-
</Card>
|
|
426
|
-
|
|
427
|
-
{/* Controls */}
|
|
428
|
-
<Card className="border border-cs-border">
|
|
429
|
-
<CardHeader>
|
|
430
|
-
<CardTitle className="text-lg">Demo Controls</CardTitle>
|
|
431
|
-
<CardDescription>
|
|
432
|
-
Configure and test different hardware acceleration features
|
|
433
|
-
</CardDescription>
|
|
434
|
-
</CardHeader>
|
|
435
|
-
<CardContent className="space-y-4">
|
|
436
|
-
<div className="flex flex-wrap gap-4">
|
|
437
|
-
<Button
|
|
438
|
-
variant={showGPUInfo ? 'default' : 'outline'}
|
|
439
|
-
size="sm"
|
|
440
|
-
onClick={() => setShowGPUInfo(!showGPUInfo)}
|
|
441
|
-
>
|
|
442
|
-
{showGPUInfo ? 'Hide' : 'Show'} GPU Info
|
|
443
|
-
</Button>
|
|
444
|
-
<Button
|
|
445
|
-
variant={showPerformanceMetrics ? 'default' : 'outline'}
|
|
446
|
-
size="sm"
|
|
447
|
-
onClick={() => setShowPerformanceMetrics(!showPerformanceMetrics)}
|
|
448
|
-
>
|
|
449
|
-
{showPerformanceMetrics ? 'Hide' : 'Show'} Performance
|
|
450
|
-
</Button>
|
|
451
|
-
<Button
|
|
452
|
-
variant={showBatteryInfo ? 'default' : 'outline'}
|
|
453
|
-
size="sm"
|
|
454
|
-
onClick={() => setShowBatteryInfo(!showBatteryInfo)}
|
|
455
|
-
>
|
|
456
|
-
{showBatteryInfo ? 'Hide' : 'Show'} Battery Info
|
|
457
|
-
</Button>
|
|
458
|
-
</div>
|
|
459
|
-
|
|
460
|
-
<div className="flex flex-wrap gap-4">
|
|
461
|
-
<Button
|
|
462
|
-
variant={enableHardwareAcceleration ? 'default' : 'outline'}
|
|
463
|
-
size="sm"
|
|
464
|
-
onClick={() => setEnableHardwareAcceleration(!enableHardwareAcceleration)}
|
|
465
|
-
>
|
|
466
|
-
{enableHardwareAcceleration ? 'Disable' : 'Enable'} Hardware Acceleration
|
|
467
|
-
</Button>
|
|
468
|
-
<Button
|
|
469
|
-
variant={enableBatteryOptimization ? 'default' : 'outline'}
|
|
470
|
-
size="sm"
|
|
471
|
-
onClick={() => setEnableBatteryOptimization(!enableBatteryOptimization)}
|
|
472
|
-
>
|
|
473
|
-
{enableBatteryOptimization ? 'Disable' : 'Enable'} Battery Optimization
|
|
474
|
-
</Button>
|
|
475
|
-
</div>
|
|
476
|
-
</CardContent>
|
|
477
|
-
</Card>
|
|
478
|
-
|
|
479
|
-
{/* Optimization Status */}
|
|
480
|
-
<Card className="border border-cs-border">
|
|
481
|
-
<CardHeader>
|
|
482
|
-
<CardTitle className="text-lg">Optimization Status</CardTitle>
|
|
483
|
-
<CardDescription>
|
|
484
|
-
Current optimization status and recommendations
|
|
485
|
-
</CardDescription>
|
|
486
|
-
</CardHeader>
|
|
487
|
-
<CardContent>
|
|
488
|
-
<div className="space-y-3">
|
|
489
|
-
<div className="flex items-center justify-between">
|
|
490
|
-
<span className="text-sm">Hardware Acceleration:</span>
|
|
491
|
-
<Badge variant={hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary'}>
|
|
492
|
-
{hardwareAcceleration.isHardwareAccelerated ? 'Optimal' : 'Needs Optimization'}
|
|
493
|
-
</Badge>
|
|
494
|
-
</div>
|
|
495
|
-
<div className="flex items-center justify-between">
|
|
496
|
-
<span className="text-sm">Performance Level:</span>
|
|
497
|
-
<Badge variant={
|
|
498
|
-
hardwareAcceleration.performanceLevel === 'excellent' || hardwareAcceleration.performanceLevel === 'good'
|
|
499
|
-
? 'default' : 'secondary'
|
|
500
|
-
}>
|
|
501
|
-
{hardwareAcceleration.performanceLevel.toUpperCase()}
|
|
502
|
-
</Badge>
|
|
503
|
-
</div>
|
|
504
|
-
<div className="flex items-center justify-between">
|
|
505
|
-
<span className="text-sm">Battery Optimization:</span>
|
|
506
|
-
<Badge variant={batteryOptimization.isLowBattery ? 'secondary' : 'default'}>
|
|
507
|
-
{batteryOptimization.isLowBattery ? 'Needs Optimization' : 'Optimized'}
|
|
508
|
-
</Badge>
|
|
509
|
-
</div>
|
|
510
|
-
<div className="flex items-center justify-between">
|
|
511
|
-
<span className="text-sm">GPU Utilization:</span>
|
|
512
|
-
<Badge variant={hardwareAcceleration.metrics.gpuUtilization < 80 ? 'default' : 'secondary'}>
|
|
513
|
-
{hardwareAcceleration.metrics.gpuUtilization < 80 ? 'Optimal' : 'High Usage'}
|
|
514
|
-
</Badge>
|
|
515
|
-
</div>
|
|
516
|
-
</div>
|
|
517
|
-
|
|
518
|
-
{/* Recent Optimizations */}
|
|
519
|
-
{hardwareAcceleration.optimizations.length > 0 && (
|
|
520
|
-
<div className="mt-4 p-3 bg-cs-accent/10 rounded-lg">
|
|
521
|
-
<h4 className="font-medium text-sm mb-2">Recent Optimizations:</h4>
|
|
522
|
-
<ul className="text-xs text-cs-text-secondary space-y-1">
|
|
523
|
-
{hardwareAcceleration.optimizations.slice(-3).map((optimization, index) => (
|
|
524
|
-
<li key={index}>• {optimization}</li>
|
|
525
|
-
))}
|
|
526
|
-
</ul>
|
|
527
|
-
</div>
|
|
528
|
-
)}
|
|
529
|
-
|
|
530
|
-
{/* Battery Recommendations */}
|
|
531
|
-
{batteryOptimization.optimizationRecommendations.length > 0 && (
|
|
532
|
-
<div className="mt-4 p-3 bg-cs-secondary/10 rounded-lg">
|
|
533
|
-
<h4 className="font-medium text-sm mb-2">Battery Recommendations:</h4>
|
|
534
|
-
<ul className="text-xs text-cs-text-secondary space-y-1">
|
|
535
|
-
{batteryOptimization.optimizationRecommendations.slice(0, 3).map((recommendation, index) => (
|
|
536
|
-
<li key={index}>• {recommendation}</li>
|
|
537
|
-
))}
|
|
538
|
-
</ul>
|
|
539
|
-
</div>
|
|
540
|
-
)}
|
|
541
|
-
</CardContent>
|
|
542
|
-
</Card>
|
|
543
|
-
</div>
|
|
544
|
-
)
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
export default HardwareAccelerationDemo
|
|
101
|
+
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold text-cs-text-primary mb-2", children: "\uD83D\uDE80 Hardware Acceleration & GPU Optimization" }), _jsx("p", { className: "text-lg text-cs-text-secondary mb-4", children: "Story 8 Implementation - Advanced hardware acceleration with GPU optimization and battery awareness" }), _jsxs("div", { className: "flex items-center justify-center gap-2", children: [_jsx(Badge, { variant: "default", children: "Story 8" }), _jsx(Badge, { variant: "outline", children: "Hardware Acceleration" }), _jsx(Badge, { variant: "secondary", children: "GPU Optimization" }), _jsx(Badge, { variant: "outline", children: "Battery Optimization" })] })] }), showGPUInfo && hardwareAcceleration.gpuInfo && (_jsxs(Card, { className: "border-2 border-cs-primary", children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "text-xl flex items-center gap-2", children: ["\uD83C\uDFAE GPU Information", _jsx(Badge, { variant: hardwareAcceleration.isGPUSupported ? 'default' : 'secondary', children: hardwareAcceleration.isGPUSupported ? 'Supported' : 'Not Supported' })] }), _jsx(CardDescription, { children: "Real-time GPU capability detection and WebGL support information" })] }), _jsx(CardContent, { children: _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "Vendor:" }), _jsx("span", { className: "text-sm text-cs-text-secondary", children: hardwareAcceleration.gpuInfo.vendor })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "Renderer:" }), _jsx("span", { className: "text-sm text-cs-text-secondary", children: hardwareAcceleration.gpuInfo.renderer })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "Version:" }), _jsx("span", { className: "text-sm text-cs-text-secondary", children: hardwareAcceleration.gpuInfo.version })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "WebGL Support:" }), _jsx(Badge, { variant: hardwareAcceleration.gpuInfo.isWebGLSupported ? 'default' : 'secondary', children: hardwareAcceleration.gpuInfo.isWebGLSupported ? 'Yes' : 'No' })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "WebGL2 Support:" }), _jsx(Badge, { variant: hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'default' : 'secondary', children: hardwareAcceleration.gpuInfo.isWebGL2Supported ? 'Yes' : 'No' })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm font-medium", children: "Max Texture Size:" }), _jsx("span", { className: "text-sm text-cs-text-secondary", children: hardwareAcceleration.gpuInfo.maxTextureSize })] })] })] }) })] })), showPerformanceMetrics && (_jsxs(Card, { className: "border-2 border-cs-secondary", children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "text-xl flex items-center gap-2", children: ["\uD83D\uDCCA Performance Metrics", _jsx(Badge, { variant: "outline", children: "Real-time" })] }), _jsx(CardDescription, { children: "Hardware acceleration performance monitoring and optimization status" })] }), _jsxs(CardContent, { children: [_jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-4 text-center", children: [_jsxs("div", { children: [_jsx("p", { className: "text-2xl font-bold text-cs-primary", children: hardwareAcceleration.metrics.fps }), _jsx("p", { className: "text-sm text-cs-text-secondary", children: "FPS" })] }), _jsxs("div", { children: [_jsxs("p", { className: "text-2xl font-bold text-cs-secondary", children: [hardwareAcceleration.metrics.frameTime.toFixed(1), "ms"] }), _jsx("p", { className: "text-sm text-cs-text-secondary", children: "Frame Time" })] }), _jsxs("div", { children: [_jsxs("p", { className: "text-2xl font-bold text-cs-accent", children: [hardwareAcceleration.metrics.gpuUtilization.toFixed(1), "%"] }), _jsx("p", { className: "text-sm text-cs-text-secondary", children: "GPU Usage" })] }), _jsxs("div", { children: [_jsx("p", { className: "text-2xl font-bold text-cs-primary", children: hardwareAcceleration.metrics.performanceScore }), _jsx("p", { className: "text-sm text-cs-text-secondary", children: "Performance Score" })] })] }), _jsxs("div", { className: "mt-4 p-3 bg-cs-accent/10 rounded-lg", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("span", { className: "font-medium text-sm", children: "Performance Level:" }), _jsx(Badge, { variant: hardwareAcceleration.performanceLevel === 'excellent' ? 'default' :
|
|
102
|
+
hardwareAcceleration.performanceLevel === 'good' ? 'default' :
|
|
103
|
+
hardwareAcceleration.performanceLevel === 'fair' ? 'secondary' : 'secondary', children: hardwareAcceleration.performanceLevel.toUpperCase() })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "font-medium text-sm", children: "Hardware Acceleration:" }), _jsx(Badge, { variant: hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary', children: hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled' })] })] })] })] })), showBatteryInfo && (_jsxs(Card, { className: "border-2 border-cs-accent", children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "text-xl flex items-center gap-2", children: ["\uD83D\uDD0B Battery Optimization", _jsxs(Badge, { variant: batteryOptimization.isLowBattery ? 'secondary' : 'default', children: [batteryOptimization.batteryPercentage, "%"] })] }), _jsx(CardDescription, { children: "Battery-aware performance optimization and user preference management" })] }), _jsxs(CardContent, { children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-3", children: [_jsx("h4", { className: "font-medium", children: "Battery Status" }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "Level:" }), _jsxs("span", { className: "text-sm text-cs-text-secondary", children: [batteryOptimization.batteryPercentage, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "Status:" }), _jsx(Badge, { variant: batteryOptimization.isCharging ? 'default' : 'secondary', children: batteryOptimization.isCharging ? 'Charging' : 'Discharging' })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "Health:" }), _jsx(Badge, { variant: "outline", children: batteryOptimization.getBatteryHealth() })] })] })] }), _jsxs("div", { className: "space-y-3", children: [_jsx("h4", { className: "font-medium", children: "Performance Settings" }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "Throttle Level:" }), _jsx(Badge, { variant: "outline", children: batteryOptimization.currentThrottleLevel })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "User Preference:" }), _jsx(Badge, { variant: "outline", children: batteryOptimization.userPreferences })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-sm", children: "Optimization:" }), _jsx(Badge, { variant: batteryOptimization.isOptimizing ? 'secondary' : 'default', children: batteryOptimization.isOptimizing ? 'Active' : 'Idle' })] })] })] })] }), _jsxs("div", { className: "mt-4 p-3 bg-cs-accent/10 rounded-lg", children: [_jsx("h4", { className: "font-medium text-sm mb-2", children: "User Preference:" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { variant: batteryOptimization.userPreferences === 'performance' ? 'default' : 'outline', size: "sm", onClick: () => batteryOptimization.updateUserPreferences('performance'), children: "Performance" }), _jsx(Button, { variant: batteryOptimization.userPreferences === 'balanced' ? 'default' : 'outline', size: "sm", onClick: () => batteryOptimization.updateUserPreferences('balanced'), children: "Balanced" }), _jsx(Button, { variant: batteryOptimization.userPreferences === 'battery' ? 'default' : 'outline', size: "sm", onClick: () => batteryOptimization.updateUserPreferences('battery'), children: "Battery" })] })] })] })] })), _jsxs(Card, { className: "border border-cs-border", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-lg", children: "Hardware Acceleration Demo" }), _jsx(CardDescription, { children: "Test different types of hardware acceleration with real-time animations" })] }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { variant: animationType === 'basic' ? 'default' : 'outline', size: "sm", onClick: () => setAnimationType('basic'), children: "Basic" }), _jsx(Button, { variant: animationType === 'gpu' ? 'default' : 'outline', size: "sm", onClick: () => setAnimationType('gpu'), children: "GPU Optimized" }), _jsx(Button, { variant: animationType === 'transform3d' ? 'default' : 'outline', size: "sm", onClick: () => setAnimationType('transform3d'), children: "Transform3D" }), _jsx(Button, { variant: animationType === 'performance' ? 'default' : 'outline', size: "sm", onClick: () => setAnimationType('performance'), children: "Performance" })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { variant: "default", onClick: startAnimation, disabled: animationState === 'running', children: "Start Animation" }), _jsx(Button, { variant: "outline", onClick: pauseAnimation, disabled: animationState !== 'running', children: "Pause" }), _jsx(Button, { variant: "outline", onClick: resumeAnimation, disabled: animationState !== 'paused', children: "Resume" })] }), _jsx("div", { className: "flex justify-center", children: _jsx("div", { className: getAnimationClasses(animationType), style: getAnimationStyles(animationState) }) }), _jsxs("div", { className: "text-center text-sm text-cs-text-secondary", children: [_jsxs("p", { children: ["Animation Type: ", _jsx("span", { className: "font-medium", children: animationType })] }), _jsxs("p", { children: ["State: ", _jsx("span", { className: "font-medium", children: animationState })] }), _jsxs("p", { children: ["Hardware Acceleration: ", _jsx("span", { className: "font-medium", children: hardwareAcceleration.isHardwareAccelerated ? 'Enabled' : 'Disabled' })] })] })] })] }), _jsxs(Card, { className: "border border-cs-border", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-lg", children: "Demo Controls" }), _jsx(CardDescription, { children: "Configure and test different hardware acceleration features" })] }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsxs(Button, { variant: showGPUInfo ? 'default' : 'outline', size: "sm", onClick: () => setShowGPUInfo(!showGPUInfo), children: [showGPUInfo ? 'Hide' : 'Show', " GPU Info"] }), _jsxs(Button, { variant: showPerformanceMetrics ? 'default' : 'outline', size: "sm", onClick: () => setShowPerformanceMetrics(!showPerformanceMetrics), children: [showPerformanceMetrics ? 'Hide' : 'Show', " Performance"] }), _jsxs(Button, { variant: showBatteryInfo ? 'default' : 'outline', size: "sm", onClick: () => setShowBatteryInfo(!showBatteryInfo), children: [showBatteryInfo ? 'Hide' : 'Show', " Battery Info"] })] }), _jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsxs(Button, { variant: enableHardwareAcceleration ? 'default' : 'outline', size: "sm", onClick: () => setEnableHardwareAcceleration(!enableHardwareAcceleration), children: [enableHardwareAcceleration ? 'Disable' : 'Enable', " Hardware Acceleration"] }), _jsxs(Button, { variant: enableBatteryOptimization ? 'default' : 'outline', size: "sm", onClick: () => setEnableBatteryOptimization(!enableBatteryOptimization), children: [enableBatteryOptimization ? 'Disable' : 'Enable', " Battery Optimization"] })] })] })] }), _jsxs(Card, { className: "border border-cs-border", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-lg", children: "Optimization Status" }), _jsx(CardDescription, { children: "Current optimization status and recommendations" })] }), _jsxs(CardContent, { children: [_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm", children: "Hardware Acceleration:" }), _jsx(Badge, { variant: hardwareAcceleration.isHardwareAccelerated ? 'default' : 'secondary', children: hardwareAcceleration.isHardwareAccelerated ? 'Optimal' : 'Needs Optimization' })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm", children: "Performance Level:" }), _jsx(Badge, { variant: hardwareAcceleration.performanceLevel === 'excellent' || hardwareAcceleration.performanceLevel === 'good'
|
|
104
|
+
? 'default' : 'secondary', children: hardwareAcceleration.performanceLevel.toUpperCase() })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm", children: "Battery Optimization:" }), _jsx(Badge, { variant: batteryOptimization.isLowBattery ? 'secondary' : 'default', children: batteryOptimization.isLowBattery ? 'Needs Optimization' : 'Optimized' })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm", children: "GPU Utilization:" }), _jsx(Badge, { variant: hardwareAcceleration.metrics.gpuUtilization < 80 ? 'default' : 'secondary', children: hardwareAcceleration.metrics.gpuUtilization < 80 ? 'Optimal' : 'High Usage' })] })] }), hardwareAcceleration.optimizations.length > 0 && (_jsxs("div", { className: "mt-4 p-3 bg-cs-accent/10 rounded-lg", children: [_jsx("h4", { className: "font-medium text-sm mb-2", children: "Recent Optimizations:" }), _jsx("ul", { className: "text-xs text-cs-text-secondary space-y-1", children: hardwareAcceleration.optimizations.slice(-3).map((optimization, index) => (_jsxs("li", { children: ["\u2022 ", optimization] }, index))) })] })), batteryOptimization.optimizationRecommendations.length > 0 && (_jsxs("div", { className: "mt-4 p-3 bg-cs-secondary/10 rounded-lg", children: [_jsx("h4", { className: "font-medium text-sm mb-2", children: "Battery Recommendations:" }), _jsx("ul", { className: "text-xs text-cs-text-secondary space-y-1", children: batteryOptimization.optimizationRecommendations.slice(0, 3).map((recommendation, index) => (_jsxs("li", { children: ["\u2022 ", recommendation] }, index))) })] }))] })] })] }));
|
|
105
|
+
};
|
|
106
|
+
export default HardwareAccelerationDemo;
|