@indico-data/design-system 3.20.0 → 3.22.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.
@@ -0,0 +1,408 @@
1
+ // ============================================================================
2
+ // PILL COMPONENT TOKENS (internal)
3
+ // ============================================================================
4
+ // These CSS custom properties are implementation details of the Pill component.
5
+ // They provide light/dark theme values for each color × variant combination.
6
+ // They are NOT part of the public token API — consumers should style pills
7
+ // through the component props, not by overriding these variables.
8
+ //
9
+ // Aligned with Figma's "Pills" variable group.
10
+
11
+ // ============================================================================
12
+ // OUTLINE - Light Theme
13
+ // ============================================================================
14
+ :root,
15
+ :root [data-theme='light'] {
16
+ // Outline / Red
17
+ --pf-pill-outline-red-bg: var(--pf-red-color-150);
18
+ --pf-pill-outline-red-text: var(--pf-red-color-500);
19
+ --pf-pill-outline-red-border: var(--pf-red-color-250);
20
+ --pf-pill-outline-red-dot: var(--pf-red-color-400);
21
+ --pf-pill-outline-red-icon: var(--pf-red-color-450);
22
+ --pf-pill-outline-red-close: var(--pf-red-color-300);
23
+ --pf-pill-outline-red-close-hover: var(--pf-red-color-400);
24
+ --pf-pill-outline-red-close-hover-bg: var(--pf-red-color-100);
25
+
26
+ // Outline / Purple
27
+ --pf-pill-outline-purple-bg: var(--pf-purple-color-150);
28
+ --pf-pill-outline-purple-text: var(--pf-purple-color-500);
29
+ --pf-pill-outline-purple-border: var(--pf-purple-color-250);
30
+ --pf-pill-outline-purple-dot: var(--pf-purple-color-400);
31
+ --pf-pill-outline-purple-icon: var(--pf-purple-color-400);
32
+ --pf-pill-outline-purple-close: var(--pf-purple-color-300);
33
+ --pf-pill-outline-purple-close-hover: var(--pf-purple-color-400);
34
+ --pf-pill-outline-purple-close-hover-bg: var(--pf-purple-color-100);
35
+
36
+ // Outline / Yellow
37
+ --pf-pill-outline-yellow-bg: var(--pf-yellow-color-150);
38
+ --pf-pill-outline-yellow-text: var(--pf-yellow-color-600);
39
+ --pf-pill-outline-yellow-border: var(--pf-yellow-color-250);
40
+ --pf-pill-outline-yellow-dot: var(--pf-yellow-color-500);
41
+ --pf-pill-outline-yellow-icon: var(--pf-yellow-color-500);
42
+ --pf-pill-outline-yellow-close: var(--pf-yellow-color-400);
43
+ --pf-pill-outline-yellow-close-hover: var(--pf-yellow-color-450);
44
+ --pf-pill-outline-yellow-close-hover-bg: var(--pf-yellow-color-100);
45
+
46
+ // Outline / Blue
47
+ --pf-pill-outline-blue-bg: var(--pf-blue-color-150);
48
+ --pf-pill-outline-blue-text: var(--pf-blue-color-500);
49
+ --pf-pill-outline-blue-border: var(--pf-blue-color-250);
50
+ --pf-pill-outline-blue-dot: var(--pf-blue-color-400);
51
+ --pf-pill-outline-blue-icon: var(--pf-blue-color-450);
52
+ --pf-pill-outline-blue-close: var(--pf-blue-color-300);
53
+ --pf-pill-outline-blue-close-hover: var(--pf-blue-color-400);
54
+ --pf-pill-outline-blue-close-hover-bg: var(--pf-blue-color-100);
55
+
56
+ // Outline / Green
57
+ --pf-pill-outline-green-bg: var(--pf-green-color-150);
58
+ --pf-pill-outline-green-text: var(--pf-green-color-700);
59
+ --pf-pill-outline-green-border: var(--pf-green-color-250);
60
+ --pf-pill-outline-green-dot: var(--pf-green-color-500);
61
+ --pf-pill-outline-green-icon: var(--pf-green-color-500);
62
+ --pf-pill-outline-green-close: var(--pf-green-color-300);
63
+ --pf-pill-outline-green-close-hover: var(--pf-green-color-450);
64
+ --pf-pill-outline-green-close-hover-bg: var(--pf-green-color-100);
65
+
66
+ // Outline / Gray
67
+ --pf-pill-outline-gray-bg: var(--pf-gray-color-150);
68
+ --pf-pill-outline-gray-text: var(--pf-gray-color-700);
69
+ --pf-pill-outline-gray-border: var(--pf-gray-color-250);
70
+ --pf-pill-outline-gray-dot: var(--pf-gray-color-550);
71
+ --pf-pill-outline-gray-icon: var(--pf-gray-color-550);
72
+ --pf-pill-outline-gray-close: var(--pf-gray-color-500);
73
+ --pf-pill-outline-gray-close-hover: var(--pf-gray-color-550);
74
+ --pf-pill-outline-gray-close-hover-bg: var(--pf-gray-color-100);
75
+
76
+ // Outline / Pink
77
+ --pf-pill-outline-pink-bg: var(--pf-pink-color-150);
78
+ --pf-pill-outline-pink-text: var(--pf-pink-color-500);
79
+ --pf-pill-outline-pink-border: var(--pf-pink-color-250);
80
+ --pf-pill-outline-pink-dot: var(--pf-pink-color-400);
81
+ --pf-pill-outline-pink-icon: var(--pf-pink-color-400);
82
+ --pf-pill-outline-pink-close: var(--pf-pink-color-300);
83
+ --pf-pill-outline-pink-close-hover: var(--pf-pink-color-400);
84
+ --pf-pill-outline-pink-close-hover-bg: var(--pf-pink-color-100);
85
+
86
+ // Outline / Orange
87
+ --pf-pill-outline-orange-bg: var(--pf-orange-color-150);
88
+ --pf-pill-outline-orange-text: var(--pf-orange-color-500);
89
+ --pf-pill-outline-orange-border: var(--pf-orange-color-250);
90
+ --pf-pill-outline-orange-dot: var(--pf-orange-color-400);
91
+ --pf-pill-outline-orange-icon: var(--pf-orange-color-400);
92
+ --pf-pill-outline-orange-close: var(--pf-orange-color-300);
93
+ --pf-pill-outline-orange-close-hover: var(--pf-orange-color-400);
94
+ --pf-pill-outline-orange-close-hover-bg: var(--pf-orange-color-100);
95
+
96
+ // Outline / Teal
97
+ --pf-pill-outline-teal-bg: var(--pf-teal-color-150);
98
+ --pf-pill-outline-teal-text: var(--pf-teal-color-550);
99
+ --pf-pill-outline-teal-border: var(--pf-teal-color-250);
100
+ --pf-pill-outline-teal-dot: var(--pf-teal-color-500);
101
+ --pf-pill-outline-teal-icon: var(--pf-teal-color-500);
102
+ --pf-pill-outline-teal-close: var(--pf-teal-color-400);
103
+ --pf-pill-outline-teal-close-hover: var(--pf-teal-color-450);
104
+ --pf-pill-outline-teal-close-hover-bg: var(--pf-teal-color-100);
105
+
106
+ // Outline / Soft
107
+ --pf-pill-outline-soft-bg: var(--pf-gray-color-100);
108
+ --pf-pill-outline-soft-text: var(--pf-gray-color-800);
109
+ --pf-pill-outline-soft-border: var(--pf-gray-color-200);
110
+ --pf-pill-outline-soft-dot: var(--pf-gray-color-800);
111
+ --pf-pill-outline-soft-icon: var(--pf-gray-color-800);
112
+ --pf-pill-outline-soft-close: var(--pf-gray-color-800);
113
+ --pf-pill-outline-soft-close-hover: var(--pf-gray-color-500);
114
+ --pf-pill-outline-soft-close-hover-bg: var(--pf-gray-color-50);
115
+
116
+ // ============================================================================
117
+ // SOLID - Light Theme
118
+ // ============================================================================
119
+
120
+ // Solid / Red
121
+ --pf-pill-solid-red-bg: var(--pf-red-color-450);
122
+ --pf-pill-solid-red-text: var(--pf-red-color-50);
123
+ --pf-pill-solid-red-dot: var(--pf-red-color-250);
124
+ --pf-pill-solid-red-icon: var(--pf-red-color-50);
125
+ --pf-pill-solid-red-close: var(--pf-red-color-300);
126
+ --pf-pill-solid-red-close-hover: var(--pf-red-color-250);
127
+ --pf-pill-solid-red-close-hover-bg: var(--pf-opacity-white-200);
128
+
129
+ // Solid / Purple
130
+ --pf-pill-solid-purple-bg: var(--pf-purple-color-450);
131
+ --pf-pill-solid-purple-text: var(--pf-purple-color-100);
132
+ --pf-pill-solid-purple-dot: var(--pf-purple-color-300);
133
+ --pf-pill-solid-purple-icon: var(--pf-purple-color-100);
134
+ --pf-pill-solid-purple-close: var(--pf-purple-color-300);
135
+ --pf-pill-solid-purple-close-hover: var(--pf-purple-color-250);
136
+ --pf-pill-solid-purple-close-hover-bg: var(--pf-opacity-white-200);
137
+
138
+ // Solid / Yellow
139
+ --pf-pill-solid-yellow-bg: var(--pf-yellow-color-550);
140
+ --pf-pill-solid-yellow-text: var(--pf-gray-color-50);
141
+ --pf-pill-solid-yellow-dot: var(--pf-yellow-color-300);
142
+ --pf-pill-solid-yellow-icon: var(--pf-yellow-color-50);
143
+ --pf-pill-solid-yellow-close: var(--pf-yellow-color-400);
144
+ --pf-pill-solid-yellow-close-hover: var(--pf-yellow-color-300);
145
+ --pf-pill-solid-yellow-close-hover-bg: var(--pf-opacity-white-250);
146
+
147
+ // Solid / Blue
148
+ --pf-pill-solid-blue-bg: var(--pf-blue-color-500);
149
+ --pf-pill-solid-blue-text: var(--pf-blue-color-50);
150
+ --pf-pill-solid-blue-dot: var(--pf-blue-color-300);
151
+ --pf-pill-solid-blue-icon: var(--pf-blue-color-50);
152
+ --pf-pill-solid-blue-close: var(--pf-blue-color-300);
153
+ --pf-pill-solid-blue-close-hover: var(--pf-blue-color-250);
154
+ --pf-pill-solid-blue-close-hover-bg: var(--pf-opacity-white-250);
155
+
156
+ // Solid / Green
157
+ --pf-pill-solid-green-bg: var(--pf-green-color-600);
158
+ --pf-pill-solid-green-text: var(--pf-green-color-100);
159
+ --pf-pill-solid-green-dot: var(--pf-green-color-450);
160
+ --pf-pill-solid-green-icon: var(--pf-green-color-100);
161
+ --pf-pill-solid-green-close: var(--pf-green-color-300);
162
+ --pf-pill-solid-green-close-hover: var(--pf-green-color-250);
163
+ --pf-pill-solid-green-close-hover-bg: var(--pf-opacity-white-200);
164
+
165
+ // Solid / Gray
166
+ --pf-pill-solid-gray-bg: var(--pf-gray-color-700);
167
+ --pf-pill-solid-gray-text: var(--pf-gray-color-50);
168
+ --pf-pill-solid-gray-dot: var(--pf-gray-color-400);
169
+ --pf-pill-solid-gray-icon: var(--pf-gray-color-50);
170
+ --pf-pill-solid-gray-close: var(--pf-gray-color-500);
171
+ --pf-pill-solid-gray-close-hover: var(--pf-gray-color-450);
172
+ --pf-pill-solid-gray-close-hover-bg: var(--pf-opacity-white-200);
173
+
174
+ // Solid / Pink
175
+ --pf-pill-solid-pink-bg: var(--pf-pink-color-450);
176
+ --pf-pill-solid-pink-text: var(--pf-pink-color-150);
177
+ --pf-pill-solid-pink-dot: var(--pf-pink-color-300);
178
+ --pf-pill-solid-pink-icon: var(--pf-pink-color-150);
179
+ --pf-pill-solid-pink-close: var(--pf-pink-color-300);
180
+ --pf-pill-solid-pink-close-hover: var(--pf-pink-color-250);
181
+ --pf-pill-solid-pink-close-hover-bg: var(--pf-opacity-white-250);
182
+
183
+ // Solid / Orange
184
+ --pf-pill-solid-orange-bg: var(--pf-orange-color-450);
185
+ --pf-pill-solid-orange-text: var(--pf-orange-color-50);
186
+ --pf-pill-solid-orange-dot: var(--pf-orange-color-300);
187
+ --pf-pill-solid-orange-icon: var(--pf-orange-color-50);
188
+ --pf-pill-solid-orange-close: var(--pf-orange-color-300);
189
+ --pf-pill-solid-orange-close-hover: var(--pf-orange-color-250);
190
+ --pf-pill-solid-orange-close-hover-bg: var(--pf-opacity-white-250);
191
+
192
+ // Solid / Teal
193
+ --pf-pill-solid-teal-bg: var(--pf-teal-color-550);
194
+ --pf-pill-solid-teal-text: var(--pf-teal-color-100);
195
+ --pf-pill-solid-teal-dot: var(--pf-teal-color-250);
196
+ --pf-pill-solid-teal-icon: var(--pf-teal-color-100);
197
+ --pf-pill-solid-teal-close: var(--pf-teal-color-400);
198
+ --pf-pill-solid-teal-close-hover: var(--pf-teal-color-450);
199
+ --pf-pill-solid-teal-close-hover-bg: var(--pf-opacity-white-200);
200
+
201
+ // Solid / Soft
202
+ --pf-pill-solid-soft-bg: var(--pf-gray-color-200);
203
+ --pf-pill-solid-soft-text: var(--pf-gray-color-800);
204
+ --pf-pill-solid-soft-dot: var(--pf-gray-color-800);
205
+ --pf-pill-solid-soft-icon: var(--pf-gray-color-800);
206
+ --pf-pill-solid-soft-close: var(--pf-gray-color-800);
207
+ --pf-pill-solid-soft-close-hover: var(--pf-gray-color-550);
208
+ --pf-pill-solid-soft-close-hover-bg: var(--pf-opacity-white-200);
209
+ }
210
+
211
+ // ============================================================================
212
+ // OUTLINE - Dark Theme
213
+ // ============================================================================
214
+ :root [data-theme='dark'] {
215
+ // Outline / Red
216
+ --pf-pill-outline-red-bg: var(--pf-red-color-700);
217
+ --pf-pill-outline-red-text: var(--pf-red-color-300);
218
+ --pf-pill-outline-red-border: var(--pf-red-color-500);
219
+ --pf-pill-outline-red-dot: var(--pf-red-color-400);
220
+ --pf-pill-outline-red-icon: var(--pf-red-color-300);
221
+ --pf-pill-outline-red-close: var(--pf-red-color-500);
222
+ --pf-pill-outline-red-close-hover: var(--pf-red-color-450);
223
+ --pf-pill-outline-red-close-hover-bg: var(--pf-opacity-black-250);
224
+
225
+ // Outline / Purple
226
+ --pf-pill-outline-purple-bg: var(--pf-purple-color-700);
227
+ --pf-pill-outline-purple-text: var(--pf-purple-color-300);
228
+ --pf-pill-outline-purple-border: var(--pf-purple-color-450);
229
+ --pf-pill-outline-purple-dot: var(--pf-purple-color-400);
230
+ --pf-pill-outline-purple-icon: var(--pf-purple-color-300);
231
+ --pf-pill-outline-purple-close: var(--pf-purple-color-450);
232
+ --pf-pill-outline-purple-close-hover: var(--pf-purple-color-400);
233
+ --pf-pill-outline-purple-close-hover-bg: var(--pf-opacity-black-250);
234
+
235
+ // Outline / Yellow
236
+ --pf-pill-outline-yellow-bg: var(--pf-yellow-color-800);
237
+ --pf-pill-outline-yellow-text: var(--pf-yellow-color-300);
238
+ --pf-pill-outline-yellow-border: var(--pf-yellow-color-500);
239
+ --pf-pill-outline-yellow-dot: var(--pf-yellow-color-400);
240
+ --pf-pill-outline-yellow-icon: var(--pf-yellow-color-300);
241
+ --pf-pill-outline-yellow-close: var(--pf-yellow-color-500);
242
+ --pf-pill-outline-yellow-close-hover: var(--pf-yellow-color-450);
243
+ --pf-pill-outline-yellow-close-hover-bg: var(--pf-opacity-black-250);
244
+
245
+ // Outline / Blue
246
+ --pf-pill-outline-blue-bg: var(--pf-blue-color-700);
247
+ --pf-pill-outline-blue-text: var(--pf-blue-color-250);
248
+ --pf-pill-outline-blue-border: var(--pf-blue-color-500);
249
+ --pf-pill-outline-blue-dot: var(--pf-blue-color-400);
250
+ --pf-pill-outline-blue-icon: var(--pf-blue-color-250);
251
+ --pf-pill-outline-blue-close: var(--pf-blue-color-500);
252
+ --pf-pill-outline-blue-close-hover: var(--pf-blue-color-450);
253
+ --pf-pill-outline-blue-close-hover-bg: var(--pf-opacity-black-250);
254
+
255
+ // Outline / Green
256
+ --pf-pill-outline-green-bg: var(--pf-green-color-800);
257
+ --pf-pill-outline-green-text: var(--pf-green-color-300);
258
+ --pf-pill-outline-green-border: var(--pf-green-color-600);
259
+ --pf-pill-outline-green-dot: var(--pf-green-color-450);
260
+ --pf-pill-outline-green-icon: var(--pf-green-color-300);
261
+ --pf-pill-outline-green-close: var(--pf-green-color-600);
262
+ --pf-pill-outline-green-close-hover: var(--pf-green-color-500);
263
+ --pf-pill-outline-green-close-hover-bg: var(--pf-opacity-black-250);
264
+
265
+ // Outline / Gray
266
+ --pf-pill-outline-gray-bg: var(--pf-gray-color-800);
267
+ --pf-pill-outline-gray-text: var(--pf-gray-color-250);
268
+ --pf-pill-outline-gray-border: var(--pf-gray-color-550);
269
+ --pf-pill-outline-gray-dot: var(--pf-gray-color-400);
270
+ --pf-pill-outline-gray-icon: var(--pf-gray-color-250);
271
+ --pf-pill-outline-gray-close: var(--pf-gray-color-550);
272
+ --pf-pill-outline-gray-close-hover: var(--pf-gray-color-500);
273
+ --pf-pill-outline-gray-close-hover-bg: var(--pf-opacity-black-250);
274
+
275
+ // Outline / Pink
276
+ --pf-pill-outline-pink-bg: var(--pf-pink-color-800);
277
+ --pf-pill-outline-pink-text: var(--pf-pink-color-300);
278
+ --pf-pill-outline-pink-border: var(--pf-pink-color-500);
279
+ --pf-pill-outline-pink-dot: var(--pf-pink-color-400);
280
+ --pf-pill-outline-pink-icon: var(--pf-pink-color-300);
281
+ --pf-pill-outline-pink-close: var(--pf-pink-color-600);
282
+ --pf-pill-outline-pink-close-hover: var(--pf-pink-color-500);
283
+ --pf-pill-outline-pink-close-hover-bg: var(--pf-opacity-black-250);
284
+
285
+ // Outline / Orange
286
+ --pf-pill-outline-orange-bg: var(--pf-orange-color-700);
287
+ --pf-pill-outline-orange-text: var(--pf-orange-color-300);
288
+ --pf-pill-outline-orange-border: var(--pf-orange-color-500);
289
+ --pf-pill-outline-orange-dot: var(--pf-orange-color-400);
290
+ --pf-pill-outline-orange-icon: var(--pf-orange-color-300);
291
+ --pf-pill-outline-orange-close: var(--pf-orange-color-500);
292
+ --pf-pill-outline-orange-close-hover: var(--pf-orange-color-450);
293
+ --pf-pill-outline-orange-close-hover-bg: var(--pf-opacity-black-250);
294
+
295
+ // Outline / Teal
296
+ --pf-pill-outline-teal-bg: var(--pf-teal-color-700);
297
+ --pf-pill-outline-teal-text: var(--pf-teal-color-250);
298
+ --pf-pill-outline-teal-border: var(--pf-teal-color-550);
299
+ --pf-pill-outline-teal-dot: var(--pf-teal-color-450);
300
+ --pf-pill-outline-teal-icon: var(--pf-teal-color-250);
301
+ --pf-pill-outline-teal-close: var(--pf-teal-color-550);
302
+ --pf-pill-outline-teal-close-hover: var(--pf-teal-color-500);
303
+ --pf-pill-outline-teal-close-hover-bg: var(--pf-opacity-black-250);
304
+
305
+ // Outline / Soft
306
+ --pf-pill-outline-soft-bg: var(--pf-gray-color-800);
307
+ --pf-pill-outline-soft-text: var(--pf-gray-color-300);
308
+ --pf-pill-outline-soft-border: var(--pf-gray-color-600);
309
+ --pf-pill-outline-soft-dot: var(--pf-gray-color-450);
310
+ --pf-pill-outline-soft-icon: var(--pf-gray-color-350);
311
+ --pf-pill-outline-soft-close: var(--pf-gray-color-500);
312
+ --pf-pill-outline-soft-close-hover: var(--pf-gray-color-400);
313
+ --pf-pill-outline-soft-close-hover-bg: var(--pf-opacity-black-250);
314
+
315
+ // ============================================================================
316
+ // SOLID - Dark Theme
317
+ // ============================================================================
318
+
319
+ // Solid / Red
320
+ --pf-pill-solid-red-bg: var(--pf-red-color-450);
321
+ --pf-pill-solid-red-text: var(--pf-red-color-50);
322
+ --pf-pill-solid-red-dot: var(--pf-red-color-250);
323
+ --pf-pill-solid-red-icon: var(--pf-red-color-50);
324
+ --pf-pill-solid-red-close: var(--pf-red-color-300);
325
+ --pf-pill-solid-red-close-hover: var(--pf-red-color-300);
326
+ --pf-pill-solid-red-close-hover-bg: var(--pf-opacity-black-250);
327
+
328
+ // Solid / Purple
329
+ --pf-pill-solid-purple-bg: var(--pf-purple-color-450);
330
+ --pf-pill-solid-purple-text: var(--pf-purple-color-100);
331
+ --pf-pill-solid-purple-dot: var(--pf-purple-color-300);
332
+ --pf-pill-solid-purple-icon: var(--pf-purple-color-100);
333
+ --pf-pill-solid-purple-close: var(--pf-purple-color-300);
334
+ --pf-pill-solid-purple-close-hover: var(--pf-purple-color-300);
335
+ --pf-pill-solid-purple-close-hover-bg: var(--pf-opacity-black-250);
336
+
337
+ // Solid / Yellow
338
+ --pf-pill-solid-yellow-bg: var(--pf-yellow-color-550);
339
+ --pf-pill-solid-yellow-text: var(--pf-gray-color-50);
340
+ --pf-pill-solid-yellow-dot: var(--pf-yellow-color-300);
341
+ --pf-pill-solid-yellow-icon: var(--pf-yellow-color-50);
342
+ --pf-pill-solid-yellow-close: var(--pf-yellow-color-400);
343
+ --pf-pill-solid-yellow-close-hover: var(--pf-yellow-color-450);
344
+ --pf-pill-solid-yellow-close-hover-bg: var(--pf-opacity-black-250);
345
+
346
+ // Solid / Blue
347
+ --pf-pill-solid-blue-bg: var(--pf-secondary-color-500);
348
+ --pf-pill-solid-blue-text: var(--pf-secondary-color-50);
349
+ --pf-pill-solid-blue-dot: var(--pf-secondary-color-300);
350
+ --pf-pill-solid-blue-icon: var(--pf-secondary-color-50);
351
+ --pf-pill-solid-blue-close: var(--pf-secondary-color-300);
352
+ --pf-pill-solid-blue-close-hover: var(--pf-secondary-color-400);
353
+ --pf-pill-solid-blue-close-hover-bg: var(--pf-opacity-black-250);
354
+
355
+ // Solid / Green
356
+ --pf-pill-solid-green-bg: var(--pf-green-color-600);
357
+ --pf-pill-solid-green-text: var(--pf-green-color-100);
358
+ --pf-pill-solid-green-dot: var(--pf-green-color-450);
359
+ --pf-pill-solid-green-icon: var(--pf-green-color-100);
360
+ --pf-pill-solid-green-close: var(--pf-green-color-300);
361
+ --pf-pill-solid-green-close-hover: var(--pf-green-color-400);
362
+ --pf-pill-solid-green-close-hover-bg: var(--pf-opacity-black-250);
363
+
364
+ // Solid / Gray
365
+ --pf-pill-solid-gray-bg: var(--pf-gray-color-700);
366
+ --pf-pill-solid-gray-text: var(--pf-gray-color-50);
367
+ --pf-pill-solid-gray-dot: var(--pf-gray-color-400);
368
+ --pf-pill-solid-gray-icon: var(--pf-gray-color-50);
369
+ --pf-pill-solid-gray-close: var(--pf-gray-color-500);
370
+ --pf-pill-solid-gray-close-hover: var(--pf-gray-color-550);
371
+ --pf-pill-solid-gray-close-hover-bg: var(--pf-opacity-black-250);
372
+
373
+ // Solid / Pink
374
+ --pf-pill-solid-pink-bg: var(--pf-pink-color-450);
375
+ --pf-pill-solid-pink-text: var(--pf-pink-color-150);
376
+ --pf-pill-solid-pink-dot: var(--pf-pink-color-300);
377
+ --pf-pill-solid-pink-icon: var(--pf-pink-color-150);
378
+ --pf-pill-solid-pink-close: var(--pf-pink-color-300);
379
+ --pf-pill-solid-pink-close-hover: var(--pf-pink-color-300);
380
+ --pf-pill-solid-pink-close-hover-bg: var(--pf-opacity-black-300);
381
+
382
+ // Solid / Orange
383
+ --pf-pill-solid-orange-bg: var(--pf-orange-color-450);
384
+ --pf-pill-solid-orange-text: var(--pf-orange-color-50);
385
+ --pf-pill-solid-orange-dot: var(--pf-orange-color-300);
386
+ --pf-pill-solid-orange-icon: var(--pf-orange-color-50);
387
+ --pf-pill-solid-orange-close: var(--pf-orange-color-300);
388
+ --pf-pill-solid-orange-close-hover: var(--pf-orange-color-300);
389
+ --pf-pill-solid-orange-close-hover-bg: var(--pf-opacity-black-250);
390
+
391
+ // Solid / Teal
392
+ --pf-pill-solid-teal-bg: var(--pf-teal-color-550);
393
+ --pf-pill-solid-teal-text: var(--pf-teal-color-100);
394
+ --pf-pill-solid-teal-dot: var(--pf-teal-color-300);
395
+ --pf-pill-solid-teal-icon: var(--pf-teal-color-100);
396
+ --pf-pill-solid-teal-close: var(--pf-teal-color-400);
397
+ --pf-pill-solid-teal-close-hover: var(--pf-teal-color-450);
398
+ --pf-pill-solid-teal-close-hover-bg: var(--pf-opacity-black-250);
399
+
400
+ // Solid / Soft
401
+ --pf-pill-solid-soft-bg: var(--pf-gray-color-700);
402
+ --pf-pill-solid-soft-text: var(--pf-gray-color-200);
403
+ --pf-pill-solid-soft-dot: var(--pf-gray-color-450);
404
+ --pf-pill-solid-soft-icon: var(--pf-gray-color-250);
405
+ --pf-pill-solid-soft-close: var(--pf-gray-color-450);
406
+ --pf-pill-solid-soft-close-hover: var(--pf-gray-color-400);
407
+ --pf-pill-solid-soft-close-hover-bg: var(--pf-opacity-black-250);
408
+ }
@@ -1,20 +1,32 @@
1
1
  import { type ChromaticColor } from '../../types';
