@mehdashti/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.
package/README.md ADDED
@@ -0,0 +1,218 @@
1
+ # @smart/tokens
2
+
3
+ > Design system tokens for Smart Platform - Colors, spacing, typography, and more
4
+
5
+ Enterprise-grade design tokens built with the Industrial Petrol Palette. Provides consistent styling across all Smart Platform applications.
6
+
7
+ ## Features
8
+
9
+ - ✅ **Industrial Petrol Palette** - Professional color scheme aligned with APISmith
10
+ - ✅ **HSL Color Format** - Easy to manipulate and customize
11
+ - ✅ **Dark/Light Themes** - Automatic theme switching support
12
+ - ✅ **Semantic Colors** - Success, warning, error, info with backgrounds and borders
13
+ - ✅ **Spacing Scale** - 4px base scale from 0 to 384px
14
+ - ✅ **Typography System** - Font sizes, weights, and line heights
15
+ - ✅ **Border Radius** - Consistent corner rounding
16
+ - ✅ **Shadows** - Elevation system
17
+ - ✅ **Z-Index** - Layering scale
18
+
19
+ ---
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ # Using pnpm (recommended)
25
+ pnpm add @smart/tokens
26
+
27
+ # Using npm
28
+ npm install @smart/tokens
29
+
30
+ # Using yarn
31
+ yarn add @smart/tokens
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Usage
37
+
38
+ ### Import CSS Theme
39
+
40
+ ```typescript
41
+ // In your main entry file (e.g., main.tsx or App.tsx)
42
+ import '@smart/tokens/theme.css'
43
+ ```
44
+
45
+ This imports the complete theme with:
46
+ - Base design tokens (spacing, typography, etc.)
47
+ - Light theme (default)
48
+ - Dark theme (`[data-theme="dark"]`)
49
+
50
+ ### Theme Switching
51
+
52
+ ```typescript
53
+ // Set theme via data attribute
54
+ document.documentElement.setAttribute('data-theme', 'dark') // Dark mode
55
+ document.documentElement.setAttribute('data-theme', 'light') // Light mode
56
+
57
+ // Or use a theme store (recommended)
58
+ import { create } from 'zustand'
59
+
60
+ interface ThemeStore {
61
+ theme: 'light' | 'dark' | 'system'
62
+ setTheme: (theme: 'light' | 'dark' | 'system') => void
63
+ }
64
+
65
+ export const useThemeStore = create<ThemeStore>((set) => ({
66
+ theme: 'system',
67
+ setTheme: (theme) => {
68
+ const effectiveTheme = theme === 'system'
69
+ ? window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
70
+ : theme
71
+
72
+ document.documentElement.setAttribute('data-theme', effectiveTheme)
73
+ set({ theme })
74
+ }
75
+ }))
76
+ ```
77
+
78
+ ### Using Tokens in CSS
79
+
80
+ All tokens are available as CSS custom properties:
81
+
82
+ ```css
83
+ .my-component {
84
+ /* Colors (use with hsl()) */
85
+ background-color: hsl(var(--background));
86
+ color: hsl(var(--foreground));
87
+ border: 1px solid hsl(var(--border));
88
+
89
+ /* Primary color */
90
+ background-color: hsl(var(--primary));
91
+ color: hsl(var(--primary-foreground));
92
+
93
+ /* Spacing */
94
+ padding: var(--spacing-4); /* 16px */
95
+ margin: var(--spacing-2); /* 8px */
96
+ gap: var(--spacing-0-5); /* 2px */
97
+
98
+ /* Typography */
99
+ font-size: var(--font-size-base); /* 1rem */
100
+
101
+ /* Border radius */
102
+ border-radius: var(--radius-md); /* 3px */
103
+
104
+ /* Shadows */
105
+ box-shadow: var(--shadow-md);
106
+
107
+ /* Z-index */
108
+ z-index: var(--z-modal);
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Color Palette
115
+
116
+ ### Light Theme
117
+
118
+ | Token | HSL | Hex | Usage |
119
+ |-------|-----|-----|-------|
120
+ | `--background` | `220 14% 96%` | `#F3F4F6` | Page background |
121
+ | `--foreground` | `221 39% 11%` | `#1F2937` | Text color |
122
+ | `--primary` | `195 100% 28%` | `#006D8F` | Primary actions, links |
123
+ | `--primary-foreground` | `0 0% 100%` | `#FFFFFF` | Text on primary |
124
+ | `--border` | `220 13% 91%` | `#E5E7EB` | Borders |
125
+
126
+ ### Dark Theme
127
+
128
+ | Token | HSL | Hex | Usage |
129
+ |-------|-----|-----|-------|
130
+ | `--background` | `221 39% 11%` | `#111827` | Page background |
131
+ | `--foreground` | `220 14% 96%` | `#F3F4F6` | Text color |
132
+ | `--primary` | `195 45% 38%` | `#35778C` | Primary actions (matte) |
133
+ | `--border` | `217 19% 27%` | `#374151` | Borders |
134
+
135
+ ### Semantic Colors
136
+
137
+ #### Success (Green)
138
+ - **Light:** `--success: 142 64% 24%` (#166534)
139
+ - **Dark:** `--success: 156 72% 67%` (#6EE7B7)
140
+ - **Background:** `--success-bg`
141
+ - **Border:** `--success-border`
142
+
143
+ #### Warning (Orange)
144
+ - **Light:** `--warning: 26 83% 31%` (#92400E)
145
+ - **Dark:** `--warning: 43 96% 65%` (#FCD34D)
146
+
147
+ #### Error (Red)
148
+ - **Light:** `--error: 0 74% 35%` (#991B1B)
149
+ - **Dark:** `--error: 0 94% 82%` (#FCA5A5)
150
+
151
+ #### Info (Blue)
152
+ - **Light:** `--info: 224 76% 40%` (#1E40AF)
153
+ - **Dark:** `--info: 213 93% 78%` (#93C5FD)
154
+
155
+ ---
156
+
157
+ ## Spacing Scale
158
+
159
+ | Token | Value | Pixels |
160
+ |-------|-------|--------|
161
+ | `--spacing-0-5` | `0.125rem` | 2px |
162
+ | `--spacing-1` | `0.25rem` | 4px |
163
+ | `--spacing-2` | `0.5rem` | 8px |
164
+ | `--spacing-4` | `1rem` | 16px |
165
+ | `--spacing-8` | `2rem` | 32px |
166
+
167
+ [See full table in docs]
168
+
169
+ ---
170
+
171
+ ## Examples
172
+
173
+ ### Button with Primary Color
174
+
175
+ ```tsx
176
+ function PrimaryButton() {
177
+ return (
178
+ <button
179
+ style={{
180
+ backgroundColor: 'hsl(var(--primary))',
181
+ color: 'hsl(var(--primary-foreground))',
182
+ padding: 'var(--spacing-2) var(--spacing-4)',
183
+ borderRadius: 'var(--radius-md)',
184
+ }}
185
+ >
186
+ Click me
187
+ </button>
188
+ )
189
+ }
190
+ ```
191
+
192
+ ### Alert with Semantic Colors
193
+
194
+ ```tsx
195
+ <div
196
+ style={{
197
+ backgroundColor: 'hsl(var(--success-bg))',
198
+ color: 'hsl(var(--success))',
199
+ border: '1px solid hsl(var(--success-border))',
200
+ padding: 'var(--spacing-3)',
201
+ borderRadius: 'var(--radius-md)',
202
+ }}
203
+ >
204
+ Success message
205
+ </div>
206
+ ```
207
+
208
+ ---
209
+
210
+ ## Related Packages
211
+
212
+ - [@smart/ui](../ui) - UI components
213
+ - [@smart/auth-react](../auth-react) - Authentication
214
+ - [@smart/data-client](../data-client) - API client
215
+
216
+ ---
217
+
218
+ **Version:** 0.0.1
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Border Tokens
3
+ *
4
+ * Border radius and widths
5
+ */
6
+ export declare const borderRadius: {
7
+ readonly none: "0";
8
+ readonly sm: "0.125rem";
9
+ readonly base: "0.25rem";
10
+ readonly md: "0.375rem";
11
+ readonly lg: "0.5rem";
12
+ readonly xl: "0.75rem";
13
+ readonly "2xl": "1rem";
14
+ readonly "3xl": "1.5rem";
15
+ readonly full: "9999px";
16
+ };
17
+ export declare const borderWidth: {
18
+ readonly 0: "0px";
19
+ readonly 1: "1px";
20
+ readonly 2: "2px";
21
+ readonly 4: "4px";
22
+ readonly 8: "8px";
23
+ };
24
+ //# sourceMappingURL=borders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borders.d.ts","sourceRoot":"","sources":["../src/borders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAMX,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Border Tokens
3
+ *
4
+ * Border radius and widths
5
+ */
6
+ // =============================================================================
7
+ // Border Radius
8
+ // =============================================================================
9
+ export const borderRadius = {
10
+ none: "0",
11
+ sm: "0.125rem", // 2px
12
+ base: "0.25rem", // 4px
13
+ md: "0.375rem", // 6px
14
+ lg: "0.5rem", // 8px
15
+ xl: "0.75rem", // 12px
16
+ "2xl": "1rem", // 16px
17
+ "3xl": "1.5rem", // 24px
18
+ full: "9999px",
19
+ };
20
+ // =============================================================================
21
+ // Border Width
22
+ // =============================================================================
23
+ export const borderWidth = {
24
+ 0: "0px",
25
+ 1: "1px",
26
+ 2: "2px",
27
+ 4: "4px",
28
+ 8: "8px",
29
+ };
30
+ //# sourceMappingURL=borders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borders.js","sourceRoot":"","sources":["../src/borders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,GAAG;IACT,EAAE,EAAE,UAAU,EAAE,MAAM;IACtB,IAAI,EAAE,SAAS,EAAE,MAAM;IACvB,EAAE,EAAE,UAAU,EAAE,MAAM;IACtB,EAAE,EAAE,QAAQ,EAAE,MAAM;IACpB,EAAE,EAAE,SAAS,EAAE,OAAO;IACtB,KAAK,EAAE,MAAM,EAAE,OAAO;IACtB,KAAK,EAAE,QAAQ,EAAE,OAAO;IACxB,IAAI,EAAE,QAAQ;CACN,CAAC;AAEX,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACA,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Breakpoint Tokens
3
+ *
4
+ * Responsive design breakpoints
5
+ */
6
+ export declare const breakpoints: {
7
+ readonly sm: "640px";
8
+ readonly md: "768px";
9
+ readonly lg: "1024px";
10
+ readonly xl: "1280px";
11
+ readonly "2xl": "1536px";
12
+ };
13
+ export type BreakpointKey = keyof typeof breakpoints;
14
+ //# sourceMappingURL=breakpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../src/breakpoints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Breakpoint Tokens
3
+ *
4
+ * Responsive design breakpoints
5
+ */
6
+ export const breakpoints = {
7
+ sm: "640px",
8
+ md: "768px",
9
+ lg: "1024px",
10
+ xl: "1280px",
11
+ "2xl": "1536px",
12
+ };
13
+ //# sourceMappingURL=breakpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../src/breakpoints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;CACP,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Color Tokens
3
+ *
4
+ * Semantic color system with light and dark theme support
5
+ */
6
+ export declare const brandColors: {
7
+ readonly primary: {
8
+ readonly 50: "#eff6ff";
9
+ readonly 100: "#dbeafe";
10
+ readonly 200: "#bfdbfe";
11
+ readonly 300: "#93c5fd";
12
+ readonly 400: "#60a5fa";
13
+ readonly 500: "#3b82f6";
14
+ readonly 600: "#2563eb";
15
+ readonly 700: "#1d4ed8";
16
+ readonly 800: "#1e40af";
17
+ readonly 900: "#1e3a8a";
18
+ readonly 950: "#172554";
19
+ };
20
+ readonly secondary: {
21
+ readonly 50: "#f8fafc";
22
+ readonly 100: "#f1f5f9";
23
+ readonly 200: "#e2e8f0";
24
+ readonly 300: "#cbd5e1";
25
+ readonly 400: "#94a3b8";
26
+ readonly 500: "#64748b";
27
+ readonly 600: "#475569";
28
+ readonly 700: "#334155";
29
+ readonly 800: "#1e293b";
30
+ readonly 900: "#0f172a";
31
+ readonly 950: "#020617";
32
+ };
33
+ };
34
+ export declare const semanticColors: {
35
+ readonly success: {
36
+ readonly 50: "#f0fdf4";
37
+ readonly 100: "#dcfce7";
38
+ readonly 200: "#bbf7d0";
39
+ readonly 300: "#86efac";
40
+ readonly 400: "#4ade80";
41
+ readonly 500: "#22c55e";
42
+ readonly 600: "#16a34a";
43
+ readonly 700: "#15803d";
44
+ readonly 800: "#166534";
45
+ readonly 900: "#14532d";
46
+ };
47
+ readonly warning: {
48
+ readonly 50: "#fffbeb";
49
+ readonly 100: "#fef3c7";
50
+ readonly 200: "#fde68a";
51
+ readonly 300: "#fcd34d";
52
+ readonly 400: "#fbbf24";
53
+ readonly 500: "#f59e0b";
54
+ readonly 600: "#d97706";
55
+ readonly 700: "#b45309";
56
+ readonly 800: "#92400e";
57
+ readonly 900: "#78350f";
58
+ };
59
+ readonly error: {
60
+ readonly 50: "#fef2f2";
61
+ readonly 100: "#fee2e2";
62
+ readonly 200: "#fecaca";
63
+ readonly 300: "#fca5a5";
64
+ readonly 400: "#f87171";
65
+ readonly 500: "#ef4444";
66
+ readonly 600: "#dc2626";
67
+ readonly 700: "#b91c1c";
68
+ readonly 800: "#991b1b";
69
+ readonly 900: "#7f1d1d";
70
+ };
71
+ readonly info: {
72
+ readonly 50: "#eff6ff";
73
+ readonly 100: "#dbeafe";
74
+ readonly 200: "#bfdbfe";
75
+ readonly 300: "#93c5fd";
76
+ readonly 400: "#60a5fa";
77
+ readonly 500: "#3b82f6";
78
+ readonly 600: "#2563eb";
79
+ readonly 700: "#1d4ed8";
80
+ readonly 800: "#1e40af";
81
+ readonly 900: "#1e3a8a";
82
+ };
83
+ };
84
+ export declare const neutralColors: {
85
+ readonly 50: "#fafafa";
86
+ readonly 100: "#f5f5f5";
87
+ readonly 200: "#e5e5e5";
88
+ readonly 300: "#d4d4d4";
89
+ readonly 400: "#a3a3a3";
90
+ readonly 500: "#737373";
91
+ readonly 600: "#525252";
92
+ readonly 700: "#404040";
93
+ readonly 800: "#262626";
94
+ readonly 900: "#171717";
95
+ readonly 950: "#0a0a0a";
96
+ };
97
+ export interface ThemeColors {
98
+ background: string;
99
+ backgroundSecondary: string;
100
+ backgroundTertiary: string;
101
+ foreground: string;
102
+ foregroundSecondary: string;
103
+ foregroundTertiary: string;
104
+ border: string;
105
+ borderSecondary: string;
106
+ primary: string;
107
+ primaryHover: string;
108
+ primaryActive: string;
109
+ primaryForeground: string;
110
+ secondary: string;
111
+ secondaryHover: string;
112
+ secondaryActive: string;
113
+ secondaryForeground: string;
114
+ accent: string;
115
+ accentHover: string;
116
+ accentForeground: string;
117
+ destructive: string;
118
+ destructiveHover: string;
119
+ destructiveForeground: string;
120
+ muted: string;
121
+ mutedForeground: string;
122
+ success: string;
123
+ successForeground: string;
124
+ warning: string;
125
+ warningForeground: string;
126
+ error: string;
127
+ errorForeground: string;
128
+ info: string;
129
+ infoForeground: string;
130
+ }
131
+ export declare const lightTheme: ThemeColors;
132
+ export declare const darkTheme: ThemeColors;
133
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Bd,CAAC;AAMX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDjB,CAAC;AAMX,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAMX,MAAM,WAAW,WAAW;IAE1B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IAGxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAG9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IAGxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,EAAE,WAyCxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAyCvB,CAAC"}
package/dist/colors.js ADDED
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Color Tokens
3
+ *
4
+ * Semantic color system with light and dark theme support
5
+ */
6
+ // =============================================================================
7
+ // Brand Colors
8
+ // =============================================================================
9
+ export const brandColors = {
10
+ primary: {
11
+ 50: "#eff6ff",
12
+ 100: "#dbeafe",
13
+ 200: "#bfdbfe",
14
+ 300: "#93c5fd",
15
+ 400: "#60a5fa",
16
+ 500: "#3b82f6",
17
+ 600: "#2563eb",
18
+ 700: "#1d4ed8",
19
+ 800: "#1e40af",
20
+ 900: "#1e3a8a",
21
+ 950: "#172554",
22
+ },
23
+ secondary: {
24
+ 50: "#f8fafc",
25
+ 100: "#f1f5f9",
26
+ 200: "#e2e8f0",
27
+ 300: "#cbd5e1",
28
+ 400: "#94a3b8",
29
+ 500: "#64748b",
30
+ 600: "#475569",
31
+ 700: "#334155",
32
+ 800: "#1e293b",
33
+ 900: "#0f172a",
34
+ 950: "#020617",
35
+ },
36
+ };
37
+ // =============================================================================
38
+ // Semantic Colors
39
+ // =============================================================================
40
+ export const semanticColors = {
41
+ success: {
42
+ 50: "#f0fdf4",
43
+ 100: "#dcfce7",
44
+ 200: "#bbf7d0",
45
+ 300: "#86efac",
46
+ 400: "#4ade80",
47
+ 500: "#22c55e",
48
+ 600: "#16a34a",
49
+ 700: "#15803d",
50
+ 800: "#166534",
51
+ 900: "#14532d",
52
+ },
53
+ warning: {
54
+ 50: "#fffbeb",
55
+ 100: "#fef3c7",
56
+ 200: "#fde68a",
57
+ 300: "#fcd34d",
58
+ 400: "#fbbf24",
59
+ 500: "#f59e0b",
60
+ 600: "#d97706",
61
+ 700: "#b45309",
62
+ 800: "#92400e",
63
+ 900: "#78350f",
64
+ },
65
+ error: {
66
+ 50: "#fef2f2",
67
+ 100: "#fee2e2",
68
+ 200: "#fecaca",
69
+ 300: "#fca5a5",
70
+ 400: "#f87171",
71
+ 500: "#ef4444",
72
+ 600: "#dc2626",
73
+ 700: "#b91c1c",
74
+ 800: "#991b1b",
75
+ 900: "#7f1d1d",
76
+ },
77
+ info: {
78
+ 50: "#eff6ff",
79
+ 100: "#dbeafe",
80
+ 200: "#bfdbfe",
81
+ 300: "#93c5fd",
82
+ 400: "#60a5fa",
83
+ 500: "#3b82f6",
84
+ 600: "#2563eb",
85
+ 700: "#1d4ed8",
86
+ 800: "#1e40af",
87
+ 900: "#1e3a8a",
88
+ },
89
+ };
90
+ // =============================================================================
91
+ // Neutral Colors
92
+ // =============================================================================
93
+ export const neutralColors = {
94
+ 50: "#fafafa",
95
+ 100: "#f5f5f5",
96
+ 200: "#e5e5e5",
97
+ 300: "#d4d4d4",
98
+ 400: "#a3a3a3",
99
+ 500: "#737373",
100
+ 600: "#525252",
101
+ 700: "#404040",
102
+ 800: "#262626",
103
+ 900: "#171717",
104
+ 950: "#0a0a0a",
105
+ };
106
+ export const lightTheme = {
107
+ background: "#ffffff",
108
+ backgroundSecondary: neutralColors[50],
109
+ backgroundTertiary: neutralColors[100],
110
+ foreground: neutralColors[900],
111
+ foregroundSecondary: neutralColors[600],
112
+ foregroundTertiary: neutralColors[500],
113
+ border: neutralColors[200],
114
+ borderSecondary: neutralColors[300],
115
+ primary: brandColors.primary[600],
116
+ primaryHover: brandColors.primary[700],
117
+ primaryActive: brandColors.primary[800],
118
+ primaryForeground: "#ffffff",
119
+ secondary: brandColors.secondary[100],
120
+ secondaryHover: brandColors.secondary[200],
121
+ secondaryActive: brandColors.secondary[300],
122
+ secondaryForeground: brandColors.secondary[900],
123
+ accent: brandColors.primary[500],
124
+ accentHover: brandColors.primary[600],
125
+ accentForeground: "#ffffff",
126
+ destructive: semanticColors.error[600],
127
+ destructiveHover: semanticColors.error[700],
128
+ destructiveForeground: "#ffffff",
129
+ muted: neutralColors[100],
130
+ mutedForeground: neutralColors[500],
131
+ success: semanticColors.success[600],
132
+ successForeground: "#ffffff",
133
+ warning: semanticColors.warning[500],
134
+ warningForeground: neutralColors[900],
135
+ error: semanticColors.error[600],
136
+ errorForeground: "#ffffff",
137
+ info: semanticColors.info[600],
138
+ infoForeground: "#ffffff",
139
+ };
140
+ export const darkTheme = {
141
+ background: neutralColors[950],
142
+ backgroundSecondary: neutralColors[900],
143
+ backgroundTertiary: neutralColors[800],
144
+ foreground: neutralColors[50],
145
+ foregroundSecondary: neutralColors[400],
146
+ foregroundTertiary: neutralColors[500],
147
+ border: neutralColors[800],
148
+ borderSecondary: neutralColors[700],
149
+ primary: brandColors.primary[500],
150
+ primaryHover: brandColors.primary[400],
151
+ primaryActive: brandColors.primary[300],
152
+ primaryForeground: "#ffffff",
153
+ secondary: brandColors.secondary[800],
154
+ secondaryHover: brandColors.secondary[700],
155
+ secondaryActive: brandColors.secondary[600],
156
+ secondaryForeground: brandColors.secondary[50],
157
+ accent: brandColors.primary[400],
158
+ accentHover: brandColors.primary[300],
159
+ accentForeground: neutralColors[950],
160
+ destructive: semanticColors.error[500],
161
+ destructiveHover: semanticColors.error[400],
162
+ destructiveForeground: "#ffffff",
163
+ muted: neutralColors[800],
164
+ mutedForeground: neutralColors[400],
165
+ success: semanticColors.success[500],
166
+ successForeground: "#ffffff",
167
+ warning: semanticColors.warning[500],
168
+ warningForeground: neutralColors[900],
169
+ error: semanticColors.error[500],
170
+ errorForeground: "#ffffff",
171
+ info: semanticColors.info[500],
172
+ infoForeground: "#ffffff",
173
+ };
174
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * RTL (Right-to-Left) Support
3
+ * Generated from @mehdashti/tokens
4
+ */
5
+
6
+ [dir="rtl"] {
7
+ direction: rtl;
8
+ }
9
+
10
+ [dir="rtl"] * {
11
+ text-align: start;
12
+ }