@charcoal-ui/react 6.1.0-beta.3 → 6.1.0-beta.5

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 (33) hide show
  1. package/dist/_lib/compat.d.ts +4 -3
  2. package/dist/_lib/compat.d.ts.map +1 -1
  3. package/dist/components/Notification/Snackbar/index.d.ts +5 -1
  4. package/dist/components/Notification/Snackbar/index.d.ts.map +1 -1
  5. package/dist/components/Notification/Snackbar/index2.cjs +13 -11
  6. package/dist/components/Notification/Snackbar/index2.cjs.map +1 -1
  7. package/dist/components/Notification/Snackbar/index2.js +14 -12
  8. package/dist/components/Notification/Snackbar/index2.js.map +1 -1
  9. package/dist/components/Notification/Toast/index2.js +20 -16
  10. package/dist/components/Notification/Toast/index2.js.map +1 -1
  11. package/dist/components/Notification/useNotificationQueue.cjs +11 -14
  12. package/dist/components/Notification/useNotificationQueue.cjs.map +1 -1
  13. package/dist/components/Notification/useNotificationQueue.d.ts +3 -4
  14. package/dist/components/Notification/useNotificationQueue.d.ts.map +1 -1
  15. package/dist/components/Notification/useNotificationQueue.js +11 -14
  16. package/dist/components/Notification/useNotificationQueue.js.map +1 -1
  17. package/dist/components/Pagination/index2.js +60 -52
  18. package/dist/components/Pagination/index2.js.map +1 -1
  19. package/dist/index.css +1322 -1323
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/layered.css +1322 -1323
  23. package/dist/layered.css.map +1 -1
  24. package/package.json +5 -5
  25. package/src/_lib/compat.ts +4 -3
  26. package/src/components/Carousel/__snapshots__/index.css.snap +4 -4
  27. package/src/components/Carousel/index.css +4 -4
  28. package/src/components/Notification/Snackbar/index.test.tsx +46 -9
  29. package/src/components/Notification/Snackbar/index.tsx +21 -6
  30. package/src/components/Notification/useNotificationQueue.ts +16 -26
  31. package/src/components/Pagination/__snapshots__/index.css.snap +0 -1
  32. package/src/components/Pagination/index.css +0 -1
  33. package/src/index.ts +1 -0
package/dist/index.css CHANGED
@@ -6,602 +6,307 @@
6
6
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
7
7
  transition: 0.2s box-shadow;
8
8
  }
9
- .charcoal-button {
10
- -webkit-appearance: none;
11
- -moz-appearance: none;
12
- appearance: none;
13
- background-image: none;
14
- box-sizing: border-box;
15
- padding: 0 24px;
16
- border-style: none;
17
- outline: none;
18
- text-rendering: inherit;
19
- letter-spacing: inherit;
20
- word-spacing: inherit;
21
- text-decoration: none;
22
- font-family: inherit;
23
- font-style: inherit;
24
- font-variant: inherit;
25
- margin: 0;
26
- overflow: visible;
27
- text-transform: none;
28
- width: -moz-min-content;
29
- width: min-content;
30
- display: inline-grid;
31
- align-items: center;
32
- justify-content: center;
9
+ .charcoal-checkbox__label {
10
+ position: relative;
33
11
  cursor: pointer;
34
- -webkit-user-select: none;
35
- -moz-user-select: none;
36
- user-select: none;
37
- white-space: nowrap;
38
- border-radius: 999999px;
39
- font-size: 14px;
40
- line-height: 22px;
41
- font-weight: bold;
42
- color: var(--charcoal-color-text-default);
43
- background-color: var(
44
- --charcoal-color-container-secondary-default-a,
45
- transparent
46
- );
47
- transition:
48
- 0.2s color,
49
- 0.2s background-color,
50
- 0.2s box-shadow;
51
- height: 40px;
12
+ display: flex;
13
+ gap: 4px;
52
14
  }
53
15
 
54
- .charcoal-button:disabled,
55
- .charcoal-button[aria-disabled]:not([aria-disabled='false']) {
16
+ .charcoal-checkbox__label[aria-disabled='true'] {
56
17
  cursor: default;
57
18
  opacity: 0.32;
58
19
  }
59
20
 
60
- .charcoal-button:not(:disabled):not([aria-disabled]):focus-visible,
61
- .charcoal-button[aria-disabled='false']:focus-visible {
62
- outline: none;
63
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
64
- }
65
-
66
- .charcoal-button:not(:disabled):not([aria-disabled]):hover,
67
- .charcoal-button[aria-disabled='false']:hover {
68
- color: var(--charcoal-color-text-hover);
69
- background-color: var(--charcoal-color-container-secondary-hover-a);
70
- }
71
-
72
- .charcoal-button:not(:disabled):not([aria-disabled]):active,
73
- .charcoal-button[aria-disabled='false']:active,
74
- .charcoal-button[data-active='true'] {
75
- color: var(--charcoal-color-text-press);
76
- background-color: var(--charcoal-color-container-secondary-press-a);
77
- }
78
-
79
- .charcoal-button[data-variant='Primary'] {
80
- color: var(--charcoal-color-text-on-primary-default);
81
- background-color: var(--charcoal-color-container-primary-default);
82
- }
83
-
84
- .charcoal-button[data-variant='Primary']:hover:not(:disabled):not([aria-disabled]),
85
- .charcoal-button[data-variant='Primary']:hover[aria-disabled='false'] {
86
- color: var(--charcoal-color-text-on-primary-hover);
87
- background-color: var(--charcoal-color-container-primary-hover);
88
- }
89
-
90
- .charcoal-button[data-variant='Primary']:active:not(:disabled):not([aria-disabled]),
91
- .charcoal-button[data-variant='Primary']:active[aria-disabled='false'],
92
- .charcoal-button[data-variant='Primary'][data-active='true'] {
93
- color: var(--charcoal-color-text-on-primary-press);
94
- background-color: var(--charcoal-color-container-primary-press);
95
- }
96
-
97
- .charcoal-button[data-variant='Overlay'] {
98
- color: var(--charcoal-color-text-on-on-img-default);
99
- background-color: var(--charcoal-color-container-on-img-default);
100
- }
101
-
102
- .charcoal-button[data-variant='Overlay']:hover:not(:disabled):not([aria-disabled]),
103
- .charcoal-button[data-variant='Overlay']:hover[aria-disabled='false'] {
104
- color: var(--charcoal-color-text-on-on-img-hover);
105
- background-color: var(--charcoal-color-container-on-img-hover);
106
- }
107
-
108
- .charcoal-button[data-variant='Overlay']:active:not(:disabled):not([aria-disabled]),
109
- .charcoal-button[data-variant='Overlay']:active[aria-disabled='false'],
110
- .charcoal-button[data-variant='Overlay'][data-active='true'] {
111
- color: var(--charcoal-color-text-on-on-img-press);
112
- background-color: var(--charcoal-color-container-on-img-press);
113
- }
114
-
115
- .charcoal-button[data-variant='Navigation'] {
116
- color: var(--charcoal-color-text-on-hud-default);
117
- background-color: var(--charcoal-color-container-hud-default);
118
- }
119
-
120
- .charcoal-button[data-variant='Navigation']:hover:not(:disabled):not([aria-disabled]),
121
- .charcoal-button[data-variant='Navigation']:hover[aria-disabled='false'] {
122
- color: var(--charcoal-color-text-on-hud-hover);
123
- background-color: var(--charcoal-color-container-hud-hover);
124
- }
125
-
126
- .charcoal-button[data-variant='Navigation']:active:not(:disabled):not([aria-disabled]),
127
- .charcoal-button[data-variant='Navigation']:active[aria-disabled='false'],
128
- .charcoal-button[data-variant='Navigation'][data-active='true'] {
129
- color: var(--charcoal-color-text-on-hud-press);
130
- background-color: var(--charcoal-color-container-hud-press);
131
- }
132
-
133
- .charcoal-button[data-variant='Danger'] {
134
- color: var(--charcoal-color-text-on-negative-default);
135
- background-color: var(--charcoal-color-container-negative-default);
136
- }
137
-
138
- .charcoal-button[data-variant='Danger']:hover:not(:disabled):not([aria-disabled]),
139
- .charcoal-button[data-variant='Danger']:hover[aria-disabled='false'] {
140
- color: var(--charcoal-color-text-on-negative-hover);
141
- background-color: var(--charcoal-color-container-negative-hover);
142
- }
143
-
144
- .charcoal-button[data-variant='Danger']:active:not(:disabled):not([aria-disabled]),
145
- .charcoal-button[data-variant='Danger']:active[aria-disabled='false'],
146
- .charcoal-button[data-variant='Danger'][data-active='true'] {
147
- color: var(--charcoal-color-text-on-negative-press);
148
- background-color: var(--charcoal-color-container-negative-press);
21
+ .charcoal-checkbox__label[aria-disabled='true'] > input {
22
+ opacity: 1;
149
23
  }
150
24
 
151
- .charcoal-button[data-size='S'] {
152
- padding: 0 16px;
153
- height: 32px;
154
- }
155
-
156
- .charcoal-button[data-full-width='true'] {
157
- width: 100%;
158
- }
159
- .charcoal-clickable {
160
- cursor: pointer;
161
-
162
- /* Reset button appearance */
163
- -webkit-appearance: none;
164
- -moz-appearance: none;
165
- appearance: none;
166
- background: transparent;
167
- padding: 0;
168
- border-style: none;
169
- outline: none;
170
- color: inherit;
171
- text-rendering: inherit;
172
- letter-spacing: inherit;
173
- word-spacing: inherit;
174
- text-decoration: none;
175
-
176
- /* Change the font styles in all browsers. */
177
- font: inherit;
178
-
179
- /* Remove the margin in Firefox and Safari. */
180
- margin: 0;
181
-
182
- /* Show the overflow in Edge. */
183
- overflow: visible;
184
-
185
- /* Remove the inheritance of text transform in Firefox. */
186
- text-transform: none;
187
- }
188
-
189
- .charcoal-clickable:disabled,
190
- .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
191
- cursor: default;
192
- }
193
-
194
- .charcoal-clickable:focus {
195
- outline: none;
196
- }
197
-
198
- .charcoal-clickable::-moz-focus-inner {
199
- border-style: none;
200
- padding: 0;
201
- }
202
- .charcoal-radio__label {
203
- display: grid;
204
- grid-template-columns: auto 1fr;
205
- grid-gap: 4px;
206
- align-items: center;
207
- cursor: pointer;
208
- }
209
-
210
- .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
211
- opacity: 0.32;
212
- cursor: default;
213
- }
214
-
215
- .charcoal-radio__label_div {
216
- font-size: 14px;
217
- line-height: 22px;
25
+ .charcoal-checkbox__label_div {
26
+ flex: 1;
218
27
  color: var(--charcoal-color-text-default);
28
+ font-size: 14px;
29
+ line-height: 20px;
219
30
  }
220
- .charcoal-icon-button {
221
- cursor: pointer;
222
- -webkit-appearance: none;
223
- -moz-appearance: none;
224
- appearance: none;
225
- background: transparent;
226
- padding: 0;
227
- border-style: none;
228
- outline: none;
229
- color: inherit;
230
- text-rendering: inherit;
231
- letter-spacing: inherit;
232
- word-spacing: inherit;
233
- text-decoration: none;
234
- font: inherit;
235
- margin: 0;
236
- overflow: visible;
237
- text-transform: none;
238
-
239
- -webkit-user-select: none;
240
-
241
- -moz-user-select: none;
242
-
243
- user-select: none;
244
- display: flex;
31
+ .charcoal-segmented-control {
32
+ display: inline-flex;
245
33
  align-items: center;
246
- justify-content: center;
247
- border-radius: 999999px;
248
- transition:
249
- 0.2s background-color,
250
- 0.2s box-shadow;
251
- }
252
-
253
- .charcoal-icon-button:disabled,
254
- .charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {
255
- cursor: default;
256
- opacity: 0.32;
257
- }
258
-
259
- .charcoal-icon-button:focus {
260
- outline: none;
261
- }
262
-
263
- .charcoal-icon-button::-moz-focus-inner {
264
- border-style: none;
265
- padding: 0;
266
- }
267
-
268
- .charcoal-icon-button[data-size='XS'] {
269
- width: 20px;
270
- height: 20px;
271
- }
272
-
273
- .charcoal-icon-button[data-size='S'] {
274
- width: 32px;
275
- height: 32px;
276
- }
277
-
278
- .charcoal-icon-button[data-size='M'] {
279
- width: 40px;
280
- height: 40px;
281
- }
282
-
283
- .charcoal-icon-button[data-variant='Default'] {
284
- color: var(--charcoal-color-icon-tertiary-default);
285
- background-color: transparent;
286
- }
287
-
288
- .charcoal-icon-button[data-variant='Default'][data-active='true']:not(:disabled):not([aria-disabled]),
289
- .charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {
290
- color: var(--charcoal-color-icon-tertiary-press);
291
- background-color: var(--charcoal-color-container-press-a);
292
- }
293
-
294
- .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
295
- .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {
296
- color: var(--charcoal-color-icon-tertiary-hover);
297
- background-color: var(--charcoal-color-container-hover-a);
298
- }
299
34
 
300
- .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):active,
301
- .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {
302
- color: var(--charcoal-color-icon-tertiary-press);
303
- background-color: var(--charcoal-color-container-press-a);
304
- }
305
-
306
- .charcoal-icon-button[data-variant='Overlay'] {
307
- color: var(--charcoal-color-icon-on-on-img-default);
308
- background-color: var(--charcoal-color-container-on-img-default);
309
- }
310
-
311
- .charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(:disabled):not([aria-disabled]),
312
- .charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {
313
- color: var(--charcoal-color-icon-on-on-img-press);
314
- background-color: var(--charcoal-color-container-on-img-press);
315
- }
316
-
317
- .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
318
- .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {
319
- color: var(--charcoal-color-icon-on-on-img-hover);
320
- background-color: var(--charcoal-color-container-on-img-hover);
321
- }
322
-
323
- .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):active,
324
- .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {
325
- color: var(--charcoal-color-icon-on-on-img-press);
326
- background-color: var(--charcoal-color-container-on-img-press);
327
- }
35
+ background-color: var(--charcoal-color-container-secondary-default-a);
36
+ border-radius: 16px;
37
+ }
328
38
 
