@skra/tokens 0.2.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.
Files changed (55) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +7 -0
  3. package/README.md +64 -0
  4. package/brutal/_baseline.scss +22 -0
  5. package/brutal/_comp.scss +985 -0
  6. package/brutal/_density.comfortable.scoped.scss +166 -0
  7. package/brutal/_density.comfortable.scss +166 -0
  8. package/brutal/_density.compact.scoped.scss +166 -0
  9. package/brutal/_density.compact.scss +166 -0
  10. package/brutal/_theme.dark.scoped.scss +707 -0
  11. package/brutal/_theme.dark.scss +708 -0
  12. package/brutal/_theme.scoped.scss +1289 -0
  13. package/brutal/_theme.scss +451 -0
  14. package/brutal/skin.config.json +40 -0
  15. package/manifests/accordion.json +52 -0
  16. package/manifests/alert.json +107 -0
  17. package/manifests/avatar.json +78 -0
  18. package/manifests/badge.json +63 -0
  19. package/manifests/box.json +34 -0
  20. package/manifests/button.json +133 -0
  21. package/manifests/chip.json +116 -0
  22. package/manifests/combobox.json +141 -0
  23. package/manifests/datepicker.json +159 -0
  24. package/manifests/dialog.json +104 -0
  25. package/manifests/field.json +267 -0
  26. package/manifests/grid.json +61 -0
  27. package/manifests/icon.json +43 -0
  28. package/manifests/kbd.json +68 -0
  29. package/manifests/link.json +107 -0
  30. package/manifests/menu.json +122 -0
  31. package/manifests/popover.json +104 -0
  32. package/manifests/progress.json +69 -0
  33. package/manifests/select.json +177 -0
  34. package/manifests/skeleton.json +43 -0
  35. package/manifests/stack.json +34 -0
  36. package/manifests/star-rating.json +96 -0
  37. package/manifests/status-dot.json +69 -0
  38. package/manifests/tabs.json +52 -0
  39. package/manifests/toast.json +133 -0
  40. package/manifests/tooltip.json +113 -0
  41. package/manifests/typography.json +169 -0
  42. package/overlays/brand-jade.scss +9 -0
  43. package/overlays/round-corners.scss +8 -0
  44. package/overlays/square-corners.scss +8 -0
  45. package/package.json +19 -0
  46. package/skra/_baseline.scss +22 -0
  47. package/skra/_comp.scss +981 -0
  48. package/skra/_density.comfortable.scss +166 -0
  49. package/skra/_density.compact.scss +166 -0
  50. package/skra/_form-controls.scss +74 -0
  51. package/skra/_overlay.scss +42 -0
  52. package/skra/_theme.dark.scss +698 -0
  53. package/skra/_theme.scss +448 -0
  54. package/skra/skin.config.json +37 -0
  55. package/skra/utilities.scss +38 -0
