@stevegreco/design-system 0.0.1 → 0.0.2

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.
@@ -214,104 +214,104 @@
214
214
  */
215
215
 
216
216
  :root {
217
+ --component-alert-radius: 10px;
218
+ --component-alert-padding: 16px;
219
+ --component-alert-gap: 12px;
220
+ --component-alert-font-size: 14px;
221
+ --component-alert-title-font-weight: 600;
222
+ --component-alert-success-bg: #e3ecd9;
223
+ --component-alert-success-fg: #4a6b3d;
224
+ --component-alert-success-icon-color: #6b8e5a;
225
+ --component-alert-success-border: #e3ecd9;
226
+ --component-alert-danger-bg: #f5dbd0;
227
+ --component-alert-danger-fg: #84301c;
228
+ --component-alert-danger-icon-color: #b8472a;
229
+ --component-alert-danger-border: #f5dbd0;
230
+ --component-alert-warning-bg: #f7edce;
231
+ --component-alert-warning-fg: #823f1e;
232
+ --component-alert-warning-icon-color: #c06d1f;
233
+ --component-alert-warning-border: #f7edce;
234
+ --component-alert-info-bg: #d6e1ea;
235
+ --component-alert-info-fg: #2f5973;
236
+ --component-alert-info-icon-color: #4a7896;
237
+ --component-alert-info-border: #d6e1ea;
238
+ --component-badge-radius: 9999px;
239
+ --component-badge-padding-x: 8px;
240
+ --component-badge-padding-y: 1px;
241
+ --component-badge-font-size: 12px;
242
+ --component-badge-font-weight: 500;
243
+ --component-badge-default-bg: #e0e7e3;
244
+ --component-badge-default-fg: #3b4a43;
245
+ --component-badge-default-border: #c1cec7;
246
+ --component-badge-accent-bg: #f7edce;
247
+ --component-badge-accent-fg: #a0501d;
248
+ --component-badge-accent-border: #efda98;
249
+ --component-badge-success-bg: #e3ecd9;
250
+ --component-badge-success-fg: #4a6b3d;
251
+ --component-badge-success-border: #e3ecd9;
252
+ --component-badge-danger-bg: #f5dbd0;
253
+ --component-badge-danger-fg: #84301c;
254
+ --component-badge-danger-border: #f5dbd0;
255
+ --component-badge-warning-bg: #f7edce;
256
+ --component-badge-warning-fg: #823f1e;
257
+ --component-badge-warning-border: #f7edce;
258
+ --component-badge-info-bg: #d6e1ea;
259
+ --component-badge-info-fg: #2f5973;
260
+ --component-badge-info-border: #d6e1ea;
261
+ --component-button-radius-md: 10px;
262
+ --component-button-radius-full: 9999px;
263
+ --component-button-padding-x: 16px;
264
+ --component-button-padding-y: 12px;
265
+ --component-button-padding-x-sm: 12px;
266
+ --component-button-padding-y-sm: 8px;
267
+ --component-button-font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
268
+ --component-button-font-weight: 500;
269
+ --component-button-font-size: 14px;
270
+ --component-button-transition: 140ms;
271
+ --component-button-primary-bg: #a0501d;
272
+ --component-button-primary-bg-hover: #823f1e;
273
+ --component-button-primary-bg-press: #6b341c;
274
+ --component-button-primary-fg: #faf6f0;
275
+ --component-button-primary-border: #a0501d;
217
276
  --component-button-secondary-bg: rgba(0, 0, 0, 0);
277
+ --component-button-secondary-bg-hover: #e0e7e3;
278
+ --component-button-secondary-bg-press: #e0e7e3;
279
+ --component-button-secondary-fg: #3b4a43;
280
+ --component-button-secondary-border: #c1cec7;
218
281
  --component-button-ghost-bg: rgba(0, 0, 0, 0);
282
+ --component-button-ghost-bg-hover: #e0e7e3;
283
+ --component-button-ghost-fg: #171c1a;
219
284
  --component-button-ghost-border: rgba(0, 0, 0, 0);
220
- --component-alert-radius: var(--radius-md);
221
- --component-alert-padding: var(--space-4);
222
- --component-alert-gap: var(--space-3);
223
- --component-alert-font-size: var(--text-sm);
224
- --component-alert-title-font-weight: var(--weight-semibold);
225
- --component-badge-radius: var(--radius-full);
226
- --component-badge-padding-x: var(--space-2);
227
- --component-badge-padding-y: var(--space-px);
228
- --component-badge-font-size: var(--text-xs);
229
- --component-badge-font-weight: var(--weight-medium);
230
- --component-button-radius-md: var(--radius-md);
231
- --component-button-radius-full: var(--radius-full);
232
- --component-button-padding-x: var(--space-4);
233
- --component-button-padding-y: var(--space-3);
234
- --component-button-padding-x-sm: var(--space-3);
235
- --component-button-padding-y-sm: var(--space-2);
236
- --component-button-font-family: var(--font-sans);
237
- --component-button-font-weight: var(--weight-medium);
238
- --component-button-font-size: var(--text-sm);
239
- --component-button-transition: var(--duration-fast);
240
- --component-button-danger-fg: var(--color-white);
241
- --component-card-radius: var(--radius-lg);
242
- --component-card-shadow: var(--shadow-sm);
243
- --component-card-shadow-hover: var(--shadow-md);
244
- --component-card-padding: var(--space-6);
245
- --component-card-gap: var(--space-4);
246
- --component-input-radius: var(--radius-sm);
247
- --component-input-padding-x: var(--space-3);
248
- --component-input-padding-y: var(--space-2);
249
- --component-input-shadow: var(--shadow-inset);
250
- --component-input-shadow-focus: var(--shadow-xs);
251
- --component-input-font-family: var(--font-sans);
252
- --component-input-font-size: var(--text-sm);
253
- --component-alert-success-bg: var(--semantic-color-status-success-background);
254
- --component-alert-success-fg: var(--semantic-color-status-success-foreground);
255
- --component-alert-success-icon-color: var(--semantic-color-status-success-default);
256
- --component-alert-success-border: var(--semantic-color-status-success-background);
257
- --component-alert-danger-bg: var(--semantic-color-status-danger-background);
258
- --component-alert-danger-fg: var(--semantic-color-status-danger-foreground);
259
- --component-alert-danger-icon-color: var(--semantic-color-status-danger-default);
260
- --component-alert-danger-border: var(--semantic-color-status-danger-background);
261
- --component-alert-warning-bg: var(--semantic-color-status-warning-background);
262
- --component-alert-warning-fg: var(--semantic-color-status-warning-foreground);
263
- --component-alert-warning-icon-color: var(--semantic-color-status-warning-default);
264
- --component-alert-warning-border: var(--semantic-color-status-warning-background);
265
- --component-alert-info-bg: var(--semantic-color-status-info-background);
266
- --component-alert-info-fg: var(--semantic-color-status-info-foreground);
267
- --component-alert-info-icon-color: var(--semantic-color-status-info-default);
268
- --component-alert-info-border: var(--semantic-color-status-info-background);
269
- --component-badge-default-bg: var(--semantic-color-background-muted);
270
- --component-badge-default-fg: var(--semantic-color-foreground-muted);
271
- --component-badge-default-border: var(--semantic-color-border-default);
272
- --component-badge-accent-bg: var(--semantic-color-accent-soft);
273
- --component-badge-accent-fg: var(--semantic-color-accent-default);
274
- --component-badge-accent-border: var(--semantic-color-border-warm);
275
- --component-badge-success-bg: var(--semantic-color-status-success-background);
276
- --component-badge-success-fg: var(--semantic-color-status-success-foreground);
277
- --component-badge-success-border: var(--semantic-color-status-success-background);
278
- --component-badge-danger-bg: var(--semantic-color-status-danger-background);
279
- --component-badge-danger-fg: var(--semantic-color-status-danger-foreground);
280
- --component-badge-danger-border: var(--semantic-color-status-danger-background);
281
- --component-badge-warning-bg: var(--semantic-color-status-warning-background);
282
- --component-badge-warning-fg: var(--semantic-color-status-warning-foreground);
283
- --component-badge-warning-border: var(--semantic-color-status-warning-background);
284
- --component-badge-info-bg: var(--semantic-color-status-info-background);
285
- --component-badge-info-fg: var(--semantic-color-status-info-foreground);
286
- --component-badge-info-border: var(--semantic-color-status-info-background);
287
- --component-button-primary-bg: var(--semantic-color-accent-default);
288
- --component-button-primary-bg-hover: var(--semantic-color-accent-hover);
289
- --component-button-primary-bg-press: var(--semantic-color-accent-press);
290
- --component-button-primary-fg: var(--semantic-color-accent-foreground);
291
- --component-button-primary-border: var(--semantic-color-accent-default);
292
- --component-button-secondary-bg-hover: var(--semantic-color-secondary-soft);
293
- --component-button-secondary-bg-press: var(--semantic-color-secondary-soft);
294
- --component-button-secondary-fg: var(--semantic-color-secondary-default);
295
- --component-button-secondary-border: var(--semantic-color-border-default);
296
- --component-button-ghost-bg-hover: var(--semantic-color-secondary-soft);
297
- --component-button-ghost-fg: var(--semantic-color-foreground-default);
298
- --component-button-danger-bg: var(--semantic-color-status-danger-default);
299
- --component-button-danger-bg-hover: var(--semantic-color-status-danger-foreground);
300
- --component-button-danger-border: var(--semantic-color-status-danger-default);
301
- --component-card-bg: var(--semantic-color-background-raised);
302
- --component-card-border: var(--semantic-color-border-default);
303
- --component-card-warm-bg: var(--semantic-color-accent-soft);
304
- --component-card-warm-border: var(--semantic-color-border-warm);
305
- --component-input-bg: var(--semantic-color-background-raised);
306
- --component-input-bg-disabled: var(--semantic-color-background-muted);
307
- --component-input-border: var(--semantic-color-border-default);
308
- --component-input-border-hover: var(--semantic-color-border-strong);
309
- --component-input-border-focus: var(--semantic-color-accent-default);
310
- --component-input-border-error: var(--semantic-color-status-danger-default);
311
- --component-input-fg: var(--semantic-color-foreground-default);
312
- --component-input-fg-placeholder: var(--semantic-color-foreground-faint);
313
- --component-input-fg-disabled: var(--semantic-color-foreground-subtle);
314
- --component-input-label-fg: var(--semantic-color-foreground-muted);
315
- --component-input-hint-fg: var(--semantic-color-foreground-subtle);
316
- --component-input-error-fg: var(--semantic-color-status-danger-foreground);
285
+ --component-button-danger-bg: #b8472a;
286
+ --component-button-danger-bg-hover: #84301c;
287
+ --component-button-danger-fg: #ffffff;
288
+ --component-button-danger-border: #b8472a;
289
+ --component-card-bg: #ffffff;
290
+ --component-card-border: #c1cec7;
291
+ --component-card-radius: 14px;
292
+ --component-card-shadow: 0 1px 2px rgba(61, 26, 11, 0.05), 0 2px 4px rgba(61, 26, 11, 0.04);
293
+ --component-card-shadow-hover: 0 2px 4px rgba(61, 26, 11, 0.05), 0 6px 14px rgba(61, 26, 11, 0.07);
294
+ --component-card-padding: 24px;
295
+ --component-card-gap: 16px;
296
+ --component-card-warm-bg: #f7edce;
297
+ --component-card-warm-border: #efda98;
298
+ --component-input-bg: #ffffff;
299
+ --component-input-bg-disabled: #e0e7e3;
300
+ --component-input-border: #c1cec7;
301
+ --component-input-border-hover: #9aaea4;
302
+ --component-input-border-focus: #a0501d;
303
+ --component-input-border-error: #b8472a;
304
+ --component-input-fg: #171c1a;
305
+ --component-input-fg-placeholder: #7a9086;
306
+ --component-input-fg-disabled: #5b7168;
307
+ --component-input-label-fg: #3b4a43;
308
+ --component-input-hint-fg: #5b7168;
309
+ --component-input-error-fg: #84301c;
310
+ --component-input-radius: 6px;
311
+ --component-input-padding-x: 12px;
312
+ --component-input-padding-y: 8px;
313
+ --component-input-shadow: inset 0 1px 2px rgba(61, 26, 11, 0.08);
314
+ --component-input-shadow-focus: 0 1px 2px rgba(61, 26, 11, 0.06);
315
+ --component-input-font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
316
+ --component-input-font-size: 14px;
317
317
  }
