@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.10 → 0.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/dist/components/ui/accessibility-demo.esm.js +80 -258
- package/dist/components/ui/accessibility-demo.js +80 -258
- package/dist/components/ui/advanced-component-architecture-demo.esm.js +256 -916
- package/dist/components/ui/advanced-component-architecture-demo.js +256 -916
- package/dist/components/ui/advanced-transition-system-demo.esm.js +59 -670
- package/dist/components/ui/advanced-transition-system-demo.js +59 -670
- package/dist/components/ui/advanced-transition-system.esm.js +194 -378
- package/dist/components/ui/advanced-transition-system.js +194 -378
- package/dist/components/ui/animation/animated-container.esm.js +98 -159
- package/dist/components/ui/animation/animated-container.js +98 -159
- package/dist/components/ui/animation/index.esm.js +3 -18
- package/dist/components/ui/animation/index.js +3 -18
- package/dist/components/ui/animation/staggered-container.esm.js +37 -68
- package/dist/components/ui/animation/staggered-container.js +37 -68
- package/dist/components/ui/animation-demo.esm.js +30 -250
- package/dist/components/ui/animation-demo.js +30 -250
- package/dist/components/ui/badge.esm.js +15 -28
- package/dist/components/ui/badge.js +15 -28
- package/dist/components/ui/battery-conscious-animation-demo.esm.js +136 -565
- package/dist/components/ui/battery-conscious-animation-demo.js +136 -565
- package/dist/components/ui/border-radius-shadow-demo.esm.js +3 -184
- package/dist/components/ui/border-radius-shadow-demo.js +3 -184
- package/dist/components/ui/button.esm.js +14 -33
- package/dist/components/ui/button.js +14 -33
- package/dist/components/ui/card.esm.js +74 -188
- package/dist/components/ui/card.js +74 -188
- package/dist/components/ui/checkbox.esm.js +11 -30
- package/dist/components/ui/checkbox.js +11 -30
- package/dist/components/ui/color-preview.esm.js +50 -405
- package/dist/components/ui/color-preview.js +50 -405
- package/dist/components/ui/data-display/chart.esm.js +210 -632
- package/dist/components/ui/data-display/chart.js +210 -632
- package/dist/components/ui/data-display/data-grid-simple.esm.js +16 -74
- package/dist/components/ui/data-display/data-grid-simple.js +16 -74
- package/dist/components/ui/data-display/data-grid.esm.js +173 -661
- package/dist/components/ui/data-display/data-grid.js +173 -661
- package/dist/components/ui/data-display/list.esm.js +88 -446
- package/dist/components/ui/data-display/list.js +88 -446
- package/dist/components/ui/data-display/table.esm.js +109 -468
- package/dist/components/ui/data-display/table.js +109 -468
- package/dist/components/ui/data-display/timeline.esm.js +92 -431
- package/dist/components/ui/data-display/timeline.js +92 -431
- package/dist/components/ui/data-display/tree.esm.js +211 -585
- package/dist/components/ui/data-display/tree.js +211 -585
- package/dist/components/ui/data-display/types.esm.js +1 -530
- package/dist/components/ui/data-display/types.js +1 -530
- package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +76 -749
- package/dist/components/ui/enterprise-mobile-experience-demo.js +76 -749
- package/dist/components/ui/enterprise-mobile-experience.esm.js +152 -460
- package/dist/components/ui/enterprise-mobile-experience.js +152 -460
- package/dist/components/ui/feedback/alert.esm.js +40 -148
- package/dist/components/ui/feedback/alert.js +40 -148
- package/dist/components/ui/feedback/progress.esm.js +74 -278
- package/dist/components/ui/feedback/progress.js +74 -278
- package/dist/components/ui/feedback/skeleton.esm.js +64 -173
- package/dist/components/ui/feedback/skeleton.js +64 -173
- package/dist/components/ui/feedback/toast.esm.js +86 -225
- package/dist/components/ui/feedback/toast.js +86 -225
- package/dist/components/ui/feedback/types.esm.js +1 -125
- package/dist/components/ui/feedback/types.js +1 -125
- package/dist/components/ui/font-preview.esm.js +56 -283
- package/dist/components/ui/font-preview.js +56 -283
- package/dist/components/ui/form-demo.esm.js +191 -553
- package/dist/components/ui/form-demo.js +191 -553
- package/dist/components/ui/hardware-acceleration-demo.esm.js +103 -544
- package/dist/components/ui/hardware-acceleration-demo.js +103 -544
- package/dist/components/ui/input.esm.js +13 -32
- package/dist/components/ui/input.js +13 -32
- package/dist/components/ui/label.esm.js +6 -16
- package/dist/components/ui/label.js +6 -16
- package/dist/components/ui/layout-demo.esm.js +76 -367
- package/dist/components/ui/layout-demo.js +76 -367
- package/dist/components/ui/layouts/adaptive-layout.esm.js +60 -139
- package/dist/components/ui/layouts/adaptive-layout.js +60 -139
- package/dist/components/ui/layouts/desktop-layout.esm.js +39 -224
- package/dist/components/ui/layouts/desktop-layout.js +39 -224
- package/dist/components/ui/layouts/index.esm.js +4 -10
- package/dist/components/ui/layouts/index.js +4 -10
- package/dist/components/ui/layouts/mobile-layout.esm.js +49 -162
- package/dist/components/ui/layouts/mobile-layout.js +49 -162
- package/dist/components/ui/layouts/tablet-layout.esm.js +53 -197
- package/dist/components/ui/layouts/tablet-layout.js +53 -197
- package/dist/components/ui/mobile-form-validation.esm.js +185 -420
- package/dist/components/ui/mobile-form-validation.js +185 -420
- package/dist/components/ui/mobile-input-demo.esm.js +11 -198
- package/dist/components/ui/mobile-input-demo.js +11 -198
- package/dist/components/ui/mobile-input.esm.js +187 -270
- package/dist/components/ui/mobile-input.js +187 -270
- package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +144 -638
- package/dist/components/ui/mobile-skeleton-loading-demo.js +144 -638
- package/dist/components/ui/navigation/breadcrumb.esm.js +51 -154
- package/dist/components/ui/navigation/breadcrumb.js +51 -154
- package/dist/components/ui/navigation/index.esm.js +0 -26
- package/dist/components/ui/navigation/index.js +0 -26
- package/dist/components/ui/navigation/menu.esm.js +178 -365
- package/dist/components/ui/navigation/menu.js +178 -365
- package/dist/components/ui/navigation/navigation-demo.esm.js +130 -315
- package/dist/components/ui/navigation/navigation-demo.js +130 -315
- package/dist/components/ui/navigation/pagination.esm.js +142 -264
- package/dist/components/ui/navigation/pagination.js +142 -264
- package/dist/components/ui/navigation/sidebar.esm.js +156 -368
- package/dist/components/ui/navigation/sidebar.js +156 -368
- package/dist/components/ui/navigation/stepper.esm.js +131 -295
- package/dist/components/ui/navigation/stepper.js +131 -295
- package/dist/components/ui/navigation/tabs.esm.js +89 -198
- package/dist/components/ui/navigation/tabs.js +89 -198
- package/dist/components/ui/navigation/types.esm.js +1 -295
- package/dist/components/ui/navigation/types.js +1 -295
- package/dist/components/ui/overlay/backdrop.esm.js +39 -78
- package/dist/components/ui/overlay/backdrop.js +39 -78
- package/dist/components/ui/overlay/focus-manager.esm.js +96 -140
- package/dist/components/ui/overlay/focus-manager.js +96 -140
- package/dist/components/ui/overlay/index.esm.js +0 -27
- package/dist/components/ui/overlay/index.js +0 -27
- package/dist/components/ui/overlay/modal.esm.js +94 -249
- package/dist/components/ui/overlay/modal.js +94 -249
- package/dist/components/ui/overlay/overlay-manager.esm.js +60 -100
- package/dist/components/ui/overlay/overlay-manager.js +60 -100
- package/dist/components/ui/overlay/popover.esm.js +258 -438
- package/dist/components/ui/overlay/popover.js +258 -438
- package/dist/components/ui/overlay/portal.esm.js +45 -74
- package/dist/components/ui/overlay/portal.js +45 -74
- package/dist/components/ui/overlay/tooltip.esm.js +202 -288
- package/dist/components/ui/overlay/tooltip.js +202 -288
- package/dist/components/ui/overlay/types.esm.js +1 -196
- package/dist/components/ui/overlay/types.js +1 -196
- package/dist/components/ui/performance-demo.esm.js +110 -596
- package/dist/components/ui/performance-demo.js +110 -596
- package/dist/components/ui/semantic-input-system-demo.esm.js +87 -501
- package/dist/components/ui/semantic-input-system-demo.js +87 -501
- package/dist/components/ui/theme-customizer.esm.js +123 -371
- package/dist/components/ui/theme-customizer.js +123 -371
- package/dist/components/ui/theme-preview.esm.js +44 -306
- package/dist/components/ui/theme-preview.js +44 -306
- package/dist/components/ui/theme-switcher.esm.js +79 -258
- package/dist/components/ui/theme-switcher.js +79 -258
- package/dist/components/ui/theme-toggle.esm.js +22 -35
- package/dist/components/ui/theme-toggle.js +22 -35
- package/dist/components/ui/token-demo.esm.js +42 -189
- package/dist/components/ui/token-demo.js +42 -189
- package/dist/components/ui/touch-demo.esm.js +96 -462
- package/dist/components/ui/touch-demo.js +96 -462
- package/dist/components/ui/touch-friendly-interface-demo.esm.js +63 -519
- package/dist/components/ui/touch-friendly-interface-demo.js +63 -519
- package/dist/components/ui/touch-friendly-interface.esm.js +103 -281
- package/dist/components/ui/touch-friendly-interface.js +103 -281
- package/dist/hooks/index.esm.js +23 -181
- package/dist/hooks/index.js +23 -181
- package/dist/hooks/use-accessibility-support.esm.js +377 -518
- package/dist/hooks/use-accessibility-support.js +377 -518
- package/dist/hooks/use-adaptive-layout.esm.js +212 -287
- package/dist/hooks/use-adaptive-layout.js +212 -287
- package/dist/hooks/use-advanced-patterns.esm.js +185 -293
- package/dist/hooks/use-advanced-patterns.js +185 -293
- package/dist/hooks/use-advanced-transition-system.esm.js +286 -392
- package/dist/hooks/use-advanced-transition-system.js +286 -392
- package/dist/hooks/use-animation-profile.esm.js +221 -283
- package/dist/hooks/use-animation-profile.js +221 -283
- package/dist/hooks/use-battery-animations.esm.js +310 -384
- package/dist/hooks/use-battery-animations.js +310 -384
- package/dist/hooks/use-battery-conscious-loading.esm.js +374 -468
- package/dist/hooks/use-battery-conscious-loading.js +374 -468
- package/dist/hooks/use-battery-optimization.esm.js +267 -329
- package/dist/hooks/use-battery-optimization.js +267 -329
- package/dist/hooks/use-battery-status.esm.js +213 -293
- package/dist/hooks/use-battery-status.js +213 -293
- package/dist/hooks/use-component-performance.esm.js +235 -341
- package/dist/hooks/use-component-performance.js +235 -341
- package/dist/hooks/use-device-loading-states.esm.js +356 -457
- package/dist/hooks/use-device-loading-states.js +356 -457
- package/dist/hooks/use-device.esm.js +77 -102
- package/dist/hooks/use-device.js +77 -102
- package/dist/hooks/use-enterprise-mobile-experience.esm.js +349 -487
- package/dist/hooks/use-enterprise-mobile-experience.js +349 -487
- package/dist/hooks/use-form-feedback.esm.js +313 -398
- package/dist/hooks/use-form-feedback.js +313 -398
- package/dist/hooks/use-form-performance.esm.js +407 -500
- package/dist/hooks/use-form-performance.js +407 -500
- package/dist/hooks/use-frame-rate.esm.js +178 -251
- package/dist/hooks/use-frame-rate.js +178 -251
- package/dist/hooks/use-gestures.esm.js +230 -332
- package/dist/hooks/use-gestures.js +230 -332
- package/dist/hooks/use-hardware-acceleration.esm.js +246 -339
- package/dist/hooks/use-hardware-acceleration.js +246 -339
- package/dist/hooks/use-input-accessibility.esm.js +350 -454
- package/dist/hooks/use-input-accessibility.js +350 -454
- package/dist/hooks/use-input-performance.esm.js +419 -502
- package/dist/hooks/use-input-performance.js +419 -502
- package/dist/hooks/use-layout-performance.esm.js +233 -319
- package/dist/hooks/use-layout-performance.js +233 -319
- package/dist/hooks/use-loading-accessibility.esm.js +421 -531
- package/dist/hooks/use-loading-accessibility.js +421 -531
- package/dist/hooks/use-loading-performance.esm.js +398 -469
- package/dist/hooks/use-loading-performance.js +398 -469
- package/dist/hooks/use-memory-usage.esm.js +211 -287
- package/dist/hooks/use-memory-usage.js +211 -287
- package/dist/hooks/use-mobile-form-layout.esm.js +365 -458
- package/dist/hooks/use-mobile-form-layout.js +365 -458
- package/dist/hooks/use-mobile-form-validation.esm.js +384 -497
- package/dist/hooks/use-mobile-form-validation.js +384 -497
- package/dist/hooks/use-mobile-keyboard-optimization.esm.js +354 -468
- package/dist/hooks/use-mobile-keyboard-optimization.js +354 -468
- package/dist/hooks/use-mobile-layout.esm.js +207 -294
- package/dist/hooks/use-mobile-layout.js +207 -294
- package/dist/hooks/use-mobile-optimization.esm.js +308 -404
- package/dist/hooks/use-mobile-optimization.js +308 -404
- package/dist/hooks/use-mobile-skeleton.esm.js +300 -402
- package/dist/hooks/use-mobile-skeleton.js +300 -402
- package/dist/hooks/use-mobile-touch.esm.js +314 -412
- package/dist/hooks/use-mobile-touch.js +314 -412
- package/dist/hooks/use-performance-throttling.esm.js +276 -344
- package/dist/hooks/use-performance-throttling.js +276 -344
- package/dist/hooks/use-performance.esm.js +216 -313
- package/dist/hooks/use-performance.js +216 -313
- package/dist/hooks/use-reusable-architecture.esm.js +255 -408
- package/dist/hooks/use-reusable-architecture.js +255 -408
- package/dist/hooks/use-semantic-input-types.esm.js +290 -356
- package/dist/hooks/use-semantic-input-types.js +290 -356
- package/dist/hooks/use-semantic-input.esm.js +446 -549
- package/dist/hooks/use-semantic-input.js +446 -549
- package/dist/hooks/use-tablet-layout.esm.js +279 -384
- package/dist/hooks/use-tablet-layout.js +279 -384
- package/dist/hooks/use-touch-friendly-input.esm.js +401 -519
- package/dist/hooks/use-touch-friendly-input.js +401 -519
- package/dist/hooks/use-touch-friendly-interface.esm.js +242 -331
- package/dist/hooks/use-touch-friendly-interface.js +242 -331
- package/dist/hooks/use-touch-optimization.esm.js +288 -370
- package/dist/hooks/use-touch-optimization.js +288 -370
- package/dist/index.esm.js +150 -294
- package/dist/index.js +150 -294
- package/dist/lib/utils.esm.js +4 -5
- package/dist/lib/utils.js +4 -5
- package/dist/plugins/theme-css-generator.esm.js +292 -346
- package/dist/plugins/theme-css-generator.js +292 -346
- package/dist/provider.esm.js +3 -19
- package/dist/provider.js +3 -19
- package/dist/styles/layers/validation.esm.js +275 -0
- package/dist/styles/layers/validation.js +275 -0
- package/dist/styles.css +1 -1
- package/dist/theme.esm.js +654 -658
- package/dist/theme.js +654 -658
- package/dist/themes/ThemeContext.esm.js +1 -27
- package/dist/themes/ThemeContext.js +1 -27
- package/dist/themes/ThemeProvider.esm.js +191 -223
- package/dist/themes/ThemeProvider.js +191 -223
- package/dist/themes/accessibility/index.esm.js +0 -4
- package/dist/themes/accessibility/index.js +0 -4
- package/dist/themes/accessibility.esm.js +175 -240
- package/dist/themes/accessibility.js +175 -240
- package/dist/themes/aria-patterns.esm.js +345 -401
- package/dist/themes/aria-patterns.js +345 -401
- package/dist/themes/base-themes.esm.js +15 -24
- package/dist/themes/base-themes.js +15 -24
- package/dist/themes/colorManager.esm.js +293 -357
- package/dist/themes/colorManager.js +293 -357
- package/dist/themes/examples/dark-theme.esm.js +129 -133
- package/dist/themes/examples/dark-theme.js +129 -133
- package/dist/themes/examples/minimal-theme.esm.js +80 -85
- package/dist/themes/examples/minimal-theme.js +80 -85
- package/dist/themes/focus-management.esm.js +541 -677
- package/dist/themes/focus-management.js +541 -677
- package/dist/themes/fontLoader.esm.js +151 -180
- package/dist/themes/fontLoader.js +151 -180
- package/dist/themes/high-contrast.esm.js +394 -558
- package/dist/themes/high-contrast.js +394 -558
- package/dist/themes/index.esm.js +1 -9
- package/dist/themes/index.js +1 -9
- package/dist/themes/inheritance.esm.js +145 -180
- package/dist/themes/inheritance.js +145 -180
- package/dist/themes/keyboard-navigation.esm.js +418 -510
- package/dist/themes/keyboard-navigation.js +418 -510
- package/dist/themes/motion-reduction.esm.js +434 -591
- package/dist/themes/motion-reduction.js +434 -591
- package/dist/themes/navigation.esm.js +1 -234
- package/dist/themes/navigation.js +1 -234
- package/dist/themes/screen-reader.esm.js +515 -616
- package/dist/themes/screen-reader.js +515 -616
- package/dist/themes/systemThemeDetector.esm.js +135 -164
- package/dist/themes/systemThemeDetector.js +135 -164
- package/dist/themes/themeCSSUpdater.esm.js +217 -252
- package/dist/themes/themeCSSUpdater.js +217 -252
- package/dist/themes/themePersistence.esm.js +181 -212
- package/dist/themes/themePersistence.js +181 -212
- package/dist/themes/themes/default.esm.js +584 -0
- package/dist/themes/themes/default.js +584 -0
- package/dist/themes/themes/harvey.esm.js +551 -0
- package/dist/themes/themes/harvey.js +551 -0
- package/dist/themes/themes/stan-design.esm.js +654 -658
- package/dist/themes/themes/stan-design.js +654 -658
- package/dist/themes/types.esm.js +1 -458
- package/dist/themes/types.js +1 -458
- package/dist/themes/useSystemTheme.esm.js +34 -42
- package/dist/themes/useSystemTheme.js +34 -42
- package/dist/themes/useTheme.esm.js +23 -28
- package/dist/themes/useTheme.js +23 -28
- package/dist/themes/validation.esm.js +380 -433
- package/dist/themes/validation.js +380 -433
- package/dist/tokens/index.esm.js +2 -25
- package/dist/tokens/index.js +2 -25
- package/dist/tokens/tokenExporter.esm.js +309 -373
- package/dist/tokens/tokenExporter.js +309 -373
- package/dist/tokens/tokenGenerator.esm.js +241 -273
- package/dist/tokens/tokenGenerator.js +241 -273
- package/dist/tokens/tokenManager.esm.js +187 -241
- package/dist/tokens/tokenManager.js +187 -241
- package/dist/tokens/tokenValidator.esm.js +402 -522
- package/dist/tokens/tokenValidator.js +402 -522
- package/dist/tokens/types.esm.js +1 -78
- package/dist/tokens/types.js +1 -78
- package/dist/types.esm.js +3 -0
- package/dist/types.js +3 -0
- package/dist/utils/bundle-analyzer.esm.js +188 -246
- package/dist/utils/bundle-analyzer.js +188 -246
- package/dist/utils/bundle-splitting.esm.js +330 -458
- package/dist/utils/bundle-splitting.js +330 -458
- package/dist/utils/lazy-loading.esm.js +311 -417
- package/dist/utils/lazy-loading.js +311 -417
- package/dist/utils/performance-monitor.esm.js +369 -490
- package/dist/utils/performance-monitor.js +369 -490
- package/dist/utils/tree-shaking.esm.js +194 -264
- package/dist/utils/tree-shaking.js +194 -264
- package/package.json +18 -2
- package/src/index.ts +150 -149
- package/src/provider.tsx +3 -3
- package/src/theme.ts +1 -1
- package/{dist/theme.d.ts → src/themes/themes/default.ts} +77 -169
- package/src/themes/themes/harvey.ts +554 -0
- package/{dist/themes/types.d.ts → src/types.ts} +7 -1
- package/dist/components/ui/accessibility-demo.d.ts +0 -259
- package/dist/components/ui/advanced-component-architecture-demo.d.ts +0 -718
- package/dist/components/ui/advanced-transition-system-demo.d.ts +0 -660
- package/dist/components/ui/advanced-transition-system.d.ts +0 -391
- package/dist/components/ui/animation/animated-container.d.ts +0 -162
- package/dist/components/ui/animation/index.d.ts +0 -9
- package/dist/components/ui/animation/staggered-container.d.ts +0 -64
- package/dist/components/ui/animation-demo.d.ts +0 -238
- package/dist/components/ui/badge.d.ts +0 -28
- package/dist/components/ui/battery-conscious-animation-demo.d.ts +0 -561
- package/dist/components/ui/border-radius-shadow-demo.d.ts +0 -183
- package/dist/components/ui/button.d.ts +0 -33
- package/dist/components/ui/card.d.ts +0 -205
- package/dist/components/ui/checkbox.d.ts +0 -26
- package/dist/components/ui/color-preview.d.ts +0 -402
- package/dist/components/ui/data-display/chart.d.ts +0 -646
- package/dist/components/ui/data-display/data-grid-simple.d.ts +0 -73
- package/dist/components/ui/data-display/data-grid.d.ts +0 -670
- package/dist/components/ui/data-display/list.d.ts +0 -448
- package/dist/components/ui/data-display/table.d.ts +0 -472
- package/dist/components/ui/data-display/timeline.d.ts +0 -433
- package/dist/components/ui/data-display/tree.d.ts +0 -594
- package/dist/components/ui/data-display/types.d.ts +0 -534
- package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +0 -735
- package/dist/components/ui/enterprise-mobile-experience.d.ts +0 -461
- package/dist/components/ui/feedback/alert.d.ts +0 -154
- package/dist/components/ui/feedback/progress.d.ts +0 -288
- package/dist/components/ui/feedback/skeleton.d.ts +0 -182
- package/dist/components/ui/feedback/toast.d.ts +0 -277
- package/dist/components/ui/feedback/types.d.ts +0 -123
- package/dist/components/ui/font-preview.d.ts +0 -282
- package/dist/components/ui/form-demo.d.ts +0 -544
- package/dist/components/ui/hardware-acceleration-demo.d.ts +0 -540
- package/dist/components/ui/input.d.ts +0 -33
- package/dist/components/ui/label.d.ts +0 -13
- package/dist/components/ui/layout-demo.d.ts +0 -352
- package/dist/components/ui/layouts/adaptive-layout.d.ts +0 -132
- package/dist/components/ui/layouts/desktop-layout.d.ts +0 -219
- package/dist/components/ui/layouts/index.d.ts +0 -5
- package/dist/components/ui/layouts/mobile-layout.d.ts +0 -158
- package/dist/components/ui/layouts/tablet-layout.d.ts +0 -192
- package/dist/components/ui/mobile-form-validation.d.ts +0 -439
- package/dist/components/ui/mobile-input-demo.d.ts +0 -197
- package/dist/components/ui/mobile-input.d.ts +0 -273
- package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +0 -628
- package/dist/components/ui/navigation/breadcrumb.d.ts +0 -149
- package/dist/components/ui/navigation/index.d.ts +0 -25
- package/dist/components/ui/navigation/menu.d.ts +0 -366
- package/dist/components/ui/navigation/navigation-demo.d.ts +0 -169
- package/dist/components/ui/navigation/pagination.d.ts +0 -261
- package/dist/components/ui/navigation/sidebar.d.ts +0 -375
- package/dist/components/ui/navigation/stepper.d.ts +0 -294
- package/dist/components/ui/navigation/tabs.d.ts +0 -196
- package/dist/components/ui/navigation/types.d.ts +0 -293
- package/dist/components/ui/overlay/backdrop.d.ts +0 -79
- package/dist/components/ui/overlay/focus-manager.d.ts +0 -141
- package/dist/components/ui/overlay/index.d.ts +0 -27
- package/dist/components/ui/overlay/modal.d.ts +0 -262
- package/dist/components/ui/overlay/overlay-manager.d.ts +0 -107
- package/dist/components/ui/overlay/popover.d.ts +0 -450
- package/dist/components/ui/overlay/portal.d.ts +0 -75
- package/dist/components/ui/overlay/tooltip.d.ts +0 -298
- package/dist/components/ui/overlay/types.d.ts +0 -194
- package/dist/components/ui/performance-demo.d.ts +0 -583
- package/dist/components/ui/semantic-input-system-demo.d.ts +0 -490
- package/dist/components/ui/theme-customizer.d.ts +0 -378
- package/dist/components/ui/theme-preview.d.ts +0 -305
- package/dist/components/ui/theme-switcher.d.ts +0 -259
- package/dist/components/ui/theme-toggle.d.ts +0 -34
- package/dist/components/ui/token-demo.d.ts +0 -188
- package/dist/components/ui/touch-demo.d.ts +0 -455
- package/dist/components/ui/touch-friendly-interface-demo.d.ts +0 -512
- package/dist/components/ui/touch-friendly-interface.d.ts +0 -292
- package/dist/hooks/index.d.ts +0 -161
- package/dist/hooks/use-accessibility-support.d.ts +0 -516
- package/dist/hooks/use-adaptive-layout.d.ts +0 -287
- package/dist/hooks/use-advanced-patterns.d.ts +0 -292
- package/dist/hooks/use-advanced-transition-system.d.ts +0 -390
- package/dist/hooks/use-animation-profile.d.ts +0 -285
- package/dist/hooks/use-battery-animations.d.ts +0 -382
- package/dist/hooks/use-battery-conscious-loading.d.ts +0 -473
- package/dist/hooks/use-battery-optimization.d.ts +0 -328
- package/dist/hooks/use-battery-status.d.ts +0 -297
- package/dist/hooks/use-component-performance.d.ts +0 -342
- package/dist/hooks/use-device-loading-states.d.ts +0 -456
- package/dist/hooks/use-device.d.ts +0 -104
- package/dist/hooks/use-enterprise-mobile-experience.d.ts +0 -486
- package/dist/hooks/use-form-feedback.d.ts +0 -401
- package/dist/hooks/use-form-performance.d.ts +0 -511
- package/dist/hooks/use-frame-rate.d.ts +0 -249
- package/dist/hooks/use-gestures.d.ts +0 -336
- package/dist/hooks/use-hardware-acceleration.d.ts +0 -339
- package/dist/hooks/use-input-accessibility.d.ts +0 -451
- package/dist/hooks/use-input-performance.d.ts +0 -503
- package/dist/hooks/use-layout-performance.d.ts +0 -317
- package/dist/hooks/use-loading-accessibility.d.ts +0 -532
- package/dist/hooks/use-loading-performance.d.ts +0 -471
- package/dist/hooks/use-memory-usage.d.ts +0 -285
- package/dist/hooks/use-mobile-form-layout.d.ts +0 -462
- package/dist/hooks/use-mobile-form-validation.d.ts +0 -516
- package/dist/hooks/use-mobile-keyboard-optimization.d.ts +0 -469
- package/dist/hooks/use-mobile-layout.d.ts +0 -300
- package/dist/hooks/use-mobile-optimization.d.ts +0 -404
- package/dist/hooks/use-mobile-skeleton.d.ts +0 -399
- package/dist/hooks/use-mobile-touch.d.ts +0 -412
- package/dist/hooks/use-performance-throttling.d.ts +0 -346
- package/dist/hooks/use-performance.d.ts +0 -314
- package/dist/hooks/use-reusable-architecture.d.ts +0 -412
- package/dist/hooks/use-semantic-input-types.d.ts +0 -354
- package/dist/hooks/use-semantic-input.d.ts +0 -563
- package/dist/hooks/use-tablet-layout.d.ts +0 -382
- package/dist/hooks/use-touch-friendly-input.d.ts +0 -520
- package/dist/hooks/use-touch-friendly-interface.d.ts +0 -329
- package/dist/hooks/use-touch-optimization.d.ts +0 -373
- package/dist/index.d.ts +0 -149
- package/dist/lib/utils.d.ts +0 -3
- package/dist/plugins/theme-css-generator.d.ts +0 -345
- package/dist/provider.d.ts +0 -17
- package/dist/themes/ThemeContext.d.ts +0 -27
- package/dist/themes/ThemeProvider.d.ts +0 -222
- package/dist/themes/accessibility/index.d.ts +0 -7
- package/dist/themes/accessibility.d.ts +0 -259
- package/dist/themes/aria-patterns.d.ts +0 -418
- package/dist/themes/base-themes.d.ts +0 -34
- package/dist/themes/colorManager.d.ts +0 -327
- package/dist/themes/examples/dark-theme.d.ts +0 -139
- package/dist/themes/examples/minimal-theme.d.ts +0 -93
- package/dist/themes/focus-management.d.ts +0 -699
- package/dist/themes/fontLoader.d.ts +0 -163
- package/dist/themes/high-contrast.d.ts +0 -619
- package/dist/themes/index.d.ts +0 -11
- package/dist/themes/inheritance.d.ts +0 -160
- package/dist/themes/keyboard-navigation.d.ts +0 -550
- package/dist/themes/motion-reduction.d.ts +0 -660
- package/dist/themes/navigation.d.ts +0 -232
- package/dist/themes/screen-reader.d.ts +0 -645
- package/dist/themes/systemThemeDetector.d.ts +0 -148
- package/dist/themes/themeCSSUpdater.d.ts +0 -229
- package/dist/themes/themePersistence.d.ts +0 -192
- package/dist/themes/themes/stan-design.d.ts +0 -678
- package/dist/themes/useSystemTheme.d.ts +0 -43
- package/dist/themes/useTheme.d.ts +0 -20
- package/dist/themes/validation.d.ts +0 -406
- package/dist/tokens/index.d.ts +0 -25
- package/dist/tokens/tokenExporter.d.ts +0 -336
- package/dist/tokens/tokenGenerator.d.ts +0 -250
- package/dist/tokens/tokenManager.d.ts +0 -194
- package/dist/tokens/tokenValidator.d.ts +0 -488
- package/dist/tokens/types.d.ts +0 -78
- package/dist/utils/bundle-analyzer.d.ts +0 -260
- package/dist/utils/bundle-splitting.d.ts +0 -483
- package/dist/utils/lazy-loading.d.ts +0 -437
- package/dist/utils/performance-monitor.d.ts +0 -513
- package/dist/utils/tree-shaking.d.ts +0 -274
|
@@ -1,397 +1,333 @@
|
|
|
1
|
-
import type { ThemeTokens, TokenExportOptions } from './types';
|
|
2
|
-
|
|
3
1
|
export class TokenExporter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Exports tokens in the specified format
|
|
4
|
+
*/
|
|
5
|
+
static exportTokens(tokens, options) {
|
|
6
|
+
switch (options.format) {
|
|
7
|
+
case 'json':
|
|
8
|
+
return this.exportAsJSON(tokens, options);
|
|
9
|
+
case 'css':
|
|
10
|
+
return this.exportAsCSS(tokens, options);
|
|
11
|
+
case 'scss':
|
|
12
|
+
return this.exportAsSCSS(tokens, options);
|
|
13
|
+
case 'js':
|
|
14
|
+
return this.exportAsJS(tokens, options);
|
|
15
|
+
case 'ts':
|
|
16
|
+
return this.exportAsTS(tokens, options);
|
|
17
|
+
default:
|
|
18
|
+
throw new Error(`Unsupported export format: ${options.format}`);
|
|
19
|
+
}
|
|
21
20
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
29
|
-
return JSON.stringify(exportData, null, 2);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Exports tokens as CSS custom properties
|
|
34
|
-
*/
|
|
35
|
-
private static exportAsCSS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
36
|
-
let css = '';
|
|
37
|
-
|
|
38
|
-
if (options.includeComments) {
|
|
39
|
-
css += `/* ${tokens.theme} Design Tokens - v${tokens.version} */\n`;
|
|
40
|
-
css += `/* Generated on: ${new Date().toISOString()} */\n\n`;
|
|
21
|
+
/**
|
|
22
|
+
* Exports tokens as JSON
|
|
23
|
+
*/
|
|
24
|
+
static exportAsJSON(tokens, options) {
|
|
25
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
26
|
+
return JSON.stringify(exportData, null, 2);
|
|
41
27
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Exports tokens as CSS custom properties
|
|
30
|
+
*/
|
|
31
|
+
static exportAsCSS(tokens, options) {
|
|
32
|
+
let css = '';
|
|
33
|
+
if (options.includeComments) {
|
|
34
|
+
css += `/* ${tokens.theme} Design Tokens - v${tokens.version} */\n`;
|
|
35
|
+
css += `/* Generated on: ${new Date().toISOString()} */\n\n`;
|
|
36
|
+
}
|
|
37
|
+
css += `:root {\n`;
|
|
38
|
+
// Export color tokens
|
|
39
|
+
if (tokens.tokens.color) {
|
|
40
|
+
css += this.exportColorTokensAsCSS(tokens.tokens.color, 2);
|
|
41
|
+
}
|
|
42
|
+
// Export font tokens
|
|
43
|
+
if (tokens.tokens.font) {
|
|
44
|
+
css += this.exportFontTokensAsCSS(tokens.tokens.font, 2);
|
|
45
|
+
}
|
|
46
|
+
// Export spacing tokens
|
|
47
|
+
if (tokens.tokens.spacing) {
|
|
48
|
+
css += this.exportSpacingTokensAsCSS(tokens.tokens.spacing, 2);
|
|
49
|
+
}
|
|
50
|
+
// Export shadow tokens
|
|
51
|
+
if (tokens.tokens.shadow) {
|
|
52
|
+
css += this.exportShadowTokensAsCSS(tokens.tokens.shadow, 2);
|
|
53
|
+
}
|
|
54
|
+
// Export transition tokens
|
|
55
|
+
if (tokens.tokens.transition) {
|
|
56
|
+
css += this.exportTransitionTokensAsCSS(tokens.tokens.transition, 2);
|
|
57
|
+
}
|
|
58
|
+
// Export breakpoint tokens
|
|
59
|
+
if (tokens.tokens.breakpoint) {
|
|
60
|
+
css += this.exportBreakpointTokensAsCSS(tokens.tokens.breakpoint, 2);
|
|
61
|
+
}
|
|
62
|
+
css += `}\n`;
|
|
63
|
+
return css;
|
|
48
64
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Export breakpoint tokens
|
|
71
|
-
if (tokens.tokens.breakpoint) {
|
|
72
|
-
css += this.exportBreakpointTokensAsCSS(tokens.tokens.breakpoint, 2);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
css += `}\n`;
|
|
76
|
-
return css;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Exports color tokens as CSS custom properties
|
|
81
|
-
*/
|
|
82
|
-
private static exportColorTokensAsCSS(colorTokens: any, indent: number): string {
|
|
83
|
-
let css = '';
|
|
84
|
-
const spaces = ' '.repeat(indent);
|
|
85
|
-
|
|
86
|
-
Object.entries(colorTokens).forEach(([category, categoryTokens]: [string, any]) => {
|
|
87
|
-
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
88
|
-
// Single token
|
|
89
|
-
css += `${spaces}--color-${category}: ${categoryTokens.value};\n`;
|
|
90
|
-
} else if (typeof categoryTokens === 'object') {
|
|
91
|
-
// Token group
|
|
92
|
-
Object.entries(categoryTokens).forEach(([shade, token]: [string, any]) => {
|
|
93
|
-
if (token && typeof token === 'object' && token.value) {
|
|
94
|
-
css += `${spaces}--color-${category}-${shade}: ${token.value};\n`;
|
|
95
|
-
}
|
|
65
|
+
/**
|
|
66
|
+
* Exports color tokens as CSS custom properties
|
|
67
|
+
*/
|
|
68
|
+
static exportColorTokensAsCSS(colorTokens, indent) {
|
|
69
|
+
let css = '';
|
|
70
|
+
const spaces = ' '.repeat(indent);
|
|
71
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens]) => {
|
|
72
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
73
|
+
// Single token
|
|
74
|
+
css += `${spaces}--color-${category}: ${categoryTokens.value};\n`;
|
|
75
|
+
}
|
|
76
|
+
else if (typeof categoryTokens === 'object') {
|
|
77
|
+
// Token group
|
|
78
|
+
Object.entries(categoryTokens).forEach(([shade, token]) => {
|
|
79
|
+
if (token && typeof token === 'object' && token.value) {
|
|
80
|
+
css += `${spaces}--color-${category}-${shade}: ${token.value};\n`;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
96
84
|
});
|
|
97
|
-
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
return css;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Exports font tokens as CSS custom properties
|
|
105
|
-
*/
|
|
106
|
-
private static exportFontTokensAsCSS(fontTokens: any, indent: number): string {
|
|
107
|
-
let css = '';
|
|
108
|
-
const spaces = ' '.repeat(indent);
|
|
109
|
-
|
|
110
|
-
Object.entries(fontTokens).forEach(([name, token]: [string, any]) => {
|
|
111
|
-
if (token && typeof token === 'object' && token.value) {
|
|
112
|
-
const cssVarName = this.getFontCSSVarName(name, token.type);
|
|
113
|
-
css += `${spaces}--font-${cssVarName}: ${token.value};\n`;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
return css;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Gets the CSS variable name for font tokens
|
|
122
|
-
*/
|
|
123
|
-
private static getFontCSSVarName(name: string, type: string): string {
|
|
124
|
-
if (type === 'fontFamily') {
|
|
125
|
-
return name;
|
|
85
|
+
return css;
|
|
126
86
|
}
|
|
127
|
-
|
|
128
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Exports font tokens as CSS custom properties
|
|
89
|
+
*/
|
|
90
|
+
static exportFontTokensAsCSS(fontTokens, indent) {
|
|
91
|
+
let css = '';
|
|
92
|
+
const spaces = ' '.repeat(indent);
|
|
93
|
+
Object.entries(fontTokens).forEach(([name, token]) => {
|
|
94
|
+
if (token && typeof token === 'object' && token.value) {
|
|
95
|
+
const cssVarName = this.getFontCSSVarName(name, token.type);
|
|
96
|
+
css += `${spaces}--font-${cssVarName}: ${token.value};\n`;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return css;
|
|
129
100
|
}
|
|
130
|
-
|
|
131
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Gets the CSS variable name for font tokens
|
|
103
|
+
*/
|
|
104
|
+
static getFontCSSVarName(name, type) {
|
|
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;
|
|
132
118
|
}
|
|
133
|
-
|
|
134
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Exports spacing tokens as CSS custom properties
|
|
121
|
+
*/
|
|
122
|
+
static exportSpacingTokensAsCSS(spacingTokens, indent) {
|
|
123
|
+
let css = '';
|
|
124
|
+
const spaces = ' '.repeat(indent);
|
|
125
|
+
Object.entries(spacingTokens).forEach(([scale, token]) => {
|
|
126
|
+
if (token && typeof token === 'object' && token.value) {
|
|
127
|
+
css += `${spaces}--spacing-${scale}: ${token.value}px;\n`;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return css;
|
|
135
131
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
css += `${spaces}--spacing-${scale}: ${token.value}px;\n`;
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
return css;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Exports shadow tokens as CSS custom properties
|
|
157
|
-
*/
|
|
158
|
-
private static exportShadowTokensAsCSS(shadowTokens: any, indent: number): string {
|
|
159
|
-
let css = '';
|
|
160
|
-
const spaces = ' '.repeat(indent);
|
|
161
|
-
|
|
162
|
-
Object.entries(shadowTokens).forEach(([elevation, token]: [string, any]) => {
|
|
163
|
-
if (token && typeof token === 'object' && token.value) {
|
|
164
|
-
css += `${spaces}--shadow-${elevation}: ${token.value};\n`;
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
return css;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Exports transition tokens as CSS custom properties
|
|
173
|
-
*/
|
|
174
|
-
private static exportTransitionTokensAsCSS(transitionTokens: any, indent: number): string {
|
|
175
|
-
let css = '';
|
|
176
|
-
const spaces = ' '.repeat(indent);
|
|
177
|
-
|
|
178
|
-
Object.entries(transitionTokens).forEach(([name, token]: [string, any]) => {
|
|
179
|
-
if (token && typeof token === 'object' && token.value) {
|
|
180
|
-
css += `${spaces}--transition-${name}: ${token.value};\n`;
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
return css;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Exports breakpoint tokens as CSS custom properties
|
|
189
|
-
*/
|
|
190
|
-
private static exportBreakpointTokensAsCSS(breakpointTokens: any, indent: number): string {
|
|
191
|
-
let css = '';
|
|
192
|
-
const spaces = ' '.repeat(indent);
|
|
193
|
-
|
|
194
|
-
Object.entries(breakpointTokens).forEach(([name, token]: [string, any]) => {
|
|
195
|
-
if (token && typeof token === 'object' && token.value) {
|
|
196
|
-
css += `${spaces}--breakpoint-${name}: ${token.value}px;\n`;
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
return css;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Exports tokens as SCSS variables
|
|
205
|
-
*/
|
|
206
|
-
private static exportAsSCSS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
207
|
-
let scss = '';
|
|
208
|
-
|
|
209
|
-
if (options.includeComments) {
|
|
210
|
-
scss += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
211
|
-
scss += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
132
|
+
/**
|
|
133
|
+
* Exports shadow tokens as CSS custom properties
|
|
134
|
+
*/
|
|
135
|
+
static exportShadowTokensAsCSS(shadowTokens, indent) {
|
|
136
|
+
let css = '';
|
|
137
|
+
const spaces = ' '.repeat(indent);
|
|
138
|
+
Object.entries(shadowTokens).forEach(([elevation, token]) => {
|
|
139
|
+
if (token && typeof token === 'object' && token.value) {
|
|
140
|
+
css += `${spaces}--shadow-${elevation}: ${token.value};\n`;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return css;
|
|
212
144
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Exports transition tokens as CSS custom properties
|
|
147
|
+
*/
|
|
148
|
+
static exportTransitionTokensAsCSS(transitionTokens, indent) {
|
|
149
|
+
let css = '';
|
|
150
|
+
const spaces = ' '.repeat(indent);
|
|
151
|
+
Object.entries(transitionTokens).forEach(([name, token]) => {
|
|
152
|
+
if (token && typeof token === 'object' && token.value) {
|
|
153
|
+
css += `${spaces}--transition-${name}: ${token.value};\n`;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return css;
|
|
217
157
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Exports breakpoint tokens as CSS custom properties
|
|
160
|
+
*/
|
|
161
|
+
static exportBreakpointTokensAsCSS(breakpointTokens, indent) {
|
|
162
|
+
let css = '';
|
|
163
|
+
const spaces = ' '.repeat(indent);
|
|
164
|
+
Object.entries(breakpointTokens).forEach(([name, token]) => {
|
|
165
|
+
if (token && typeof token === 'object' && token.value) {
|
|
166
|
+
css += `${spaces}--breakpoint-${name}: ${token.value}px;\n`;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return css;
|
|
222
170
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
171
|
+
/**
|
|
172
|
+
* Exports tokens as SCSS variables
|
|
173
|
+
*/
|
|
174
|
+
static exportAsSCSS(tokens, options) {
|
|
175
|
+
let scss = '';
|
|
176
|
+
if (options.includeComments) {
|
|
177
|
+
scss += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
178
|
+
scss += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
179
|
+
}
|
|
180
|
+
// Export color tokens
|
|
181
|
+
if (tokens.tokens.color) {
|
|
182
|
+
scss += this.exportColorTokensAsSCSS(tokens.tokens.color);
|
|
183
|
+
}
|
|
184
|
+
// Export font tokens
|
|
185
|
+
if (tokens.tokens.font) {
|
|
186
|
+
scss += this.exportFontTokensAsSCSS(tokens.tokens.font);
|
|
187
|
+
}
|
|
188
|
+
// Export spacing tokens
|
|
189
|
+
if (tokens.tokens.spacing) {
|
|
190
|
+
scss += this.exportSpacingTokensAsSCSS(tokens.tokens.spacing);
|
|
191
|
+
}
|
|
192
|
+
// Export shadow tokens
|
|
193
|
+
if (tokens.tokens.shadow) {
|
|
194
|
+
scss += this.exportShadowTokensAsSCSS(tokens.tokens.shadow);
|
|
195
|
+
}
|
|
196
|
+
// Export transition tokens
|
|
197
|
+
if (tokens.tokens.transition) {
|
|
198
|
+
scss += this.exportTransitionTokensAsSCSS(tokens.tokens.transition);
|
|
199
|
+
}
|
|
200
|
+
// Export breakpoint tokens
|
|
201
|
+
if (tokens.tokens.breakpoint) {
|
|
202
|
+
scss += this.exportBreakpointTokensAsSCSS(tokens.tokens.breakpoint);
|
|
203
|
+
}
|
|
204
|
+
return scss;
|
|
227
205
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
206
|
+
/**
|
|
207
|
+
* Exports color tokens as SCSS variables
|
|
208
|
+
*/
|
|
209
|
+
static exportColorTokensAsSCSS(colorTokens) {
|
|
210
|
+
let scss = '\n// Color Tokens\n';
|
|
211
|
+
Object.entries(colorTokens).forEach(([category, categoryTokens]) => {
|
|
212
|
+
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
213
|
+
// Single token
|
|
214
|
+
scss += `$color-${category}: ${categoryTokens.value};\n`;
|
|
215
|
+
}
|
|
216
|
+
else if (typeof categoryTokens === 'object') {
|
|
217
|
+
// Token group
|
|
218
|
+
Object.entries(categoryTokens).forEach(([shade, token]) => {
|
|
219
|
+
if (token && typeof token === 'object' && token.value) {
|
|
220
|
+
scss += `$color-${category}-${shade}: ${token.value};\n`;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
return scss;
|
|
232
226
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
227
|
+
/**
|
|
228
|
+
* Exports font tokens as SCSS variables
|
|
229
|
+
*/
|
|
230
|
+
static exportFontTokensAsSCSS(fontTokens) {
|
|
231
|
+
let scss = '\n// Font Tokens\n';
|
|
232
|
+
Object.entries(fontTokens).forEach(([name, token]) => {
|
|
233
|
+
if (token && typeof token === 'object' && token.value) {
|
|
234
|
+
const scssVarName = this.getFontSCSSVarName(name, token.type);
|
|
235
|
+
scss += `$font-${scssVarName}: ${token.value};\n`;
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
return scss;
|
|
237
239
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Gets the SCSS variable name for font tokens
|
|
242
|
+
*/
|
|
243
|
+
static getFontSCSSVarName(name, type) {
|
|
244
|
+
if (type === 'fontFamily') {
|
|
245
|
+
return name;
|
|
246
|
+
}
|
|
247
|
+
if (type === 'fontSize') {
|
|
248
|
+
return name.replace('size-', 'size-');
|
|
249
|
+
}
|
|
250
|
+
if (type === 'fontWeight') {
|
|
251
|
+
return name.replace('weight-', 'weight-');
|
|
252
|
+
}
|
|
253
|
+
if (type === 'lineHeight') {
|
|
254
|
+
return name.replace('line-height-', 'line-height-');
|
|
255
|
+
}
|
|
256
|
+
return name;
|
|
242
257
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Object.entries(colorTokens).forEach(([category, categoryTokens]: [string, any]) => {
|
|
254
|
-
if (typeof categoryTokens === 'object' && categoryTokens.value) {
|
|
255
|
-
// Single token
|
|
256
|
-
scss += `$color-${category}: ${categoryTokens.value};\n`;
|
|
257
|
-
} else if (typeof categoryTokens === 'object') {
|
|
258
|
-
// Token group
|
|
259
|
-
Object.entries(categoryTokens).forEach(([shade, token]: [string, any]) => {
|
|
260
|
-
if (token && typeof token === 'object' && token.value) {
|
|
261
|
-
scss += `$color-${category}-${shade}: ${token.value};\n`;
|
|
262
|
-
}
|
|
258
|
+
/**
|
|
259
|
+
* Exports spacing tokens as SCSS variables
|
|
260
|
+
*/
|
|
261
|
+
static exportSpacingTokensAsSCSS(spacingTokens) {
|
|
262
|
+
let scss = '\n// Spacing Tokens\n';
|
|
263
|
+
Object.entries(spacingTokens).forEach(([scale, token]) => {
|
|
264
|
+
if (token && typeof token === 'object' && token.value) {
|
|
265
|
+
scss += `$spacing-${scale}: ${token.value}px;\n`;
|
|
266
|
+
}
|
|
263
267
|
});
|
|
264
|
-
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
return scss;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Exports font tokens as SCSS variables
|
|
272
|
-
*/
|
|
273
|
-
private static exportFontTokensAsSCSS(fontTokens: any): string {
|
|
274
|
-
let scss = '\n// Font Tokens\n';
|
|
275
|
-
|
|
276
|
-
Object.entries(fontTokens).forEach(([name, token]: [string, any]) => {
|
|
277
|
-
if (token && typeof token === 'object' && token.value) {
|
|
278
|
-
const scssVarName = this.getFontSCSSVarName(name, token.type);
|
|
279
|
-
scss += `$font-${scssVarName}: ${token.value};\n`;
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
return scss;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Gets the SCSS variable name for font tokens
|
|
288
|
-
*/
|
|
289
|
-
private static getFontSCSSVarName(name: string, type: string): string {
|
|
290
|
-
if (type === 'fontFamily') {
|
|
291
|
-
return name;
|
|
268
|
+
return scss;
|
|
292
269
|
}
|
|
293
|
-
|
|
294
|
-
|
|
270
|
+
/**
|
|
271
|
+
* Exports shadow tokens as SCSS variables
|
|
272
|
+
*/
|
|
273
|
+
static exportShadowTokensAsSCSS(shadowTokens) {
|
|
274
|
+
let scss = '\n// Shadow Tokens\n';
|
|
275
|
+
Object.entries(shadowTokens).forEach(([elevation, token]) => {
|
|
276
|
+
if (token && typeof token === 'object' && token.value) {
|
|
277
|
+
scss += `$shadow-${elevation}: ${token.value};\n`;
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
return scss;
|
|
295
281
|
}
|
|
296
|
-
|
|
297
|
-
|
|
282
|
+
/**
|
|
283
|
+
* Exports transition tokens as SCSS variables
|
|
284
|
+
*/
|
|
285
|
+
static exportTransitionTokensAsSCSS(transitionTokens) {
|
|
286
|
+
let scss = '\n// Transition Tokens\n';
|
|
287
|
+
Object.entries(transitionTokens).forEach(([name, token]) => {
|
|
288
|
+
if (token && typeof token === 'object' && token.value) {
|
|
289
|
+
scss += `$transition-${name}: ${token.value};\n`;
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
return scss;
|
|
298
293
|
}
|
|
299
|
-
|
|
300
|
-
|
|
294
|
+
/**
|
|
295
|
+
* Exports breakpoint tokens as SCSS variables
|
|
296
|
+
*/
|
|
297
|
+
static exportBreakpointTokensAsSCSS(breakpointTokens) {
|
|
298
|
+
let scss = '\n// Breakpoint Tokens\n';
|
|
299
|
+
Object.entries(breakpointTokens).forEach(([name, token]) => {
|
|
300
|
+
if (token && typeof token === 'object' && token.value) {
|
|
301
|
+
scss += `$breakpoint-${name}: ${token.value}px;\n`;
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
return scss;
|
|
301
305
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
});
|
|
316
|
-
|
|
317
|
-
return scss;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Exports shadow tokens as SCSS variables
|
|
322
|
-
*/
|
|
323
|
-
private static exportShadowTokensAsSCSS(shadowTokens: any): string {
|
|
324
|
-
let scss = '\n// Shadow Tokens\n';
|
|
325
|
-
|
|
326
|
-
Object.entries(shadowTokens).forEach(([elevation, token]: [string, any]) => {
|
|
327
|
-
if (token && typeof token === 'object' && token.value) {
|
|
328
|
-
scss += `$shadow-${elevation}: ${token.value};\n`;
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
return scss;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* Exports transition tokens as SCSS variables
|
|
337
|
-
*/
|
|
338
|
-
private static exportTransitionTokensAsSCSS(transitionTokens: any): string {
|
|
339
|
-
let scss = '\n// Transition Tokens\n';
|
|
340
|
-
|
|
341
|
-
Object.entries(transitionTokens).forEach(([name, token]: [string, any]) => {
|
|
342
|
-
if (token && typeof token === 'object' && token.value) {
|
|
343
|
-
scss += `$transition-${name}: ${token.value};\n`;
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
return scss;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Exports breakpoint tokens as SCSS variables
|
|
352
|
-
*/
|
|
353
|
-
private static exportBreakpointTokensAsSCSS(breakpointTokens: any): string {
|
|
354
|
-
let scss = '\n// Breakpoint Tokens\n';
|
|
355
|
-
|
|
356
|
-
Object.entries(breakpointTokens).forEach(([name, token]: [string, any]) => {
|
|
357
|
-
if (token && typeof token === 'object' && token.value) {
|
|
358
|
-
scss += `$breakpoint-${name}: ${token.value}px;\n`;
|
|
359
|
-
}
|
|
360
|
-
});
|
|
361
|
-
|
|
362
|
-
return scss;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Exports tokens as JavaScript object
|
|
367
|
-
*/
|
|
368
|
-
private static exportAsJS(tokens: ThemeTokens, options: TokenExportOptions): string {
|
|
369
|
-
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
370
|
-
let js = '';
|
|
371
|
-
|
|
372
|
-
if (options.includeComments) {
|
|
373
|
-
js += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
374
|
-
js += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
306
|
+
/**
|
|
307
|
+
* Exports tokens as JavaScript object
|
|
308
|
+
*/
|
|
309
|
+
static exportAsJS(tokens, options) {
|
|
310
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
311
|
+
let js = '';
|
|
312
|
+
if (options.includeComments) {
|
|
313
|
+
js += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
314
|
+
js += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
315
|
+
}
|
|
316
|
+
js += `module.exports = ${JSON.stringify(exportData, null, 2)};\n`;
|
|
317
|
+
return js;
|
|
375
318
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
ts += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
390
|
-
ts += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
319
|
+
/**
|
|
320
|
+
* Exports tokens as TypeScript object
|
|
321
|
+
*/
|
|
322
|
+
static exportAsTS(tokens, options) {
|
|
323
|
+
const exportData = options.includeMetadata ? tokens : tokens.tokens;
|
|
324
|
+
let ts = '';
|
|
325
|
+
if (options.includeComments) {
|
|
326
|
+
ts += `// ${tokens.theme} Design Tokens - v${tokens.version}\n`;
|
|
327
|
+
ts += `// Generated on: ${new Date().toISOString()}\n\n`;
|
|
328
|
+
}
|
|
329
|
+
ts += `export const tokens = ${JSON.stringify(exportData, null, 2)} as const;\n`;
|
|
330
|
+
ts += `export type Tokens = typeof tokens;\n`;
|
|
331
|
+
return ts;
|
|
391
332
|
}
|
|
392
|
-
|
|
393
|
-
ts += `export const tokens = ${JSON.stringify(exportData, null, 2)} as const;\n`;
|
|
394
|
-
ts += `export type Tokens = typeof tokens;\n`;
|
|
395
|
-
return ts;
|
|
396
|
-
}
|
|
397
333
|
}
|