@skra/tokens 0.2.0 → 0.3.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 (40) hide show
  1. package/LICENSE +201 -201
  2. package/NOTICE +7 -7
  3. package/README.md +99 -64
  4. package/brutal/_theme.scoped.scss +18 -18
  5. package/brutal/_theme.scss +60 -12
  6. package/brutal/skin.config.json +40 -40
  7. package/manifests/accordion.json +52 -52
  8. package/manifests/alert.json +107 -107
  9. package/manifests/avatar.json +78 -78
  10. package/manifests/badge.json +63 -63
  11. package/manifests/box.json +34 -34
  12. package/manifests/button.json +133 -133
  13. package/manifests/chip.json +116 -116
  14. package/manifests/combobox.json +141 -141
  15. package/manifests/datepicker.json +159 -159
  16. package/manifests/dialog.json +104 -104
  17. package/manifests/field.json +267 -267
  18. package/manifests/grid.json +61 -61
  19. package/manifests/icon.json +43 -43
  20. package/manifests/kbd.json +68 -68
  21. package/manifests/link.json +107 -107
  22. package/manifests/menu.json +122 -122
  23. package/manifests/popover.json +104 -104
  24. package/manifests/progress.json +69 -69
  25. package/manifests/select.json +177 -177
  26. package/manifests/skeleton.json +43 -43
  27. package/manifests/stack.json +34 -34
  28. package/manifests/star-rating.json +96 -96
  29. package/manifests/status-dot.json +69 -69
  30. package/manifests/tabs.json +52 -52
  31. package/manifests/toast.json +133 -133
  32. package/manifests/tooltip.json +113 -113
  33. package/manifests/typography.json +169 -169
  34. package/package.json +1 -1
  35. package/skra/_form-controls.scss +74 -74
  36. package/skra/_overlay.scss +42 -42
  37. package/skra/_theme.dark.scss +3 -0
  38. package/skra/_theme.scss +61 -10
  39. package/skra/skin.config.json +37 -37
  40. package/skra/utilities.scss +38 -38
@@ -129,18 +129,18 @@
129
129
  --skra-sys-size-interactive-sm: 1.75rem;
130
130
  --skra-sys-size-interactive-md: 2.25rem;
131
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;
132
+ --skra-sys-typography-role-display-large-letter-spacing: 0em;
133
+ --skra-sys-typography-role-display-medium-letter-spacing: 0em;
134
+ --skra-sys-typography-role-display-small-letter-spacing: 0em;
135
+ --skra-sys-typography-role-headline-large-letter-spacing: 0em;
136
+ --skra-sys-typography-role-headline-medium-letter-spacing: 0em;
137
+ --skra-sys-typography-role-headline-small-letter-spacing: 0em;
138
+ --skra-sys-typography-role-title-large-letter-spacing: 0em;
139
+ --skra-sys-typography-role-title-medium-letter-spacing: 0em;
140
+ --skra-sys-typography-role-title-small-letter-spacing: 0em;
141
+ --skra-sys-typography-role-body-large-letter-spacing: 0em;
142
+ --skra-sys-typography-role-body-medium-letter-spacing: 0em;
143
+ --skra-sys-typography-role-body-small-letter-spacing: 0em;
144
144
  --skra-sys-typography-role-label-large-letter-spacing: 0.05em;
145
145
  --skra-sys-typography-role-label-medium-letter-spacing: 0.05em;
146
146
  --skra-sys-typography-role-label-small-letter-spacing: 0.05em;
@@ -162,7 +162,7 @@
162
162
  --skra-comp-accordion-panel-foreground-active: oklch(53.0% 0 0);
163
163
  --skra-comp-accordion-background: rgba(0, 0, 0, 0);
164
164
  --skra-comp-accordion-border-color: rgba(0, 0, 0, 0);
165
- --skra-comp-accordion-border-width: 0;
165
+ --skra-comp-accordion-border-width: 0rem;
166
166
  --skra-comp-accordion-border-style: solid;
167
167
  --skra-comp-accordion-shadow: none;
168
168
  --skra-comp-accordion-focus-ring-width: 0.1875rem;
