@pearpages/pulp-tokens 0.2.1 → 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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pearpages/pulp-tokens",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "pulp design tokens. W3C Design Tokens (DTCG) JSON in, CSS custom properties and a resolved JSON manifest out. Two brands, light and dark via light-dark().",
5
5
  "license": "MIT",
6
6
  "author": "Pere Pages <hello@pearpages.com> (https://pearpages.com)",
@@ -18,6 +18,12 @@
18
18
  "exports": {
19
19
  "./tokens.css": "./dist/tokens.css",
20
20
  "./tokens.json": "./dist/tokens.json",
21
+ "./theme.css": "./dist/theme.css",
22
+ "./native": {
23
+ "types": "./dist/native.d.ts",
24
+ "import": "./dist/native.js",
25
+ "require": "./dist/native.cjs"
26
+ },
21
27
  "./package.json": "./package.json"
22
28
  },
23
29
  "devDependencies": {
@@ -0,0 +1,26 @@
1
+ {
2
+ "$description": "Avatar component tokens. Reference the semantic layer only.",
3
+ "avatar": {
4
+ "size": {
5
+ "$type": "dimension",
6
+ "$description": "sm and md are the control heights, so an avatar lines up with a button in a row. lg and xl are multiples of them: they follow a brand's density.",
7
+ "sm": { "$value": "{size.control.sm}" },
8
+ "md": { "$value": "{size.control.md}" },
9
+ "lg": { "$value": "{size.control.md}", "$extensions": { "com.pearpages.pulp": { "multiply": 1.4 } } },
10
+ "xl": { "$value": "{size.control.lg}", "$extensions": { "com.pearpages.pulp": { "multiply": 2 } } }
11
+ },
12
+ "font-size": {
13
+ "$type": "dimension",
14
+ "sm": { "$value": "{font.size.xs}" },
15
+ "md": { "$value": "{font.size.sm}" },
16
+ "lg": { "$value": "{font.size.lg}" },
17
+ "xl": { "$value": "{font.size.2xl}" }
18
+ },
19
+ "bg": { "$type": "color", "$value": "{color.status.neutral-subtle}" },
20
+ "border": { "$type": "color", "$description": "Fallback only: the subtle fill barely separates from the base surface in light schemes.", "$value": "{color.border.default}" },
21
+ "border-width": { "$type": "dimension", "$value": "{size.hairline}" },
22
+ "fg": { "$type": "color", "$value": "{color.status.neutral-text}" },
23
+ "weight": { "$type": "fontWeight", "$value": "{font.weight.semibold}" },
24
+ "radius": { "$type": "dimension", "$value": "{radius.full}" }
25
+ }
26
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$description": "Badge component tokens: tone \u00d7 variant onto the status layer.",
2
+ "$description": "Badge component tokens: tone × variant onto the status layer.",
3
3
  "badge": {
4
4
  "radius": {
5
5
  "$type": "dimension",
@@ -148,6 +148,11 @@
148
148
  "$value": "{color.status.error-text}"
149
149
  }
150
150
  }
151
+ },
152
+ "dot-size": {
153
+ "$type": "dimension",
154
+ "$description": "variant=\"dot\": a presence mark with no text.",
155
+ "$value": "{space.2}"
151
156
  }
152
157
  }
153
158
  }
@@ -94,6 +94,28 @@
94
94
  "$value": "{color.action.primary-quiet}"
95
95
  }
96
96
  },