@@ -0,0 +1,451 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --skra-sys-color-neutral-base-hover: oklch(37.0% 0 0);
7
+ --skra-sys-color-neutral-base-active: oklch(43.0% 0 0);
8
+ --skra-sys-color-neutral-contrast-hover: oklch(88.0% 0 0);
9
+ --skra-sys-color-neutral-contrast-active: oklch(82.0% 0 0);
10
+ --skra-sys-color-neutral-border-hover: oklch(12.0% 0 0);
11
+ --skra-sys-color-neutral-border-active: oklch(18.0% 0 0);
12
+ --skra-sys-color-neutral-soft-hover: oklch(83.0% 0 0);
13
+ --skra-sys-color-neutral-soft-active: oklch(77.0% 0 0);
14
+ --skra-sys-color-neutral-strong-hover: oklch(12.0% 0 0);
15
+ --skra-sys-color-neutral-strong-active: oklch(18.0% 0 0);
16
+ --skra-sys-color-neutral-ink-hover: oklch(37.0% 0 0);
17
+ --skra-sys-color-neutral-ink-active: oklch(43.0% 0 0);
18
+ --skra-sys-color-primary-base-hover: oklch(73.0% 0.17 98);
19
+ --skra-sys-color-primary-base-active: oklch(67.0% 0.17 98);
20
+ --skra-sys-color-primary-contrast-hover: oklch(12.0% 0 0);
21
+ --skra-sys-color-primary-contrast-active: oklch(18.0% 0 0);
22
+ --skra-sys-color-primary-border-hover: oklch(12.0% 0 0);
23
+ --skra-sys-color-primary-border-active: oklch(18.0% 0 0);
24
+ --skra-sys-color-primary-soft-hover: oklch(84.0% 0.06 100);
25
+ --skra-sys-color-primary-soft-active: oklch(78.0% 0.06 100);
26
+ --skra-sys-color-primary-strong-hover: oklch(62.0% 0.11 98);
27
+ --skra-sys-color-primary-strong-active: oklch(68.0% 0.11 98);
28
+ --skra-sys-color-primary-ink-hover: oklch(62.0% 0.11 98);
29
+ --skra-sys-color-primary-ink-active: oklch(68.0% 0.11 98);
30
+ --skra-sys-color-secondary-base-hover: oklch(57.0% 0.04 250);
31
+ --skra-sys-color-secondary-base-active: oklch(63.0% 0.04 250);
32
+ --skra-sys-color-secondary-contrast-hover: oklch(88.0% 0 0);
33
+ --skra-sys-color-secondary-contrast-active: oklch(82.0% 0 0);
34
+ --skra-sys-color-secondary-border-hover: oklch(12.0% 0 0);
35
+ --skra-sys-color-secondary-border-active: oklch(18.0% 0 0);
36
+ --skra-sys-color-secondary-soft-hover: oklch(82.0% 0.02 250);
37
+ --skra-sys-color-secondary-soft-active: oklch(76.0% 0.02 250);
38
+ --skra-sys-color-secondary-strong-hover: oklch(42.0% 0.04 250);
39
+ --skra-sys-color-secondary-strong-active: oklch(48.0% 0.04 250);
40
+ --skra-sys-color-secondary-ink-hover: oklch(57.0% 0.04 250);
41
+ --skra-sys-color-secondary-ink-active: oklch(63.0% 0.04 250);
42
+ --skra-sys-color-info-base-hover: oklch(62.0% 0.12 220);
43
+ --skra-sys-color-info-base-active: oklch(68.0% 0.12 220);
44
+ --skra-sys-color-info-contrast-hover: oklch(88.0% 0 0);
45
+ --skra-sys-color-info-contrast-active: oklch(82.0% 0 0);
46
+ --skra-sys-color-info-border-hover: oklch(12.0% 0 0);
47
+ --skra-sys-color-info-border-active: oklch(18.0% 0 0);
48
+ --skra-sys-color-info-soft-hover: oklch(82.0% 0.04 220);
49
+ --skra-sys-color-info-soft-active: oklch(76.0% 0.04 220);
50
+ --skra-sys-color-info-strong-hover: oklch(47.0% 0.12 220);
51
+ --skra-sys-color-info-strong-active: oklch(53.0% 0.12 220);
52
+ --skra-sys-color-info-ink-hover: oklch(62.0% 0.12 220);
53
+ --skra-sys-color-info-ink-active: oklch(68.0% 0.12 220);
54
+ --skra-sys-color-success-base-hover: oklch(60.0% 0.15 145);
55
+ --skra-sys-color-success-base-active: oklch(66.0% 0.15 145);
56
+ --skra-sys-color-success-contrast-hover: oklch(88.0% 0 0);
57
+ --skra-sys-color-success-contrast-active: oklch(82.0% 0 0);
58
+ --skra-sys-color-success-border-hover: oklch(12.0% 0 0);
59
+ --skra-sys-color-success-border-active: oklch(18.0% 0 0);
60
+ --skra-sys-color-success-soft-hover: oklch(82.0% 0.05 145);
61
+ --skra-sys-color-success-soft-active: oklch(76.0% 0.05 145);
62
+ --skra-sys-color-success-strong-hover: oklch(44.0% 0.13 145);
63
+ --skra-sys-color-success-strong-active: oklch(50.0% 0.13 145);
64
+ --skra-sys-color-success-ink-hover: oklch(60.0% 0.15 145);
65
+ --skra-sys-color-success-ink-active: oklch(66.0% 0.15 145);
66
+ --skra-sys-color-warning-base-hover: oklch(58.0% 0.15 80);
67
+ --skra-sys-color-warning-base-active: oklch(52.0% 0.15 80);
68
+ --skra-sys-color-warning-contrast-hover: oklch(30.0% 0.05 80);
69
+ --skra-sys-color-warning-contrast-active: oklch(36.0% 0.05 80);
70
+ --skra-sys-color-warning-border-hover: oklch(12.0% 0 0);
71
+ --skra-sys-color-warning-border-active: oklch(18.0% 0 0);
72
+ --skra-sys-color-warning-soft-hover: oklch(83.0% 0.05 80);
73
+ --skra-sys-color-warning-soft-active: oklch(77.0% 0.05 80);
74
+ --skra-sys-color-warning-strong-hover: oklch(50.0% 0.12 80);
75
+ --skra-sys-color-warning-strong-active: oklch(56.0% 0.12 80);
76
+ --skra-sys-color-warning-ink-hover: oklch(50.0% 0.12 80);
77
+ --skra-sys-color-warning-ink-active: oklch(56.0% 0.12 80);
78
+ --skra-sys-color-danger-base-hover: oklch(60.0% 0.2 25);
79
+ --skra-sys-color-danger-base-active: oklch(66.0% 0.2 25);
80
+ --skra-sys-color-danger-contrast-hover: oklch(88.0% 0 0);
81
+ --skra-sys-color-danger-contrast-active: oklch(82.0% 0 0);
82
+ --skra-sys-color-danger-border-hover: oklch(12.0% 0 0);
83
+ --skra-sys-color-danger-border-active: oklch(18.0% 0 0);
84
+ --skra-sys-color-danger-soft-hover: oklch(82.0% 0.04 25);
85
+ --skra-sys-color-danger-soft-active: oklch(76.0% 0.04 25);
86
+ --skra-sys-color-danger-strong-hover: oklch(44.0% 0.16 25);
87
+ --skra-sys-color-danger-strong-active: oklch(50.0% 0.16 25);
88
+ --skra-sys-color-danger-ink-hover: oklch(60.0% 0.2 25);
89
+ --skra-sys-color-danger-ink-active: oklch(66.0% 0.2 25);
90
+ --skra-sys-color-surface-active: oklch(79.0% 0.015 95);
91
+ --skra-sys-color-surface-raised-hover: oklch(81.0% 0.025 95);
92
+ --skra-sys-color-surface-raised-active: oklch(75.0% 0.025 95);
93
+ --skra-sys-color-surface-muted-hover: oklch(74.0% 0 0);
94
+ --skra-sys-color-surface-muted-active: oklch(68.0% 0 0);
95
+ --skra-sys-color-on-surface-hover: oklch(12.0% 0 0);
96
+ --skra-sys-color-on-surface-active: oklch(18.0% 0 0);
97
+ --skra-sys-color-on-surface-strong-hover: oklch(12.0% 0 0);
98
+ --skra-sys-color-on-surface-strong-active: oklch(18.0% 0 0);
99
+ --skra-sys-color-on-surface-subtle-hover: oklch(47.0% 0 0);
100
+ --skra-sys-color-on-surface-subtle-active: oklch(53.0% 0 0);
101
+ --skra-sys-color-inverse-surface-hover: oklch(12.0% 0 0);
102
+ --skra-sys-color-inverse-surface-active: oklch(18.0% 0 0);
103
+ --skra-sys-color-on-inverse-surface-hover: oklch(88.0% 0 0);
104
+ --skra-sys-color-on-inverse-surface-active: oklch(82.0% 0 0);
105
+ --skra-sys-color-border-hover: oklch(12.0% 0 0);
106
+ --skra-sys-color-border-active: oklch(18.0% 0 0);
107
+ --skra-sys-color-border-subtle-hover: oklch(37.0% 0 0);
108
+ --skra-sys-color-border-subtle-active: oklch(43.0% 0 0);
109
+ --skra-sys-color-hint-hover: oklch(47.0% 0 0);
110
+ --skra-sys-color-hint-active: oklch(53.0% 0 0);
111
+ --skra-sys-color-focus-ring-hover: oklch(57.0% 0.18 295);
112
+ --skra-sys-color-focus-ring-active: oklch(63.0% 0.18 295);
113
+ --skra-sys-color-link-active: oklch(18.0% 0 0);
114
+ --skra-sys-color-shadow-ink-hover: oklch(12.0% 0 0);
115
+ --skra-sys-color-shadow-ink-active: oklch(18.0% 0 0);
116
+ --skra-sys-icon-size-sm: 1em;
117
+ --skra-sys-icon-size-md: 1.25em;
118
+ --skra-sys-icon-size-lg: 1.5em;
119
+ --skra-sys-radius-none: 0;
120
+ --skra-sys-radius-sm: 0;
121
+ --skra-sys-radius-md: 0;
122
+ --skra-sys-radius-lg: 0;
123
+ --skra-sys-radius-full: 0;
124
+ --skra-sys-shadow-none: none;
125
+ --skra-sys-shadow-sm: 2px 2px 0 var(--skra-sys-color-shadow-ink);
126
+ --skra-sys-shadow-md: 4px 4px 0 var(--skra-sys-color-shadow-ink);
127
+ --skra-sys-shadow-lg: 6px 6px 0 var(--skra-sys-color-shadow-ink);
128
+ --skra-sys-shadow-xl: 10px 10px 0 var(--skra-sys-color-shadow-ink);
129
+ --skra-sys-size-interactive-sm: 1.75rem;
130
+ --skra-sys-size-interactive-md: 2.25rem;
131
+ --skra-sys-size-interactive-lg: 2.75rem;
132
+ --skra-sys-typography-role-display-large-letter-spacing: 0;
133
+ --skra-sys-typography-role-display-medium-letter-spacing: 0;
134
+ --skra-sys-typography-role-display-small-letter-spacing: 0;
135
+ --skra-sys-typography-role-headline-large-letter-spacing: 0;
136
+ --skra-sys-typography-role-headline-medium-letter-spacing: 0;
137
+ --skra-sys-typography-role-headline-small-letter-spacing: 0;
138
+ --skra-sys-typography-role-title-large-letter-spacing: 0;
139
+ --skra-sys-typography-role-title-medium-letter-spacing: 0;
140
+ --skra-sys-typography-role-title-small-letter-spacing: 0;
141
+ --skra-sys-typography-role-body-large-letter-spacing: 0;
142
+ --skra-sys-typography-role-body-medium-letter-spacing: 0;
143
+ --skra-sys-typography-role-body-small-letter-spacing: 0;
144
+ --skra-sys-typography-role-label-large-letter-spacing: 0.05em;
145
+ --skra-sys-typography-role-label-medium-letter-spacing: 0.05em;
146
+ --skra-sys-typography-role-label-small-letter-spacing: 0.05em;
147
+ --skra-ref-color-neutral-0: oklch(100% 0 0);
148
+ --skra-ref-color-neutral-50: oklch(98% 0 0);
149
+ --skra-ref-color-neutral-100: oklch(95% 0 0);
150
+ --skra-ref-color-neutral-200: oklch(90% 0 0);
151
+ --skra-ref-color-neutral-300: oklch(86% 0 0);
152
+ --skra-ref-color-neutral-400: oklch(65% 0 0);
153
+ --skra-ref-color-neutral-500: oklch(50% 0 0);
154
+ --skra-ref-color-neutral-600: oklch(40% 0 0);
155
+ --skra-ref-color-neutral-700: oklch(35% 0 0);
156
+ --skra-ref-color-neutral-800: oklch(25% 0 0);
157
+ --skra-ref-color-neutral-1000: oklch(0% 0 0);
158
+ --skra-ref-color-primary-50: oklch(95% 0.04 250);
159
+ --skra-ref-color-primary-400: oklch(65% 0.15 250);
160
+ --skra-ref-color-primary-500: oklch(60% 0.15 250);
161
+ --skra-ref-color-primary-600: oklch(52% 0.15 250);
162
+ --skra-ref-color-primary-700: oklch(35% 0.15 250);
163
+ --skra-ref-color-secondary-50: oklch(94% 0.02 250);
164
+ --skra-ref-color-secondary-400: oklch(60% 0.04 250);
165
+ --skra-ref-color-secondary-500: oklch(53% 0.04 250);
166
+ --skra-ref-color-secondary-600: oklch(45% 0.04 250);
167
+ --skra-ref-color-secondary-700: oklch(30% 0.04 250);
168
+ --skra-ref-color-info-50: oklch(94% 0.04 220);
169
+ --skra-ref-color-info-400: oklch(65% 0.12 220);
170
+ --skra-ref-color-info-500: oklch(60% 0.12 220);
171
+ --skra-ref-color-info-600: oklch(50% 0.12 220);
172
+ --skra-ref-color-info-700: oklch(35% 0.12 220);
173
+ --skra-ref-color-success-50: oklch(94% 0.05 145);
174
+ --skra-ref-color-success-400: oklch(60% 0.15 145);
175
+ --skra-ref-color-success-500: oklch(52% 0.15 145);
176
+ --skra-ref-color-success-600: oklch(48% 0.15 145);
177
+ --skra-ref-color-success-700: oklch(32% 0.13 145);
178
+ --skra-ref-color-warning-50: oklch(95% 0.05 80);
179
+ --skra-ref-color-warning-400: oklch(72% 0.15 80);
180
+ --skra-ref-color-warning-500: oklch(70% 0.15 80);
181
+ --skra-ref-color-warning-600: oklch(60% 0.15 80);
182
+ --skra-ref-color-warning-700: oklch(38% 0.12 80);
183
+ --skra-ref-color-warning-ink: oklch(18% 0.05 80);
184
+ --skra-ref-color-danger-50: oklch(94% 0.04 25);
185
+ --skra-ref-color-danger-400: oklch(60% 0.2 25);
186
+ --skra-ref-color-danger-500: oklch(55% 0.2 25);
187
+ --skra-ref-color-danger-600: oklch(48% 0.2 25);
188
+ --skra-ref-color-danger-700: oklch(32% 0.16 25);
189
+ --skra-ref-color-violet-500: oklch(45% 0.18 295);
190
+ --skra-ref-color-cobalt-50: oklch(95% 0.03 262);
191
+ --skra-ref-color-cobalt-500: oklch(56% 0.19 262);
192
+ --skra-ref-color-cobalt-600: oklch(50% 0.19 262);
193
+ --skra-ref-color-cobalt-700: oklch(42% 0.16 262);
194
+ --skra-ref-color-navy-800: oklch(30% 0.08 262);
195
+ --skra-ref-color-navy-900: oklch(22% 0.06 262);
196
+ --skra-ref-color-ice-100: oklch(96.5% 0.012 255);
197
+ --skra-ref-color-cream-50: oklch(97% 0.015 95);
198
+ --skra-ref-color-cream-100: oklch(93% 0.025 95);
199
+ --skra-ref-color-acid-50: oklch(96% 0.06 100);
200
+ --skra-ref-color-acid-400: oklch(88% 0.16 98);
201
+ --skra-ref-color-acid-500: oklch(85% 0.17 98);
202
+ --skra-ref-color-acid-600: oklch(75% 0.16 98);
203
+ --skra-ref-color-acid-700: oklch(50% 0.11 98);
204
+ --skra-ref-color-scrim: oklch(0% 0 0 / 0.5);
205
+ --skra-ref-color-slate-50: oklch(97.5% 0.005 260);
206
+ --skra-ref-color-slate-100: oklch(95.7% 0.006 256);
207
+ --skra-ref-color-slate-200: oklch(90% 0.008 260);
208
+ --skra-ref-color-slate-300: oklch(79.6% 0.017 259);
209
+ --skra-ref-color-slate-400: oklch(61.5% 0.023 262);
210
+ --skra-ref-color-slate-500: oklch(46.9% 0.021 261);
211
+ --skra-ref-color-slate-600: oklch(37.3% 0.021 259);
212
+ --skra-ref-color-slate-700: oklch(33.4% 0.022 256);
213
+ --skra-ref-color-slate-750: oklch(29.2% 0.02 261);
214
+ --skra-ref-color-slate-800: oklch(25.9% 0.017 260);
215
+ --skra-ref-color-slate-825: oklch(23.4% 0.013 258);
216
+ --skra-ref-color-slate-850: oklch(20.4% 0.011 261);
217
+ --skra-ref-color-slate-900: oklch(17.7% 0.009 264);
218
+ --skra-ref-color-slate-950: oklch(13.9% 0.005 263);
219
+ --skra-ref-color-cyan-50: oklch(96% 0.03 215);
220
+ --skra-ref-color-cyan-300: oklch(86.7% 0.113 212);
221
+ --skra-ref-color-cyan-400: oklch(76.4% 0.124 217);
222
+ --skra-ref-color-cyan-500: oklch(67.2% 0.118 220);
223
+ --skra-ref-color-cyan-700: oklch(50% 0.105 222);
224
+ --skra-ref-color-cyan-800: oklch(42% 0.09 224);
225
+ --skra-ref-color-cyan-soft-dark: oklch(26% 0.045 220);
226
+ --skra-ref-color-green-bright: oklch(80% 0.182 152);
227
+ --skra-ref-color-amber-bright: oklch(83.7% 0.164 84);
228
+ --skra-ref-color-red-bright: oklch(71.1% 0.166 22);
229
+ --skra-ref-font-size-2xs: 0.6875rem;
230
+ --skra-ref-font-size-xs: 0.75rem;
231
+ --skra-ref-font-size-sm: 0.875rem;
232
+ --skra-ref-font-size-md: 1rem;
233
+ --skra-ref-font-size-lg: 1.125rem;
234
+ --skra-ref-font-size-xl: 1.25rem;
235
+ --skra-ref-font-size-2xl: 1.5rem;
236
+ --skra-ref-font-size-3xl: 1.75rem;
237
+ --skra-ref-font-size-4xl: 2.25rem;
238
+ --skra-ref-font-size-5xl: 2.75rem;
239
+ --skra-ref-font-size-6xl: 3.5rem;
240
+ --skra-ref-motion-duration-100: 100ms;
241
+ --skra-ref-motion-duration-200: 200ms;
242
+ --skra-ref-motion-duration-300: 300ms;
243
+ --skra-ref-motion-delay-short: 150ms;
244
+ --skra-ref-motion-delay-long: 500ms;
245
+ --skra-ref-motion-easing-linear: cubic-bezier(0, 0, 1, 1);
246
+ --skra-ref-motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
247
+ --skra-ref-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
248
+ --skra-ref-opacity-disabled: 0.38;
249
+ --skra-ref-opacity-hover: 0.08;
250
+ --skra-ref-radius-1: 0.25rem;
251
+ --skra-ref-radius-2: 0.5rem;
252
+ --skra-ref-radius-4: 1rem;
253
+ --skra-ref-radius-8: 2rem;
254
+ --skra-ref-size-sm: 16rem;
255
+ --skra-ref-size-md: 20rem;
256
+ --skra-ref-size-lg: 24rem;
257
+ --skra-ref-size-container-sm: 20rem;
258
+ --skra-ref-size-container-md: 32rem;
259
+ --skra-ref-size-container-lg: 48rem;
260
+ --skra-ref-size-avatar-sm: 2rem;
261
+ --skra-ref-size-avatar-md: 2.5rem;
262
+ --skra-ref-size-avatar-lg: 3rem;
263
+ --skra-ref-size-status-dot-sm: 0.5rem;
264
+ --skra-ref-size-status-dot-md: 0.625rem;
265
+ --skra-ref-size-status-dot-lg: 0.75rem;
266
+ --skra-ref-spacing-1: 0.25rem;
267
+ --skra-ref-spacing-2: 0.5rem;
268
+ --skra-ref-spacing-3: 0.75rem;
269
+ --skra-ref-spacing-4: 1rem;
270
+ --skra-ref-spacing-5: 1.25rem;
271
+ --skra-ref-spacing-6: 1.5rem;
272
+ --skra-ref-spacing-8: 2rem;
273
+ --skra-ref-font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
274
+ --skra-ref-font-family-mono: ui-monospace, 'Cascadia Code', 'Fira Code', monospace;
275
+ --skra-ref-font-family-grotesk: 'Space Grotesk', system-ui, sans-serif;
276
+ --skra-ref-font-family-inter: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
277
+ --skra-ref-font-family-inter-tight: 'Inter Tight', 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
278
+ --skra-ref-font-family-plex-mono: 'IBM Plex Mono', ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', monospace;
279
+ --skra-ref-font-weight-regular: 400;
280
+ --skra-ref-font-weight-medium: 500;
281
+ --skra-ref-font-weight-semibold: 600;
282
+ --skra-ref-font-weight-bold: 700;
283
+ --skra-ref-line-height-tight: 1.1;
284
+ --skra-ref-line-height-snug: 1.2;
285
+ --skra-ref-line-height-normal: 1.35;
286
+ --skra-ref-line-height-relaxed: 1.5;
287
+ --skra-ref-line-height-loose: 1.6;
288
+ --skra-sys-color-neutral-base: var(--skra-ref-color-neutral-800);
289
+ --skra-sys-color-neutral-contrast: var(--skra-ref-color-neutral-0);
290
+ --skra-sys-color-neutral-border: var(--skra-ref-color-neutral-1000);
291
+ --skra-sys-color-neutral-soft: var(--skra-ref-color-neutral-100);
292
+ --skra-sys-color-neutral-strong: var(--skra-ref-color-neutral-1000);
293
+ --skra-sys-color-neutral-ink: var(--skra-ref-color-neutral-800);
294
+ --skra-sys-color-primary-base: var(--skra-ref-color-acid-500);
295
+ --skra-sys-color-primary-contrast: var(--skra-ref-color-neutral-1000);
296
+ --skra-sys-color-primary-border: var(--skra-ref-color-neutral-1000);
297
+ --skra-sys-color-primary-soft: var(--skra-ref-color-acid-50);
298
+ --skra-sys-color-primary-strong: var(--skra-ref-color-acid-700);
299
+ --skra-sys-color-primary-ink: var(--skra-ref-color-acid-700);
300
+ --skra-sys-color-secondary-base: var(--skra-ref-color-secondary-600);
301
+ --skra-sys-color-secondary-contrast: var(--skra-ref-color-neutral-0);
302
+ --skra-sys-color-secondary-border: var(--skra-ref-color-neutral-1000);
303
+ --skra-sys-color-secondary-soft: var(--skra-ref-color-secondary-50);
304
+ --skra-sys-color-secondary-strong: var(--skra-ref-color-secondary-700);
305
+ --skra-sys-color-secondary-ink: var(--skra-ref-color-secondary-600);
306
+ --skra-sys-color-info-base: var(--skra-ref-color-info-600);
307
+ --skra-sys-color-info-contrast: var(--skra-ref-color-neutral-0);
308
+ --skra-sys-color-info-border: var(--skra-ref-color-neutral-1000);
309
+ --skra-sys-color-info-soft: var(--skra-ref-color-info-50);
310
+ --skra-sys-color-info-strong: var(--skra-ref-color-info-700);
311
+ --skra-sys-color-info-ink: var(--skra-ref-color-info-600);
312
+ --skra-sys-color-success-base: var(--skra-ref-color-success-600);
313
+ --skra-sys-color-success-contrast: var(--skra-ref-color-neutral-0);
314
+ --skra-sys-color-success-border: var(--skra-ref-color-neutral-1000);
315
+ --skra-sys-color-success-soft: var(--skra-ref-color-success-50);
316
+ --skra-sys-color-success-strong: var(--skra-ref-color-success-700);
317
+ --skra-sys-color-success-ink: var(--skra-ref-color-success-600);
318
+ --skra-sys-color-warning-base: var(--skra-ref-color-warning-500);
319
+ --skra-sys-color-warning-contrast: var(--skra-ref-color-warning-ink);
320
+ --skra-sys-color-warning-border: var(--skra-ref-color-neutral-1000);
321
+ --skra-sys-color-warning-soft: var(--skra-ref-color-warning-50);
322
+ --skra-sys-color-warning-strong: var(--skra-ref-color-warning-700);
323
+ --skra-sys-color-warning-ink: var(--skra-ref-color-warning-700);
324
+ --skra-sys-color-danger-base: var(--skra-ref-color-danger-600);
325
+ --skra-sys-color-danger-contrast: var(--skra-ref-color-neutral-0);
326
+ --skra-sys-color-danger-border: var(--skra-ref-color-neutral-1000);
327
+ --skra-sys-color-danger-soft: var(--skra-ref-color-danger-50);
328
+ --skra-sys-color-danger-strong: var(--skra-ref-color-danger-700);
329
+ --skra-sys-color-danger-ink: var(--skra-ref-color-danger-600);
330
+ --skra-sys-color-surface: var(--skra-ref-color-cream-50);
331
+ --skra-sys-color-surface-raised: var(--skra-ref-color-cream-100);
332
+ --skra-sys-color-surface-hover: var(--skra-ref-color-cream-100);
333
+ --skra-sys-color-surface-disabled: var(--skra-ref-color-neutral-100);
334
+ --skra-sys-color-surface-muted: var(--skra-ref-color-neutral-300);
335
+ --skra-sys-color-on-surface: var(--skra-ref-color-neutral-1000);
336
+ --skra-sys-color-on-surface-strong: var(--skra-ref-color-neutral-1000);
337
+ --skra-sys-color-on-surface-subtle: var(--skra-ref-color-neutral-700);
338
+ --skra-sys-color-on-surface-disabled: var(--skra-ref-color-neutral-600);
339
+ --skra-sys-color-inverse-surface: var(--skra-ref-color-neutral-1000);
340
+ --skra-sys-color-on-inverse-surface: var(--skra-ref-color-neutral-0);
341
+ --skra-sys-color-border: var(--skra-ref-color-neutral-1000);
342
+ --skra-sys-color-border-subtle: var(--skra-ref-color-neutral-800);
343
+ --skra-sys-color-hint: var(--skra-ref-color-neutral-700);
344
+ --skra-sys-color-focus-ring: var(--skra-ref-color-violet-500);
345
+ --skra-sys-color-link: var(--skra-ref-color-neutral-1000);
346
+ --skra-sys-color-link-hover: var(--skra-ref-color-acid-700);
347
+ --skra-sys-color-link-visited: var(--skra-ref-color-violet-500);
348
+ --skra-sys-color-scrim: var(--skra-ref-color-scrim);
349
+ --skra-sys-color-shadow-ink: var(--skra-ref-color-neutral-1000);
350
+ --skra-sys-motion-duration-fast: var(--skra-ref-motion-duration-100);
351
+ --skra-sys-motion-duration-normal: var(--skra-ref-motion-duration-100);
352
+ --skra-sys-motion-duration-slow: var(--skra-ref-motion-duration-200);
353
+ --skra-sys-motion-delay-short: var(--skra-ref-motion-delay-short);
354
+ --skra-sys-motion-delay-long: var(--skra-ref-motion-delay-long);
355
+ --skra-sys-motion-easing-linear: var(--skra-ref-motion-easing-linear);
356
+ --skra-sys-motion-easing-standard: var(--skra-ref-motion-easing-linear);
357
+ --skra-sys-motion-easing-emphasized: var(--skra-ref-motion-easing-linear);
358
+ --skra-sys-size-container-sm: var(--skra-ref-size-container-sm);
359
+ --skra-sys-size-container-md: var(--skra-ref-size-container-md);
360
+ --skra-sys-size-container-lg: var(--skra-ref-size-container-lg);
361
+ --skra-sys-size-tooltip-max: var(--skra-ref-size-sm);
362
+ --skra-sys-size-avatar-sm: var(--skra-ref-size-avatar-sm);
363
+ --skra-sys-size-avatar-md: var(--skra-ref-size-avatar-md);
364
+ --skra-sys-size-avatar-lg: var(--skra-ref-size-avatar-lg);
365
+ --skra-sys-size-status-dot-sm: var(--skra-ref-size-status-dot-sm);
366
+ --skra-sys-size-status-dot-md: var(--skra-ref-size-status-dot-md);
367
+ --skra-sys-size-status-dot-lg: var(--skra-ref-size-status-dot-lg);
368
+ --skra-sys-size-icon-sm: var(--skra-ref-spacing-3);
369
+ --skra-sys-size-icon-md: var(--skra-ref-spacing-4);
370
+ --skra-sys-size-icon-lg: var(--skra-ref-spacing-6);
371
+ --skra-sys-size-grid-track-sm: var(--skra-ref-size-sm);
372
+ --skra-sys-size-grid-track-md: var(--skra-ref-size-md);
373
+ --skra-sys-size-grid-track-lg: var(--skra-ref-size-lg);
374
+ --skra-sys-font-family-display: var(--skra-ref-font-family-grotesk);
375
+ --skra-sys-font-family-body: var(--skra-ref-font-family-grotesk);
376
+ --skra-sys-font-family-code: var(--skra-ref-font-family-mono);
377
+ --skra-sys-typography-role-display-large-font-family: var(--skra-ref-font-family-grotesk);
378
+ --skra-sys-typography-role-display-large-font-size: var(--skra-ref-font-size-6xl);
379
+ --skra-sys-typography-role-display-large-font-weight: var(--skra-ref-font-weight-bold);
380
+ --skra-sys-typography-role-display-large-line-height: var(--skra-ref-line-height-tight);
381
+ --skra-sys-typography-role-display-medium-font-family: var(--skra-ref-font-family-grotesk);
382
+ --skra-sys-typography-role-display-medium-font-size: var(--skra-ref-font-size-5xl);
383
+ --skra-sys-typography-role-display-medium-font-weight: var(--skra-ref-font-weight-bold);
384
+ --skra-sys-typography-role-display-medium-line-height: var(--skra-ref-line-height-tight);
385
+ --skra-sys-typography-role-display-small-font-family: var(--skra-ref-font-family-grotesk);
386
+ --skra-sys-typography-role-display-small-font-size: var(--skra-ref-font-size-4xl);
387
+ --skra-sys-typography-role-display-small-font-weight: var(--skra-ref-font-weight-bold);
388
+ --skra-sys-typography-role-display-small-line-height: var(--skra-ref-line-height-tight);
389
+ --skra-sys-typography-role-headline-large-font-family: var(--skra-ref-font-family-grotesk);
390
+ --skra-sys-typography-role-headline-large-font-size: var(--skra-ref-font-size-3xl);
391
+ --skra-sys-typography-role-headline-large-font-weight: var(--skra-ref-font-weight-bold);
392
+ --skra-sys-typography-role-headline-large-line-height: var(--skra-ref-line-height-tight);
393
+ --skra-sys-typography-role-headline-medium-font-family: var(--skra-ref-font-family-grotesk);
394
+ --skra-sys-typography-role-headline-medium-font-size: var(--skra-ref-font-size-2xl);
395
+ --skra-sys-typography-role-headline-medium-font-weight: var(--skra-ref-font-weight-bold);
396
+ --skra-sys-typography-role-headline-medium-line-height: var(--skra-ref-line-height-tight);
397
+ --skra-sys-typography-role-headline-small-font-family: var(--skra-ref-font-family-grotesk);
398
+ --skra-sys-typography-role-headline-small-font-size: var(--skra-ref-font-size-xl);
399
+ --skra-sys-typography-role-headline-small-font-weight: var(--skra-ref-font-weight-bold);
400
+ --skra-sys-typography-role-headline-small-line-height: var(--skra-ref-line-height-tight);
401
+ --skra-sys-typography-role-title-large-font-family: var(--skra-ref-font-family-grotesk);
402
+ --skra-sys-typography-role-title-large-font-size: var(--skra-ref-font-size-lg);
403
+ --skra-sys-typography-role-title-large-font-weight: var(--skra-ref-font-weight-bold);
404
+ --skra-sys-typography-role-title-large-line-height: var(--skra-ref-line-height-snug);
405
+ --skra-sys-typography-role-title-medium-font-family: var(--skra-ref-font-family-grotesk);
406
+ --skra-sys-typography-role-title-medium-font-size: var(--skra-ref-font-size-md);
407
+ --skra-sys-typography-role-title-medium-font-weight: var(--skra-ref-font-weight-bold);
408
+ --skra-sys-typography-role-title-medium-line-height: var(--skra-ref-line-height-snug);
409
+ --skra-sys-typography-role-title-small-font-family: var(--skra-ref-font-family-grotesk);
410
+ --skra-sys-typography-role-title-small-font-size: var(--skra-ref-font-size-sm);
411
+ --skra-sys-typography-role-title-small-font-weight: var(--skra-ref-font-weight-bold);
412
+ --skra-sys-typography-role-title-small-line-height: var(--skra-ref-line-height-snug);
413
+ --skra-sys-typography-role-body-large-font-family: var(--skra-ref-font-family-grotesk);
414
+ --skra-sys-typography-role-body-large-font-size: var(--skra-ref-font-size-lg);
415
+ --skra-sys-typography-role-body-large-font-weight: var(--skra-ref-font-weight-regular);
416
+ --skra-sys-typography-role-body-large-line-height: var(--skra-ref-line-height-normal);
417
+ --skra-sys-typography-role-body-medium-font-family: var(--skra-ref-font-family-grotesk);
418
+ --skra-sys-typography-role-body-medium-font-size: var(--skra-ref-font-size-md);
419
+ --skra-sys-typography-role-body-medium-font-weight: var(--skra-ref-font-weight-regular);
420
+ --skra-sys-typography-role-body-medium-line-height: var(--skra-ref-line-height-normal);
421
+ --skra-sys-typography-role-body-small-font-family: var(--skra-ref-font-family-grotesk);
422
+ --skra-sys-typography-role-body-small-font-size: var(--skra-ref-font-size-sm);
423
+ --skra-sys-typography-role-body-small-font-weight: var(--skra-ref-font-weight-regular);
424
+ --skra-sys-typography-role-body-small-line-height: var(--skra-ref-line-height-normal);
425
+ --skra-sys-typography-role-label-large-font-family: var(--skra-ref-font-family-grotesk);
426
+ --skra-sys-typography-role-label-large-font-size: var(--skra-ref-font-size-md);
427
+ --skra-sys-typography-role-label-large-font-weight: var(--skra-ref-font-weight-semibold);
428
+ --skra-sys-typography-role-label-large-line-height: var(--skra-ref-line-height-snug);
429
+ --skra-sys-typography-role-label-medium-font-family: var(--skra-ref-font-family-grotesk);
430
+ --skra-sys-typography-role-label-medium-font-size: var(--skra-ref-font-size-sm);
431
+ --skra-sys-typography-role-label-medium-font-weight: var(--skra-ref-font-weight-semibold);
432
+ --skra-sys-typography-role-label-medium-line-height: var(--skra-ref-line-height-snug);
433
+ --skra-sys-typography-role-label-small-font-family: var(--skra-ref-font-family-grotesk);
434
+ --skra-sys-typography-role-label-small-font-size: var(--skra-ref-font-size-xs);
435
+ --skra-sys-typography-role-label-small-font-weight: var(--skra-ref-font-weight-semibold);
436
+ --skra-sys-typography-role-label-small-line-height: var(--skra-ref-line-height-snug);
437
+ --skra-sys-spacing-1: var(--skra-ref-spacing-1);
438
+ --skra-sys-spacing-2: var(--skra-ref-spacing-1);
439
+ --skra-sys-spacing-3: var(--skra-ref-spacing-2);
440
+ --skra-sys-spacing-4: var(--skra-ref-spacing-3);
441
+ --skra-sys-spacing-5: var(--skra-ref-spacing-4);
442
+ --skra-sys-spacing-6: var(--skra-ref-spacing-4);
443
+ --skra-sys-spacing-8: var(--skra-ref-spacing-6);
444
+ --skra-sys-font-size-hint: var(--skra-ref-font-size-xs);
445
+ --skra-sys-font-size-small: var(--skra-ref-font-size-sm);
446
+ --skra-sys-font-size-body: var(--skra-ref-font-size-md);
447
+ --skra-sys-font-size-lg: var(--skra-ref-font-size-lg);
448
+ --skra-sys-font-size-label: var(--skra-ref-font-size-sm);
449
+ --skra-sys-opacity-disabled: var(--skra-ref-opacity-disabled);
450
+ --skra-sys-opacity-hover: var(--skra-ref-opacity-hover);
451
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "brutal",
3
+ "displayName": "Skra Brutal",
4
+ "version": "0.1.0",
5
+ "publishable": true,
6
+ "defaultDensity": "compact",
7
+ "defaultColorScheme": "light",
8
+ "darkSchemeStrategy": "auto-oklch-with-overrides",
9
+ "runtimeScoped": true,
10
+ "visualProfile": {
11
+ "globalProfile": "intensive",
12
+ "interactionStrength": "intensive"
13
+ },
14
+ "fonts": [
15
+ {
16
+ "family": "body",
17
+ "name": "Space Grotesk",
18
+ "stack": "'Space Grotesk', system-ui, sans-serif",
19
+ "weights": [400, 500, 600, 700],
20
+ "requiresLoading": true,
21
+ "source": "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400..700&display=swap"
22
+ },
23
+ {
24
+ "family": "display",
25
+ "name": "Space Grotesk",
26
+ "stack": "'Space Grotesk', system-ui, sans-serif",
27
+ "weights": [600, 700],
28
+ "requiresLoading": true,
29
+ "source": "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400..700&display=swap"
30
+ },
31
+ {
32
+ "family": "code",
33
+ "name": "system",
34
+ "stack": "ui-monospace, 'Cascadia Code', 'Fira Code', monospace",
35
+ "weights": [400],
36
+ "requiresLoading": false
37
+ }
38
+ ],
39
+ "extends": null
40
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "accordion",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-accordion-indicator-color",
8
+ "label": "Accordion — header expand/collapse chevron colour",
9
+ "group": "State",
10
+ "type": "color",
11
+ "states": ["default", "expanded"],
12
+ "constraint": { "oklch": true },
13
+ "overridable": ["overlay", "subtree", "instance"]
14
+ },
15
+ {
16
+ "token": "--skra-comp-accordion-header-foreground-expanded",
17
+ "label": "Accordion — expanded header label colour",
18
+ "group": "State",
19
+ "type": "color",
20
+ "states": ["expanded"],
21
+ "constraint": { "oklch": true },
22
+ "overridable": ["overlay", "subtree", "instance"]
23
+ },
24
+ {
25
+ "token": "--skra-comp-accordion-header-background-hover",
26
+ "label": "Accordion — header hover background tint",
27
+ "group": "State",
28
+ "type": "color",
29
+ "states": ["hover"],
30
+ "constraint": { "oklch": true },
31
+ "overridable": ["overlay", "subtree"]
32
+ },
33
+ {
34
+ "token": "--skra-comp-accordion-item-background-expanded",
35
+ "label": "Accordion — open item box background",
36
+ "group": "State",
37
+ "type": "color",
38
+ "states": ["expanded"],
39
+ "constraint": { "oklch": true },
40
+ "overridable": ["overlay", "subtree"]
41
+ },
42
+ {
43
+ "token": "--skra-comp-accordion-root-border-color",
44
+ "label": "Accordion — group outer border colour",
45
+ "group": "Surface",
46
+ "type": "color",
47
+ "states": ["default"],
48
+ "constraint": { "oklch": true },
49
+ "overridable": ["overlay", "subtree"]
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "alert",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-alert-background",
8
+ "label": "Alert — background colour (resting)",
9
+ "group": "Surface",
10
+ "type": "color",
11
+ "states": ["default"],
12
+ "scopedBy": ["intent", "emphasis"],
13
+ "constraint": { "oklch": true },
14
+ "overridable": ["overlay", "subtree", "instance"]
15
+ },
16
+ {
17
+ "token": "--skra-comp-alert-foreground",
18
+ "label": "Alert — text/icon colour (resting)",
19
+ "group": "Surface",
20
+ "type": "color",
21
+ "states": ["default"],
22
+ "scopedBy": ["intent", "emphasis"],
23
+ "constraint": { "oklch": true },
24
+ "overridable": ["overlay", "subtree", "instance"]
25
+ },
26
+ {
27
+ "token": "--skra-comp-alert-border-color",
28
+ "label": "Alert — border colour",
29
+ "group": "Surface",
30
+ "type": "color",
31
+ "states": ["default"],
32
+ "scopedBy": ["intent", "emphasis"],
33
+ "constraint": { "oklch": true },
34
+ "overridable": ["overlay", "subtree"]
35
+ },
36
+ {
37
+ "token": "--skra-comp-alert-radius",
38
+ "label": "Alert — corner radius",
39
+ "group": "Surface",
40
+ "type": "dimension",
41
+ "states": ["default"],
42
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
43
+ "overridable": ["overlay", "subtree"]
44
+ },
45
+ {
46
+ "token": "--skra-comp-alert-shadow",
47
+ "label": "Alert — resting shadow",
48
+ "group": "Surface",
49
+ "type": "shadow",
50
+ "states": ["default"],
51
+ "overridable": ["overlay"]
52
+ },
53
+ {
54
+ "token": "--skra-comp-alert-focus-ring-color",
55
+ "label": "Dismiss control — focus ring colour on :focus-visible",
56
+ "group": "State",
57
+ "type": "color",
58
+ "states": ["focus-visible"],
59
+ "constraint": { "oklch": true },
60
+ "overridable": ["overlay"]
61
+ },
62
+ {
63
+ "token": "--skra-comp-alert-focus-ring-width",
64
+ "label": "Dismiss control — focus ring thickness on :focus-visible",
65
+ "group": "State",
66
+ "type": "dimension",
67
+ "states": ["focus-visible"],
68
+ "constraint": { "unit": "rem", "min": 0.0625, "max": 0.25 },
69
+ "overridable": ["overlay"]
70
+ },
71
+ {
72
+ "token": "--skra-comp-alert-icon-gap",
73
+ "label": "Alert — gap between icon, message, and dismiss control",
74
+ "group": "Spacing",
75
+ "type": "dimension",
76
+ "states": ["default"],
77
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
78
+ "overridable": ["overlay", "subtree"]
79
+ },
80
+ {
81
+ "token": "--skra-comp-alert-title-gap",
82
+ "label": "Alert — gap between the title and the message",
83
+ "group": "Spacing",
84
+ "type": "dimension",
85
+ "states": ["default"],
86
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
87
+ "overridable": ["overlay", "subtree"]
88
+ },
89
+ {
90
+ "token": "--skra-comp-alert-motion-duration",
91
+ "label": "Dismiss control — transition duration",
92
+ "group": "Motion",
93
+ "type": "duration",
94
+ "states": ["default"],
95
+ "constraint": { "unit": "ms" },
96
+ "overridable": ["overlay"]
97
+ },
98
+ {
99
+ "token": "--skra-comp-alert-motion-easing",
100
+ "label": "Dismiss control — transition easing curve",
101
+ "group": "Motion",
102
+ "type": "cubic-bezier",
103
+ "states": ["default"],
104
+ "overridable": ["overlay"]
105
+ }
106
+ ]
107
+ }