@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
@@ -1,78 +1,78 @@
1
- {
2
- "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
- "component": "avatar",
4
- "skraVersion": ">=1.0.0",
5
- "axes": [
6
- {
7
- "token": "--skra-comp-avatar-background",
8
- "label": "Avatar — placeholder background (behind initials / before the image paints)",
9
- "group": "Surface",
10
- "type": "color",
11
- "states": ["default"],
12
- "constraint": { "oklch": true },
13
- "overridable": ["overlay", "subtree", "instance"]
14
- },
15
- {
16
- "token": "--skra-comp-avatar-foreground",
17
- "label": "Avatar — initials text colour",
18
- "group": "Surface",
19
- "type": "color",
20
- "states": ["default"],
21
- "constraint": { "oklch": true },
22
- "overridable": ["overlay", "subtree", "instance"]
23
- },
24
- {
25
- "token": "--skra-comp-avatar-border-color",
26
- "label": "Avatar — ring/border colour (border-width 0 by default)",
27
- "group": "Surface",
28
- "type": "color",
29
- "states": ["default"],
30
- "constraint": { "oklch": true },
31
- "overridable": ["overlay", "subtree"]
32
- },
33
- {
34
- "token": "--skra-comp-avatar-radius",
35
- "label": "Avatar — corner radius (circle by default; a skin may ship square)",
36
- "group": "Surface",
37
- "type": "dimension",
38
- "states": ["default"],
39
- "constraint": { "unit": "rem", "min": 0, "max": 2 },
40
- "overridable": ["overlay", "subtree"]
41
- },
42
- {
43
- "token": "--skra-comp-avatar-shadow",
44
- "label": "Avatar — resting shadow",
45
- "group": "Surface",
46
- "type": "shadow",
47
- "states": ["default"],
48
- "overridable": ["overlay"]
49
- },
50
- {
51
- "token": "--skra-comp-avatar-size-sm",
52
- "label": "Avatar — box size (sm)",
53
- "group": "Sizing",
54
- "type": "dimension",
55
- "states": ["default"],
56
- "constraint": { "unit": "rem", "min": 1, "max": 8 },
57
- "overridable": ["overlay", "subtree"]
58
- },
59
- {
60
- "token": "--skra-comp-avatar-size-md",
61
- "label": "Avatar — box size (md)",
62
- "group": "Sizing",
63
- "type": "dimension",
64
- "states": ["default"],
65
- "constraint": { "unit": "rem", "min": 1, "max": 8 },
66
- "overridable": ["overlay", "subtree"]
67
- },
68
- {
69
- "token": "--skra-comp-avatar-size-lg",
70
- "label": "Avatar — box size (lg)",
71
- "group": "Sizing",
72
- "type": "dimension",
73
- "states": ["default"],
74
- "constraint": { "unit": "rem", "min": 1, "max": 8 },
75
- "overridable": ["overlay", "subtree"]
76
- }
77
- ]
78
- }
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "avatar",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-avatar-background",
8
+ "label": "Avatar — placeholder background (behind initials / before the image paints)",
9
+ "group": "Surface",
10
+ "type": "color",
11
+ "states": ["default"],
12
+ "constraint": { "oklch": true },
13
+ "overridable": ["overlay", "subtree", "instance"]
14
+ },
15
+ {
16
+ "token": "--skra-comp-avatar-foreground",
17
+ "label": "Avatar — initials text colour",
18
+ "group": "Surface",
19
+ "type": "color",
20
+ "states": ["default"],
21
+ "constraint": { "oklch": true },
22
+ "overridable": ["overlay", "subtree", "instance"]
23
+ },
24
+ {
25
+ "token": "--skra-comp-avatar-border-color",
26
+ "label": "Avatar — ring/border colour (border-width 0 by default)",
27
+ "group": "Surface",
28
+ "type": "color",
29
+ "states": ["default"],
30
+ "constraint": { "oklch": true },
31
+ "overridable": ["overlay", "subtree"]
32
+ },
33
+ {
34
+ "token": "--skra-comp-avatar-radius",
35
+ "label": "Avatar — corner radius (circle by default; a skin may ship square)",
36
+ "group": "Surface",
37
+ "type": "dimension",
38
+ "states": ["default"],
39
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
40
+ "overridable": ["overlay", "subtree"]
41
+ },
42
+ {
43
+ "token": "--skra-comp-avatar-shadow",
44
+ "label": "Avatar — resting shadow",
45
+ "group": "Surface",
46
+ "type": "shadow",
47
+ "states": ["default"],
48
+ "overridable": ["overlay"]
49
+ },
50
+ {
51
+ "token": "--skra-comp-avatar-size-sm",
52
+ "label": "Avatar — box size (sm)",
53
+ "group": "Sizing",
54
+ "type": "dimension",
55
+ "states": ["default"],
56
+ "constraint": { "unit": "rem", "min": 1, "max": 8 },
57
+ "overridable": ["overlay", "subtree"]
58
+ },
59
+ {
60
+ "token": "--skra-comp-avatar-size-md",
61
+ "label": "Avatar — box size (md)",
62
+ "group": "Sizing",
63
+ "type": "dimension",
64
+ "states": ["default"],
65
+ "constraint": { "unit": "rem", "min": 1, "max": 8 },
66
+ "overridable": ["overlay", "subtree"]
67
+ },
68
+ {
69
+ "token": "--skra-comp-avatar-size-lg",
70
+ "label": "Avatar — box size (lg)",
71
+ "group": "Sizing",
72
+ "type": "dimension",
73
+ "states": ["default"],
74
+ "constraint": { "unit": "rem", "min": 1, "max": 8 },
75
+ "overridable": ["overlay", "subtree"]
76
+ }
77
+ ]
78
+ }
@@ -1,63 +1,63 @@
1
- {
2
- "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
- "component": "badge",
4
- "skraVersion": ">=1.0.0",
5
- "axes": [
6
- {
7
- "token": "--skra-comp-badge-background",
8
- "label": "Badge — 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-badge-foreground",
18
- "label": "Badge — 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-badge-border-color",
28
- "label": "Badge — 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-badge-radius",
38
- "label": "Badge — corner radius (pill by default)",
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-badge-shadow",
47
- "label": "Badge — resting shadow",
48
- "group": "Surface",
49
- "type": "shadow",
50
- "states": ["default"],
51
- "overridable": ["overlay"]
52
- },
53
- {
54
- "token": "--skra-comp-badge-icon-gap",
55
- "label": "Badge — gap between the leading icon and the label",
56
- "group": "Spacing",
57
- "type": "dimension",
58
- "states": ["default"],
59
- "constraint": { "unit": "rem", "min": 0, "max": 2 },
60
- "overridable": ["overlay", "subtree"]
61
- }
62
- ]
63
- }
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "badge",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-badge-background",
8
+ "label": "Badge — 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-badge-foreground",
18
+ "label": "Badge — 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-badge-border-color",
28
+ "label": "Badge — 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-badge-radius",
38
+ "label": "Badge — corner radius (pill by default)",
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-badge-shadow",
47
+ "label": "Badge — resting shadow",
48
+ "group": "Surface",
49
+ "type": "shadow",
50
+ "states": ["default"],
51
+ "overridable": ["overlay"]
52
+ },
53
+ {
54
+ "token": "--skra-comp-badge-icon-gap",
55
+ "label": "Badge — gap between the leading icon and the label",
56
+ "group": "Spacing",
57
+ "type": "dimension",
58
+ "states": ["default"],
59
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
60
+ "overridable": ["overlay", "subtree"]
61
+ }
62
+ ]
63
+ }
@@ -1,34 +1,34 @@
1
- {
2
- "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
- "component": "box",
4
- "skraVersion": ">=1.0.0",
5
- "axes": [
6
- {
7
- "token": "--skra-comp-box-padding-sm",
8
- "label": "Box — small padding preset",
9
- "group": "Spacing",
10
- "type": "dimension",
11
- "states": ["default"],
12
- "constraint": { "unit": "rem", "min": 0, "max": 4 },
13
- "overridable": ["overlay", "subtree", "instance"]
14
- },
15
- {
16
- "token": "--skra-comp-box-padding-md",
17
- "label": "Box — medium padding preset",
18
- "group": "Spacing",
19
- "type": "dimension",
20
- "states": ["default"],
21
- "constraint": { "unit": "rem", "min": 0, "max": 4 },
22
- "overridable": ["overlay", "subtree", "instance"]
23
- },
24
- {
25
- "token": "--skra-comp-box-padding-lg",
26
- "label": "Box — large padding preset",
27
- "group": "Spacing",
28
- "type": "dimension",
29
- "states": ["default"],
30
- "constraint": { "unit": "rem", "min": 0, "max": 4 },
31
- "overridable": ["overlay", "subtree", "instance"]
32
- }
33
- ]
34
- }
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "box",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-box-padding-sm",
8
+ "label": "Box — small padding preset",
9
+ "group": "Spacing",
10
+ "type": "dimension",
11
+ "states": ["default"],
12
+ "constraint": { "unit": "rem", "min": 0, "max": 4 },
13
+ "overridable": ["overlay", "subtree", "instance"]
14
+ },
15
+ {
16
+ "token": "--skra-comp-box-padding-md",
17
+ "label": "Box — medium padding preset",
18
+ "group": "Spacing",
19
+ "type": "dimension",
20
+ "states": ["default"],
21
+ "constraint": { "unit": "rem", "min": 0, "max": 4 },
22
+ "overridable": ["overlay", "subtree", "instance"]
23
+ },
24
+ {
25
+ "token": "--skra-comp-box-padding-lg",
26
+ "label": "Box — large padding preset",
27
+ "group": "Spacing",
28
+ "type": "dimension",
29
+ "states": ["default"],
30
+ "constraint": { "unit": "rem", "min": 0, "max": 4 },
31
+ "overridable": ["overlay", "subtree", "instance"]
32
+ }
33
+ ]
34
+ }
@@ -1,133 +1,133 @@
1
- {
2
- "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
- "component": "button",
4
- "skraVersion": ">=1.0.0",
5
- "axes": [
6
- {
7
- "token": "--skra-comp-button-background",
8
- "label": "Button — 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-button-foreground",
18
- "label": "Button — label/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-button-border-color",
28
- "label": "Button — 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-button-radius",
38
- "label": "Button — 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-button-shadow",
47
- "label": "Button — resting shadow",
48
- "group": "Surface",
49
- "type": "shadow",
50
- "states": ["default"],
51
- "overridable": ["overlay"]
52
- },
53
- {
54
- "token": "--skra-comp-button-shadow-hover",
55
- "label": "Button — shadow on hover",
56
- "group": "State",
57
- "type": "shadow",
58
- "states": ["hover"],
59
- "overridable": ["overlay"]
60
- },
61
- {
62
- "token": "--skra-comp-button-focus-ring-color",
63
- "label": "Focus ring — outline colour on :focus-visible",
64
- "group": "State",
65
- "type": "color",
66
- "states": ["focus-visible"],
67
- "constraint": { "oklch": true },
68
- "overridable": ["overlay"]
69
- },
70
- {
71
- "token": "--skra-comp-button-focus-ring-width",
72
- "label": "Focus ring — outline thickness on :focus-visible",
73
- "group": "State",
74
- "type": "dimension",
75
- "states": ["focus-visible"],
76
- "constraint": { "unit": "rem", "min": 0.0625, "max": 0.25 },
77
- "overridable": ["overlay"]
78
- },
79
- {
80
- "token": "--skra-comp-button-background-disabled",
81
- "label": "Button — background colour when disabled",
82
- "group": "State",
83
- "type": "color",
84
- "states": ["disabled"],
85
- "constraint": { "oklch": true },
86
- "overridable": ["overlay"]
87
- },
88
- {
89
- "token": "--skra-comp-button-foreground-disabled",
90
- "label": "Button — label colour when disabled",
91
- "group": "State",
92
- "type": "color",
93
- "states": ["disabled"],
94
- "constraint": { "oklch": true },
95
- "overridable": ["overlay"]
96
- },
97
- {
98
- "token": "--skra-comp-button-loading-indicator-color",
99
- "label": "Button — loading spinner colour",
100
- "group": "State",
101
- "type": "color",
102
- "states": ["loading"],
103
- "constraint": { "oklch": true },
104
- "overridable": ["overlay"]
105
- },
106
- {
107
- "token": "--skra-comp-button-icon-gap",
108
- "label": "Button — gap between icon slot and label",
109
- "group": "Spacing",
110
- "type": "dimension",
111
- "states": ["default"],
112
- "constraint": { "unit": "rem", "min": 0, "max": 2 },
113
- "overridable": ["overlay", "subtree"]
114
- },
115
- {
116
- "token": "--skra-comp-button-motion-duration",
117
- "label": "Transition duration for state changes",
118
- "group": "Motion",
119
- "type": "duration",
120
- "states": ["default"],
121
- "constraint": { "unit": "ms" },
122
- "overridable": ["overlay"]
123
- },
124
- {
125
- "token": "--skra-comp-button-motion-easing",
126
- "label": "Transition easing curve",
127
- "group": "Motion",
128
- "type": "cubic-bezier",
129
- "states": ["default"],
130
- "overridable": ["overlay"]
131
- }
132
- ]
133
- }
1
+ {
2
+ "$schema": "https://skra-ds/schemas/skin-surface.v1.json",
3
+ "component": "button",
4
+ "skraVersion": ">=1.0.0",
5
+ "axes": [
6
+ {
7
+ "token": "--skra-comp-button-background",
8
+ "label": "Button — 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-button-foreground",
18
+ "label": "Button — label/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-button-border-color",
28
+ "label": "Button — 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-button-radius",
38
+ "label": "Button — 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-button-shadow",
47
+ "label": "Button — resting shadow",
48
+ "group": "Surface",
49
+ "type": "shadow",
50
+ "states": ["default"],
51
+ "overridable": ["overlay"]
52
+ },
53
+ {
54
+ "token": "--skra-comp-button-shadow-hover",
55
+ "label": "Button — shadow on hover",
56
+ "group": "State",
57
+ "type": "shadow",
58
+ "states": ["hover"],
59
+ "overridable": ["overlay"]
60
+ },
61
+ {
62
+ "token": "--skra-comp-button-focus-ring-color",
63
+ "label": "Focus ring — outline colour on :focus-visible",
64
+ "group": "State",
65
+ "type": "color",
66
+ "states": ["focus-visible"],
67
+ "constraint": { "oklch": true },
68
+ "overridable": ["overlay"]
69
+ },
70
+ {
71
+ "token": "--skra-comp-button-focus-ring-width",
72
+ "label": "Focus ring — outline thickness on :focus-visible",
73
+ "group": "State",
74
+ "type": "dimension",
75
+ "states": ["focus-visible"],
76
+ "constraint": { "unit": "rem", "min": 0.0625, "max": 0.25 },
77
+ "overridable": ["overlay"]
78
+ },
79
+ {
80
+ "token": "--skra-comp-button-background-disabled",
81
+ "label": "Button — background colour when disabled",
82
+ "group": "State",
83
+ "type": "color",
84
+ "states": ["disabled"],
85
+ "constraint": { "oklch": true },
86
+ "overridable": ["overlay"]
87
+ },
88
+ {
89
+ "token": "--skra-comp-button-foreground-disabled",
90
+ "label": "Button — label colour when disabled",
91
+ "group": "State",
92
+ "type": "color",
93
+ "states": ["disabled"],
94
+ "constraint": { "oklch": true },
95
+ "overridable": ["overlay"]
96
+ },
97
+ {
98
+ "token": "--skra-comp-button-loading-indicator-color",
99
+ "label": "Button — loading spinner colour",
100
+ "group": "State",
101
+ "type": "color",
102
+ "states": ["loading"],
103
+ "constraint": { "oklch": true },
104
+ "overridable": ["overlay"]
105
+ },
106
+ {
107
+ "token": "--skra-comp-button-icon-gap",
108
+ "label": "Button — gap between icon slot and label",
109
+ "group": "Spacing",
110
+ "type": "dimension",
111
+ "states": ["default"],
112
+ "constraint": { "unit": "rem", "min": 0, "max": 2 },
113
+ "overridable": ["overlay", "subtree"]
114
+ },
115
+ {
116
+ "token": "--skra-comp-button-motion-duration",
117
+ "label": "Transition duration for state changes",
118
+ "group": "Motion",
119
+ "type": "duration",
120
+ "states": ["default"],
121
+ "constraint": { "unit": "ms" },
122
+ "overridable": ["overlay"]
123
+ },
124
+ {
125
+ "token": "--skra-comp-button-motion-easing",
126
+ "label": "Transition easing curve",
127
+ "group": "Motion",
128
+ "type": "cubic-bezier",
129
+ "states": ["default"],
130
+ "overridable": ["overlay"]
131
+ }
132
+ ]
133
+ }