97
+ "danger": {
98
+ "$type": "color",
99
+ "$description": "tone=\"danger\". Filled for the primary variant; the quiet variants keep their shape and take the error text colour.",
100
+ "bg": {
101
+ "$value": "{color.status.error}"
102
+ },
103
+ "bg-hover": {
104
+ "$value": "{color.status.error-hover}"
105
+ },
106
+ "bg-active": {
107
+ "$value": "{color.status.error-active}"
108
+ },
109
+ "fg": {
110
+ "$value": "{color.status.on-error}"
111
+ },
112
+ "text": {
113
+ "$value": "{color.status.error-text}"
114
+ },
115
+ "quiet-bg-hover": {
116
+ "$value": "{color.status.error-subtle}"
117
+ }
118
+ },
97
119
  "focus": {
98
120
  "ring": {
99
121
  "$type": "color",
@@ -0,0 +1,49 @@
1
+ {
2
+ "$description": "Chip component tokens. Reference the semantic layer only.",
3
+ "chip": {
4
+ "height": {
5
+ "$type": "dimension",
6
+ "$description": "sm is 24px at the default density: the WCAG 2.2 minimum target size, not below it.",
7
+ "sm": { "$value": "{space.5}" },
8
+ "md": { "$value": "{size.control.sm}" },
9
+ "lg": { "$value": "{size.control.md}" }
10
+ },
11
+ "padding-x": {
12
+ "$type": "dimension",
13
+ "sm": { "$value": "{space.2}" },
14
+ "md": { "$value": "{space.3}" },
15
+ "lg": { "$value": "{space.4}" }
16
+ },
17
+ "gap": { "$type": "dimension", "$value": "{space.1}" },
18
+ "font-size": {
19
+ "$type": "dimension",
20
+ "sm": { "$value": "{font.size.xs}" },
21
+ "md": { "$value": "{font.size.sm}" },
22
+ "lg": { "$value": "{font.size.md}" }
23
+ },
24
+ "weight": { "$type": "fontWeight", "$value": "{font.weight.medium}" },
25
+ "radius": { "$type": "dimension", "$value": "{radius.full}" },
26
+ "border-width": { "$type": "dimension", "$value": "{size.hairline}" },
27
+ "neutral": {
28
+ "$type": "color",
29
+ "bg": { "$value": "{color.action.secondary}" },
30
+ "bg-hover": { "$value": "{color.action.secondary-hover}" },
31
+ "fg": { "$value": "{color.text.default}" },
32
+ "border": { "$value": "{color.border.default}" },
33
+ "selected-bg": { "$value": "{color.surface.inverse}" },
34
+ "selected-fg": { "$value": "{color.text.on-inverse}" }
35
+ },
36
+ "action": {
37
+ "$type": "color",
38
+ "bg": { "$value": "{color.action.primary-quiet}" },
39
+ "bg-hover": { "$value": "{color.action.primary-quiet}" },
40
+ "fg": { "$value": "{color.action.text}" },
41
+ "border": { "$value": "{color.action.primary-quiet}" },
42
+ "selected-bg": { "$value": "{color.action.primary}" },
43
+ "selected-fg": { "$value": "{color.text.on-action}" }
44
+ },
45
+ "focus-ring": { "$type": "color", "$value": "{color.border.focus}" },
46
+ "focus-ring-width": { "$type": "dimension", "$value": "{focus.ring.width}" },
47
+ "focus-ring-offset": { "$type": "dimension", "$value": "{focus.ring.offset}" }
48
+ }
49
+ }
@@ -87,6 +87,11 @@
87
87
  "duration": {
88
88
  "$type": "duration",
89
89
  "$value": "{motion.duration.fast}"
90
+ },
91
+ "bg": {
92
+ "$type": "color",
93
+ "$description": "The list floats: the overlay surface, not the inline Listbox's.",
94
+ "$value": "{color.surface.overlay}"
90
95
  }
91
96
  },
92
97
  "focus": {
@@ -130,7 +130,7 @@
130
130
  "dialog": {
131
131
  "bg": {
132
132
  "$type": "color",
133
- "$value": "{color.surface.raised}"
133
+ "$value": "{color.surface.overlay}"
134
134
  },
135
135
  "border": {
136
136
  "$type": "color",
@@ -1,36 +1,105 @@
1
1
  {
2
2
  "$description": "Dialog component tokens: the pulp side of the mapping onto @pearpages/modals. The vendor reads --modal-*; Dialog.module.css sets those from these --dialog-* tokens on the portal root.",
3
3
  "dialog": {
4
- "surface": { "$type": "color", "$value": "{color.surface.raised}" },
5
- "surface-subtle": { "$type": "color", "$value": "{color.surface.sunken}" },
6
- "fg": { "$type": "color", "$value": "{color.text.default}" },
7
- "fg-muted": { "$type": "color", "$value": "{color.text.muted}" },
8
- "backdrop": { "$type": "color", "$value": "{color.overlay.backdrop}" },
9
- "border": { "$type": "color", "$value": "{color.border.default}" },
10
- "border-hover": { "$type": "color", "$value": "{color.border.strong}" },
11
- "focus": { "$type": "color", "$value": "{color.border.focus}" },
12
- "radius": { "$type": "dimension", "$value": "{radius.surface}" },
13
- "shadow": { "$type": "shadow", "$value": "{shadow.overlay}" },
14
- "padding": { "$type": "dimension", "$value": "{space.5}" },
15
- "gap": { "$type": "dimension", "$value": "{space.3}" },
16
- "font-family": { "$type": "fontFamily", "$value": "{font.family.body}" },
4
+ "surface": {
5
+ "$type": "color",
6
+ "$value": "{color.surface.overlay}"
7
+ },
8
+ "surface-subtle": {
9
+ "$type": "color",
10
+ "$value": "{color.surface.sunken}"
11
+ },
12
+ "fg": {
13
+ "$type": "color",
14
+ "$value": "{color.text.default}"
15
+ },
16
+ "fg-muted": {
17
+ "$type": "color",
18
+ "$value": "{color.text.muted}"
19
+ },
20
+ "backdrop": {
21
+ "$type": "color",
22
+ "$value": "{color.overlay.backdrop}"
23
+ },
24
+ "border": {
25
+ "$type": "color",
26
+ "$value": "{color.border.default}"
27
+ },
28
+ "border-hover": {
29
+ "$type": "color",
30
+ "$value": "{color.border.strong}"
31
+ },
32
+ "focus": {
33
+ "$type": "color",
34
+ "$value": "{color.border.focus}"
35
+ },
36
+ "radius": {
37
+ "$type": "dimension",
38
+ "$value": "{radius.surface}"
39
+ },
40
+ "shadow": {
41
+ "$type": "shadow",
42
+ "$value": "{shadow.overlay}"
43
+ },
44
+ "padding": {
45
+ "$type": "dimension",
46
+ "$value": "{space.5}"
47
+ },
48
+ "gap": {
49
+ "$type": "dimension",
50
+ "$value": "{space.3}"
51
+ },
52
+ "font-family": {
53
+ "$type": "fontFamily",
54
+ "$value": "{font.family.body}"
55
+ },
17
56
  "title": {
18
- "font-size": { "$type": "dimension", "$value": "{font.size.lg}" },
19
- "font-weight": { "$type": "fontWeight", "$value": "{font.weight.semibold}" },
20
- "font-family": { "$type": "fontFamily", "$value": "{font.family.display}" }
57
+ "font-size": {
58
+ "$type": "dimension",
59
+ "$value": "{font.size.lg}"
60
+ },
61
+ "font-weight": {
62
+ "$type": "fontWeight",
63
+ "$value": "{font.weight.semibold}"
64
+ },
65
+ "font-family": {
66
+ "$type": "fontFamily",
67
+ "$value": "{font.family.display}"
68
+ }
21
69
  },
22
70
  "description": {
23
- "font-size": { "$type": "dimension", "$value": "{font.size.sm}" }
71
+ "font-size": {
72
+ "$type": "dimension",
73
+ "$value": "{font.size.sm}"
74
+ }
24
75
  },
25
76
  "close": {
26
- "bg": { "$type": "color", "$value": "{color.action.secondary}" },
27
- "bg-hover": { "$type": "color", "$value": "{color.action.secondary-hover}" },
28
- "fg": { "$type": "color", "$value": "{color.text.muted}" },
29
- "fg-hover": { "$type": "color", "$value": "{color.text.default}" }
77
+ "bg": {
78
+ "$type": "color",
79
+ "$value": "{color.action.secondary}"
80
+ },
81
+ "bg-hover": {
82
+ "$type": "color",
83
+ "$value": "{color.action.secondary-hover}"
84
+ },
85
+ "fg": {
86
+ "$type": "color",
87
+ "$value": "{color.text.muted}"
88
+ },
89
+ "fg-hover": {
90
+ "$type": "color",
91
+ "$value": "{color.text.default}"
92
+ }
30
93
  },
31
94
  "motion": {
32
- "duration": { "$type": "duration", "$value": "{motion.duration.base}" },
33
- "easing": { "$type": "cubicBezier", "$value": "{motion.easing.standard}" }
95
+ "duration": {
96
+ "$type": "duration",
97
+ "$value": "{motion.duration.base}"
98
+ },
99
+ "easing": {
100
+ "$type": "cubicBezier",
101
+ "$value": "{motion.easing.standard}"
102
+ }
34
103
  }
35
104
  }
36
105
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$description": "Divider component tokens. Reference the semantic layer only.",
3
+ "divider": {
4
+ "color": { "$type": "color", "$value": "{color.border.default}" },
5
+ "thickness": { "$type": "dimension", "$value": "{size.hairline}" },
6
+ "spacing": {
7
+ "$type": "dimension",
8
+ "sm": { "$value": "{space.2}" },
9
+ "md": { "$value": "{space.4}" },
10
+ "lg": { "$value": "{space.6}" }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$description": "EmptyState component tokens. Reference the semantic layer only. Type comes from Heading and Text.",
3
+ "empty-state": {
4
+ "padding": { "$type": "dimension", "$value": "{space.6}" },
5
+ "icon": {
6
+ "size": { "$type": "dimension", "$description": "The disc the glyph sits in.", "$value": "{size.control.lg}" },
7
+ "glyph-size": { "$type": "dimension", "$value": "{font.size.xl}" },
8
+ "radius": { "$type": "dimension", "$value": "{radius.full}" },
9
+ "neutral-bg": { "$type": "color", "$value": "{color.status.neutral-subtle}" },
10
+ "neutral-fg": { "$type": "color", "$value": "{color.status.neutral-text}" },
11
+ "error-bg": { "$type": "color", "$value": "{color.status.error-subtle}" },
12
+ "error-fg": { "$type": "color", "$value": "{color.status.error-text}" }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$description": "Link component tokens. Reference the semantic layer only.",
3
+ "link": {
4
+ "tone": {
5
+ "$type": "color",
6
+ "action": {
7
+ "$value": "{color.action.text}"
8
+ },
9
+ "default": {
10
+ "$value": "{color.text.default}"
11
+ },
12
+ "muted": {
13
+ "$value": "{color.text.muted}"
14
+ }
15
+ },
16
+ "hover": {
17
+ "$type": "color",
18
+ "$value": "{color.text.default}"
19
+ },
20
+ "weight": {
21
+ "$type": "fontWeight",
22
+ "$value": "{font.weight.medium}"
23
+ },
24
+ "radius": {
25
+ "$type": "dimension",
26
+ "$value": "{radius.control}"
27
+ },
28
+ "focus-ring-width": {
29
+ "$type": "dimension",
30
+ "$value": "{focus.ring.width}"
31
+ },
32
+ "focus-ring-offset": {
33
+ "$type": "dimension",
34
+ "$value": "{focus.ring.offset}"
35
+ },
36
+ "focus-ring-color": {
37
+ "$type": "color",
38
+ "$value": "{color.border.focus}"
39
+ },
40
+ "duration": {
41
+ "$type": "duration",
42
+ "$value": "{motion.duration.fast}"
43
+ }
44
+ }
45
+ }
@@ -3,7 +3,7 @@
3
3
  "menu": {
4
4
  "bg": {
5
5
  "$type": "color",
6
- "$value": "{color.surface.raised}"
6
+ "$value": "{color.surface.overlay}"
7
7
  },
8
8
  "fg": {
9
9
  "$type": "color",
@@ -87,6 +87,11 @@
87
87
  "duration": {
88
88
  "$type": "duration",
89
89
  "$value": "{motion.duration.fast}"
90
+ },
91
+ "bg": {
92
+ "$type": "color",
93
+ "$description": "The list floats: the overlay surface, not the inline Listbox's.",
94
+ "$value": "{color.surface.overlay}"
90
95
  }
91
96
  },
92
97
  "focus": {
@@ -3,7 +3,7 @@
3
3
  "popover": {
4
4
  "bg": {
5
5
  "$type": "color",
6
- "$value": "{color.surface.raised}"
6
+ "$value": "{color.surface.overlay}"
7
7
  },
8
8
  "fg": {
9
9
  "$type": "color",
@@ -0,0 +1,49 @@
1
+ {
2
+ "$description": "SegmentedControl component tokens. Reference the semantic layer only.",
3
+ "segmented-control": {
4
+ "height": {
5
+ "$type": "dimension",
6
+ "sm": { "$value": "{size.control.sm}" },
7
+ "md": { "$value": "{size.control.md}" }
8
+ },
9
+ "padding-x": {
10
+ "$type": "dimension",
11
+ "sm": { "$value": "{space.3}" },
12
+ "md": { "$value": "{space.4}" }
13
+ },
14
+ "font-size": {
15
+ "$type": "dimension",
16
+ "sm": { "$value": "{font.size.sm}" },
17
+ "md": { "$value": "{font.size.md}" }
18
+ },
19
+ "gap": { "$type": "dimension", "$value": "{space.2}" },
20
+ "inset": { "$type": "dimension", "$description": "The track's padding around the segments.", "$value": "{space.1}" },
21
+ "weight": { "$type": "fontWeight", "$value": "{font.weight.medium}" },
22
+ "fg": { "$type": "color", "$value": "{color.text.muted}" },
23
+ "fg-hover": { "$type": "color", "$value": "{color.text.default}" },
24
+ "border-width": { "$type": "dimension", "$value": "{size.hairline}" },
25
+ "track": {
26
+ "bg": { "$type": "color", "$value": "{color.surface.sunken}" },
27
+ "border": { "$type": "color", "$value": "{color.border.default}" },
28
+ "radius": { "$type": "dimension", "$value": "{radius.control}" }
29
+ },
30
+ "segment": {
31
+ "radius": { "$type": "dimension", "$value": "{radius.control}" },
32
+ "selected-bg": { "$type": "color", "$value": "{color.surface.raised}" },
33
+ "selected-fg": { "$type": "color", "$value": "{color.text.default}" },
34
+ "selected-border": { "$type": "color", "$description": "Raised on sunken is a faint step in dark schemes; the edge is what marks the thumb.", "$value": "{color.border.strong}" },
35
+ "selected-shadow": { "$type": "shadow", "$value": "{shadow.raised}" }
36
+ },
37
+ "chip": {
38
+ "radius": { "$type": "dimension", "$value": "{radius.full}" },
39
+ "bg": { "$type": "color", "$value": "{color.surface.raised}" },
40
+ "border": { "$type": "color", "$value": "{color.border.default}" },
41
+ "selected-bg": { "$type": "color", "$value": "{color.action.primary-quiet}" },
42
+ "selected-fg": { "$type": "color", "$value": "{color.action.text}" },
43
+ "selected-border": { "$type": "color", "$value": "{color.action.text}" }
44
+ },
45
+ "focus-ring": { "$type": "color", "$value": "{color.border.focus}" },
46
+ "focus-ring-width": { "$type": "dimension", "$value": "{focus.ring.width}" },
47
+ "focus-ring-offset": { "$type": "dimension", "$value": "{focus.ring.offset}" }
48
+ }
49
+ }
@@ -1,8 +1,45 @@
1
1
  {
2
2
  "$description": "Sheet component tokens: the size side of the mapping onto @pearpages/modals. The vendor docks the dialog and reads --modal-width-sheet, --modal-height-sheet and --modal-animation-translate-sheet; Sheet.module.css sets those from these --sheet-* tokens on the dialog element. Colour, type and motion timing are Dialog's.",
3
3
  "sheet": {
4
- "width": { "$type": "dimension", "$value": "{size.sheet-width}" },
5
- "height": { "$type": "dimension", "$value": "{size.sheet-height}" },
6
- "motion-translate": { "$type": "dimension", "$value": "{space.5}" }
4
+ "width": {
5
+ "$type": "dimension",
6
+ "$value": "{size.sheet-width}"
7
+ },
8
+ "height": {
9
+ "$type": "dimension",
10
+ "$value": "{size.sheet-height}"
11
+ },
12
+ "motion-translate": {
13
+ "$type": "dimension",
14
+ "$value": "{space.5}"
15
+ },
16
+ "handle": {
17
+ "$description": "The grab handle of a bottom sheet that can be dragged to dismiss.",
18
+ "width": {
19
+ "$type": "dimension",
20
+ "$value": "{space.7}"
21
+ },
22
+ "height": {
23
+ "$type": "dimension",
24
+ "$value": "{space.1}"
25
+ },
26
+ "hit-height": {
27
+ "$type": "dimension",
28
+ "$description": "The strip that starts the drag: 24px at the default density, the minimum target.",
29
+ "$value": "{space.5}"
30
+ },
31
+ "bg": {
32
+ "$type": "color",
33
+ "$value": "{color.border.strong}"
34
+ },
35
+ "radius": {
36
+ "$type": "dimension",
37
+ "$value": "{radius.full}"
38
+ },
39
+ "snap-duration": {
40
+ "$type": "duration",
41
+ "$value": "{motion.duration.base}"
42
+ }
43
+ }
7
44
  }
8
45
  }
@@ -85,6 +85,22 @@
85
85
  "$type": "duration",
86
86
  "$value": "{motion.duration.fast}"
87
87
  }
88
+ },
89
+ "icon": {
90
+ "fg": {
91
+ "$type": "color",
92
+ "$description": "The leading glyph and the clear button at rest.",
93
+ "$value": "{color.text.muted}"
94
+ },
95
+ "fg-hover": {
96
+ "$type": "color",
97
+ "$value": "{color.text.default}"
98
+ },
99
+ "gap": {
100
+ "$type": "dimension",
101
+ "$description": "Between the glyph and the text.",
102
+ "$value": "{space.2}"
103
+ }
88
104
  }
89
105
  }
90
106
  }
@@ -161,9 +161,15 @@
161
161
  "100": {
162
162
  "$value": "#fde7e7"
163
163
  },
164
+ "200": {
165
+ "$value": "#ff9797"
166
+ },
164
167
  "300": {
165
168
  "$value": "#ff6b6b"
166
169
  },
170
+ "400": {
171
+ "$value": "#ee6060"
172
+ },
167
173
  "500": {
168
174
  "$value": "#d64545"
169
175
  },
@@ -173,6 +179,9 @@
173
179
  "700": {
174
180
  "$value": "#a83333"
175
181
  },
182
+ "800": {
183
+ "$value": "#8a2a2a"
184
+ },
176
185
  "900": {
177
186
  "$value": "#3f1414"
178
187
  }
@@ -29,6 +29,7 @@
29
29
  }
30
30
  },
31
31
  "neutral": {
32
+ "$description": "Sixteen steps rather than the usual eleven: 450, 850, 975 and 1000 exist because the dark scheme needs three surfaces below 900 (raised, base, sunken). Derived from perepages.com. 450 is the faint text step that still meets AA on the dark raised surface.",
32
33
  "0": {
33
34
  "$value": "#ffffff"
34
35
  },
@@ -65,6 +66,9 @@
65
66
  "850": {
66
67
  "$value": "#262a35"
67
68
  },
69
+ "875": {
70
+ "$value": "#1a1e29"
71
+ },
68
72
  "900": {
69
73
  "$value": "#11141d"
70
74
  },
@@ -76,8 +80,7 @@
76
80
  },
77
81
  "1000": {
78
82
  "$value": "#05070b"
79
- },
80
- "$description": "Sixteen steps rather than the usual eleven: 450, 850, 975 and 1000 exist because the dark scheme needs three surfaces below 900 (raised, base, sunken). Derived from perepages.com. 450 is the faint text step that still meets AA on the dark raised surface."
83
+ }
81
84
  },
82
85
  "saffron": {
83
86
  "100": {
@@ -114,15 +117,24 @@
114
117
  "100": {
115
118
  "$value": "#fbe5e6"
116
119
  },
120
+ "200": {
121
+ "$value": "#ff9699"
122
+ },
117
123
  "300": {
118
124
  "$value": "#ff6b70"
119
125
  },
126
+ "400": {
127
+ "$value": "#ea5459"
128
+ },
120
129
  "500": {
121
130
  "$value": "#d0393e"
122
131
  },
123
132
  "700": {
124
133
  "$value": "#a52c30"
125
134
  },
135
+ "800": {
136
+ "$value": "#86242a"
137
+ },
126
138
  "900": {
127
139
  "$value": "#3d1113"
128
140
  }
@@ -19,6 +19,15 @@
19
19
  }
20
20
  }
21
21
  },
22
+ "overlay": {
23
+ "$value": "{color.cream.100}",
24
+ "$extensions": {
25
+ "com.pearpages.pulp": {
26
+ "dark": "{color.ink.600}"
27
+ }
28
+ },
29
+ "$description": "What floats above the page: dialogs, sheets, popovers, menus. One step lighter than raised in dark schemes, where a shadow alone does not separate a menu from a card; in light it may equal raised."
30
+ },
22
31
  "sunken": {
23
32
  "$value": "{color.cream.400}",
24
33
  "$extensions": {
@@ -193,6 +202,24 @@
193
202
  },
194
203
  "$description": "One step darker than the brand red so white text on it meets AA."
195
204
  },
205
+ "error-hover": {
206
+ "$value": "{color.red.700}",
207
+ "$extensions": {
208
+ "com.pearpages.pulp": {
209
+ "dark": "{color.red.200}"
210
+ }
211
+ },
212
+ "$description": "A filled error surface under the pointer (a danger Button). Darkens in light, lightens in dark: away from its on-error text."
213
+ },
214
+ "error-active": {
215
+ "$value": "{color.red.800}",
216
+ "$extensions": {
217
+ "com.pearpages.pulp": {
218
+ "dark": "{color.red.400}"
219
+ }
220
+ },
221
+ "$description": "A filled error surface while pressed."
222
+ },
196
223
  "info": {
197
224
  "$value": "{color.blue.600}",
198
225
  "$extensions": {