@@ -459,8 +459,8 @@
459
459
  --skra-comp-progress-fill-color-active: oklch(67.0% 0.17 98);
460
460
  --skra-comp-progress-border-width: 0.1875rem;
461
461
  --skra-comp-progress-border-style: solid;
462
- --skra-comp-progress-padding-block: 0;
463
- --skra-comp-progress-padding-inline: 0;
462
+ --skra-comp-progress-padding-block: 0rem;
463
+ --skra-comp-progress-padding-inline: 0rem;
464
464
  --skra-comp-progress-focus-ring-width: 0.1875rem;
465
465
  --skra-comp-progress-block-size: 0.875rem;
466
466
  --skra-comp-select-background-hover: oklch(85.0% 0.015 95);
@@ -511,8 +511,8 @@
511
511
  --skra-comp-skeleton-focus-ring-color-active: oklch(63.0% 0.18 295);
512
512
  --skra-comp-skeleton-border-width: 0.1875rem;
513
513
  --skra-comp-skeleton-border-style: solid;
514
- --skra-comp-skeleton-padding-block: 0;
515
- --skra-comp-skeleton-padding-inline: 0;
514
+ --skra-comp-skeleton-padding-block: 0rem;
515
+ --skra-comp-skeleton-padding-inline: 0rem;
516
516
  --skra-comp-skeleton-focus-ring-width: 0.1875rem;
517
517
  --skra-comp-star-rating-star-color-empty-hover: oklch(12.0% 0 0);
518
518
  --skra-comp-star-rating-star-color-empty-active: oklch(18.0% 0 0);
@@ -549,7 +549,7 @@
549
549
  --skra-comp-tabs-tablist-border-color-active: oklch(18.0% 0 0);
550
550
  --skra-comp-tabs-background: rgba(0, 0, 0, 0);
551
551
  --skra-comp-tabs-border-color: rgba(0, 0, 0, 0);
552
- --skra-comp-tabs-border-width: 0;
552
+ --skra-comp-tabs-border-width: 0rem;
553
553
  --skra-comp-tabs-border-style: solid;
554
554
  --skra-comp-tabs-shadow: none;
555
555
  --skra-comp-tabs-focus-ring-width: 0.125rem;
@@ -129,18 +129,18 @@
129
129
  --skra-sys-size-interactive-sm: 1.75rem;
130
130
  --skra-sys-size-interactive-md: 2.25rem;
131
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;
132
+ --skra-sys-typography-role-display-large-letter-spacing: 0em;
133
+ --skra-sys-typography-role-display-medium-letter-spacing: 0em;
134
+ --skra-sys-typography-role-display-small-letter-spacing: 0em;
135
+ --skra-sys-typography-role-headline-large-letter-spacing: 0em;
136
+ --skra-sys-typography-role-headline-medium-letter-spacing: 0em;
137
+ --skra-sys-typography-role-headline-small-letter-spacing: 0em;
138
+ --skra-sys-typography-role-title-large-letter-spacing: 0em;
139
+ --skra-sys-typography-role-title-medium-letter-spacing: 0em;
140
+ --skra-sys-typography-role-title-small-letter-spacing: 0em;
141
+ --skra-sys-typography-role-body-large-letter-spacing: 0em;
142
+ --skra-sys-typography-role-body-medium-letter-spacing: 0em;
143
+ --skra-sys-typography-role-body-small-letter-spacing: 0em;
144
144
  --skra-sys-typography-role-label-large-letter-spacing: 0.05em;
145
145
  --skra-sys-typography-role-label-medium-letter-spacing: 0.05em;
146
146
  --skra-sys-typography-role-label-small-letter-spacing: 0.05em;
@@ -226,6 +226,54 @@
226
226
  --skra-ref-color-green-bright: oklch(80% 0.182 152);
227
227
  --skra-ref-color-amber-bright: oklch(83.7% 0.164 84);
228
228
  --skra-ref-color-red-bright: oklch(71.1% 0.166 22);
