@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.6 → 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/index.esm.js +2 -2
- package/dist/index.js +2 -2
- 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
- package/src/index.ts +2 -2
- package/src/themes/accessibility/index.ts +1 -1
- package/src/themes/focus-management.ts +3 -3
- package/src/themes/keyboard-navigation.ts +3 -3
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import React, { useState, useRef } from 'react'
|
|
2
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './card'
|
|
3
|
+
import { Button } from './button'
|
|
4
|
+
import { Badge } from './badge'
|
|
5
|
+
import { Tabs } from './navigation/tabs'
|
|
6
|
+
import MobileFormValidation, { MobileFormValidationRef } from './mobile-form-validation'
|
|
7
|
+
|
|
8
|
+
import { InputType } from '../../hooks/use-semantic-input'
|
|
9
|
+
|
|
10
|
+
export const FormDemo= () => {
|
|
11
|
+
const [activeTab, setActiveTab] = useState<'basic' | 'advanced' | 'performance' | 'semantic'>('basic')
|
|
12
|
+
const [formResults, setFormResults] = useState<Array<{ type; data; timestamp}>>([])
|
|
13
|
+
const [enableEnhancedFeatures, setEnableEnhancedFeatures] = useState(true)
|
|
14
|
+
|
|
15
|
+
const basicFormRef = useRef<MobileFormValidationRef>(null)
|
|
16
|
+
const advancedFormRef = useRef<MobileFormValidationRef>(null)
|
|
17
|
+
|
|
18
|
+
// Basic form fields
|
|
19
|
+
const basicFields = [
|
|
20
|
+
{
|
|
21
|
+
name,
|
|
22
|
+
label,
|
|
23
|
+
type} as InputType,
|
|
24
|
+
placeholder,
|
|
25
|
+
rules, message},
|
|
26
|
+
{ type, value, message}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name,
|
|
31
|
+
label,
|
|
32
|
+
type} as InputType,
|
|
33
|
+
placeholder,
|
|
34
|
+
rules, message},
|
|
35
|
+
{ type, message}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
// Advanced form fields
|
|
41
|
+
const advancedFields = [
|
|
42
|
+
{
|
|
43
|
+
name,
|
|
44
|
+
label,
|
|
45
|
+
type} as InputType,
|
|
46
|
+
placeholder,
|
|
47
|
+
rules, message},
|
|
48
|
+
{ type, value, message},
|
|
49
|
+
{ type, value, message}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name,
|
|
54
|
+
label,
|
|
55
|
+
type} as InputType,
|
|
56
|
+
placeholder,
|
|
57
|
+
rules, message},
|
|
58
|
+
{ type, message}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name,
|
|
63
|
+
label,
|
|
64
|
+
type} as InputType,
|
|
65
|
+
placeholder,
|
|
66
|
+
rules, message},
|
|
67
|
+
{ type, value]?[0-9\s\-\(\)]{7,}$/, message}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name,
|
|
72
|
+
label,
|
|
73
|
+
type} as InputType,
|
|
74
|
+
placeholder,
|
|
75
|
+
rules, value, message}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name,
|
|
80
|
+
label,
|
|
81
|
+
type} as InputType,
|
|
82
|
+
placeholder,
|
|
83
|
+
rules, message},
|
|
84
|
+
{ type, value, message},
|
|
85
|
+
{ type, value, message}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name,
|
|
90
|
+
label,
|
|
91
|
+
type} as InputType,
|
|
92
|
+
placeholder,
|
|
93
|
+
rules, message},
|
|
94
|
+
{ type, value, message},
|
|
95
|
+
{ type, value=.*[a-z])(?=.*[A-Z])(?=.*\d)/, message, uppercase, and number' }
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name,
|
|
100
|
+
label,
|
|
101
|
+
type} as InputType,
|
|
102
|
+
placeholder,
|
|
103
|
+
rules, message},
|
|
104
|
+
{ type, message, validator)=> {
|
|
105
|
+
const passwordField = advancedFields.find(f => f.name === 'password')
|
|
106
|
+
const passwordValue = passwordField ? (document.getElementById('password') as HTMLInputElement)?.value === passwordValue
|
|
107
|
+
}}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
// Handle form submission
|
|
113
|
+
const handleFormSubmit = (formData, any>, formType) => {
|
|
114
|
+
const result = {
|
|
115
|
+
type,
|
|
116
|
+
data,
|
|
117
|
+
timestamp)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
setFormResults(prev => [result, ...prev.slice(0, 9)]) // Keep last 10 results
|
|
121
|
+
|
|
122
|
+
console.log(`${formType} form submitted, formData)
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Handle form validation change
|
|
126
|
+
const handleValidationChange = (isValid, formType) => {
|
|
127
|
+
console.log(`${formType} form validation, isValid ? 'Valid' )
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Clear form results
|
|
131
|
+
const clearResults = () => {
|
|
132
|
+
setFormResults([])
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Test form submission programmatically
|
|
136
|
+
const testFormSubmission = async (formType) => {
|
|
137
|
+
const formRef = formType === 'basic' ? basicFormRef ) {
|
|
138
|
+
try {
|
|
139
|
+
const result = await formRef.current.submit()
|
|
140
|
+
console.log(`${formType} form test submission, result)
|
|
141
|
+
} catch (error) {
|
|
142
|
+
console.error(`${formType} form test submission error, error)
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Test form validation programmatically
|
|
148
|
+
const testFormValidation = async (formType) => {
|
|
149
|
+
const formRef = formType === 'basic' ? basicFormRef ) {
|
|
150
|
+
try {
|
|
151
|
+
const isValid = await formRef.current.validate()
|
|
152
|
+
console.log(`${formType} form validation test, isValid ? 'Valid' )
|
|
153
|
+
} catch (error) {
|
|
154
|
+
console.error(`${formType} form validation test error, error)
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Test form reset programmatically
|
|
160
|
+
const testFormReset = (formType) => {
|
|
161
|
+
const formRef = formType === 'basic' ? basicFormRef ) {
|
|
162
|
+
formRef.current.reset()
|
|
163
|
+
console.log(`${formType} form reset`)
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return (
|
|
168
|
+
<div className="space-y-6">
|
|
169
|
+
{/* Header */}
|
|
170
|
+
<div className="text-center space-y-2">
|
|
171
|
+
<h1 className="text-3xl font-bold">📱 Mobile Form Validation Demo</h1>
|
|
172
|
+
<p className="text-gray-600">
|
|
173
|
+
Advanced form system with mobile validation, animated feedback, and performance optimization
|
|
174
|
+
</p>
|
|
175
|
+
<Badge variant="outline" className="text-sm">
|
|
176
|
+
Story 6}
|
|
177
|
+
<div className="flex justify-center">
|
|
178
|
+
<div className="flex items-center gap-2 p-3 bg-gray-50 rounded-lg">
|
|
179
|
+
<span className="text-sm font-medium">Enhanced Features={enableEnhancedFeatures ? 'default' }
|
|
180
|
+
size="sm"
|
|
181
|
+
onClick={() => setEnableEnhancedFeatures(!enableEnhancedFeatures)}
|
|
182
|
+
>
|
|
183
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
184
|
+
</Button>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
188
|
+
{/* Tab Navigation */}
|
|
189
|
+
<Tabs
|
|
190
|
+
tabs={[
|
|
191
|
+
{
|
|
192
|
+
id,
|
|
193
|
+
label,
|
|
194
|
+
content="space-y-4">
|
|
195
|
+
<Card>
|
|
196
|
+
<CardHeader>
|
|
197
|
+
<CardTitle className="flex items-center gap-2">
|
|
198
|
+
🚀 Basic Form Validation
|
|
199
|
+
<Badge variant="secondary">Simple Example</Badge>
|
|
200
|
+
</CardTitle>
|
|
201
|
+
<CardDescription>
|
|
202
|
+
Basic form with name and email validation. Demonstrates core validation features.
|
|
203
|
+
</CardDescription>
|
|
204
|
+
</CardHeader>
|
|
205
|
+
<CardContent className="space-y-4">
|
|
206
|
+
<MobileFormValidation
|
|
207
|
+
ref={basicFormRef}
|
|
208
|
+
title="Basic Contact Form"
|
|
209
|
+
description="Simple form with essential validation"
|
|
210
|
+
fields={basicFields}
|
|
211
|
+
onSubmit={(data) => handleFormSubmit(data, 'Basic')}
|
|
212
|
+
onValidationChange={(isValid) => handleValidationChange(isValid, 'Basic')}
|
|
213
|
+
enableEnhancedFeatures={enableEnhancedFeatures}
|
|
214
|
+
/>
|
|
215
|
+
|
|
216
|
+
{/* Test Controls */}
|
|
217
|
+
<div className="flex gap-2 pt-4 border-t">
|
|
218
|
+
<Button
|
|
219
|
+
variant="outline"
|
|
220
|
+
size="sm"
|
|
221
|
+
onClick={() => testFormSubmission('basic')}
|
|
222
|
+
>
|
|
223
|
+
Test Submit
|
|
224
|
+
</Button>
|
|
225
|
+
<Button
|
|
226
|
+
variant="outline"
|
|
227
|
+
size="sm"
|
|
228
|
+
onClick={() => testFormValidation('basic')}
|
|
229
|
+
>
|
|
230
|
+
Test Validation
|
|
231
|
+
</Button>
|
|
232
|
+
<Button
|
|
233
|
+
variant="outline"
|
|
234
|
+
size="sm"
|
|
235
|
+
onClick={() => testFormReset('basic')}
|
|
236
|
+
>
|
|
237
|
+
Test Reset
|
|
238
|
+
</Button>
|
|
239
|
+
</div>
|
|
240
|
+
</CardContent>
|
|
241
|
+
</Card>
|
|
242
|
+
</div>
|
|
243
|
+
)
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
id,
|
|
247
|
+
label,
|
|
248
|
+
content="space-y-4">
|
|
249
|
+
<Card>
|
|
250
|
+
<CardHeader>
|
|
251
|
+
<CardTitle className="flex items-center gap-2">
|
|
252
|
+
🎯 Advanced Form Validation
|
|
253
|
+
<Badge variant="default">Full Featured</Badge>
|
|
254
|
+
</CardTitle>
|
|
255
|
+
<CardDescription>
|
|
256
|
+
Comprehensive form with multiple field types, complex validation rules, and all features enabled.
|
|
257
|
+
</CardDescription>
|
|
258
|
+
</CardHeader>
|
|
259
|
+
<CardContent className="space-y-4">
|
|
260
|
+
<MobileFormValidation
|
|
261
|
+
ref={advancedFormRef}
|
|
262
|
+
title="Advanced Registration Form"
|
|
263
|
+
description="Complete form with all validation types and optimizations"
|
|
264
|
+
fields={advancedFields}
|
|
265
|
+
onSubmit={(data) => handleFormSubmit(data, 'Advanced')}
|
|
266
|
+
onValidationChange={(isValid) => handleValidationChange(isValid, 'Advanced')}
|
|
267
|
+
enableEnhancedFeatures={enableEnhancedFeatures}
|
|
268
|
+
/>
|
|
269
|
+
|
|
270
|
+
{/* Test Controls */}
|
|
271
|
+
<div className="flex gap-2 pt-4 border-t">
|
|
272
|
+
<Button
|
|
273
|
+
variant="outline"
|
|
274
|
+
size="sm"
|
|
275
|
+
onClick={() => testFormSubmission('advanced')}
|
|
276
|
+
>
|
|
277
|
+
Test Submit
|
|
278
|
+
</Button>
|
|
279
|
+
<Button
|
|
280
|
+
variant="outline"
|
|
281
|
+
size="sm"
|
|
282
|
+
onClick={() => testFormValidation('advanced')}
|
|
283
|
+
>
|
|
284
|
+
Test Validation
|
|
285
|
+
</Button>
|
|
286
|
+
<Button
|
|
287
|
+
variant="outline"
|
|
288
|
+
size="sm"
|
|
289
|
+
onClick={() => testFormReset('advanced')}
|
|
290
|
+
>
|
|
291
|
+
Test Reset
|
|
292
|
+
</Button>
|
|
293
|
+
</div>
|
|
294
|
+
</CardContent>
|
|
295
|
+
</Card>
|
|
296
|
+
</div>
|
|
297
|
+
)
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id,
|
|
301
|
+
label,
|
|
302
|
+
content="space-y-4">
|
|
303
|
+
<Card>
|
|
304
|
+
<CardHeader>
|
|
305
|
+
<CardTitle className="flex items-center gap-2">
|
|
306
|
+
⚡ Performance Monitoring
|
|
307
|
+
<Badge variant="outline">Real-time Metrics</Badge>
|
|
308
|
+
</CardTitle>
|
|
309
|
+
<CardDescription>
|
|
310
|
+
Monitor form performance, memory usage, battery status, and optimization scores.
|
|
311
|
+
</CardDescription>
|
|
312
|
+
</CardHeader>
|
|
313
|
+
<CardContent className="space-y-4">
|
|
314
|
+
<div className="grid grid-cols-1 md="space-y-3">
|
|
315
|
+
<h4 className="font-semibold">Performance Features</h4>
|
|
316
|
+
<div className="space-y-2 text-sm">
|
|
317
|
+
<div className="flex justify-between">
|
|
318
|
+
<span>Validation Throttling="default">Enabled</Badge>
|
|
319
|
+
</div>
|
|
320
|
+
<div className="flex justify-between">
|
|
321
|
+
<span>Touch Event Optimization={enableEnhancedFeatures ? 'default' }>
|
|
322
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
323
|
+
</Badge>
|
|
324
|
+
</div>
|
|
325
|
+
<div className="flex justify-between">
|
|
326
|
+
<span>Memory Management={enableEnhancedFeatures ? 'default' }>
|
|
327
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
328
|
+
</Badge>
|
|
329
|
+
</div>
|
|
330
|
+
<div className="flex justify-between">
|
|
331
|
+
<span>Battery Optimization={enableEnhancedFeatures ? 'default' }>
|
|
332
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
333
|
+
</Badge>
|
|
334
|
+
</div>
|
|
335
|
+
</div>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
<div className="space-y-3">
|
|
339
|
+
<h4 className="font-semibold">Optimization Benefits</h4>
|
|
340
|
+
<div className="space-y-2 text-sm text-gray-600">
|
|
341
|
+
<p>• Reduced validation frequency for better performance</p>
|
|
342
|
+
<p>• Touch event throttling for smooth mobile experience</p>
|
|
343
|
+
<p>• Automatic memory cleanup to prevent leaks</p>
|
|
344
|
+
<p>• Battery-aware optimizations for mobile devices</p>
|
|
345
|
+
<p>• Real-time performance scoring and recommendations</p>
|
|
346
|
+
</div>
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
349
|
+
|
|
350
|
+
<div className="p-4 bg-blue-50 border border-blue-200 rounded-lg">
|
|
351
|
+
<h4 className="font-semibold text-blue-800 mb-2">Performance Tips</h4>
|
|
352
|
+
<ul className="text-sm text-blue-700 space-y-1">
|
|
353
|
+
<li>• Use validation throttling to reduce unnecessary validations</li>
|
|
354
|
+
<li>• Enable touch event optimization for better mobile performance</li>
|
|
355
|
+
<li>• Monitor memory usage and enable cleanup when needed</li>
|
|
356
|
+
<li>• Enable battery optimization for mobile devices</li>
|
|
357
|
+
<li>• Check performance scores and apply recommendations</li>
|
|
358
|
+
</ul>
|
|
359
|
+
</div>
|
|
360
|
+
</CardContent>
|
|
361
|
+
</Card>
|
|
362
|
+
</div>
|
|
363
|
+
)
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
id,
|
|
367
|
+
label,
|
|
368
|
+
content="space-y-4">
|
|
369
|
+
<Card>
|
|
370
|
+
<CardHeader>
|
|
371
|
+
<CardTitle className="flex items-center gap-2">
|
|
372
|
+
🧠 Semantic Input Optimization
|
|
373
|
+
<Badge variant="outline">Smart Detection</Badge>
|
|
374
|
+
</CardTitle>
|
|
375
|
+
<CardDescription>
|
|
376
|
+
Automatic input type detection, mobile keyboard optimization, and enhanced autocomplete.
|
|
377
|
+
</CardDescription>
|
|
378
|
+
</CardHeader>
|
|
379
|
+
<CardContent className="space-y-4">
|
|
380
|
+
<div className="grid grid-cols-1 md="space-y-3">
|
|
381
|
+
<h4 className="font-semibold">Semantic Features</h4>
|
|
382
|
+
<div className="space-y-2 text-sm">
|
|
383
|
+
<div className="flex justify-between">
|
|
384
|
+
<span>Auto Type Detection="default">Enabled</Badge>
|
|
385
|
+
</div>
|
|
386
|
+
<div className="flex justify-between">
|
|
387
|
+
<span>Keyboard Optimization={enableEnhancedFeatures ? 'default' }>
|
|
388
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
389
|
+
</Badge>
|
|
390
|
+
</div>
|
|
391
|
+
<div className="flex justify-between">
|
|
392
|
+
<span>Autocomplete Enhancement={enableEnhancedFeatures ? 'default' }>
|
|
393
|
+
{enableEnhancedFeatures ? 'Enabled' }
|
|
394
|
+
</Badge>
|
|
395
|
+
</div>
|
|
396
|
+
<div className="flex justify-between">
|
|
397
|
+
<span>Touch Optimization="default">Enabled</Badge>
|
|
398
|
+
</div>
|
|
399
|
+
</div>
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<div className="space-y-3">
|
|
403
|
+
<h4 className="font-semibold">Detection Examples</h4>
|
|
404
|
+
<div className="space-y-2 text-sm text-gray-600">
|
|
405
|
+
<p>• <strong>Email, sets email keyboard</p>
|
|
406
|
+
<p>• <strong>Phone, sets phone keyboard</p>
|
|
407
|
+
<p>• <strong>URL, sets URL keyboard</p>
|
|
408
|
+
<p>• <strong>Search, optimizes input</p>
|
|
409
|
+
<p>• <strong>Number, sets numeric keyboard</p>
|
|
410
|
+
</div>
|
|
411
|
+
</div>
|
|
412
|
+
</div>
|
|
413
|
+
|
|
414
|
+
<div className="p-4 bg-green-50 border border-green-200 rounded-lg">
|
|
415
|
+
<h4 className="font-semibold text-green-800 mb-2">Semantic Benefits</h4>
|
|
416
|
+
<ul className="text-sm text-green-700 space-y-1">
|
|
417
|
+
<li>• Automatic input type detection based on field name and content</li>
|
|
418
|
+
<li>• Mobile keyboard optimization for better user experience</li>
|
|
419
|
+
<li>• Enhanced autocomplete with appropriate suggestions</li>
|
|
420
|
+
<li>• Touch-friendly input optimization</li>
|
|
421
|
+
<li>• Accessibility improvements with proper input modes</li>
|
|
422
|
+
</ul>
|
|
423
|
+
</div>
|
|
424
|
+
</CardContent>
|
|
425
|
+
</Card>
|
|
426
|
+
</div>
|
|
427
|
+
)
|
|
428
|
+
}
|
|
429
|
+
]}
|
|
430
|
+
activeTab={activeTab}
|
|
431
|
+
onTabChange={(tabId) => setActiveTab(tabId as 'basic' | 'advanced' | 'performance' | 'semantic')}
|
|
432
|
+
className="w-full"
|
|
433
|
+
/>
|
|
434
|
+
|
|
435
|
+
{/* Form Results */}
|
|
436
|
+
{formResults.length > 0 && (
|
|
437
|
+
<Card>
|
|
438
|
+
<CardHeader>
|
|
439
|
+
<CardTitle className="flex items-center gap-2">
|
|
440
|
+
📊 Form Submission Results
|
|
441
|
+
<Button
|
|
442
|
+
variant="outline"
|
|
443
|
+
size="sm"
|
|
444
|
+
onClick={clearResults}
|
|
445
|
+
>
|
|
446
|
+
Clear Results
|
|
447
|
+
</Button>
|
|
448
|
+
</CardTitle>
|
|
449
|
+
<CardDescription>
|
|
450
|
+
Recent form submissions and their data
|
|
451
|
+
</CardDescription>
|
|
452
|
+
</CardHeader>
|
|
453
|
+
<CardContent>
|
|
454
|
+
<div className="space-y-3 max-h-64 overflow-y-auto">
|
|
455
|
+
{formResults.map((result, index) => (
|
|
456
|
+
<div key={index} className="p-3 bg-gray-50 rounded-lg">
|
|
457
|
+
<div className="flex justify-between items-start mb-2">
|
|
458
|
+
<Badge variant="outline">{result.type}</Badge>
|
|
459
|
+
<span className="text-xs text-gray-500">
|
|
460
|
+
{result.timestamp.toLocaleTimeString()}
|
|
461
|
+
</span>
|
|
462
|
+
</div>
|
|
463
|
+
<pre className="text-xs bg-white p-2 rounded border overflow-x-auto">
|
|
464
|
+
{JSON.stringify(result.data, null, 2)}
|
|
465
|
+
</pre>
|
|
466
|
+
</div>
|
|
467
|
+
))}
|
|
468
|
+
</div>
|
|
469
|
+
</CardContent>
|
|
470
|
+
</Card>
|
|
471
|
+
)}
|
|
472
|
+
|
|
473
|
+
{/* Feature Summary */}
|
|
474
|
+
<Card>
|
|
475
|
+
<CardHeader>
|
|
476
|
+
<CardTitle>🎯 Story 6 Implementation Summary</CardTitle>
|
|
477
|
+
<CardDescription>
|
|
478
|
+
Complete mobile form validation system with all requested features
|
|
479
|
+
</CardDescription>
|
|
480
|
+
</CardHeader>
|
|
481
|
+
<CardContent>
|
|
482
|
+
<div className="grid grid-cols-1 md="space-y-3">
|
|
483
|
+
<h4 className="font-semibold">✅ Completed Features</h4>
|
|
484
|
+
<ul className="text-sm space-y-1 text-gray-600">
|
|
485
|
+
<li>• Mobile form validation system</li>
|
|
486
|
+
<li>• Animated success/error states</li>
|
|
487
|
+
<li>• Touch-friendly form layouts</li>
|
|
488
|
+
<li>• Semantic input optimization</li>
|
|
489
|
+
<li>• Performance-optimized validation</li>
|
|
490
|
+
<li>• Haptic feedback and touch sounds</li>
|
|
491
|
+
<li>• Battery-aware optimizations</li>
|
|
492
|
+
<li>• Memory management and cleanup</li>
|
|
493
|
+
</ul>
|
|
494
|
+
</div>
|
|
495
|
+
|
|
496
|
+
<div className="space-y-3">
|
|
497
|
+
<h4 className="font-semibold">🚀 Advanced Capabilities</h4>
|
|
498
|
+
<ul className="text-sm space-y-1 text-gray-600">
|
|
499
|
+
<li>• Real-time performance monitoring</li>
|
|
500
|
+
<li>• Automatic input type detection</li>
|
|
501
|
+
<li>• Mobile keyboard optimization</li>
|
|
502
|
+
<li>• Touch event throttling</li>
|
|
503
|
+
<li>• Responsive layout adaptation</li>
|
|
504
|
+
<li>• Accessibility enhancements</li>
|
|
505
|
+
<li>• Performance scoring system</li>
|
|
506
|
+
<li>• Optimization recommendations</li>
|
|
507
|
+
</ul>
|
|
508
|
+
</div>
|
|
509
|
+
</div>
|
|
510
|
+
</CardContent>
|
|
511
|
+
</Card>
|
|
512
|
+
</div>
|
|
513
|
+
)
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export default FormDemo
|