2
+ import { type IconName } from '../icons/types';
2
3
 
3
4
  import type React from 'react';
4
5
 
5
-
6
6
  export type PillSize = 'sm' | 'md' | 'lg';
7
- export type PillColor = ChromaticColor;
8
- export type PillShade = 1 | 2 | 3 | 4 | 5;
7
+ export type PillColor = ChromaticColor | 'soft';
8
+ export type PillVariant = 'solid' | 'outline';
9
+ export type PillType = 'pill' | 'badge';
9
10
 
10
- export interface PillProps {
11
+ export interface PillProps extends React.HTMLAttributes<HTMLDivElement> {
11
12
  /** The content displayed inside the pill */
12
- children: React.ReactNode | React.ReactNode[];
13
- /** Applies a CSS class to change the style of the pill */
13
+ children?: React.ReactNode;
14
+ /** The color scheme, maps to component token color groups */
14
15
  color?: PillColor;
15
- /** Applies a CSS class to change the size of the pill */
16
+ /** Controls the overall size (padding + font size) */
16
17
  size?: PillSize;
17
- /** Applies a CSS class to change the shade of the pill */
18
- shade?: PillShade;
19
- className?: string;
18
+ /** Solid (filled) or outline (bordered) appearance */
19
+ variant?: PillVariant;
20
+ /** Badge has a small border-radius; pill is fully rounded */
21
+ type?: PillType;
22
+ /** Optional left icon (pass an IconName string, sizing is automatic) */
23
+ iconLeft?: IconName;
24
+ /** Optional right icon (pass an IconName string, sizing is automatic) */
25
+ iconRight?: IconName;
26
+ /** When true, renders a small colored dot indicator before the content */
27
+ dot?: boolean;
28
+ /** When provided, renders a close button that calls this handler */
29
+ onClose?: () => void;
30
+ /** Accessible label for the close button (for i18n) */
31
+ closeAriaLabel?: string;
20
32
  }
@@ -3,6 +3,7 @@
3
3
  @import 'variables/index.scss';
4
4
  @import 'primitives/index.scss';
5
5
  @import 'tokens/semantic-tokens';
6
+
6
7
  @import 'utilities';
7
8
  @import 'typography';
8
9
  @import 'colors';
@@ -33,6 +34,7 @@
33
34
  @import '../components/modal/styles/Modal.scss';
34
35
  @import '../components/pagination/styles/Pagination.scss';
35
36
  @import '../components/tanstackTable/styles/table.scss';
37
+ @import '../components/pill/styles/tokens';
36
38
  @import '../components/pill/styles/Pill.scss';
37
39
  @import '../components/loading-indicators/BarSpinner/styles/BarSpinner.scss';
38
40
  @import '../components/loading-indicators/CirclePulse/CirclePulse.scss';
@@ -96,21 +96,21 @@
96
96
  --pf-yellow-color-800: #322c1b;
97
97
  --pf-yellow-color-900: #1b160e;
98
98
 
99
- --pf-green-color: #14b869;
99
+ --pf-green-color: #14b866;
100
100
  --pf-green-color-50: #f7fdfa;
101
101
  --pf-green-color-100: #effbf5;
102
102
  --pf-green-color-150: #e7f9f0;
103
103
  --pf-green-color-200: #def7eb;
104
104
  --pf-green-color-250: #c2f4db;
105
- --pf-green-color-300: #a8f0cd;
106
- --pf-green-color-400: #3eea97;
107
- --pf-green-color-450: #18dc7e;
108
- --pf-green-color-500: #14b869;
105
+ --pf-green-color-300: #97edc2;
106
+ --pf-green-color-400: #44e494;
107
+ --pf-green-color-450: #1cd97a;
108
+ --pf-green-color-500: #14b866;
109
109
  --pf-green-color-550: #129e45;
110
- --pf-green-color-600: #17824e;
111
- --pf-green-color-700: #175e3c;
112
- --pf-green-color-800: #173627;
113
- --pf-green-color-900: #0e1b15;
110
+ --pf-green-color-600: #14804a;
111
+ --pf-green-color-700: #175e3b;
112
+ --pf-green-color-800: #173626;
113
+ --pf-green-color-900: #0e1b14;
114
114
 
115
115
  --pf-teal-color: #29a3a3;
116
116
  --pf-teal-color-50: #f6fdfd;
@@ -188,6 +188,7 @@
188
188
  --pf-primary-color-500: #50647c;
189
189
  --pf-primary-color-550: #455066;
190
190
  --pf-primary-color-600: #243447;
191
+ --pf-primary-color-650: #1f2a37;
191
192
  --pf-primary-color-700: #192534;
192
193
  --pf-primary-color-800: #111b28;
193
194
  --pf-primary-color-900: #0c141d;
@@ -221,6 +222,7 @@
221
222
  --pf-tertiary-color-550: #5f6a85;
222
223
  --pf-tertiary-color-600: #58637b;
223
224
  --pf-tertiary-color-700: #4b5364;
225
+ --pf-tertiary-color-750: #373f51;
224
226
  --pf-tertiary-color-800: #2c303a;
225
227
  --pf-tertiary-color-900: #111317;
226
228
  }