329
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,
330
- .charcoal-icon-button[aria-disabled='false']:focus {
331
- outline: none;
332
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
39
+ .charcoal-segmented-control[data-uniform-segment-width='true'],
40
+ .charcoal-segmented-control[data-full-width='true'] {
41
+ display: inline-grid;
42
+ grid-auto-columns: minmax(80px, 1fr);
43
+ grid-auto-rows: 32px;
44
+ grid-auto-flow: column;
333
45
  }
334
46
 
335
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,
336
- .charcoal-icon-button[aria-disabled='false']:focus-visible {
337
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
47
+ .charcoal-segmented-control[data-full-width='true'] {
48
+ width: 100%;
338
49
  }
339
50
 
340
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
341
- .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
342
- box-shadow: none;
343
- }
344
- .charcoal-radio-group {
345
- display: grid;
346
- grid-template-columns: 1fr;
347
- grid-gap: 8px;
348
- }
349
- .charcoal-multi-select {
350
- display: grid;
351
- grid-template-columns: auto 1fr;
352
- align-items: center;
51
+ .charcoal-segmented-control-radio__label {
353
52
  position: relative;
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
354
56
  cursor: pointer;
355
- gap: 4px;
356
- }
57
+ height: 32px;
357
58
 
358
- .charcoal-multi-select:disabled,
359
- .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
360
- opacity: 0.32;
361
- cursor: default;
362
- }
59
+ padding-right: 16px;
60
+ padding-left: 16px;
61
+ border-radius: 16px;
62
+ color: var(--charcoal-color-text-secondary-default);
363
63
 
364
- .charcoal-multi-select-label {
365
- display: flow-root;
366
- align-items: center;
367
64
  font-size: 14px;
368
65
  line-height: 22px;
369
- color: var(--charcoal-color-text-default);
370
66
  }
371
67
 
372
- .charcoal-multi-select-label::before {
373
- display: block;
374
- width: 0;
375
- height: 0;
376
- content: '';
377
- margin-top: -4px;
68
+ .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
69
+ cursor: default;
70
+ opacity: 0.32;
378
71
  }
379
72
 
380
- .charcoal-multi-select-label::after {
381
- display: block;
382
- width: 0;
383
- height: 0;
384
- content: '';
385
- margin-bottom: -4px;
73
+ .charcoal-segmented-control-radio__label[data-checked='true'] {
74
+ background-color: var(--charcoal-color-container-primary-default);
75
+ color: var(--charcoal-color-text-on-primary-default);
386
76
  }
387
77
 
388
- .charcoal-multi-select-input[type='checkbox'] {
78
+ .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
79
+ .charcoal-segmented-control-radio__label[data-full-width='true'] {
80
+ justify-content: center;
81
+ white-space: nowrap;
82
+ }
83
+
84
+ .charcoal-segmented-control-radio__input {
85
+ position: absolute;
86
+
87
+ height: 0px;
88
+ width: 0px;
89
+ padding: 0;
90
+ margin: 0;
91
+
389
92
  -webkit-appearance: none;
93
+
390
94
  -moz-appearance: none;
95
+
391
96
  appearance: none;
97
+ box-sizing: border-box;
98
+ overflow: hidden;
99
+ white-space: nowrap;
100
+ opacity: 0;
101
+ }
102
+ .charcoal-menu-item-group {
392
103
  display: block;
393
- width: 20px;
394
- height: 20px;
395
- margin: 0;
396
- background-color: var(--charcoal-color-container-neutral-default);
397
- border-radius: 999999px;
398
- transition:
399
- 0.2s background-color,
400
- 0.2s box-shadow;
401
104
  }
402
105
 
403
- .charcoal-multi-select-input[type='checkbox']:checked {
404
- background-color: var(--charcoal-color-container-primary-default);
405
- }
106
+ .charcoal-menu-item-group > span {
107
+ display: block;
108
+ color: var(--charcoal-color-text-tertiary-default);
109
+ font-size: 12px;
110
+ font-weight: bold;
111
+ padding: 12px 0 8px 16px;
112
+ }
406
113
 
407
- .charcoal-multi-select-input[type='checkbox']:focus {
408
- outline: none;
409
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
410
- }
114
+ .charcoal-menu-item-group > ul {
115
+ padding-left: 0;
116
+ margin: 0;
117
+ box-sizing: border-box;
118
+ list-style: none;
119
+ overflow: hidden;
120
+ }
121
+ .charcoal-hint-text {
122
+ background-color: var(--charcoal-color-container-secondary-default);
123
+ border-radius: 8px;
124
+ padding: 12px 16px;
125
+ display: flex;
126
+ align-items: flex-start;
127
+ }
411
128
 
412
- .charcoal-multi-select-input[type='checkbox']:focus-visible {
413
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
129
+ .charcoal-hint-text[data-context='page'] {
130
+ justify-content: center;
414
131
  }
415
132
 
416
- .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
417
- box-shadow: none;
418
- }
133
+ @media (min-width: 744px) {
419
134
 
420
- .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
421
- .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
422
- background-color: var(--charcoal-color-container-neutral-hover);
135
+ .charcoal-hint-text[data-context='page'] {
136
+ padding: 20px 40px
423
137
  }
138
+ }
424
139
 
425
- .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
426
- .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
427
- background-color: var(--charcoal-color-container-neutral-press);
428
- }
140
+ .charcoal-hint-text-icon {
141
+ display: flex;
142
+ align-items: center;
143
+ color: var(--charcoal-color-icon-tertiary-default);
144
+ height: 22px;
145
+ margin: 0 4px 0 0;
146
+ }
429
147
 
430
- .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
431
- .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
432
- background-color: var(--charcoal-color-container-primary-hover);
433
- }
148
+ .charcoal-hint-text-message {
149
+ color: var(--charcoal-color-text-secondary-default);
150
+ font-size: 14px;
151
+ line-height: 22px;
152
+ display: flow-root;
153
+ margin: 0;
154
+ min-width: 0;
155
+ overflow-wrap: break-word;
156
+ }
157
+ .charcoal-tag-item {
158
+ --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
159
+ --charcoal-tag-item-size: 40px;
160
+ --charcoal-tag-item-padding-left: 24px;
161
+ --charcoal-tag-item-padding-right: 24px;
162
+ --charcoal-tag-item-bg: ;
434
163
 
435
- .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
436
- .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
437
- background-color: var(--charcoal-color-container-primary-press);
438
- }
164
+ isolation: isolate;
165
+ position: relative;
439
166
 
440
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
441
- [aria-disabled]
442
- ) {
443
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
444
- }
167
+ -webkit-appearance: none;
445
168
 
446
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
447
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
448
- }
169
+ -moz-appearance: none;
449
170
 
450
- .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
451
- background-color: var(--charcoal-color-container-on-img-default);
452
- }
171
+ appearance: none;
172
+ outline: none;
173
+ border-style: none;
453
174
 
454
- .charcoal-multi-select-overlay {
455
- position: absolute;
456
- top: -2px;
457
- left: -2px;
458
- box-sizing: border-box;
459
- display: flex;
175
+ display: inline-flex;
176
+ gap: 8px;
460
177
  align-items: center;
461
178
  justify-content: center;
462
- width: 24px;
463
- height: 24px;
464
- border-radius: 999999px;
465
- color: var(--charcoal-color-icon-on-primary-default);
466
- transition: 0.2s box-shadow;
467
- }
468
179
 
469
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
470
- [aria-disabled]
471
- ) {
472
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
473
- }
180
+ text-decoration: none;
181
+ cursor: pointer;
182
+ overflow: hidden;
474
183
 
475
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
476
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
477
- }
184
+ color: var(--charcoal-tag-item-color);
185
+ height: var(--charcoal-tag-item-size);
186
+ padding-top: 4px;
187
+ padding-bottom: 4px;
188
+ padding-left: var(--charcoal-tag-item-padding-left);
189
+ padding-right: var(--charcoal-tag-item-padding-right);
190
+ box-sizing: border-box;
191
+ border-radius: 4px;
478
192
 
479
- .charcoal-multi-select-overlay[data-overlay='true'] {
480
- border-color: var(--charcoal-color-border-hud);
481
- border-width: 2px;
482
- border-style: solid;
483
- }
484
- .charcoal-switch__label {
485
- display: inline-grid;
486
- grid-template-columns: auto 1fr;
487
- align-items: center;
488
- cursor: pointer;
489
- outline: 0;
490
- gap: 4px;
193
+ transition: 0.2s box-shadow;
491
194
  }
492
195
 
