@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 +218 -0
- package/dist/borders.d.ts +24 -0
- package/dist/borders.d.ts.map +1 -0
- package/dist/borders.js +30 -0
- package/dist/borders.js.map +1 -0
- package/dist/breakpoints.d.ts +14 -0
- package/dist/breakpoints.d.ts.map +1 -0
- package/dist/breakpoints.js +13 -0
- package/dist/breakpoints.js.map +1 -0
- package/dist/colors.d.ts +133 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +174 -0
- package/dist/colors.js.map +1 -0
- package/dist/css/rtl.css +12 -0
- package/dist/css/theme-dark.css +74 -0
- package/dist/css/theme-light.css +81 -0
- package/dist/css/theme.css +230 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/shadows.d.ts +16 -0
- package/dist/shadows.d.ts.map +1 -0
- package/dist/shadows.js +16 -0
- package/dist/shadows.js.map +1 -0
- package/dist/spacing.d.ts +44 -0
- package/dist/spacing.d.ts.map +1 -0
- package/dist/spacing.js +43 -0
- package/dist/spacing.js.map +1 -0
- package/dist/typography.d.ts +78 -0
- package/dist/typography.d.ts.map +1 -0
- package/dist/typography.js +82 -0
- package/dist/typography.js.map +1 -0
- package/dist/zIndex.d.ts +19 -0
- package/dist/zIndex.d.ts.map +1 -0
- package/dist/zIndex.js +18 -0
- package/dist/zIndex.js.map +1 -0
- package/package.json +49 -0
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"}
|
package/dist/borders.js
ADDED
|
@@ -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 @@
|
|
|
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"}
|
package/dist/colors.d.ts
ADDED
|
@@ -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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"}
|