@asafarim/design-tokens 0.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.
@@ -0,0 +1,121 @@
1
+ :root {
2
+ --asm-font-family-primary: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
3
+ --asm-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
4
+
5
+ --asm-font-weight-100: 100;
6
+ --asm-font-weight-200: 200;
7
+ --asm-font-weight-300: 300;
8
+ --asm-font-weight-400: 400;
9
+ --asm-font-weight-500: 500;
10
+ --asm-font-weight-600: 600;
11
+ --asm-font-weight-700: 700;
12
+ --asm-font-weight-800: 800;
13
+ --asm-font-weight-900: 900;
14
+
15
+ --asm-font-size-xs: 0.75rem;
16
+ --asm-font-size-sm: 0.875rem;
17
+ --asm-font-size-md: 1rem;
18
+ --asm-font-size-lg: 1.125rem;
19
+ --asm-font-size-xl: 1.25rem;
20
+ --asm-font-size-2xl: 1.5rem;
21
+ --asm-font-size-3xl: 1.875rem;
22
+ --asm-font-size-4xl: 2.25rem;
23
+ --asm-font-size-5xl: 3rem;
24
+ --asm-font-size-6xl: 3.75rem;
25
+
26
+ --asm-line-height-tight: 1.1;
27
+ --asm-line-height-normal: 1.4;
28
+ --asm-line-height-relaxed: 1.6;
29
+ --asm-line-height-h1: 1.05;
30
+ --asm-line-height-h2: 1.1;
31
+ --asm-line-height-h3: 1.15;
32
+ --asm-line-height-h4: 1.2;
33
+ --asm-line-height-h5: 1.25;
34
+ --asm-line-height-h6: 1.25;
35
+
36
+ --asm-letter-spacing-tight: -0.01em;
37
+ --asm-letter-spacing-normal: 0em;
38
+ --asm-letter-spacing-wide: 0.02em;
39
+
40
+ --asm-space-0: 0px;
41
+ --asm-space-1: 4px;
42
+ --asm-space-2: 8px;
43
+ --asm-space-3: 12px;
44
+ --asm-space-4: 16px;
45
+ --asm-space-5: 20px;
46
+ --asm-space-6: 24px;
47
+ --asm-space-8: 32px;
48
+ --asm-space-10: 40px;
49
+ --asm-space-12: 48px;
50
+ --asm-space-16: 64px;
51
+
52
+ --asm-space-page-padding-x: clamp(16px, 3vw, 32px);
53
+ --asm-space-page-padding-y: clamp(16px, 3vw, 40px);
54
+ --asm-space-section-gap: clamp(24px, 4vw, 64px);
55
+ --asm-space-component-gap: 16px;
56
+
57
+ --asm-grid-columns: 12;
58
+ --asm-grid-gutter: 24px;
59
+
60
+ --asm-container-xs: 480px;
61
+ --asm-container-sm: 640px;
62
+ --asm-container-md: 768px;
63
+ --asm-container-lg: 1024px;
64
+ --asm-container-xl: 1280px;
65
+ --asm-container-2xl: 1360px;
66
+
67
+ --asm-radius-sm: 6px;
68
+ --asm-radius-md: 10px;
69
+ --asm-radius-lg: 12px;
70
+ --asm-radius-xl: 16px;
71
+ --asm-radius-full: 9999px;
72
+
73
+ --asm-border-hairline: 1px;
74
+ --asm-border-thin: 2px;
75
+ --asm-border-thick: 3px;
76
+
77
+ --asm-effect-shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.06);
78
+ --asm-effect-shadow-md: 0 6px 20px rgba(17, 24, 39, 0.10);
79
+ --asm-effect-shadow-lg: 0 16px 40px rgba(17, 24, 39, 0.14);
80
+ --asm-effect-shadow-xl: 0 24px 60px rgba(17, 24, 39, 0.18);
81
+
82
+ --asm-effect-blur-sm: 4px;
83
+ --asm-effect-blur-md: 8px;
84
+ --asm-effect-blur-lg: 16px;
85
+
86
+ --asm-motion-duration-fast: 120ms;
87
+ --asm-motion-duration-normal: 200ms;
88
+ --asm-motion-duration-slow: 320ms;
89
+
90
+ --asm-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
91
+ --asm-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
92
+ --asm-motion-easing-entrance: cubic-bezier(0, 0, 0, 1);
93
+ --asm-motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
94
+
95
+ --asm-transition-fade: opacity var(--asm-motion-duration-normal) var(--asm-motion-easing-standard);
96
+ --asm-transition-slide: transform var(--asm-motion-duration-normal) var(--asm-motion-easing-standard);
97
+ --asm-transition-scale: transform var(--asm-motion-duration-fast) var(--asm-motion-easing-emphasized);
98
+
99
+ --asm-z-base: 0;
100
+ --asm-z-dropdown: 100;
101
+ --asm-z-sticky: 200;
102
+ --asm-z-overlay: 300;
103
+ --asm-z-modal: 400;
104
+ --asm-z-popover: 450;
105
+ --asm-z-tooltip: 500;
106
+ --asm-z-toast: 600;
107
+
108
+ --asm-icon-size-xs: 12px;
109
+ --asm-icon-size-sm: 16px;
110
+ --asm-icon-size-md: 20px;
111
+ --asm-icon-size-lg: 24px;
112
+ --asm-icon-size-xl: 28px;
113
+
114
+ --asm-icon-stroke-thin: 1;
115
+ --asm-icon-stroke-regular: 1.5;
116
+ --asm-icon-stroke-bold: 2;
117
+
118
+ --asm-density-factor: 1;
119
+ --asm-space-control-padding-y: 8px;
120
+ --asm-space-control-padding-x: 12px;
121
+ }
@@ -0,0 +1,50 @@
1
+ [data-theme="dark"] {
2
+ --asm-color-bg: #0B1220;
3
+ --asm-color-surface: #0F172A;
4
+ --asm-color-surface-muted: #111B2E;
5
+ --asm-color-panel: #0F172A;
6
+ --asm-color-modal: #0F172A;
7
+
8
+ --asm-color-text: #E5E7EB;
9
+ --asm-color-text-muted: #9CA3AF;
10
+ --asm-color-border: #1F2937;
11
+
12
+ --asm-color-brand-primary-50: #EEF2FF;
13
+ --asm-color-brand-primary-500: #3A5AFE;
14
+ --asm-color-brand-primary-600: #3A5AFE;
15
+ --asm-color-brand-primary-700: #304FFE;
16
+
17
+ --asm-color-semantic-success: #22C55E;
18
+ --asm-color-semantic-warning: #FBBF24;
19
+ --asm-color-semantic-error: #F87171;
20
+ --asm-color-semantic-info: #38BDF8;
21
+
22
+ --asm-color-button-primary-bg: #3A5AFE;
23
+ --asm-color-button-primary-bg-hover: #304FFE;
24
+ --asm-color-button-primary-bg-active: #304FFE;
25
+ --asm-color-button-primary-text: #FFFFFF;
26
+
27
+ --asm-color-button-secondary-bg: #111B2E;
28
+ --asm-color-button-secondary-text: #E5E7EB;
29
+
30
+ --asm-color-button-ghost-bg-hover: rgba(229, 231, 235, 0.08);
31
+
32
+ --asm-color-button-destructive-bg: #F87171;
33
+ --asm-color-button-destructive-text: #0B1220;
34
+
35
+ --asm-color-button-disabled-bg: #1F2937;
36
+ --asm-color-button-disabled-text: #9CA3AF;
37
+
38
+ --asm-color-input-bg: #0B1220;
39
+ --asm-color-input-text: #E5E7EB;
40
+ --asm-color-input-border: #1F2937;
41
+ --asm-color-input-border-hover: #374151;
42
+ --asm-color-input-border-focus: #3A5AFE;
43
+ --asm-color-input-placeholder: #9CA3AF;
44
+ --asm-color-input-error-border: #F87171;
45
+ --asm-color-input-success-border: #22C55E;
46
+
47
+ --asm-color-focus-ring: #3A5AFE;
48
+
49
+ --asm-color-overlay-scrim: rgba(17, 24, 39, 0.64);
50
+ }
@@ -0,0 +1,6 @@
1
+ [data-density="comfortable"] {
2
+ --asm-density-factor: 1.05;
3
+ --asm-space-component-gap: 18px;
4
+ --asm-space-control-padding-y: 10px;
5
+ --asm-space-control-padding-x: 14px;
6
+ }
@@ -0,0 +1,6 @@
1
+ [data-density="compact"] {
2
+ --asm-density-factor: 0.9;
3
+ --asm-space-component-gap: 12px;
4
+ --asm-space-control-padding-y: 6px;
5
+ --asm-space-control-padding-x: 10px;
6
+ }
@@ -0,0 +1,50 @@
1
+ [data-contrast="high"] {
2
+ --asm-color-bg: #000000;
3
+ --asm-color-surface: #000000;
4
+ --asm-color-surface-muted: #000000;
5
+ --asm-color-panel: #000000;
6
+ --asm-color-modal: #000000;
7
+
8
+ --asm-color-text: #FFFFFF;
9
+ --asm-color-text-muted: #FFFFFF;
10
+ --asm-color-border: #FFFFFF;
11
+
12
+ --asm-color-brand-primary-50: #FFFFFF;
13
+ --asm-color-brand-primary-500: #FFFFFF;
14
+ --asm-color-brand-primary-600: #FFFFFF;
15
+ --asm-color-brand-primary-700: #FFFFFF;
16
+
17
+ --asm-color-semantic-success: #00FF00;
18
+ --asm-color-semantic-warning: #FFFF00;
19
+ --asm-color-semantic-error: #FF0000;
20
+ --asm-color-semantic-info: #00FFFF;
21
+
22
+ --asm-color-button-primary-bg: #FFFFFF;
23
+ --asm-color-button-primary-bg-hover: #FFFFFF;
24
+ --asm-color-button-primary-bg-active: #FFFFFF;
25
+ --asm-color-button-primary-text: #000000;
26
+
27
+ --asm-color-button-secondary-bg: #000000;
28
+ --asm-color-button-secondary-text: #FFFFFF;
29
+
30
+ --asm-color-button-ghost-bg-hover: #FFFFFF;
31
+
32
+ --asm-color-button-destructive-bg: #FF0000;
33
+ --asm-color-button-destructive-text: #000000;
34
+
35
+ --asm-color-button-disabled-bg: #000000;
36
+ --asm-color-button-disabled-text: #FFFFFF;
37
+
38
+ --asm-color-input-bg: #000000;
39
+ --asm-color-input-text: #FFFFFF;
40
+ --asm-color-input-border: #FFFFFF;
41
+ --asm-color-input-border-hover: #FFFFFF;
42
+ --asm-color-input-border-focus: #FFFFFF;
43
+ --asm-color-input-placeholder: #FFFFFF;
44
+ --asm-color-input-error-border: #FF0000;
45
+ --asm-color-input-success-border: #00FF00;
46
+
47
+ --asm-color-focus-ring: #FFFFFF;
48
+
49
+ --asm-color-overlay-scrim: rgba(255, 255, 255, 0.9);
50
+ }
@@ -0,0 +1,50 @@
1
+ [data-theme="light"] {
2
+ --asm-color-bg: #F9FAFB;
3
+ --asm-color-surface: #FFFFFF;
4
+ --asm-color-surface-muted: #F3F4F6;
5
+ --asm-color-panel: #FFFFFF;
6
+ --asm-color-modal: #FFFFFF;
7
+
8
+ --asm-color-text: #111827;
9
+ --asm-color-text-muted: #6B7280;
10
+ --asm-color-border: #D1D5DB;
11
+
12
+ --asm-color-brand-primary-50: #EEF2FF;
13
+ --asm-color-brand-primary-500: #3A5AFE;
14
+ --asm-color-brand-primary-600: #304FFE;
15
+ --asm-color-brand-primary-700: #1E40FF;
16
+
17
+ --asm-color-semantic-success: #16A34A;
18
+ --asm-color-semantic-warning: #F59E0B;
19
+ --asm-color-semantic-error: #EF4444;
20
+ --asm-color-semantic-info: #0EA5E9;
21
+
22
+ --asm-color-button-primary-bg: #304FFE;
23
+ --asm-color-button-primary-bg-hover: #1E40FF;
24
+ --asm-color-button-primary-bg-active: #1E40FF;
25
+ --asm-color-button-primary-text: #FFFFFF;
26
+
27
+ --asm-color-button-secondary-bg: #FFFFFF;
28
+ --asm-color-button-secondary-text: #111827;
29
+
30
+ --asm-color-button-ghost-bg-hover: rgba(17, 24, 39, 0.06);
31
+
32
+ --asm-color-button-destructive-bg: #EF4444;
33
+ --asm-color-button-destructive-text: #FFFFFF;
34
+
35
+ --asm-color-button-disabled-bg: #D1D5DB;
36
+ --asm-color-button-disabled-text: #374151;
37
+
38
+ --asm-color-input-bg: #FFFFFF;
39
+ --asm-color-input-text: #111827;
40
+ --asm-color-input-border: #D1D5DB;
41
+ --asm-color-input-border-hover: #6B7280;
42
+ --asm-color-input-border-focus: #304FFE;
43
+ --asm-color-input-placeholder: #6B7280;
44
+ --asm-color-input-error-border: #EF4444;
45
+ --asm-color-input-success-border: #16A34A;
46
+
47
+ --asm-color-focus-ring: #3A5AFE;
48
+
49
+ --asm-color-overlay-scrim: rgba(17, 24, 39, 0.48);
50
+ }
@@ -0,0 +1,3 @@
1
+ [dir="rtl"] {
2
+ direction: rtl;
3
+ }
@@ -0,0 +1,16 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ }
4
+
5
+ @media (prefers-reduced-motion: reduce) {
6
+ :root {
7
+ --asm-motion-duration-fast: 0ms;
8
+ --asm-motion-duration-normal: 0ms;
9
+ --asm-motion-duration-slow: 0ms;
10
+ }
11
+ }
12
+
13
+ :where([data-theme]) {
14
+ background-color: var(--asm-color-bg);
15
+ color: var(--asm-color-text);
16
+ }