@tenerife.music/ui 1.0.15 → 1.1.0
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/README.md +1 -1
- package/dist/{colors-BZtZJBBm.d.cts → colors-BrFmCQv-.d.cts} +5 -0
- package/dist/{colors-BZtZJBBm.d.ts → colors-BrFmCQv-.d.ts} +5 -0
- package/dist/{index-CP_dmFn4.d.cts → index-Cj8oRSOc.d.cts} +426 -207
- package/dist/{index-CP_dmFn4.d.ts → index-Cj8oRSOc.d.ts} +426 -207
- package/dist/index.cjs +5023 -7193
- package/dist/index.d.cts +1537 -1612
- package/dist/index.d.ts +1537 -1612
- package/dist/index.mjs +4998 -7142
- package/dist/preset.cjs +34 -63
- package/dist/preset.mjs +34 -63
- package/dist/styles.css +3498 -58
- package/dist/theme/index.cjs +1817 -639
- package/dist/theme/index.d.cts +2 -2
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/index.mjs +1816 -638
- package/dist/tokens/index.cjs +463 -440
- package/dist/tokens/index.d.cts +2 -2
- package/dist/tokens/index.d.ts +2 -2
- package/dist/tokens/index.mjs +464 -440
- package/package.json +27 -19
package/dist/tokens/index.cjs
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
// src/tokens/colors.ts
|
|
3
|
+
// src/FOUNDATION/tokens/colors.ts
|
|
4
4
|
var primaryColors = {
|
|
5
5
|
50: "210 40% 98%",
|
|
6
6
|
// Lightest blue
|
|
7
7
|
100: "210 40% 96%",
|
|
8
8
|
200: "217 32.6% 17.5%",
|
|
9
9
|
300: "216 28% 26%",
|
|
10
|
-
400: "215 25%
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
400: "215 25% 30%",
|
|
11
|
+
// Adjusted for better progression
|
|
12
|
+
500: "215 20% 38%",
|
|
13
|
+
// Adjusted for better progression
|
|
14
|
+
600: "215 16% 45%",
|
|
15
|
+
// Adjusted for better progression
|
|
16
|
+
700: "216 12% 35%",
|
|
17
|
+
// Rebalanced for semantic strength (L* ~35)
|
|
18
|
+
800: "217 10% 28%",
|
|
19
|
+
// Adjusted for proper progression
|
|
20
|
+
900: "222 47.4% 18%",
|
|
21
|
+
// Adjusted for better progression
|
|
17
22
|
950: "222 84% 4.9%"
|
|
18
23
|
// Darkest blue
|
|
19
24
|
};
|
|
@@ -23,12 +28,15 @@ var accentColors = {
|
|
|
23
28
|
200: "280 60% 85%",
|
|
24
29
|
300: "280 55% 75%",
|
|
25
30
|
400: "280 50% 65%",
|
|
26
|
-
500: "280
|
|
27
|
-
//
|
|
28
|
-
600: "259 65%
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
500: "280 65% 72%",
|
|
32
|
+
// Adjusted for WCAG AA contrast (4.5:1) with dark text in night mode
|
|
33
|
+
600: "259 65% 59%",
|
|
34
|
+
// Default accent - lightened for better contrast vs secondary (L* ~59, was 52, 15 delta from secondary-600)
|
|
35
|
+
700: "259 60% 44%",
|
|
36
|
+
// Active state - rebalanced for semantic strength (L* ~44, 12 delta from secondary-700)
|
|
37
|
+
800: "259 55% 38%",
|
|
38
|
+
// Adjusted for proper progression
|
|
39
|
+
900: "259 50% 32%",
|
|
32
40
|
950: "259 45% 30%"
|
|
33
41
|
};
|
|
34
42
|
var secondaryColors = {
|
|
@@ -37,12 +45,15 @@ var secondaryColors = {
|
|
|
37
45
|
200: "173 100% 85%",
|
|
38
46
|
300: "173 100% 70%",
|
|
39
47
|
400: "173 100% 55%",
|
|
40
|
-
500: "173 100%
|
|
41
|
-
//
|
|
42
|
-
600: "173 100%
|
|
43
|
-
|
|
48
|
+
500: "173 100% 45%",
|
|
49
|
+
// Adjusted for better scale progression
|
|
50
|
+
600: "173 100% 44%",
|
|
51
|
+
// Default secondary - rebalanced for better contrast vs primary (L* ~44, was 38)
|
|
52
|
+
700: "173 95% 32%",
|
|
53
|
+
// Active state - rebalanced for semantic strength (L* ~32)
|
|
44
54
|
800: "173 90% 22%",
|
|
45
|
-
|
|
55
|
+
// Primary variant - darkened for dominance (L* ~22, was 26)
|
|
56
|
+
900: "173 85% 20%",
|
|
46
57
|
950: "173 80% 12%"
|
|
47
58
|
};
|
|
48
59
|
var surfaceColors = {
|
|
@@ -135,13 +146,13 @@ var chartColors = {
|
|
|
135
146
|
var textColors = {
|
|
136
147
|
day: {
|
|
137
148
|
primary: "0 0% 9%",
|
|
138
|
-
// Almost black
|
|
149
|
+
// Almost black (neutral-900 equivalent)
|
|
139
150
|
secondary: "0 0% 45%",
|
|
140
151
|
// Medium gray
|
|
141
152
|
tertiary: "0 0% 65%",
|
|
142
153
|
// Light gray
|
|
143
|
-
muted: "0 0%
|
|
144
|
-
// Muted gray
|
|
154
|
+
muted: "0 0% 42%",
|
|
155
|
+
// Muted gray - adjusted for WCAG AA contrast (4.5:1) on surface.elevated2
|
|
145
156
|
inverse: "0 0% 100%"
|
|
146
157
|
// White (for dark backgrounds)
|
|
147
158
|
},
|
|
@@ -391,7 +402,7 @@ var tailwindThemeColors = {
|
|
|
391
402
|
}
|
|
392
403
|
};
|
|
393
404
|
|
|
394
|
-
// src/tokens/components/alert.ts
|
|
405
|
+
// src/FOUNDATION/tokens/components/alert.ts
|
|
395
406
|
var ALERT_TOKENS = {
|
|
396
407
|
/**
|
|
397
408
|
* Padding for alert content
|
|
@@ -453,7 +464,140 @@ var ALERT_TOKENS = {
|
|
|
453
464
|
}
|
|
454
465
|
};
|
|
455
466
|
|
|
456
|
-
// src/tokens/components/
|
|
467
|
+
// src/FOUNDATION/tokens/components/motion.ts
|
|
468
|
+
var MOTION_TOKENS = {
|
|
469
|
+
/**
|
|
470
|
+
* Transition property tokens
|
|
471
|
+
* Maps to Tailwind transition utilities
|
|
472
|
+
*/
|
|
473
|
+
transition: {
|
|
474
|
+
all: "transition-all",
|
|
475
|
+
// All properties
|
|
476
|
+
colors: "transition-colors",
|
|
477
|
+
// Color properties only
|
|
478
|
+
opacity: "transition-opacity",
|
|
479
|
+
// Opacity only
|
|
480
|
+
transform: "transition-transform",
|
|
481
|
+
// Transform only
|
|
482
|
+
shadow: "transition-shadow",
|
|
483
|
+
// Box shadow only
|
|
484
|
+
none: "transition-none"
|
|
485
|
+
// No transition
|
|
486
|
+
},
|
|
487
|
+
/**
|
|
488
|
+
* Duration tokens
|
|
489
|
+
* Maps to foundation motion duration tokens via Tailwind
|
|
490
|
+
*/
|
|
491
|
+
duration: {
|
|
492
|
+
instant: "duration-0",
|
|
493
|
+
// 0ms
|
|
494
|
+
fast: "duration-fast",
|
|
495
|
+
// 150ms - maps to motion.durations.fast
|
|
496
|
+
normal: "duration-normal",
|
|
497
|
+
// 300ms - maps to motion.durations.normal
|
|
498
|
+
slow: "duration-slow",
|
|
499
|
+
// 500ms - maps to motion.durations.slow
|
|
500
|
+
slower: "duration-slower",
|
|
501
|
+
// 700ms - maps to motion.durations.slower
|
|
502
|
+
slowest: "duration-slowest",
|
|
503
|
+
// 1000ms - maps to motion.durations.slowest
|
|
504
|
+
// Granular durations
|
|
505
|
+
"75": "duration-75",
|
|
506
|
+
// 75ms
|
|
507
|
+
"100": "duration-100",
|
|
508
|
+
// 100ms
|
|
509
|
+
"200": "duration-200",
|
|
510
|
+
// 200ms
|
|
511
|
+
"250": "duration-250",
|
|
512
|
+
// 250ms
|
|
513
|
+
"300": "duration-300",
|
|
514
|
+
// 300ms
|
|
515
|
+
"400": "duration-400",
|
|
516
|
+
// 400ms
|
|
517
|
+
"500": "duration-500",
|
|
518
|
+
// 500ms
|
|
519
|
+
"600": "duration-600",
|
|
520
|
+
// 600ms
|
|
521
|
+
"700": "duration-700",
|
|
522
|
+
// 700ms
|
|
523
|
+
"800": "duration-800",
|
|
524
|
+
// 800ms
|
|
525
|
+
"1000": "duration-1000"
|
|
526
|
+
// 1000ms
|
|
527
|
+
},
|
|
528
|
+
/**
|
|
529
|
+
* Easing tokens
|
|
530
|
+
* Maps to foundation motion easing tokens via Tailwind
|
|
531
|
+
*/
|
|
532
|
+
easing: {
|
|
533
|
+
linear: "ease-linear",
|
|
534
|
+
// Linear easing
|
|
535
|
+
in: "ease-in",
|
|
536
|
+
// Ease in
|
|
537
|
+
out: "ease-out",
|
|
538
|
+
// Ease out (recommended for most UI)
|
|
539
|
+
"in-out": "ease-in-out",
|
|
540
|
+
// Ease in-out
|
|
541
|
+
bounce: "ease-bounce",
|
|
542
|
+
// Bounce easing
|
|
543
|
+
elastic: "ease-elastic"
|
|
544
|
+
// Elastic easing
|
|
545
|
+
},
|
|
546
|
+
/**
|
|
547
|
+
* Pre-configured transition tokens
|
|
548
|
+
* Combines duration and easing for common use cases
|
|
549
|
+
*/
|
|
550
|
+
transitionPreset: {
|
|
551
|
+
fast: "transition-all duration-fast ease-out",
|
|
552
|
+
// Fast transition
|
|
553
|
+
normal: "transition-all duration-normal ease-in-out",
|
|
554
|
+
// Normal transition (default)
|
|
555
|
+
slow: "transition-all duration-slow ease-in-out",
|
|
556
|
+
// Slow transition
|
|
557
|
+
colors: "transition-colors duration-normal ease-out",
|
|
558
|
+
// Color transitions (common)
|
|
559
|
+
transform: "transition-transform duration-normal ease-out",
|
|
560
|
+
// Transform transitions
|
|
561
|
+
opacity: "transition-opacity duration-fast ease-out"
|
|
562
|
+
// Opacity transitions
|
|
563
|
+
},
|
|
564
|
+
/**
|
|
565
|
+
* Animation tokens
|
|
566
|
+
* Maps to foundation motion animation tokens via Tailwind
|
|
567
|
+
*/
|
|
568
|
+
animation: {
|
|
569
|
+
none: "animate-none",
|
|
570
|
+
// No animation
|
|
571
|
+
spin: "animate-spin",
|
|
572
|
+
// Spin animation
|
|
573
|
+
pulse: "animate-pulse",
|
|
574
|
+
// Pulse animation
|
|
575
|
+
bounce: "animate-bounce",
|
|
576
|
+
// Bounce animation
|
|
577
|
+
ping: "animate-ping",
|
|
578
|
+
// Ping animation
|
|
579
|
+
shake: "animate-shake",
|
|
580
|
+
// Shake animation
|
|
581
|
+
fadeIn: "animate-fadeIn",
|
|
582
|
+
// Fade in
|
|
583
|
+
fadeOut: "animate-fadeOut",
|
|
584
|
+
// Fade out
|
|
585
|
+
slideInUp: "animate-slideInUp",
|
|
586
|
+
// Slide in from bottom
|
|
587
|
+
slideInDown: "animate-slideInDown",
|
|
588
|
+
// Slide in from top
|
|
589
|
+
slideInLeft: "animate-slideInLeft",
|
|
590
|
+
// Slide in from right
|
|
591
|
+
slideInRight: "animate-slideInRight",
|
|
592
|
+
// Slide in from left
|
|
593
|
+
scaleIn: "animate-scaleIn",
|
|
594
|
+
// Scale in
|
|
595
|
+
scaleOut: "animate-scaleOut"
|
|
596
|
+
// Scale out
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
// src/FOUNDATION/tokens/components/button.ts
|
|
457
601
|
var BUTTON_TOKENS = {
|
|
458
602
|
/**
|
|
459
603
|
* Button heights by size
|
|
@@ -485,25 +629,48 @@ var BUTTON_TOKENS = {
|
|
|
485
629
|
vertical: {
|
|
486
630
|
sm: "py-xs",
|
|
487
631
|
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
488
|
-
md: "py-sm"
|
|
632
|
+
md: "py-sm",
|
|
489
633
|
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
634
|
+
lg: "py-md"
|
|
635
|
+
// 16px (1rem) - maps to semanticSpacing.md - standardized for visual distinction
|
|
490
636
|
}
|
|
491
637
|
},
|
|
492
638
|
/**
|
|
493
|
-
* Gap between icon and text
|
|
639
|
+
* Gap between icon and text by size
|
|
640
|
+
* Scales with button size for visual consistency
|
|
494
641
|
*/
|
|
495
|
-
gap:
|
|
496
|
-
|
|
642
|
+
gap: {
|
|
643
|
+
sm: "gap-xs",
|
|
644
|
+
// 4px (0.25rem) - smaller gap for small buttons
|
|
645
|
+
md: "gap-sm",
|
|
646
|
+
// 8px (0.5rem) - medium gap for medium buttons
|
|
647
|
+
lg: "gap-md"
|
|
648
|
+
// 16px (1rem) - larger gap for large buttons
|
|
649
|
+
},
|
|
497
650
|
/**
|
|
498
651
|
* Border radius for all button sizes
|
|
652
|
+
* Consistent radius across sizes for visual harmony
|
|
653
|
+
*
|
|
654
|
+
* @enforcement TUNG_TOKEN_AUTHORITY_EXPANSION_PLAN
|
|
655
|
+
* @rule References componentRadius.button.md (6px / 0.375rem) from Radius Authority
|
|
656
|
+
* @see docs/architecture/RADIUS_AUTHORITY_CONTRACT.md
|
|
499
657
|
*/
|
|
500
658
|
radius: "rounded-md",
|
|
501
|
-
// 6px
|
|
659
|
+
// References componentRadius.button.md (6px / 0.375rem) - Radius Authority compliant
|
|
502
660
|
/**
|
|
503
|
-
* Icon size within buttons
|
|
661
|
+
* Icon size within buttons by button size
|
|
662
|
+
* Scales proportionally with button size for visual balance
|
|
504
663
|
*/
|
|
505
|
-
iconSize:
|
|
506
|
-
|
|
664
|
+
iconSize: {
|
|
665
|
+
sm: "size-3.5",
|
|
666
|
+
// 14px (0.875rem) - smaller icon for small buttons
|
|
667
|
+
md: "size-4",
|
|
668
|
+
// 16px (1rem) - medium icon for medium buttons
|
|
669
|
+
lg: "size-5",
|
|
670
|
+
// 20px (1.25rem) - larger icon for large buttons
|
|
671
|
+
icon: "size-4"
|
|
672
|
+
// 16px (1rem) - medium icon for icon-only buttons
|
|
673
|
+
},
|
|
507
674
|
/**
|
|
508
675
|
* Width tokens
|
|
509
676
|
*/
|
|
@@ -513,15 +680,19 @@ var BUTTON_TOKENS = {
|
|
|
513
680
|
},
|
|
514
681
|
/**
|
|
515
682
|
* Font sizes by button size
|
|
516
|
-
*
|
|
683
|
+
* References foundation typography fontSize tokens from Typography Authority
|
|
684
|
+
*
|
|
685
|
+
* @enforcement TUNG_TOKEN_AUTHORITY_EXPANSION_PLAN
|
|
686
|
+
* @rule All fontSize values reference Typography Authority tokens
|
|
687
|
+
* @see docs/architecture/TYPOGRAPHY_AUTHORITY_CONTRACT.md
|
|
517
688
|
*/
|
|
518
689
|
fontSize: {
|
|
519
690
|
sm: "text-xs",
|
|
520
|
-
//
|
|
691
|
+
// References fontSize.xs[0] from Typography Authority (~12px)
|
|
521
692
|
md: "text-sm",
|
|
522
|
-
//
|
|
523
|
-
lg: "text-
|
|
524
|
-
//
|
|
693
|
+
// References fontSize.sm[0] from Typography Authority (~14px)
|
|
694
|
+
lg: "text-base"
|
|
695
|
+
// References fontSize.base[0] from Typography Authority (~16px)
|
|
525
696
|
},
|
|
526
697
|
/**
|
|
527
698
|
* Shadow tokens by variant
|
|
@@ -536,50 +707,137 @@ var BUTTON_TOKENS = {
|
|
|
536
707
|
/**
|
|
537
708
|
* Color tokens for button variants
|
|
538
709
|
* Uses semantic color tokens that map to CSS variables
|
|
710
|
+
*
|
|
711
|
+
* State tokens (hover, active, disabled) use CSS variables from State Matrix.
|
|
712
|
+
* All states are injected via updateStateMatrixFromTokens() and consumed via arbitrary values.
|
|
713
|
+
* States react to Color Authority changes automatically through State Matrix.
|
|
714
|
+
*
|
|
715
|
+
* Interaction Authority Rules:
|
|
716
|
+
* - Hover (Priority 4): hover: prefix - ONLY when !disabled && !loading && pointer-events:auto
|
|
717
|
+
* - Active (Priority 3): active: prefix - ONLY when !disabled && !loading && mousedown
|
|
718
|
+
* - Focus (Priority 5): focus-visible: prefix - ONLY when !disabled && keyboard navigation
|
|
719
|
+
* - Disabled (Priority 1): disabled: prefix - Blocks ALL interactions
|
|
720
|
+
* - Loading (Priority 2): loading: prefix - Blocks hover/active (when implemented)
|
|
721
|
+
* - Base (Priority 6): No prefix - Default state, pointer-events: auto
|
|
722
|
+
*
|
|
723
|
+
* @enforcement TUNG_STATE_AUTHORITY_FOUNDATION_LOCK
|
|
724
|
+
* @enforcement TUNG_INTERACTION_AUTHORITY_FOUNDATION
|
|
725
|
+
* @rule States use CSS variables, not Tailwind variants
|
|
726
|
+
* @rule All state variables follow pattern: --{component}-{variant}-{state}-{property}
|
|
727
|
+
* @rule Visual states (colors) are SEPARATE from interaction states (pointer-events)
|
|
728
|
+
* @rule Hover MUST work with real mouse cursor, NOT just DevTools force state
|
|
729
|
+
* @rule Active MUST activate only on mousedown, NOT on hover
|
|
730
|
+
* @rule Focus MUST activate only on keyboard navigation, NOT on mouse click
|
|
731
|
+
*
|
|
732
|
+
* @see docs/architecture/INTERACTION_AUTHORITY_CONTRACT.md
|
|
539
733
|
*/
|
|
540
734
|
variant: {
|
|
541
735
|
primary: {
|
|
542
|
-
background: "bg-primary",
|
|
543
|
-
// Primary background
|
|
736
|
+
background: "bg-[hsl(var(--button-primary-base-bg))]",
|
|
737
|
+
// Primary base background - CSS variable from State Matrix
|
|
544
738
|
text: "text-primary-foreground",
|
|
545
739
|
// Primary text using CSS var
|
|
546
|
-
hover: "hover:bg-primary
|
|
547
|
-
// Primary hover
|
|
740
|
+
hover: "hover:bg-[hsl(var(--button-primary-hover-bg))]",
|
|
741
|
+
// Primary hover - CSS variable from State Matrix (Priority 4: blocked by disabled/loading)
|
|
742
|
+
active: "active:bg-[hsl(var(--button-primary-active-bg))]",
|
|
743
|
+
// Primary active - CSS variable from State Matrix (Priority 3: blocked by disabled/loading, priority over hover)
|
|
744
|
+
focus: "focus-visible:bg-[hsl(var(--button-primary-focus-bg))]",
|
|
745
|
+
// Primary focus - CSS variable from State Matrix (Priority 5: keyboard navigation only)
|
|
746
|
+
disabled: {
|
|
747
|
+
background: "disabled:bg-[hsl(var(--button-primary-disabled-bg))]",
|
|
748
|
+
// Disabled background - CSS variable from State Matrix (Priority 1: blocks all)
|
|
749
|
+
text: "disabled:text-[hsl(var(--button-primary-disabled-text))]"
|
|
750
|
+
// Disabled text - CSS variable from State Matrix
|
|
751
|
+
},
|
|
752
|
+
loading: "bg-[hsl(var(--button-primary-loading-bg))]"
|
|
753
|
+
// Primary loading - CSS variable from State Matrix (Priority 2: blocks hover/active, used with aria-busy/data-loading when implemented)
|
|
548
754
|
},
|
|
549
755
|
secondary: {
|
|
550
756
|
background: "bg-secondary",
|
|
551
757
|
// Secondary background using CSS var
|
|
552
758
|
text: "text-secondary-foreground",
|
|
553
759
|
// Secondary text using CSS var
|
|
554
|
-
hover: "hover:bg-secondary
|
|
555
|
-
// Secondary hover
|
|
760
|
+
hover: "hover:bg-[hsl(var(--button-secondary-hover-bg))]",
|
|
761
|
+
// Secondary hover - CSS variable from State Matrix
|
|
762
|
+
active: "active:bg-[hsl(var(--button-secondary-active-bg))]",
|
|
763
|
+
// Secondary active - CSS variable from State Matrix
|
|
764
|
+
disabled: {
|
|
765
|
+
background: "disabled:bg-[hsl(var(--button-secondary-disabled-bg))]",
|
|
766
|
+
// Disabled background - CSS variable from State Matrix
|
|
767
|
+
text: "disabled:text-[hsl(var(--button-secondary-disabled-text))]"
|
|
768
|
+
// Disabled text - CSS variable from State Matrix
|
|
769
|
+
}
|
|
556
770
|
},
|
|
557
771
|
accent: {
|
|
558
772
|
background: "bg-accent",
|
|
559
773
|
// Accent background using CSS var
|
|
560
774
|
text: "text-accent-foreground",
|
|
561
775
|
// Accent text using CSS var
|
|
562
|
-
hover: "hover:bg-accent
|
|
563
|
-
// Accent hover
|
|
776
|
+
hover: "hover:bg-[hsl(var(--button-accent-hover-bg))]",
|
|
777
|
+
// Accent hover - CSS variable from State Matrix
|
|
778
|
+
active: "active:bg-[hsl(var(--button-accent-active-bg))]",
|
|
779
|
+
// Accent active - CSS variable from State Matrix
|
|
780
|
+
disabled: {
|
|
781
|
+
background: "disabled:bg-[hsl(var(--button-accent-disabled-bg))]",
|
|
782
|
+
// Disabled background - CSS variable from State Matrix
|
|
783
|
+
text: "disabled:text-[hsl(var(--button-accent-disabled-text))]"
|
|
784
|
+
// Disabled text - CSS variable from State Matrix
|
|
785
|
+
}
|
|
564
786
|
},
|
|
565
787
|
outline: {
|
|
566
788
|
border: "border border-input",
|
|
567
789
|
// Input border using CSS var
|
|
568
790
|
background: "bg-background",
|
|
569
791
|
// Background using CSS var
|
|
792
|
+
text: "text-foreground",
|
|
793
|
+
// Foreground text using CSS var
|
|
570
794
|
hover: {
|
|
571
|
-
background: "hover:bg-
|
|
572
|
-
//
|
|
573
|
-
text: "hover:text-
|
|
574
|
-
//
|
|
795
|
+
background: "hover:bg-[hsl(var(--button-outline-hover-bg))]",
|
|
796
|
+
// Outline hover background - CSS variable from State Matrix
|
|
797
|
+
text: "hover:text-[hsl(var(--button-outline-hover-text))]",
|
|
798
|
+
// Outline hover text - CSS variable from State Matrix
|
|
799
|
+
border: "hover:border-[hsl(var(--button-outline-hover-border))]"
|
|
800
|
+
// Outline hover border - CSS variable from State Matrix
|
|
801
|
+
},
|
|
802
|
+
active: {
|
|
803
|
+
background: "active:bg-[hsl(var(--button-outline-active-bg))]",
|
|
804
|
+
// Outline active background - CSS variable from State Matrix
|
|
805
|
+
text: "active:text-[hsl(var(--button-outline-active-text))]",
|
|
806
|
+
// Outline active text - CSS variable from State Matrix
|
|
807
|
+
border: "active:border-[hsl(var(--button-outline-active-border))]"
|
|
808
|
+
// Outline active border - CSS variable from State Matrix
|
|
809
|
+
},
|
|
810
|
+
disabled: {
|
|
811
|
+
background: "disabled:bg-[hsl(var(--button-outline-disabled-bg))]",
|
|
812
|
+
// Disabled background - CSS variable from State Matrix
|
|
813
|
+
text: "disabled:text-[hsl(var(--button-outline-disabled-text))]",
|
|
814
|
+
// Disabled text - CSS variable from State Matrix
|
|
815
|
+
border: "disabled:border-[hsl(var(--button-outline-disabled-border))]"
|
|
816
|
+
// Disabled border - CSS variable from State Matrix
|
|
575
817
|
}
|
|
576
818
|
},
|
|
577
819
|
ghost: {
|
|
820
|
+
background: "bg-transparent",
|
|
821
|
+
// Transparent background
|
|
822
|
+
text: "text-foreground",
|
|
823
|
+
// Foreground text using CSS var
|
|
578
824
|
hover: {
|
|
579
|
-
background: "hover:bg-
|
|
580
|
-
//
|
|
581
|
-
text: "hover:text-
|
|
582
|
-
//
|
|
825
|
+
background: "hover:bg-[hsl(var(--button-ghost-hover-bg))]",
|
|
826
|
+
// Ghost hover background - CSS variable from State Matrix
|
|
827
|
+
text: "hover:text-[hsl(var(--button-ghost-hover-text))]"
|
|
828
|
+
// Ghost hover text - CSS variable from State Matrix
|
|
829
|
+
},
|
|
830
|
+
active: {
|
|
831
|
+
background: "active:bg-[hsl(var(--button-ghost-active-bg))]",
|
|
832
|
+
// Ghost active background - CSS variable from State Matrix
|
|
833
|
+
text: "active:text-[hsl(var(--button-ghost-active-text))]"
|
|
834
|
+
// Ghost active text - CSS variable from State Matrix
|
|
835
|
+
},
|
|
836
|
+
disabled: {
|
|
837
|
+
background: "disabled:bg-[hsl(var(--button-ghost-disabled-bg))]",
|
|
838
|
+
// Disabled background - CSS variable from State Matrix
|
|
839
|
+
text: "disabled:text-[hsl(var(--button-ghost-disabled-text))]"
|
|
840
|
+
// Disabled text - CSS variable from State Matrix
|
|
583
841
|
}
|
|
584
842
|
},
|
|
585
843
|
destructive: {
|
|
@@ -587,20 +845,98 @@ var BUTTON_TOKENS = {
|
|
|
587
845
|
// Destructive background using CSS var
|
|
588
846
|
text: "text-destructive-foreground",
|
|
589
847
|
// Destructive text using CSS var
|
|
590
|
-
hover: "hover:bg-destructive
|
|
591
|
-
// Destructive hover
|
|
848
|
+
hover: "hover:bg-[hsl(var(--button-destructive-hover-bg))]",
|
|
849
|
+
// Destructive hover - CSS variable from State Matrix
|
|
850
|
+
active: "active:bg-[hsl(var(--button-destructive-active-bg))]",
|
|
851
|
+
// Destructive active - CSS variable from State Matrix
|
|
852
|
+
disabled: {
|
|
853
|
+
background: "disabled:bg-[hsl(var(--button-destructive-disabled-bg))]",
|
|
854
|
+
// Disabled background - CSS variable from State Matrix
|
|
855
|
+
text: "disabled:text-[hsl(var(--button-destructive-disabled-text))]"
|
|
856
|
+
// Disabled text - CSS variable from State Matrix
|
|
857
|
+
}
|
|
592
858
|
}
|
|
593
859
|
},
|
|
594
860
|
/**
|
|
595
861
|
* Transition tokens
|
|
862
|
+
* References Motion Authority tokens for consistent motion behavior
|
|
863
|
+
*
|
|
864
|
+
* @enforcement TUNG_TOKEN_AUTHORITY_EXPANSION_PLAN
|
|
865
|
+
* @rule Uses MOTION_TOKENS.transitionPreset.colors from Motion Authority
|
|
866
|
+
* @rule Motion transitions MUST use canonical motion tokens only
|
|
867
|
+
* @see docs/architecture/MOTION_AUTHORITY_CONTRACT.md
|
|
596
868
|
*/
|
|
597
869
|
transition: {
|
|
598
|
-
colors:
|
|
599
|
-
//
|
|
870
|
+
colors: MOTION_TOKENS.transitionPreset.colors
|
|
871
|
+
// "transition-colors duration-normal ease-out" - Motion Authority compliant
|
|
872
|
+
},
|
|
873
|
+
/**
|
|
874
|
+
* Global state tokens
|
|
875
|
+
* Shared state tokens that apply across all variants
|
|
876
|
+
* Variant-specific states are defined in variant.*.active and variant.*.disabled
|
|
877
|
+
*
|
|
878
|
+
* @enforcement TUNG_INTERACTION_AUTHORITY_FOUNDATION
|
|
879
|
+
* @rule All interaction states MUST follow Interaction Authority Contract
|
|
880
|
+
* @rule State priority: disabled > loading > active > hover > focus-visible > base
|
|
881
|
+
* @rule Visual states (colors) are SEPARATE from interaction states (pointer-events, cursor)
|
|
882
|
+
* @rule All states MUST be browser-native (CSS pseudo-classes), NOT JavaScript-managed
|
|
883
|
+
*/
|
|
884
|
+
state: {
|
|
885
|
+
/**
|
|
886
|
+
* Disabled state tokens
|
|
887
|
+
* Global disabled state tokens (variant-specific overrides in variant.*.disabled)
|
|
888
|
+
*
|
|
889
|
+
* Interaction Authority Rules:
|
|
890
|
+
* - Priority: 1 (Highest) - Blocks ALL interactions
|
|
891
|
+
* - MUST block hover, active, and focus states
|
|
892
|
+
* - MUST use disabled: prefix (never in base state)
|
|
893
|
+
* - Base state MUST have pointer-events: auto (default) for hover to work
|
|
894
|
+
*
|
|
895
|
+
* @enforcement TUNG_INTERACTION_AUTHORITY_FOUNDATION
|
|
896
|
+
* @enforcement TUNG_BUTTON_INTERACTION_FIX
|
|
897
|
+
* @rule Interaction Authority: pointer-events is NOT a visual token
|
|
898
|
+
* @rule pointer-events-none MUST use disabled: prefix (never in base state)
|
|
899
|
+
* @rule Base state MUST have pointer-events: auto (default) for hover to work
|
|
900
|
+
* @rule These tokens are applied in base but only activate when element is disabled
|
|
901
|
+
* @rule Hover is FORBIDDEN when disabled={true}
|
|
902
|
+
* @rule Active is FORBIDDEN when disabled={true}
|
|
903
|
+
* @rule Focus is FORBIDDEN when disabled={true} (for interactions)
|
|
904
|
+
*
|
|
905
|
+
* @see docs/architecture/INTERACTION_AUTHORITY_CONTRACT.md
|
|
906
|
+
*/
|
|
907
|
+
disabled: {
|
|
908
|
+
cursor: "disabled:cursor-not-allowed",
|
|
909
|
+
// Disabled cursor style (only applies when disabled)
|
|
910
|
+
pointerEvents: "disabled:pointer-events-none"
|
|
911
|
+
// Disable pointer events (only applies when disabled)
|
|
912
|
+
},
|
|
913
|
+
/**
|
|
914
|
+
* Focus state tokens
|
|
915
|
+
* Focus ring for keyboard navigation
|
|
916
|
+
*
|
|
917
|
+
* Interaction Authority Rules:
|
|
918
|
+
* - Priority: 5 - Lower than active and hover
|
|
919
|
+
* - MUST activate only on keyboard navigation (focus-visible: prefix)
|
|
920
|
+
* - MUST NOT activate on mouse click (use :focus-visible, not :focus)
|
|
921
|
+
* - MUST be blocked by disabled state
|
|
922
|
+
*
|
|
923
|
+
* @enforcement TUNG_INTERACTION_AUTHORITY_FOUNDATION
|
|
924
|
+
* @rule Focus MUST use focus-visible: prefix (keyboard navigation only)
|
|
925
|
+
* @rule Focus MUST be blocked when disabled={true}
|
|
926
|
+
* @rule Focus MUST NOT activate on mouse click
|
|
927
|
+
*
|
|
928
|
+
* @see docs/architecture/INTERACTION_AUTHORITY_CONTRACT.md
|
|
929
|
+
*/
|
|
930
|
+
focus: {
|
|
931
|
+
ring: "focus-visible:ring-1 focus-visible:ring-ring",
|
|
932
|
+
// Focus ring using semantic ring color
|
|
933
|
+
outline: "focus-visible:outline-none"
|
|
934
|
+
// Remove default outline (replaced by ring)
|
|
935
|
+
}
|
|
600
936
|
}
|
|
601
937
|
};
|
|
602
938
|
|
|
603
|
-
// src/tokens/components/card.ts
|
|
939
|
+
// src/FOUNDATION/tokens/components/card.ts
|
|
604
940
|
var CARD_TOKENS = {
|
|
605
941
|
/**
|
|
606
942
|
* Padding for card sections (CardHeader, CardContent, CardFooter)
|
|
@@ -684,7 +1020,7 @@ var CARD_TOKENS = {
|
|
|
684
1020
|
}
|
|
685
1021
|
};
|
|
686
1022
|
|
|
687
|
-
// src/tokens/components/artist.ts
|
|
1023
|
+
// src/FOUNDATION/tokens/components/artist.ts
|
|
688
1024
|
var ARTIST_TOKENS = {
|
|
689
1025
|
/**
|
|
690
1026
|
* Image container tokens
|
|
@@ -746,7 +1082,7 @@ var ARTIST_TOKENS = {
|
|
|
746
1082
|
}
|
|
747
1083
|
};
|
|
748
1084
|
|
|
749
|
-
// src/tokens/spacing.ts
|
|
1085
|
+
// src/FOUNDATION/tokens/spacing.ts
|
|
750
1086
|
var spacing = {
|
|
751
1087
|
// Zero spacing
|
|
752
1088
|
0: "0",
|
|
@@ -1006,7 +1342,7 @@ var tailwindSpacingConfig = {
|
|
|
1006
1342
|
}
|
|
1007
1343
|
};
|
|
1008
1344
|
|
|
1009
|
-
// src/tokens/components/data.ts
|
|
1345
|
+
// src/FOUNDATION/tokens/components/data.ts
|
|
1010
1346
|
var DATA_TOKENS = {
|
|
1011
1347
|
/**
|
|
1012
1348
|
* Skeleton Component Tokens
|
|
@@ -1076,7 +1412,7 @@ var DATA_TOKENS = {
|
|
|
1076
1412
|
}
|
|
1077
1413
|
};
|
|
1078
1414
|
|
|
1079
|
-
// src/tokens/components/icon.ts
|
|
1415
|
+
// src/FOUNDATION/tokens/components/icon.ts
|
|
1080
1416
|
var ICON_TOKENS = {
|
|
1081
1417
|
/**
|
|
1082
1418
|
* Icon sizes
|
|
@@ -1132,140 +1468,7 @@ var ICON_TOKENS = {
|
|
|
1132
1468
|
}
|
|
1133
1469
|
};
|
|
1134
1470
|
|
|
1135
|
-
// src/tokens/components/
|
|
1136
|
-
var MOTION_TOKENS = {
|
|
1137
|
-
/**
|
|
1138
|
-
* Transition property tokens
|
|
1139
|
-
* Maps to Tailwind transition utilities
|
|
1140
|
-
*/
|
|
1141
|
-
transition: {
|
|
1142
|
-
all: "transition-all",
|
|
1143
|
-
// All properties
|
|
1144
|
-
colors: "transition-colors",
|
|
1145
|
-
// Color properties only
|
|
1146
|
-
opacity: "transition-opacity",
|
|
1147
|
-
// Opacity only
|
|
1148
|
-
transform: "transition-transform",
|
|
1149
|
-
// Transform only
|
|
1150
|
-
shadow: "transition-shadow",
|
|
1151
|
-
// Box shadow only
|
|
1152
|
-
none: "transition-none"
|
|
1153
|
-
// No transition
|
|
1154
|
-
},
|
|
1155
|
-
/**
|
|
1156
|
-
* Duration tokens
|
|
1157
|
-
* Maps to foundation motion duration tokens via Tailwind
|
|
1158
|
-
*/
|
|
1159
|
-
duration: {
|
|
1160
|
-
instant: "duration-0",
|
|
1161
|
-
// 0ms
|
|
1162
|
-
fast: "duration-fast",
|
|
1163
|
-
// 150ms - maps to motion.durations.fast
|
|
1164
|
-
normal: "duration-normal",
|
|
1165
|
-
// 300ms - maps to motion.durations.normal
|
|
1166
|
-
slow: "duration-slow",
|
|
1167
|
-
// 500ms - maps to motion.durations.slow
|
|
1168
|
-
slower: "duration-slower",
|
|
1169
|
-
// 700ms - maps to motion.durations.slower
|
|
1170
|
-
slowest: "duration-slowest",
|
|
1171
|
-
// 1000ms - maps to motion.durations.slowest
|
|
1172
|
-
// Granular durations
|
|
1173
|
-
"75": "duration-75",
|
|
1174
|
-
// 75ms
|
|
1175
|
-
"100": "duration-100",
|
|
1176
|
-
// 100ms
|
|
1177
|
-
"200": "duration-200",
|
|
1178
|
-
// 200ms
|
|
1179
|
-
"250": "duration-250",
|
|
1180
|
-
// 250ms
|
|
1181
|
-
"300": "duration-300",
|
|
1182
|
-
// 300ms
|
|
1183
|
-
"400": "duration-400",
|
|
1184
|
-
// 400ms
|
|
1185
|
-
"500": "duration-500",
|
|
1186
|
-
// 500ms
|
|
1187
|
-
"600": "duration-600",
|
|
1188
|
-
// 600ms
|
|
1189
|
-
"700": "duration-700",
|
|
1190
|
-
// 700ms
|
|
1191
|
-
"800": "duration-800",
|
|
1192
|
-
// 800ms
|
|
1193
|
-
"1000": "duration-1000"
|
|
1194
|
-
// 1000ms
|
|
1195
|
-
},
|
|
1196
|
-
/**
|
|
1197
|
-
* Easing tokens
|
|
1198
|
-
* Maps to foundation motion easing tokens via Tailwind
|
|
1199
|
-
*/
|
|
1200
|
-
easing: {
|
|
1201
|
-
linear: "ease-linear",
|
|
1202
|
-
// Linear easing
|
|
1203
|
-
in: "ease-in",
|
|
1204
|
-
// Ease in
|
|
1205
|
-
out: "ease-out",
|
|
1206
|
-
// Ease out (recommended for most UI)
|
|
1207
|
-
"in-out": "ease-in-out",
|
|
1208
|
-
// Ease in-out
|
|
1209
|
-
bounce: "ease-bounce",
|
|
1210
|
-
// Bounce easing
|
|
1211
|
-
elastic: "ease-elastic"
|
|
1212
|
-
// Elastic easing
|
|
1213
|
-
},
|
|
1214
|
-
/**
|
|
1215
|
-
* Pre-configured transition tokens
|
|
1216
|
-
* Combines duration and easing for common use cases
|
|
1217
|
-
*/
|
|
1218
|
-
transitionPreset: {
|
|
1219
|
-
fast: "transition-all duration-fast ease-out",
|
|
1220
|
-
// Fast transition
|
|
1221
|
-
normal: "transition-all duration-normal ease-in-out",
|
|
1222
|
-
// Normal transition (default)
|
|
1223
|
-
slow: "transition-all duration-slow ease-in-out",
|
|
1224
|
-
// Slow transition
|
|
1225
|
-
colors: "transition-colors duration-normal ease-out",
|
|
1226
|
-
// Color transitions (common)
|
|
1227
|
-
transform: "transition-transform duration-normal ease-out",
|
|
1228
|
-
// Transform transitions
|
|
1229
|
-
opacity: "transition-opacity duration-fast ease-out"
|
|
1230
|
-
// Opacity transitions
|
|
1231
|
-
},
|
|
1232
|
-
/**
|
|
1233
|
-
* Animation tokens
|
|
1234
|
-
* Maps to foundation motion animation tokens via Tailwind
|
|
1235
|
-
*/
|
|
1236
|
-
animation: {
|
|
1237
|
-
none: "animate-none",
|
|
1238
|
-
// No animation
|
|
1239
|
-
spin: "animate-spin",
|
|
1240
|
-
// Spin animation
|
|
1241
|
-
pulse: "animate-pulse",
|
|
1242
|
-
// Pulse animation
|
|
1243
|
-
bounce: "animate-bounce",
|
|
1244
|
-
// Bounce animation
|
|
1245
|
-
ping: "animate-ping",
|
|
1246
|
-
// Ping animation
|
|
1247
|
-
shake: "animate-shake",
|
|
1248
|
-
// Shake animation
|
|
1249
|
-
fadeIn: "animate-fadeIn",
|
|
1250
|
-
// Fade in
|
|
1251
|
-
fadeOut: "animate-fadeOut",
|
|
1252
|
-
// Fade out
|
|
1253
|
-
slideInUp: "animate-slideInUp",
|
|
1254
|
-
// Slide in from bottom
|
|
1255
|
-
slideInDown: "animate-slideInDown",
|
|
1256
|
-
// Slide in from top
|
|
1257
|
-
slideInLeft: "animate-slideInLeft",
|
|
1258
|
-
// Slide in from right
|
|
1259
|
-
slideInRight: "animate-slideInRight",
|
|
1260
|
-
// Slide in from left
|
|
1261
|
-
scaleIn: "animate-scaleIn",
|
|
1262
|
-
// Scale in
|
|
1263
|
-
scaleOut: "animate-scaleOut"
|
|
1264
|
-
// Scale out
|
|
1265
|
-
}
|
|
1266
|
-
};
|
|
1267
|
-
|
|
1268
|
-
// src/tokens/components/domain.ts
|
|
1471
|
+
// src/FOUNDATION/tokens/components/domain.ts
|
|
1269
1472
|
var DOMAIN_TOKENS = {
|
|
1270
1473
|
/**
|
|
1271
1474
|
* Surface tokens for card containers
|
|
@@ -1787,7 +1990,7 @@ var DOMAIN_TOKENS = {
|
|
|
1787
1990
|
}
|
|
1788
1991
|
};
|
|
1789
1992
|
|
|
1790
|
-
// src/tokens/components/input.ts
|
|
1993
|
+
// src/FOUNDATION/tokens/components/input.ts
|
|
1791
1994
|
var INPUT_TOKENS = {
|
|
1792
1995
|
/**
|
|
1793
1996
|
* Input heights by size
|
|
@@ -2100,7 +2303,7 @@ var INPUT_TOKENS = {
|
|
|
2100
2303
|
}
|
|
2101
2304
|
};
|
|
2102
2305
|
|
|
2103
|
-
// src/tokens/components/checkbox.ts
|
|
2306
|
+
// src/FOUNDATION/tokens/components/checkbox.ts
|
|
2104
2307
|
var CHECKBOX_TOKENS = {
|
|
2105
2308
|
/**
|
|
2106
2309
|
* Checkbox sizes by size variant
|
|
@@ -2311,7 +2514,7 @@ var CHECKBOX_TOKENS = {
|
|
|
2311
2514
|
// Smooth transitions
|
|
2312
2515
|
};
|
|
2313
2516
|
|
|
2314
|
-
// src/tokens/components/switch.ts
|
|
2517
|
+
// src/FOUNDATION/tokens/components/switch.ts
|
|
2315
2518
|
var SWITCH_TOKENS = {
|
|
2316
2519
|
/**
|
|
2317
2520
|
* Track sizes by size variant
|
|
@@ -2578,7 +2781,7 @@ var SWITCH_TOKENS = {
|
|
|
2578
2781
|
// 2px padding around handle
|
|
2579
2782
|
};
|
|
2580
2783
|
|
|
2581
|
-
// src/tokens/components/radio.ts
|
|
2784
|
+
// src/FOUNDATION/tokens/components/radio.ts
|
|
2582
2785
|
var RADIO_TOKENS = {
|
|
2583
2786
|
/**
|
|
2584
2787
|
* Radio sizes by size variant
|
|
@@ -2771,7 +2974,7 @@ var RADIO_TOKENS = {
|
|
|
2771
2974
|
// Smooth transitions
|
|
2772
2975
|
};
|
|
2773
2976
|
|
|
2774
|
-
// src/tokens/components/surface.ts
|
|
2977
|
+
// src/FOUNDATION/tokens/components/surface.ts
|
|
2775
2978
|
var SURFACE_TOKENS = {
|
|
2776
2979
|
/**
|
|
2777
2980
|
* Padding values for surface variants
|
|
@@ -2859,7 +3062,7 @@ var SURFACE_TOKENS = {
|
|
|
2859
3062
|
}
|
|
2860
3063
|
};
|
|
2861
3064
|
|
|
2862
|
-
// src/tokens/components/text.ts
|
|
3065
|
+
// src/FOUNDATION/tokens/components/text.ts
|
|
2863
3066
|
var TEXT_TOKENS = {
|
|
2864
3067
|
/**
|
|
2865
3068
|
* Font sizes by text size variant
|
|
@@ -2874,8 +3077,16 @@ var TEXT_TOKENS = {
|
|
|
2874
3077
|
// Maps to fontSize.base[0]
|
|
2875
3078
|
lg: "text-lg",
|
|
2876
3079
|
// Maps to fontSize.lg[0]
|
|
2877
|
-
xl: "text-xl"
|
|
3080
|
+
xl: "text-xl",
|
|
2878
3081
|
// Maps to fontSize.xl[0]
|
|
3082
|
+
"2xl": "text-2xl",
|
|
3083
|
+
// Maps to fontSize.2xl[0]
|
|
3084
|
+
"3xl": "text-3xl",
|
|
3085
|
+
// Maps to fontSize.3xl[0]
|
|
3086
|
+
"4xl": "text-4xl",
|
|
3087
|
+
// Maps to fontSize.4xl[0]
|
|
3088
|
+
"5xl": "text-5xl"
|
|
3089
|
+
// Maps to fontSize.5xl[0]
|
|
2879
3090
|
},
|
|
2880
3091
|
/**
|
|
2881
3092
|
* Font weights by weight variant
|
|
@@ -2900,6 +3111,8 @@ var TEXT_TOKENS = {
|
|
|
2900
3111
|
// Maps to lineHeight.none
|
|
2901
3112
|
tight: "leading-tight",
|
|
2902
3113
|
// Maps to lineHeight.tight
|
|
3114
|
+
snug: "leading-snug",
|
|
3115
|
+
// Maps to lineHeight.snug
|
|
2903
3116
|
normal: "leading-normal",
|
|
2904
3117
|
// Maps to lineHeight.normal
|
|
2905
3118
|
relaxed: "leading-relaxed",
|
|
@@ -2927,7 +3140,7 @@ var TEXT_TOKENS = {
|
|
|
2927
3140
|
}
|
|
2928
3141
|
};
|
|
2929
3142
|
|
|
2930
|
-
// src/tokens/components/section.ts
|
|
3143
|
+
// src/FOUNDATION/tokens/components/section.ts
|
|
2931
3144
|
var SECTION_TOKENS = {
|
|
2932
3145
|
/**
|
|
2933
3146
|
* Vertical padding for sections
|
|
@@ -2959,7 +3172,7 @@ var SECTION_TOKENS = {
|
|
|
2959
3172
|
}
|
|
2960
3173
|
};
|
|
2961
3174
|
|
|
2962
|
-
// src/tokens/components/overlay.ts
|
|
3175
|
+
// src/FOUNDATION/tokens/components/overlay.ts
|
|
2963
3176
|
var OVERLAY_TOKENS = {
|
|
2964
3177
|
/**
|
|
2965
3178
|
* Backdrop tokens by variant
|
|
@@ -3244,7 +3457,7 @@ var OVERLAY_TOKENS = {
|
|
|
3244
3457
|
}
|
|
3245
3458
|
};
|
|
3246
3459
|
|
|
3247
|
-
// src/tokens/components/toast.ts
|
|
3460
|
+
// src/FOUNDATION/tokens/components/toast.ts
|
|
3248
3461
|
var TOAST_TOKENS = {
|
|
3249
3462
|
/**
|
|
3250
3463
|
* Spacing tokens for toast layout
|
|
@@ -3423,15 +3636,15 @@ var TOAST_TOKENS = {
|
|
|
3423
3636
|
// Default opacity (hidden)
|
|
3424
3637
|
groupHover: "group-hover:opacity-100",
|
|
3425
3638
|
// Visible on group hover
|
|
3426
|
-
focus: "focus:opacity-100",
|
|
3639
|
+
focus: "focus-visible:opacity-100",
|
|
3427
3640
|
// Visible on focus
|
|
3428
|
-
focusRing: "focus:outline-none focus:ring-1"
|
|
3641
|
+
focusRing: "focus-visible:outline-none focus-visible:ring-1"
|
|
3429
3642
|
// Focus ring styling
|
|
3430
3643
|
}
|
|
3431
3644
|
}
|
|
3432
3645
|
};
|
|
3433
3646
|
|
|
3434
|
-
// src/tokens/components/notifications.ts
|
|
3647
|
+
// src/FOUNDATION/tokens/components/notifications.ts
|
|
3435
3648
|
var NOTIFICATION_TOKENS = {
|
|
3436
3649
|
/**
|
|
3437
3650
|
* Spacing tokens for notification layout
|
|
@@ -3624,7 +3837,7 @@ var NOTIFICATION_TOKENS = {
|
|
|
3624
3837
|
}
|
|
3625
3838
|
};
|
|
3626
3839
|
|
|
3627
|
-
// src/tokens/components/navigation.ts
|
|
3840
|
+
// src/FOUNDATION/tokens/components/navigation.ts
|
|
3628
3841
|
var NAVIGATION_TOKENS = {
|
|
3629
3842
|
/**
|
|
3630
3843
|
* Navigation item heights by size
|
|
@@ -3829,7 +4042,7 @@ var NAVIGATION_TOKENS = {
|
|
|
3829
4042
|
}
|
|
3830
4043
|
};
|
|
3831
4044
|
|
|
3832
|
-
// src/tokens/components/menu.ts
|
|
4045
|
+
// src/FOUNDATION/tokens/components/menu.ts
|
|
3833
4046
|
var MENU_TOKENS = {
|
|
3834
4047
|
/**
|
|
3835
4048
|
* Menu item tokens by size
|
|
@@ -3945,7 +4158,7 @@ var MENU_TOKENS = {
|
|
|
3945
4158
|
}
|
|
3946
4159
|
};
|
|
3947
4160
|
|
|
3948
|
-
// src/tokens/components/popover.ts
|
|
4161
|
+
// src/FOUNDATION/tokens/components/popover.ts
|
|
3949
4162
|
var POPOVER_TOKENS = {
|
|
3950
4163
|
/**
|
|
3951
4164
|
* Popover content tokens by size
|
|
@@ -4030,196 +4243,7 @@ var POPOVER_TOKENS = {
|
|
|
4030
4243
|
}
|
|
4031
4244
|
};
|
|
4032
4245
|
|
|
4033
|
-
// src/tokens/components/
|
|
4034
|
-
var DROPDOWN_TOKENS = {
|
|
4035
|
-
/**
|
|
4036
|
-
* Trigger tokens by size
|
|
4037
|
-
* Button element that opens/closes the dropdown
|
|
4038
|
-
*/
|
|
4039
|
-
trigger: {
|
|
4040
|
-
height: {
|
|
4041
|
-
sm: "h-8",
|
|
4042
|
-
// 32px
|
|
4043
|
-
md: "h-9",
|
|
4044
|
-
// 36px
|
|
4045
|
-
lg: "h-10"
|
|
4046
|
-
// 40px
|
|
4047
|
-
},
|
|
4048
|
-
padding: {
|
|
4049
|
-
horizontal: {
|
|
4050
|
-
sm: "px-sm",
|
|
4051
|
-
// 8px
|
|
4052
|
-
md: "px-md",
|
|
4053
|
-
// 16px
|
|
4054
|
-
lg: "px-lg"
|
|
4055
|
-
// 24px
|
|
4056
|
-
},
|
|
4057
|
-
vertical: {
|
|
4058
|
-
sm: "py-xs",
|
|
4059
|
-
// 4px
|
|
4060
|
-
md: "py-xs",
|
|
4061
|
-
// 4px
|
|
4062
|
-
lg: "py-sm"
|
|
4063
|
-
// 8px
|
|
4064
|
-
}
|
|
4065
|
-
},
|
|
4066
|
-
radius: {
|
|
4067
|
-
sm: "rounded-md",
|
|
4068
|
-
// 6px
|
|
4069
|
-
md: "rounded-md",
|
|
4070
|
-
// 6px
|
|
4071
|
-
lg: "rounded-md"
|
|
4072
|
-
// 6px
|
|
4073
|
-
},
|
|
4074
|
-
fontSize: {
|
|
4075
|
-
sm: "text-sm",
|
|
4076
|
-
// Maps to fontSize.sm
|
|
4077
|
-
md: "text-base",
|
|
4078
|
-
// Maps to fontSize.base
|
|
4079
|
-
lg: "text-base"
|
|
4080
|
-
// Maps to fontSize.base
|
|
4081
|
-
},
|
|
4082
|
-
shadow: "shadow-sm",
|
|
4083
|
-
// Maps to elevationShadows.sm
|
|
4084
|
-
/**
|
|
4085
|
-
* Icon spacing for trigger
|
|
4086
|
-
*/
|
|
4087
|
-
icon: {
|
|
4088
|
-
spacing: "ml-sm"
|
|
4089
|
-
// 8px - spacing between trigger text and icon
|
|
4090
|
-
}
|
|
4091
|
-
},
|
|
4092
|
-
/**
|
|
4093
|
-
* Variant-based tokens
|
|
4094
|
-
* Border, background, text, and focus colors for different variants
|
|
4095
|
-
*/
|
|
4096
|
-
variant: {
|
|
4097
|
-
neutral: {
|
|
4098
|
-
border: "border border-[hsl(var(--border))]",
|
|
4099
|
-
// Border color using CSS var
|
|
4100
|
-
background: "bg-[hsl(var(--popover))]",
|
|
4101
|
-
// Background using CSS var
|
|
4102
|
-
text: "text-[hsl(var(--popover-foreground))]",
|
|
4103
|
-
// Text color using CSS var
|
|
4104
|
-
focus: "focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))] focus-visible:ring-offset-2"
|
|
4105
|
-
// Focus ring
|
|
4106
|
-
},
|
|
4107
|
-
tinted: {
|
|
4108
|
-
border: "border border-[hsl(var(--border))]",
|
|
4109
|
-
// Border color using CSS var
|
|
4110
|
-
background: "bg-[hsl(var(--muted))]",
|
|
4111
|
-
// Background using CSS var
|
|
4112
|
-
text: "text-[hsl(var(--popover-foreground))]",
|
|
4113
|
-
// Text color using CSS var
|
|
4114
|
-
focus: "focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))] focus-visible:ring-offset-2"
|
|
4115
|
-
// Focus ring
|
|
4116
|
-
}
|
|
4117
|
-
},
|
|
4118
|
-
/**
|
|
4119
|
-
* Menu tokens by size
|
|
4120
|
-
* Container for the dropdown items
|
|
4121
|
-
*/
|
|
4122
|
-
menu: {
|
|
4123
|
-
border: {
|
|
4124
|
-
default: "border border-[hsl(var(--border))]"
|
|
4125
|
-
// Border color using CSS var
|
|
4126
|
-
},
|
|
4127
|
-
background: {
|
|
4128
|
-
neutral: "bg-[hsl(var(--popover))]",
|
|
4129
|
-
// Background using CSS var
|
|
4130
|
-
tinted: "bg-[hsl(var(--muted))]"
|
|
4131
|
-
// Background using CSS var
|
|
4132
|
-
},
|
|
4133
|
-
text: {
|
|
4134
|
-
default: "text-[hsl(var(--popover-foreground))]"
|
|
4135
|
-
// Text color using CSS var
|
|
4136
|
-
},
|
|
4137
|
-
padding: {
|
|
4138
|
-
sm: "p-sm",
|
|
4139
|
-
// 8px
|
|
4140
|
-
md: "p-md",
|
|
4141
|
-
// 16px
|
|
4142
|
-
lg: "p-lg"
|
|
4143
|
-
// 24px
|
|
4144
|
-
},
|
|
4145
|
-
radius: {
|
|
4146
|
-
sm: "rounded-md",
|
|
4147
|
-
// 6px
|
|
4148
|
-
md: "rounded-lg",
|
|
4149
|
-
// 8px
|
|
4150
|
-
lg: "rounded-lg"
|
|
4151
|
-
// 8px
|
|
4152
|
-
},
|
|
4153
|
-
shadow: {
|
|
4154
|
-
sm: "shadow-md",
|
|
4155
|
-
// Maps to elevationShadows.md
|
|
4156
|
-
md: "shadow-lg",
|
|
4157
|
-
// Maps to elevationShadows.lg
|
|
4158
|
-
lg: "shadow-xl"
|
|
4159
|
-
// Maps to elevationShadows.xl
|
|
4160
|
-
},
|
|
4161
|
-
minWidth: {
|
|
4162
|
-
sm: "min-w-32",
|
|
4163
|
-
// 128px
|
|
4164
|
-
md: "min-w-48",
|
|
4165
|
-
// 192px
|
|
4166
|
-
lg: "min-w-64"
|
|
4167
|
-
// 256px
|
|
4168
|
-
}
|
|
4169
|
-
},
|
|
4170
|
-
/**
|
|
4171
|
-
* Width tokens
|
|
4172
|
-
* Common width utilities
|
|
4173
|
-
*/
|
|
4174
|
-
width: {
|
|
4175
|
-
full: "w-full"
|
|
4176
|
-
// Full width (100%)
|
|
4177
|
-
},
|
|
4178
|
-
/**
|
|
4179
|
-
* Item tokens by size
|
|
4180
|
-
* Individual menu item
|
|
4181
|
-
*/
|
|
4182
|
-
item: {
|
|
4183
|
-
background: {
|
|
4184
|
-
focus: "focus:bg-[hsl(var(--accent))]",
|
|
4185
|
-
// Focus background using CSS var
|
|
4186
|
-
selected: "bg-[hsl(var(--accent))]"
|
|
4187
|
-
// Selected background using CSS var
|
|
4188
|
-
},
|
|
4189
|
-
text: {
|
|
4190
|
-
focus: "focus:text-[hsl(var(--accent-foreground))]",
|
|
4191
|
-
// Focus text using CSS var
|
|
4192
|
-
selected: "text-[hsl(var(--accent-foreground))]"
|
|
4193
|
-
// Selected text using CSS var
|
|
4194
|
-
},
|
|
4195
|
-
padding: {
|
|
4196
|
-
sm: "px-sm py-xs",
|
|
4197
|
-
// 8px horizontal, 4px vertical
|
|
4198
|
-
md: "px-md py-xs",
|
|
4199
|
-
// 16px horizontal, 4px vertical
|
|
4200
|
-
lg: "px-lg py-sm"
|
|
4201
|
-
// 24px horizontal, 8px vertical
|
|
4202
|
-
},
|
|
4203
|
-
radius: {
|
|
4204
|
-
sm: "rounded-sm",
|
|
4205
|
-
// 4px
|
|
4206
|
-
md: "rounded-md",
|
|
4207
|
-
// 6px
|
|
4208
|
-
lg: "rounded-md"
|
|
4209
|
-
// 6px
|
|
4210
|
-
},
|
|
4211
|
-
fontSize: {
|
|
4212
|
-
sm: "text-sm",
|
|
4213
|
-
// Maps to fontSize.sm
|
|
4214
|
-
md: "text-sm",
|
|
4215
|
-
// Maps to fontSize.sm
|
|
4216
|
-
lg: "text-base"
|
|
4217
|
-
// Maps to fontSize.base
|
|
4218
|
-
}
|
|
4219
|
-
}
|
|
4220
|
-
};
|
|
4221
|
-
|
|
4222
|
-
// src/tokens/components/tooltip.ts
|
|
4246
|
+
// src/FOUNDATION/tokens/components/tooltip.ts
|
|
4223
4247
|
var TOOLTIP_TOKENS = {
|
|
4224
4248
|
/**
|
|
4225
4249
|
* Tooltip content tokens
|
|
@@ -4265,7 +4289,7 @@ var TOOLTIP_TOKENS = {
|
|
|
4265
4289
|
}
|
|
4266
4290
|
};
|
|
4267
4291
|
|
|
4268
|
-
// src/tokens/components/select.ts
|
|
4292
|
+
// src/FOUNDATION/tokens/components/select.ts
|
|
4269
4293
|
var SELECT_TOKENS = {
|
|
4270
4294
|
/**
|
|
4271
4295
|
* Select trigger heights by size
|
|
@@ -4445,9 +4469,9 @@ var SELECT_TOKENS = {
|
|
|
4445
4469
|
// 8px (0.5rem) from left
|
|
4446
4470
|
},
|
|
4447
4471
|
focus: {
|
|
4448
|
-
background: "focus:bg-[hsl(var(--accent))]",
|
|
4472
|
+
background: "focus-visible:bg-[hsl(var(--accent))]",
|
|
4449
4473
|
// Focus background using CSS var
|
|
4450
|
-
text: "focus:text-[hsl(var(--accent-foreground))]"
|
|
4474
|
+
text: "focus-visible:text-[hsl(var(--accent-foreground))]"
|
|
4451
4475
|
// Focus text using CSS var
|
|
4452
4476
|
},
|
|
4453
4477
|
selected: {
|
|
@@ -4770,7 +4794,7 @@ var SELECT_TOKENS = {
|
|
|
4770
4794
|
}
|
|
4771
4795
|
};
|
|
4772
4796
|
|
|
4773
|
-
// src/tokens/motion/v2.ts
|
|
4797
|
+
// src/FOUNDATION/tokens/motion/v2.ts
|
|
4774
4798
|
var motionV2Durations = {
|
|
4775
4799
|
fast: "150ms",
|
|
4776
4800
|
// Quick interactions
|
|
@@ -4964,7 +4988,7 @@ var motionV2TailwindConfig = {
|
|
|
4964
4988
|
}
|
|
4965
4989
|
};
|
|
4966
4990
|
|
|
4967
|
-
// src/tokens/motion.ts
|
|
4991
|
+
// src/FOUNDATION/tokens/motion.ts
|
|
4968
4992
|
var durations = {
|
|
4969
4993
|
instant: "0ms",
|
|
4970
4994
|
fast: "150ms",
|
|
@@ -5037,54 +5061,54 @@ var transitions = {
|
|
|
5037
5061
|
var keyframes = {
|
|
5038
5062
|
// Fade animations
|
|
5039
5063
|
fadeIn: {
|
|
5040
|
-
from: { opacity: 0 },
|
|
5041
|
-
to: { opacity: 1 }
|
|
5064
|
+
from: { opacity: "0" },
|
|
5065
|
+
to: { opacity: "1" }
|
|
5042
5066
|
},
|
|
5043
5067
|
fadeOut: {
|
|
5044
|
-
from: { opacity: 1 },
|
|
5045
|
-
to: { opacity: 0 }
|
|
5068
|
+
from: { opacity: "1" },
|
|
5069
|
+
to: { opacity: "0" }
|
|
5046
5070
|
},
|
|
5047
5071
|
// Slide animations
|
|
5048
5072
|
slideInUp: {
|
|
5049
|
-
from: { transform: "translateY(100%)", opacity: 0 },
|
|
5050
|
-
to: { transform: "translateY(0)", opacity: 1 }
|
|
5073
|
+
from: { transform: "translateY(100%)", opacity: "0" },
|
|
5074
|
+
to: { transform: "translateY(0)", opacity: "1" }
|
|
5051
5075
|
},
|
|
5052
5076
|
slideInDown: {
|
|
5053
|
-
from: { transform: "translateY(-100%)", opacity: 0 },
|
|
5054
|
-
to: { transform: "translateY(0)", opacity: 1 }
|
|
5077
|
+
from: { transform: "translateY(-100%)", opacity: "0" },
|
|
5078
|
+
to: { transform: "translateY(0)", opacity: "1" }
|
|
5055
5079
|
},
|
|
5056
5080
|
slideInLeft: {
|
|
5057
|
-
from: { transform: "translateX(-100%)", opacity: 0 },
|
|
5058
|
-
to: { transform: "translateX(0)", opacity: 1 }
|
|
5081
|
+
from: { transform: "translateX(-100%)", opacity: "0" },
|
|
5082
|
+
to: { transform: "translateX(0)", opacity: "1" }
|
|
5059
5083
|
},
|
|
5060
5084
|
slideInRight: {
|
|
5061
|
-
from: { transform: "translateX(100%)", opacity: 0 },
|
|
5062
|
-
to: { transform: "translateX(0)", opacity: 1 }
|
|
5085
|
+
from: { transform: "translateX(100%)", opacity: "0" },
|
|
5086
|
+
to: { transform: "translateX(0)", opacity: "1" }
|
|
5063
5087
|
},
|
|
5064
5088
|
slideOutUp: {
|
|
5065
|
-
from: { transform: "translateY(0)", opacity: 1 },
|
|
5066
|
-
to: { transform: "translateY(-100%)", opacity: 0 }
|
|
5089
|
+
from: { transform: "translateY(0)", opacity: "1" },
|
|
5090
|
+
to: { transform: "translateY(-100%)", opacity: "0" }
|
|
5067
5091
|
},
|
|
5068
5092
|
slideOutDown: {
|
|
5069
|
-
from: { transform: "translateY(0)", opacity: 1 },
|
|
5070
|
-
to: { transform: "translateY(100%)", opacity: 0 }
|
|
5093
|
+
from: { transform: "translateY(0)", opacity: "1" },
|
|
5094
|
+
to: { transform: "translateY(100%)", opacity: "0" }
|
|
5071
5095
|
},
|
|
5072
5096
|
slideOutLeft: {
|
|
5073
|
-
from: { transform: "translateX(0)", opacity: 1 },
|
|
5074
|
-
to: { transform: "translateX(-100%)", opacity: 0 }
|
|
5097
|
+
from: { transform: "translateX(0)", opacity: "1" },
|
|
5098
|
+
to: { transform: "translateX(-100%)", opacity: "0" }
|
|
5075
5099
|
},
|
|
5076
5100
|
slideOutRight: {
|
|
5077
|
-
from: { transform: "translateX(0)", opacity: 1 },
|
|
5078
|
-
to: { transform: "translateX(100%)", opacity: 0 }
|
|
5101
|
+
from: { transform: "translateX(0)", opacity: "1" },
|
|
5102
|
+
to: { transform: "translateX(100%)", opacity: "0" }
|
|
5079
5103
|
},
|
|
5080
5104
|
// Scale animations
|
|
5081
5105
|
scaleIn: {
|
|
5082
|
-
from: { transform: "scale(0.95)", opacity: 0 },
|
|
5083
|
-
to: { transform: "scale(1)", opacity: 1 }
|
|
5106
|
+
from: { transform: "scale(0.95)", opacity: "0" },
|
|
5107
|
+
to: { transform: "scale(1)", opacity: "1" }
|
|
5084
5108
|
},
|
|
5085
5109
|
scaleOut: {
|
|
5086
|
-
from: { transform: "scale(1)", opacity: 1 },
|
|
5087
|
-
to: { transform: "scale(0.95)", opacity: 0 }
|
|
5110
|
+
from: { transform: "scale(1)", opacity: "1" },
|
|
5111
|
+
to: { transform: "scale(0.95)", opacity: "0" }
|
|
5088
5112
|
},
|
|
5089
5113
|
scaleUp: {
|
|
5090
5114
|
from: { transform: "scale(1)" },
|
|
@@ -5105,8 +5129,8 @@ var keyframes = {
|
|
|
5105
5129
|
},
|
|
5106
5130
|
// Pulse and bounce
|
|
5107
5131
|
pulse: {
|
|
5108
|
-
"0%, 100%": { opacity: 1 },
|
|
5109
|
-
"50%": { opacity: 0.5 }
|
|
5132
|
+
"0%, 100%": { opacity: "1" },
|
|
5133
|
+
"50%": { opacity: "0.5" }
|
|
5110
5134
|
},
|
|
5111
5135
|
bounce: {
|
|
5112
5136
|
"0%, 100%": {
|
|
@@ -5128,7 +5152,7 @@ var keyframes = {
|
|
|
5128
5152
|
ping: {
|
|
5129
5153
|
"75%, 100%": {
|
|
5130
5154
|
transform: "scale(2)",
|
|
5131
|
-
opacity: 0
|
|
5155
|
+
opacity: "0"
|
|
5132
5156
|
}
|
|
5133
5157
|
},
|
|
5134
5158
|
// Accordion animations (for Radix UI)
|
|
@@ -5311,7 +5335,7 @@ var tailwindMotionConfig = {
|
|
|
5311
5335
|
}
|
|
5312
5336
|
};
|
|
5313
5337
|
|
|
5314
|
-
// src/tokens/radius.ts
|
|
5338
|
+
// src/FOUNDATION/tokens/radius.ts
|
|
5315
5339
|
var borderRadius = {
|
|
5316
5340
|
// No radius
|
|
5317
5341
|
none: "0",
|
|
@@ -5494,7 +5518,7 @@ var tailwindRadiusConfig = {
|
|
|
5494
5518
|
}
|
|
5495
5519
|
};
|
|
5496
5520
|
|
|
5497
|
-
// src/tokens/shadows.ts
|
|
5521
|
+
// src/FOUNDATION/tokens/shadows.ts
|
|
5498
5522
|
var shadowBase = {
|
|
5499
5523
|
black: "0 0 0",
|
|
5500
5524
|
// Black color for shadows (rgb format)
|
|
@@ -5685,7 +5709,7 @@ var tailwindShadowConfig = {
|
|
|
5685
5709
|
}
|
|
5686
5710
|
};
|
|
5687
5711
|
|
|
5688
|
-
// src/tokens/typography.ts
|
|
5712
|
+
// src/FOUNDATION/tokens/typography.ts
|
|
5689
5713
|
var fontFamily = {
|
|
5690
5714
|
// Primary font - Inter (default sans)
|
|
5691
5715
|
sans: [
|
|
@@ -6059,7 +6083,7 @@ var fontSizeWithMd = {
|
|
|
6059
6083
|
md: fontSize.base
|
|
6060
6084
|
};
|
|
6061
6085
|
|
|
6062
|
-
// src/tokens/css-variables.ts
|
|
6086
|
+
// src/FOUNDATION/tokens/css-variables.ts
|
|
6063
6087
|
var allCSSVariables = {
|
|
6064
6088
|
...colorCSSVariables,
|
|
6065
6089
|
...typographyCSSVariables,
|
|
@@ -6085,7 +6109,7 @@ var tokenSystemSummary = {
|
|
|
6085
6109
|
total: Object.keys(allCSSVariables).length
|
|
6086
6110
|
};
|
|
6087
6111
|
|
|
6088
|
-
// src/tokens/theme.ts
|
|
6112
|
+
// src/FOUNDATION/tokens/theme.ts
|
|
6089
6113
|
var UI_COLORS = tailwindThemeColors;
|
|
6090
6114
|
|
|
6091
6115
|
exports.ALERT_TOKENS = ALERT_TOKENS;
|
|
@@ -6095,7 +6119,6 @@ exports.CARD_TOKENS = CARD_TOKENS;
|
|
|
6095
6119
|
exports.CHECKBOX_TOKENS = CHECKBOX_TOKENS;
|
|
6096
6120
|
exports.DATA_TOKENS = DATA_TOKENS;
|
|
6097
6121
|
exports.DOMAIN_TOKENS = DOMAIN_TOKENS;
|
|
6098
|
-
exports.DROPDOWN_TOKENS = DROPDOWN_TOKENS;
|
|
6099
6122
|
exports.ICON_TOKENS = ICON_TOKENS;
|
|
6100
6123
|
exports.INPUT_TOKENS = INPUT_TOKENS;
|
|
6101
6124
|
exports.MENU_TOKENS = MENU_TOKENS;
|