@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
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
2
3
|
import { Card } from './card';
|
|
3
4
|
import { Button } from './button';
|
|
4
5
|
import { Badge } from './badge';
|
|
@@ -9,263 +10,84 @@ import { highContrastThemeManager } from '../../themes/high-contrast';
|
|
|
9
10
|
import { focusManager } from '../../themes/focus-management';
|
|
10
11
|
import { motionReductionManager } from '../../themes/motion-reduction';
|
|
11
12
|
import { ARIAUtils as AriaPatternGenerator } from '../../themes/aria-patterns';
|
|
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
|
-
}, 1000);
|
|
40
|
-
|
|
41
|
-
return () => {
|
|
42
|
-
unsubscribeAccessibility();
|
|
43
|
-
clearInterval(interval);
|
|
13
|
+
export const AccessibilityDemo = ({ className = '' }) => {
|
|
14
|
+
const [currentFocus, setCurrentFocus] = useState('');
|
|
15
|
+
const [announcements, setAnnouncements] = useState([]);
|
|
16
|
+
const [accessibilityConfig, setAccessibilityConfig] = useState(accessibilityManager.getConfig());
|
|
17
|
+
const [highContrastEnabled, setHighContrastEnabled] = useState(highContrastThemeManager.isHighContrastEnabled());
|
|
18
|
+
const [motionReduced, setMotionReduced] = useState(motionReductionManager.isMotionReduced());
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
// Subscribe to accessibility changes
|
|
21
|
+
const unsubscribeAccessibility = accessibilityManager.subscribe(() => {
|
|
22
|
+
setAccessibilityConfig(accessibilityManager.getConfig());
|
|
23
|
+
});
|
|
24
|
+
// Update state periodically since some managers don't have subscribe methods
|
|
25
|
+
const interval = setInterval(() => {
|
|
26
|
+
setHighContrastEnabled(highContrastThemeManager.isHighContrastEnabled());
|
|
27
|
+
setMotionReduced(motionReductionManager.isMotionReduced());
|
|
28
|
+
const focusInfo = focusManager.getCurrentFocusInfo();
|
|
29
|
+
if (focusInfo.element) {
|
|
30
|
+
setCurrentFocus(focusInfo.element.textContent || focusInfo.element.tagName);
|
|
31
|
+
}
|
|
32
|
+
}, 1000);
|
|
33
|
+
return () => {
|
|
34
|
+
unsubscribeAccessibility();
|
|
35
|
+
clearInterval(interval);
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
38
|
+
const addAnnouncement = (message) => {
|
|
39
|
+
setAnnouncements(prev => [message, ...prev.slice(0, 9)]);
|
|
44
40
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const toggleHighContrast = () => {
|
|
52
|
-
if (highContrastEnabled) {
|
|
53
|
-
highContrastThemeManager.disable();
|
|
54
|
-
addAnnouncement('High contrast mode disabled');
|
|
55
|
-
} else {
|
|
56
|
-
highContrastThemeManager.enable();
|
|
57
|
-
addAnnouncement('High contrast mode enabled');
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const toggleMotionReduction = () => {
|
|
62
|
-
if (motionReduced) {
|
|
63
|
-
motionReductionManager.disable();
|
|
64
|
-
addAnnouncement('Motion reduction disabled');
|
|
65
|
-
} else {
|
|
66
|
-
motionReductionManager.enable();
|
|
67
|
-
addAnnouncement('Motion reduction enabled');
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const testScreenReaderAnnouncement = () => {
|
|
72
|
-
const message = 'This is a test announcement for screen readers';
|
|
73
|
-
screenReaderOptimizer.announce(message, 'normal');
|
|
74
|
-
addAnnouncement(`Announced: ${message}`);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const testFocusManagement = () => {
|
|
78
|
-
const container = document.getElementById('accessibility-demo-container');
|
|
79
|
-
if (container) {
|
|
80
|
-
// Focus management is already active by default
|
|
81
|
-
addAnnouncement('Focus management is active for this container');
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
const testAriaPatterns = () => {
|
|
86
|
-
const button = document.getElementById('test-aria-button');
|
|
87
|
-
if (button) {
|
|
88
|
-
const ariaProps = AriaPatternGenerator.generateAriaAttributes({
|
|
89
|
-
disabled: false,
|
|
90
|
-
readonly: false,
|
|
91
|
-
required: true,
|
|
92
|
-
invalid: false,
|
|
93
|
-
label: 'Test button for ARIA patterns',
|
|
94
|
-
describedby: 'button-description'
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
Object.entries(ariaProps).forEach(([key, value]) => {
|
|
98
|
-
if (value !== undefined) {
|
|
99
|
-
button.setAttribute(key, String(value));
|
|
41
|
+
const toggleHighContrast = () => {
|
|
42
|
+
if (highContrastEnabled) {
|
|
43
|
+
highContrastThemeManager.disable();
|
|
44
|
+
addAnnouncement('High contrast mode disabled');
|
|
100
45
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
</Button>
|
|
149
|
-
|
|
150
|
-
<Button onClick={testScreenReaderAnnouncement} variant="outline" className="w-full">
|
|
151
|
-
Test Screen Reader Announcement
|
|
152
|
-
</Button>
|
|
153
|
-
|
|
154
|
-
<Button onClick={testFocusManagement} variant="outline" className="w-full">
|
|
155
|
-
Activate Focus Management
|
|
156
|
-
</Button>
|
|
157
|
-
|
|
158
|
-
<Button onClick={testAriaPatterns} variant="outline" className="w-full">
|
|
159
|
-
Test ARIA Patterns
|
|
160
|
-
</Button>
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
|
|
164
|
-
<div className="min-w-0">
|
|
165
|
-
<h3 className="font-semibold mb-3 break-words">Test Interactive Elements</h3>
|
|
166
|
-
<div className="space-y-3">
|
|
167
|
-
<Input
|
|
168
|
-
placeholder="Test input field"
|
|
169
|
-
aria-label="Test input for accessibility"
|
|
170
|
-
aria-describedby="input-description"
|
|
171
|
-
/>
|
|
172
|
-
<p id="input-description" className="text-sm text-gray-500 break-words">
|
|
173
|
-
This input field has proper ARIA labels and descriptions.
|
|
174
|
-
</p>
|
|
175
|
-
|
|
176
|
-
<Button
|
|
177
|
-
id="test-aria-button"
|
|
178
|
-
variant="default"
|
|
179
|
-
aria-describedby="button-description"
|
|
180
|
-
>
|
|
181
|
-
Test Button
|
|
182
|
-
</Button>
|
|
183
|
-
<p id="button-description" className="text-sm text-gray-500 break-words">
|
|
184
|
-
This button will have ARIA patterns applied when you click the test button above.
|
|
185
|
-
</p>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
</div>
|
|
189
|
-
|
|
190
|
-
{/* Accessibility Configuration */}
|
|
191
|
-
<div className="mb-6">
|
|
192
|
-
<h3 className="font-semibold mb-3">Current Accessibility Configuration</h3>
|
|
193
|
-
<div className="bg-blue-50 p-4 rounded-lg border-2 border-blue-300">
|
|
194
|
-
<div className="text-sm text-blue-800">
|
|
195
|
-
<p className="mb-2"><strong>High Contrast:</strong> {accessibilityConfig.highContrast ? '✅ Enabled' : '❌ Disabled'}</p>
|
|
196
|
-
<p className="mb-2"><strong>Reduced Motion:</strong> {accessibilityConfig.reducedMotion ? '✅ Enabled' : '❌ Disabled'}</p>
|
|
197
|
-
<p className="mb-2"><strong>Focus Visible:</strong> {accessibilityConfig.focusVisible ? '✅ Enabled' : '❌ Disabled'}</p>
|
|
198
|
-
<p className="mb-2"><strong>Contrast Target:</strong> {accessibilityConfig.contrast.target}:1 ratio</p>
|
|
199
|
-
<p className="mb-0"><strong>Touch Target Size:</strong> {accessibilityConfig.spacing.touchTarget}</p>
|
|
200
|
-
</div>
|
|
201
|
-
</div>
|
|
202
|
-
</div>
|
|
203
|
-
|
|
204
|
-
{/* Recent Announcements */}
|
|
205
|
-
<div>
|
|
206
|
-
<h3 className="font-semibold mb-3">Recent Screen Reader Announcements</h3>
|
|
207
|
-
<div className="bg-gray-50 p-4 rounded-lg max-h-40 overflow-y-auto">
|
|
208
|
-
{announcements.length === 0 ? (
|
|
209
|
-
<p className="text-gray-500 text-sm">No announcements yet. Use the controls above to test.</p>
|
|
210
|
-
) : (
|
|
211
|
-
<div className="space-y-2">
|
|
212
|
-
{announcements.map((announcement, index) => (
|
|
213
|
-
<div key={index} className="text-sm text-gray-700 p-2 bg-white rounded border break-words">
|
|
214
|
-
{announcement}
|
|
215
|
-
</div>
|
|
216
|
-
))}
|
|
217
|
-
</div>
|
|
218
|
-
)}
|
|
219
|
-
</div>
|
|
220
|
-
</div>
|
|
221
|
-
</Card>
|
|
222
|
-
|
|
223
|
-
{/* Accessibility Information */}
|
|
224
|
-
<Card>
|
|
225
|
-
<h3 className="text-xl font-semibold mb-4 break-words">Accessibility Features Overview</h3>
|
|
226
|
-
|
|
227
|
-
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
|
|
228
|
-
<div className="min-w-0">
|
|
229
|
-
<h4 className="font-semibold mb-2 break-words">High Contrast Support</h4>
|
|
230
|
-
<ul className="text-sm text-gray-600 space-y-1">
|
|
231
|
-
<li className="break-words">• Automatic system preference detection</li>
|
|
232
|
-
<li className="break-words">• Enhanced color palettes for better visibility</li>
|
|
233
|
-
<li className="break-words">• WCAG AAA contrast ratio compliance</li>
|
|
234
|
-
<li className="break-words">• Border and text emphasis options</li>
|
|
235
|
-
</ul>
|
|
236
|
-
</div>
|
|
237
|
-
|
|
238
|
-
<div className="min-w-0">
|
|
239
|
-
<h4 className="font-semibold mb-2 break-words">Motion Reduction</h4>
|
|
240
|
-
<ul className="text-sm text-gray-600 space-y-1">
|
|
241
|
-
<li className="break-words">• Respects user's motion preferences</li>
|
|
242
|
-
<li className="break-words">• Reduces animation and transition durations</li>
|
|
243
|
-
<li className="break-words">• Maintains essential motion for functionality</li>
|
|
244
|
-
<li className="break-words">• Customizable reduction levels</li>
|
|
245
|
-
</ul>
|
|
246
|
-
</div>
|
|
247
|
-
|
|
248
|
-
<div className="min-w-0">
|
|
249
|
-
<h4 className="font-semibold mb-2 break-words">Focus Management</h4>
|
|
250
|
-
<ul className="text-sm text-gray-600 space-y-1">
|
|
251
|
-
<li className="break-words">• Comprehensive focus tracking</li>
|
|
252
|
-
<li className="break-words">• Focus trap implementation</li>
|
|
253
|
-
<li className="break-words">• Focus restoration and history</li>
|
|
254
|
-
<li className="break-words">• Keyboard navigation support</li>
|
|
255
|
-
</ul>
|
|
256
|
-
</div>
|
|
257
|
-
|
|
258
|
-
<div className="min-w-0">
|
|
259
|
-
<h4 className="font-semibold mb-2 break-words">Screen Reader Optimization</h4>
|
|
260
|
-
<ul className="text-sm text-gray-600 space-y-1">
|
|
261
|
-
<li className="break-words">• Live region announcements</li>
|
|
262
|
-
<li className="break-words">• Priority-based messaging</li>
|
|
263
|
-
<li className="break-words">• Context-aware information</li>
|
|
264
|
-
<li className="break-words">• Comprehensive ARIA support</li>
|
|
265
|
-
</ul>
|
|
266
|
-
</div>
|
|
267
|
-
</div>
|
|
268
|
-
</Card>
|
|
269
|
-
</div>
|
|
270
|
-
);
|
|
46
|
+
else {
|
|
47
|
+
highContrastThemeManager.enable();
|
|
48
|
+
addAnnouncement('High contrast mode enabled');
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const toggleMotionReduction = () => {
|
|
52
|
+
if (motionReduced) {
|
|
53
|
+
motionReductionManager.disable();
|
|
54
|
+
addAnnouncement('Motion reduction disabled');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
motionReductionManager.enable();
|
|
58
|
+
addAnnouncement('Motion reduction enabled');
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const testScreenReaderAnnouncement = () => {
|
|
62
|
+
const message = 'This is a test announcement for screen readers';
|
|
63
|
+
screenReaderOptimizer.announce(message, 'normal');
|
|
64
|
+
addAnnouncement(`Announced: ${message}`);
|
|
65
|
+
};
|
|
66
|
+
const testFocusManagement = () => {
|
|
67
|
+
const container = document.getElementById('accessibility-demo-container');
|
|
68
|
+
if (container) {
|
|
69
|
+
// Focus management is already active by default
|
|
70
|
+
addAnnouncement('Focus management is active for this container');
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const testAriaPatterns = () => {
|
|
74
|
+
const button = document.getElementById('test-aria-button');
|
|
75
|
+
if (button) {
|
|
76
|
+
const ariaProps = AriaPatternGenerator.generateAriaAttributes({
|
|
77
|
+
disabled: false,
|
|
78
|
+
readonly: false,
|
|
79
|
+
required: true,
|
|
80
|
+
invalid: false,
|
|
81
|
+
label: 'Test button for ARIA patterns',
|
|
82
|
+
describedby: 'button-description'
|
|
83
|
+
});
|
|
84
|
+
Object.entries(ariaProps).forEach(([key, value]) => {
|
|
85
|
+
if (value !== undefined) {
|
|
86
|
+
button.setAttribute(key, String(value));
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
addAnnouncement('ARIA patterns applied to test button');
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
return (_jsxs("div", { id: "accessibility-demo-container", className: `accessibility-demo ${className} max-w-full overflow-hidden`, children: [_jsxs(Card, { className: "mb-6", children: [_jsx("h2", { className: "text-2xl font-bold mb-4 break-words", children: "Accessibility Features Demo" }), _jsx("p", { className: "text-gray-600 mb-4 break-words", children: "This component demonstrates all the accessibility features implemented in the design system." }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4 mb-6", children: [_jsxs("div", { className: "p-4 bg-gray-50 rounded-lg", children: [_jsx("h3", { className: "font-semibold mb-2", children: "Current Focus" }), _jsx("p", { className: "text-sm text-gray-600 break-words", children: currentFocus || 'No focus' })] }), _jsxs("div", { className: "p-4 bg-gray-50 rounded-lg", children: [_jsx("h3", { className: "font-semibold mb-2", children: "High Contrast" }), _jsx(Badge, { variant: highContrastEnabled ? 'default' : 'secondary', children: highContrastEnabled ? 'Enabled' : 'Disabled' })] }), _jsxs("div", { className: "p-4 bg-gray-50 rounded-lg", children: [_jsx("h3", { className: "font-semibold mb-2", children: "Motion Reduction" }), _jsx(Badge, { variant: motionReduced ? 'destructive' : 'secondary', children: motionReduced ? 'Enabled' : 'Disabled' })] })] }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-4 mb-6", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h3", { className: "font-semibold mb-3 break-words", children: "Accessibility Controls" }), _jsxs("div", { className: "space-y-3", children: [_jsxs(Button, { onClick: toggleHighContrast, variant: "outline", className: "w-full", children: [highContrastEnabled ? 'Disable' : 'Enable', " High Contrast"] }), _jsxs(Button, { onClick: toggleMotionReduction, variant: "outline", className: "w-full", children: [motionReduced ? 'Disable' : 'Enable', " Motion Reduction"] }), _jsx(Button, { onClick: testScreenReaderAnnouncement, variant: "outline", className: "w-full", children: "Test Screen Reader Announcement" }), _jsx(Button, { onClick: testFocusManagement, variant: "outline", className: "w-full", children: "Activate Focus Management" }), _jsx(Button, { onClick: testAriaPatterns, variant: "outline", className: "w-full", children: "Test ARIA Patterns" })] })] }), _jsxs("div", { className: "min-w-0", children: [_jsx("h3", { className: "font-semibold mb-3 break-words", children: "Test Interactive Elements" }), _jsxs("div", { className: "space-y-3", children: [_jsx(Input, { placeholder: "Test input field", "aria-label": "Test input for accessibility", "aria-describedby": "input-description" }), _jsx("p", { id: "input-description", className: "text-sm text-gray-500 break-words", children: "This input field has proper ARIA labels and descriptions." }), _jsx(Button, { id: "test-aria-button", variant: "default", "aria-describedby": "button-description", children: "Test Button" }), _jsx("p", { id: "button-description", className: "text-sm text-gray-500 break-words", children: "This button will have ARIA patterns applied when you click the test button above." })] })] })] }), _jsxs("div", { className: "mb-6", children: [_jsx("h3", { className: "font-semibold mb-3", children: "Current Accessibility Configuration" }), _jsx("div", { className: "bg-blue-50 p-4 rounded-lg border-2 border-blue-300", children: _jsxs("div", { className: "text-sm text-blue-800", children: [_jsxs("p", { className: "mb-2", children: [_jsx("strong", { children: "High Contrast:" }), " ", accessibilityConfig.highContrast ? '✅ Enabled' : '❌ Disabled'] }), _jsxs("p", { className: "mb-2", children: [_jsx("strong", { children: "Reduced Motion:" }), " ", accessibilityConfig.reducedMotion ? '✅ Enabled' : '❌ Disabled'] }), _jsxs("p", { className: "mb-2", children: [_jsx("strong", { children: "Focus Visible:" }), " ", accessibilityConfig.focusVisible ? '✅ Enabled' : '❌ Disabled'] }), _jsxs("p", { className: "mb-2", children: [_jsx("strong", { children: "Contrast Target:" }), " ", accessibilityConfig.contrast.target, ":1 ratio"] }), _jsxs("p", { className: "mb-0", children: [_jsx("strong", { children: "Touch Target Size:" }), " ", accessibilityConfig.spacing.touchTarget] })] }) })] }), _jsxs("div", { children: [_jsx("h3", { className: "font-semibold mb-3", children: "Recent Screen Reader Announcements" }), _jsx("div", { className: "bg-gray-50 p-4 rounded-lg max-h-40 overflow-y-auto", children: announcements.length === 0 ? (_jsx("p", { className: "text-gray-500 text-sm", children: "No announcements yet. Use the controls above to test." })) : (_jsx("div", { className: "space-y-2", children: announcements.map((announcement, index) => (_jsx("div", { className: "text-sm text-gray-700 p-2 bg-white rounded border break-words", children: announcement }, index))) })) })] })] }), _jsxs(Card, { children: [_jsx("h3", { className: "text-xl font-semibold mb-4 break-words", children: "Accessibility Features Overview" }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-6", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h4", { className: "font-semibold mb-2 break-words", children: "High Contrast Support" }), _jsxs("ul", { className: "text-sm text-gray-600 space-y-1", children: [_jsx("li", { className: "break-words", children: "\u2022 Automatic system preference detection" }), _jsx("li", { className: "break-words", children: "\u2022 Enhanced color palettes for better visibility" }), _jsx("li", { className: "break-words", children: "\u2022 WCAG AAA contrast ratio compliance" }), _jsx("li", { className: "break-words", children: "\u2022 Border and text emphasis options" })] })] }), _jsxs("div", { className: "min-w-0", children: [_jsx("h4", { className: "font-semibold mb-2 break-words", children: "Motion Reduction" }), _jsxs("ul", { className: "text-sm text-gray-600 space-y-1", children: [_jsx("li", { className: "break-words", children: "\u2022 Respects user's motion preferences" }), _jsx("li", { className: "break-words", children: "\u2022 Reduces animation and transition durations" }), _jsx("li", { className: "break-words", children: "\u2022 Maintains essential motion for functionality" }), _jsx("li", { className: "break-words", children: "\u2022 Customizable reduction levels" })] })] }), _jsxs("div", { className: "min-w-0", children: [_jsx("h4", { className: "font-semibold mb-2 break-words", children: "Focus Management" }), _jsxs("ul", { className: "text-sm text-gray-600 space-y-1", children: [_jsx("li", { className: "break-words", children: "\u2022 Comprehensive focus tracking" }), _jsx("li", { className: "break-words", children: "\u2022 Focus trap implementation" }), _jsx("li", { className: "break-words", children: "\u2022 Focus restoration and history" }), _jsx("li", { className: "break-words", children: "\u2022 Keyboard navigation support" })] })] }), _jsxs("div", { className: "min-w-0", children: [_jsx("h4", { className: "font-semibold mb-2 break-words", children: "Screen Reader Optimization" }), _jsxs("ul", { className: "text-sm text-gray-600 space-y-1", children: [_jsx("li", { className: "break-words", children: "\u2022 Live region announcements" }), _jsx("li", { className: "break-words", children: "\u2022 Priority-based messaging" }), _jsx("li", { className: "break-words", children: "\u2022 Context-aware information" }), _jsx("li", { className: "break-words", children: "\u2022 Comprehensive ARIA support" })] })] })] })] })] }));
|
|
271
93
|
};
|