@dezkareid/design-tokens 1.3.0 → 1.4.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/AGENTS.md +28 -38
- package/dist/catalogs/all-tokens-css.md +28 -1
- package/dist/catalogs/all-tokens-js.md +27 -1
- package/dist/catalogs/all-tokens-scss.md +27 -1
- package/dist/css/variables.css +18 -1
- package/dist/js/tokens.d.ts +17 -1
- package/dist/js/tokens.js +18 -2
- package/dist/js/tokens.mjs +18 -2
- package/dist/scss/_variables.scss +18 -2
- package/package.json +5 -1
package/AGENTS.md
CHANGED
|
@@ -10,37 +10,6 @@ It uses **Style Dictionary** to transform JSON token definitions into platform-s
|
|
|
10
10
|
- **Build**: `pnpm build` (runs `style-dictionary build --config sd.config.js`)
|
|
11
11
|
- **Release**: `pnpm release` (semantic-release only in CI/CD pipeline)
|
|
12
12
|
|
|
13
|
-
## Making Changes (OpenSpec Workflow)
|
|
14
|
-
This project uses the **OpenSpec (opsx)** workflow for all changes. Do not modify code directly without a tracking change artifact unless it's a trivial fix.
|
|
15
|
-
|
|
16
|
-
### Workflow Cycle
|
|
17
|
-
1. **Start**: Create a new change container.
|
|
18
|
-
- Command: `/opsx:new <change-name>` (or `/opsx:ff` to fast-forward)
|
|
19
|
-
- Creates: `openspec/changes/<change-name>/`
|
|
20
|
-
|
|
21
|
-
2. **Plan**: Create artifacts in order.
|
|
22
|
-
- **Proposal**: Why and what (`proposal.md`)
|
|
23
|
-
- **Specs**: Detailed requirements (`specs/<capability>/spec.md`)
|
|
24
|
-
- **Design**: Technical approach (`design.md`)
|
|
25
|
-
- **Tasks**: Implementation checklist (`tasks.md`)
|
|
26
|
-
- Command: `/opsx:continue` (steps through creation)
|
|
27
|
-
|
|
28
|
-
3. **Implement**: Apply the changes to the codebase.
|
|
29
|
-
- Command: `/opsx:apply`
|
|
30
|
-
- Follows the checklist in `tasks.md`.
|
|
31
|
-
|
|
32
|
-
4. **Finish**: Archive the change.
|
|
33
|
-
- Command: `/opsx:archive`
|
|
34
|
-
- Moves artifacts to `openspec/changes/archive/`.
|
|
35
|
-
|
|
36
|
-
### Directory Structure
|
|
37
|
-
- `src/tokens/`: Source JSON token definitions (The Source of Truth).
|
|
38
|
-
- `color/`: Global and semantic color tokens.
|
|
39
|
-
- `spacing.json`: Spacing scale.
|
|
40
|
-
- `typography.json`: Fonts, weights, sizes.
|
|
41
|
-
- `dist/`: Generated build artifacts (CSS, SCSS, JS). **Do not edit manually.**
|
|
42
|
-
- `openspec/`: Change management artifacts.
|
|
43
|
-
|
|
44
13
|
## Token Architecture
|
|
45
14
|
- **Global Tokens**: Raw values (e.g., `blue-500: #3b82f6`). Defined in `src/tokens/color/global.json`.
|
|
46
15
|
- **Semantic Tokens**: Aliases mapped to globals (e.g., `color-primary: {color.base.blue.500}`). Defined in `src/tokens/color/semantic.json`.
|
|
@@ -51,38 +20,52 @@ This project uses the **OpenSpec (opsx)** workflow for all changes. Do not modif
|
|
|
51
20
|
- **Formats & Outputs**:
|
|
52
21
|
- **CSS**: `dist/css/variables.css` (`css/variables-light-dark`) - CSS Custom Properties with `light-dark()` support.
|
|
53
22
|
- *Patterns*:
|
|
54
|
-
- `--color-base-{blue,green,red,gray}-{100,500,900}`
|
|
23
|
+
- `--color-base-{blue,green,red,gray}-{100,400,500,600,900}`
|
|
55
24
|
- `--color-base-{white,black}`
|
|
56
25
|
- `--spacing-{0,4,8,12,16,24,32,48,64}`
|
|
57
26
|
- `--font-family-{base,mono}`
|
|
58
27
|
- `--font-size-{100-900}`
|
|
59
28
|
- `--font-weight-{light,regular,medium,bold}`
|
|
60
29
|
- `--font-line-height-{none,tight,normal,relaxed}`
|
|
30
|
+
- `--font-letter-spacing-{tight,normal,wide}`
|
|
61
31
|
- `--breakpoint-{small,medium,large,extra-large}-{min,max}`
|
|
62
|
-
- `--
|
|
63
|
-
- `--
|
|
32
|
+
- `--border-radius-{none,small,medium,large,pill}`
|
|
33
|
+
- `--shadow-{none,subtle,card,card-hover}`
|
|
34
|
+
- `--{light,dark}-color-{primary,success,danger,background-primary,background-secondary,text-primary,text-secondary,text-inverse}`
|
|
35
|
+
- `--color-{primary,success,danger,background-primary,background-secondary,text-primary,text-secondary,text-inverse}`
|
|
64
36
|
- *Example*:
|
|
65
37
|
```css
|
|
66
38
|
:root {
|
|
67
39
|
--color-base-blue-500: #3b82f6;
|
|
40
|
+
--color-base-gray-400: #9ca3af;
|
|
41
|
+
--color-text-secondary: light-dark(var(--light-color-text-secondary), var(--dark-color-text-secondary));
|
|
42
|
+
--font-letter-spacing-tight: -0.02em;
|
|
43
|
+
--border-radius-pill: 9999px;
|
|
44
|
+
--shadow-card: 0 2px 8px rgba(0,0,0,0.08);
|
|
68
45
|
--spacing-16: 1rem;
|
|
69
46
|
--breakpoint-medium-min: 37.5rem;
|
|
70
47
|
}
|
|
71
48
|
```
|
|
72
49
|
- **SCSS**: `dist/scss/_variables.scss` (`scss/simple`) - Simple SCSS variables.
|
|
73
50
|
- *Patterns*:
|
|
74
|
-
- `$color-base-{blue,green,red,gray}-{100,500,900}`
|
|
51
|
+
- `$color-base-{blue,green,red,gray}-{100,400,500,600,900}`
|
|
75
52
|
- `$color-base-{white,black}`
|
|
76
|
-
- `$color-semantic-{light,dark}-{primary,success,background-primary,background-secondary,text-primary,text-inverse}`
|
|
53
|
+
- `$color-semantic-{light,dark}-{primary,success,danger,background-primary,background-secondary,text-primary,text-secondary,text-inverse}`
|
|
77
54
|
- `$spacing-{0,4,8,12,16,24,32,48,64}`
|
|
78
55
|
- `$font-family-{base,mono}`
|
|
79
56
|
- `$font-size-{100-900}`
|
|
80
57
|
- `$font-weight-{light,regular,medium,bold}`
|
|
81
58
|
- `$font-line-height-{none,tight,normal,relaxed}`
|
|
59
|
+
- `$font-letter-spacing-{tight,normal,wide}`
|
|
82
60
|
- `$breakpoint-{small,medium,large,extra-large}-{min,max}`
|
|
61
|
+
- `$border-radius-{none,small,medium,large,pill}`
|
|
62
|
+
- `$shadow-{none,subtle,card,card-hover}`
|
|
83
63
|
- *Example*:
|
|
84
64
|
```scss
|
|
85
65
|
$color-base-blue-500: #3b82f6;
|
|
66
|
+
$font-letter-spacing-tight: -0.02em;
|
|
67
|
+
$border-radius-pill: 9999px;
|
|
68
|
+
$shadow-card: 0 2px 8px rgba(0,0,0,0.08);
|
|
86
69
|
$spacing-16: 1rem;
|
|
87
70
|
$breakpoint-medium-min: 37.5rem;
|
|
88
71
|
```
|
|
@@ -91,18 +74,25 @@ This project uses the **OpenSpec (opsx)** workflow for all changes. Do not modif
|
|
|
91
74
|
- `dist/js/tokens.mjs` (`js/custom-module`) - ESM.
|
|
92
75
|
- `dist/js/tokens.d.ts` (`typescript/custom-declarations`) - TypeScript declarations.
|
|
93
76
|
- *Patterns*:
|
|
94
|
-
- `ColorBase{Blue,Green,Red,Gray}{100,500,900}`
|
|
77
|
+
- `ColorBase{Blue,Green,Red,Gray}{100,400,500,600,900}`
|
|
95
78
|
- `ColorBase{White,Black}`
|
|
96
|
-
- `{Light,Dark}Color{Primary,Success,BackgroundPrimary,BackgroundSecondary,TextPrimary,TextInverse}`
|
|
79
|
+
- `{Light,Dark}Color{Primary,Success,Danger,BackgroundPrimary,BackgroundSecondary,TextPrimary,TextSecondary,TextInverse}`
|
|
97
80
|
- `Spacing{0,4,8,12,16,24,32,48,64}`
|
|
98
81
|
- `FontFamily{Base,Mono}`
|
|
99
82
|
- `FontSize{100-900}`
|
|
100
83
|
- `FontWeight{Light,Regular,Medium,Bold}`
|
|
101
84
|
- `FontLineHeight{None,Tight,Normal,Relaxed}`
|
|
85
|
+
- `FontLetterSpacing{Tight,Normal,Wide}`
|
|
102
86
|
- `Breakpoint{Small,Medium,Large,ExtraLarge}{Min,Max}`
|
|
87
|
+
- `BorderRadius{None,Small,Medium,Large,Pill}`
|
|
88
|
+
- `Shadow{None,Subtle,Card,CardHover}`
|
|
103
89
|
- *Example*:
|
|
104
90
|
```javascript
|
|
105
91
|
export const ColorBaseBlue500 = "#3b82f6";
|
|
92
|
+
export const ColorBaseGray400 = "#9ca3af";
|
|
93
|
+
export const FontLetterSpacingTight = "-0.02em";
|
|
94
|
+
export const BorderRadiusPill = "9999px";
|
|
95
|
+
export const ShadowCard = "0 2px 8px rgba(0,0,0,0.08)";
|
|
106
96
|
export const Spacing16 = "1rem";
|
|
107
97
|
export const BreakpointMediumMin = "37.5rem";
|
|
108
98
|
```
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
This catalog contains design tokens optimized for CSS usage.
|
|
4
4
|
|
|
5
|
+
## Border-radius
|
|
6
|
+
|
|
7
|
+
| CSS Variable | Value |
|
|
8
|
+
| :--- | :--- |
|
|
9
|
+
| `--border-radius-none` | `0` |
|
|
10
|
+
| `--border-radius-small` | `0.25rem` |
|
|
11
|
+
| `--border-radius-medium` | `0.5rem` |
|
|
12
|
+
| `--border-radius-large` | `1rem` |
|
|
13
|
+
| `--border-radius-pill` | `9999px` |
|
|
14
|
+
|
|
5
15
|
## Breakpoint
|
|
6
16
|
|
|
7
17
|
| CSS Variable | Value |
|
|
@@ -29,7 +39,9 @@ This catalog contains design tokens optimized for CSS usage.
|
|
|
29
39
|
| `--color-base-red-500` | `#ef4444` |
|
|
30
40
|
| `--color-base-red-900` | `#7f1d1d` |
|
|
31
41
|
| `--color-base-gray-100` | `#f3f4f6` |
|
|
42
|
+
| `--color-base-gray-400` | `#9ca3af` |
|
|
32
43
|
| `--color-base-gray-500` | `#6b7280` |
|
|
44
|
+
| `--color-base-gray-600` | `#4b5563` |
|
|
33
45
|
| `--color-base-gray-900` | `#111827` |
|
|
34
46
|
| `--color-base-white` | `#ffffff` |
|
|
35
47
|
| `--color-base-black` | `#000000` |
|
|
@@ -57,6 +69,18 @@ This catalog contains design tokens optimized for CSS usage.
|
|
|
57
69
|
| `--font-line-height-tight` | `1.25` |
|
|
58
70
|
| `--font-line-height-normal` | `1.5` |
|
|
59
71
|
| `--font-line-height-relaxed` | `1.75` |
|
|
72
|
+
| `--font-letter-spacing-tight` | `-0.02em` |
|
|
73
|
+
| `--font-letter-spacing-normal` | `0` |
|
|
74
|
+
| `--font-letter-spacing-wide` | `0.08em` |
|
|
75
|
+
|
|
76
|
+
## Shadow
|
|
77
|
+
|
|
78
|
+
| CSS Variable | Value |
|
|
79
|
+
| :--- | :--- |
|
|
80
|
+
| `--shadow-none` | `none` |
|
|
81
|
+
| `--shadow-subtle` | `0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)` |
|
|
82
|
+
| `--shadow-card` | `0 2px 8px rgba(0,0,0,0.08)` |
|
|
83
|
+
| `--shadow-card-hover` | `0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1)` |
|
|
60
84
|
|
|
61
85
|
## Spacing
|
|
62
86
|
|
|
@@ -80,7 +104,7 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
80
104
|
| :--- | :--- |
|
|
81
105
|
| `--color-background-primary` | `light-dark(var(--light-color-background-primary), var(--dark-color-background-primary))` |
|
|
82
106
|
| `--light-color-background-primary` | `#ffffff` |
|
|
83
|
-
| `--dark-color-background-primary` | `#
|
|
107
|
+
| `--dark-color-background-primary` | `#000000` |
|
|
84
108
|
| `--color-background-secondary` | `light-dark(var(--light-color-background-secondary), var(--dark-color-background-secondary))` |
|
|
85
109
|
| `--light-color-background-secondary` | `#f3f4f6` |
|
|
86
110
|
| `--dark-color-background-secondary` | `#6b7280` |
|
|
@@ -99,4 +123,7 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
99
123
|
| `--color-text-primary` | `light-dark(var(--light-color-text-primary), var(--dark-color-text-primary))` |
|
|
100
124
|
| `--light-color-text-primary` | `#111827` |
|
|
101
125
|
| `--dark-color-text-primary` | `#ffffff` |
|
|
126
|
+
| `--color-text-secondary` | `light-dark(var(--light-color-text-secondary), var(--dark-color-text-secondary))` |
|
|
127
|
+
| `--light-color-text-secondary` | `#4b5563` |
|
|
128
|
+
| `--dark-color-text-secondary` | `#9ca3af` |
|
|
102
129
|
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
This catalog contains design tokens optimized for JS usage.
|
|
4
4
|
|
|
5
|
+
## Border-radius
|
|
6
|
+
|
|
7
|
+
| JS Variable | Value |
|
|
8
|
+
| :--- | :--- |
|
|
9
|
+
| `BorderRadiusNone` | `0` |
|
|
10
|
+
| `BorderRadiusSmall` | `0.25rem` |
|
|
11
|
+
| `BorderRadiusMedium` | `0.5rem` |
|
|
12
|
+
| `BorderRadiusLarge` | `1rem` |
|
|
13
|
+
| `BorderRadiusPill` | `9999px` |
|
|
14
|
+
|
|
5
15
|
## Breakpoint
|
|
6
16
|
|
|
7
17
|
| JS Variable | Value |
|
|
@@ -29,7 +39,9 @@ This catalog contains design tokens optimized for JS usage.
|
|
|
29
39
|
| `ColorBaseRed500` | `#ef4444` |
|
|
30
40
|
| `ColorBaseRed900` | `#7f1d1d` |
|
|
31
41
|
| `ColorBaseGray100` | `#f3f4f6` |
|
|
42
|
+
| `ColorBaseGray400` | `#9ca3af` |
|
|
32
43
|
| `ColorBaseGray500` | `#6b7280` |
|
|
44
|
+
| `ColorBaseGray600` | `#4b5563` |
|
|
33
45
|
| `ColorBaseGray900` | `#111827` |
|
|
34
46
|
| `ColorBaseWhite` | `#ffffff` |
|
|
35
47
|
| `ColorBaseBlack` | `#000000` |
|
|
@@ -57,6 +69,18 @@ This catalog contains design tokens optimized for JS usage.
|
|
|
57
69
|
| `FontLineHeightTight` | `1.25` |
|
|
58
70
|
| `FontLineHeightNormal` | `1.5` |
|
|
59
71
|
| `FontLineHeightRelaxed` | `1.75` |
|
|
72
|
+
| `FontLetterSpacingTight` | `-0.02em` |
|
|
73
|
+
| `FontLetterSpacingNormal` | `0` |
|
|
74
|
+
| `FontLetterSpacingWide` | `0.08em` |
|
|
75
|
+
|
|
76
|
+
## Shadow
|
|
77
|
+
|
|
78
|
+
| JS Variable | Value |
|
|
79
|
+
| :--- | :--- |
|
|
80
|
+
| `ShadowNone` | `none` |
|
|
81
|
+
| `ShadowSubtle` | `0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)` |
|
|
82
|
+
| `ShadowCard` | `0 2px 8px rgba(0,0,0,0.08)` |
|
|
83
|
+
| `ShadowCardHover` | `0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1)` |
|
|
60
84
|
|
|
61
85
|
## Spacing
|
|
62
86
|
|
|
@@ -79,7 +103,7 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
79
103
|
| JS Variable | Value |
|
|
80
104
|
| :--- | :--- |
|
|
81
105
|
| `LightColorBackgroundPrimary` | `#ffffff` |
|
|
82
|
-
| `DarkColorBackgroundPrimary` | `#
|
|
106
|
+
| `DarkColorBackgroundPrimary` | `#000000` |
|
|
83
107
|
| `LightColorBackgroundSecondary` | `#f3f4f6` |
|
|
84
108
|
| `DarkColorBackgroundSecondary` | `#6b7280` |
|
|
85
109
|
| `LightColorDanger` | `#ef4444` |
|
|
@@ -92,4 +116,6 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
92
116
|
| `DarkColorTextInverse` | `#111827` |
|
|
93
117
|
| `LightColorTextPrimary` | `#111827` |
|
|
94
118
|
| `DarkColorTextPrimary` | `#ffffff` |
|
|
119
|
+
| `LightColorTextSecondary` | `#4b5563` |
|
|
120
|
+
| `DarkColorTextSecondary` | `#9ca3af` |
|
|
95
121
|
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
This catalog contains design tokens optimized for SCSS usage.
|
|
4
4
|
|
|
5
|
+
## Border-radius
|
|
6
|
+
|
|
7
|
+
| SCSS Variable | Value |
|
|
8
|
+
| :--- | :--- |
|
|
9
|
+
| `$border-radius-none` | `0` |
|
|
10
|
+
| `$border-radius-small` | `0.25rem` |
|
|
11
|
+
| `$border-radius-medium` | `0.5rem` |
|
|
12
|
+
| `$border-radius-large` | `1rem` |
|
|
13
|
+
| `$border-radius-pill` | `9999px` |
|
|
14
|
+
|
|
5
15
|
## Breakpoint
|
|
6
16
|
|
|
7
17
|
| SCSS Variable | Value |
|
|
@@ -29,7 +39,9 @@ This catalog contains design tokens optimized for SCSS usage.
|
|
|
29
39
|
| `$color-base-red-500` | `#ef4444` |
|
|
30
40
|
| `$color-base-red-900` | `#7f1d1d` |
|
|
31
41
|
| `$color-base-gray-100` | `#f3f4f6` |
|
|
42
|
+
| `$color-base-gray-400` | `#9ca3af` |
|
|
32
43
|
| `$color-base-gray-500` | `#6b7280` |
|
|
44
|
+
| `$color-base-gray-600` | `#4b5563` |
|
|
33
45
|
| `$color-base-gray-900` | `#111827` |
|
|
34
46
|
| `$color-base-white` | `#ffffff` |
|
|
35
47
|
| `$color-base-black` | `#000000` |
|
|
@@ -57,6 +69,18 @@ This catalog contains design tokens optimized for SCSS usage.
|
|
|
57
69
|
| `$font-line-height-tight` | `1.25` |
|
|
58
70
|
| `$font-line-height-normal` | `1.5` |
|
|
59
71
|
| `$font-line-height-relaxed` | `1.75` |
|
|
72
|
+
| `$font-letter-spacing-tight` | `-0.02em` |
|
|
73
|
+
| `$font-letter-spacing-normal` | `0` |
|
|
74
|
+
| `$font-letter-spacing-wide` | `0.08em` |
|
|
75
|
+
|
|
76
|
+
## Shadow
|
|
77
|
+
|
|
78
|
+
| SCSS Variable | Value |
|
|
79
|
+
| :--- | :--- |
|
|
80
|
+
| `$shadow-none` | `none` |
|
|
81
|
+
| `$shadow-subtle` | `0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)` |
|
|
82
|
+
| `$shadow-card` | `0 2px 8px rgba(0,0,0,0.08)` |
|
|
83
|
+
| `$shadow-card-hover` | `0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1)` |
|
|
60
84
|
|
|
61
85
|
## Spacing
|
|
62
86
|
|
|
@@ -79,7 +103,7 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
79
103
|
| SCSS Variable | Value |
|
|
80
104
|
| :--- | :--- |
|
|
81
105
|
| `$color-semantic-light-background-primary` | `#ffffff` |
|
|
82
|
-
| `$color-semantic-dark-background-primary` | `#
|
|
106
|
+
| `$color-semantic-dark-background-primary` | `#000000` |
|
|
83
107
|
| `$color-semantic-light-background-secondary` | `#f3f4f6` |
|
|
84
108
|
| `$color-semantic-dark-background-secondary` | `#6b7280` |
|
|
85
109
|
| `$color-semantic-light-danger` | `#ef4444` |
|
|
@@ -92,4 +116,6 @@ The following semantic tokens are themed and support light/dark modes.
|
|
|
92
116
|
| `$color-semantic-dark-text-inverse` | `#111827` |
|
|
93
117
|
| `$color-semantic-light-text-primary` | `#111827` |
|
|
94
118
|
| `$color-semantic-dark-text-primary` | `#ffffff` |
|
|
119
|
+
| `$color-semantic-light-text-secondary` | `#4b5563` |
|
|
120
|
+
| `$color-semantic-dark-text-secondary` | `#9ca3af` |
|
|
95
121
|
|
package/dist/css/variables.css
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
:root {
|
|
6
6
|
color-scheme: light dark;
|
|
7
|
+
--border-radius-none: 0;
|
|
8
|
+
--border-radius-small: 0.25rem;
|
|
9
|
+
--border-radius-medium: 0.5rem;
|
|
10
|
+
--border-radius-large: 1rem;
|
|
11
|
+
--border-radius-pill: 9999px;
|
|
7
12
|
--breakpoint-small-min: 0;
|
|
8
13
|
--breakpoint-small-max: 37.49rem;
|
|
9
14
|
--breakpoint-medium-min: 37.5rem;
|
|
@@ -22,10 +27,16 @@
|
|
|
22
27
|
--color-base-red-500: #ef4444;
|
|
23
28
|
--color-base-red-900: #7f1d1d;
|
|
24
29
|
--color-base-gray-100: #f3f4f6;
|
|
30
|
+
--color-base-gray-400: #9ca3af;
|
|
25
31
|
--color-base-gray-500: #6b7280;
|
|
32
|
+
--color-base-gray-600: #4b5563;
|
|
26
33
|
--color-base-gray-900: #111827;
|
|
27
34
|
--color-base-white: #ffffff;
|
|
28
35
|
--color-base-black: #000000;
|
|
36
|
+
--shadow-none: none;
|
|
37
|
+
--shadow-subtle: 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06);
|
|
38
|
+
--shadow-card: 0 2px 8px rgba(0,0,0,0.08);
|
|
39
|
+
--shadow-card-hover: 0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1);
|
|
29
40
|
--spacing-0: 0;
|
|
30
41
|
--spacing-4: 0.25rem;
|
|
31
42
|
--spacing-8: 0.5rem;
|
|
@@ -54,6 +65,9 @@
|
|
|
54
65
|
--font-line-height-tight: 1.25;
|
|
55
66
|
--font-line-height-normal: 1.5;
|
|
56
67
|
--font-line-height-relaxed: 1.75;
|
|
68
|
+
--font-letter-spacing-tight: -0.02em;
|
|
69
|
+
--font-letter-spacing-normal: 0;
|
|
70
|
+
--font-letter-spacing-wide: 0.08em;
|
|
57
71
|
--light-color-primary: var(--color-base-blue-500);
|
|
58
72
|
--dark-color-primary: var(--color-base-blue-100);
|
|
59
73
|
--color-primary: light-dark(var(--light-color-primary), var(--dark-color-primary));
|
|
@@ -64,7 +78,7 @@
|
|
|
64
78
|
--dark-color-danger: var(--color-base-red-900);
|
|
65
79
|
--color-danger: light-dark(var(--light-color-danger), var(--dark-color-danger));
|
|
66
80
|
--light-color-background-primary: var(--color-base-white);
|
|
67
|
-
--dark-color-background-primary: var(--color-base-
|
|
81
|
+
--dark-color-background-primary: var(--color-base-black);
|
|
68
82
|
--color-background-primary: light-dark(var(--light-color-background-primary), var(--dark-color-background-primary));
|
|
69
83
|
--light-color-background-secondary: var(--color-base-gray-100);
|
|
70
84
|
--dark-color-background-secondary: var(--color-base-gray-500);
|
|
@@ -72,6 +86,9 @@
|
|
|
72
86
|
--light-color-text-primary: var(--color-base-gray-900);
|
|
73
87
|
--dark-color-text-primary: var(--color-base-white);
|
|
74
88
|
--color-text-primary: light-dark(var(--light-color-text-primary), var(--dark-color-text-primary));
|
|
89
|
+
--light-color-text-secondary: var(--color-base-gray-600);
|
|
90
|
+
--dark-color-text-secondary: var(--color-base-gray-400);
|
|
91
|
+
--color-text-secondary: light-dark(var(--light-color-text-secondary), var(--dark-color-text-secondary));
|
|
75
92
|
--light-color-text-inverse: var(--color-base-white);
|
|
76
93
|
--dark-color-text-inverse: var(--color-base-gray-900);
|
|
77
94
|
--color-text-inverse: light-dark(var(--light-color-text-inverse), var(--dark-color-text-inverse));
|
package/dist/js/tokens.d.ts
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
export const BorderRadiusNone: string;
|
|
6
|
+
export const BorderRadiusSmall: string;
|
|
7
|
+
export const BorderRadiusMedium: string;
|
|
8
|
+
export const BorderRadiusLarge: string;
|
|
9
|
+
export const BorderRadiusPill: string;
|
|
5
10
|
export const BreakpointSmallMin: string;
|
|
6
11
|
export const BreakpointSmallMax: string;
|
|
7
12
|
export const BreakpointMediumMin: string;
|
|
@@ -20,7 +25,9 @@ export const ColorBaseRed100: string;
|
|
|
20
25
|
export const ColorBaseRed500: string;
|
|
21
26
|
export const ColorBaseRed900: string;
|
|
22
27
|
export const ColorBaseGray100: string;
|
|
28
|
+
export const ColorBaseGray400: string;
|
|
23
29
|
export const ColorBaseGray500: string;
|
|
30
|
+
export const ColorBaseGray600: string;
|
|
24
31
|
export const ColorBaseGray900: string;
|
|
25
32
|
export const ColorBaseWhite: string;
|
|
26
33
|
export const ColorBaseBlack: string;
|
|
@@ -30,6 +37,7 @@ export const LightColorDanger: string;
|
|
|
30
37
|
export const LightColorBackgroundPrimary: string;
|
|
31
38
|
export const LightColorBackgroundSecondary: string;
|
|
32
39
|
export const LightColorTextPrimary: string;
|
|
40
|
+
export const LightColorTextSecondary: string;
|
|
33
41
|
export const LightColorTextInverse: string;
|
|
34
42
|
export const DarkColorPrimary: string;
|
|
35
43
|
export const DarkColorSuccess: string;
|
|
@@ -37,7 +45,12 @@ export const DarkColorDanger: string;
|
|
|
37
45
|
export const DarkColorBackgroundPrimary: string;
|
|
38
46
|
export const DarkColorBackgroundSecondary: string;
|
|
39
47
|
export const DarkColorTextPrimary: string;
|
|
48
|
+
export const DarkColorTextSecondary: string;
|
|
40
49
|
export const DarkColorTextInverse: string;
|
|
50
|
+
export const ShadowNone: string;
|
|
51
|
+
export const ShadowSubtle: string;
|
|
52
|
+
export const ShadowCard: string;
|
|
53
|
+
export const ShadowCardHover: string;
|
|
41
54
|
export const Spacing0: string;
|
|
42
55
|
export const Spacing4: string;
|
|
43
56
|
export const Spacing8: string;
|
|
@@ -65,4 +78,7 @@ export const FontWeightBold: string;
|
|
|
65
78
|
export const FontLineHeightNone: string;
|
|
66
79
|
export const FontLineHeightTight: string;
|
|
67
80
|
export const FontLineHeightNormal: string;
|
|
68
|
-
export const FontLineHeightRelaxed: string;
|
|
81
|
+
export const FontLineHeightRelaxed: string;
|
|
82
|
+
export const FontLetterSpacingTight: string;
|
|
83
|
+
export const FontLetterSpacingNormal: string;
|
|
84
|
+
export const FontLetterSpacingWide: string;
|
package/dist/js/tokens.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
export const BorderRadiusNone = "0";
|
|
6
|
+
export const BorderRadiusSmall = "0.25rem";
|
|
7
|
+
export const BorderRadiusMedium = "0.5rem";
|
|
8
|
+
export const BorderRadiusLarge = "1rem";
|
|
9
|
+
export const BorderRadiusPill = "9999px";
|
|
5
10
|
export const BreakpointSmallMin = "0";
|
|
6
11
|
export const BreakpointSmallMax = "37.49rem";
|
|
7
12
|
export const BreakpointMediumMin = "37.5rem";
|
|
@@ -20,7 +25,9 @@ export const ColorBaseRed100 = "#fee2e2";
|
|
|
20
25
|
export const ColorBaseRed500 = "#ef4444";
|
|
21
26
|
export const ColorBaseRed900 = "#7f1d1d";
|
|
22
27
|
export const ColorBaseGray100 = "#f3f4f6";
|
|
28
|
+
export const ColorBaseGray400 = "#9ca3af";
|
|
23
29
|
export const ColorBaseGray500 = "#6b7280";
|
|
30
|
+
export const ColorBaseGray600 = "#4b5563";
|
|
24
31
|
export const ColorBaseGray900 = "#111827";
|
|
25
32
|
export const ColorBaseWhite = "#ffffff";
|
|
26
33
|
export const ColorBaseBlack = "#000000";
|
|
@@ -30,14 +37,20 @@ export const LightColorDanger = "#ef4444";
|
|
|
30
37
|
export const LightColorBackgroundPrimary = "#ffffff";
|
|
31
38
|
export const LightColorBackgroundSecondary = "#f3f4f6";
|
|
32
39
|
export const LightColorTextPrimary = "#111827";
|
|
40
|
+
export const LightColorTextSecondary = "#4b5563";
|
|
33
41
|
export const LightColorTextInverse = "#ffffff";
|
|
34
42
|
export const DarkColorPrimary = "#dbeafe";
|
|
35
43
|
export const DarkColorSuccess = "#14532d";
|
|
36
44
|
export const DarkColorDanger = "#7f1d1d";
|
|
37
|
-
export const DarkColorBackgroundPrimary = "#
|
|
45
|
+
export const DarkColorBackgroundPrimary = "#000000";
|
|
38
46
|
export const DarkColorBackgroundSecondary = "#6b7280";
|
|
39
47
|
export const DarkColorTextPrimary = "#ffffff";
|
|
48
|
+
export const DarkColorTextSecondary = "#9ca3af";
|
|
40
49
|
export const DarkColorTextInverse = "#111827";
|
|
50
|
+
export const ShadowNone = "none";
|
|
51
|
+
export const ShadowSubtle = "0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)";
|
|
52
|
+
export const ShadowCard = "0 2px 8px rgba(0,0,0,0.08)";
|
|
53
|
+
export const ShadowCardHover = "0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1)";
|
|
41
54
|
export const Spacing0 = "0";
|
|
42
55
|
export const Spacing4 = "0.25rem";
|
|
43
56
|
export const Spacing8 = "0.5rem";
|
|
@@ -65,4 +78,7 @@ export const FontWeightBold = "700";
|
|
|
65
78
|
export const FontLineHeightNone = "1";
|
|
66
79
|
export const FontLineHeightTight = "1.25";
|
|
67
80
|
export const FontLineHeightNormal = "1.5";
|
|
68
|
-
export const FontLineHeightRelaxed = "1.75";
|
|
81
|
+
export const FontLineHeightRelaxed = "1.75";
|
|
82
|
+
export const FontLetterSpacingTight = "-0.02em";
|
|
83
|
+
export const FontLetterSpacingNormal = "0";
|
|
84
|
+
export const FontLetterSpacingWide = "0.08em";
|
package/dist/js/tokens.mjs
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
export const BorderRadiusNone = "0";
|
|
6
|
+
export const BorderRadiusSmall = "0.25rem";
|
|
7
|
+
export const BorderRadiusMedium = "0.5rem";
|
|
8
|
+
export const BorderRadiusLarge = "1rem";
|
|
9
|
+
export const BorderRadiusPill = "9999px";
|
|
5
10
|
export const BreakpointSmallMin = "0";
|
|
6
11
|
export const BreakpointSmallMax = "37.49rem";
|
|
7
12
|
export const BreakpointMediumMin = "37.5rem";
|
|
@@ -20,7 +25,9 @@ export const ColorBaseRed100 = "#fee2e2";
|
|
|
20
25
|
export const ColorBaseRed500 = "#ef4444";
|
|
21
26
|
export const ColorBaseRed900 = "#7f1d1d";
|
|
22
27
|
export const ColorBaseGray100 = "#f3f4f6";
|
|
28
|
+
export const ColorBaseGray400 = "#9ca3af";
|
|
23
29
|
export const ColorBaseGray500 = "#6b7280";
|
|
30
|
+
export const ColorBaseGray600 = "#4b5563";
|
|
24
31
|
export const ColorBaseGray900 = "#111827";
|
|
25
32
|
export const ColorBaseWhite = "#ffffff";
|
|
26
33
|
export const ColorBaseBlack = "#000000";
|
|
@@ -30,14 +37,20 @@ export const LightColorDanger = "#ef4444";
|
|
|
30
37
|
export const LightColorBackgroundPrimary = "#ffffff";
|
|
31
38
|
export const LightColorBackgroundSecondary = "#f3f4f6";
|
|
32
39
|
export const LightColorTextPrimary = "#111827";
|
|
40
|
+
export const LightColorTextSecondary = "#4b5563";
|
|
33
41
|
export const LightColorTextInverse = "#ffffff";
|
|
34
42
|
export const DarkColorPrimary = "#dbeafe";
|
|
35
43
|
export const DarkColorSuccess = "#14532d";
|
|
36
44
|
export const DarkColorDanger = "#7f1d1d";
|
|
37
|
-
export const DarkColorBackgroundPrimary = "#
|
|
45
|
+
export const DarkColorBackgroundPrimary = "#000000";
|
|
38
46
|
export const DarkColorBackgroundSecondary = "#6b7280";
|
|
39
47
|
export const DarkColorTextPrimary = "#ffffff";
|
|
48
|
+
export const DarkColorTextSecondary = "#9ca3af";
|
|
40
49
|
export const DarkColorTextInverse = "#111827";
|
|
50
|
+
export const ShadowNone = "none";
|
|
51
|
+
export const ShadowSubtle = "0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)";
|
|
52
|
+
export const ShadowCard = "0 2px 8px rgba(0,0,0,0.08)";
|
|
53
|
+
export const ShadowCardHover = "0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1)";
|
|
41
54
|
export const Spacing0 = "0";
|
|
42
55
|
export const Spacing4 = "0.25rem";
|
|
43
56
|
export const Spacing8 = "0.5rem";
|
|
@@ -65,4 +78,7 @@ export const FontWeightBold = "700";
|
|
|
65
78
|
export const FontLineHeightNone = "1";
|
|
66
79
|
export const FontLineHeightTight = "1.25";
|
|
67
80
|
export const FontLineHeightNormal = "1.5";
|
|
68
|
-
export const FontLineHeightRelaxed = "1.75";
|
|
81
|
+
export const FontLineHeightRelaxed = "1.75";
|
|
82
|
+
export const FontLetterSpacingTight = "-0.02em";
|
|
83
|
+
export const FontLetterSpacingNormal = "0";
|
|
84
|
+
export const FontLetterSpacingWide = "0.08em";
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
$border-radius-none: 0;
|
|
2
|
+
$border-radius-small: 0.25rem;
|
|
3
|
+
$border-radius-medium: 0.5rem;
|
|
4
|
+
$border-radius-large: 1rem;
|
|
5
|
+
$border-radius-pill: 9999px;
|
|
1
6
|
$breakpoint-small-min: 0;
|
|
2
7
|
$breakpoint-small-max: 37.49rem;
|
|
3
8
|
$breakpoint-medium-min: 37.5rem;
|
|
@@ -16,7 +21,9 @@ $color-base-red-100: #fee2e2;
|
|
|
16
21
|
$color-base-red-500: #ef4444;
|
|
17
22
|
$color-base-red-900: #7f1d1d;
|
|
18
23
|
$color-base-gray-100: #f3f4f6;
|
|
24
|
+
$color-base-gray-400: #9ca3af;
|
|
19
25
|
$color-base-gray-500: #6b7280;
|
|
26
|
+
$color-base-gray-600: #4b5563;
|
|
20
27
|
$color-base-gray-900: #111827;
|
|
21
28
|
$color-base-white: #ffffff;
|
|
22
29
|
$color-base-black: #000000;
|
|
@@ -26,14 +33,20 @@ $color-semantic-light-danger: $color-base-red-500;
|
|
|
26
33
|
$color-semantic-light-background-primary: $color-base-white;
|
|
27
34
|
$color-semantic-light-background-secondary: $color-base-gray-100;
|
|
28
35
|
$color-semantic-light-text-primary: $color-base-gray-900;
|
|
36
|
+
$color-semantic-light-text-secondary: $color-base-gray-600;
|
|
29
37
|
$color-semantic-light-text-inverse: $color-base-white;
|
|
30
38
|
$color-semantic-dark-primary: $color-base-blue-100;
|
|
31
39
|
$color-semantic-dark-success: $color-base-green-900;
|
|
32
40
|
$color-semantic-dark-danger: $color-base-red-900;
|
|
33
|
-
$color-semantic-dark-background-primary: $color-base-
|
|
41
|
+
$color-semantic-dark-background-primary: $color-base-black;
|
|
34
42
|
$color-semantic-dark-background-secondary: $color-base-gray-500;
|
|
35
43
|
$color-semantic-dark-text-primary: $color-base-white;
|
|
44
|
+
$color-semantic-dark-text-secondary: $color-base-gray-400;
|
|
36
45
|
$color-semantic-dark-text-inverse: $color-base-gray-900;
|
|
46
|
+
$shadow-none: none;
|
|
47
|
+
$shadow-subtle: 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06);
|
|
48
|
+
$shadow-card: 0 2px 8px rgba(0,0,0,0.08);
|
|
49
|
+
$shadow-card-hover: 0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.1);
|
|
37
50
|
$spacing-0: 0;
|
|
38
51
|
$spacing-4: 0.25rem;
|
|
39
52
|
$spacing-8: 0.5rem;
|
|
@@ -61,4 +74,7 @@ $font-weight-bold: 700;
|
|
|
61
74
|
$font-line-height-none: 1;
|
|
62
75
|
$font-line-height-tight: 1.25;
|
|
63
76
|
$font-line-height-normal: 1.5;
|
|
64
|
-
$font-line-height-relaxed: 1.75;
|
|
77
|
+
$font-line-height-relaxed: 1.75;
|
|
78
|
+
$font-letter-spacing-tight: -0.02em;
|
|
79
|
+
$font-letter-spacing-normal: 0;
|
|
80
|
+
$font-letter-spacing-wide: 0.08em;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dezkareid/design-tokens",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Design tokens for dezkareid design system",
|
|
5
5
|
"main": "dist/js/tokens.js",
|
|
6
6
|
"module": "dist/js/tokens.mjs",
|
|
@@ -38,7 +38,9 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://github.com/dezkareid/dezkareid/tree/main/projects/dezkareid/design-system/design-tokens#readme",
|
|
40
40
|
"devDependencies": {
|
|
41
|
+
"@eslint/js": "9.39.2",
|
|
41
42
|
"commander": "12.0.0",
|
|
43
|
+
"eslint": "9.39.2",
|
|
42
44
|
"http-server": "14.1.1",
|
|
43
45
|
"style-dictionary": "5.2.0",
|
|
44
46
|
"vitest": "4.0.18"
|
|
@@ -46,6 +48,8 @@
|
|
|
46
48
|
"scripts": {
|
|
47
49
|
"build": "style-dictionary build --config sd.config.js",
|
|
48
50
|
"tokens:catalog": "node scripts/export-catalog.js",
|
|
51
|
+
"lint": "eslint .",
|
|
52
|
+
"lint:fix": "eslint . --fix",
|
|
49
53
|
"test": "vitest run",
|
|
50
54
|
"visualizer": "http-server . -p 3000 -o /scripts/visualizer/visualizer.html"
|
|
51
55
|
}
|