@@ -46,16 +46,19 @@
46
46
  --pf-semantic-background-secondary: var(--pf-gray-color-50);
47
47
  --pf-semantic-background-tertiary: var(--pf-gray-color-200);
48
48
  --pf-semantic-background-quaternary: var(--pf-gray-color-250);
49
+ --pf-semantic-background-soft: var(--pf-gray-color-250);
49
50
  --pf-semantic-background-accent: var(--pf-secondary-color-200);
50
51
  --pf-semantic-background-highlight: var(--pf-blue-color-250);
51
52
  --pf-semantic-background-brand-solid: var(--pf-blue-color-500);
52
53
  --pf-semantic-background-brand-hover: var(--pf-blue-color-600);
53
54
  --pf-semantic-background-inverted: var(--pf-tertiary-color-900);
55
+ --pf-semantic-background-contrast: var(--pf-secondary-color-150);
54
56
 
55
57
  // Border
56
58
  --pf-semantic-border-primary: var(--pf-gray-color-300);
57
59
  --pf-semantic-border-secondary: var(--pf-gray-color-250);
58
- --pf-semantic-border-hover: var(--pf-gray-color-400);
60
+ --pf-semantic-border-tertiary: var(--pf-gray-color-200);
61
+ --pf-semantic-border-quaternary: var(--pf-gray-color-400);
59
62
  --pf-semantic-border-soft: var(--pf-secondary-color-450);
