@phcdevworks/spectre-tokens 0.0.1
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/LICENSE +21 -0
- package/README.md +298 -0
- package/dist/index.cjs +501 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +226 -0
- package/dist/index.d.cts +96 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.js +469 -0
- package/dist/index.js.map +1 -0
- package/package.json +42 -0
- package/tokens/core.json +330 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
// tokens/core.json
|
|
2
|
+
var core_default = {
|
|
3
|
+
colors: {
|
|
4
|
+
brand: {
|
|
5
|
+
"50": "#f5f0ff",
|
|
6
|
+
"100": "#ebe2ff",
|
|
7
|
+
"200": "#d7c6ff",
|
|
8
|
+
"300": "#bfa1ff",
|
|
9
|
+
"400": "#a37aff",
|
|
10
|
+
"500": "#8652ff",
|
|
11
|
+
"600": "#6c32e6",
|
|
12
|
+
"700": "#5626b4",
|
|
13
|
+
"800": "#3d1b7f",
|
|
14
|
+
"900": "#241147"
|
|
15
|
+
},
|
|
16
|
+
neutral: {
|
|
17
|
+
"50": "#f8fafc",
|
|
18
|
+
"100": "#f1f5f9",
|
|
19
|
+
"200": "#e2e8f0",
|
|
20
|
+
"300": "#cbd5f5",
|
|
21
|
+
"400": "#94a3b8",
|
|
22
|
+
"500": "#64748b",
|
|
23
|
+
"600": "#475569",
|
|
24
|
+
"700": "#334155",
|
|
25
|
+
"800": "#1e293b",
|
|
26
|
+
"900": "#0f172a"
|
|
27
|
+
},
|
|
28
|
+
accent: {
|
|
29
|
+
"50": "#e5fff8",
|
|
30
|
+
"100": "#b8ffed",
|
|
31
|
+
"200": "#89ffe1",
|
|
32
|
+
"300": "#59ffd6",
|
|
33
|
+
"400": "#29ffca",
|
|
34
|
+
"500": "#03e6b3",
|
|
35
|
+
"600": "#00b389",
|
|
36
|
+
"700": "#008060",
|
|
37
|
+
"800": "#004d38",
|
|
38
|
+
"900": "#002a20"
|
|
39
|
+
},
|
|
40
|
+
success: {
|
|
41
|
+
"50": "#f0fdf4",
|
|
42
|
+
"100": "#dcfce7",
|
|
43
|
+
"200": "#bbf7d0",
|
|
44
|
+
"300": "#86efac",
|
|
45
|
+
"400": "#4ade80",
|
|
46
|
+
"500": "#22c55e",
|
|
47
|
+
"600": "#16a34a",
|
|
48
|
+
"700": "#15803d",
|
|
49
|
+
"800": "#166534",
|
|
50
|
+
"900": "#14532d"
|
|
51
|
+
},
|
|
52
|
+
warning: {
|
|
53
|
+
"50": "#fffbeb",
|
|
54
|
+
"100": "#fef3c7",
|
|
55
|
+
"200": "#fde68a",
|
|
56
|
+
"300": "#fcd34d",
|
|
57
|
+
"400": "#fbbf24",
|
|
58
|
+
"500": "#f59e0b",
|
|
59
|
+
"600": "#d97706",
|
|
60
|
+
"700": "#b45309",
|
|
61
|
+
"800": "#92400e",
|
|
62
|
+
"900": "#78350f"
|
|
63
|
+
},
|
|
64
|
+
error: {
|
|
65
|
+
"50": "#fef2f2",
|
|
66
|
+
"100": "#fee2e2",
|
|
67
|
+
"200": "#fecaca",
|
|
68
|
+
"300": "#fca5a5",
|
|
69
|
+
"400": "#f87171",
|
|
70
|
+
"500": "#ef4444",
|
|
71
|
+
"600": "#dc2626",
|
|
72
|
+
"700": "#b91c1c",
|
|
73
|
+
"800": "#991b1b",
|
|
74
|
+
"900": "#7f1d1d"
|
|
75
|
+
},
|
|
76
|
+
info: {
|
|
77
|
+
"50": "#eff6ff",
|
|
78
|
+
"100": "#dbeafe",
|
|
79
|
+
"200": "#bfdbfe",
|
|
80
|
+
"300": "#93c5fd",
|
|
81
|
+
"400": "#60a5fa",
|
|
82
|
+
"500": "#3b82f6",
|
|
83
|
+
"600": "#2563eb",
|
|
84
|
+
"700": "#1d4ed8",
|
|
85
|
+
"800": "#1e40af",
|
|
86
|
+
"900": "#1e3a8a"
|
|
87
|
+
},
|
|
88
|
+
focus: {
|
|
89
|
+
primary: "#8652ff",
|
|
90
|
+
error: "#ef4444",
|
|
91
|
+
info: "#3b82f6"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
opacity: {
|
|
95
|
+
disabled: "0.38",
|
|
96
|
+
hover: "0.92",
|
|
97
|
+
active: "0.84",
|
|
98
|
+
focus: "1",
|
|
99
|
+
overlay: "0.5",
|
|
100
|
+
tooltip: "0.95"
|
|
101
|
+
},
|
|
102
|
+
accessibility: {
|
|
103
|
+
focusRing: {
|
|
104
|
+
width: "2px",
|
|
105
|
+
offset: "2px",
|
|
106
|
+
style: "solid"
|
|
107
|
+
},
|
|
108
|
+
minTouchTarget: "44px",
|
|
109
|
+
minTextSize: "16px"
|
|
110
|
+
},
|
|
111
|
+
buttons: {
|
|
112
|
+
primary: {
|
|
113
|
+
bg: "#8652ff",
|
|
114
|
+
bgHover: "#6c32e6",
|
|
115
|
+
bgActive: "#5626b4",
|
|
116
|
+
bgDisabled: "#cbd5f5",
|
|
117
|
+
text: "#ffffff",
|
|
118
|
+
textDisabled: "#94a3b8"
|
|
119
|
+
},
|
|
120
|
+
secondary: {
|
|
121
|
+
bg: "#ffffff",
|
|
122
|
+
bgHover: "#f1f5f9",
|
|
123
|
+
bgActive: "#e2e8f0",
|
|
124
|
+
bgDisabled: "#f8fafc",
|
|
125
|
+
text: "#8652ff",
|
|
126
|
+
textDisabled: "#94a3b8",
|
|
127
|
+
border: "#8652ff",
|
|
128
|
+
borderDisabled: "#cbd5f5"
|
|
129
|
+
},
|
|
130
|
+
ghost: {
|
|
131
|
+
bg: "transparent",
|
|
132
|
+
bgHover: "#f5f0ff",
|
|
133
|
+
bgActive: "#ebe2ff",
|
|
134
|
+
bgDisabled: "transparent",
|
|
135
|
+
text: "#8652ff",
|
|
136
|
+
textDisabled: "#94a3b8"
|
|
137
|
+
},
|
|
138
|
+
danger: {
|
|
139
|
+
bg: "#ef4444",
|
|
140
|
+
bgHover: "#dc2626",
|
|
141
|
+
bgActive: "#b91c1c",
|
|
142
|
+
bgDisabled: "#fecaca",
|
|
143
|
+
text: "#ffffff",
|
|
144
|
+
textDisabled: "#94a3b8"
|
|
145
|
+
},
|
|
146
|
+
success: {
|
|
147
|
+
bg: "#22c55e",
|
|
148
|
+
bgHover: "#16a34a",
|
|
149
|
+
bgActive: "#15803d",
|
|
150
|
+
bgDisabled: "#bbf7d0",
|
|
151
|
+
text: "#ffffff",
|
|
152
|
+
textDisabled: "#94a3b8"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
forms: {
|
|
156
|
+
default: {
|
|
157
|
+
bg: "#ffffff",
|
|
158
|
+
border: "#cbd5f5",
|
|
159
|
+
text: "#0f172a",
|
|
160
|
+
placeholder: "#94a3b8"
|
|
161
|
+
},
|
|
162
|
+
hover: {
|
|
163
|
+
border: "#8652ff"
|
|
164
|
+
},
|
|
165
|
+
focus: {
|
|
166
|
+
border: "#8652ff",
|
|
167
|
+
ring: "#8652ff"
|
|
168
|
+
},
|
|
169
|
+
valid: {
|
|
170
|
+
border: "#22c55e",
|
|
171
|
+
bg: "#f0fdf4",
|
|
172
|
+
text: "#15803d"
|
|
173
|
+
},
|
|
174
|
+
invalid: {
|
|
175
|
+
border: "#ef4444",
|
|
176
|
+
bg: "#fef2f2",
|
|
177
|
+
text: "#b91c1c"
|
|
178
|
+
},
|
|
179
|
+
disabled: {
|
|
180
|
+
bg: "#f8fafc",
|
|
181
|
+
border: "#e2e8f0",
|
|
182
|
+
text: "#94a3b8"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
spacing: {
|
|
186
|
+
none: "0rem",
|
|
187
|
+
"3xs": "0.125rem",
|
|
188
|
+
"2xs": "0.25rem",
|
|
189
|
+
xs: "0.5rem",
|
|
190
|
+
sm: "0.75rem",
|
|
191
|
+
md: "1rem",
|
|
192
|
+
lg: "1.5rem",
|
|
193
|
+
xl: "2rem",
|
|
194
|
+
"2xl": "3rem",
|
|
195
|
+
"3xl": "4rem"
|
|
196
|
+
},
|
|
197
|
+
radii: {
|
|
198
|
+
none: "0",
|
|
199
|
+
sm: "2px",
|
|
200
|
+
md: "4px",
|
|
201
|
+
lg: "8px",
|
|
202
|
+
pill: "999px"
|
|
203
|
+
},
|
|
204
|
+
typography: {
|
|
205
|
+
families: {
|
|
206
|
+
sans: "'Inter', 'Helvetica Neue', Arial, sans-serif",
|
|
207
|
+
serif: "'Spectre Serif', 'Georgia', serif",
|
|
208
|
+
mono: "'JetBrains Mono', 'SFMono-Regular', Consolas, monospace"
|
|
209
|
+
},
|
|
210
|
+
scale: {
|
|
211
|
+
xs: {
|
|
212
|
+
fontSize: "0.75rem",
|
|
213
|
+
lineHeight: "1.25rem",
|
|
214
|
+
fontWeight: 400,
|
|
215
|
+
letterSpacing: "0.02em"
|
|
216
|
+
},
|
|
217
|
+
sm: {
|
|
218
|
+
fontSize: "0.875rem",
|
|
219
|
+
lineHeight: "1.5rem",
|
|
220
|
+
fontWeight: 400
|
|
221
|
+
},
|
|
222
|
+
md: {
|
|
223
|
+
fontSize: "1rem",
|
|
224
|
+
lineHeight: "1.75rem",
|
|
225
|
+
fontWeight: 500
|
|
226
|
+
},
|
|
227
|
+
lg: {
|
|
228
|
+
fontSize: "1.25rem",
|
|
229
|
+
lineHeight: "2rem",
|
|
230
|
+
fontWeight: 600
|
|
231
|
+
},
|
|
232
|
+
xl: {
|
|
233
|
+
fontSize: "1.5rem",
|
|
234
|
+
lineHeight: "2.125rem",
|
|
235
|
+
fontWeight: 600
|
|
236
|
+
},
|
|
237
|
+
"2xl": {
|
|
238
|
+
fontSize: "1.875rem",
|
|
239
|
+
lineHeight: "2.5rem",
|
|
240
|
+
fontWeight: 700
|
|
241
|
+
},
|
|
242
|
+
"3xl": {
|
|
243
|
+
fontSize: "2.25rem",
|
|
244
|
+
lineHeight: "2.75rem",
|
|
245
|
+
fontWeight: 700
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
shadows: {
|
|
250
|
+
none: "none",
|
|
251
|
+
sm: "0 1px 2px 0 rgba(15, 23, 42, 0.08)",
|
|
252
|
+
md: "0 3px 8px -1px rgba(15, 23, 42, 0.1)",
|
|
253
|
+
lg: "0 8px 20px -4px rgba(15, 23, 42, 0.18)"
|
|
254
|
+
},
|
|
255
|
+
breakpoints: {
|
|
256
|
+
sm: "640px",
|
|
257
|
+
md: "768px",
|
|
258
|
+
lg: "1024px",
|
|
259
|
+
xl: "1280px",
|
|
260
|
+
"2xl": "1536px"
|
|
261
|
+
},
|
|
262
|
+
zIndex: {
|
|
263
|
+
base: "0",
|
|
264
|
+
dropdown: "1000",
|
|
265
|
+
sticky: "1100",
|
|
266
|
+
fixed: "1200",
|
|
267
|
+
overlay: "1300",
|
|
268
|
+
modal: "1400",
|
|
269
|
+
popover: "1500",
|
|
270
|
+
tooltip: "1600"
|
|
271
|
+
},
|
|
272
|
+
transitions: {
|
|
273
|
+
duration: {
|
|
274
|
+
instant: "75ms",
|
|
275
|
+
fast: "150ms",
|
|
276
|
+
base: "200ms",
|
|
277
|
+
moderate: "300ms",
|
|
278
|
+
slow: "500ms",
|
|
279
|
+
slower: "700ms"
|
|
280
|
+
},
|
|
281
|
+
easing: {
|
|
282
|
+
linear: "linear",
|
|
283
|
+
in: "cubic-bezier(0.4, 0, 1, 1)",
|
|
284
|
+
out: "cubic-bezier(0, 0, 0.2, 1)",
|
|
285
|
+
inOut: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
286
|
+
spring: "cubic-bezier(0.34, 1.56, 0.64, 1)"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
animations: {
|
|
290
|
+
fadeIn: {
|
|
291
|
+
duration: "200ms",
|
|
292
|
+
easing: "cubic-bezier(0, 0, 0.2, 1)",
|
|
293
|
+
keyframes: "fade-in"
|
|
294
|
+
},
|
|
295
|
+
fadeOut: {
|
|
296
|
+
duration: "150ms",
|
|
297
|
+
easing: "cubic-bezier(0.4, 0, 1, 1)",
|
|
298
|
+
keyframes: "fade-out"
|
|
299
|
+
},
|
|
300
|
+
slideUp: {
|
|
301
|
+
duration: "300ms",
|
|
302
|
+
easing: "cubic-bezier(0, 0, 0.2, 1)",
|
|
303
|
+
keyframes: "slide-up"
|
|
304
|
+
},
|
|
305
|
+
slideDown: {
|
|
306
|
+
duration: "300ms",
|
|
307
|
+
easing: "cubic-bezier(0, 0, 0.2, 1)",
|
|
308
|
+
keyframes: "slide-down"
|
|
309
|
+
},
|
|
310
|
+
scaleIn: {
|
|
311
|
+
duration: "200ms",
|
|
312
|
+
easing: "cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
313
|
+
keyframes: "scale-in"
|
|
314
|
+
},
|
|
315
|
+
bounce: {
|
|
316
|
+
duration: "500ms",
|
|
317
|
+
easing: "cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
318
|
+
keyframes: "bounce"
|
|
319
|
+
},
|
|
320
|
+
shake: {
|
|
321
|
+
duration: "400ms",
|
|
322
|
+
easing: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
323
|
+
keyframes: "shake"
|
|
324
|
+
},
|
|
325
|
+
pulse: {
|
|
326
|
+
duration: "1500ms",
|
|
327
|
+
easing: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
328
|
+
keyframes: "pulse"
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
// src/css.ts
|
|
334
|
+
var DEFAULT_PREFIX = "sp";
|
|
335
|
+
var DEFAULT_SELECTOR = ":root";
|
|
336
|
+
var formatKey = (segment) => segment.replace(/[^a-z0-9]+/gi, "-").replace(/^-+|-+$/g, "").toLowerCase();
|
|
337
|
+
var toVariableName = (prefix, ...parts) => {
|
|
338
|
+
const filtered = parts.filter(Boolean).map(formatKey);
|
|
339
|
+
return `--${prefix}-${filtered.join("-")}`;
|
|
340
|
+
};
|
|
341
|
+
var createCssVariableMap = (tokens2, options = {}) => {
|
|
342
|
+
const prefix = options.prefix ?? DEFAULT_PREFIX;
|
|
343
|
+
const map = {};
|
|
344
|
+
const assign = (name, value) => {
|
|
345
|
+
if (value === void 0) return;
|
|
346
|
+
map[name] = String(value);
|
|
347
|
+
};
|
|
348
|
+
Object.entries(tokens2.colors).forEach(([group, scale]) => {
|
|
349
|
+
Object.entries(scale).forEach(([step, value]) => {
|
|
350
|
+
assign(toVariableName(prefix, "color", group, step), value);
|
|
351
|
+
});
|
|
352
|
+
});
|
|
353
|
+
Object.entries(tokens2.spacing).forEach(([key, value]) => {
|
|
354
|
+
assign(toVariableName(prefix, "space", key), value);
|
|
355
|
+
});
|
|
356
|
+
Object.entries(tokens2.radii).forEach(([key, value]) => {
|
|
357
|
+
assign(toVariableName(prefix, "radius", key), value);
|
|
358
|
+
});
|
|
359
|
+
Object.entries(tokens2.typography.families).forEach(([key, value]) => {
|
|
360
|
+
assign(toVariableName(prefix, "font-family", key), value);
|
|
361
|
+
});
|
|
362
|
+
Object.entries(tokens2.typography.scale).forEach(([key, entry]) => {
|
|
363
|
+
assign(toVariableName(prefix, "font", key, "size"), entry.fontSize);
|
|
364
|
+
assign(toVariableName(prefix, "font", key, "line-height"), entry.lineHeight);
|
|
365
|
+
assign(toVariableName(prefix, "font", key, "weight"), entry.fontWeight);
|
|
366
|
+
assign(toVariableName(prefix, "font", key, "letter-spacing"), entry.letterSpacing);
|
|
367
|
+
});
|
|
368
|
+
Object.entries(tokens2.shadows).forEach(([key, value]) => {
|
|
369
|
+
assign(toVariableName(prefix, "shadow", key), value);
|
|
370
|
+
});
|
|
371
|
+
Object.entries(tokens2.breakpoints).forEach(([key, value]) => {
|
|
372
|
+
assign(toVariableName(prefix, "breakpoint", key), value);
|
|
373
|
+
});
|
|
374
|
+
Object.entries(tokens2.zIndex).forEach(([key, value]) => {
|
|
375
|
+
assign(toVariableName(prefix, "z-index", key), value);
|
|
376
|
+
});
|
|
377
|
+
Object.entries(tokens2.transitions.duration).forEach(([key, value]) => {
|
|
378
|
+
assign(toVariableName(prefix, "duration", key), value);
|
|
379
|
+
});
|
|
380
|
+
Object.entries(tokens2.transitions.easing).forEach(([key, value]) => {
|
|
381
|
+
assign(toVariableName(prefix, "easing", key), value);
|
|
382
|
+
});
|
|
383
|
+
Object.entries(tokens2.opacity).forEach(([key, value]) => {
|
|
384
|
+
assign(toVariableName(prefix, "opacity", key), value);
|
|
385
|
+
});
|
|
386
|
+
assign(toVariableName(prefix, "focus-ring-width"), tokens2.accessibility.focusRing.width);
|
|
387
|
+
assign(toVariableName(prefix, "focus-ring-offset"), tokens2.accessibility.focusRing.offset);
|
|
388
|
+
assign(toVariableName(prefix, "focus-ring-style"), tokens2.accessibility.focusRing.style);
|
|
389
|
+
assign(toVariableName(prefix, "min-touch-target"), tokens2.accessibility.minTouchTarget);
|
|
390
|
+
assign(toVariableName(prefix, "min-text-size"), tokens2.accessibility.minTextSize);
|
|
391
|
+
Object.entries(tokens2.buttons).forEach(([variant, states]) => {
|
|
392
|
+
Object.entries(states).forEach(([state, value]) => {
|
|
393
|
+
assign(toVariableName(prefix, "button", variant, state), value);
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
Object.entries(tokens2.forms).forEach(([state, properties]) => {
|
|
397
|
+
Object.entries(properties).forEach(([prop, value]) => {
|
|
398
|
+
if (value) assign(toVariableName(prefix, "form", state, prop), value);
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
Object.entries(tokens2.animations).forEach(([name, animation]) => {
|
|
402
|
+
assign(toVariableName(prefix, "animation", name, "duration"), animation.duration);
|
|
403
|
+
assign(toVariableName(prefix, "animation", name, "easing"), animation.easing);
|
|
404
|
+
assign(toVariableName(prefix, "animation", name, "keyframes"), animation.keyframes);
|
|
405
|
+
});
|
|
406
|
+
return map;
|
|
407
|
+
};
|
|
408
|
+
var generateCssVariables = (tokens2, options = {}) => {
|
|
409
|
+
const selector = options.selector ?? DEFAULT_SELECTOR;
|
|
410
|
+
const declarations = createCssVariableMap(tokens2, options);
|
|
411
|
+
const lines = Object.entries(declarations).map(([name, value]) => ` ${name}: ${value};`).join("\n");
|
|
412
|
+
return `${selector} {
|
|
413
|
+
${lines}
|
|
414
|
+
}
|
|
415
|
+
`;
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
// src/index.ts
|
|
419
|
+
var tokens = core_default;
|
|
420
|
+
var sanitizeFontFamily = (value) => value.split(",").map((segment) => segment.trim().replace(/^['"]|['"]$/g, "")).filter(Boolean);
|
|
421
|
+
var createTailwindTheme = (source = tokens) => {
|
|
422
|
+
const colors = {};
|
|
423
|
+
Object.entries(source.colors).forEach(([group, scale]) => {
|
|
424
|
+
colors[group] = { ...scale };
|
|
425
|
+
});
|
|
426
|
+
const fontFamily = Object.entries(source.typography.families).reduce((acc, [key, value]) => {
|
|
427
|
+
acc[key] = sanitizeFontFamily(value);
|
|
428
|
+
return acc;
|
|
429
|
+
}, {});
|
|
430
|
+
const fontSize = Object.entries(source.typography.scale).reduce((acc, [key, entry]) => {
|
|
431
|
+
acc[key] = [
|
|
432
|
+
entry.fontSize,
|
|
433
|
+
{
|
|
434
|
+
lineHeight: entry.lineHeight,
|
|
435
|
+
...entry.fontWeight ? { fontWeight: entry.fontWeight } : {},
|
|
436
|
+
...entry.letterSpacing ? { letterSpacing: entry.letterSpacing } : {}
|
|
437
|
+
}
|
|
438
|
+
];
|
|
439
|
+
return acc;
|
|
440
|
+
}, {});
|
|
441
|
+
return {
|
|
442
|
+
colors,
|
|
443
|
+
spacing: { ...source.spacing },
|
|
444
|
+
borderRadius: { ...source.radii },
|
|
445
|
+
fontFamily,
|
|
446
|
+
fontSize,
|
|
447
|
+
boxShadow: { ...source.shadows },
|
|
448
|
+
screens: { ...source.breakpoints },
|
|
449
|
+
zIndex: { ...source.zIndex },
|
|
450
|
+
transitionDuration: { ...source.transitions.duration },
|
|
451
|
+
transitionTimingFunction: { ...source.transitions.easing },
|
|
452
|
+
opacity: { ...source.opacity }
|
|
453
|
+
};
|
|
454
|
+
};
|
|
455
|
+
var tailwindTheme = createTailwindTheme(tokens);
|
|
456
|
+
var tailwindPreset = {
|
|
457
|
+
theme: tailwindTheme
|
|
458
|
+
};
|
|
459
|
+
var index_default = tokens;
|
|
460
|
+
export {
|
|
461
|
+
createCssVariableMap,
|
|
462
|
+
createTailwindTheme,
|
|
463
|
+
index_default as default,
|
|
464
|
+
generateCssVariables,
|
|
465
|
+
tailwindPreset,
|
|
466
|
+
tailwindTheme,
|
|
467
|
+
tokens
|
|
468
|
+
};
|
|
469
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../tokens/core.json","../src/css.ts","../src/index.ts"],"sourcesContent":["{\n \"colors\": {\n \"brand\": {\n \"50\": \"#f5f0ff\",\n \"100\": \"#ebe2ff\",\n \"200\": \"#d7c6ff\",\n \"300\": \"#bfa1ff\",\n \"400\": \"#a37aff\",\n \"500\": \"#8652ff\",\n \"600\": \"#6c32e6\",\n \"700\": \"#5626b4\",\n \"800\": \"#3d1b7f\",\n \"900\": \"#241147\"\n },\n \"neutral\": {\n \"50\": \"#f8fafc\",\n \"100\": \"#f1f5f9\",\n \"200\": \"#e2e8f0\",\n \"300\": \"#cbd5f5\",\n \"400\": \"#94a3b8\",\n \"500\": \"#64748b\",\n \"600\": \"#475569\",\n \"700\": \"#334155\",\n \"800\": \"#1e293b\",\n \"900\": \"#0f172a\"\n },\n \"accent\": {\n \"50\": \"#e5fff8\",\n \"100\": \"#b8ffed\",\n \"200\": \"#89ffe1\",\n \"300\": \"#59ffd6\",\n \"400\": \"#29ffca\",\n \"500\": \"#03e6b3\",\n \"600\": \"#00b389\",\n \"700\": \"#008060\",\n \"800\": \"#004d38\",\n \"900\": \"#002a20\"\n },\n \"success\": {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#bbf7d0\",\n \"300\": \"#86efac\",\n \"400\": \"#4ade80\",\n \"500\": \"#22c55e\",\n \"600\": \"#16a34a\",\n \"700\": \"#15803d\",\n \"800\": \"#166534\",\n \"900\": \"#14532d\"\n },\n \"warning\": {\n \"50\": \"#fffbeb\",\n \"100\": \"#fef3c7\",\n \"200\": \"#fde68a\",\n \"300\": \"#fcd34d\",\n \"400\": \"#fbbf24\",\n \"500\": \"#f59e0b\",\n \"600\": \"#d97706\",\n \"700\": \"#b45309\",\n \"800\": \"#92400e\",\n \"900\": \"#78350f\"\n },\n \"error\": {\n \"50\": \"#fef2f2\",\n \"100\": \"#fee2e2\",\n \"200\": \"#fecaca\",\n \"300\": \"#fca5a5\",\n \"400\": \"#f87171\",\n \"500\": \"#ef4444\",\n \"600\": \"#dc2626\",\n \"700\": \"#b91c1c\",\n \"800\": \"#991b1b\",\n \"900\": \"#7f1d1d\"\n },\n \"info\": {\n \"50\": \"#eff6ff\",\n \"100\": \"#dbeafe\",\n \"200\": \"#bfdbfe\",\n \"300\": \"#93c5fd\",\n \"400\": \"#60a5fa\",\n \"500\": \"#3b82f6\",\n \"600\": \"#2563eb\",\n \"700\": \"#1d4ed8\",\n \"800\": \"#1e40af\",\n \"900\": \"#1e3a8a\"\n },\n \"focus\": {\n \"primary\": \"#8652ff\",\n \"error\": \"#ef4444\",\n \"info\": \"#3b82f6\"\n }\n },\n \"opacity\": {\n \"disabled\": \"0.38\",\n \"hover\": \"0.92\",\n \"active\": \"0.84\",\n \"focus\": \"1\",\n \"overlay\": \"0.5\",\n \"tooltip\": \"0.95\"\n },\n \"accessibility\": {\n \"focusRing\": {\n \"width\": \"2px\",\n \"offset\": \"2px\",\n \"style\": \"solid\"\n },\n \"minTouchTarget\": \"44px\",\n \"minTextSize\": \"16px\"\n },\n \"buttons\": {\n \"primary\": {\n \"bg\": \"#8652ff\",\n \"bgHover\": \"#6c32e6\",\n \"bgActive\": \"#5626b4\",\n \"bgDisabled\": \"#cbd5f5\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"secondary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f1f5f9\",\n \"bgActive\": \"#e2e8f0\",\n \"bgDisabled\": \"#f8fafc\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\",\n \"border\": \"#8652ff\",\n \"borderDisabled\": \"#cbd5f5\"\n },\n \"ghost\": {\n \"bg\": \"transparent\",\n \"bgHover\": \"#f5f0ff\",\n \"bgActive\": \"#ebe2ff\",\n \"bgDisabled\": \"transparent\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"danger\": {\n \"bg\": \"#ef4444\",\n \"bgHover\": \"#dc2626\",\n \"bgActive\": \"#b91c1c\",\n \"bgDisabled\": \"#fecaca\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"success\": {\n \"bg\": \"#22c55e\",\n \"bgHover\": \"#16a34a\",\n \"bgActive\": \"#15803d\",\n \"bgDisabled\": \"#bbf7d0\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n }\n },\n \"forms\": {\n \"default\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#cbd5f5\",\n \"text\": \"#0f172a\",\n \"placeholder\": \"#94a3b8\"\n },\n \"hover\": {\n \"border\": \"#8652ff\"\n },\n \"focus\": {\n \"border\": \"#8652ff\",\n \"ring\": \"#8652ff\"\n },\n \"valid\": {\n \"border\": \"#22c55e\",\n \"bg\": \"#f0fdf4\",\n \"text\": \"#15803d\"\n },\n \"invalid\": {\n \"border\": \"#ef4444\",\n \"bg\": \"#fef2f2\",\n \"text\": \"#b91c1c\"\n },\n \"disabled\": {\n \"bg\": \"#f8fafc\",\n \"border\": \"#e2e8f0\",\n \"text\": \"#94a3b8\"\n }\n },\n \"spacing\": {\n \"none\": \"0rem\",\n \"3xs\": \"0.125rem\",\n \"2xs\": \"0.25rem\",\n \"xs\": \"0.5rem\",\n \"sm\": \"0.75rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\"\n },\n \"radii\": {\n \"none\": \"0\",\n \"sm\": \"2px\",\n \"md\": \"4px\",\n \"lg\": \"8px\",\n \"pill\": \"999px\"\n },\n \"typography\": {\n \"families\": {\n \"sans\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"serif\": \"'Spectre Serif', 'Georgia', serif\",\n \"mono\": \"'JetBrains Mono', 'SFMono-Regular', Consolas, monospace\"\n },\n \"scale\": {\n \"xs\": {\n \"fontSize\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"fontSize\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"fontWeight\": 400\n },\n \"md\": {\n \"fontSize\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"fontWeight\": 500\n },\n \"lg\": {\n \"fontSize\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"fontWeight\": 600\n },\n \"xl\": {\n \"fontSize\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"fontWeight\": 600\n },\n \"2xl\": {\n \"fontSize\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"fontWeight\": 700\n },\n \"3xl\": {\n \"fontSize\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"fontWeight\": 700\n }\n }\n },\n \"shadows\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(15, 23, 42, 0.08)\",\n \"md\": \"0 3px 8px -1px rgba(15, 23, 42, 0.1)\",\n \"lg\": \"0 8px 20px -4px rgba(15, 23, 42, 0.18)\"\n },\n \"breakpoints\": {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n },\n \"zIndex\": {\n \"base\": \"0\",\n \"dropdown\": \"1000\",\n \"sticky\": \"1100\",\n \"fixed\": \"1200\",\n \"overlay\": \"1300\",\n \"modal\": \"1400\",\n \"popover\": \"1500\",\n \"tooltip\": \"1600\"\n },\n \"transitions\": {\n \"duration\": {\n \"instant\": \"75ms\",\n \"fast\": \"150ms\",\n \"base\": \"200ms\",\n \"moderate\": \"300ms\",\n \"slow\": \"500ms\",\n \"slower\": \"700ms\"\n },\n \"easing\": {\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"inOut\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"spring\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n }\n },\n \"animations\": {\n \"fadeIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"fade-in\"\n },\n \"fadeOut\": {\n \"duration\": \"150ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"keyframes\": \"fade-out\"\n },\n \"slideUp\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-up\"\n },\n \"slideDown\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-down\"\n },\n \"scaleIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"scale-in\"\n },\n \"bounce\": {\n \"duration\": \"500ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"bounce\"\n },\n \"shake\": {\n \"duration\": \"400ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"shake\"\n },\n \"pulse\": {\n \"duration\": \"1500ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"pulse\"\n }\n }\n}\n","import type { CssVariableMap, CssVariableOptions, Tokens } from './types';\n\nconst DEFAULT_PREFIX = 'sp';\nexport const DEFAULT_SELECTOR = ':root';\n\nconst formatKey = (segment: string): string =>\n segment\n .replace(/[^a-z0-9]+/gi, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase();\n\nconst toVariableName = (prefix: string, ...parts: string[]): string => {\n const filtered = parts.filter(Boolean).map(formatKey);\n return `--${prefix}-${filtered.join('-')}`;\n};\n\nexport const createCssVariableMap = (tokens: Tokens, options: CssVariableOptions = {}): CssVariableMap => {\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const map: CssVariableMap = {};\n\n const assign = (name: string, value: string | number | undefined) => {\n if (value === undefined) return;\n map[name] = String(value);\n };\n\n Object.entries(tokens.colors).forEach(([group, scale]) => {\n Object.entries(scale).forEach(([step, value]) => {\n assign(toVariableName(prefix, 'color', group, step), value);\n });\n });\n\n Object.entries(tokens.spacing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'space', key), value);\n });\n\n Object.entries(tokens.radii).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'radius', key), value);\n });\n\n Object.entries(tokens.typography.families).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'font-family', key), value);\n });\n\n Object.entries(tokens.typography.scale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.fontSize);\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight);\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.fontWeight);\n assign(toVariableName(prefix, 'font', key, 'letter-spacing'), entry.letterSpacing);\n });\n\n Object.entries(tokens.shadows).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'shadow', key), value);\n });\n\n Object.entries(tokens.breakpoints).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'breakpoint', key), value);\n });\n\n Object.entries(tokens.zIndex).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'z-index', key), value);\n });\n\n Object.entries(tokens.transitions.duration).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'duration', key), value);\n });\n\n Object.entries(tokens.transitions.easing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'easing', key), value);\n });\n\n Object.entries(tokens.opacity).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'opacity', key), value);\n });\n\n // Accessibility tokens\n assign(toVariableName(prefix, 'focus-ring-width'), tokens.accessibility.focusRing.width);\n assign(toVariableName(prefix, 'focus-ring-offset'), tokens.accessibility.focusRing.offset);\n assign(toVariableName(prefix, 'focus-ring-style'), tokens.accessibility.focusRing.style);\n assign(toVariableName(prefix, 'min-touch-target'), tokens.accessibility.minTouchTarget);\n assign(toVariableName(prefix, 'min-text-size'), tokens.accessibility.minTextSize);\n\n // Button tokens\n Object.entries(tokens.buttons).forEach(([variant, states]) => {\n Object.entries(states).forEach(([state, value]) => {\n assign(toVariableName(prefix, 'button', variant, state), value);\n });\n });\n\n // Form tokens\n Object.entries(tokens.forms).forEach(([state, properties]) => {\n Object.entries(properties).forEach(([prop, value]) => {\n if (value) assign(toVariableName(prefix, 'form', state, prop), value);\n });\n });\n\n // Animation tokens\n Object.entries(tokens.animations).forEach(([name, animation]) => {\n assign(toVariableName(prefix, 'animation', name, 'duration'), animation.duration);\n assign(toVariableName(prefix, 'animation', name, 'easing'), animation.easing);\n assign(toVariableName(prefix, 'animation', name, 'keyframes'), animation.keyframes);\n });\n\n return map;\n};\n\nexport const generateCssVariables = (tokens: Tokens, options: CssVariableOptions = {}): string => {\n const selector = options.selector ?? DEFAULT_SELECTOR;\n const declarations = createCssVariableMap(tokens, options);\n const lines = Object.entries(declarations)\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `${selector} {\\n${lines}\\n}\\n`;\n};\n","import coreTokens from '../tokens/core.json';\n\nimport { createCssVariableMap, generateCssVariables } from './css';\nimport type { TailwindTheme, Tokens } from './types';\n\nexport type { TailwindTheme, Tokens, ColorScale, TokenScale, TypographyTokens, TransitionTokens, AccessibilityTokens, ButtonStateTokens, FormStateTokens, AnimationEntry } from './types';\n\nconst tokens: Tokens = coreTokens as Tokens;\n\nconst sanitizeFontFamily = (value: string): string[] =>\n value\n .split(',')\n .map((segment) => segment.trim().replace(/^['\"]|['\"]$/g, ''))\n .filter(Boolean);\n\nexport const createTailwindTheme = (source: Tokens = tokens): TailwindTheme => {\n const colors: TailwindTheme['colors'] = {};\n Object.entries(source.colors).forEach(([group, scale]) => {\n colors[group] = { ...scale };\n });\n\n const fontFamily = Object.entries(source.typography.families).reduce<Record<string, string[]>>((acc, [key, value]) => {\n acc[key] = sanitizeFontFamily(value);\n return acc;\n }, {});\n\n const fontSize = Object.entries(source.typography.scale).reduce<TailwindTheme['fontSize']>((acc, [key, entry]) => {\n acc[key] = [\n entry.fontSize,\n {\n lineHeight: entry.lineHeight,\n ...(entry.fontWeight ? { fontWeight: entry.fontWeight } : {}),\n ...(entry.letterSpacing ? { letterSpacing: entry.letterSpacing } : {})\n }\n ];\n return acc;\n }, {});\n\n return {\n colors,\n spacing: { ...source.spacing },\n borderRadius: { ...source.radii },\n fontFamily,\n fontSize,\n boxShadow: { ...source.shadows },\n screens: { ...source.breakpoints },\n zIndex: { ...source.zIndex },\n transitionDuration: { ...source.transitions.duration },\n transitionTimingFunction: { ...source.transitions.easing },\n opacity: { ...source.opacity }\n };\n};\n\nexport const tailwindTheme = createTailwindTheme(tokens);\nexport const tailwindPreset = {\n theme: tailwindTheme\n};\n\nexport { tokens, createCssVariableMap, generateCssVariables };\nexport default tokens;\n"],"mappings":"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","names":["tokens"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@phcdevworks/spectre-tokens",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Spectre design tokens with JS, TS, Tailwind, and CSS variable outputs.",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "npm run build:ts && npm run build:css",
|
|
10
|
+
"build:ts": "tsup",
|
|
11
|
+
"build:css": "node scripts/build-css.js"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
18
|
+
},
|
|
19
|
+
"./index.css": "./dist/index.css"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"tokens"
|
|
24
|
+
],
|
|
25
|
+
"sideEffects": false,
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/phcdevworks/spectre-tokens.git"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [],
|
|
31
|
+
"author": "",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/phcdevworks/spectre-tokens/issues"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://github.com/phcdevworks/spectre-tokens#readme",
|
|
37
|
+
"type": "module",
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"tsup": "^8.5.1",
|
|
40
|
+
"typescript": "^5.9.3"
|
|
41
|
+
}
|
|
42
|
+
}
|