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