@@ -1,162 +1,164 @@
1
1
  {
2
- "color": {
3
- "white": "#ffffff",
4
- "black": "#000000",
5
- "robRoy": {
6
- "50": "#fdf9ed",
7
- "100": "#f7edce",
8
- "200": "#efda98",
9
- "300": "#e8c468",
10
- "400": "#e1ac3e",
11
- "500": "#d98f27",
12
- "600": "#c06d1f",
13
- "700": "#a0501d",
14
- "800": "#823f1e",
15
- "900": "#6b341c",
16
- "950": "#3d1a0b"
2
+ "primitives": {
3
+ "color": {
4
+ "white": "#ffffff",
5
+ "black": "#000000",
6
+ "robRoy": {
7
+ "50": "#fdf9ed",
8
+ "100": "#f7edce",
9
+ "200": "#efda98",
10
+ "300": "#e8c468",
11
+ "400": "#e1ac3e",
12
+ "500": "#d98f27",
13
+ "600": "#c06d1f",
14
+ "700": "#a0501d",
15
+ "800": "#823f1e",
16
+ "900": "#6b341c",
17
+ "950": "#3d1a0b"
18
+ },
19
+ "blueSmoke": {
20
+ "50": "#f6f7f7",
21
+ "100": "#e0e7e3",
22
+ "200": "#c1cec7",
23
+ "300": "#9aaea4",
24
+ "400": "#7a9086",
25
+ "500": "#5b7168",
26
+ "600": "#475a52",
27
+ "700": "#3b4a43",
28
+ "800": "#323d38",
29
+ "900": "#2c3531",
30
+ "950": "#171c1a"
31
+ },
32
+ "clay": {
33
+ "50": "#faf6f0",
34
+ "100": "#f2ebdf",
35
+ "200": "#e6d8c3",
36
+ "300": "#d4bea0",
37
+ "400": "#b89977",
38
+ "500": "#9a7a58",
39
+ "600": "#7c6044",
40
+ "700": "#5e4733",
41
+ "800": "#3f2f22",
42
+ "900": "#221a13"
43
+ },
44
+ "moss": {
45
+ "100": "#e3ecd9",
46
+ "500": "#6b8e5a",
47
+ "700": "#4a6b3d",
48
+ "900": "#394739"
49
+ },
50
+ "rust": {
51
+ "100": "#f5dbd0",
52
+ "500": "#b8472a",
53
+ "700": "#84301c",
54
+ "900": "#483930"
55
+ },
56
+ "sky": {
57
+ "100": "#d6e1ea",
58
+ "500": "#4a7896",
59
+ "700": "#2f5973",
60
+ "900": "#34464a"
61
+ }
17
62
  },
18
- "blueSmoke": {
19
- "50": "#f6f7f7",
20
- "100": "#e0e7e3",
21
- "200": "#c1cec7",
22
- "300": "#9aaea4",
23
- "400": "#7a9086",
24
- "500": "#5b7168",
25
- "600": "#475a52",
26
- "700": "#3b4a43",
27
- "800": "#323d38",
28
- "900": "#2c3531",
29
- "950": "#171c1a"
63
+ "font": {
64
+ "display": "'Lora', Georgia, serif",
65
+ "sans": "'Source Sans 3', system-ui, -apple-system, sans-serif",
66
+ "mono": "'JetBrains Mono', 'SF Mono', Menlo, monospace"
30
67
  },
31
- "clay": {
32
- "50": "#faf6f0",
33
- "100": "#f2ebdf",
34
- "200": "#e6d8c3",
35
- "300": "#d4bea0",
36
- "400": "#b89977",
37
- "500": "#9a7a58",
38
- "600": "#7c6044",
39
- "700": "#5e4733",
40
- "800": "#3f2f22",
41
- "900": "#221a13"
68
+ "text": {
69
+ "2xs": "11px",
70
+ "xs": "12px",
71
+ "sm": "14px",
72
+ "base": "16px",
73
+ "md": "18px",
74
+ "lg": "20px",
75
+ "xl": "24px",
76
+ "2xl": "30px",
77
+ "3xl": "38px",
78
+ "4xl": "48px",
79
+ "5xl": "60px",
80
+ "6xl": "76px"
42
81
  },
43
- "moss": {
44
- "100": "#e3ecd9",
45
- "500": "#6b8e5a",
46
- "700": "#4a6b3d",
47
- "900": "#394739"
82
+ "weight": {
83
+ "light": 300,
84
+ "regular": 400,
85
+ "medium": 500,
86
+ "semibold": 600,
87
+ "bold": 700
48
88
  },
49
- "rust": {
50
- "100": "#f5dbd0",
51
- "500": "#b8472a",
52
- "700": "#84301c",
53
- "900": "#483930"
89
+ "leading": {
90
+ "tight": "1.15",
91
+ "snug": "1.25",
92
+ "normal": "1.5",
93
+ "relaxed": "1.65"
54
94
  },
55
- "sky": {
56
- "100": "#d6e1ea",
57
- "500": "#4a7896",
58
- "700": "#2f5973",
59
- "900": "#34464a"
95
+ "tracking": {
96
+ "tight": "-0.02em",
97
+ "snug": "-0.01em",
98
+ "normal": "0em",
99
+ "wide": "0.04em",
100
+ "caps": "0.08em"
101
+ },
102
+ "space": {
103
+ "0": "0",
104
+ "1": "4px",
105
+ "2": "8px",
106
+ "3": "12px",
107
+ "4": "16px",
108
+ "5": "20px",
109
+ "6": "24px",
110
+ "8": "32px",
111
+ "10": "40px",
112
+ "12": "48px",
113
+ "16": "64px",
114
+ "20": "80px",
115
+ "24": "96px",
116
+ "32": "128px",
117
+ "px": "1px"
118
+ },
119
+ "radius": {
120
+ "none": "0",
121
+ "xs": "3px",
122
+ "sm": "6px",
123
+ "md": "10px",
124
+ "lg": "14px",
125
+ "xl": "20px",
126
+ "2xl": "28px",
127
+ "full": "9999px"
128
+ },
129
+ "shadow": {
130
+ "xs": "0 1px 2px rgba(61, 26, 11, 0.06)",
131
+ "sm": "0 1px 2px rgba(61, 26, 11, 0.05), 0 2px 4px rgba(61, 26, 11, 0.04)",
132
+ "md": "0 2px 4px rgba(61, 26, 11, 0.05), 0 6px 14px rgba(61, 26, 11, 0.07)",
133
+ "lg": "0 4px 8px rgba(61, 26, 11, 0.06), 0 16px 32px rgba(61, 26, 11, 0.10)",
134
+ "xl": "0 8px 16px rgba(61, 26, 11, 0.08), 0 32px 64px rgba(61, 26, 11, 0.14)",
135
+ "inset": "inset 0 1px 2px rgba(61, 26, 11, 0.08)",
136
+ "insetLg": "inset 0 2px 6px rgba(61, 26, 11, 0.10)",
137
+ "none": "0 0 #0000"
138
+ },
139
+ "ease": {
140
+ "out": "cubic-bezier(0.22, 0.61, 0.36, 1)",
141
+ "in": "cubic-bezier(0.55, 0.06, 0.68, 0.19)",
142
+ "inout": "cubic-bezier(0.65, 0.05, 0.36, 1)",
143
+ "soft": "cubic-bezier(0.4, 0, 0.2, 1)"
144
+ },
145
+ "duration": {
146
+ "fast": "140ms",
147
+ "base": "220ms",
148
+ "slow": "360ms",
149
+ "xslow": "600ms"
150
+ },
151
+ "layout": {
152
+ "narrow": "640px",
153
+ "prose": "720px",
154
+ "wide": "960px",
155
+ "xwide": "1200px",
156
+ "max": "1440px"
157
+ },
158
+ "border": {
159
+ "none": "0px",
160
+ "thin": "1px",
161
+ "thick": "2px"
60
162
  }
61
- },
62
- "font": {
63
- "display": "'Lora', Georgia, serif",
64
- "sans": "'Source Sans 3', system-ui, -apple-system, sans-serif",
65
- "mono": "'JetBrains Mono', 'SF Mono', Menlo, monospace"
66
- },
67
- "text": {
68
- "2xs": "11px",
69
- "xs": "12px",
70
- "sm": "14px",
71
- "base": "16px",
72
- "md": "18px",
73
- "lg": "20px",
74
- "xl": "24px",
75
- "2xl": "30px",
76
- "3xl": "38px",
77
- "4xl": "48px",
78
- "5xl": "60px",
79
- "6xl": "76px"
80
- },
81
- "weight": {
82
- "light": 300,
83
- "regular": 400,
84
- "medium": 500,
85
- "semibold": 600,
86
- "bold": 700
87
- },
88
- "leading": {
89
- "tight": "1.15",
90
- "snug": "1.25",
91
- "normal": "1.5",
92
- "relaxed": "1.65"
93
- },
94
- "tracking": {
95
- "tight": "-0.02em",
96
- "snug": "-0.01em",
97
- "normal": "0em",
98
- "wide": "0.04em",
99
- "caps": "0.08em"
100
- },
101
- "space": {
102
- "0": "0",
103
- "1": "4px",
104
- "2": "8px",
105
- "3": "12px",
106
- "4": "16px",
107
- "5": "20px",
108
- "6": "24px",
109
- "8": "32px",
110
- "10": "40px",
111
- "12": "48px",
112
- "16": "64px",
113
- "20": "80px",
114
- "24": "96px",
115
- "32": "128px",
116
- "px": "1px"
117
- },
118
- "radius": {
119
- "none": "0",
120
- "xs": "3px",
121
- "sm": "6px",
122
- "md": "10px",
123
- "lg": "14px",
124
- "xl": "20px",
125
- "2xl": "28px",
126
- "full": "9999px"
127
- },
128
- "shadow": {
129
- "xs": "0 1px 2px rgba(61, 26, 11, 0.06)",
130
- "sm": "0 1px 2px rgba(61, 26, 11, 0.05), 0 2px 4px rgba(61, 26, 11, 0.04)",
131
- "md": "0 2px 4px rgba(61, 26, 11, 0.05), 0 6px 14px rgba(61, 26, 11, 0.07)",
132
- "lg": "0 4px 8px rgba(61, 26, 11, 0.06), 0 16px 32px rgba(61, 26, 11, 0.10)",
133
- "xl": "0 8px 16px rgba(61, 26, 11, 0.08), 0 32px 64px rgba(61, 26, 11, 0.14)",
134
- "inset": "inset 0 1px 2px rgba(61, 26, 11, 0.08)",
135
- "insetLg": "inset 0 2px 6px rgba(61, 26, 11, 0.10)",
136
- "none": "0 0 #0000"
137
- },
138
- "ease": {
139
- "out": "cubic-bezier(0.22, 0.61, 0.36, 1)",
140
- "in": "cubic-bezier(0.55, 0.06, 0.68, 0.19)",
141
- "inout": "cubic-bezier(0.65, 0.05, 0.36, 1)",
142
- "soft": "cubic-bezier(0.4, 0, 0.2, 1)"
143
- },
144
- "duration": {
145
- "fast": "140ms",
146
- "base": "220ms",
147
- "slow": "360ms",
148
- "xslow": "600ms"
149
- },
150
- "layout": {
151
- "narrow": "640px",
152
- "prose": "720px",
153
- "wide": "960px",
154
- "xwide": "1200px",
155
- "max": "1440px"
156
- },
157
- "border": {
158
- "none": "0px",
159
- "thin": "1px",
160
- "thick": "2px"
161
163
  }
162
164
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevegreco/design-system",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Design tokens distributed as CSS and JSON artifacts.",
5
5
  "type": "module",
6
6
  "main": "./dist/tokens/primitives.json",