@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.11 → 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 -3
- package/dist/components/ui/navigation/index.js +0 -3
- 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 -5
- package/dist/components/ui/overlay/index.js +0 -5
- 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 -161
- package/dist/index.js +150 -161
- 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 -13
- package/dist/tokens/index.js +2 -13
- 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,670 +1,59 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
duration={300}
|
|
61
|
-
easing="ease-out"
|
|
62
|
-
variant="default"
|
|
63
|
-
size="default"
|
|
64
|
-
>
|
|
65
|
-
Ease Out (Standard)
|
|
66
|
-
</AdvancedTransitionButton>
|
|
67
|
-
|
|
68
|
-
<AdvancedTransitionButton
|
|
69
|
-
duration={300}
|
|
70
|
-
easing="ease-in"
|
|
71
|
-
variant="secondary"
|
|
72
|
-
size="default"
|
|
73
|
-
>
|
|
74
|
-
Ease In
|
|
75
|
-
</AdvancedTransitionButton>
|
|
76
|
-
|
|
77
|
-
<AdvancedTransitionButton
|
|
78
|
-
duration={300}
|
|
79
|
-
easing="ease-in-out"
|
|
80
|
-
variant="outline"
|
|
81
|
-
size="default"
|
|
82
|
-
>
|
|
83
|
-
Ease In Out
|
|
84
|
-
</AdvancedTransitionButton>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<div className="space-y-4">
|
|
89
|
-
<h4 className="font-medium text-cs-text-primary">Advanced Easing</h4>
|
|
90
|
-
|
|
91
|
-
<div className="space-y-3">
|
|
92
|
-
<AdvancedTransitionButton
|
|
93
|
-
duration={300}
|
|
94
|
-
easing="ease-out-quint"
|
|
95
|
-
variant="default"
|
|
96
|
-
size="default"
|
|
97
|
-
>
|
|
98
|
-
Ease Out Quint
|
|
99
|
-
</AdvancedTransitionButton>
|
|
100
|
-
|
|
101
|
-
<AdvancedTransitionButton
|
|
102
|
-
duration={300}
|
|
103
|
-
easing="ease-out-expo"
|
|
104
|
-
variant="secondary"
|
|
105
|
-
size="default"
|
|
106
|
-
>
|
|
107
|
-
Ease Out Expo
|
|
108
|
-
</AdvancedTransitionButton>
|
|
109
|
-
|
|
110
|
-
<AdvancedTransitionButton
|
|
111
|
-
duration={300}
|
|
112
|
-
easing="ease-out-circ"
|
|
113
|
-
variant="outline"
|
|
114
|
-
size="default"
|
|
115
|
-
>
|
|
116
|
-
Ease Out Circ
|
|
117
|
-
</AdvancedTransitionButton>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
{/* Transition Durations */}
|
|
124
|
-
<div className="space-y-6">
|
|
125
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">⏱️ Transition Durations</h3>
|
|
126
|
-
|
|
127
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
128
|
-
<div className="space-y-4">
|
|
129
|
-
<h4 className="font-medium text-cs-text-primary">Fast Transitions</h4>
|
|
130
|
-
|
|
131
|
-
<div className="space-y-3">
|
|
132
|
-
<AdvancedTransitionButton
|
|
133
|
-
duration={75}
|
|
134
|
-
easing="ease-out"
|
|
135
|
-
variant="default"
|
|
136
|
-
size="sm"
|
|
137
|
-
>
|
|
138
|
-
75ms (Ultra Fast)
|
|
139
|
-
</AdvancedTransitionButton>
|
|
140
|
-
|
|
141
|
-
<AdvancedTransitionButton
|
|
142
|
-
duration={150}
|
|
143
|
-
easing="ease-out"
|
|
144
|
-
variant="secondary"
|
|
145
|
-
size="sm"
|
|
146
|
-
>
|
|
147
|
-
150ms (Fast)
|
|
148
|
-
</AdvancedTransitionButton>
|
|
149
|
-
|
|
150
|
-
<AdvancedTransitionButton
|
|
151
|
-
duration={200}
|
|
152
|
-
easing="ease-out"
|
|
153
|
-
variant="outline"
|
|
154
|
-
size="sm"
|
|
155
|
-
>
|
|
156
|
-
200ms (Quick)
|
|
157
|
-
</AdvancedTransitionButton>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
|
|
161
|
-
<div className="space-y-4">
|
|
162
|
-
<h4 className="font-medium text-cs-text-primary">Slow Transitions</h4>
|
|
163
|
-
|
|
164
|
-
<div className="space-y-3">
|
|
165
|
-
<AdvancedTransitionButton
|
|
166
|
-
duration={500}
|
|
167
|
-
easing="ease-out"
|
|
168
|
-
variant="default"
|
|
169
|
-
size="lg"
|
|
170
|
-
>
|
|
171
|
-
500ms (Slow)
|
|
172
|
-
</AdvancedTransitionButton>
|
|
173
|
-
|
|
174
|
-
<AdvancedTransitionButton
|
|
175
|
-
duration={700}
|
|
176
|
-
easing="ease-out"
|
|
177
|
-
variant="secondary"
|
|
178
|
-
size="lg"
|
|
179
|
-
>
|
|
180
|
-
700ms (Slower)
|
|
181
|
-
</AdvancedTransitionButton>
|
|
182
|
-
|
|
183
|
-
<AdvancedTransitionButton
|
|
184
|
-
duration={1000}
|
|
185
|
-
easing="ease-out"
|
|
186
|
-
variant="outline"
|
|
187
|
-
size="lg"
|
|
188
|
-
>
|
|
189
|
-
1000ms (Very Slow)
|
|
190
|
-
</AdvancedTransitionButton>
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
193
|
-
</div>
|
|
194
|
-
</div>
|
|
195
|
-
|
|
196
|
-
{/* Interactive Components */}
|
|
197
|
-
<div className="space-y-6">
|
|
198
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🎭 Interactive Components</h3>
|
|
199
|
-
|
|
200
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
201
|
-
<div className="space-y-4">
|
|
202
|
-
<h4 className="font-medium text-cs-text-primary">Interactive Cards</h4>
|
|
203
|
-
|
|
204
|
-
<div className="space-y-3">
|
|
205
|
-
<AdvancedTransitionCard
|
|
206
|
-
duration={300}
|
|
207
|
-
easing="ease-out"
|
|
208
|
-
interactive
|
|
209
|
-
>
|
|
210
|
-
<div className="text-center">
|
|
211
|
-
<div className="text-lg font-semibold">Interactive Card</div>
|
|
212
|
-
<div className="text-sm text-cs-text-secondary">Click to trigger transition</div>
|
|
213
|
-
</div>
|
|
214
|
-
</AdvancedTransitionCard>
|
|
215
|
-
|
|
216
|
-
<AdvancedTransitionCard
|
|
217
|
-
duration={500}
|
|
218
|
-
easing="ease-out-quint"
|
|
219
|
-
interactive
|
|
220
|
-
>
|
|
221
|
-
<div className="text-center">
|
|
222
|
-
<div className="text-lg font-semibold">Quint Easing</div>
|
|
223
|
-
<div className="text-sm text-cs-text-secondary">Smooth shadow transition</div>
|
|
224
|
-
</div>
|
|
225
|
-
</AdvancedTransitionCard>
|
|
226
|
-
</div>
|
|
227
|
-
</div>
|
|
228
|
-
|
|
229
|
-
<div className="space-y-4">
|
|
230
|
-
<h4 className="font-medium text-cs-text-primary">Form Inputs</h4>
|
|
231
|
-
|
|
232
|
-
<div className="space-y-3">
|
|
233
|
-
<AdvancedTransitionInput
|
|
234
|
-
duration={200}
|
|
235
|
-
easing="ease-out"
|
|
236
|
-
placeholder="Focus to trigger transition"
|
|
237
|
-
value={formData.name}
|
|
238
|
-
onChange={(e) => handleInputChange('name', e.target.value)}
|
|
239
|
-
/>
|
|
240
|
-
|
|
241
|
-
<AdvancedTransitionInput
|
|
242
|
-
duration={300}
|
|
243
|
-
easing="ease-out-quint"
|
|
244
|
-
placeholder="Quint easing on focus"
|
|
245
|
-
value={formData.email}
|
|
246
|
-
onChange={(e) => handleInputChange('email', e.target.value)}
|
|
247
|
-
/>
|
|
248
|
-
</div>
|
|
249
|
-
</div>
|
|
250
|
-
</div>
|
|
251
|
-
</div>
|
|
252
|
-
|
|
253
|
-
{/* Staggered Animations */}
|
|
254
|
-
<div className="space-y-6">
|
|
255
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🎬 Staggered Animations</h3>
|
|
256
|
-
|
|
257
|
-
<AdvancedTransitionList
|
|
258
|
-
duration={300}
|
|
259
|
-
easing="ease-out"
|
|
260
|
-
staggerDelay={100}
|
|
261
|
-
>
|
|
262
|
-
<li className="p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-1">
|
|
263
|
-
Item 1 - Fades in first
|
|
264
|
-
</li>
|
|
265
|
-
<li className="p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-2">
|
|
266
|
-
Item 2 - Fades in second
|
|
267
|
-
</li>
|
|
268
|
-
<li className="p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-3">
|
|
269
|
-
Item 3 - Fades in third
|
|
270
|
-
</li>
|
|
271
|
-
<li className="p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-4">
|
|
272
|
-
Item 4 - Fades in fourth
|
|
273
|
-
</li>
|
|
274
|
-
<li className="p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-5">
|
|
275
|
-
Item 5 - Fades in last
|
|
276
|
-
</li>
|
|
277
|
-
</AdvancedTransitionList>
|
|
278
|
-
</div>
|
|
279
|
-
</div>
|
|
280
|
-
)
|
|
281
|
-
|
|
282
|
-
const renderPerformanceDemo = () => (
|
|
283
|
-
<div className="space-y-6">
|
|
284
|
-
{/* Performance Metrics */}
|
|
285
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
286
|
-
<div className="space-y-4">
|
|
287
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">📊 Performance Metrics</h3>
|
|
288
|
-
|
|
289
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
290
|
-
<div className="space-y-3">
|
|
291
|
-
<div className="flex justify-between items-center">
|
|
292
|
-
<span className="text-sm font-medium">Frame Rate</span>
|
|
293
|
-
<span className={`text-lg font-bold ${
|
|
294
|
-
performanceMetrics.frameRate >= 55 ? 'text-cs-success' :
|
|
295
|
-
performanceMetrics.frameRate >= 45 ? 'text-cs-warning' : 'text-cs-error'
|
|
296
|
-
}`}>
|
|
297
|
-
{performanceMetrics.frameRate} FPS
|
|
298
|
-
</span>
|
|
299
|
-
</div>
|
|
300
|
-
|
|
301
|
-
<div className="w-full bg-cs-border rounded-full h-2">
|
|
302
|
-
<div
|
|
303
|
-
className={`h-2 rounded-full transition-all duration-300 ${
|
|
304
|
-
performanceMetrics.frameRate >= 55 ? 'bg-cs-success' :
|
|
305
|
-
performanceMetrics.frameRate >= 45 ? 'bg-cs-warning' : 'bg-cs-error'
|
|
306
|
-
}`}
|
|
307
|
-
style={{ width: `${(performanceMetrics.frameRate / 60) * 100}%` }}
|
|
308
|
-
/>
|
|
309
|
-
</div>
|
|
310
|
-
|
|
311
|
-
<div className="flex justify-between items-center">
|
|
312
|
-
<span className="text-sm font-medium">Memory Usage</span>
|
|
313
|
-
<span className="font-medium">{performanceMetrics.memoryUsage}%</span>
|
|
314
|
-
</div>
|
|
315
|
-
|
|
316
|
-
<div className="flex justify-between items-center">
|
|
317
|
-
<span className="text-sm font-medium">Smoothness</span>
|
|
318
|
-
<span className={`font-medium ${
|
|
319
|
-
performanceMetrics.smoothness >= 80 ? 'text-cs-success' :
|
|
320
|
-
performanceMetrics.smoothness >= 60 ? 'text-cs-warning' : 'text-cs-error'
|
|
321
|
-
}`}>
|
|
322
|
-
{performanceMetrics.smoothness}%
|
|
323
|
-
</span>
|
|
324
|
-
</div>
|
|
325
|
-
|
|
326
|
-
<div className="flex justify-between items-center">
|
|
327
|
-
<span className="text-sm font-medium">Battery Impact</span>
|
|
328
|
-
<span className={`font-medium ${
|
|
329
|
-
performanceMetrics.batteryImpact >= 80 ? 'text-cs-success' :
|
|
330
|
-
performanceMetrics.batteryImpact >= 60 ? 'text-cs-warning' : 'text-cs-error'
|
|
331
|
-
}`}>
|
|
332
|
-
{performanceMetrics.batteryImpact}%
|
|
333
|
-
</span>
|
|
334
|
-
</div>
|
|
335
|
-
</div>
|
|
336
|
-
</div>
|
|
337
|
-
</div>
|
|
338
|
-
|
|
339
|
-
<div className="space-y-4">
|
|
340
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🎯 Performance Score</h3>
|
|
341
|
-
|
|
342
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
343
|
-
<div className="text-center space-y-3">
|
|
344
|
-
<div className={`text-4xl font-bold ${
|
|
345
|
-
transitionState.performanceScore >= 80 ? 'text-cs-success' :
|
|
346
|
-
transitionState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'
|
|
347
|
-
}`}>
|
|
348
|
-
{transitionState.performanceScore}/100
|
|
349
|
-
</div>
|
|
350
|
-
|
|
351
|
-
<div className="w-full bg-cs-border rounded-full h-3">
|
|
352
|
-
<div
|
|
353
|
-
className={`h-3 rounded-full transition-all duration-300 ${
|
|
354
|
-
transitionState.performanceScore >= 80 ? 'bg-cs-success' :
|
|
355
|
-
transitionState.performanceScore >= 60 ? 'bg-cs-warning' : 'bg-cs-error'
|
|
356
|
-
}`}
|
|
357
|
-
style={{ width: `${transitionState.performanceScore}%` }}
|
|
358
|
-
/>
|
|
359
|
-
</div>
|
|
360
|
-
|
|
361
|
-
<div className="text-sm text-cs-text-secondary">
|
|
362
|
-
{transitionState.performanceScore >= 80 ? 'Excellent Performance' :
|
|
363
|
-
transitionState.performanceScore >= 60 ? 'Good Performance' : 'Needs Optimization'}
|
|
364
|
-
</div>
|
|
365
|
-
</div>
|
|
366
|
-
</div>
|
|
367
|
-
</div>
|
|
368
|
-
</div>
|
|
369
|
-
|
|
370
|
-
{/* Hardware Acceleration */}
|
|
371
|
-
<div className="space-y-4">
|
|
372
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🚀 Hardware Acceleration</h3>
|
|
373
|
-
|
|
374
|
-
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
375
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center">
|
|
376
|
-
<div className="text-2xl mb-2">⚡</div>
|
|
377
|
-
<div className="font-medium">GPU Acceleration</div>
|
|
378
|
-
<div className="text-sm text-cs-text-secondary">Hardware-accelerated transforms</div>
|
|
379
|
-
</div>
|
|
380
|
-
|
|
381
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center">
|
|
382
|
-
<div className="text-2xl mb-2">💾</div>
|
|
383
|
-
<div className="font-medium">Memory Optimization</div>
|
|
384
|
-
<div className="text-sm text-cs-text-secondary">Efficient memory usage</div>
|
|
385
|
-
</div>
|
|
386
|
-
|
|
387
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center">
|
|
388
|
-
<div className="text-2xl mb-2">🔋</div>
|
|
389
|
-
<div className="font-medium">Battery Aware</div>
|
|
390
|
-
<div className="text-sm text-cs-text-secondary">Optimized for battery life</div>
|
|
391
|
-
</div>
|
|
392
|
-
</div>
|
|
393
|
-
</div>
|
|
394
|
-
</div>
|
|
395
|
-
)
|
|
396
|
-
|
|
397
|
-
const renderDeviceDemo = () => (
|
|
398
|
-
<div className="space-y-6">
|
|
399
|
-
{/* Device Detection */}
|
|
400
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
401
|
-
<div className="space-y-4">
|
|
402
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">📱 Device Detection</h3>
|
|
403
|
-
|
|
404
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
405
|
-
<div className="space-y-3">
|
|
406
|
-
<div className="flex justify-between items-center">
|
|
407
|
-
<span className="text-sm font-medium">Current Device</span>
|
|
408
|
-
<Badge variant="default" className="capitalize">
|
|
409
|
-
{transitionState.deviceType}
|
|
410
|
-
</Badge>
|
|
411
|
-
</div>
|
|
412
|
-
|
|
413
|
-
<div className="flex justify-between items-center">
|
|
414
|
-
<span className="text-sm font-medium">Battery Level</span>
|
|
415
|
-
<Badge
|
|
416
|
-
variant={
|
|
417
|
-
transitionState.batteryLevel === 'normal' ? 'default' :
|
|
418
|
-
transitionState.batteryLevel === 'low' ? 'secondary' : 'outline'
|
|
419
|
-
}
|
|
420
|
-
className="capitalize"
|
|
421
|
-
>
|
|
422
|
-
{transitionState.batteryLevel}
|
|
423
|
-
</Badge>
|
|
424
|
-
</div>
|
|
425
|
-
|
|
426
|
-
<div className="flex justify-between items-center">
|
|
427
|
-
<span className="text-sm font-medium">Reduced Motion</span>
|
|
428
|
-
<Badge variant={transitionState.reducedMotion ? 'outline' : 'default'}>
|
|
429
|
-
{transitionState.reducedMotion ? 'Enabled' : 'Disabled'}
|
|
430
|
-
</Badge>
|
|
431
|
-
</div>
|
|
432
|
-
</div>
|
|
433
|
-
</div>
|
|
434
|
-
</div>
|
|
435
|
-
|
|
436
|
-
<div className="space-y-4">
|
|
437
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">⚙️ Device Optimizations</h3>
|
|
438
|
-
|
|
439
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
440
|
-
{isOptimizing ? (
|
|
441
|
-
<div className="text-center py-4">
|
|
442
|
-
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2"></div>
|
|
443
|
-
<div className="text-sm text-cs-text-secondary">Optimizing for device...</div>
|
|
444
|
-
</div>
|
|
445
|
-
) : optimizations.length > 0 ? (
|
|
446
|
-
<div className="space-y-2">
|
|
447
|
-
{optimizations.map((optimization, index) => (
|
|
448
|
-
<div key={index} className="flex items-center space-x-2 text-sm">
|
|
449
|
-
<span className="text-cs-success">✅</span>
|
|
450
|
-
<span>{optimization}</span>
|
|
451
|
-
</div>
|
|
452
|
-
))}
|
|
453
|
-
</div>
|
|
454
|
-
) : (
|
|
455
|
-
<div className="text-center py-4 text-cs-text-secondary">
|
|
456
|
-
No optimizations applied yet
|
|
457
|
-
</div>
|
|
458
|
-
)}
|
|
459
|
-
</div>
|
|
460
|
-
</div>
|
|
461
|
-
</div>
|
|
462
|
-
|
|
463
|
-
{/* Device-Specific Transitions */}
|
|
464
|
-
<div className="space-y-4">
|
|
465
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🎯 Device-Specific Transitions</h3>
|
|
466
|
-
|
|
467
|
-
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
468
|
-
<AdvancedTransitionCard
|
|
469
|
-
duration={transitionState.deviceType === 'mobile' ? 200 : 300}
|
|
470
|
-
easing="ease-out"
|
|
471
|
-
className="text-center"
|
|
472
|
-
>
|
|
473
|
-
<div className="text-lg font-semibold">Mobile Optimized</div>
|
|
474
|
-
<div className="text-sm text-cs-text-secondary">
|
|
475
|
-
Duration: {transitionState.deviceType === 'mobile' ? '200ms' : '300ms'}
|
|
476
|
-
</div>
|
|
477
|
-
</AdvancedTransitionCard>
|
|
478
|
-
|
|
479
|
-
<AdvancedTransitionCard
|
|
480
|
-
duration={transitionState.deviceType === 'tablet' ? 250 : 300}
|
|
481
|
-
easing="ease-out"
|
|
482
|
-
className="text-center"
|
|
483
|
-
>
|
|
484
|
-
<div className="text-lg font-semibold">Tablet Optimized</div>
|
|
485
|
-
<div className="text-sm text-cs-text-secondary">
|
|
486
|
-
Duration: {transitionState.deviceType === 'tablet' ? '250ms' : '300ms'}
|
|
487
|
-
</div>
|
|
488
|
-
</AdvancedTransitionCard>
|
|
489
|
-
|
|
490
|
-
<AdvancedTransitionCard
|
|
491
|
-
duration={300}
|
|
492
|
-
easing="ease-out"
|
|
493
|
-
className="text-center"
|
|
494
|
-
>
|
|
495
|
-
<div className="text-lg font-semibold">Desktop Optimized</div>
|
|
496
|
-
<div className="text-sm text-cs-text-secondary">
|
|
497
|
-
Duration: 300ms
|
|
498
|
-
</div>
|
|
499
|
-
</AdvancedTransitionCard>
|
|
500
|
-
</div>
|
|
501
|
-
</div>
|
|
502
|
-
</div>
|
|
503
|
-
)
|
|
504
|
-
|
|
505
|
-
const renderAccessibilityDemo = () => (
|
|
506
|
-
<div className="space-y-6">
|
|
507
|
-
{/* Accessibility Features */}
|
|
508
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
509
|
-
<div className="space-y-4">
|
|
510
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">♿ Accessibility Features</h3>
|
|
511
|
-
|
|
512
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
513
|
-
<div className="space-y-3">
|
|
514
|
-
<div className="flex justify-between items-center">
|
|
515
|
-
<span className="text-sm font-medium">Reduced Motion</span>
|
|
516
|
-
<Badge variant={transitionState.reducedMotion ? 'default' : 'secondary'}>
|
|
517
|
-
{transitionState.reducedMotion ? 'Supported' : 'Not Detected'}
|
|
518
|
-
</Badge>
|
|
519
|
-
</div>
|
|
520
|
-
|
|
521
|
-
<div className="flex justify-between items-center">
|
|
522
|
-
<span className="text-sm font-medium">Screen Reader</span>
|
|
523
|
-
<Badge variant="default">Supported</Badge>
|
|
524
|
-
</div>
|
|
525
|
-
|
|
526
|
-
<div className="flex justify-between items-center">
|
|
527
|
-
<span className="text-sm font-medium">Focus Management</span>
|
|
528
|
-
<Badge variant="default">Enabled</Badge>
|
|
529
|
-
</div>
|
|
530
|
-
|
|
531
|
-
<div className="flex justify-between items-center">
|
|
532
|
-
<span className="text-sm font-medium">ARIA Support</span>
|
|
533
|
-
<Badge variant="default">Full</Badge>
|
|
534
|
-
</div>
|
|
535
|
-
</div>
|
|
536
|
-
</div>
|
|
537
|
-
</div>
|
|
538
|
-
|
|
539
|
-
<div className="space-y-4">
|
|
540
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🎭 Motion Preferences</h3>
|
|
541
|
-
|
|
542
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
543
|
-
<div className="space-y-3">
|
|
544
|
-
<div className="text-center">
|
|
545
|
-
<div className="text-2xl mb-2">
|
|
546
|
-
{transitionState.reducedMotion ? '🚫' : '✨'}
|
|
547
|
-
</div>
|
|
548
|
-
<div className="font-medium">
|
|
549
|
-
{transitionState.reducedMotion ? 'Reduced Motion' : 'Full Motion'}
|
|
550
|
-
</div>
|
|
551
|
-
<div className="text-sm text-cs-text-secondary">
|
|
552
|
-
{transitionState.reducedMotion
|
|
553
|
-
? 'Transitions are disabled for accessibility'
|
|
554
|
-
: 'All transitions are enabled'}
|
|
555
|
-
</div>
|
|
556
|
-
</div>
|
|
557
|
-
</div>
|
|
558
|
-
</div>
|
|
559
|
-
</div>
|
|
560
|
-
</div>
|
|
561
|
-
|
|
562
|
-
{/* Accessibility Test */}
|
|
563
|
-
<div className="space-y-4">
|
|
564
|
-
<h3 className="text-lg font-semibold text-cs-text-primary">🧪 Accessibility Test</h3>
|
|
565
|
-
|
|
566
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
567
|
-
<AdvancedTransitionButton
|
|
568
|
-
duration={transitionState.reducedMotion ? 0 : 300}
|
|
569
|
-
easing="ease-out"
|
|
570
|
-
variant="default"
|
|
571
|
-
size="default"
|
|
572
|
-
aria-label="Test button with accessibility support"
|
|
573
|
-
>
|
|
574
|
-
Test Button
|
|
575
|
-
</AdvancedTransitionButton>
|
|
576
|
-
|
|
577
|
-
<AdvancedTransitionInput
|
|
578
|
-
duration={transitionState.reducedMotion ? 0 : 200}
|
|
579
|
-
easing="ease-out"
|
|
580
|
-
placeholder="Test input accessibility"
|
|
581
|
-
aria-label="Test input with accessibility support"
|
|
582
|
-
/>
|
|
583
|
-
</div>
|
|
584
|
-
|
|
585
|
-
<div className="text-sm text-cs-text-secondary">
|
|
586
|
-
<strong>Note:</strong> If you have reduced motion enabled in your system preferences,
|
|
587
|
-
transitions will be automatically disabled for better accessibility.
|
|
588
|
-
</div>
|
|
589
|
-
</div>
|
|
590
|
-
</div>
|
|
591
|
-
)
|
|
592
|
-
|
|
593
|
-
return (
|
|
594
|
-
<div className="space-y-6">
|
|
595
|
-
{/* Header */}
|
|
596
|
-
<div className="text-center space-y-2">
|
|
597
|
-
<h2 className="text-2xl font-bold text-cs-text-primary">
|
|
598
|
-
Advanced Transition System with Cubic Bezier Curves
|
|
599
|
-
</h2>
|
|
600
|
-
<p className="text-cs-text-secondary">
|
|
601
|
-
Professional animation system with performance optimization, device-specific behavior, and accessibility support
|
|
602
|
-
</p>
|
|
603
|
-
</div>
|
|
604
|
-
|
|
605
|
-
{/* Navigation Tabs */}
|
|
606
|
-
<div className="flex flex-wrap gap-2 justify-center">
|
|
607
|
-
{(['transitions', 'performance', 'device', 'accessibility'] as const).map((demo) => (
|
|
608
|
-
<button
|
|
609
|
-
key={demo}
|
|
610
|
-
onClick={() => setActiveDemo(demo)}
|
|
611
|
-
className={`px-4 py-2 rounded-lg font-medium transition-colors ${
|
|
612
|
-
activeDemo === demo
|
|
613
|
-
? 'bg-cs-primary text-white'
|
|
614
|
-
: 'bg-cs-surface-bg text-cs-text-primary hover:bg-cs-hover-bg'
|
|
615
|
-
}`}
|
|
616
|
-
>
|
|
617
|
-
{demo === 'transitions' && '🎨 Transitions'}
|
|
618
|
-
{demo === 'performance' && '📊 Performance'}
|
|
619
|
-
{demo === 'device' && '📱 Device'}
|
|
620
|
-
{demo === 'accessibility' && '♿ Accessibility'}
|
|
621
|
-
</button>
|
|
622
|
-
))}
|
|
623
|
-
</div>
|
|
624
|
-
|
|
625
|
-
{/* Demo Content */}
|
|
626
|
-
<div className="min-h-[400px]">
|
|
627
|
-
{activeDemo === 'transitions' && renderTransitionsDemo()}
|
|
628
|
-
{activeDemo === 'performance' && renderPerformanceDemo()}
|
|
629
|
-
{activeDemo === 'device' && renderDeviceDemo()}
|
|
630
|
-
{activeDemo === 'accessibility' && renderAccessibilityDemo()}
|
|
631
|
-
</div>
|
|
632
|
-
|
|
633
|
-
{/* Status Bar */}
|
|
634
|
-
<div className="p-4 bg-cs-surface-bg rounded-lg border border-cs-border">
|
|
635
|
-
<div className="flex flex-wrap items-center justify-between gap-4 text-sm">
|
|
636
|
-
<div className="flex items-center space-x-4">
|
|
637
|
-
<span className="font-medium">Device:</span>
|
|
638
|
-
<Badge variant="outline" className="capitalize">
|
|
639
|
-
{transitionState.deviceType}
|
|
640
|
-
</Badge>
|
|
641
|
-
<span className="font-medium">Battery:</span>
|
|
642
|
-
<Badge
|
|
643
|
-
variant={
|
|
644
|
-
transitionState.batteryLevel === 'normal' ? 'default' :
|
|
645
|
-
transitionState.batteryLevel === 'low' ? 'secondary' : 'outline'
|
|
646
|
-
}
|
|
647
|
-
className="capitalize"
|
|
648
|
-
>
|
|
649
|
-
{transitionState.batteryLevel}
|
|
650
|
-
</Badge>
|
|
651
|
-
</div>
|
|
652
|
-
|
|
653
|
-
<div className="flex items-center space-x-4">
|
|
654
|
-
<span className="font-medium">Performance:</span>
|
|
655
|
-
<span className={`font-bold ${
|
|
656
|
-
transitionState.performanceScore >= 80 ? 'text-cs-success' :
|
|
657
|
-
transitionState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'
|
|
658
|
-
}`}>
|
|
659
|
-
{transitionState.performanceScore}%
|
|
660
|
-
</span>
|
|
661
|
-
<span className="font-medium">Motion:</span>
|
|
662
|
-
<Badge variant={transitionState.reducedMotion ? 'outline' : 'default'}>
|
|
663
|
-
{transitionState.reducedMotion ? 'Reduced' : 'Full'}
|
|
664
|
-
</Badge>
|
|
665
|
-
</div>
|
|
666
|
-
</div>
|
|
667
|
-
</div>
|
|
668
|
-
</div>
|
|
669
|
-
)
|
|
670
|
-
}
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Badge } from './badge';
|
|
4
|
+
import { useAdvancedTransitionSystem } from '../../hooks/use-advanced-transition-system';
|
|
5
|
+
import { AdvancedTransitionButton, AdvancedTransitionCard, AdvancedTransitionInput, AdvancedTransitionList } from './advanced-transition-system';
|
|
6
|
+
export const AdvancedTransitionSystemDemo = () => {
|
|
7
|
+
const [activeDemo, setActiveDemo] = useState('transitions');
|
|
8
|
+
const [formData, setFormData] = useState({
|
|
9
|
+
name: '',
|
|
10
|
+
email: '',
|
|
11
|
+
message: ''
|
|
12
|
+
});
|
|
13
|
+
const { transitionState, performanceMetrics, isOptimizing, optimizations } = useAdvancedTransitionSystem({
|
|
14
|
+
duration: 300,
|
|
15
|
+
easing: 'ease-out',
|
|
16
|
+
performance: true,
|
|
17
|
+
deviceOptimization: true,
|
|
18
|
+
accessibility: true,
|
|
19
|
+
batteryAware: true
|
|
20
|
+
}, {
|
|
21
|
+
onTransitionStart: (config) => {
|
|
22
|
+
console.log('Transition started:', config);
|
|
23
|
+
},
|
|
24
|
+
onTransitionComplete: (duration) => {
|
|
25
|
+
console.log('Transition completed in:', duration, 'ms');
|
|
26
|
+
},
|
|
27
|
+
onPerformanceOptimized: (metrics) => {
|
|
28
|
+
console.log('Performance optimized:', metrics);
|
|
29
|
+
},
|
|
30
|
+
onDeviceOptimized: (deviceType) => {
|
|
31
|
+
console.log('Device optimized for:', deviceType);
|
|
32
|
+
},
|
|
33
|
+
onAccessibilityEnhanced: (feature) => {
|
|
34
|
+
console.log('Accessibility enhanced:', feature);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const handleInputChange = (field, value) => {
|
|
38
|
+
setFormData(prev => ({ ...prev, [field]: value }));
|
|
39
|
+
};
|
|
40
|
+
const renderTransitionsDemo = () => (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "space-y-6", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFA8 Cubic Bezier Curves" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Standard Easing" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-out", variant: "default", size: "default", children: "Ease Out (Standard)" }), _jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-in", variant: "secondary", size: "default", children: "Ease In" }), _jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-in-out", variant: "outline", size: "default", children: "Ease In Out" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Advanced Easing" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-out-quint", variant: "default", size: "default", children: "Ease Out Quint" }), _jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-out-expo", variant: "secondary", size: "default", children: "Ease Out Expo" }), _jsx(AdvancedTransitionButton, { duration: 300, easing: "ease-out-circ", variant: "outline", size: "default", children: "Ease Out Circ" })] })] })] })] }), _jsxs("div", { className: "space-y-6", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\u23F1\uFE0F Transition Durations" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Fast Transitions" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionButton, { duration: 75, easing: "ease-out", variant: "default", size: "sm", children: "75ms (Ultra Fast)" }), _jsx(AdvancedTransitionButton, { duration: 150, easing: "ease-out", variant: "secondary", size: "sm", children: "150ms (Fast)" }), _jsx(AdvancedTransitionButton, { duration: 200, easing: "ease-out", variant: "outline", size: "sm", children: "200ms (Quick)" })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Slow Transitions" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionButton, { duration: 500, easing: "ease-out", variant: "default", size: "lg", children: "500ms (Slow)" }), _jsx(AdvancedTransitionButton, { duration: 700, easing: "ease-out", variant: "secondary", size: "lg", children: "700ms (Slower)" }), _jsx(AdvancedTransitionButton, { duration: 1000, easing: "ease-out", variant: "outline", size: "lg", children: "1000ms (Very Slow)" })] })] })] })] }), _jsxs("div", { className: "space-y-6", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFAD Interactive Components" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Interactive Cards" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionCard, { duration: 300, easing: "ease-out", interactive: true, children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Interactive Card" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Click to trigger transition" })] }) }), _jsx(AdvancedTransitionCard, { duration: 500, easing: "ease-out-quint", interactive: true, children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Quint Easing" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Smooth shadow transition" })] }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h4", { className: "font-medium text-cs-text-primary", children: "Form Inputs" }), _jsxs("div", { className: "space-y-3", children: [_jsx(AdvancedTransitionInput, { duration: 200, easing: "ease-out", placeholder: "Focus to trigger transition", value: formData.name, onChange: (e) => handleInputChange('name', e.target.value) }), _jsx(AdvancedTransitionInput, { duration: 300, easing: "ease-out-quint", placeholder: "Quint easing on focus", value: formData.email, onChange: (e) => handleInputChange('email', e.target.value) })] })] })] })] }), _jsxs("div", { className: "space-y-6", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFAC Staggered Animations" }), _jsxs(AdvancedTransitionList, { duration: 300, easing: "ease-out", staggerDelay: 100, children: [_jsx("li", { className: "p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-1", children: "Item 1 - Fades in first" }), _jsx("li", { className: "p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-2", children: "Item 2 - Fades in second" }), _jsx("li", { className: "p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-3", children: "Item 3 - Fades in third" }), _jsx("li", { className: "p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-4", children: "Item 4 - Fades in fourth" }), _jsx("li", { className: "p-3 bg-cs-surface-bg border border-cs-border rounded-lg animate-fade-in animate-stagger-5", children: "Item 5 - Fades in last" })] })] })] }));
|
|
41
|
+
const renderPerformanceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83D\uDCCA Performance Metrics" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Frame Rate" }), _jsxs("span", { className: `text-lg font-bold ${performanceMetrics.frameRate >= 55 ? 'text-cs-success' :
|
|
42
|
+
performanceMetrics.frameRate >= 45 ? 'text-cs-warning' : 'text-cs-error'}`, children: [performanceMetrics.frameRate, " FPS"] })] }), _jsx("div", { className: "w-full bg-cs-border rounded-full h-2", children: _jsx("div", { className: `h-2 rounded-full transition-all duration-300 ${performanceMetrics.frameRate >= 55 ? 'bg-cs-success' :
|
|
43
|
+
performanceMetrics.frameRate >= 45 ? 'bg-cs-warning' : 'bg-cs-error'}`, style: { width: `${(performanceMetrics.frameRate / 60) * 100}%` } }) }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Memory Usage" }), _jsxs("span", { className: "font-medium", children: [performanceMetrics.memoryUsage, "%"] })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Smoothness" }), _jsxs("span", { className: `font-medium ${performanceMetrics.smoothness >= 80 ? 'text-cs-success' :
|
|
44
|
+
performanceMetrics.smoothness >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [performanceMetrics.smoothness, "%"] })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Battery Impact" }), _jsxs("span", { className: `font-medium ${performanceMetrics.batteryImpact >= 80 ? 'text-cs-success' :
|
|
45
|
+
performanceMetrics.batteryImpact >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [performanceMetrics.batteryImpact, "%"] })] })] }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFAF Performance Score" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "text-center space-y-3", children: [_jsxs("div", { className: `text-4xl font-bold ${transitionState.performanceScore >= 80 ? 'text-cs-success' :
|
|
46
|
+
transitionState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [transitionState.performanceScore, "/100"] }), _jsx("div", { className: "w-full bg-cs-border rounded-full h-3", children: _jsx("div", { className: `h-3 rounded-full transition-all duration-300 ${transitionState.performanceScore >= 80 ? 'bg-cs-success' :
|
|
47
|
+
transitionState.performanceScore >= 60 ? 'bg-cs-warning' : 'bg-cs-error'}`, style: { width: `${transitionState.performanceScore}%` } }) }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: transitionState.performanceScore >= 80 ? 'Excellent Performance' :
|
|
48
|
+
transitionState.performanceScore >= 60 ? 'Good Performance' : 'Needs Optimization' })] }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83D\uDE80 Hardware Acceleration" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [_jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center", children: [_jsx("div", { className: "text-2xl mb-2", children: "\u26A1" }), _jsx("div", { className: "font-medium", children: "GPU Acceleration" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Hardware-accelerated transforms" })] }), _jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center", children: [_jsx("div", { className: "text-2xl mb-2", children: "\uD83D\uDCBE" }), _jsx("div", { className: "font-medium", children: "Memory Optimization" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Efficient memory usage" })] }), _jsxs("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border text-center", children: [_jsx("div", { className: "text-2xl mb-2", children: "\uD83D\uDD0B" }), _jsx("div", { className: "font-medium", children: "Battery Aware" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Optimized for battery life" })] })] })] })] }));
|
|
49
|
+
const renderDeviceDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83D\uDCF1 Device Detection" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Current Device" }), _jsx(Badge, { variant: "default", className: "capitalize", children: transitionState.deviceType })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Battery Level" }), _jsx(Badge, { variant: transitionState.batteryLevel === 'normal' ? 'default' :
|
|
50
|
+
transitionState.batteryLevel === 'low' ? 'secondary' : 'outline', className: "capitalize", children: transitionState.batteryLevel })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Reduced Motion" }), _jsx(Badge, { variant: transitionState.reducedMotion ? 'outline' : 'default', children: transitionState.reducedMotion ? 'Enabled' : 'Disabled' })] })] }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\u2699\uFE0F Device Optimizations" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: isOptimizing ? (_jsxs("div", { className: "text-center py-4", children: [_jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-cs-primary mx-auto mb-2" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Optimizing for device..." })] })) : optimizations.length > 0 ? (_jsx("div", { className: "space-y-2", children: optimizations.map((optimization, index) => (_jsxs("div", { className: "flex items-center space-x-2 text-sm", children: [_jsx("span", { className: "text-cs-success", children: "\u2705" }), _jsx("span", { children: optimization })] }, index))) })) : (_jsx("div", { className: "text-center py-4 text-cs-text-secondary", children: "No optimizations applied yet" })) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFAF Device-Specific Transitions" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [_jsxs(AdvancedTransitionCard, { duration: transitionState.deviceType === 'mobile' ? 200 : 300, easing: "ease-out", className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Mobile Optimized" }), _jsxs("div", { className: "text-sm text-cs-text-secondary", children: ["Duration: ", transitionState.deviceType === 'mobile' ? '200ms' : '300ms'] })] }), _jsxs(AdvancedTransitionCard, { duration: transitionState.deviceType === 'tablet' ? 250 : 300, easing: "ease-out", className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Tablet Optimized" }), _jsxs("div", { className: "text-sm text-cs-text-secondary", children: ["Duration: ", transitionState.deviceType === 'tablet' ? '250ms' : '300ms'] })] }), _jsxs(AdvancedTransitionCard, { duration: 300, easing: "ease-out", className: "text-center", children: [_jsx("div", { className: "text-lg font-semibold", children: "Desktop Optimized" }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: "Duration: 300ms" })] })] })] })] }));
|
|
51
|
+
const renderAccessibilityDemo = () => (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\u267F Accessibility Features" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Reduced Motion" }), _jsx(Badge, { variant: transitionState.reducedMotion ? 'default' : 'secondary', children: transitionState.reducedMotion ? 'Supported' : 'Not Detected' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Screen Reader" }), _jsx(Badge, { variant: "default", children: "Supported" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "Focus Management" }), _jsx(Badge, { variant: "default", children: "Enabled" })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-medium", children: "ARIA Support" }), _jsx(Badge, { variant: "default", children: "Full" })] })] }) })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83C\uDFAD Motion Preferences" }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsx("div", { className: "space-y-3", children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-2xl mb-2", children: transitionState.reducedMotion ? '🚫' : '✨' }), _jsx("div", { className: "font-medium", children: transitionState.reducedMotion ? 'Reduced Motion' : 'Full Motion' }), _jsx("div", { className: "text-sm text-cs-text-secondary", children: transitionState.reducedMotion
|
|
52
|
+
? 'Transitions are disabled for accessibility'
|
|
53
|
+
: 'All transitions are enabled' })] }) }) })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsx("h3", { className: "text-lg font-semibold text-cs-text-primary", children: "\uD83E\uDDEA Accessibility Test" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsx(AdvancedTransitionButton, { duration: transitionState.reducedMotion ? 0 : 300, easing: "ease-out", variant: "default", size: "default", "aria-label": "Test button with accessibility support", children: "Test Button" }), _jsx(AdvancedTransitionInput, { duration: transitionState.reducedMotion ? 0 : 200, easing: "ease-out", placeholder: "Test input accessibility", "aria-label": "Test input with accessibility support" })] }), _jsxs("div", { className: "text-sm text-cs-text-secondary", children: [_jsx("strong", { children: "Note:" }), " If you have reduced motion enabled in your system preferences, transitions will be automatically disabled for better accessibility."] })] })] }));
|
|
54
|
+
return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center space-y-2", children: [_jsx("h2", { className: "text-2xl font-bold text-cs-text-primary", children: "Advanced Transition System with Cubic Bezier Curves" }), _jsx("p", { className: "text-cs-text-secondary", children: "Professional animation system with performance optimization, device-specific behavior, and accessibility support" })] }), _jsx("div", { className: "flex flex-wrap gap-2 justify-center", children: ['transitions', 'performance', 'device', 'accessibility'].map((demo) => (_jsxs("button", { onClick: () => setActiveDemo(demo), className: `px-4 py-2 rounded-lg font-medium transition-colors ${activeDemo === demo
|
|
55
|
+
? 'bg-cs-primary text-white'
|
|
56
|
+
: 'bg-cs-surface-bg text-cs-text-primary hover:bg-cs-hover-bg'}`, children: [demo === 'transitions' && '🎨 Transitions', demo === 'performance' && '📊 Performance', demo === 'device' && '📱 Device', demo === 'accessibility' && '♿ Accessibility'] }, demo))) }), _jsxs("div", { className: "min-h-[400px]", children: [activeDemo === 'transitions' && renderTransitionsDemo(), activeDemo === 'performance' && renderPerformanceDemo(), activeDemo === 'device' && renderDeviceDemo(), activeDemo === 'accessibility' && renderAccessibilityDemo()] }), _jsx("div", { className: "p-4 bg-cs-surface-bg rounded-lg border border-cs-border", children: _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4 text-sm", children: [_jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Device:" }), _jsx(Badge, { variant: "outline", className: "capitalize", children: transitionState.deviceType }), _jsx("span", { className: "font-medium", children: "Battery:" }), _jsx(Badge, { variant: transitionState.batteryLevel === 'normal' ? 'default' :
|
|
57
|
+
transitionState.batteryLevel === 'low' ? 'secondary' : 'outline', className: "capitalize", children: transitionState.batteryLevel })] }), _jsxs("div", { className: "flex items-center space-x-4", children: [_jsx("span", { className: "font-medium", children: "Performance:" }), _jsxs("span", { className: `font-bold ${transitionState.performanceScore >= 80 ? 'text-cs-success' :
|
|
58
|
+
transitionState.performanceScore >= 60 ? 'text-cs-warning' : 'text-cs-error'}`, children: [transitionState.performanceScore, "%"] }), _jsx("span", { className: "font-medium", children: "Motion:" }), _jsx(Badge, { variant: transitionState.reducedMotion ? 'outline' : 'default', children: transitionState.reducedMotion ? 'Reduced' : 'Full' })] })] }) })] }));
|
|
59
|
+
};
|