@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,336 @@
|
|
|
1
|
+
export class TokenExporter {
|
|
2
|
+
|
|
3
|
+
static exportTokens(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
4
|
+
switch (options.format) {
|
|
5
|
+
case 'json':
|
|
6
|
+
return this.exportAsJSON(tokens, options);
|
|
7
|
+
case 'css':
|
|
8
|
+
return this.exportAsCSS(tokens, options);
|
|
9
|
+
case 'scss':
|
|
10
|
+
return this.exportAsSCSS(tokens, options);
|
|
11
|
+
case 'js':
|
|
12
|
+
return this.exportAsJS(tokens, options);
|
|
13
|
+
case 'ts':
|
|
14
|
+
return this.exportAsTS(tokens, options);
|
|
15
|
+
default:
|
|
16
|
+
throw new Error(`Unsupported export format: ${options.format}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
private static exportAsJSON(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
21
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
22
|
+
return JSON.stringify(exportData, null, 2);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private static exportAsCSS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
26
|
+
let css = '';
|
|
27
|
+
|
|
28
|
+
if (options.includeComments) {
|
|
29
|
+
css += `/* ${tokens.theme} Design Tokens - v${tokens.version} */\n`;
|
|
30
|
+
css += `/* Generated on: ${new Date().toISOString()} */\n\n`;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
css += `:root {\n`;
|
|
34
|
+
|
|
35
|
+
// Export color tokens
|
|
36
|
+
if (tokens.tokens.color) {
|
|
37
|
+
css += this.exportColorTokensAsCSS(tokens.tokens.color, 2);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Export font tokens
|
|
41
|
+
if (tokens.tokens.font) {
|
|
42
|
+
css += this.exportFontTokensAsCSS(tokens.tokens.font, 2);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Export spacing tokens
|
|
46
|
+
if (tokens.tokens.spacing) {
|
|
47
|
+
css += this.exportSpacingTokensAsCSS(tokens.tokens.spacing, 2);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Export shadow tokens
|
|
51
|
+
if (tokens.tokens.shadow) {
|
|
52
|
+
css += this.exportShadowTokensAsCSS(tokens.tokens.shadow, 2);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Export transition tokens
|
|
56
|
+
if (tokens.tokens.transition) {
|
|
57
|
+
css += this.exportTransitionTokensAsCSS(tokens.tokens.transition, 2);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Export breakpoint tokens
|
|
61
|
+
if (tokens.tokens.breakpoint) {
|
|
62
|
+
css += this.exportBreakpointTokensAsCSS(tokens.tokens.breakpoint, 2);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
css += `}\n`;
|
|
66
|
+
return css;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private static exportColorTokensAsCSS(colorTokens: any, indent: number): string {
|
|
70
|
+
let css = '';
|
|
71
|
+
const spaces = ' '.repeat(indent);
|
|
72
|
+
|
|
73
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens]: [string, any]) => {
|
|
74
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
75
|
+
// Single token
|
|
76
|
+
css += `${spaces}--color-${category}: ${categoryTokens.value};\n`;
|
|
77
|
+
} else if (typeof categoryTokens === 'object') {
|
|
78
|
+
// Token group
|
|
79
|
+
Object.entries(categoryTokens).forEach(([shade, token]: [string, any]) => {
|
|
80
|
+
if (token && typeof token === 'object' && token.value) {
|
|
81
|
+
css += `${spaces}--color-${category}-${shade}: ${token.value};\n`;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
return css;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private static exportFontTokensAsCSS(fontTokens: any, indent: number): string {
|
|
91
|
+
let css = '';
|
|
92
|
+
const spaces = ' '.repeat(indent);
|
|
93
|
+
|
|
94
|
+
Object.entries(fontTokens).forEach(([name, token]: [string, any]) => {
|
|
95
|
+
if (token && typeof token === 'object' && token.value) {
|
|
96
|
+
const cssVarName = this.getFontCSSVarName(name, token.type);
|
|
97
|
+
css += `${spaces}--font-${cssVarName}: ${token.value};\n`;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
return css;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
private static getFontCSSVarName(name: string, type: string): string {
|
|
105
|
+
if (type === 'fontFamily') {
|
|
106
|
+
return name;
|
|
107
|
+
}
|
|
108
|
+
if (type === 'fontSize') {
|
|
109
|
+
return name.replace('size-', 'size-');
|
|
110
|
+
}
|
|
111
|
+
if (type === 'fontWeight') {
|
|
112
|
+
return name.replace('weight-', 'weight-');
|
|
113
|
+
}
|
|
114
|
+
if (type === 'lineHeight') {
|
|
115
|
+
return name.replace('line-height-', 'line-height-');
|
|
116
|
+
}
|
|
117
|
+
return name;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private static exportSpacingTokensAsCSS(spacingTokens: any, indent: number): string {
|
|
121
|
+
let css = '';
|
|
122
|
+
const spaces = ' '.repeat(indent);
|
|
123
|
+
|
|
124
|
+
Object.entries(spacingTokens).forEach(([scale, token]: [string, any]) => {
|
|
125
|
+
if (token && typeof token === 'object' && token.value) {
|
|
126
|
+
css += `${spaces}--spacing-${scale}: ${token.value}px;\n`;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
return css;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
private static exportShadowTokensAsCSS(shadowTokens: any, indent: number): string {
|
|
134
|
+
let css = '';
|
|
135
|
+
const spaces = ' '.repeat(indent);
|
|
136
|
+
|
|
137
|
+
Object.entries(shadowTokens).forEach(([elevation, token]: [string, any]) => {
|
|
138
|
+
if (token && typeof token === 'object' && token.value) {
|
|
139
|
+
css += `${spaces}--shadow-${elevation}: ${token.value};\n`;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
return css;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private static exportTransitionTokensAsCSS(transitionTokens: any, indent: number): string {
|
|
147
|
+
let css = '';
|
|
148
|
+
const spaces = ' '.repeat(indent);
|
|
149
|
+
|
|
150
|
+
Object.entries(transitionTokens).forEach(([name, token]: [string, any]) => {
|
|
151
|
+
if (token && typeof token === 'object' && token.value) {
|
|
152
|
+
css += `${spaces}--transition-${name}: ${token.value};\n`;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
return css;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
private static exportBreakpointTokensAsCSS(breakpointTokens: any, indent: number): string {
|
|
160
|
+
let css = '';
|
|
161
|
+
const spaces = ' '.repeat(indent);
|
|
162
|
+
|
|
163
|
+
Object.entries(breakpointTokens).forEach(([name, token]: [string, any]) => {
|
|
164
|
+
if (token && typeof token === 'object' && token.value) {
|
|
165
|
+
css += `${spaces}--breakpoint-${name}: ${token.value}px;\n`;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
return css;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
private static exportAsSCSS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
173
|
+
let scss = '';
|
|
174
|
+
|
|
175
|
+
if (options.includeComments) {
|
|
176
|
+
scss += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
177
|
+
scss += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Export color tokens
|
|
181
|
+
if (tokens.tokens.color) {
|
|
182
|
+
scss += this.exportColorTokensAsSCSS(tokens.tokens.color);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Export font tokens
|
|
186
|
+
if (tokens.tokens.font) {
|
|
187
|
+
scss += this.exportFontTokensAsSCSS(tokens.tokens.font);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Export spacing tokens
|
|
191
|
+
if (tokens.tokens.spacing) {
|
|
192
|
+
scss += this.exportSpacingTokensAsSCSS(tokens.tokens.spacing);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Export shadow tokens
|
|
196
|
+
if (tokens.tokens.shadow) {
|
|
197
|
+
scss += this.exportShadowTokensAsSCSS(tokens.tokens.shadow);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// Export transition tokens
|
|
201
|
+
if (tokens.tokens.transition) {
|
|
202
|
+
scss += this.exportTransitionTokensAsSCSS(tokens.tokens.transition);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Export breakpoint tokens
|
|
206
|
+
if (tokens.tokens.breakpoint) {
|
|
207
|
+
scss += this.exportBreakpointTokensAsSCSS(tokens.tokens.breakpoint);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return scss;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
private static exportColorTokensAsSCSS(colorTokens: any): string {
|
|
214
|
+
let scss = '\n// Color Tokens\n';
|
|
215
|
+
|
|
216
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens]: [string, any]) => {
|
|
217
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
218
|
+
// Single token
|
|
219
|
+
scss += `$color-${category}: ${categoryTokens.value};\n`;
|
|
220
|
+
} else if (typeof categoryTokens === 'object') {
|
|
221
|
+
// Token group
|
|
222
|
+
Object.entries(categoryTokens).forEach(([shade, token]: [string, any]) => {
|
|
223
|
+
if (token && typeof token === 'object' && token.value) {
|
|
224
|
+
scss += `$color-${category}-${shade}: ${token.value};\n`;
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
return scss;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
private static exportFontTokensAsSCSS(fontTokens: any): string {
|
|
234
|
+
let scss = '\n// Font Tokens\n';
|
|
235
|
+
|
|
236
|
+
Object.entries(fontTokens).forEach(([name, token]: [string, any]) => {
|
|
237
|
+
if (token && typeof token === 'object' && token.value) {
|
|
238
|
+
const scssVarName = this.getFontSCSSVarName(name, token.type);
|
|
239
|
+
scss += `$font-${scssVarName}: ${token.value};\n`;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
return scss;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
private static getFontSCSSVarName(name: string, type: string): string {
|
|
247
|
+
if (type === 'fontFamily') {
|
|
248
|
+
return name;
|
|
249
|
+
}
|
|
250
|
+
if (type === 'fontSize') {
|
|
251
|
+
return name.replace('size-', 'size-');
|
|
252
|
+
}
|
|
253
|
+
if (type === 'fontWeight') {
|
|
254
|
+
return name.replace('weight-', 'weight-');
|
|
255
|
+
}
|
|
256
|
+
if (type === 'lineHeight') {
|
|
257
|
+
return name.replace('line-height-', 'line-height-');
|
|
258
|
+
}
|
|
259
|
+
return name;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
private static exportSpacingTokensAsSCSS(spacingTokens: any): string {
|
|
263
|
+
let scss = '\n// Spacing Tokens\n';
|
|
264
|
+
|
|
265
|
+
Object.entries(spacingTokens).forEach(([scale, token]: [string, any]) => {
|
|
266
|
+
if (token && typeof token === 'object' && token.value) {
|
|
267
|
+
scss += `$spacing-${scale}: ${token.value}px;\n`;
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
return scss;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
private static exportShadowTokensAsSCSS(shadowTokens: any): string {
|
|
275
|
+
let scss = '\n// Shadow Tokens\n';
|
|
276
|
+
|
|
277
|
+
Object.entries(shadowTokens).forEach(([elevation, token]: [string, any]) => {
|
|
278
|
+
if (token && typeof token === 'object' && token.value) {
|
|
279
|
+
scss += `$shadow-${elevation}: ${token.value};\n`;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
return scss;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
private static exportTransitionTokensAsSCSS(transitionTokens: any): string {
|
|
287
|
+
let scss = '\n// Transition Tokens\n';
|
|
288
|
+
|
|
289
|
+
Object.entries(transitionTokens).forEach(([name, token]: [string, any]) => {
|
|
290
|
+
if (token && typeof token === 'object' && token.value) {
|
|
291
|
+
scss += `$transition-${name}: ${token.value};\n`;
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
return scss;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
private static exportBreakpointTokensAsSCSS(breakpointTokens: any): string {
|
|
299
|
+
let scss = '\n// Breakpoint Tokens\n';
|
|
300
|
+
|
|
301
|
+
Object.entries(breakpointTokens).forEach(([name, token]: [string, any]) => {
|
|
302
|
+
if (token && typeof token === 'object' && token.value) {
|
|
303
|
+
scss += `$breakpoint-${name}: ${token.value}px;\n`;
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
return scss;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
private static exportAsJS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
311
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
312
|
+
let js = '';
|
|
313
|
+
|
|
314
|
+
if (options.includeComments) {
|
|
315
|
+
js += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
316
|
+
js += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
js += `module.exports = ${JSON.stringify(exportData, null, 2)};\n`;
|
|
320
|
+
return js;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
private static exportAsTS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
324
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
325
|
+
let ts = '';
|
|
326
|
+
|
|
327
|
+
if (options.includeComments) {
|
|
328
|
+
ts += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
329
|
+
ts += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
ts += `export declare const tokens: ${JSON.stringify(exportData, null, 2)} as const;\n`;
|
|
333
|
+
ts += `export type Tokens = typeof tokens;\n`;
|
|
334
|
+
return ts;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export class TokenExporter {
|
|
4
|
+
/**
|
|
5
|
+
* Exports tokens in the specified format
|
|
6
|
+
*/
|
|
7
|
+
static exportTokens(tokens, options)) {
|
|
8
|
+
case 'json', options);
|
|
9
|
+
case 'css', options);
|
|
10
|
+
case 'scss', options);
|
|
11
|
+
case 'js', options);
|
|
12
|
+
case 'ts', options);
|
|
13
|
+
default}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Exports tokens as JSON
|
|
19
|
+
*/
|
|
20
|
+
private static exportAsJSON(tokens, options)= options.includeMetadata ? tokens ;
|
|
21
|
+
return JSON.stringify(exportData, null, 2);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Exports tokens as CSS custom properties
|
|
26
|
+
*/
|
|
27
|
+
private static exportAsCSS(tokens, options)= '';
|
|
28
|
+
|
|
29
|
+
if (options.includeComments) {
|
|
30
|
+
css += `/* ${tokens.theme} Design Tokens - v${tokens.version} */\n`;
|
|
31
|
+
css += `/* Generated on).toISOString()} */\n\n`;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
css += `;
|
|
35
|
+
|
|
36
|
+
// Export color tokens
|
|
37
|
+
if (tokens.tokens.color) {
|
|
38
|
+
css += this.exportColorTokensAsCSS(tokens.tokens.color, 2);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Export font tokens
|
|
42
|
+
if (tokens.tokens.font) {
|
|
43
|
+
css += this.exportFontTokensAsCSS(tokens.tokens.font, 2);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Export spacing tokens
|
|
47
|
+
if (tokens.tokens.spacing) {
|
|
48
|
+
css += this.exportSpacingTokensAsCSS(tokens.tokens.spacing, 2);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Export shadow tokens
|
|
52
|
+
if (tokens.tokens.shadow) {
|
|
53
|
+
css += this.exportShadowTokensAsCSS(tokens.tokens.shadow, 2);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Export transition tokens
|
|
57
|
+
if (tokens.tokens.transition) {
|
|
58
|
+
css += this.exportTransitionTokensAsCSS(tokens.tokens.transition, 2);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Export breakpoint tokens
|
|
62
|
+
if (tokens.tokens.breakpoint) {
|
|
63
|
+
css += this.exportBreakpointTokensAsCSS(tokens.tokens.breakpoint, 2);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
css += `}\n`;
|
|
67
|
+
return css;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Exports color tokens as CSS custom properties
|
|
72
|
+
*/
|
|
73
|
+
private static exportColorTokensAsCSS(colorTokens, indent)= '';
|
|
74
|
+
const spaces = ' '.repeat(indent);
|
|
75
|
+
|
|
76
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens], any]) => {
|
|
77
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
78
|
+
// Single token
|
|
79
|
+
css += `${spaces}--color-${category}};\n`;
|
|
80
|
+
} else if (typeof categoryTokens === 'object') {
|
|
81
|
+
// Token group
|
|
82
|
+
Object.entries(categoryTokens).forEach(([shade, token], any]) => {
|
|
83
|
+
if (token && typeof token === 'object' && token.value) {
|
|
84
|
+
css += `${spaces}--color-${category}-${shade}};\n`;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
return css;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Exports font tokens as CSS custom properties
|
|
95
|
+
*/
|
|
96
|
+
private static exportFontTokensAsCSS(fontTokens, indent)= '';
|
|
97
|
+
const spaces = ' '.repeat(indent);
|
|
98
|
+
|
|
99
|
+
Object.entries(fontTokens).forEach(([name, token], any]) => {
|
|
100
|
+
if (token && typeof token === 'object' && token.value) {
|
|
101
|
+
const cssVarName = this.getFontCSSVarName(name, token.type);
|
|
102
|
+
css += `${spaces}--font-${cssVarName}};\n`;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
return css;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Gets the CSS variable name for font tokens
|
|
111
|
+
*/
|
|
112
|
+
private static getFontCSSVarName(name, type)=== 'fontFamily') {
|
|
113
|
+
return name;
|
|
114
|
+
}
|
|
115
|
+
if (type === 'fontSize') {
|
|
116
|
+
return name.replace('size-', 'size-');
|
|
117
|
+
}
|
|
118
|
+
if (type === 'fontWeight') {
|
|
119
|
+
return name.replace('weight-', 'weight-');
|
|
120
|
+
}
|
|
121
|
+
if (type === 'lineHeight') {
|
|
122
|
+
return name.replace('line-height-', 'line-height-');
|
|
123
|
+
}
|
|
124
|
+
return name;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Exports spacing tokens as CSS custom properties
|
|
129
|
+
*/
|
|
130
|
+
private static exportSpacingTokensAsCSS(spacingTokens, indent)= '';
|
|
131
|
+
const spaces = ' '.repeat(indent);
|
|
132
|
+
|
|
133
|
+
Object.entries(spacingTokens).forEach(([scale, token], any]) => {
|
|
134
|
+
if (token && typeof token === 'object' && token.value) {
|
|
135
|
+
css += `${spaces}--spacing-${scale}}px;\n`;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
return css;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Exports shadow tokens as CSS custom properties
|
|
144
|
+
*/
|
|
145
|
+
private static exportShadowTokensAsCSS(shadowTokens, indent)= '';
|
|
146
|
+
const spaces = ' '.repeat(indent);
|
|
147
|
+
|
|
148
|
+
Object.entries(shadowTokens).forEach(([elevation, token], any]) => {
|
|
149
|
+
if (token && typeof token === 'object' && token.value) {
|
|
150
|
+
css += `${spaces}--shadow-${elevation}};\n`;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
return css;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Exports transition tokens as CSS custom properties
|
|
159
|
+
*/
|
|
160
|
+
private static exportTransitionTokensAsCSS(transitionTokens, indent)= '';
|
|
161
|
+
const spaces = ' '.repeat(indent);
|
|
162
|
+
|
|
163
|
+
Object.entries(transitionTokens).forEach(([name, token], any]) => {
|
|
164
|
+
if (token && typeof token === 'object' && token.value) {
|
|
165
|
+
css += `${spaces}--transition-${name}};\n`;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
return css;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Exports breakpoint tokens as CSS custom properties
|
|
174
|
+
*/
|
|
175
|
+
private static exportBreakpointTokensAsCSS(breakpointTokens, indent)= '';
|
|
176
|
+
const spaces = ' '.repeat(indent);
|
|
177
|
+
|
|
178
|
+
Object.entries(breakpointTokens).forEach(([name, token], any]) => {
|
|
179
|
+
if (token && typeof token === 'object' && token.value) {
|
|
180
|
+
css += `${spaces}--breakpoint-${name}}px;\n`;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
return css;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Exports tokens as SCSS variables
|
|
189
|
+
*/
|
|
190
|
+
private static exportAsSCSS(tokens, options)= '';
|
|
191
|
+
|
|
192
|
+
if (options.includeComments) {
|
|
193
|
+
scss += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
194
|
+
scss += `// Generated on).toISOString()}\n\n`;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Export color tokens
|
|
198
|
+
if (tokens.tokens.color) {
|
|
199
|
+
scss += this.exportColorTokensAsSCSS(tokens.tokens.color);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Export font tokens
|
|
203
|
+
if (tokens.tokens.font) {
|
|
204
|
+
scss += this.exportFontTokensAsSCSS(tokens.tokens.font);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Export spacing tokens
|
|
208
|
+
if (tokens.tokens.spacing) {
|
|
209
|
+
scss += this.exportSpacingTokensAsSCSS(tokens.tokens.spacing);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Export shadow tokens
|
|
213
|
+
if (tokens.tokens.shadow) {
|
|
214
|
+
scss += this.exportShadowTokensAsSCSS(tokens.tokens.shadow);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Export transition tokens
|
|
218
|
+
if (tokens.tokens.transition) {
|
|
219
|
+
scss += this.exportTransitionTokensAsSCSS(tokens.tokens.transition);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Export breakpoint tokens
|
|
223
|
+
if (tokens.tokens.breakpoint) {
|
|
224
|
+
scss += this.exportBreakpointTokensAsSCSS(tokens.tokens.breakpoint);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return scss;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Exports color tokens as SCSS variables
|
|
232
|
+
*/
|
|
233
|
+
private static exportColorTokensAsSCSS(colorTokens)= '\n// Color Tokens\n';
|
|
234
|
+
|
|
235
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens], any]) => {
|
|
236
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
237
|
+
// Single token
|
|
238
|
+
scss += `$color-${category}};\n`;
|
|
239
|
+
} else if (typeof categoryTokens === 'object') {
|
|
240
|
+
// Token group
|
|
241
|
+
Object.entries(categoryTokens).forEach(([shade, token], any]) => {
|
|
242
|
+
if (token && typeof token === 'object' && token.value) {
|
|
243
|
+
scss += `$color-${category}-${shade}};\n`;
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
return scss;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Exports font tokens as SCSS variables
|
|
254
|
+
*/
|
|
255
|
+
private static exportFontTokensAsSCSS(fontTokens)= '\n// Font Tokens\n';
|
|
256
|
+
|
|
257
|
+
Object.entries(fontTokens).forEach(([name, token], any]) => {
|
|
258
|
+
if (token && typeof token === 'object' && token.value) {
|
|
259
|
+
const scssVarName = this.getFontSCSSVarName(name, token.type);
|
|
260
|
+
scss += `$font-${scssVarName}};\n`;
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
return scss;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Gets the SCSS variable name for font tokens
|
|
269
|
+
*/
|
|
270
|
+
private static getFontSCSSVarName(name, type)=== 'fontFamily') {
|
|
271
|
+
return name;
|
|
272
|
+
}
|
|
273
|
+
if (type === 'fontSize') {
|
|
274
|
+
return name.replace('size-', 'size-');
|
|
275
|
+
}
|
|
276
|
+
if (type === 'fontWeight') {
|
|
277
|
+
return name.replace('weight-', 'weight-');
|
|
278
|
+
}
|
|
279
|
+
if (type === 'lineHeight') {
|
|
280
|
+
return name.replace('line-height-', 'line-height-');
|
|
281
|
+
}
|
|
282
|
+
return name;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Exports spacing tokens as SCSS variables
|
|
287
|
+
*/
|
|
288
|
+
private static exportSpacingTokensAsSCSS(spacingTokens)= '\n// Spacing Tokens\n';
|
|
289
|
+
|
|
290
|
+
Object.entries(spacingTokens).forEach(([scale, token], any]) => {
|
|
291
|
+
if (token && typeof token === 'object' && token.value) {
|
|
292
|
+
scss += `$spacing-${scale}}px;\n`;
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
return scss;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Exports shadow tokens as SCSS variables
|
|
301
|
+
*/
|
|
302
|
+
private static exportShadowTokensAsSCSS(shadowTokens)= '\n// Shadow Tokens\n';
|
|
303
|
+
|
|
304
|
+
Object.entries(shadowTokens).forEach(([elevation, token], any]) => {
|
|
305
|
+
if (token && typeof token === 'object' && token.value) {
|
|
306
|
+
scss += `$shadow-${elevation}};\n`;
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
return scss;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Exports transition tokens as SCSS variables
|
|
315
|
+
*/
|
|
316
|
+
private static exportTransitionTokensAsSCSS(transitionTokens)= '\n// Transition Tokens\n';
|
|
317
|
+
|
|
318
|
+
Object.entries(transitionTokens).forEach(([name, token], any]) => {
|
|
319
|
+
if (token && typeof token === 'object' && token.value) {
|
|
320
|
+
scss += `$transition-${name}};\n`;
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
return scss;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Exports breakpoint tokens as SCSS variables
|
|
329
|
+
*/
|
|
330
|
+
private static exportBreakpointTokensAsSCSS(breakpointTokens)= '\n// Breakpoint Tokens\n';
|
|
331
|
+
|
|
332
|
+
Object.entries(breakpointTokens).forEach(([name, token], any]) => {
|
|
333
|
+
if (token && typeof token === 'object' && token.value) {
|
|
334
|
+
scss += `$breakpoint-${name}}px;\n`;
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
return scss;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Exports tokens as JavaScript object
|
|
343
|
+
*/
|
|
344
|
+
private static exportAsJS(tokens, options)= options.includeMetadata ? tokens ;
|
|
345
|
+
let js = '';
|
|
346
|
+
|
|
347
|
+
if (options.includeComments) {
|
|
348
|
+
js += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
349
|
+
js += `// Generated on).toISOString()}\n\n`;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
js += `module.exports = ${JSON.stringify(exportData, null, 2)};\n`;
|
|
353
|
+
return js;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Exports tokens as TypeScript object
|
|
358
|
+
*/
|
|
359
|
+
private static exportAsTS(tokens, options)= options.includeMetadata ? tokens ;
|
|
360
|
+
let ts = '';
|
|
361
|
+
|
|
362
|
+
if (options.includeComments) {
|
|
363
|
+
ts += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
364
|
+
ts += `// Generated on).toISOString()}\n\n`;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
ts += `export const tokens = ${JSON.stringify(exportData, null, 2)} as const;\n`;
|
|
368
|
+
ts += `\n`;
|
|
369
|
+
return ts;
|
|
370
|
+
}
|
|
371
|
+
}
|