493
- .charcoal-switch__label[aria-disabled='true'] {
494
- opacity: 0.32;
495
- cursor: default;
196
+ .charcoal-tag-item[data-size='M'] {
197
+ --charcoal-tag-item-size: 40px;
198
+ --charcoal-tag-item-padding-left: 24px;
199
+ --charcoal-tag-item-padding-right: 24px;
496
200
  }
497
201
 
498
- .charcoal-switch__label[aria-disabled='true'] > input {
499
- opacity: 1;
500
- }
501
-
502
- .charcoal-switch__label_div {
503
- font-size: 14px;
504
- line-height: 22px;
505
- color: var(--charcoal-color-text-default);
506
- }
507
- .charcoal-text-field-root {
508
- display: grid;
509
- grid-template-columns: 1fr;
510
- grid-gap: 4px;
511
- }
512
-
513
- .charcoal-text-field-root[aria-disabled='true'] {
514
- opacity: 0.32;
202
+ .charcoal-tag-item[data-size='S'] {
203
+ --charcoal-tag-item-size: 32px;
204
+ --charcoal-tag-item-padding-left: 16px;
205
+ --charcoal-tag-item-padding-right: 16px;
206
+ }
207
+
208
+ .charcoal-tag-item[data-state='inactive'] {
209
+ --charcoal-tag-item-color: var(--charcoal-color-text-secondary-default);
515
210
  }
516
211
 
517
- .charcoal-text-field-container {
518
- display: flex;
519
- height: 40px;
520
- transition:
521
- 0.2s background-color,
522
- 0.2s box-shadow;
523
- color: var(--charcoal-color-text-secondary-default);
524
- background-color: var(--charcoal-color-container-secondary-default-a);
525
- border-radius: 4px;
526
- padding: 0 8px;
527
- line-height: 22px;
528
- font-size: 14px;
529
- }
212
+ .charcoal-tag-item[data-state='active'] {
213
+ --charcoal-tag-item-padding-left: 16px;
214
+ --charcoal-tag-item-padding-right: 8px;
215
+ }
530
216
 
531
- .charcoal-text-field-container[data-invalid='true'] {
532
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
217
+ .charcoal-tag-item:disabled,
218
+ .charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {
219
+ opacity: 0.32;
220
+ cursor: default;
533
221
  }
534
222
 
535
- .charcoal-text-field-container:not([aria-disabled='true']):hover {
536
- background-color: var(--charcoal-color-container-secondary-hover-a);
223
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,
224
+ .charcoal-tag-item[aria-disabled='false']:focus-visible {
225
+ outline: none;
226
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
537
227
  }
538
228
 
539
- .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
229
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,
230
+ .charcoal-tag-item[aria-disabled='false']:focus {
540
231
  outline: none;
541
232
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
542
233
  }
543
234
 
544
- .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
545
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
235
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
236
+ .charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {
237
+ box-shadow: none;
546
238
  }
547
239
 
548
- .charcoal-text-field-prefix {
549
- display: flex;
550
- align-items: center;
551
- margin-right: 4px;
240
+ .charcoal-tag-item__bg {
241
+ background-color: var(--charcoal-tag-item-bg);
552
242
  }
553
243
 
554
- .charcoal-text-field-suffix {
244
+ .charcoal-tag-item__bg[data-bg-variant='image'] {
245
+ background-color: var(--charcoal-color-container-on-img-default);
246
+ }
247
+
248
+ .charcoal-tag-item__bg[data-bg-variant='image']::before {
249
+ content: '';
250
+ position: absolute;
251
+ z-index: 1;
252
+ top: 0;
253
+ left: 0;
254
+ width: 100%;
255
+ height: 100%;
256
+ background-position: center;
257
+ background-size: cover;
258
+ background-image: var(--charcoal-tag-item-bg);
259
+ mix-blend-mode: overlay;
260
+ }
261
+
262
+ .charcoal-tag-item__bg[data-state='inactive'] {
263
+ background-color: var(--charcoal-color-container-secondary-default);
264
+ }
265
+
266
+ .charcoal-tag-item__label {
267
+ height: 100%;
555
268
  display: flex;
269
+ flex-direction: column;
556
270
  align-items: center;
557
- gap: 8px;
558
- margin-left: 4px;
271
+ justify-content: center;
559
272
  }
560
273
 
561
- .charcoal-text-field-input-root {
562
- flex: 1;
563
- min-width: 0;
564
- overflow: hidden;
274
+ .charcoal-tag-item__label[data-has-translate='true'] {
275
+ justify-content: space-between;
276
+ }
277
+
278
+ .charcoal-tag-item__label__translated {
279
+ --charcoal-tag-item-text-font-size: 12px;
280
+ --charcoal-tag-item-text-line-height: 20px;
281
+ font-weight: bold;
565
282
  }
566
283
 
567
- .charcoal-text-field-input {
568
- border: none;
569
- box-sizing: border-box;
570
- outline: none;
571
- font-family: inherit;
284
+ .charcoal-tag-item__label__translated::before {
285
+ display: none;
286
+ }
572
287
 
573
- /* Prevent zooming for iOS Safari */
574
- transform-origin: top left;
575
- transform: scale(0.875);
576
- width: calc(100% / 0.875);
577
- height: calc(100% / 0.875);
578
- font-size: calc(14px / 0.875);
579
- line-height: calc(22px / 0.875);
580
- padding-left: 0;
581
- padding-right: 0;
582
- border-radius: calc(4px / 0.875);
288
+ .charcoal-tag-item__label__text {
289
+ --charcoal-tag-item-text-font-size: 14px;
290
+ --charcoal-tag-item-text-line-height: 22px;
583
291
 
584
- /* Display box-shadow for iOS Safari */
585
- -webkit-appearance: none;
586
- -moz-appearance: none;
587
- appearance: none;
588
- background: transparent;
292
+ max-width: 152px;
293
+ overflow: hidden;
294
+ font-weight: bold;
589
295
 
590
- color: var(--charcoal-color-text-secondary-default);
296
+ color: inherit;
297
+ white-space: nowrap;
298
+ text-overflow: ellipsis;
591
299
  }
592
300
 
593
- .charcoal-text-field-input::-moz-placeholder {
594
- color: var(--charcoal-color-text-placeholder-default);
595
- }
596
-
597
- .charcoal-text-field-input::placeholder {
598
- color: var(--charcoal-color-text-placeholder-default);
301
+ .charcoal-tag-item__label__text[data-has-translate='true'] {
302
+ --charcoal-tag-item-text-font-size: 10px;
303
+ --charcoal-tag-item-text-line-height: 14px;
304
+ font-weight: normal;
599
305
  }
600
306
 
601
- .charcoal-text-field-line-counter {
602
- line-height: 22px;
603
- font-size: 14px;
604
- color: var(--charcoal-color-text-tertiary-default);
307
+ /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
308
+ .charcoal-tag-item__labe__text[data-has-translate='true']::after {
309
+ display: none;
605
310
  }
606
311
  .charcoal-text-area-root {
607
312
  display: grid;
@@ -686,78 +391,226 @@
686
391
  -moz-appearance: none;
687
392
  appearance: none;
688
393
 
689
- background: none;
394
+ background: none;
395
+ }
396
+
397
+ .charcoal-text-area-textarea[data-no-bottom-padding='true'] {
398
+ padding: var(--charcoal-textarea-padding-y)
399
+ var(--charcoal-textarea-padding-x) 0;
400
+ height: calc(
401
+ var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
402
+ var(--charcoal-textarea-padding-y)
403
+ );
404
+ }
405
+
406
+ .charcoal-text-area-textarea::-moz-placeholder {
407
+ color: var(--charcoal-color-text-placeholder-default);
408
+ }
409
+
410
+ .charcoal-text-area-textarea::placeholder {
411
+ color: var(--charcoal-color-text-placeholder-default);
412
+ }
413
+
414
+ .charcoal-text-area-counter {
415
+ position: absolute;
416
+ bottom: 9px;
417
+ right: 8px;
418
+
419
+ line-height: 22px;
420
+ font-size: 14px;
421
+ color: var(--charcoal-color-text-tertiary-default);
422
+ }
423
+ .charcoal-clickable {
424
+ cursor: pointer;
425
+
426
+ /* Reset button appearance */
427
+ -webkit-appearance: none;
428
+ -moz-appearance: none;
429
+ appearance: none;
430
+ background: transparent;
431
+ padding: 0;
432
+ border-style: none;
433
+ outline: none;
434
+ color: inherit;
435
+ text-rendering: inherit;
436
+ letter-spacing: inherit;
437
+ word-spacing: inherit;
438
+ text-decoration: none;
439
+
440
+ /* Change the font styles in all browsers. */
441
+ font: inherit;
442
+
443
+ /* Remove the margin in Firefox and Safari. */
444
+ margin: 0;
445
+
446
+ /* Show the overflow in Edge. */
447
+ overflow: visible;
448
+
449
+ /* Remove the inheritance of text transform in Firefox. */
450
+ text-transform: none;
451
+ }
452
+
453
+ .charcoal-clickable:disabled,
454
+ .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
455
+ cursor: default;
456
+ }
457
+
458
+ .charcoal-clickable:focus {
459
+ outline: none;
460
+ }
461
+
462
+ .charcoal-clickable::-moz-focus-inner {
463
+ border-style: none;
464
+ padding: 0;
465
+ }
466
+ .charcoal-text-ellipsis {
467
+ /* Runtime variables overridden by the React component. */
468
+ --charcoal-text-ellipsis-line-limit: 1;
469
+ --charcoal-text-ellipsis-line-height: inherit;
470
+
471
+ overflow: hidden;
472
+ overflow-wrap: break-word;
473
+ display: -webkit-box;
474
+ -webkit-box-orient: vertical;
475
+ -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
476
+ }
477
+
478
+ .charcoal-text-ellipsis[data-has-line-height='true'] {
479
+ line-height: var(--charcoal-text-ellipsis-line-height);
480
+ }
481
+
482
+ .charcoal-text-ellipsis[data-has-line-height='false'] {
483
+ line-height: inherit;
484
+ }
485
+
486
+ .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
487
+ text-overflow: ellipsis;
488
+ white-space: nowrap;
489
+ }
490
+ .charcoal-icon-button {
491
+ cursor: pointer;
492
+ -webkit-appearance: none;
493
+ -moz-appearance: none;
494
+ appearance: none;
495
+ background: transparent;
496
+ padding: 0;
497
+ border-style: none;
498
+ outline: none;
499
+ color: inherit;
500
+ text-rendering: inherit;
501
+ letter-spacing: inherit;
502
+ word-spacing: inherit;
503
+ text-decoration: none;
504
+ font: inherit;
505
+ margin: 0;
506
+ overflow: visible;
507
+ text-transform: none;
508
+
509
+ -webkit-user-select: none;
510
+
511
+ -moz-user-select: none;
512
+
513
+ user-select: none;
514
+ display: flex;
515
+ align-items: center;
516
+ justify-content: center;
517
+ border-radius: 999999px;
518
+ transition:
519
+ 0.2s background-color,
520
+ 0.2s box-shadow;
690
521
  }
691
522
 
692
- .charcoal-text-area-textarea[data-no-bottom-padding='true'] {
693
- padding: var(--charcoal-textarea-padding-y)
694
- var(--charcoal-textarea-padding-x) 0;
695
- height: calc(
696
- var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
697
- var(--charcoal-textarea-padding-y)
698
- );
523
+ .charcoal-icon-button:disabled,
524
+ .charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {
525
+ cursor: default;
526
+ opacity: 0.32;
699
527
  }
700
528
 
701
- .charcoal-text-area-textarea::-moz-placeholder {
702
- color: var(--charcoal-color-text-placeholder-default);
529
+ .charcoal-icon-button:focus {
530
+ outline: none;
703
531
  }
704
532
 
705
- .charcoal-text-area-textarea::placeholder {
706
- color: var(--charcoal-color-text-placeholder-default);
533
+ .charcoal-icon-button::-moz-focus-inner {
534
+ border-style: none;
535
+ padding: 0;
707
536
  }
708
537
 
709
- .charcoal-text-area-counter {
710
- position: absolute;
711
- bottom: 9px;
712
- right: 8px;
538
+ .charcoal-icon-button[data-size='XS'] {
539
+ width: 20px;
540
+ height: 20px;
541
+ }
713
542
 
714
- line-height: 22px;
715
- font-size: 14px;
716
- color: var(--charcoal-color-text-tertiary-default);
717
- }
718
- .charcoal-icon {
719
- display: inline-flex;
720
- width: var(--charcoal-icon-size);
721
- height: var(--charcoal-icon-size);
722
- }
543
+ .charcoal-icon-button[data-size='S'] {
544
+ width: 32px;
545
+ height: 32px;
546
+ }
723
547
 
724
- pixiv-icon:not(:defined) {
725
- --pixiv-icon-base: 24px;
726
- --pixiv-icon-scale: 1;
727
- --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
548
+ .charcoal-icon-button[data-size='M'] {
549
+ width: 40px;
550
+ height: 40px;
551
+ }
728
552
 
729
- display: inline-flex;
730
- /* --charcoal-icon-size がセットされていればそれを優先、
731
- なければ name / scale から導出した --pixiv-icon-size をフォールバック */
732
- width: var(--charcoal-icon-size, var(--pixiv-icon-size));
733
- height: var(--charcoal-icon-size, var(--pixiv-icon-size));
734
- }
553
+ .charcoal-icon-button[data-variant='Default'] {
554
+ color: var(--charcoal-color-icon-tertiary-default);
555
+ background-color: transparent;
556
+ }
735
557
 
736
- pixiv-icon:not(:defined)[name^='16/'] {
737
- --pixiv-icon-base: 16px;
738
- --pixiv-icon-size: 16px;
558
+ .charcoal-icon-button[data-variant='Default'][data-active='true']:not(:disabled):not([aria-disabled]),
559
+ .charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {
560
+ color: var(--charcoal-color-icon-tertiary-press);
561
+ background-color: var(--charcoal-color-container-press-a);
562
+ }
563
+
564
+ .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
565
+ .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {
566
+ color: var(--charcoal-color-icon-tertiary-hover);
567
+ background-color: var(--charcoal-color-container-hover-a);
568
+ }
569
+
570
+ .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):active,
571
+ .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {
572
+ color: var(--charcoal-color-icon-tertiary-press);
573
+ background-color: var(--charcoal-color-container-press-a);
574
+ }
575
+
576
+ .charcoal-icon-button[data-variant='Overlay'] {
577
+ color: var(--charcoal-color-icon-on-on-img-default);
578
+ background-color: var(--charcoal-color-container-on-img-default);
739
579
  }
740
580
 
741
- pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
742
- --pixiv-icon-scale: 2;
581
+ .charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(:disabled):not([aria-disabled]),
582
+ .charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {
583
+ color: var(--charcoal-color-icon-on-on-img-press);
584
+ background-color: var(--charcoal-color-container-on-img-press);
743
585
  }
744
586
 
745
- pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
746
- --pixiv-icon-scale: 3;
587
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
588
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {
589
+ color: var(--charcoal-color-icon-on-on-img-hover);
590
+ background-color: var(--charcoal-color-container-on-img-hover);
747
591
  }
748
592
 
749
- pixiv-icon:not(:defined)[name^='32/'] {
750
- --pixiv-icon-base: 32px;
751
- --pixiv-icon-size: 32px;
593
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):active,
594
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {
595
+ color: var(--charcoal-color-icon-on-on-img-press);
596
+ background-color: var(--charcoal-color-container-on-img-press);
597
+ }
598
+
599
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,
600
+ .charcoal-icon-button[aria-disabled='false']:focus {
601
+ outline: none;
602
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
752
603
  }
753
604
 
754
- pixiv-icon:not(:defined)[name^='Inline/'] {
755
- --pixiv-icon-base: 16px;
605
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,
606
+ .charcoal-icon-button[aria-disabled='false']:focus-visible {
607
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
756
608
  }
757
609
 
758
- pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
759
- --pixiv-icon-scale: 2;
760
- }
610
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
611
+ .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
612
+ box-shadow: none;
613
+ }
761
614
  .charcoal-modal-background {
762
615
  overflow: auto;
763
616
  display: flex;
@@ -828,6 +681,11 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
828
681
  font-weight: inherit;
829
682
  font-size: inherit;
830
683
  }
684
+ .charcoal-radio-group {
685
+ display: grid;
686
+ grid-template-columns: 1fr;
687
+ grid-gap: 8px;
688
+ }
831
689
  .charcoal-loading-spinner {
832
690
  box-sizing: content-box;
833
691
  margin: auto;
@@ -864,13 +722,146 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
864
722
  animation: charcoal-loading-spinner-icon-scale-out 1s infinite both ease-out;
865
723
  }
866
724
 
867
- .charcoal-loading-spinner-icon[data-reset-animation] {
868
- animation: none;
725
+ .charcoal-loading-spinner-icon[data-reset-animation] {
726
+ animation: none;
727
+ }
728
+
729
+ .charcoal-loading-spinner-icon[data-once='true'] {
730
+ animation-iteration-count: 1;
731
+ }
732
+ .charcoal-pagination {
733
+ display: flex;
734
+ justify-content: center;
735
+ align-items: center;
736
+ }
737
+
738
+ .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
739
+ min-width: 32px;
740
+ min-height: 32px;
741
+ }
742
+
743
+ .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
744
+ min-width: 40px;
745
+ min-height: 40px;
746
+ }
747
+
748
+ /* stylelint-disable no-descending-specificity */
749
+ .charcoal-pagination-button {
750
+ cursor: pointer;
751
+ -webkit-appearance: none;
752
+ -moz-appearance: none;
753
+ appearance: none;
754
+ padding: 0;
755
+ border-style: none;
756
+ outline: none;
757
+ text-decoration: none;
758
+ font-family: inherit;
759
+ font-style: inherit;
760
+ font-variant: inherit;
761
+ margin: 0;
762
+ -webkit-user-select: none;
763
+ -moz-user-select: none;
764
+ user-select: none;
765
+
766
+ display: flex;
767
+ align-items: center;
768
+ justify-content: center;
769
+ font-size: 14px;
770
+ font-weight: 700;
771
+ line-height: 22px;
772
+
773
+ /* HACK:
774
+ * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
775
+ * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
776
+ */
777
+ -webkit-transform: translateZ(0);
778
+
779
+ color: var(--charcoal-color-text-tertiary-default);
780
+ background-color: transparent;
781
+ border-radius: 20px;
782
+ transition:
783
+ 0.2s background-color,
784
+ 0.2s box-shadow;
785
+ }
786
+ .charcoal-pagination-button:focus {
787
+ outline: none;
788
+ }
789
+ .charcoal-pagination-button::-moz-focus-inner {
790
+ border-style: none;
791
+ padding: 0;
792
+ }
793
+ .charcoal-pagination-button[hidden] {
794
+ visibility: hidden;
795
+ display: block;
796
+ }
797
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
798
+ .charcoal-pagination-button[aria-disabled='false']:hover {
799
+ color: var(--charcoal-color-text-tertiary-default);
800
+ background-color: var(--charcoal-color-container-secondary-default);
801
+ }
802
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
803
+ .charcoal-pagination-button[aria-disabled='false']:active {
804
+ color: var(--charcoal-color-text-tertiary-press);
805
+ background-color: var(--charcoal-color-container-tertiary-press);
806
+ }
807
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
808
+ .charcoal-pagination-button[aria-disabled='false']:focus {
809
+ outline: none;
810
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
811
+ }
812
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
813
+ .charcoal-pagination-button[aria-disabled='false']:focus-visible {
814
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
815
+ }
816
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
817
+ .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
818
+ box-shadow: none;
819
+ }
820
+ .charcoal-pagination-button[aria-current] {
821
+ cursor: default;
822
+ background-color: var(--charcoal-color-container-hud-default);
823
+ color: var(--charcoal-color-text-on-hud-default);
824
+ }
825
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
826
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
827
+ background-color: var(--charcoal-color-container-hud-default);
828
+ color: var(--charcoal-color-text-on-hud-default);
829
+ }
830
+ /* stylelint-enable no-descending-specificity */
831
+
832
+ .charcoal-pagination-nav-button[data-hidden] {
833
+ visibility: hidden;
834
+ }
835
+
836
+ .charcoal-pagination-spacer,
837
+ .charcoal-pagination-spacer:hover,
838
+ .charcoal-pagination-spacer:active {
839
+ cursor: default;
840
+ color: var(--charcoal-color-text-tertiary-default);
841
+ background: none;
842
+ }
843
+
844
+ .charcoal-pagination-spacer.charcoal-icon-button:disabled {
845
+ opacity: 1;
846
+ }
847
+ .charcoal-radio__label {
848
+ display: grid;
849
+ grid-template-columns: auto 1fr;
850
+ grid-gap: 4px;
851
+ align-items: center;
852
+ cursor: pointer;
853
+ }
854
+
855
+ .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
856
+ opacity: 0.32;
857
+ cursor: default;
869
858
  }
870
859
 
871
- .charcoal-loading-spinner-icon[data-once='true'] {
872
- animation-iteration-count: 1;
873
- }
860
+ .charcoal-radio__label_div {
861
+ font-size: 14px;
862
+ line-height: 22px;
863
+ color: var(--charcoal-color-text-default);
864
+ }
874
865
  .charcoal-modal-header-root {
875
866
  height: 64px;
876
867
  display: grid;
@@ -911,571 +902,398 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
911
902
  padding-left: 16px;
912
903
  padding-right: 16px;
913
904
  }
914
- .charcoal-dropdown-selector-root {
915
- display: grid;
916
- grid-template-columns: 1fr;
917
- grid-gap: 4px;
918
- width: 100%;
919
- }
920
-
921
- .charcoal-dropdown-selector-root[aria-disabled='true'] {
922
- cursor: default;
923
- opacity: 0.32;
924
- }
925
-
926
- .charcoal-dropdown-selector-button {
927
- display: grid;
928
- grid-template-columns: 1fr auto;
929
- justify-content: space-between;
930
- align-items: center;
931
-
932
- height: 40px;
933
- width: 100%;
934
- box-sizing: border-box;
935
- border: none;
936
- cursor: pointer;
937
- gap: 4px;
938
-
939
- padding-right: 8px;
940
- padding-left: 8px;
941
- background-color: var(--charcoal-color-container-secondary-default-a);
942
- border-radius: 4px;
943
-
944
- transition:
945
- 0.2s box-shadow,
946
- 0.2s background-color;
947
- }
948
-
949
- .charcoal-dropdown-selector-button:disabled {
950
- cursor: default;
951
- }
952
-
953
- .charcoal-dropdown-selector-button:not(:disabled):focus {
954
- outline: none;
955
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
956
- }
957
-
958
- .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
959
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
960
- }
961
-
962
- .charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],
963
- .charcoal-dropdown-selector-button:not(:disabled):active {
964
- background-color: var(--charcoal-color-container-secondary-press-a);
965
- }
966
-
967
- .charcoal-dropdown-selector-button:not(:disabled):hover {
968
- background-color: var(--charcoal-color-container-secondary-hover-a);
969
- }
970
-
971
- .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
972
- box-shadow: none;
973
- }
974
-
975
- .charcoal-dropdown-selector-button[aria-invalid='true'],
976
- .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
977
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
978
- }
979
-
980
- .charcoal-ui-dropdown-selector-text {
981
- text-align: left;
982
- font-size: 14px;
983
- line-height: 22px;
984
- display: flow-root;
985
- color: var(--charcoal-color-text-default);
986
- overflow: hidden;
987
- text-overflow: ellipsis;
988
- white-space: nowrap;
989
- }
990
-
991
- .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
992
- color: var(--charcoal-color-text-placeholder-default);
993
- }
994
-
995
- .charcoal-ui-dropdown-selector-icon {
996
- color: var(--charcoal-color-icon-secondary-default);
997
- }
998
- .charcoal-menu-item-group {
999
- display: block;
1000
- }
1001
-
1002
- .charcoal-menu-item-group > span {
1003
- display: block;
1004
- color: var(--charcoal-color-text-tertiary-default);
1005
- font-size: 12px;
1006
- font-weight: bold;
1007
- padding: 12px 0 8px 16px;
1008
- }
1009
-
1010
- .charcoal-menu-item-group > ul {
1011
- padding-left: 0;
1012
- margin: 0;
1013
- box-sizing: border-box;
1014
- list-style: none;
1015
- overflow: hidden;
1016
- }
1017
- .charcoal-dropdown-selector-menu-item {
1018
- font-size: 14px;
1019
- line-height: 22px;
1020
- color: var(--charcoal-color-text-secondary-default);
1021
- padding: 9px 0;
1022
-
1023
- display: flex;
1024
- align-items: center;
1025
- width: 100%;
1026
- margin-left: 20px;
1027
- }
1028
-
1029
- .charcoal-dropdown-selector-menu-item[data-selected='true'] {
1030
- margin-left: 0px;
1031
- }
1032
-
1033
- .charcoal-dropdown-selector-menu-item-icon {
1034
- color: var(--charcoal-color-text-secondary-default);
1035
- padding-right: 4px;
1036
- }
1037
-
1038
- .charcoal-dropdown-selector-menu-item-container {
1039
- display: flex;
1040
- align-items: center;
1041
- }
1042
-
1043
- .charcoal-dropdown-selector-menu-secondary {
1044
- font-size: 12px;
1045
- line-height: 20px;
1046
- color: var(--charcoal-color-text-tertiary-default);
1047
- padding-bottom: 9px;
1048
-
1049
- display: flex;
1050
- align-items: center;
1051
- margin-left: 20px;
1052
- }
1053
-
1054
- .charcoal-dropdown-selector-menu-fullwidth {
1055
- width: 100%;
1056
- }
1057
- .charcoal-segmented-control {
1058
- display: inline-flex;
1059
- align-items: center;
1060
-
1061
- background-color: var(--charcoal-color-container-secondary-default-a);
1062
- border-radius: 16px;
1063
- }
1064
-
1065
- .charcoal-segmented-control[data-uniform-segment-width='true'],
1066
- .charcoal-segmented-control[data-full-width='true'] {
1067
- display: inline-grid;
1068
- grid-auto-columns: minmax(80px, 1fr);
1069
- grid-auto-rows: 32px;
1070
- grid-auto-flow: column;
1071
- }
1072
-
1073
- .charcoal-segmented-control[data-full-width='true'] {
1074
- width: 100%;
1075
- }
1076
-
1077
- .charcoal-segmented-control-radio__label {
1078
- position: relative;
1079
- display: flex;
1080
- align-items: center;
1081
- justify-content: center;
1082
- cursor: pointer;
1083
- height: 32px;
1084
-
1085
- padding-right: 16px;
1086
- padding-left: 16px;
1087
- border-radius: 16px;
1088
- color: var(--charcoal-color-text-secondary-default);
1089
-
1090
- font-size: 14px;
1091
- line-height: 22px;
1092
- }
1093
-
1094
- .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
1095
- cursor: default;
1096
- opacity: 0.32;
1097
- }
1098
-
1099
- .charcoal-segmented-control-radio__label[data-checked='true'] {
1100
- background-color: var(--charcoal-color-container-primary-default);
1101
- color: var(--charcoal-color-text-on-primary-default);
1102
- }
1103
-
1104
- .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
1105
- .charcoal-segmented-control-radio__label[data-full-width='true'] {
1106
- justify-content: center;
1107
- white-space: nowrap;
1108
- }
1109
-
1110
- .charcoal-segmented-control-radio__input {
1111
- position: absolute;
1112
-
1113
- height: 0px;
1114
- width: 0px;
1115
- padding: 0;
1116
- margin: 0;
1117
-
905
+ .charcoal-button {
1118
906
  -webkit-appearance: none;
1119
-
1120
907
  -moz-appearance: none;
1121
-
1122
908
  appearance: none;
909
+ background-image: none;
1123
910
  box-sizing: border-box;
1124
- overflow: hidden;
1125
- white-space: nowrap;
1126
- opacity: 0;
1127
- }
1128
- .charcoal-hint-text {
1129
- background-color: var(--charcoal-color-container-secondary-default);
1130
- border-radius: 8px;
1131
- padding: 12px 16px;
1132
- display: flex;
1133
- align-items: flex-start;
1134
- }
1135
-
1136
- .charcoal-hint-text[data-context='page'] {
1137
- justify-content: center;
1138
- }
1139
-
1140
- @media (min-width: 744px) {
1141
-
1142
- .charcoal-hint-text[data-context='page'] {
1143
- padding: 20px 40px
1144
- }
1145
- }
1146
-
1147
- .charcoal-hint-text-icon {
1148
- display: flex;
911
+ padding: 0 24px;
912
+ border-style: none;
913
+ outline: none;
914
+ text-rendering: inherit;
915
+ letter-spacing: inherit;
916
+ word-spacing: inherit;
917
+ text-decoration: none;
918
+ font-family: inherit;
919
+ font-style: inherit;
920
+ font-variant: inherit;
921
+ margin: 0;
922
+ overflow: visible;
923
+ text-transform: none;
924
+ width: -moz-min-content;
925
+ width: min-content;
926
+ display: inline-grid;
1149
927
  align-items: center;
1150
- color: var(--charcoal-color-icon-tertiary-default);
1151
- height: 22px;
1152
- margin: 0 4px 0 0;
1153
- }
1154
-
1155
- .charcoal-hint-text-message {
1156
- color: var(--charcoal-color-text-secondary-default);
928
+ justify-content: center;
929
+ cursor: pointer;
930
+ -webkit-user-select: none;
931
+ -moz-user-select: none;
932
+ user-select: none;
933
+ white-space: nowrap;
934
+ border-radius: 999999px;
1157
935
  font-size: 14px;
1158
936
  line-height: 22px;
1159
- display: flow-root;
1160
- margin: 0;
1161
- min-width: 0;
1162
- overflow-wrap: break-word;
1163
- }
1164
- .charcoal-checkbox__label {
1165
- position: relative;
1166
- cursor: pointer;
1167
- display: flex;
1168
- gap: 4px;
937
+ font-weight: bold;
938
+ color: var(--charcoal-color-text-default);
939
+ background-color: var(
940
+ --charcoal-color-container-secondary-default-a,
941
+ transparent
942
+ );
943
+ transition:
944
+ 0.2s color,
945
+ 0.2s background-color,
946
+ 0.2s box-shadow;
947
+ height: 40px;
1169
948
  }
1170
949
 
1171
- .charcoal-checkbox__label[aria-disabled='true'] {
950
+ .charcoal-button:disabled,
951
+ .charcoal-button[aria-disabled]:not([aria-disabled='false']) {
1172
952
  cursor: default;
1173
953
  opacity: 0.32;
1174
954
  }
1175
955
 
1176
- .charcoal-checkbox__label[aria-disabled='true'] > input {
1177
- opacity: 1;
1178
- }
1179
-
1180
- .charcoal-checkbox__label_div {
1181
- flex: 1;
1182
- color: var(--charcoal-color-text-default);
1183
- font-size: 14px;
1184
- line-height: 20px;
1185
- }
1186
- .charcoal-tag-item {
1187
- --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1188
- --charcoal-tag-item-size: 40px;
1189
- --charcoal-tag-item-padding-left: 24px;
1190
- --charcoal-tag-item-padding-right: 24px;
1191
- --charcoal-tag-item-bg: ;
956
+ .charcoal-button:not(:disabled):not([aria-disabled]):focus-visible,
957
+ .charcoal-button[aria-disabled='false']:focus-visible {
958
+ outline: none;
959
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
960
+ }
1192
961
 
1193
- isolation: isolate;
1194
- position: relative;
962
+ .charcoal-button:not(:disabled):not([aria-disabled]):hover,
963
+ .charcoal-button[aria-disabled='false']:hover {
964
+ color: var(--charcoal-color-text-hover);
965
+ background-color: var(--charcoal-color-container-secondary-hover-a);
966
+ }
1195
967
 
1196
- -webkit-appearance: none;
968
+ .charcoal-button:not(:disabled):not([aria-disabled]):active,
969
+ .charcoal-button[aria-disabled='false']:active,
970
+ .charcoal-button[data-active='true'] {
971
+ color: var(--charcoal-color-text-press);
972
+ background-color: var(--charcoal-color-container-secondary-press-a);
973
+ }
1197
974
 
1198
- -moz-appearance: none;
975
+ .charcoal-button[data-variant='Primary'] {
976
+ color: var(--charcoal-color-text-on-primary-default);
977
+ background-color: var(--charcoal-color-container-primary-default);
978
+ }
1199
979
 
1200
- appearance: none;
1201
- outline: none;
1202
- border-style: none;
980
+ .charcoal-button[data-variant='Primary']:hover:not(:disabled):not([aria-disabled]),
981
+ .charcoal-button[data-variant='Primary']:hover[aria-disabled='false'] {
982
+ color: var(--charcoal-color-text-on-primary-hover);
983
+ background-color: var(--charcoal-color-container-primary-hover);
984
+ }
1203
985
 
1204
- display: inline-flex;
1205
- gap: 8px;
1206
- align-items: center;
1207
- justify-content: center;
986
+ .charcoal-button[data-variant='Primary']:active:not(:disabled):not([aria-disabled]),
987
+ .charcoal-button[data-variant='Primary']:active[aria-disabled='false'],
988
+ .charcoal-button[data-variant='Primary'][data-active='true'] {
989
+ color: var(--charcoal-color-text-on-primary-press);
990
+ background-color: var(--charcoal-color-container-primary-press);
991
+ }
1208
992
 
1209
- text-decoration: none;
1210
- cursor: pointer;
1211
- overflow: hidden;
993
+ .charcoal-button[data-variant='Overlay'] {
994
+ color: var(--charcoal-color-text-on-on-img-default);
995
+ background-color: var(--charcoal-color-container-on-img-default);
996
+ }
1212
997
 
1213
- color: var(--charcoal-tag-item-color);
1214
- height: var(--charcoal-tag-item-size);
1215
- padding-top: 4px;
1216
- padding-bottom: 4px;
1217
- padding-left: var(--charcoal-tag-item-padding-left);
1218
- padding-right: var(--charcoal-tag-item-padding-right);
1219
- box-sizing: border-box;
1220
- border-radius: 4px;
998
+ .charcoal-button[data-variant='Overlay']:hover:not(:disabled):not([aria-disabled]),
999
+ .charcoal-button[data-variant='Overlay']:hover[aria-disabled='false'] {
1000
+ color: var(--charcoal-color-text-on-on-img-hover);
1001
+ background-color: var(--charcoal-color-container-on-img-hover);
1002
+ }
1221
1003
 
1222
- transition: 0.2s box-shadow;
1223
- }
1004
+ .charcoal-button[data-variant='Overlay']:active:not(:disabled):not([aria-disabled]),
1005
+ .charcoal-button[data-variant='Overlay']:active[aria-disabled='false'],
1006
+ .charcoal-button[data-variant='Overlay'][data-active='true'] {
1007
+ color: var(--charcoal-color-text-on-on-img-press);
1008
+ background-color: var(--charcoal-color-container-on-img-press);
1009
+ }
1224
1010
 
1225
- .charcoal-tag-item[data-size='M'] {
1226
- --charcoal-tag-item-size: 40px;
1227
- --charcoal-tag-item-padding-left: 24px;
1228
- --charcoal-tag-item-padding-right: 24px;
1011
+ .charcoal-button[data-variant='Navigation'] {
1012
+ color: var(--charcoal-color-text-on-hud-default);
1013
+ background-color: var(--charcoal-color-container-hud-default);
1229
1014
  }
1230
1015
 
1231
- .charcoal-tag-item[data-size='S'] {
1232
- --charcoal-tag-item-size: 32px;
1233
- --charcoal-tag-item-padding-left: 16px;
1234
- --charcoal-tag-item-padding-right: 16px;
1016
+ .charcoal-button[data-variant='Navigation']:hover:not(:disabled):not([aria-disabled]),
1017
+ .charcoal-button[data-variant='Navigation']:hover[aria-disabled='false'] {
1018
+ color: var(--charcoal-color-text-on-hud-hover);
1019
+ background-color: var(--charcoal-color-container-hud-hover);
1020
+ }
1021
+
1022
+ .charcoal-button[data-variant='Navigation']:active:not(:disabled):not([aria-disabled]),
1023
+ .charcoal-button[data-variant='Navigation']:active[aria-disabled='false'],
1024
+ .charcoal-button[data-variant='Navigation'][data-active='true'] {
1025
+ color: var(--charcoal-color-text-on-hud-press);
1026
+ background-color: var(--charcoal-color-container-hud-press);
1027
+ }
1028
+
1029
+ .charcoal-button[data-variant='Danger'] {
1030
+ color: var(--charcoal-color-text-on-negative-default);
1031
+ background-color: var(--charcoal-color-container-negative-default);
1235
1032
  }
1236
1033
 
1237
- .charcoal-tag-item[data-state='inactive'] {
1238
- --charcoal-tag-item-color: var(--charcoal-color-text-secondary-default);
1034
+ .charcoal-button[data-variant='Danger']:hover:not(:disabled):not([aria-disabled]),
1035
+ .charcoal-button[data-variant='Danger']:hover[aria-disabled='false'] {
1036
+ color: var(--charcoal-color-text-on-negative-hover);
1037
+ background-color: var(--charcoal-color-container-negative-hover);
1038
+ }
1039
+
1040
+ .charcoal-button[data-variant='Danger']:active:not(:disabled):not([aria-disabled]),
1041
+ .charcoal-button[data-variant='Danger']:active[aria-disabled='false'],
1042
+ .charcoal-button[data-variant='Danger'][data-active='true'] {
1043
+ color: var(--charcoal-color-text-on-negative-press);
1044
+ background-color: var(--charcoal-color-container-negative-press);
1045
+ }
1046
+
1047
+ .charcoal-button[data-size='S'] {
1048
+ padding: 0 16px;
1049
+ height: 32px;
1239
1050
  }
1240
1051
 
1241
- .charcoal-tag-item[data-state='active'] {
1242
- --charcoal-tag-item-padding-left: 16px;
1243
- --charcoal-tag-item-padding-right: 8px;
1052
+ .charcoal-button[data-full-width='true'] {
1053
+ width: 100%;
1244
1054
  }
1055
+ .charcoal-dropdown-selector-root {
1056
+ display: grid;
1057
+ grid-template-columns: 1fr;
1058
+ grid-gap: 4px;
1059
+ width: 100%;
1060
+ }
1245
1061
 
1246
- .charcoal-tag-item:disabled,
1247
- .charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {
1248
- opacity: 0.32;
1062
+ .charcoal-dropdown-selector-root[aria-disabled='true'] {
1249
1063
  cursor: default;
1064
+ opacity: 0.32;
1250
1065
  }
1251
1066
 
1252
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,
1253
- .charcoal-tag-item[aria-disabled='false']:focus-visible {
1254
- outline: none;
1255
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1256
- }
1067
+ .charcoal-dropdown-selector-button {
1068
+ display: grid;
1069
+ grid-template-columns: 1fr auto;
1070
+ justify-content: space-between;
1071
+ align-items: center;
1257
1072
 
1258
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,
1259
- .charcoal-tag-item[aria-disabled='false']:focus {
1260
- outline: none;
1261
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1262
- }
1073
+ height: 40px;
1074
+ width: 100%;
1075
+ box-sizing: border-box;
1076
+ border: none;
1077
+ cursor: pointer;
1078
+ gap: 4px;
1263
1079
 
1264
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1265
- .charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {
1266
- box-shadow: none;
1267
- }
1080
+ padding-right: 8px;
1081
+ padding-left: 8px;
1082
+ background-color: var(--charcoal-color-container-secondary-default-a);
1083
+ border-radius: 4px;
1268
1084
 
1269
- .charcoal-tag-item__bg {
1270
- background-color: var(--charcoal-tag-item-bg);
1085
+ transition:
1086
+ 0.2s box-shadow,
1087
+ 0.2s background-color;
1271
1088
  }
1272
1089
 
1273
- .charcoal-tag-item__bg[data-bg-variant='image'] {
1274
- background-color: var(--charcoal-color-container-on-img-default);
1090
+ .charcoal-dropdown-selector-button:disabled {
1091
+ cursor: default;
1275
1092
  }
1276
1093
 
1277
- .charcoal-tag-item__bg[data-bg-variant='image']::before {
1278
- content: '';
1279
- position: absolute;
1280
- z-index: 1;
1281
- top: 0;
1282
- left: 0;
1283
- width: 100%;
1284
- height: 100%;
1285
- background-position: center;
1286
- background-size: cover;
1287
- background-image: var(--charcoal-tag-item-bg);
1288
- mix-blend-mode: overlay;
1094
+ .charcoal-dropdown-selector-button:not(:disabled):focus {
1095
+ outline: none;
1096
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1289
1097
  }
1290
1098
 
1291
- .charcoal-tag-item__bg[data-state='inactive'] {
1292
- background-color: var(--charcoal-color-container-secondary-default);
1293
- }
1099
+ .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
1100
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1101
+ }
1294
1102
 
1295
- .charcoal-tag-item__label {
1296
- height: 100%;
1297
- display: flex;
1298
- flex-direction: column;
1299
- align-items: center;
1300
- justify-content: center;
1301
- }
1103
+ .charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],
1104
+ .charcoal-dropdown-selector-button:not(:disabled):active {
1105
+ background-color: var(--charcoal-color-container-secondary-press-a);
1106
+ }
1302
1107
 
1303
- .charcoal-tag-item__label[data-has-translate='true'] {
1304
- justify-content: space-between;
1305
- }
1108
+ .charcoal-dropdown-selector-button:not(:disabled):hover {
1109
+ background-color: var(--charcoal-color-container-secondary-hover-a);
1110
+ }
1306
1111
 
1307
- .charcoal-tag-item__label__translated {
1308
- --charcoal-tag-item-text-font-size: 12px;
1309
- --charcoal-tag-item-text-line-height: 20px;
1310
- font-weight: bold;
1311
- }
1112
+ .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
1113
+ box-shadow: none;
1114
+ }
1312
1115
 
1313
- .charcoal-tag-item__label__translated::before {
1314
- display: none;
1116
+ .charcoal-dropdown-selector-button[aria-invalid='true'],
1117
+ .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
1118
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1315
1119
  }
1316
1120
 
1317
- .charcoal-tag-item__label__text {
1318
- --charcoal-tag-item-text-font-size: 14px;
1319
- --charcoal-tag-item-text-line-height: 22px;
1320
-
1321
- max-width: 152px;
1121
+ .charcoal-ui-dropdown-selector-text {
1122
+ text-align: left;
1123
+ font-size: 14px;
1124
+ line-height: 22px;
1125
+ display: flow-root;
1126
+ color: var(--charcoal-color-text-default);
1322
1127
  overflow: hidden;
1323
- font-weight: bold;
1324
-
1325
- color: inherit;
1326
- white-space: nowrap;
1327
1128
  text-overflow: ellipsis;
1129
+ white-space: nowrap;
1328
1130
  }
1329
1131
 
1330
- .charcoal-tag-item__label__text[data-has-translate='true'] {
1331
- --charcoal-tag-item-text-font-size: 10px;
1332
- --charcoal-tag-item-text-line-height: 14px;
1333
- font-weight: normal;
1132
+ .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
1133
+ color: var(--charcoal-color-text-placeholder-default);
1334
1134
  }
1335
1135
 
1336
- /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
1337
- .charcoal-tag-item__labe__text[data-has-translate='true']::after {
1338
- display: none;
1136
+ .charcoal-ui-dropdown-selector-icon {
1137
+ color: var(--charcoal-color-icon-secondary-default);
1339
1138
  }
1340
- .charcoal-text-ellipsis {
1341
- /* Runtime variables overridden by the React component. */
1342
- --charcoal-text-ellipsis-line-limit: 1;
1343
- --charcoal-text-ellipsis-line-height: inherit;
1344
-
1345
- overflow: hidden;
1346
- overflow-wrap: break-word;
1347
- display: -webkit-box;
1348
- -webkit-box-orient: vertical;
1349
- -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1139
+ .charcoal-switch__label {
1140
+ display: inline-grid;
1141
+ grid-template-columns: auto 1fr;
1142
+ align-items: center;
1143
+ cursor: pointer;
1144
+ outline: 0;
1145
+ gap: 4px;
1350
1146
  }
1351
1147
 
1352
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1353
- line-height: var(--charcoal-text-ellipsis-line-height);
1148
+ .charcoal-switch__label[aria-disabled='true'] {
1149
+ opacity: 0.32;
1150
+ cursor: default;
1354
1151
  }
1355
1152
 
1356
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1357
- line-height: inherit;
1358
- }
1153
+ .charcoal-switch__label[aria-disabled='true'] > input {
1154
+ opacity: 1;
1155
+ }
1359
1156
 
1360
- .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1361
- text-overflow: ellipsis;
1362
- white-space: nowrap;
1363
- }
1364
- .charcoal-notification-region {
1365
- position: fixed;
1366
- left: 0;
1367
- right: 0;
1368
- display: grid;
1369
- justify-content: center;
1370
- pointer-events: none;
1371
- box-sizing: border-box;
1157
+ .charcoal-switch__label_div {
1158
+ font-size: 14px;
1159
+ line-height: 22px;
1160
+ color: var(--charcoal-color-text-default);
1372
1161
  }
1373
-
1374
- .charcoal-notification {
1375
- box-sizing: border-box;
1376
- border-radius: var(--charcoal-radius-oval);
1377
- width: -moz-fit-content;
1378
- width: fit-content;
1379
- max-width: calc(100vw - var(--charcoal-space-46));
1380
- display: flex;
1162
+ .charcoal-multi-select {
1163
+ display: grid;
1164
+ grid-template-columns: auto 1fr;
1381
1165
  align-items: center;
1382
- justify-content: center;
1383
- gap: var(--charcoal-space-20);
1384
- pointer-events: auto;
1166
+ position: relative;
1167
+ cursor: pointer;
1168
+ gap: 4px;
1385
1169
  }
1386
1170
 
1387
- .charcoal-notification-content {
1388
- display: flex;
1171
+ .charcoal-multi-select:disabled,
1172
+ .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
1173
+ opacity: 0.32;
1174
+ cursor: default;
1175
+ }
1176
+
1177
+ .charcoal-multi-select-label {
1178
+ display: flow-root;
1389
1179
  align-items: center;
1390
- min-width: 0;
1180
+ font-size: 14px;
1181
+ line-height: 22px;
1182
+ color: var(--charcoal-color-text-default);
1391
1183
  }
1392
1184
 
1393
- .charcoal-notification-label {
1394
- min-width: 0;
1395
- overflow: hidden;
1396
- overflow-wrap: break-word;
1397
- display: -webkit-box;
1398
- -webkit-box-orient: vertical;
1399
- -webkit-line-clamp: 2;
1400
- font-size: var(--charcoal-text-font-size-caption-m);
1401
- font-weight: var(--charcoal-text-font-weight-bold);
1402
- line-height: var(--charcoal-text-line-height-caption-m);
1403
- }
1185
+ .charcoal-multi-select-label::before {
1186
+ display: block;
1187
+ width: 0;
1188
+ height: 0;
1189
+ content: '';
1190
+ margin-top: -4px;
1191
+ }
1404
1192
 
1405
- @media (prefers-reduced-motion: reduce) {
1406
- .charcoal-notification,
1407
- .charcoal-notification[data-exiting='true'] {
1408
- animation: none;
1193
+ .charcoal-multi-select-label::after {
1194
+ display: block;
1195
+ width: 0;
1196
+ height: 0;
1197
+ content: '';
1198
+ margin-bottom: -4px;
1409
1199
  }
1410
- }
1411
- .charcoal-snackbar-region {
1412
- --charcoal-snackbar-offset: 16px;
1200
+
1201
+ .charcoal-multi-select-input[type='checkbox'] {
1202
+ -webkit-appearance: none;
1203
+ -moz-appearance: none;
1204
+ appearance: none;
1205
+ display: block;
1206
+ width: 20px;
1207
+ height: 20px;
1208
+ margin: 0;
1209
+ background-color: var(--charcoal-color-container-neutral-default);
1210
+ border-radius: 999999px;
1211
+ transition:
1212
+ 0.2s background-color,
1213
+ 0.2s box-shadow;
1413
1214
  }
1414
1215
 
1415
- .charcoal-snackbar-region[data-position='top'] {
1416
- --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1216
+ .charcoal-multi-select-input[type='checkbox']:checked {
1217
+ background-color: var(--charcoal-color-container-primary-default);
1218
+ }
1417
1219
 
1418
- top: calc(
1419
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1420
- );
1220
+ .charcoal-multi-select-input[type='checkbox']:focus {
1221
+ outline: none;
1222
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1421
1223
  }
1422
1224
 
1423
- .charcoal-snackbar-region[data-position='bottom'] {
1424
- --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1225
+ .charcoal-multi-select-input[type='checkbox']:focus-visible {
1226
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1227
+ }
1425
1228
 
1426
- bottom: calc(
1427
- env(safe-area-inset-bottom, 0px) +
1428
- max(var(--charcoal-snackbar-offset), 16px)
1429
- );
1229
+ .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
1230
+ box-shadow: none;
1430
1231
  }
1431
1232
 
1432
- .charcoal-snackbar {
1433
- min-height: 44px;
1434
- padding: var(--charcoal-space-25) var(--charcoal-space-40);
1435
- background-color: var(--charcoal-color-container-default);
1436
- color: var(--charcoal-color-text-default);
1437
- border: var(--charcoal-border-width-m) solid
1438
- var(--charcoal-color-border-secondary);
1439
- animation: charcoal-snackbar-enter 0.3s ease-out both;
1440
- }
1233
+ .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
1234
+ .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
1235
+ background-color: var(--charcoal-color-container-neutral-hover);
1236
+ }
1441
1237
 
1442
- .charcoal-snackbar[data-exiting='true'] {
1443
- animation: charcoal-snackbar-exit 0.3s ease-out both;
1238
+ .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
1239
+ .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
1240
+ background-color: var(--charcoal-color-container-neutral-press);
1444
1241
  }
1445
1242
 
1446
- .charcoal-snackbar[data-with-action='true'] {
1447
- min-height: 56px;
1448
- padding: var(--charcoal-space-25) var(--charcoal-space-30)
1449
- var(--charcoal-space-25) var(--charcoal-space-40);
1243
+ .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
1244
+ .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
1245
+ background-color: var(--charcoal-color-container-primary-hover);
1450
1246
  }
1451
1247
 
1452
- .charcoal-snackbar[data-dim='true'] {
1453
- background-color: var(--charcoal-color-container-hud-default);
1454
- color: var(--charcoal-color-text-on-hud-default);
1455
- border-color: var(--charcoal-color-border-hud);
1248
+ .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
1249
+ .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
1250
+ background-color: var(--charcoal-color-container-primary-press);
1456
1251
  }
1457
1252
 
1458
- @keyframes charcoal-snackbar-enter {
1459
- from {
1460
- opacity: 0;
1461
- transform: translateY(var(--charcoal-snackbar-enter-offset));
1253
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
1254
+ [aria-disabled]
1255
+ ) {
1256
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1257
+ }
1258
+
1259
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
1260
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1261
+ }
1262
+
1263
+ .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
1264
+ background-color: var(--charcoal-color-container-on-img-default);
1462
1265
  }
1463
1266
 
1464
- to {
1465
- opacity: 1;
1466
- transform: translateY(0);
1267
+ .charcoal-multi-select-overlay {
1268
+ position: absolute;
1269
+ top: -2px;
1270
+ left: -2px;
1271
+ box-sizing: border-box;
1272
+ display: flex;
1273
+ align-items: center;
1274
+ justify-content: center;
1275
+ width: 24px;
1276
+ height: 24px;
1277
+ border-radius: 999999px;
1278
+ color: var(--charcoal-color-icon-on-primary-default);
1279
+ transition: 0.2s box-shadow;
1280
+ }
1281
+
1282
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
1283
+ [aria-disabled]
1284
+ ) {
1285
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1467
1286
  }
1468
- }
1469
1287
 
1470
- @keyframes charcoal-snackbar-exit {
1471
- from {
1472
- opacity: 1;
1288
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
1289
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1473
1290
  }
1474
1291
 
1475
- to {
1476
- opacity: 0;
1292
+ .charcoal-multi-select-overlay[data-overlay='true'] {
1293
+ border-color: var(--charcoal-color-border-hud);
1294
+ border-width: 2px;
1295
+ border-style: solid;
1477
1296
  }
1478
- }
1479
1297
  .charcoal-carousel {
1480
1298
  --charcoal-carousel-gap: 0px;
1481
1299
 
@@ -1732,9 +1550,9 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1732
1550
 
1733
1551
  /* ── CSS Scroll Markers (progressive enhancement) ── */
1734
1552
 
1735
- /* CSS Scroll Markers / Anchor Positioning は新しい仕様で、stylelint がプロパティ・
1736
- 擬似要素・擬似クラスを未知と判定するため、この @supports ブロックでは該当ルールを無効化する。 */
1737
- /* stylelint-disable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1553
+ /* CSS Scroll Markers / Anchor Positioning の擬似要素・擬似クラスは新しい仕様のため、
1554
+ この @supports ブロックでは該当ルールを無効化する。 */
1555
+ /* stylelint-disable selector-pseudo-class-no-unknown */
1738
1556
  @supports (scroll-marker-group: after) {
1739
1557
  .charcoal-carousel[data-indicator='true'] {
1740
1558
  padding-bottom: 40px;
@@ -1794,123 +1612,304 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1794
1612
  display: none;
1795
1613
  }
1796
1614
  }
1797
- /* stylelint-enable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1798
- .charcoal-pagination {
1615
+ /* stylelint-enable selector-pseudo-class-no-unknown */
1616
+ .charcoal-dropdown-selector-menu-item {
1617
+ font-size: 14px;
1618
+ line-height: 22px;
1619
+ color: var(--charcoal-color-text-secondary-default);
1620
+ padding: 9px 0;
1621
+
1799
1622
  display: flex;
1800
- justify-content: center;
1801
1623
  align-items: center;
1624
+ width: 100%;
1625
+ margin-left: 20px;
1802
1626
  }
1803
1627
 
1804
- .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1805
- min-width: 32px;
1806
- min-height: 32px;
1807
- }
1628
+ .charcoal-dropdown-selector-menu-item[data-selected='true'] {
1629
+ margin-left: 0px;
1630
+ }
1808
1631
 
1809
- .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1810
- min-width: 40px;
1811
- min-height: 40px;
1812
- }
1632
+ .charcoal-dropdown-selector-menu-item-icon {
1633
+ color: var(--charcoal-color-text-secondary-default);
1634
+ padding-right: 4px;
1635
+ }
1813
1636
 
1814
- /* stylelint-disable no-descending-specificity */
1815
- .charcoal-pagination-button {
1816
- cursor: pointer;
1817
- -webkit-appearance: none;
1818
- -moz-appearance: none;
1819
- appearance: none;
1820
- padding: 0;
1821
- border-style: none;
1822
- outline: none;
1823
- text-decoration: none;
1824
- font-family: inherit;
1825
- font-style: inherit;
1826
- font-variant: inherit;
1827
- margin: 0;
1828
- -webkit-user-select: none;
1829
- -moz-user-select: none;
1830
- user-select: none;
1637
+ .charcoal-dropdown-selector-menu-item-container {
1638
+ display: flex;
1639
+ align-items: center;
1640
+ }
1641
+
1642
+ .charcoal-dropdown-selector-menu-secondary {
1643
+ font-size: 12px;
1644
+ line-height: 20px;
1645
+ color: var(--charcoal-color-text-tertiary-default);
1646
+ padding-bottom: 9px;
1831
1647
 
1832
1648
  display: flex;
1833
1649
  align-items: center;
1650
+ margin-left: 20px;
1651
+ }
1652
+
1653
+ .charcoal-dropdown-selector-menu-fullwidth {
1654
+ width: 100%;
1655
+ }
1656
+ .charcoal-notification-region {
1657
+ position: fixed;
1658
+ left: 0;
1659
+ right: 0;
1660
+ display: grid;
1834
1661
  justify-content: center;
1835
- font-size: 14px;
1836
- font-weight: 700;
1837
- line-height: 22px;
1662
+ pointer-events: none;
1663
+ box-sizing: border-box;
1664
+ }
1838
1665
 
1839
- /* HACK:
1840
- * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1841
- * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1842
- */
1843
- /* stylelint-disable-next-line property-no-vendor-prefix */
1844
- -webkit-transform: translateZ(0);
1666
+ .charcoal-notification {
1667
+ box-sizing: border-box;
1668
+ border-radius: var(--charcoal-radius-oval);
1669
+ width: -moz-fit-content;
1670
+ width: fit-content;
1671
+ max-width: calc(100vw - var(--charcoal-space-46));
1672
+ display: flex;
1673
+ align-items: center;
1674
+ justify-content: center;
1675
+ gap: var(--charcoal-space-20);
1676
+ pointer-events: auto;
1677
+ }
1845
1678
 
1846
- color: var(--charcoal-color-text-tertiary-default);
1847
- background-color: transparent;
1848
- border-radius: 20px;
1849
- transition:
1850
- 0.2s background-color,
1851
- 0.2s box-shadow;
1679
+ .charcoal-notification-content {
1680
+ display: flex;
1681
+ align-items: center;
1682
+ min-width: 0;
1852
1683
  }
1853
- .charcoal-pagination-button:focus {
1854
- outline: none;
1684
+
1685
+ .charcoal-notification-label {
1686
+ min-width: 0;
1687
+ overflow: hidden;
1688
+ overflow-wrap: break-word;
1689
+ display: -webkit-box;
1690
+ -webkit-box-orient: vertical;
1691
+ -webkit-line-clamp: 2;
1692
+ font-size: var(--charcoal-text-font-size-caption-m);
1693
+ font-weight: var(--charcoal-text-font-weight-bold);
1694
+ line-height: var(--charcoal-text-line-height-caption-m);
1695
+ }
1696
+
1697
+ @media (prefers-reduced-motion: reduce) {
1698
+ .charcoal-notification,
1699
+ .charcoal-notification[data-exiting='true'] {
1700
+ animation: none;
1855
1701
  }
1856
- .charcoal-pagination-button::-moz-focus-inner {
1857
- border-style: none;
1858
- padding: 0;
1702
+ }
1703
+ .charcoal-snackbar-region {
1704
+ --charcoal-snackbar-offset: 16px;
1705
+ }
1706
+
1707
+ .charcoal-snackbar-region[data-position='top'] {
1708
+ --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1709
+
1710
+ top: calc(
1711
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1712
+ );
1859
1713
  }
1860
- .charcoal-pagination-button[hidden] {
1861
- visibility: hidden;
1862
- display: block;
1714
+
1715
+ .charcoal-snackbar-region[data-position='bottom'] {
1716
+ --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1717
+
1718
+ bottom: calc(
1719
+ env(safe-area-inset-bottom, 0px) +
1720
+ max(var(--charcoal-snackbar-offset), 16px)
1721
+ );
1863
1722
  }
1864
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1865
- .charcoal-pagination-button[aria-disabled='false']:hover {
1866
- color: var(--charcoal-color-text-tertiary-default);
1867
- background-color: var(--charcoal-color-container-secondary-default);
1723
+
1724
+ .charcoal-snackbar {
1725
+ min-height: 44px;
1726
+ padding: var(--charcoal-space-25) var(--charcoal-space-40);
1727
+ background-color: var(--charcoal-color-container-default);
1728
+ color: var(--charcoal-color-text-default);
1729
+ border: var(--charcoal-border-width-m) solid
1730
+ var(--charcoal-color-border-secondary);
1731
+ animation: charcoal-snackbar-enter 0.3s ease-out both;
1732
+ }
1733
+
1734
+ .charcoal-snackbar[data-exiting='true'] {
1735
+ animation: charcoal-snackbar-exit 0.3s ease-out both;
1868
1736
  }
1869
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1870
- .charcoal-pagination-button[aria-disabled='false']:active {
1871
- color: var(--charcoal-color-text-tertiary-press);
1872
- background-color: var(--charcoal-color-container-tertiary-press);
1737
+
1738
+ .charcoal-snackbar[data-with-action='true'] {
1739
+ min-height: 56px;
1740
+ padding: var(--charcoal-space-25) var(--charcoal-space-30)
1741
+ var(--charcoal-space-25) var(--charcoal-space-40);
1873
1742
  }
1874
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1875
- .charcoal-pagination-button[aria-disabled='false']:focus {
1743
+
1744
+ .charcoal-snackbar[data-dim='true'] {
1745
+ background-color: var(--charcoal-color-container-hud-default);
1746
+ color: var(--charcoal-color-text-on-hud-default);
1747
+ border-color: var(--charcoal-color-border-hud);
1748
+ }
1749
+
1750
+ @keyframes charcoal-snackbar-enter {
1751
+ from {
1752
+ opacity: 0;
1753
+ transform: translateY(var(--charcoal-snackbar-enter-offset));
1754
+ }
1755
+
1756
+ to {
1757
+ opacity: 1;
1758
+ transform: translateY(0);
1759
+ }
1760
+ }
1761
+
1762
+ @keyframes charcoal-snackbar-exit {
1763
+ from {
1764
+ opacity: 1;
1765
+ }
1766
+
1767
+ to {
1768
+ opacity: 0;
1769
+ }
1770
+ }
1771
+ .charcoal-text-field-root {
1772
+ display: grid;
1773
+ grid-template-columns: 1fr;
1774
+ grid-gap: 4px;
1775
+ }
1776
+
1777
+ .charcoal-text-field-root[aria-disabled='true'] {
1778
+ opacity: 0.32;
1779
+ }
1780
+
1781
+ .charcoal-text-field-container {
1782
+ display: flex;
1783
+ height: 40px;
1784
+ transition:
1785
+ 0.2s background-color,
1786
+ 0.2s box-shadow;
1787
+ color: var(--charcoal-color-text-secondary-default);
1788
+ background-color: var(--charcoal-color-container-secondary-default-a);
1789
+ border-radius: 4px;
1790
+ padding: 0 8px;
1791
+ line-height: 22px;
1792
+ font-size: 14px;
1793
+ }
1794
+
1795
+ .charcoal-text-field-container[data-invalid='true'] {
1796
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1797
+ }
1798
+
1799
+ .charcoal-text-field-container:not([aria-disabled='true']):hover {
1800
+ background-color: var(--charcoal-color-container-secondary-hover-a);
1801
+ }
1802
+
1803
+ .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
1876
1804
  outline: none;
1877
1805
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1878
1806
  }
1879
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1880
- .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1881
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1807
+
1808
+ .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
1809
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1882
1810
  }
1883
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1884
- .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1885
- box-shadow: none;
1811
+
1812
+ .charcoal-text-field-prefix {
1813
+ display: flex;
1814
+ align-items: center;
1815
+ margin-right: 4px;
1816
+ }
1817
+
1818
+ .charcoal-text-field-suffix {
1819
+ display: flex;
1820
+ align-items: center;
1821
+ gap: 8px;
1822
+ margin-left: 4px;
1823
+ }
1824
+
1825
+ .charcoal-text-field-input-root {
1826
+ flex: 1;
1827
+ min-width: 0;
1828
+ overflow: hidden;
1829
+ }
1830
+
1831
+ .charcoal-text-field-input {
1832
+ border: none;
1833
+ box-sizing: border-box;
1834
+ outline: none;
1835
+ font-family: inherit;
1836
+
1837
+ /* Prevent zooming for iOS Safari */
1838
+ transform-origin: top left;
1839
+ transform: scale(0.875);
1840
+ width: calc(100% / 0.875);
1841
+ height: calc(100% / 0.875);
1842
+ font-size: calc(14px / 0.875);
1843
+ line-height: calc(22px / 0.875);
1844
+ padding-left: 0;
1845
+ padding-right: 0;
1846
+ border-radius: calc(4px / 0.875);
1847
+
1848
+ /* Display box-shadow for iOS Safari */
1849
+ -webkit-appearance: none;
1850
+ -moz-appearance: none;
1851
+ appearance: none;
1852
+ background: transparent;
1853
+
1854
+ color: var(--charcoal-color-text-secondary-default);
1855
+ }
1856
+
1857
+ .charcoal-text-field-input::-moz-placeholder {
1858
+ color: var(--charcoal-color-text-placeholder-default);
1886
1859
  }
1887
- .charcoal-pagination-button[aria-current] {
1888
- cursor: default;
1889
- background-color: var(--charcoal-color-container-hud-default);
1890
- color: var(--charcoal-color-text-on-hud-default);
1860
+
1861
+ .charcoal-text-field-input::placeholder {
1862
+ color: var(--charcoal-color-text-placeholder-default);
1891
1863
  }
1892
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1893
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1894
- background-color: var(--charcoal-color-container-hud-default);
1895
- color: var(--charcoal-color-text-on-hud-default);
1896
- }
1897
- /* stylelint-enable no-descending-specificity */
1898
1864
 
1899
- .charcoal-pagination-nav-button[data-hidden] {
1900
- visibility: hidden;
1865
+ .charcoal-text-field-line-counter {
1866
+ line-height: 22px;
1867
+ font-size: 14px;
1868
+ color: var(--charcoal-color-text-tertiary-default);
1869
+ }
1870
+ .charcoal-icon {
1871
+ display: inline-flex;
1872
+ width: var(--charcoal-icon-size);
1873
+ height: var(--charcoal-icon-size);
1901
1874
  }
1902
1875
 
1903
- .charcoal-pagination-spacer,
1904
- .charcoal-pagination-spacer:hover,
1905
- .charcoal-pagination-spacer:active {
1906
- cursor: default;
1907
- color: var(--charcoal-color-text-tertiary-default);
1908
- background: none;
1876
+ pixiv-icon:not(:defined) {
1877
+ --pixiv-icon-base: 24px;
1878
+ --pixiv-icon-scale: 1;
1879
+ --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
1880
+
1881
+ display: inline-flex;
1882
+ /* --charcoal-icon-size がセットされていればそれを優先、
1883
+ なければ name / scale から導出した --pixiv-icon-size をフォールバック */
1884
+ width: var(--charcoal-icon-size, var(--pixiv-icon-size));
1885
+ height: var(--charcoal-icon-size, var(--pixiv-icon-size));
1886
+ }
1887
+
1888
+ pixiv-icon:not(:defined)[name^='16/'] {
1889
+ --pixiv-icon-base: 16px;
1890
+ --pixiv-icon-size: 16px;
1909
1891
  }
1910
1892
 
1911
- .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1912
- opacity: 1;
1893
+ pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
1894
+ --pixiv-icon-scale: 2;
1895
+ }
1896
+
1897
+ pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
1898
+ --pixiv-icon-scale: 3;
1899
+ }
1900
+
1901
+ pixiv-icon:not(:defined)[name^='32/'] {
1902
+ --pixiv-icon-base: 32px;
1903
+ --pixiv-icon-size: 32px;
1904
+ }
1905
+
1906
+ pixiv-icon:not(:defined)[name^='Inline/'] {
1907
+ --pixiv-icon-base: 16px;
1913
1908
  }
1909
+
1910
+ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1911
+ --pixiv-icon-scale: 2;
1912
+ }
1914
1913
  .charcoal-toast-region {
1915
1914
  --charcoal-toast-offset: 16px;
1916
1915
  }
@@ -1982,177 +1981,119 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1982
1981
  .charcoal-text-field-assistive-text[data-invalid='true'] {
1983
1982
  color: var(--charcoal-color-text-negative-default);
1984
1983
  }
1985
- .charcoal-switch-input {
1986
- cursor: pointer;
1984
+ .charcoal-checkbox-input {
1987
1985
  -webkit-appearance: none;
1988
1986
  -moz-appearance: none;
1989
1987
  appearance: none;
1990
- display: inline-flex;
1988
+ display: flex;
1989
+ cursor: pointer;
1990
+ margin: 0;
1991
+ width: 20px;
1992
+ height: 20px;
1993
+ border-radius: 4px;
1994
+ transition:
1995
+ 0.2s box-shadow,
1996
+ 0.2s background-color;
1991
1997
  position: relative;
1992
1998
  box-sizing: border-box;
1993
- width: 28px;
1994
- border: 2px solid transparent;
1995
-
1996
- transition-property: background-color, box-shadow;
1997
- transition-duration: 0.2s;
1998
-
1999
- outline: none;
2000
- border-radius: 16px;
2001
- height: 16px;
2002
- margin: 0;
2003
- background-color: var(--charcoal-color-container-neutral-default);
2004
1999
  }
2005
2000
 
2006
- .charcoal-switch-input:disabled,
2007
- .charcoal-switch-input[readonly] {
2001
+ .charcoal-checkbox-input:disabled,
2002
+ .charcoal-checkbox-input[readonly] {
2008
2003
  opacity: 0.32;
2009
2004
  cursor: default;
2010
2005
  }
2011
2006
 
2012
- .charcoal-switch-input::after {
2013
- content: '';
2014
- position: absolute;
2015
- display: block;
2016
- top: 0;
2017
- left: 0;
2018
- width: 12px;
2019
- height: 12px;
2020
- transform: translateX(0);
2021
- transition: transform 0.2s;
2022
- border-radius: 1024px;
2023
- background-color: var(--charcoal-color-icon-on-primary-default);
2024
- }
2025
-
2026
- .charcoal-switch-input:checked::after {
2027
- transform: translateX(12px);
2028
- transition: transform 0.2s;
2029
- }
2030
-
2031
- .charcoal-switch-input:checked {
2007
+ .charcoal-checkbox-input:checked {
2032
2008
  background-color: var(--charcoal-color-container-primary-default);
2033
2009
  }
2034
2010
 
2035
- .charcoal-switch-input:not(:disabled):hover {
2036
- background-color: var(--charcoal-color-container-neutral-hover);
2011
+ .charcoal-checkbox-input:checked::after {
2012
+ content: '';
2013
+ background-color: white;
2014
+ display: flex;
2015
+ margin: auto;
2016
+ width: 16px;
2017
+ height: 16px;
2018
+ clip-path: path(
2019
+ 'M10.6 5a1.3 1.3 0 0 1 1.8 1.9l-5.7 5.6-3-2.9a1.3 1.3 0 1 1 2-1.9l1 1z'
2020
+ );
2037
2021
  }
2038
2022
 
2039
- .charcoal-switch-input:not(:disabled):active {
2040
- background-color: var(--charcoal-color-container-neutral-press);
2023
+ .charcoal-checkbox-input:not(:checked) {
2024
+ border-width: 2px;
2025
+ border-style: solid;
2026
+ border-color: var(--charcoal-color-border-default);
2041
2027
  }
2042
2028
 
2043
- .charcoal-switch-input:not(:disabled):focus {
2029
+ .charcoal-checkbox-input:not(:disabled):focus {
2044
2030
  outline: none;
2045
2031
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2046
2032
  }
2047
- .charcoal-switch-input:not(:disabled):focus-visible {
2033
+ .charcoal-checkbox-input:not(:disabled):focus-visible {
2048
2034
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2049
2035
  }
2050
- .charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {
2051
- box-shadow: none;
2052
- }
2053
-
2054
- .charcoal-switch-input:not(:disabled)::after:hover {
2055
- background-color: var(--charcoal-color-icon-on-primary-hover);
2056
- }
2057
-
2058
- .charcoal-switch-input:not(:disabled)::after:active {
2059
- background-color: var(--charcoal-color-icon-on-primary-press);
2060
- }
2061
-
2062
- .charcoal-switch-input:not(:disabled):checked:hover {
2063
- background-color: var(--charcoal-color-container-primary-hover);
2064
- }
2065
-
2066
- .charcoal-switch-input:not(:disabled):checked:active {
2067
- background-color: var(--charcoal-color-container-primary-press);
2068
- }
2069
- .charcoal-radio-input {
2070
- -webkit-appearance: none;
2071
- -moz-appearance: none;
2072
- appearance: none;
2073
- display: block;
2074
- box-sizing: border-box;
2075
-
2076
- margin: 0;
2077
- padding: 6px;
2078
-
2079
- width: 20px;
2080
- height: 20px;
2081
- cursor: pointer;
2082
- border-radius: 999999px;
2083
- background-color: var(--charcoal-color-container-default);
2084
- transition:
2085
- 0.2s background-color,
2086
- 0.2s box-shadow;
2087
- }
2088
-
2089
- .charcoal-radio-input:checked {
2090
- background-color: var(--charcoal-color-container-primary-default);
2091
- }
2092
-
2093
- .charcoal-radio-input:checked::after {
2094
- content: '';
2095
- display: block;
2096
- width: 8px;
2097
- height: 8px;
2098
- pointer-events: none;
2099
- background-color: var(--charcoal-color-icon-on-primary-default);
2100
- border-radius: 999999px;
2101
- transition:
2102
- 0.2s background-color,
2103
- 0.2s box-shadow;
2104
- }
2105
-
2106
- .charcoal-radio-input:not(:checked) {
2107
- border-width: 2px;
2108
- border-style: solid;
2109
- border-color: var(--charcoal-color-border-default);
2036
+ .charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {
2037
+ box-shadow: none;
2110
2038
  }
2111
2039
 
2112
- .charcoal-radio-input:disabled {
2113
- cursor: default;
2040
+ .charcoal-checkbox-input:checked:not(:disabled):hover {
2041
+ background-color: var(--charcoal-color-container-primary-hover);
2114
2042
  }
2115
-
2116
- .charcoal-radio-input:not(:disabled):hover {
2117
- background-color: var(--charcoal-color-container-hover);
2043
+ .charcoal-checkbox-input:checked:not(:disabled):active {
2044
+ background-color: var(--charcoal-color-container-primary-press);
2118
2045
  }
2119
2046
 
2120
- .charcoal-radio-input:not(:disabled):active {
2121
- background-color: var(--charcoal-color-container-press);
2047
+ .charcoal-checkbox-input[aria-invalid='true'],
2048
+ .charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {
2049
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2122
2050
  }
2123
2051
 
2124
- .charcoal-radio-input:not(:disabled):focus {
2125
- outline: none;
2126
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2052
+ .charcoal-checkbox-input[data-rounded='true'] {
2053
+ border-radius: 10px;
2054
+ background-color: var(--charcoal-color-container-secondary-default);
2055
+ border: 2px solid transparent;
2127
2056
  }
2128
2057
 
2129
- .charcoal-radio-input:not(:disabled):focus-visible {
2130
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2058
+ .charcoal-checkbox-input[data-rounded='true']:checked {
2059
+ background-color: var(--charcoal-color-container-primary-default);
2131
2060
  }
2132
2061
 
2133
- .charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {
2134
- box-shadow: none;
2062
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {
2063
+ background-color: var(--charcoal-color-container-secondary-hover);
2064
+ }
2065
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {
2066
+ background-color: var(--charcoal-color-container-secondary-press);
2135
2067
  }
2136
2068
 
2137
- .charcoal-radio-input:not(:disabled)[aria-invalid='true'],
2138
- .charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {
2139
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2069
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {
2070
+ box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);
2140
2071
  }
2141
2072
 
2142
- .charcoal-radio-input:checked:not(:disabled):hover {
2073
+ .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {
2143
2074
  background-color: var(--charcoal-color-container-primary-hover);
2144
2075
  }
2145
-
2146
- .charcoal-radio-input:checked:not(:disabled):hover::after {
2147
- background-color: var(--charcoal-color-icon-on-primary-hover);
2076
+ .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {
2077
+ background-color: var(--charcoal-color-container-primary-press);
2148
2078
  }
2149
2079
 
2150
- .charcoal-radio-input:checked:not(:disabled):active {
2151
- background-color: var(--charcoal-color-container-primary-press);
2080
+ .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],
2081
+ .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(
2082
+ :disabled
2083
+ ):focus {
2084
+ box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);
2152
2085
  }
2153
2086
 
2154
- .charcoal-radio-input:checked:not(:disabled):active::after {
2155
- background-color: var(--charcoal-color-icon-on-primary-press);
2087
+ .charcoal-checkbox-input[data-rounded='true']::before {
2088
+ content: '';
2089
+ width: 24px;
2090
+ height: 24px;
2091
+ position: absolute;
2092
+ top: -4px;
2093
+ left: -4px;
2094
+ border-radius: 12px;
2095
+ border: 2px solid #fff;
2096
+ box-sizing: border-box;
2156
2097
  }
2157
2098
  .charcoal-field-label {
2158
2099
  font-size: 14px;
@@ -2260,123 +2201,181 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2260
2201
  .charcoal-modal-dialog:focus {
2261
2202
  outline: none;
2262
2203
  }
2263
- .charcoal-menu-list {
2264
- padding: 0;
2265
- margin: 0;
2266
- }
2267
- .charcoal-checkbox-input {
2204
+ .charcoal-radio-input {
2268
2205
  -webkit-appearance: none;
2269
2206
  -moz-appearance: none;
2270
2207
  appearance: none;
2271
- display: flex;
2272
- cursor: pointer;
2208
+ display: block;
2209
+ box-sizing: border-box;
2210
+
2273
2211
  margin: 0;
2212
+ padding: 6px;
2213
+
2274
2214
  width: 20px;
2275
2215
  height: 20px;
2276
- border-radius: 4px;
2216
+ cursor: pointer;
2217
+ border-radius: 999999px;
2218
+ background-color: var(--charcoal-color-container-default);
2277
2219
  transition:
2278
- 0.2s box-shadow,
2279
- 0.2s background-color;
2280
- position: relative;
2281
- box-sizing: border-box;
2282
- }
2283
-
2284
- .charcoal-checkbox-input:disabled,
2285
- .charcoal-checkbox-input[readonly] {
2286
- opacity: 0.32;
2287
- cursor: default;
2220
+ 0.2s background-color,
2221
+ 0.2s box-shadow;
2288
2222
  }
2289
2223
 
2290
- .charcoal-checkbox-input:checked {
2224
+ .charcoal-radio-input:checked {
2291
2225
  background-color: var(--charcoal-color-container-primary-default);
2292
2226
  }
2293
2227
 
2294
- .charcoal-checkbox-input:checked::after {
2228
+ .charcoal-radio-input:checked::after {
2295
2229
  content: '';
2296
- background-color: white;
2297
- display: flex;
2298
- margin: auto;
2299
- width: 16px;
2300
- height: 16px;
2301
- clip-path: path(
2302
- 'M10.6 5a1.3 1.3 0 0 1 1.8 1.9l-5.7 5.6-3-2.9a1.3 1.3 0 1 1 2-1.9l1 1z'
2303
- );
2230
+ display: block;
2231
+ width: 8px;
2232
+ height: 8px;
2233
+ pointer-events: none;
2234
+ background-color: var(--charcoal-color-icon-on-primary-default);
2235
+ border-radius: 999999px;
2236
+ transition:
2237
+ 0.2s background-color,
2238
+ 0.2s box-shadow;
2304
2239
  }
2305
2240
 
2306
- .charcoal-checkbox-input:not(:checked) {
2241
+ .charcoal-radio-input:not(:checked) {
2307
2242
  border-width: 2px;
2308
2243
  border-style: solid;
2309
2244
  border-color: var(--charcoal-color-border-default);
2310
2245
  }
2311
2246
 
2312
- .charcoal-checkbox-input:not(:disabled):focus {
2247
+ .charcoal-radio-input:disabled {
2248
+ cursor: default;
2249
+ }
2250
+
2251
+ .charcoal-radio-input:not(:disabled):hover {
2252
+ background-color: var(--charcoal-color-container-hover);
2253
+ }
2254
+
2255
+ .charcoal-radio-input:not(:disabled):active {
2256
+ background-color: var(--charcoal-color-container-press);
2257
+ }
2258
+
2259
+ .charcoal-radio-input:not(:disabled):focus {
2313
2260
  outline: none;
2314
2261
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2315
2262
  }
2316
- .charcoal-checkbox-input:not(:disabled):focus-visible {
2263
+
2264
+ .charcoal-radio-input:not(:disabled):focus-visible {
2317
2265
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2318
2266
  }
2319
- .charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {
2267
+
2268
+ .charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {
2320
2269
  box-shadow: none;
2321
2270
  }
2322
2271
 
2323
- .charcoal-checkbox-input:checked:not(:disabled):hover {
2272
+ .charcoal-radio-input:not(:disabled)[aria-invalid='true'],
2273
+ .charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {
2274
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2275
+ }
2276
+
2277
+ .charcoal-radio-input:checked:not(:disabled):hover {
2324
2278
  background-color: var(--charcoal-color-container-primary-hover);
2325
2279
  }
2326
- .charcoal-checkbox-input:checked:not(:disabled):active {
2327
- background-color: var(--charcoal-color-container-primary-press);
2280
+
2281
+ .charcoal-radio-input:checked:not(:disabled):hover::after {
2282
+ background-color: var(--charcoal-color-icon-on-primary-hover);
2328
2283
  }
2329
2284
 
2330
- .charcoal-checkbox-input[aria-invalid='true'],
2331
- .charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {
2332
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2285
+ .charcoal-radio-input:checked:not(:disabled):active {
2286
+ background-color: var(--charcoal-color-container-primary-press);
2333
2287
  }
2334
2288
 
2335
- .charcoal-checkbox-input[data-rounded='true'] {
2336
- border-radius: 10px;
2337
- background-color: var(--charcoal-color-container-secondary-default);
2289
+ .charcoal-radio-input:checked:not(:disabled):active::after {
2290
+ background-color: var(--charcoal-color-icon-on-primary-press);
2291
+ }
2292
+ .charcoal-switch-input {
2293
+ cursor: pointer;
2294
+ -webkit-appearance: none;
2295
+ -moz-appearance: none;
2296
+ appearance: none;
2297
+ display: inline-flex;
2298
+ position: relative;
2299
+ box-sizing: border-box;
2300
+ width: 28px;
2338
2301
  border: 2px solid transparent;
2302
+
2303
+ transition-property: background-color, box-shadow;
2304
+ transition-duration: 0.2s;
2305
+
2306
+ outline: none;
2307
+ border-radius: 16px;
2308
+ height: 16px;
2309
+ margin: 0;
2310
+ background-color: var(--charcoal-color-container-neutral-default);
2339
2311
  }
2340
2312
 
2341
- .charcoal-checkbox-input[data-rounded='true']:checked {
2313
+ .charcoal-switch-input:disabled,
2314
+ .charcoal-switch-input[readonly] {
2315
+ opacity: 0.32;
2316
+ cursor: default;
2317
+ }
2318
+
2319
+ .charcoal-switch-input::after {
2320
+ content: '';
2321
+ position: absolute;
2322
+ display: block;
2323
+ top: 0;
2324
+ left: 0;
2325
+ width: 12px;
2326
+ height: 12px;
2327
+ transform: translateX(0);
2328
+ transition: transform 0.2s;
2329
+ border-radius: 1024px;
2330
+ background-color: var(--charcoal-color-icon-on-primary-default);
2331
+ }
2332
+
2333
+ .charcoal-switch-input:checked::after {
2334
+ transform: translateX(12px);
2335
+ transition: transform 0.2s;
2336
+ }
2337
+
2338
+ .charcoal-switch-input:checked {
2342
2339
  background-color: var(--charcoal-color-container-primary-default);
2343
2340
  }
2344
2341
 
2345
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {
2346
- background-color: var(--charcoal-color-container-secondary-hover);
2342
+ .charcoal-switch-input:not(:disabled):hover {
2343
+ background-color: var(--charcoal-color-container-neutral-hover);
2347
2344
  }
2348
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {
2349
- background-color: var(--charcoal-color-container-secondary-press);
2345
+
2346
+ .charcoal-switch-input:not(:disabled):active {
2347
+ background-color: var(--charcoal-color-container-neutral-press);
2350
2348
  }
2351
2349
 
2352
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {
2353
- box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);
2350
+ .charcoal-switch-input:not(:disabled):focus {
2351
+ outline: none;
2352
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2353
+ }
2354
+ .charcoal-switch-input:not(:disabled):focus-visible {
2355
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2356
+ }
2357
+ .charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {
2358
+ box-shadow: none;
2354
2359
  }
2355
2360
 
2356
- .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {
2357
- background-color: var(--charcoal-color-container-primary-hover);
2361
+ .charcoal-switch-input:not(:disabled)::after:hover {
2362
+ background-color: var(--charcoal-color-icon-on-primary-hover);
2358
2363
  }
2359
- .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {
2360
- background-color: var(--charcoal-color-container-primary-press);
2364
+
2365
+ .charcoal-switch-input:not(:disabled)::after:active {
2366
+ background-color: var(--charcoal-color-icon-on-primary-press);
2361
2367
  }
2362
2368
 
2363
- .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],
2364
- .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(
2365
- :disabled
2366
- ):focus {
2367
- box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);
2369
+ .charcoal-switch-input:not(:disabled):checked:hover {
2370
+ background-color: var(--charcoal-color-container-primary-hover);
2368
2371
  }
2369
2372
 
2370
- .charcoal-checkbox-input[data-rounded='true']::before {
2371
- content: '';
2372
- width: 24px;
2373
- height: 24px;
2374
- position: absolute;
2375
- top: -4px;
2376
- left: -4px;
2377
- border-radius: 12px;
2378
- border: 2px solid #fff;
2379
- box-sizing: border-box;
2373
+ .charcoal-switch-input:not(:disabled):checked:active {
2374
+ background-color: var(--charcoal-color-container-primary-press);
2375
+ }
2376
+ .charcoal-menu-list {
2377
+ padding: 0;
2378
+ margin: 0;
2380
2379
  }
2381
2380
  .charcoal-popover {
2382
2381
  margin: 4px 0;