60
63
  --pf-semantic-border-accent: var(--pf-blue-color-450);
61
64
  --pf-semantic-border-error: var(--pf-red-color-450);
@@ -129,16 +132,19 @@
129
132
  --pf-semantic-background-secondary: var(--pf-primary-color-800);
130
133
  --pf-semantic-background-tertiary: var(--pf-primary-color-600);
131
134
  --pf-semantic-background-quaternary: var(--pf-primary-color-500);
135
+ --pf-semantic-background-soft: var(--pf-tertiary-color-750);
132
136
  --pf-semantic-background-accent: var(--pf-blue-color-800);
133
137
  --pf-semantic-background-highlight: var(--pf-blue-color-700);
134
138
  --pf-semantic-background-brand-solid: var(--pf-secondary-color-450);
135
139
  --pf-semantic-background-brand-hover: var(--pf-secondary-color-600);
136
- --pf-semantic-background-inverted: var(--pf-tertiary-color-100);
140
+ --pf-semantic-background-inverted: var(--pf-tertiary-color-50);
141
+ --pf-semantic-background-contrast: var(--pf-primary-color-650);
137
142
 
138
143
  // Border
139
144
  --pf-semantic-border-primary: var(--pf-tertiary-color-700);
140
145
  --pf-semantic-border-secondary: var(--pf-primary-color-600);
