@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 → 0.2.8
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,204 @@
|
|
|
1
|
+
import React, { ReactNode, useState, useEffect } from 'react'
|
|
2
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../card'
|
|
3
|
+
import { Badge } from '../badge'
|
|
4
|
+
import { Button } from '../button'
|
|
5
|
+
|
|
6
|
+
export interface DesktopLayoutProps {
|
|
7
|
+
children}
|
|
8
|
+
|
|
9
|
+
export const DesktopLayout= ({
|
|
10
|
+
children,
|
|
11
|
+
title = 'Desktop Layout',
|
|
12
|
+
description = 'Desktop-optimized layout with advanced features and performance monitoring',
|
|
13
|
+
showHeader = true,
|
|
14
|
+
showSidebar = true,
|
|
15
|
+
showTopBar = true,
|
|
16
|
+
enablePerformanceMonitoring = true,
|
|
17
|
+
enableAdvancedFeatures = true,
|
|
18
|
+
className = ''
|
|
19
|
+
}) => {
|
|
20
|
+
const [performanceMetrics, setPerformanceMetrics] = useState({
|
|
21
|
+
renderTime,
|
|
22
|
+
memoryUsage,
|
|
23
|
+
cpuUsage,
|
|
24
|
+
fps})
|
|
25
|
+
const [sidebarCollapsed, setSidebarCollapsed] = useState(false)
|
|
26
|
+
|
|
27
|
+
// Performance monitoring
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!enablePerformanceMonitoring) return
|
|
30
|
+
|
|
31
|
+
const measurePerformance = () => {
|
|
32
|
+
const startTime = performance.now()
|
|
33
|
+
|
|
34
|
+
// Simulate performance measurement
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
const endTime = performance.now()
|
|
37
|
+
const renderTime = endTime - startTime
|
|
38
|
+
|
|
39
|
+
setPerformanceMetrics(prev => ({
|
|
40
|
+
...prev,
|
|
41
|
+
renderTime,
|
|
42
|
+
memoryUsage) * 100,
|
|
43
|
+
cpuUsage) * 50,
|
|
44
|
+
fps) * 10
|
|
45
|
+
}))
|
|
46
|
+
}, 100)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
measurePerformance()
|
|
50
|
+
const interval = setInterval(measurePerformance, 4000)
|
|
51
|
+
|
|
52
|
+
return () => clearInterval(interval)
|
|
53
|
+
}, [enablePerformanceMonitoring])
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<div className={`min-h-screen bg-cs-page-bg ${className}`}>
|
|
57
|
+
{/* Top Bar */}
|
|
58
|
+
{showTopBar && (
|
|
59
|
+
<div className="bg-cs-surface border-b border-cs-border px-6 py-2">
|
|
60
|
+
<div className="flex items-center justify-between text-sm text-cs-text-secondary">
|
|
61
|
+
<span>Stan Design System</span>
|
|
62
|
+
<div className="flex items-center gap-4">
|
|
63
|
+
<span>Desktop Layout</span>
|
|
64
|
+
{enableAdvancedFeatures && <span>Advanced Features Enabled</span>}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
)}
|
|
69
|
+
|
|
70
|
+
{/* Desktop Header */}
|
|
71
|
+
{showHeader && (
|
|
72
|
+
<header className="bg-cs-surface border-b border-cs-border px-8 py-6">
|
|
73
|
+
<div className="flex items-center justify-between">
|
|
74
|
+
<div className="flex-1">
|
|
75
|
+
<h1 className="text-3xl font-bold text-cs-text-primary">{title}</h1>
|
|
76
|
+
{description && (
|
|
77
|
+
<p className="text-lg text-cs-text-secondary mt-3">{description}</p>
|
|
78
|
+
)}
|
|
79
|
+
</div>
|
|
80
|
+
<div className="flex items-center gap-4">
|
|
81
|
+
<Badge variant="outline" className="text-base">
|
|
82
|
+
Desktop
|
|
83
|
+
</Badge>
|
|
84
|
+
{enableAdvancedFeatures && (
|
|
85
|
+
<Badge variant="default" className="text-base">
|
|
86
|
+
Advanced
|
|
87
|
+
</Badge>
|
|
88
|
+
)}
|
|
89
|
+
{enablePerformanceMonitoring && (
|
|
90
|
+
<Badge variant="secondary" className="text-base">
|
|
91
|
+
Performance
|
|
92
|
+
</Badge>
|
|
93
|
+
)}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</header>
|
|
97
|
+
)}
|
|
98
|
+
|
|
99
|
+
{/* Main Content with Sidebar */}
|
|
100
|
+
<div className="flex flex-1">
|
|
101
|
+
{/* Sidebar */}
|
|
102
|
+
{showSidebar && (
|
|
103
|
+
<aside className={`bg-cs-surface border-r border-cs-border transition-all duration-300 ${
|
|
104
|
+
sidebarCollapsed ? 'w-16' }`}>
|
|
105
|
+
<div className="p-4">
|
|
106
|
+
<div className="flex items-center justify-between mb-6">
|
|
107
|
+
<h3 className={`font-semibold text-cs-text-primary ${
|
|
108
|
+
sidebarCollapsed ? 'hidden' }`}>
|
|
109
|
+
Navigation
|
|
110
|
+
</h3>
|
|
111
|
+
<Button
|
|
112
|
+
variant="ghost"
|
|
113
|
+
size="sm"
|
|
114
|
+
onClick={() => setSidebarCollapsed(!sidebarCollapsed)}
|
|
115
|
+
className="ml-auto"
|
|
116
|
+
>
|
|
117
|
+
{sidebarCollapsed ? '→' }
|
|
118
|
+
</Button>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<nav className="space-y-2">
|
|
122
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
123
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
124
|
+
🏠 {!sidebarCollapsed && 'Dashboard'}
|
|
125
|
+
</Button>
|
|
126
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
127
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
128
|
+
🎨 {!sidebarCollapsed && 'Design System'}
|
|
129
|
+
</Button>
|
|
130
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
131
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
132
|
+
📱 {!sidebarCollapsed && 'Mobile Features'}
|
|
133
|
+
</Button>
|
|
134
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
135
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
136
|
+
🧪 {!sidebarCollapsed && 'Interactive Demos'}
|
|
137
|
+
</Button>
|
|
138
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
139
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
140
|
+
📊 {!sidebarCollapsed && 'Performance'}
|
|
141
|
+
</Button>
|
|
142
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
143
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
144
|
+
⚙️ {!sidebarCollapsed && 'Configuration'}
|
|
145
|
+
</Button>
|
|
146
|
+
</nav>
|
|
147
|
+
</div>
|
|
148
|
+
</aside>
|
|
149
|
+
)}
|
|
150
|
+
|
|
151
|
+
{/* Main Content */}
|
|
152
|
+
<main className="flex-1 p-8 space-y-8">
|
|
153
|
+
{/* Performance Metrics */}
|
|
154
|
+
{enablePerformanceMonitoring && (
|
|
155
|
+
<Card className="border-2 border-cs-accent">
|
|
156
|
+
<CardHeader>
|
|
157
|
+
<CardTitle className="text-2xl flex items-center gap-3">
|
|
158
|
+
📊 Desktop Performance Metrics
|
|
159
|
+
<Badge variant="outline" className="text-base">Real-time</Badge>
|
|
160
|
+
</CardTitle>
|
|
161
|
+
<CardDescription className="text-base">
|
|
162
|
+
Advanced performance monitoring for desktop devices
|
|
163
|
+
</CardDescription>
|
|
164
|
+
</CardHeader>
|
|
165
|
+
<CardContent>
|
|
166
|
+
<div className="grid grid-cols-2 xl="text-4xl font-bold text-cs-primary">
|
|
167
|
+
{performanceMetrics.renderTime.toFixed(1)}ms
|
|
168
|
+
</p>
|
|
169
|
+
<p className="text-base text-cs-text-secondary">Render Time</p>
|
|
170
|
+
</div>
|
|
171
|
+
<div>
|
|
172
|
+
<p className="text-4xl font-bold text-cs-secondary">
|
|
173
|
+
{performanceMetrics.memoryUsage.toFixed(1)}%
|
|
174
|
+
</p>
|
|
175
|
+
<p className="text-base text-cs-text-secondary">Memory Usage</p>
|
|
176
|
+
</div>
|
|
177
|
+
<div>
|
|
178
|
+
<p className="text-4xl font-bold text-cs-accent">
|
|
179
|
+
{performanceMetrics.cpuUsage.toFixed(1)}%
|
|
180
|
+
</p>
|
|
181
|
+
<p className="text-base text-cs-text-secondary">CPU Usage</p>
|
|
182
|
+
</div>
|
|
183
|
+
<div>
|
|
184
|
+
<p className="text-4xl font-bold text-cs-primary">
|
|
185
|
+
{performanceMetrics.fps.toFixed(0)}
|
|
186
|
+
</p>
|
|
187
|
+
<p className="text-base text-cs-text-secondary">FPS</p>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</CardContent>
|
|
191
|
+
</Card>
|
|
192
|
+
)}
|
|
193
|
+
|
|
194
|
+
{/* Content Area */}
|
|
195
|
+
<div className="space-y-8">
|
|
196
|
+
{children}
|
|
197
|
+
</div>
|
|
198
|
+
</main>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
)
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export default DesktopLayout
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import React, { ReactNode, useState, useEffect } from 'react'
|
|
2
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../card'
|
|
3
|
+
import { Badge } from '../badge'
|
|
4
|
+
import { Button } from '../button'
|
|
5
|
+
|
|
6
|
+
export interface DesktopLayoutProps {
|
|
7
|
+
children}
|
|
8
|
+
|
|
9
|
+
export const DesktopLayout= ({
|
|
10
|
+
children,
|
|
11
|
+
title = 'Desktop Layout',
|
|
12
|
+
description = 'Desktop-optimized layout with advanced features and performance monitoring',
|
|
13
|
+
showHeader = true,
|
|
14
|
+
showSidebar = true,
|
|
15
|
+
showTopBar = true,
|
|
16
|
+
enablePerformanceMonitoring = true,
|
|
17
|
+
enableAdvancedFeatures = true,
|
|
18
|
+
className = ''
|
|
19
|
+
}) => {
|
|
20
|
+
const [performanceMetrics, setPerformanceMetrics] = useState({
|
|
21
|
+
renderTime,
|
|
22
|
+
memoryUsage,
|
|
23
|
+
cpuUsage,
|
|
24
|
+
fps})
|
|
25
|
+
const [sidebarCollapsed, setSidebarCollapsed] = useState(false)
|
|
26
|
+
|
|
27
|
+
// Performance monitoring
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!enablePerformanceMonitoring) return
|
|
30
|
+
|
|
31
|
+
const measurePerformance = () => {
|
|
32
|
+
const startTime = performance.now()
|
|
33
|
+
|
|
34
|
+
// Simulate performance measurement
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
const endTime = performance.now()
|
|
37
|
+
const renderTime = endTime - startTime
|
|
38
|
+
|
|
39
|
+
setPerformanceMetrics(prev => ({
|
|
40
|
+
...prev,
|
|
41
|
+
renderTime,
|
|
42
|
+
memoryUsage) * 100,
|
|
43
|
+
cpuUsage) * 50,
|
|
44
|
+
fps) * 10
|
|
45
|
+
}))
|
|
46
|
+
}, 100)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
measurePerformance()
|
|
50
|
+
const interval = setInterval(measurePerformance, 4000)
|
|
51
|
+
|
|
52
|
+
return () => clearInterval(interval)
|
|
53
|
+
}, [enablePerformanceMonitoring])
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<div className={`min-h-screen bg-cs-page-bg ${className}`}>
|
|
57
|
+
{/* Top Bar */}
|
|
58
|
+
{showTopBar && (
|
|
59
|
+
<div className="bg-cs-surface border-b border-cs-border px-6 py-2">
|
|
60
|
+
<div className="flex items-center justify-between text-sm text-cs-text-secondary">
|
|
61
|
+
<span>Stan Design System</span>
|
|
62
|
+
<div className="flex items-center gap-4">
|
|
63
|
+
<span>Desktop Layout</span>
|
|
64
|
+
{enableAdvancedFeatures && <span>Advanced Features Enabled</span>}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
)}
|
|
69
|
+
|
|
70
|
+
{/* Desktop Header */}
|
|
71
|
+
{showHeader && (
|
|
72
|
+
<header className="bg-cs-surface border-b border-cs-border px-8 py-6">
|
|
73
|
+
<div className="flex items-center justify-between">
|
|
74
|
+
<div className="flex-1">
|
|
75
|
+
<h1 className="text-3xl font-bold text-cs-text-primary">{title}</h1>
|
|
76
|
+
{description && (
|
|
77
|
+
<p className="text-lg text-cs-text-secondary mt-3">{description}</p>
|
|
78
|
+
)}
|
|
79
|
+
</div>
|
|
80
|
+
<div className="flex items-center gap-4">
|
|
81
|
+
<Badge variant="outline" className="text-base">
|
|
82
|
+
Desktop
|
|
83
|
+
</Badge>
|
|
84
|
+
{enableAdvancedFeatures && (
|
|
85
|
+
<Badge variant="default" className="text-base">
|
|
86
|
+
Advanced
|
|
87
|
+
</Badge>
|
|
88
|
+
)}
|
|
89
|
+
{enablePerformanceMonitoring && (
|
|
90
|
+
<Badge variant="secondary" className="text-base">
|
|
91
|
+
Performance
|
|
92
|
+
</Badge>
|
|
93
|
+
)}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</header>
|
|
97
|
+
)}
|
|
98
|
+
|
|
99
|
+
{/* Main Content with Sidebar */}
|
|
100
|
+
<div className="flex flex-1">
|
|
101
|
+
{/* Sidebar */}
|
|
102
|
+
{showSidebar && (
|
|
103
|
+
<aside className={`bg-cs-surface border-r border-cs-border transition-all duration-300 ${
|
|
104
|
+
sidebarCollapsed ? 'w-16' }`}>
|
|
105
|
+
<div className="p-4">
|
|
106
|
+
<div className="flex items-center justify-between mb-6">
|
|
107
|
+
<h3 className={`font-semibold text-cs-text-primary ${
|
|
108
|
+
sidebarCollapsed ? 'hidden' }`}>
|
|
109
|
+
Navigation
|
|
110
|
+
</h3>
|
|
111
|
+
<Button
|
|
112
|
+
variant="ghost"
|
|
113
|
+
size="sm"
|
|
114
|
+
onClick={() => setSidebarCollapsed(!sidebarCollapsed)}
|
|
115
|
+
className="ml-auto"
|
|
116
|
+
>
|
|
117
|
+
{sidebarCollapsed ? '→' }
|
|
118
|
+
</Button>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<nav className="space-y-2">
|
|
122
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
123
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
124
|
+
🏠 {!sidebarCollapsed && 'Dashboard'}
|
|
125
|
+
</Button>
|
|
126
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
127
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
128
|
+
🎨 {!sidebarCollapsed && 'Design System'}
|
|
129
|
+
</Button>
|
|
130
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
131
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
132
|
+
📱 {!sidebarCollapsed && 'Mobile Features'}
|
|
133
|
+
</Button>
|
|
134
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
135
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
136
|
+
🧪 {!sidebarCollapsed && 'Interactive Demos'}
|
|
137
|
+
</Button>
|
|
138
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
139
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
140
|
+
📊 {!sidebarCollapsed && 'Performance'}
|
|
141
|
+
</Button>
|
|
142
|
+
<Button variant="ghost" className={`w-full justify-start ${
|
|
143
|
+
sidebarCollapsed ? 'px-2' }`}>
|
|
144
|
+
⚙️ {!sidebarCollapsed && 'Configuration'}
|
|
145
|
+
</Button>
|
|
146
|
+
</nav>
|
|
147
|
+
</div>
|
|
148
|
+
</aside>
|
|
149
|
+
)}
|
|
150
|
+
|
|
151
|
+
{/* Main Content */}
|
|
152
|
+
<main className="flex-1 p-8 space-y-8">
|
|
153
|
+
{/* Performance Metrics */}
|
|
154
|
+
{enablePerformanceMonitoring && (
|
|
155
|
+
<Card className="border-2 border-cs-accent">
|
|
156
|
+
<CardHeader>
|
|
157
|
+
<CardTitle className="text-2xl flex items-center gap-3">
|
|
158
|
+
📊 Desktop Performance Metrics
|
|
159
|
+
<Badge variant="outline" className="text-base">Real-time</Badge>
|
|
160
|
+
</CardTitle>
|
|
161
|
+
<CardDescription className="text-base">
|
|
162
|
+
Advanced performance monitoring for desktop devices
|
|
163
|
+
</CardDescription>
|
|
164
|
+
</CardHeader>
|
|
165
|
+
<CardContent>
|
|
166
|
+
<div className="grid grid-cols-2 xl="text-4xl font-bold text-cs-primary">
|
|
167
|
+
{performanceMetrics.renderTime.toFixed(1)}ms
|
|
168
|
+
</p>
|
|
169
|
+
<p className="text-base text-cs-text-secondary">Render Time</p>
|
|
170
|
+
</div>
|
|
171
|
+
<div>
|
|
172
|
+
<p className="text-4xl font-bold text-cs-secondary">
|
|
173
|
+
{performanceMetrics.memoryUsage.toFixed(1)}%
|
|
174
|
+
</p>
|
|
175
|
+
<p className="text-base text-cs-text-secondary">Memory Usage</p>
|
|
176
|
+
</div>
|
|
177
|
+
<div>
|
|
178
|
+
<p className="text-4xl font-bold text-cs-accent">
|
|
179
|
+
{performanceMetrics.cpuUsage.toFixed(1)}%
|
|
180
|
+
</p>
|
|
181
|
+
<p className="text-base text-cs-text-secondary">CPU Usage</p>
|
|
182
|
+
</div>
|
|
183
|
+
<div>
|
|
184
|
+
<p className="text-4xl font-bold text-cs-primary">
|
|
185
|
+
{performanceMetrics.fps.toFixed(0)}
|
|
186
|
+
</p>
|
|
187
|
+
<p className="text-base text-cs-text-secondary">FPS</p>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</CardContent>
|
|
191
|
+
</Card>
|
|
192
|
+
)}
|
|
193
|
+
|
|
194
|
+
{/* Content Area */}
|
|
195
|
+
<div className="space-y-8">
|
|
196
|
+
{children}
|
|
197
|
+
</div>
|
|
198
|
+
</main>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
)
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export default DesktopLayout
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { MobileLayout, default as MobileLayoutDefault } from './mobile-layout'
|
|
2
|
+
export { TabletLayout, default as TabletLayoutDefault } from './tablet-layout'
|
|
3
|
+
export { DesktopLayout, default as DesktopLayoutDefault } from './desktop-layout'
|
|
4
|
+
export { AdaptiveLayout, default as AdaptiveLayoutDefault, type DeviceType } from './adaptive-layout'
|
|
5
|
+
|
|
6
|
+
// Re-export types
|
|
7
|
+
export type { MobileLayoutProps } from './mobile-layout'
|
|
8
|
+
export type { TabletLayoutProps } from './tablet-layout'
|
|
9
|
+
export type { DesktopLayoutProps } from './desktop-layout'
|
|
10
|
+
export type { AdaptiveLayoutProps } from './adaptive-layout'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { MobileLayout, default as MobileLayoutDefault } from './mobile-layout'
|
|
2
|
+
export { TabletLayout, default as TabletLayoutDefault } from './tablet-layout'
|
|
3
|
+
export { DesktopLayout, default as DesktopLayoutDefault } from './desktop-layout'
|
|
4
|
+
export { AdaptiveLayout, default as AdaptiveLayoutDefault, type DeviceType } from './adaptive-layout'
|
|
5
|
+
|
|
6
|
+
// Re-export types
|
|
7
|
+
export type { MobileLayoutProps } from './mobile-layout'
|
|
8
|
+
export type { TabletLayoutProps } from './tablet-layout'
|
|
9
|
+
export type { DesktopLayoutProps } from './desktop-layout'
|
|
10
|
+
export type { AdaptiveLayoutProps } from './adaptive-layout'
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
export interface MobileLayoutProps {
|
|
2
|
+
children: ReactNode
|
|
3
|
+
title?: string
|
|
4
|
+
description?: string
|
|
5
|
+
showHeader?: boolean
|
|
6
|
+
showFooter?: boolean
|
|
7
|
+
enableTouchOptimization?: boolean
|
|
8
|
+
enablePerformanceMonitoring?: boolean
|
|
9
|
+
className?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const MobileLayout: React.FC<MobileLayoutProps> = ({
|
|
13
|
+
children,
|
|
14
|
+
title = 'Mobile Layout',
|
|
15
|
+
description = 'Touch-optimized mobile layout with performance monitoring',
|
|
16
|
+
showHeader = true,
|
|
17
|
+
showFooter = true,
|
|
18
|
+
enableTouchOptimization = true,
|
|
19
|
+
enablePerformanceMonitoring = true,
|
|
20
|
+
className = ''
|
|
21
|
+
}) => {
|
|
22
|
+
const [touchActive, setTouchActive] = useState(false)
|
|
23
|
+
const [performanceMetrics, setPerformanceMetrics] = useState({
|
|
24
|
+
renderTime: 0,
|
|
25
|
+
memoryUsage: 0,
|
|
26
|
+
touchResponsiveness: 0
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
// Touch optimization
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (!enableTouchOptimization) return
|
|
32
|
+
|
|
33
|
+
const handleTouchStart = () => setTouchActive(true)
|
|
34
|
+
const handleTouchEnd = () => setTouchActive(false)
|
|
35
|
+
|
|
36
|
+
document.addEventListener('touchstart', handleTouchStart, { passive: true })
|
|
37
|
+
document.addEventListener('touchend', handleTouchEnd, { passive: true })
|
|
38
|
+
|
|
39
|
+
return () => {
|
|
40
|
+
document.removeEventListener('touchstart', handleTouchStart)
|
|
41
|
+
document.removeEventListener('touchend', handleTouchEnd)
|
|
42
|
+
}
|
|
43
|
+
}, [enableTouchOptimization])
|
|
44
|
+
|
|
45
|
+
// Performance monitoring
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (!enablePerformanceMonitoring) return
|
|
48
|
+
|
|
49
|
+
const measurePerformance = () => {
|
|
50
|
+
const startTime = performance.now()
|
|
51
|
+
|
|
52
|
+
// Simulate performance measurement
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
const endTime = performance.now()
|
|
55
|
+
const renderTime = endTime - startTime
|
|
56
|
+
|
|
57
|
+
setPerformanceMetrics(prev => ({
|
|
58
|
+
...prev,
|
|
59
|
+
renderTime,
|
|
60
|
+
memoryUsage: Math.random() * 100,
|
|
61
|
+
touchResponsiveness: touchActive ? 95 : 85
|
|
62
|
+
}))
|
|
63
|
+
}, 100)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
measurePerformance()
|
|
67
|
+
const interval = setInterval(measurePerformance, 2000)
|
|
68
|
+
|
|
69
|
+
return () => clearInterval(interval)
|
|
70
|
+
}, [enablePerformanceMonitoring, touchActive])
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<div className={`min-h-screen bg-cs-page-bg ${className}`}>
|
|
74
|
+
{/* Mobile Header */}
|
|
75
|
+
{showHeader && (
|
|
76
|
+
<header className="sticky top-0 z-50 bg-cs-surface border-b border-cs-border p-4">
|
|
77
|
+
<div className="flex items-center justify-between">
|
|
78
|
+
<div className="flex-1">
|
|
79
|
+
<h1 className="text-xl font-bold text-cs-text-primary">{title}</h1>
|
|
80
|
+
{description && (
|
|
81
|
+
<p className="text-sm text-cs-text-secondary mt-1">{description}</p>
|
|
82
|
+
)}
|
|
83
|
+
</div>
|
|
84
|
+
<div className="flex items-center gap-2">
|
|
85
|
+
<Badge variant="outline" className="text-xs">
|
|
86
|
+
Mobile
|
|
87
|
+
</Badge>
|
|
88
|
+
{enableTouchOptimization && (
|
|
89
|
+
<Badge variant="default" className="text-xs">
|
|
90
|
+
Touch
|
|
91
|
+
</Badge>
|
|
92
|
+
)}
|
|
93
|
+
{enablePerformanceMonitoring && (
|
|
94
|
+
<Badge variant="secondary" className="text-xs">
|
|
95
|
+
Performance
|
|
96
|
+
</Badge>
|
|
97
|
+
)}
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</header>
|
|
101
|
+
)}
|
|
102
|
+
|
|
103
|
+
{/* Main Content */}
|
|
104
|
+
<main className="p-4 space-y-4">
|
|
105
|
+
{/* Performance Metrics */}
|
|
106
|
+
{enablePerformanceMonitoring && (
|
|
107
|
+
<Card className="border-2 border-cs-accent">
|
|
108
|
+
<CardHeader className="pb-3">
|
|
109
|
+
<CardTitle className="text-lg flex items-center gap-2">
|
|
110
|
+
📊 Performance Metrics
|
|
111
|
+
<Badge variant="outline">Real-time</Badge>
|
|
112
|
+
</CardTitle>
|
|
113
|
+
</CardHeader>
|
|
114
|
+
<CardContent>
|
|
115
|
+
<div className="grid grid-cols-3 gap-4 text-center">
|
|
116
|
+
<div>
|
|
117
|
+
<p className="text-2xl font-bold text-cs-primary">
|
|
118
|
+
{performanceMetrics.renderTime.toFixed(1)}ms
|
|
119
|
+
</p>
|
|
120
|
+
<p className="text-xs text-cs-text-secondary">Render Time</p>
|
|
121
|
+
</div>
|
|
122
|
+
<div>
|
|
123
|
+
<p className="text-2xl font-bold text-cs-secondary">
|
|
124
|
+
{performanceMetrics.memoryUsage.toFixed(1)}%
|
|
125
|
+
</p>
|
|
126
|
+
<p className="text-xs text-cs-text-secondary">Memory</p>
|
|
127
|
+
</div>
|
|
128
|
+
<div>
|
|
129
|
+
<p className="text-2xl font-bold text-cs-accent">
|
|
130
|
+
{performanceMetrics.touchResponsiveness.toFixed(0)}%
|
|
131
|
+
</p>
|
|
132
|
+
<p className="text-xs text-cs-text-secondary">Touch</p>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</CardContent>
|
|
136
|
+
</Card>
|
|
137
|
+
)}
|
|
138
|
+
|
|
139
|
+
{/* Content Area */}
|
|
140
|
+
<div className="space-y-4">
|
|
141
|
+
{children}
|
|
142
|
+
</div>
|
|
143
|
+
</main>
|
|
144
|
+
|
|
145
|
+
{/* Mobile Footer */}
|
|
146
|
+
{showFooter && (
|
|
147
|
+
<footer className="sticky bottom-0 z-50 bg-cs-surface border-t border-cs-border p-4">
|
|
148
|
+
<div className="flex items-center justify-between text-sm text-cs-text-secondary">
|
|
149
|
+
<span>Mobile Layout</span>
|
|
150
|
+
<span>Touch Optimized</span>
|
|
151
|
+
</div>
|
|
152
|
+
</footer>
|
|
153
|
+
)}
|
|
154
|
+
</div>
|
|
155
|
+
)
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export default MobileLayout
|