229
+ --skra-ref-color-magenta-50: oklch(95% 0.035 348);
230
+ --skra-ref-color-magenta-300: oklch(78% 0.16 348);
231
+ --skra-ref-color-magenta-400: oklch(70% 0.2 348);
232
+ --skra-ref-color-magenta-500: oklch(62% 0.22 348);
233
+ --skra-ref-color-magenta-600: oklch(52% 0.2 348);
234
+ --skra-ref-color-magenta-700: oklch(43% 0.16 348);
235
+ --skra-ref-color-magenta-soft-dark: oklch(28% 0.08 348);
236
+ --skra-ref-color-magenta-bright: oklch(74% 0.19 348);
237
+ --skra-ref-color-stone-0: oklch(100% 0 0);
238
+ --skra-ref-color-stone-50: oklch(98% 0.006 85);
239
+ --skra-ref-color-stone-100: oklch(95.5% 0.008 85);
240
+ --skra-ref-color-stone-200: oklch(93.5% 0.01 85);
241
+ --skra-ref-color-stone-300: oklch(88% 0.01 85);
242
+ --skra-ref-color-stone-500: oklch(58% 0.012 85);
243
+ --skra-ref-color-stone-600: oklch(50% 0.012 85);
244
+ --skra-ref-color-stone-700: oklch(40% 0.014 85);
245
+ --skra-ref-color-stone-900: oklch(24% 0.012 85);
246
+ --skra-ref-color-sky-50: oklch(96% 0.025 235);
247
+ --skra-ref-color-sky-300: oklch(84% 0.075 235);
248
+ --skra-ref-color-sky-500: oklch(70% 0.1 235);
249
+ --skra-ref-color-sky-700: oklch(45% 0.11 235);
250
+ --skra-ref-color-sky-900: oklch(30% 0.08 235);
251
+ --skra-ref-color-lilac-50: oklch(96% 0.022 300);
252
+ --skra-ref-color-lilac-300: oklch(84% 0.07 300);
253
+ --skra-ref-color-lilac-500: oklch(70% 0.1 300);
254
+ --skra-ref-color-lilac-700: oklch(45% 0.12 300);
255
+ --skra-ref-color-lilac-900: oklch(30% 0.09 300);
256
+ --skra-ref-color-mist-50: oklch(96% 0.025 215);
257
+ --skra-ref-color-mist-300: oklch(85% 0.065 215);
258
+ --skra-ref-color-mist-500: oklch(72% 0.085 215);
259
+ --skra-ref-color-mist-700: oklch(45% 0.09 215);
260
+ --skra-ref-color-sage-50: oklch(96% 0.025 150);
261
+ --skra-ref-color-sage-300: oklch(85% 0.07 150);
262
+ --skra-ref-color-sage-500: oklch(72% 0.09 150);
263
+ --skra-ref-color-sage-700: oklch(45% 0.09 150);
264
+ --skra-ref-color-sage-900: oklch(30% 0.07 150);
265
+ --skra-ref-color-sand-50: oklch(96% 0.03 85);
266
+ --skra-ref-color-sand-300: oklch(88% 0.075 85);
267
+ --skra-ref-color-sand-500: oklch(80% 0.1 85);
268
+ --skra-ref-color-sand-700: oklch(45% 0.08 85);
269
+ --skra-ref-color-sand-900: oklch(30% 0.06 85);
270
+ --skra-ref-color-petal-50: oklch(96% 0.025 25);
271
+ --skra-ref-color-petal-300: oklch(85% 0.07 25);
272
+ --skra-ref-color-petal-500: oklch(72% 0.12 25);
273
+ --skra-ref-color-petal-700: oklch(45% 0.15 25);
274
+ --skra-ref-color-petal-900: oklch(30% 0.1 25);
275
+ --skra-ref-color-glow-cyan: oklch(80% 0.14 215 / 0.5);
276
+ --skra-ref-color-glow-cyan-strong: oklch(86% 0.13 212 / 0.75);
229
277
  --skra-ref-font-size-2xs: 0.6875rem;
230
278
  --skra-ref-font-size-xs: 0.75rem;
231
279
  --skra-ref-font-size-sm: 0.875rem;
@@ -1,40 +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
- }
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
+ }
@@ -1,52 +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
- }
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
+ }
@@ -1,107 +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
- }
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
+ }