141
- --pf-semantic-border-hover: var(--pf-tertiary-color-600);
146
+ --pf-semantic-border-tertiary: var(--pf-tertiary-color-750);
147
+ --pf-semantic-border-quaternary: var(--pf-tertiary-color-600);
142
148
  --pf-semantic-border-soft: var(--pf-secondary-color-600);
143
149
  --pf-semantic-border-accent: var(--pf-secondary-color-400);
144
150
  --pf-semantic-border-error: var(--pf-red-color-450);
package/src/types.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import { type SelectOption } from './components/forms/select/types';
2
2
  import { type IconSizes, type IconName } from './components/icons/types';
3
- import { type PillColor, type PillSize } from './components/pill/types';
3
+ import {
4
+ type PillColor,
5
+ type PillSize,
6
+ type PillVariant,
7
+ type PillType,
8
+ } from './components/pill/types';
4
9
  import {
5
10
  type TableProps,
6
11
  type TableColumn,
@@ -34,4 +39,4 @@ export type SemanticColor = 'neutral' | 'info' | 'warning' | 'error' | 'success'
34
39
 
35
40
  export type { SelectOption };
36
41
  export type { TableProps, TableColumn, Direction, Alignment };
37
- export type { PillColor, PillSize };
42
+ export type { PillColor, PillSize, PillVariant, PillType };