@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 → 0.2.9
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.d.ts +259 -0
- package/dist/components/ui/accessibility-demo.esm.js +265 -0
- package/dist/components/ui/accessibility-demo.js +265 -0
- package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
- package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
- package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
- package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
- package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
- package/dist/components/ui/advanced-transition-system-demo.js +624 -0
- package/dist/components/ui/advanced-transition-system.d.ts +391 -0
- package/dist/components/ui/advanced-transition-system.esm.js +351 -0
- package/dist/components/ui/advanced-transition-system.js +351 -0
- package/dist/components/ui/animation/animated-container.d.ts +162 -0
- package/dist/components/ui/animation/animated-container.esm.js +143 -0
- package/dist/components/ui/animation/animated-container.js +143 -0
- package/dist/components/ui/animation/index.d.ts +9 -0
- package/dist/components/ui/animation/index.esm.js +19 -0
- package/dist/components/ui/animation/index.js +19 -0
- package/dist/components/ui/animation/staggered-container.d.ts +64 -0
- package/dist/components/ui/animation/staggered-container.esm.js +59 -0
- package/dist/components/ui/animation/staggered-container.js +59 -0
- package/dist/components/ui/animation-demo.d.ts +238 -0
- package/dist/components/ui/animation-demo.esm.js +218 -0
- package/dist/components/ui/animation-demo.js +218 -0
- package/dist/components/ui/badge.d.ts +28 -0
- package/dist/components/ui/badge.esm.js +30 -0
- package/dist/components/ui/badge.js +30 -0
- package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
- package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
- package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
- package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
- package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
- package/dist/components/ui/border-radius-shadow-demo.js +176 -0
- package/dist/components/ui/button.d.ts +33 -0
- package/dist/components/ui/button.esm.js +30 -0
- package/dist/components/ui/button.js +30 -0
- package/dist/components/ui/card.d.ts +205 -0
- package/dist/components/ui/card.esm.js +182 -0
- package/dist/components/ui/card.js +182 -0
- package/dist/components/ui/checkbox.d.ts +26 -0
- package/dist/components/ui/checkbox.esm.js +30 -0
- package/dist/components/ui/checkbox.js +30 -0
- package/dist/components/ui/color-preview.d.ts +402 -0
- package/dist/components/ui/color-preview.esm.js +388 -0
- package/dist/components/ui/color-preview.js +388 -0
- package/dist/components/ui/data-display/chart.d.ts +646 -0
- package/dist/components/ui/data-display/chart.esm.js +625 -0
- package/dist/components/ui/data-display/chart.js +625 -0
- package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
- package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
- package/dist/components/ui/data-display/data-grid-simple.js +76 -0
- package/dist/components/ui/data-display/data-grid.d.ts +670 -0
- package/dist/components/ui/data-display/data-grid.esm.js +667 -0
- package/dist/components/ui/data-display/data-grid.js +667 -0
- package/dist/components/ui/data-display/list.d.ts +448 -0
- package/dist/components/ui/data-display/list.esm.js +448 -0
- package/dist/components/ui/data-display/list.js +448 -0
- package/dist/components/ui/data-display/table.d.ts +472 -0
- package/dist/components/ui/data-display/table.esm.js +474 -0
- package/dist/components/ui/data-display/table.js +474 -0
- package/dist/components/ui/data-display/timeline.d.ts +433 -0
- package/dist/components/ui/data-display/timeline.esm.js +436 -0
- package/dist/components/ui/data-display/timeline.js +436 -0
- package/dist/components/ui/data-display/tree.d.ts +594 -0
- package/dist/components/ui/data-display/tree.esm.js +570 -0
- package/dist/components/ui/data-display/tree.js +570 -0
- package/dist/components/ui/data-display/types.d.ts +534 -0
- package/dist/components/ui/data-display/types.esm.js +511 -0
- package/dist/components/ui/data-display/types.js +511 -0
- package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
- package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
- package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
- package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
- package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
- package/dist/components/ui/enterprise-mobile-experience.js +413 -0
- package/dist/components/ui/feedback/alert.d.ts +154 -0
- package/dist/components/ui/feedback/alert.esm.js +150 -0
- package/dist/components/ui/feedback/alert.js +150 -0
- package/dist/components/ui/feedback/progress.d.ts +288 -0
- package/dist/components/ui/feedback/progress.esm.js +269 -0
- package/dist/components/ui/feedback/progress.js +269 -0
- package/dist/components/ui/feedback/skeleton.d.ts +182 -0
- package/dist/components/ui/feedback/skeleton.esm.js +175 -0
- package/dist/components/ui/feedback/skeleton.js +175 -0
- package/dist/components/ui/feedback/toast.d.ts +277 -0
- package/dist/components/ui/feedback/toast.esm.js +256 -0
- package/dist/components/ui/feedback/toast.js +256 -0
- package/dist/components/ui/feedback/types.d.ts +123 -0
- package/dist/components/ui/feedback/types.esm.js +125 -0
- package/dist/components/ui/feedback/types.js +125 -0
- package/dist/components/ui/font-preview.d.ts +282 -0
- package/dist/components/ui/font-preview.esm.js +286 -0
- package/dist/components/ui/font-preview.js +286 -0
- package/dist/components/ui/form-demo.d.ts +544 -0
- package/dist/components/ui/form-demo.esm.js +516 -0
- package/dist/components/ui/form-demo.js +516 -0
- package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
- package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
- package/dist/components/ui/hardware-acceleration-demo.js +497 -0
- package/dist/components/ui/input.d.ts +33 -0
- package/dist/components/ui/input.esm.js +32 -0
- package/dist/components/ui/input.js +32 -0
- package/dist/components/ui/label.d.ts +13 -0
- package/dist/components/ui/label.esm.js +16 -0
- package/dist/components/ui/label.js +16 -0
- package/dist/components/ui/layout-demo.d.ts +352 -0
- package/dist/components/ui/layout-demo.esm.js +342 -0
- package/dist/components/ui/layout-demo.js +342 -0
- package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
- package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
- package/dist/components/ui/layouts/adaptive-layout.js +120 -0
- package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
- package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
- package/dist/components/ui/layouts/desktop-layout.js +204 -0
- package/dist/components/ui/layouts/index.d.ts +5 -0
- package/dist/components/ui/layouts/index.esm.js +10 -0
- package/dist/components/ui/layouts/index.js +10 -0
- package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
- package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
- package/dist/components/ui/layouts/mobile-layout.js +152 -0
- package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
- package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
- package/dist/components/ui/layouts/tablet-layout.js +183 -0
- package/dist/components/ui/mobile-form-validation.d.ts +439 -0
- package/dist/components/ui/mobile-form-validation.esm.js +418 -0
- package/dist/components/ui/mobile-form-validation.js +418 -0
- package/dist/components/ui/mobile-input-demo.d.ts +197 -0
- package/dist/components/ui/mobile-input-demo.esm.js +195 -0
- package/dist/components/ui/mobile-input-demo.js +195 -0
- package/dist/components/ui/mobile-input.d.ts +273 -0
- package/dist/components/ui/mobile-input.esm.js +216 -0
- package/dist/components/ui/mobile-input.js +216 -0
- package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
- package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
- package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
- package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
- package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
- package/dist/components/ui/navigation/breadcrumb.js +155 -0
- package/dist/components/ui/navigation/index.d.ts +25 -0
- package/dist/components/ui/navigation/index.esm.js +14 -0
- package/dist/components/ui/navigation/index.js +14 -0
- package/dist/components/ui/navigation/menu.d.ts +366 -0
- package/dist/components/ui/navigation/menu.esm.js +360 -0
- package/dist/components/ui/navigation/menu.js +360 -0
- package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
- package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
- package/dist/components/ui/navigation/navigation-demo.js +317 -0
- package/dist/components/ui/navigation/pagination.d.ts +261 -0
- package/dist/components/ui/navigation/pagination.esm.js +260 -0
- package/dist/components/ui/navigation/pagination.js +260 -0
- package/dist/components/ui/navigation/sidebar.d.ts +375 -0
- package/dist/components/ui/navigation/sidebar.esm.js +369 -0
- package/dist/components/ui/navigation/sidebar.js +369 -0
- package/dist/components/ui/navigation/stepper.d.ts +294 -0
- package/dist/components/ui/navigation/stepper.esm.js +292 -0
- package/dist/components/ui/navigation/stepper.js +292 -0
- package/dist/components/ui/navigation/tabs.d.ts +196 -0
- package/dist/components/ui/navigation/tabs.esm.js +194 -0
- package/dist/components/ui/navigation/tabs.js +194 -0
- package/dist/components/ui/navigation/types.d.ts +293 -0
- package/dist/components/ui/navigation/types.esm.js +298 -0
- package/dist/components/ui/navigation/types.js +298 -0
- package/dist/components/ui/overlay/backdrop.d.ts +79 -0
- package/dist/components/ui/overlay/backdrop.esm.js +80 -0
- package/dist/components/ui/overlay/backdrop.js +80 -0
- package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
- package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
- package/dist/components/ui/overlay/focus-manager.js +141 -0
- package/dist/components/ui/overlay/index.d.ts +27 -0
- package/dist/components/ui/overlay/index.esm.js +16 -0
- package/dist/components/ui/overlay/index.js +16 -0
- package/dist/components/ui/overlay/modal.d.ts +262 -0
- package/dist/components/ui/overlay/modal.esm.js +266 -0
- package/dist/components/ui/overlay/modal.js +266 -0
- package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
- package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
- package/dist/components/ui/overlay/overlay-manager.js +105 -0
- package/dist/components/ui/overlay/popover.d.ts +450 -0
- package/dist/components/ui/overlay/popover.esm.js +446 -0
- package/dist/components/ui/overlay/popover.js +446 -0
- package/dist/components/ui/overlay/portal.d.ts +75 -0
- package/dist/components/ui/overlay/portal.esm.js +79 -0
- package/dist/components/ui/overlay/portal.js +79 -0
- package/dist/components/ui/overlay/tooltip.d.ts +298 -0
- package/dist/components/ui/overlay/tooltip.esm.js +288 -0
- package/dist/components/ui/overlay/tooltip.js +288 -0
- package/dist/components/ui/overlay/types.d.ts +194 -0
- package/dist/components/ui/overlay/types.esm.js +195 -0
- package/dist/components/ui/overlay/types.js +195 -0
- package/dist/components/ui/performance-demo.d.ts +583 -0
- package/dist/components/ui/performance-demo.esm.js +549 -0
- package/dist/components/ui/performance-demo.js +549 -0
- package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
- package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
- package/dist/components/ui/semantic-input-system-demo.js +465 -0
- package/dist/components/ui/theme-customizer.d.ts +378 -0
- package/dist/components/ui/theme-customizer.esm.js +354 -0
- package/dist/components/ui/theme-customizer.js +354 -0
- package/dist/components/ui/theme-preview.d.ts +305 -0
- package/dist/components/ui/theme-preview.esm.js +258 -0
- package/dist/components/ui/theme-preview.js +258 -0
- package/dist/components/ui/theme-switcher.d.ts +259 -0
- package/dist/components/ui/theme-switcher.esm.js +238 -0
- package/dist/components/ui/theme-switcher.js +238 -0
- package/dist/components/ui/theme-toggle.d.ts +34 -0
- package/dist/components/ui/theme-toggle.esm.js +38 -0
- package/dist/components/ui/theme-toggle.js +38 -0
- package/dist/components/ui/token-demo.d.ts +188 -0
- package/dist/components/ui/token-demo.esm.js +183 -0
- package/dist/components/ui/token-demo.js +183 -0
- package/dist/components/ui/touch-demo.d.ts +455 -0
- package/dist/components/ui/touch-demo.esm.js +433 -0
- package/dist/components/ui/touch-demo.js +433 -0
- package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
- package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
- package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
- package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
- package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
- package/dist/components/ui/touch-friendly-interface.js +272 -0
- package/dist/hooks/index.d.ts +161 -0
- package/dist/hooks/index.esm.js +190 -0
- package/dist/hooks/index.js +190 -0
- package/dist/hooks/use-accessibility-support.d.ts +516 -0
- package/dist/hooks/use-accessibility-support.esm.js +488 -0
- package/dist/hooks/use-accessibility-support.js +488 -0
- package/dist/hooks/use-adaptive-layout.d.ts +287 -0
- package/dist/hooks/use-adaptive-layout.esm.js +266 -0
- package/dist/hooks/use-adaptive-layout.js +266 -0
- package/dist/hooks/use-advanced-patterns.d.ts +292 -0
- package/dist/hooks/use-advanced-patterns.esm.js +279 -0
- package/dist/hooks/use-advanced-patterns.js +279 -0
- package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
- package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
- package/dist/hooks/use-advanced-transition-system.js +352 -0
- package/dist/hooks/use-animation-profile.d.ts +285 -0
- package/dist/hooks/use-animation-profile.esm.js +259 -0
- package/dist/hooks/use-animation-profile.js +259 -0
- package/dist/hooks/use-battery-animations.d.ts +382 -0
- package/dist/hooks/use-battery-animations.esm.js +359 -0
- package/dist/hooks/use-battery-animations.js +359 -0
- package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
- package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
- package/dist/hooks/use-battery-conscious-loading.js +432 -0
- package/dist/hooks/use-battery-optimization.d.ts +328 -0
- package/dist/hooks/use-battery-optimization.esm.js +307 -0
- package/dist/hooks/use-battery-optimization.js +307 -0
- package/dist/hooks/use-battery-status.d.ts +297 -0
- package/dist/hooks/use-battery-status.esm.js +277 -0
- package/dist/hooks/use-battery-status.js +277 -0
- package/dist/hooks/use-component-performance.d.ts +342 -0
- package/dist/hooks/use-component-performance.esm.js +329 -0
- package/dist/hooks/use-component-performance.js +329 -0
- package/dist/hooks/use-device-loading-states.d.ts +456 -0
- package/dist/hooks/use-device-loading-states.esm.js +416 -0
- package/dist/hooks/use-device-loading-states.js +416 -0
- package/dist/hooks/use-device.d.ts +104 -0
- package/dist/hooks/use-device.esm.js +99 -0
- package/dist/hooks/use-device.js +99 -0
- package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
- package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
- package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
- package/dist/hooks/use-form-feedback.d.ts +401 -0
- package/dist/hooks/use-form-feedback.esm.js +360 -0
- package/dist/hooks/use-form-feedback.js +360 -0
- package/dist/hooks/use-form-performance.d.ts +511 -0
- package/dist/hooks/use-form-performance.esm.js +478 -0
- package/dist/hooks/use-form-performance.js +478 -0
- package/dist/hooks/use-frame-rate.d.ts +249 -0
- package/dist/hooks/use-frame-rate.esm.js +232 -0
- package/dist/hooks/use-frame-rate.js +232 -0
- package/dist/hooks/use-gestures.d.ts +336 -0
- package/dist/hooks/use-gestures.esm.js +314 -0
- package/dist/hooks/use-gestures.js +314 -0
- package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
- package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
- package/dist/hooks/use-hardware-acceleration.js +313 -0
- package/dist/hooks/use-input-accessibility.d.ts +451 -0
- package/dist/hooks/use-input-accessibility.esm.js +417 -0
- package/dist/hooks/use-input-accessibility.js +417 -0
- package/dist/hooks/use-input-performance.d.ts +503 -0
- package/dist/hooks/use-input-performance.esm.js +471 -0
- package/dist/hooks/use-input-performance.js +471 -0
- package/dist/hooks/use-layout-performance.d.ts +317 -0
- package/dist/hooks/use-layout-performance.esm.js +298 -0
- package/dist/hooks/use-layout-performance.js +298 -0
- package/dist/hooks/use-loading-accessibility.d.ts +532 -0
- package/dist/hooks/use-loading-accessibility.esm.js +495 -0
- package/dist/hooks/use-loading-accessibility.js +495 -0
- package/dist/hooks/use-loading-performance.d.ts +471 -0
- package/dist/hooks/use-loading-performance.esm.js +449 -0
- package/dist/hooks/use-loading-performance.js +449 -0
- package/dist/hooks/use-memory-usage.d.ts +285 -0
- package/dist/hooks/use-memory-usage.esm.js +268 -0
- package/dist/hooks/use-memory-usage.js +268 -0
- package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
- package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
- package/dist/hooks/use-mobile-form-layout.js +427 -0
- package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
- package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
- package/dist/hooks/use-mobile-form-validation.js +451 -0
- package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
- package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
- package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
- package/dist/hooks/use-mobile-layout.d.ts +300 -0
- package/dist/hooks/use-mobile-layout.esm.js +280 -0
- package/dist/hooks/use-mobile-layout.js +280 -0
- package/dist/hooks/use-mobile-optimization.d.ts +404 -0
- package/dist/hooks/use-mobile-optimization.esm.js +378 -0
- package/dist/hooks/use-mobile-optimization.js +378 -0
- package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
- package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
- package/dist/hooks/use-mobile-skeleton.js +369 -0
- package/dist/hooks/use-mobile-touch.d.ts +412 -0
- package/dist/hooks/use-mobile-touch.esm.js +379 -0
- package/dist/hooks/use-mobile-touch.js +379 -0
- package/dist/hooks/use-performance-throttling.d.ts +346 -0
- package/dist/hooks/use-performance-throttling.esm.js +324 -0
- package/dist/hooks/use-performance-throttling.js +324 -0
- package/dist/hooks/use-performance.d.ts +314 -0
- package/dist/hooks/use-performance.esm.js +278 -0
- package/dist/hooks/use-performance.js +278 -0
- package/dist/hooks/use-reusable-architecture.d.ts +412 -0
- package/dist/hooks/use-reusable-architecture.esm.js +385 -0
- package/dist/hooks/use-reusable-architecture.js +385 -0
- package/dist/hooks/use-semantic-input-types.d.ts +354 -0
- package/dist/hooks/use-semantic-input-types.esm.js +315 -0
- package/dist/hooks/use-semantic-input-types.js +315 -0
- package/dist/hooks/use-semantic-input.d.ts +563 -0
- package/dist/hooks/use-semantic-input.esm.js +513 -0
- package/dist/hooks/use-semantic-input.js +513 -0
- package/dist/hooks/use-tablet-layout.d.ts +382 -0
- package/dist/hooks/use-tablet-layout.esm.js +355 -0
- package/dist/hooks/use-tablet-layout.js +355 -0
- package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
- package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
- package/dist/hooks/use-touch-friendly-input.js +480 -0
- package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
- package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
- package/dist/hooks/use-touch-friendly-interface.js +299 -0
- package/dist/hooks/use-touch-optimization.d.ts +373 -0
- package/dist/hooks/use-touch-optimization.esm.js +348 -0
- package/dist/hooks/use-touch-optimization.js +348 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.esm.js +6 -0
- package/dist/lib/utils.js +6 -0
- package/dist/plugins/theme-css-generator.d.ts +345 -0
- package/dist/plugins/theme-css-generator.esm.js +305 -0
- package/dist/plugins/theme-css-generator.js +305 -0
- package/dist/styles.css +1 -1
- package/dist/themes/ThemeContext.d.ts +27 -0
- package/dist/themes/ThemeContext.esm.js +31 -0
- package/dist/themes/ThemeContext.js +31 -0
- package/dist/themes/ThemeProvider.d.ts +222 -0
- package/dist/themes/ThemeProvider.esm.js +229 -0
- package/dist/themes/ThemeProvider.js +229 -0
- package/dist/themes/accessibility/index.d.ts +7 -0
- package/dist/themes/accessibility/index.esm.js +27 -0
- package/dist/themes/accessibility/index.js +27 -0
- package/dist/themes/accessibility.d.ts +259 -0
- package/dist/themes/accessibility.esm.js +220 -0
- package/dist/themes/accessibility.js +220 -0
- package/dist/themes/aria-patterns.d.ts +418 -0
- package/dist/themes/aria-patterns.esm.js +384 -0
- package/dist/themes/aria-patterns.js +384 -0
- package/dist/themes/base-themes.d.ts +34 -0
- package/dist/themes/base-themes.esm.js +52 -0
- package/dist/themes/base-themes.js +52 -0
- package/dist/themes/colorManager.d.ts +327 -0
- package/dist/themes/colorManager.esm.js +362 -0
- package/dist/themes/colorManager.js +362 -0
- package/dist/themes/examples/dark-theme.d.ts +139 -0
- package/dist/themes/examples/dark-theme.esm.js +124 -0
- package/dist/themes/examples/dark-theme.js +124 -0
- package/dist/themes/examples/minimal-theme.d.ts +93 -0
- package/dist/themes/examples/minimal-theme.esm.js +86 -0
- package/dist/themes/examples/minimal-theme.js +86 -0
- package/dist/themes/focus-management.d.ts +699 -0
- package/dist/themes/focus-management.esm.js +642 -0
- package/dist/themes/focus-management.js +642 -0
- package/dist/themes/fontLoader.d.ts +163 -0
- package/dist/themes/fontLoader.esm.js +192 -0
- package/dist/themes/fontLoader.js +192 -0
- package/dist/themes/high-contrast.d.ts +619 -0
- package/dist/themes/high-contrast.esm.js +573 -0
- package/dist/themes/high-contrast.js +573 -0
- package/dist/themes/index.d.ts +11 -0
- package/dist/themes/index.esm.js +19 -0
- package/dist/themes/index.js +19 -0
- package/dist/themes/inheritance.d.ts +160 -0
- package/dist/themes/inheritance.esm.js +219 -0
- package/dist/themes/inheritance.js +219 -0
- package/dist/themes/keyboard-navigation.d.ts +550 -0
- package/dist/themes/keyboard-navigation.esm.js +521 -0
- package/dist/themes/keyboard-navigation.js +521 -0
- package/dist/themes/motion-reduction.d.ts +660 -0
- package/dist/themes/motion-reduction.esm.js +602 -0
- package/dist/themes/motion-reduction.js +602 -0
- package/dist/themes/navigation.d.ts +232 -0
- package/dist/themes/navigation.esm.js +238 -0
- package/dist/themes/navigation.js +238 -0
- package/dist/themes/screen-reader.d.ts +645 -0
- package/dist/themes/screen-reader.esm.js +580 -0
- package/dist/themes/screen-reader.js +580 -0
- package/dist/themes/systemThemeDetector.d.ts +148 -0
- package/dist/themes/systemThemeDetector.esm.js +174 -0
- package/dist/themes/systemThemeDetector.js +174 -0
- package/dist/themes/themeCSSUpdater.d.ts +229 -0
- package/dist/themes/themeCSSUpdater.esm.js +250 -0
- package/dist/themes/themeCSSUpdater.js +250 -0
- package/dist/themes/themePersistence.d.ts +192 -0
- package/dist/themes/themePersistence.esm.js +217 -0
- package/dist/themes/themePersistence.js +217 -0
- package/dist/themes/themes/stan-design.d.ts +678 -0
- package/dist/themes/themes/stan-design.esm.js +518 -0
- package/dist/themes/themes/stan-design.js +518 -0
- package/dist/themes/types.d.ts +454 -0
- package/dist/themes/types.esm.js +446 -0
- package/dist/themes/types.js +446 -0
- package/dist/themes/useSystemTheme.d.ts +43 -0
- package/dist/themes/useSystemTheme.esm.js +48 -0
- package/dist/themes/useSystemTheme.js +48 -0
- package/dist/themes/useTheme.d.ts +20 -0
- package/dist/themes/useTheme.esm.js +87 -0
- package/dist/themes/useTheme.js +87 -0
- package/dist/themes/validation.d.ts +406 -0
- package/dist/themes/validation.esm.js +411 -0
- package/dist/themes/validation.js +411 -0
- package/dist/tokens/index.d.ts +25 -0
- package/dist/tokens/index.esm.js +23 -0
- package/dist/tokens/index.js +23 -0
- package/dist/tokens/tokenExporter.d.ts +336 -0
- package/dist/tokens/tokenExporter.esm.js +371 -0
- package/dist/tokens/tokenExporter.js +371 -0
- package/dist/tokens/tokenGenerator.d.ts +250 -0
- package/dist/tokens/tokenGenerator.esm.js +267 -0
- package/dist/tokens/tokenGenerator.js +267 -0
- package/dist/tokens/tokenManager.d.ts +194 -0
- package/dist/tokens/tokenManager.esm.js +235 -0
- package/dist/tokens/tokenManager.js +235 -0
- package/dist/tokens/tokenValidator.d.ts +488 -0
- package/dist/tokens/tokenValidator.esm.js +497 -0
- package/dist/tokens/tokenValidator.js +497 -0
- package/dist/tokens/types.d.ts +78 -0
- package/dist/tokens/types.esm.js +64 -0
- package/dist/tokens/types.js +64 -0
- package/dist/utils/bundle-analyzer.d.ts +260 -0
- package/dist/utils/bundle-analyzer.esm.js +242 -0
- package/dist/utils/bundle-analyzer.js +242 -0
- package/dist/utils/bundle-splitting.d.ts +483 -0
- package/dist/utils/bundle-splitting.esm.js +458 -0
- package/dist/utils/bundle-splitting.js +458 -0
- package/dist/utils/lazy-loading.d.ts +437 -0
- package/dist/utils/lazy-loading.esm.js +415 -0
- package/dist/utils/lazy-loading.js +415 -0
- package/dist/utils/performance-monitor.d.ts +513 -0
- package/dist/utils/performance-monitor.esm.js +472 -0
- package/dist/utils/performance-monitor.js +472 -0
- package/dist/utils/tree-shaking.d.ts +274 -0
- package/dist/utils/tree-shaking.esm.js +266 -0
- package/dist/utils/tree-shaking.js +266 -0
- package/package.json +1 -1
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
import { ColorThemeConfig, MultiThemeConfig } from './types';
|
|
2
|
+
|
|
3
|
+
// High contrast theme configuration
|
|
4
|
+
export interface HighContrastThemeConfig extends MultiThemeConfig {
|
|
5
|
+
highContrast;
|
|
6
|
+
contrastRatio; // Target contrast ratio (WCAG AAA = 7.0)
|
|
7
|
+
enhancedColors; // Use enhanced color palette
|
|
8
|
+
borderEmphasis; // Add borders for better definition
|
|
9
|
+
textEmphasis; // Enhanced text styling
|
|
10
|
+
focusIndicators; // Enhanced focus indicators
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// High contrast color utilities
|
|
15
|
+
export class HighContrastColors {
|
|
16
|
+
// WCAG contrast ratio calculation
|
|
17
|
+
static calculateContrastRatio(foreground, background)= this.getLuminance(foreground);
|
|
18
|
+
const bgLuminance = this.getLuminance(background);
|
|
19
|
+
|
|
20
|
+
const lighter = Math.max(fgLuminance, bgLuminance);
|
|
21
|
+
const darker = Math.min(fgLuminance, bgLuminance);
|
|
22
|
+
|
|
23
|
+
return (lighter + 0.05) / (darker + 0.05);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Get relative luminance of a color
|
|
27
|
+
private static getLuminance(color)= this.hexToRgb(color);
|
|
28
|
+
if (!rgb) return 0;
|
|
29
|
+
|
|
30
|
+
const { r, g, b } = rgb;
|
|
31
|
+
|
|
32
|
+
const rsRGB = r / 255;
|
|
33
|
+
const gsRGB = g / 255;
|
|
34
|
+
const bsRGB = b / 255;
|
|
35
|
+
|
|
36
|
+
const rL = rsRGB <= 0.03928 ? rsRGB / 12.92 ) / 1.055, 2.4);
|
|
37
|
+
const gL = gsRGB <= 0.03928 ? gsRGB / 12.92 ) / 1.055, 2.4);
|
|
38
|
+
const bL = bsRGB <= 0.03928 ? bsRGB / 12.92 ) / 1.055, 2.4);
|
|
39
|
+
|
|
40
|
+
return 0.2126 * rL + 0.7152 * gL + 0.0722 * bL;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Convert hex color to RGB
|
|
44
|
+
private static hexToRgb(hex); g; b} | null {
|
|
45
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
46
|
+
if (!result) return null;
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
r], 16),
|
|
50
|
+
g], 16),
|
|
51
|
+
b], 16)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Check if contrast ratio meets WCAG requirements
|
|
56
|
+
static meetsWCAGRequirements(foreground, background, level= 'AA')= this.calculateContrastRatio(foreground, background);
|
|
57
|
+
const requiredRatio = level === 'AA' ? 4.5 ;
|
|
58
|
+
|
|
59
|
+
return ratio >= requiredRatio;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Generate high contrast color variants
|
|
63
|
+
static generateHighContrastVariants(baseColor, backgroundColor, targetRatio= 7.0)] {
|
|
64
|
+
const variants] = [];
|
|
65
|
+
|
|
66
|
+
// Generate lighter and darker variants
|
|
67
|
+
for (let i = 1; i <= 10; i++) {
|
|
68
|
+
const lighter = this.adjustColorBrightness(baseColor, i * 0.1);
|
|
69
|
+
const darker = this.adjustColorBrightness(baseColor, -i * 0.1);
|
|
70
|
+
|
|
71
|
+
if (this.calculateContrastRatio(lighter, backgroundColor) >= targetRatio) {
|
|
72
|
+
variants.push(lighter);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (this.calculateContrastRatio(darker, backgroundColor) >= targetRatio) {
|
|
76
|
+
variants.push(darker);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return variants;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Adjust color brightness
|
|
84
|
+
private static adjustColorBrightness(color, factor)= this.hexToRgb(color);
|
|
85
|
+
if (!rgb) return color;
|
|
86
|
+
|
|
87
|
+
const { r, g, b } = rgb;
|
|
88
|
+
|
|
89
|
+
const newR = Math.max(0, Math.min(255, Math.round(r + (255 - r) * factor)));
|
|
90
|
+
const newG = Math.max(0, Math.min(255, Math.round(g + (255 - g) * factor)));
|
|
91
|
+
const newB = Math.max(0, Math.min(255, Math.round(b + (255 - b) * factor)));
|
|
92
|
+
|
|
93
|
+
return `#${newR.toString(16).padStart(2, '0')}${newG.toString(16).padStart(2, '0')}${newB.toString(16).padStart(2, '0')}`;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Find best high contrast color
|
|
97
|
+
static findBestHighContrastColor(foreground, background, targetRatio= 7.0)= this.calculateContrastRatio(foreground, background);
|
|
98
|
+
|
|
99
|
+
if (ratio >= targetRatio) {
|
|
100
|
+
return foreground;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Try lighter variants first
|
|
104
|
+
for (let i = 1; i <= 20; i++) {
|
|
105
|
+
const lighter = this.adjustColorBrightness(foreground, i * 0.05);
|
|
106
|
+
if (this.calculateContrastRatio(lighter, background) >= targetRatio) {
|
|
107
|
+
return lighter;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Try darker variants
|
|
112
|
+
for (let i = 1; i <= 20; i++) {
|
|
113
|
+
const darker = this.adjustColorBrightness(foreground, -i * 0.05);
|
|
114
|
+
if (this.calculateContrastRatio(darker, background) >= targetRatio) {
|
|
115
|
+
return darker;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Fallback to black or white
|
|
120
|
+
const blackRatio = this.calculateContrastRatio('#000000', background);
|
|
121
|
+
const whiteRatio = this.calculateContrastRatio('#FFFFFF', background);
|
|
122
|
+
|
|
123
|
+
return blackRatio > whiteRatio ? '#000000' ;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// High contrast theme manager
|
|
128
|
+
export class HighContrastThemeManager {
|
|
129
|
+
private isEnabled= false;
|
|
130
|
+
private targetContrastRatio= 7.0; // WCAG AAA
|
|
131
|
+
private enhancedColors= true;
|
|
132
|
+
private borderEmphasis= true;
|
|
133
|
+
private textEmphasis= true;
|
|
134
|
+
private focusIndicators= true;
|
|
135
|
+
private originalTheme= null;
|
|
136
|
+
private highContrastTheme= null;
|
|
137
|
+
|
|
138
|
+
constructor() {
|
|
139
|
+
this.initializeSystemPreference();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Initialize system preference detection
|
|
143
|
+
private initializeSystemPreference()== 'undefined' && window.matchMedia) {
|
|
144
|
+
const highContrastQuery = window.matchMedia('(prefers-contrast)');
|
|
145
|
+
this.isEnabled = highContrastQuery.matches;
|
|
146
|
+
|
|
147
|
+
highContrastQuery.addEventListener('change', (e) => {
|
|
148
|
+
this.isEnabled = e.matches;
|
|
149
|
+
this.applyHighContrast();
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Enable high contrast mode
|
|
155
|
+
enable()= true;
|
|
156
|
+
this.applyHighContrast();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Disable high contrast mode
|
|
160
|
+
disable()= false;
|
|
161
|
+
this.removeHighContrast();
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Toggle high contrast mode
|
|
165
|
+
toggle()) {
|
|
166
|
+
this.disable();
|
|
167
|
+
} else {
|
|
168
|
+
this.enable();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Check if high contrast is enabled
|
|
173
|
+
isHighContrastEnabled();
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Set target contrast ratio
|
|
177
|
+
setTargetContrastRatio(ratio)= Math.max(1.0, Math.min(21.0, ratio));
|
|
178
|
+
if (this.isEnabled) {
|
|
179
|
+
this.applyHighContrast();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Get current target contrast ratio
|
|
184
|
+
getTargetContrastRatio();
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Enable/disable enhanced colors
|
|
188
|
+
setEnhancedColors(enabled)= enabled;
|
|
189
|
+
if (this.isEnabled) {
|
|
190
|
+
this.applyHighContrast();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Enable/disable border emphasis
|
|
195
|
+
setBorderEmphasis(enabled)= enabled;
|
|
196
|
+
if (this.isEnabled) {
|
|
197
|
+
this.applyHighContrast();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// Enable/disable text emphasis
|
|
202
|
+
setTextEmphasis(enabled)= enabled;
|
|
203
|
+
if (this.isEnabled) {
|
|
204
|
+
this.applyHighContrast();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Enable/disable focus indicators
|
|
209
|
+
setFocusIndicators(enabled)= enabled;
|
|
210
|
+
if (this.isEnabled) {
|
|
211
|
+
this.applyHighContrast();
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// Apply high contrast to current theme
|
|
216
|
+
applyHighContrast()) return;
|
|
217
|
+
|
|
218
|
+
// Store original theme if not already stored
|
|
219
|
+
if (!this.originalTheme) {
|
|
220
|
+
this.originalTheme = this.getCurrentTheme();
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// Generate high contrast theme
|
|
224
|
+
this.highContrastTheme = this.generateHighContrastTheme(this.originalTheme);
|
|
225
|
+
|
|
226
|
+
// Apply the theme
|
|
227
|
+
this.applyTheme(this.highContrastTheme);
|
|
228
|
+
|
|
229
|
+
// Add high contrast CSS classes
|
|
230
|
+
document.documentElement.classList.add('high-contrast');
|
|
231
|
+
|
|
232
|
+
// Apply high contrast styles
|
|
233
|
+
this.applyHighContrastStyles();
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Remove high contrast mode
|
|
237
|
+
removeHighContrast()) return;
|
|
238
|
+
|
|
239
|
+
// Remove high contrast CSS classes
|
|
240
|
+
document.documentElement.classList.remove('high-contrast');
|
|
241
|
+
|
|
242
|
+
// Remove high contrast styles
|
|
243
|
+
this.removeHighContrastStyles();
|
|
244
|
+
|
|
245
|
+
// Restore original theme
|
|
246
|
+
if (this.originalTheme) {
|
|
247
|
+
this.applyTheme(this.originalTheme);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Generate high contrast theme from base theme
|
|
252
|
+
private generateHighContrastTheme(baseTheme)= {
|
|
253
|
+
...baseTheme,
|
|
254
|
+
highContrast,
|
|
255
|
+
contrastRatio,
|
|
256
|
+
enhancedColors,
|
|
257
|
+
borderEmphasis,
|
|
258
|
+
textEmphasis,
|
|
259
|
+
focusIndicators}
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
// Enhance colors for high contrast
|
|
263
|
+
if (this.enhancedColors) {
|
|
264
|
+
highContrastTheme.colors = this.enhanceColorsForHighContrast(baseTheme.colors);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Enhance fonts for high contrast
|
|
268
|
+
if (this.textEmphasis) {
|
|
269
|
+
highContrastTheme.fonts = this.enhanceFontsForHighContrast(baseTheme.fonts);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Enhance spacing for high contrast
|
|
273
|
+
highContrastTheme.spacing = this.enhanceSpacingForHighContrast(baseTheme.spacing);
|
|
274
|
+
|
|
275
|
+
// Enhance shadows for high contrast
|
|
276
|
+
highContrastTheme.shadows = this.enhanceShadowsForHighContrast(baseTheme.shadows);
|
|
277
|
+
|
|
278
|
+
return highContrastTheme;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Enhance colors for high contrast
|
|
282
|
+
private enhanceColorsForHighContrast(colors)= { ...colors };
|
|
283
|
+
|
|
284
|
+
// Enhance primary colors
|
|
285
|
+
if (enhancedColors.primary) {
|
|
286
|
+
enhancedColors.primary = {
|
|
287
|
+
...enhancedColors.primary,
|
|
288
|
+
500],
|
|
289
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
290
|
+
this.targetContrastRatio
|
|
291
|
+
),
|
|
292
|
+
light],
|
|
293
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
294
|
+
this.targetContrastRatio
|
|
295
|
+
),
|
|
296
|
+
dark],
|
|
297
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
298
|
+
this.targetContrastRatio
|
|
299
|
+
)
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Enhance secondary colors
|
|
304
|
+
if (enhancedColors.secondary) {
|
|
305
|
+
enhancedColors.secondary = {
|
|
306
|
+
...enhancedColors.secondary,
|
|
307
|
+
500],
|
|
308
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
309
|
+
this.targetContrastRatio
|
|
310
|
+
),
|
|
311
|
+
light],
|
|
312
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
313
|
+
this.targetContrastRatio
|
|
314
|
+
),
|
|
315
|
+
dark],
|
|
316
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
317
|
+
this.targetContrastRatio
|
|
318
|
+
)
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// Enhance error colors
|
|
323
|
+
if (enhancedColors.semantic?.error) {
|
|
324
|
+
enhancedColors.semantic = {
|
|
325
|
+
...enhancedColors.semantic,
|
|
326
|
+
error,
|
|
327
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
328
|
+
this.targetContrastRatio
|
|
329
|
+
)
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// Enhance warning colors
|
|
334
|
+
if (enhancedColors.semantic?.warning) {
|
|
335
|
+
enhancedColors.semantic = {
|
|
336
|
+
...enhancedColors.semantic,
|
|
337
|
+
warning,
|
|
338
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
339
|
+
this.targetContrastRatio
|
|
340
|
+
)
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// Enhance success colors
|
|
345
|
+
if (enhancedColors.semantic?.success) {
|
|
346
|
+
enhancedColors.semantic = {
|
|
347
|
+
...enhancedColors.semantic,
|
|
348
|
+
success,
|
|
349
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
350
|
+
this.targetContrastRatio
|
|
351
|
+
)
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// Enhance info colors
|
|
356
|
+
if (enhancedColors.semantic?.info) {
|
|
357
|
+
enhancedColors.semantic = {
|
|
358
|
+
...enhancedColors.semantic,
|
|
359
|
+
info,
|
|
360
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
361
|
+
this.targetContrastRatio
|
|
362
|
+
)
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// Enhance text colors
|
|
367
|
+
if (enhancedColors.text) {
|
|
368
|
+
enhancedColors.text = {
|
|
369
|
+
...enhancedColors.text,
|
|
370
|
+
primary,
|
|
371
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
372
|
+
this.targetContrastRatio
|
|
373
|
+
),
|
|
374
|
+
secondary,
|
|
375
|
+
enhancedColors.surface?.background || '#FFFFFF',
|
|
376
|
+
this.targetContrastRatio
|
|
377
|
+
)
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
return enhancedColors;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Enhance fonts for high contrast
|
|
385
|
+
private enhanceFontsForHighContrast(fonts)= { ...fonts };
|
|
386
|
+
|
|
387
|
+
// Increase font weights for better visibility
|
|
388
|
+
if (enhancedFonts.primary?.weights) {
|
|
389
|
+
enhancedFonts.primary.weights = enhancedFonts.primary.weights.map((weight) =>
|
|
390
|
+
Math.max(400, weight)
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
if (enhancedFonts.body?.weights) {
|
|
395
|
+
enhancedFonts.body.weights = enhancedFonts.body.weights.map((weight) =>
|
|
396
|
+
Math.max(400, weight)
|
|
397
|
+
);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// Increase letter spacing for better readability
|
|
401
|
+
if (enhancedFonts.primary?.letterSpacing) {
|
|
402
|
+
enhancedFonts.primary.letterSpacing = {
|
|
403
|
+
...enhancedFonts.primary.letterSpacing,
|
|
404
|
+
tight, enhancedFonts.primary.letterSpacing.tight || 0.025),
|
|
405
|
+
normal, enhancedFonts.primary.letterSpacing.normal || 0),
|
|
406
|
+
wide, enhancedFonts.primary.letterSpacing.wide || 0.025)
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
return enhancedFonts;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// Enhance spacing for high contrast
|
|
414
|
+
private enhanceSpacingForHighContrast(spacing)= { ...spacing };
|
|
415
|
+
|
|
416
|
+
// Increase focus ring spacing
|
|
417
|
+
if (enhancedSpacing.focusRing) {
|
|
418
|
+
enhancedSpacing.focusRing = Math.max(2, enhancedSpacing.focusRing || 2);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// Increase border widths
|
|
422
|
+
if (enhancedSpacing.borderWidth) {
|
|
423
|
+
enhancedSpacing.borderWidth = {
|
|
424
|
+
...enhancedSpacing.borderWidth,
|
|
425
|
+
thin, enhancedSpacing.borderWidth.thin || 1),
|
|
426
|
+
normal, enhancedSpacing.borderWidth.normal || 2),
|
|
427
|
+
thick, enhancedSpacing.borderWidth.thick || 3)
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
return enhancedSpacing;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
// Enhance shadows for high contrast
|
|
435
|
+
private enhanceShadowsForHighContrast(shadows)= { ...shadows };
|
|
436
|
+
|
|
437
|
+
// Increase shadow intensity
|
|
438
|
+
if (enhancedShadows.intensity) {
|
|
439
|
+
enhancedShadows.intensity = Math.min(1.0, enhancedShadows.intensity * 1.5);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// Increase shadow spread
|
|
443
|
+
if (enhancedShadows.spread) {
|
|
444
|
+
enhancedShadows.spread = Math.max(0, enhancedShadows.spread * 1.2);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
return enhancedShadows;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// Apply high contrast styles
|
|
451
|
+
private applyHighContrastStyles()= document.createElement('style');
|
|
452
|
+
style.id = 'high-contrast-styles';
|
|
453
|
+
|
|
454
|
+
style.textContent = `
|
|
455
|
+
.high-contrast {
|
|
456
|
+
--focus-ring-width;
|
|
457
|
+
--focus-ring-color;
|
|
458
|
+
--focus-ring-offset;
|
|
459
|
+
--border-emphasis;
|
|
460
|
+
--text-emphasis;
|
|
461
|
+
--shadow-emphasis, 0, 0, 0.8);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.high-contrast *) solid var(--focus-ring-color) !important;
|
|
465
|
+
outline-offset) !important;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.high-contrast button,
|
|
469
|
+
.high-contrast input,
|
|
470
|
+
.high-contrast select,
|
|
471
|
+
.high-contrast textarea,
|
|
472
|
+
.high-contrast a {
|
|
473
|
+
border) !important;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.high-contrast h1,
|
|
477
|
+
.high-contrast h2,
|
|
478
|
+
.high-contrast h3,
|
|
479
|
+
.high-contrast h4,
|
|
480
|
+
.high-contrast h5,
|
|
481
|
+
.high-contrast h6 {
|
|
482
|
+
font-weight) !important;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.high-contrast .card,
|
|
486
|
+
.high-contrast .modal,
|
|
487
|
+
.high-contrast .tooltip,
|
|
488
|
+
.high-contrast .popover {
|
|
489
|
+
box-shadow) !important;
|
|
490
|
+
border) !important;
|
|
491
|
+
}
|
|
492
|
+
`;
|
|
493
|
+
|
|
494
|
+
document.head.appendChild(style);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
// Remove high contrast styles
|
|
498
|
+
private removeHighContrastStyles()= document.getElementById('high-contrast-styles');
|
|
499
|
+
if (style) {
|
|
500
|
+
style.remove();
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
// Get current theme (placeholder - would integrate with actual theme system)
|
|
505
|
+
private getCurrentTheme()} as MultiThemeConfig;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// Apply theme (placeholder - would integrate with actual theme system)
|
|
509
|
+
private applyTheme(theme), theme);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// Get high contrast configuration
|
|
513
|
+
getConfiguration();
|
|
514
|
+
targetContrastRatio;
|
|
515
|
+
enhancedColors;
|
|
516
|
+
borderEmphasis;
|
|
517
|
+
textEmphasis;
|
|
518
|
+
focusIndicators;
|
|
519
|
+
} {
|
|
520
|
+
return {
|
|
521
|
+
enabled,
|
|
522
|
+
targetContrastRatio,
|
|
523
|
+
enhancedColors,
|
|
524
|
+
borderEmphasis,
|
|
525
|
+
textEmphasis,
|
|
526
|
+
focusIndicators};
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// Validate high contrast theme
|
|
530
|
+
validateHighContrastTheme(theme)) return false;
|
|
531
|
+
|
|
532
|
+
// Validate contrast ratios
|
|
533
|
+
if (theme.colors) {
|
|
534
|
+
const background = theme.colors.surface?.background || '#FFFFFF';
|
|
535
|
+
|
|
536
|
+
// Check primary color contrast
|
|
537
|
+
if (theme.colors.primary?.[500]) {
|
|
538
|
+
const ratio = HighContrastColors.calculateContrastRatio(
|
|
539
|
+
theme.colors.primary[500],
|
|
540
|
+
background
|
|
541
|
+
);
|
|
542
|
+
if (ratio < this.targetContrastRatio) {
|
|
543
|
+
console.warn(`Primary color contrast ratio ${ratio} is below target ${this.targetContrastRatio}`);
|
|
544
|
+
return false;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// Check text color contrast
|
|
549
|
+
if (theme.colors.text?.primary) {
|
|
550
|
+
const ratio = HighContrastColors.calculateContrastRatio(
|
|
551
|
+
theme.colors.text.primary,
|
|
552
|
+
background
|
|
553
|
+
);
|
|
554
|
+
if (ratio < this.targetContrastRatio) {
|
|
555
|
+
console.warn(`Text color contrast ratio ${ratio} is below target ${this.targetContrastRatio}`);
|
|
556
|
+
return false;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
return true;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
// Export default instances
|
|
566
|
+
export const highContrastThemeManager = new HighContrastThemeManager();
|
|
567
|
+
|
|
568
|
+
// Export default
|
|
569
|
+
export default {
|
|
570
|
+
HighContrastColors,
|
|
571
|
+
HighContrastThemeManager,
|
|
572
|
+
highContrastThemeManager
|
|
573
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Main theme exports
|
|
2
|
+
// This file provides a clean interface for importing themes
|
|
3
|
+
|
|
4
|
+
export * from './base-themes';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './inheritance';
|
|
7
|
+
export * from './useTheme';
|
|
8
|
+
export * from './ThemeProvider';
|
|
9
|
+
|
|
10
|
+
// Export default theme for reference
|
|
11
|
+
// Direct theme imports for convenience (with inheritance applied)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Main theme exports
|
|
2
|
+
// This file provides a clean interface for importing themes
|
|
3
|
+
|
|
4
|
+
export * from './base-themes';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './inheritance';
|
|
7
|
+
export * from './useTheme';
|
|
8
|
+
export * from './ThemeProvider';
|
|
9
|
+
|
|
10
|
+
// Export default theme for reference
|
|
11
|
+
export { defaultTheme } from './themes/default';
|
|
12
|
+
|
|
13
|
+
// Direct theme imports for convenience (with inheritance applied)
|
|
14
|
+
export {
|
|
15
|
+
stanDesignTheme,
|
|
16
|
+
|
|
17
|
+
harveyTheme,
|
|
18
|
+
defaultTheme as baseDefaultTheme
|
|
19
|
+
} from './base-themes';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Main theme exports
|
|
2
|
+
// This file provides a clean interface for importing themes
|
|
3
|
+
|
|
4
|
+
export * from './base-themes';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './inheritance';
|
|
7
|
+
export * from './useTheme';
|
|
8
|
+
export * from './ThemeProvider';
|
|
9
|
+
|
|
10
|
+
// Export default theme for reference
|
|
11
|
+
export { defaultTheme } from './themes/default';
|
|
12
|
+
|
|
13
|
+
// Direct theme imports for convenience (with inheritance applied)
|
|
14
|
+
export {
|
|
15
|
+
stanDesignTheme,
|
|
16
|
+
|
|
17
|
+
harveyTheme,
|
|
18
|
+
defaultTheme as baseDefaultTheme
|
|
19
|
+
} from './base-themes';
|