@charcoal-ui/react 6.1.0-beta.6 → 6.1.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  2. package/dist/components/DropdownSelector/Popover/index2.cjs +32 -1
  3. package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -1
  4. package/dist/components/DropdownSelector/Popover/index2.js +32 -1
  5. package/dist/components/DropdownSelector/Popover/index2.js.map +1 -1
  6. package/dist/components/Notification/NotificationRegion.cjs +3 -2
  7. package/dist/components/Notification/NotificationRegion.cjs.map +1 -1
  8. package/dist/components/Notification/NotificationRegion.d.ts.map +1 -1
  9. package/dist/components/Notification/NotificationRegion.js +3 -2
  10. package/dist/components/Notification/NotificationRegion.js.map +1 -1
  11. package/dist/components/Notification/types.d.ts +5 -0
  12. package/dist/components/Notification/types.d.ts.map +1 -1
  13. package/dist/components/TextField/index.d.ts +0 -2
  14. package/dist/components/TextField/index.d.ts.map +1 -1
  15. package/dist/components/TextField/index2.cjs.map +1 -1
  16. package/dist/components/TextField/index2.js.map +1 -1
  17. package/dist/index.css +1341 -1346
  18. package/dist/layered.css +1341 -1346
  19. package/dist/layered.css.map +1 -1
  20. package/package.json +3 -3
  21. package/src/components/DropdownSelector/Popover/index.tsx +60 -2
  22. package/src/components/DropdownSelector/index.browser.test.tsx +78 -3
  23. package/src/components/DropdownSelector/index.story.tsx +37 -0
  24. package/src/components/Notification/NotificationRegion.browser.test.tsx +120 -0
  25. package/src/components/Notification/NotificationRegion.tsx +3 -2
  26. package/src/components/Notification/Snackbar/__snapshots__/index.css.snap +3 -6
  27. package/src/components/Notification/Snackbar/index.css +5 -6
  28. package/src/components/Notification/Snackbar/index.story.tsx +0 -1
  29. package/src/components/Notification/Toast/__snapshots__/index.css.snap +3 -5
  30. package/src/components/Notification/Toast/index.css +5 -5
  31. package/src/components/Notification/Toast/index.story.tsx +0 -1
  32. package/src/components/Notification/types.ts +5 -0
  33. package/src/components/TextField/index.tsx +0 -1
package/dist/layered.css CHANGED
@@ -6,1336 +6,1360 @@
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;
33
- 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;
9
+ .charcoal-loading-spinner {
10
+ box-sizing: content-box;
11
+ margin: auto;
12
+ padding: 16px;
13
+ border-radius: 8px;
14
+ font-size: 48px;
15
+ width: 48px;
16
+ height: 48px;
17
+ opacity: 0.84;
18
+ color: var(--charcoal-color-icon-tertiary-default);
19
+ background-color: var(--charcoal-color-background-default);
52
20
  }
53
21
 
54
- .charcoal-button:disabled,
55
- .charcoal-button[aria-disabled]:not([aria-disabled='false']) {
56
- cursor: default;
57
- opacity: 0.32;
22
+ .charcoal-loading-spinner[data-transparent='true'] {
23
+ background-color: transparent;
58
24
  }
59
25
 
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);
26
+ @keyframes charcoal-loading-spinner-icon-scale-out {
27
+ from {
28
+ transform: scale(0);
29
+ opacity: 1;
64
30
  }
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);
31
+ to {
32
+ transform: scale(1);
33
+ opacity: 0;
70
34
  }
35
+ }
71
36
 
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);
37
+ .charcoal-loading-spinner-icon {
38
+ width: 1em;
39
+ height: 1em;
40
+ border-radius: 1em;
41
+ background-color: currentColor;
42
+ animation: charcoal-loading-spinner-icon-scale-out 1s infinite both ease-out;
43
+ }
44
+
45
+ .charcoal-loading-spinner-icon[data-reset-animation] {
46
+ animation: none;
77
47
  }
78
48
 
79
- .charcoal-button[data-variant='Primary'] {
80
- color: var(--charcoal-color-text-on-primary-default);
81
- background-color: var(--charcoal-color-container-primary-default);
49
+ .charcoal-loading-spinner-icon[data-once='true'] {
50
+ animation-iteration-count: 1;
82
51
  }
52
+ .charcoal-dropdown-selector-root {
53
+ display: grid;
54
+ grid-template-columns: 1fr;
55
+ grid-gap: 4px;
56
+ width: 100%;
57
+ }
83
58
 
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
- }
59
+ .charcoal-dropdown-selector-root[aria-disabled='true'] {
60
+ cursor: default;
61
+ opacity: 0.32;
62
+ }
89
63
 
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
- }
64
+ .charcoal-dropdown-selector-button {
65
+ display: grid;
66
+ grid-template-columns: 1fr auto;
67
+ justify-content: space-between;
68
+ align-items: center;
96
69
 
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
- }
70
+ height: 40px;
71
+ width: 100%;
72
+ box-sizing: border-box;
73
+ border: none;
74
+ cursor: pointer;
75
+ gap: 4px;
101
76
 
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
- }
77
+ padding-right: 8px;
78
+ padding-left: 8px;
79
+ background-color: var(--charcoal-color-container-secondary-default-a);
80
+ border-radius: 4px;
107
81
 
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
- }
82
+ transition:
83
+ 0.2s box-shadow,
84
+ 0.2s background-color;
85
+ }
114
86
 
115
- .charcoal-button[data-variant='Navigation'] {
116
- color: var(--charcoal-color-text-on-hud-default);
117
- background-color: var(--charcoal-color-container-hud-default);
87
+ .charcoal-dropdown-selector-button:disabled {
88
+ cursor: default;
118
89
  }
119
90
 
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);
91
+ .charcoal-dropdown-selector-button:not(:disabled):focus {
92
+ outline: none;
93
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
124
94
  }
125
95
 
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);
96
+ .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
97
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
131
98
  }
132
99
 
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);
100
+ .charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],
101
+ .charcoal-dropdown-selector-button:not(:disabled):active {
102
+ background-color: var(--charcoal-color-container-secondary-press-a);
142
103
  }
143
104
 
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);
105
+ .charcoal-dropdown-selector-button:not(:disabled):hover {
106
+ background-color: var(--charcoal-color-container-secondary-hover-a);
149
107
  }
150
108
 
151
- .charcoal-button[data-size='S'] {
152
- padding: 0 16px;
153
- height: 32px;
154
- }
109
+ .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
110
+ box-shadow: none;
111
+ }
155
112
 
156
- .charcoal-button[data-full-width='true'] {
157
- width: 100%;
113
+ .charcoal-dropdown-selector-button[aria-invalid='true'],
114
+ .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
115
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
158
116
  }
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
117
 
185
- /* Remove the inheritance of text transform in Firefox. */
186
- text-transform: none;
118
+ .charcoal-ui-dropdown-selector-text {
119
+ text-align: left;
120
+ font-size: 14px;
121
+ line-height: 22px;
122
+ display: flow-root;
123
+ color: var(--charcoal-color-text-default);
124
+ overflow: hidden;
125
+ text-overflow: ellipsis;
126
+ white-space: nowrap;
187
127
  }
188
128
 
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;
129
+ .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
130
+ color: var(--charcoal-color-text-placeholder-default);
201
131
  }
202
- .charcoal-icon-button {
203
- cursor: pointer;
204
- -webkit-appearance: none;
205
- -moz-appearance: none;
206
- appearance: none;
207
- background: transparent;
208
- padding: 0;
209
- border-style: none;
210
- outline: none;
211
- color: inherit;
212
- text-rendering: inherit;
213
- letter-spacing: inherit;
214
- word-spacing: inherit;
215
- text-decoration: none;
216
- font: inherit;
217
- margin: 0;
218
- overflow: visible;
219
- text-transform: none;
220
-
221
- -webkit-user-select: none;
222
132
 
223
- -moz-user-select: none;
133
+ .charcoal-ui-dropdown-selector-icon {
134
+ color: var(--charcoal-color-icon-secondary-default);
135
+ }
136
+ .charcoal-dropdown-selector-menu-item {
137
+ font-size: 14px;
138
+ line-height: 22px;
139
+ color: var(--charcoal-color-text-secondary-default);
140
+ padding: 9px 0;
224
141
 
225
- user-select: none;
226
142
  display: flex;
227
143
  align-items: center;
228
- justify-content: center;
229
- border-radius: 999999px;
230
- transition:
231
- 0.2s background-color,
232
- 0.2s box-shadow;
144
+ width: 100%;
145
+ margin-left: 20px;
233
146
  }
234
147
 
235
- .charcoal-icon-button:disabled,
236
- .charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {
237
- cursor: default;
238
- opacity: 0.32;
239
- }
240
-
241
- .charcoal-icon-button:focus {
242
- outline: none;
243
- }
244
-
245
- .charcoal-icon-button::-moz-focus-inner {
246
- border-style: none;
247
- padding: 0;
248
- }
249
-
250
- .charcoal-icon-button[data-size='XS'] {
251
- width: 20px;
252
- height: 20px;
253
- }
254
-
255
- .charcoal-icon-button[data-size='S'] {
256
- width: 32px;
257
- height: 32px;
258
- }
259
-
260
- .charcoal-icon-button[data-size='M'] {
261
- width: 40px;
262
- height: 40px;
263
- }
264
-
265
- .charcoal-icon-button[data-variant='Default'] {
266
- color: var(--charcoal-color-icon-tertiary-default);
267
- background-color: transparent;
268
- }
269
-
270
- .charcoal-icon-button[data-variant='Default'][data-active='true']:not(:disabled):not([aria-disabled]),
271
- .charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {
272
- color: var(--charcoal-color-icon-tertiary-press);
273
- background-color: var(--charcoal-color-container-press-a);
274
- }
275
-
276
- .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
277
- .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {
278
- color: var(--charcoal-color-icon-tertiary-hover);
279
- background-color: var(--charcoal-color-container-hover-a);
280
- }
148
+ .charcoal-dropdown-selector-menu-item[data-selected='true'] {
149
+ margin-left: 0px;
150
+ }
281
151
 
282
- .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):active,
283
- .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {
284
- color: var(--charcoal-color-icon-tertiary-press);
285
- background-color: var(--charcoal-color-container-press-a);
286
- }
152
+ .charcoal-dropdown-selector-menu-item-icon {
153
+ color: var(--charcoal-color-text-secondary-default);
154
+ padding-right: 4px;
155
+ }
287
156
 
288
- .charcoal-icon-button[data-variant='Overlay'] {
289
- color: var(--charcoal-color-icon-on-on-img-default);
290
- background-color: var(--charcoal-color-container-on-img-default);
291
- }
157
+ .charcoal-dropdown-selector-menu-item-container {
158
+ display: flex;
159
+ align-items: center;
160
+ }
292
161
 
293
- .charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(:disabled):not([aria-disabled]),
294
- .charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {
295
- color: var(--charcoal-color-icon-on-on-img-press);
296
- background-color: var(--charcoal-color-container-on-img-press);
297
- }
162
+ .charcoal-dropdown-selector-menu-secondary {
163
+ font-size: 12px;
164
+ line-height: 20px;
165
+ color: var(--charcoal-color-text-tertiary-default);
166
+ padding-bottom: 9px;
298
167
 
299
- .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
300
- .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {
301
- color: var(--charcoal-color-icon-on-on-img-hover);
302
- background-color: var(--charcoal-color-container-on-img-hover);
303
- }
168
+ display: flex;
169
+ align-items: center;
170
+ margin-left: 20px;
171
+ }
304
172
 
305
- .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):active,
306
- .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {
307
- color: var(--charcoal-color-icon-on-on-img-press);
308
- background-color: var(--charcoal-color-container-on-img-press);
309
- }
173
+ .charcoal-dropdown-selector-menu-fullwidth {
174
+ width: 100%;
175
+ }
176
+ .charcoal-text-ellipsis {
177
+ /* Runtime variables overridden by the React component. */
178
+ --charcoal-text-ellipsis-line-limit: 1;
179
+ --charcoal-text-ellipsis-line-height: inherit;
310
180
 
311
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,
312
- .charcoal-icon-button[aria-disabled='false']:focus {
313
- outline: none;
314
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
181
+ overflow: hidden;
182
+ overflow-wrap: break-word;
183
+ display: -webkit-box;
184
+ -webkit-box-orient: vertical;
185
+ -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
186
+ }
187
+
188
+ .charcoal-text-ellipsis[data-has-line-height='true'] {
189
+ line-height: var(--charcoal-text-ellipsis-line-height);
315
190
  }
316
191
 
317
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,
318
- .charcoal-icon-button[aria-disabled='false']:focus-visible {
319
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
192
+ .charcoal-text-ellipsis[data-has-line-height='false'] {
193
+ line-height: inherit;
320
194
  }
321
195
 
322
- .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
323
- .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
324
- box-shadow: none;
196
+ .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
197
+ text-overflow: ellipsis;
198
+ white-space: nowrap;
325
199
  }
326
- .charcoal-radio__label {
327
- display: grid;
328
- grid-template-columns: auto 1fr;
329
- grid-gap: 4px;
330
- align-items: center;
200
+ .charcoal-checkbox__label {
201
+ position: relative;
331
202
  cursor: pointer;
203
+ display: flex;
204
+ gap: 4px;
332
205
  }
333
206
 
334
- .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
335
- opacity: 0.32;
207
+ .charcoal-checkbox__label[aria-disabled='true'] {
336
208
  cursor: default;
209
+ opacity: 0.32;
337
210
  }
338
211
 
339
- .charcoal-radio__label_div {
340
- font-size: 14px;
341
- line-height: 22px;
212
+ .charcoal-checkbox__label[aria-disabled='true'] > input {
213
+ opacity: 1;
214
+ }
215
+
216
+ .charcoal-checkbox__label_div {
217
+ flex: 1;
342
218
  color: var(--charcoal-color-text-default);
219
+ font-size: 14px;
220
+ line-height: 20px;
343
221
  }
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;
222
+ .charcoal-segmented-control {
223
+ display: inline-flex;
352
224
  align-items: center;
353
- position: relative;
354
- cursor: pointer;
355
- gap: 4px;
225
+
226
+ background-color: var(--charcoal-color-container-secondary-default-a);
227
+ border-radius: 16px;
356
228
  }
357
229
 
358
- .charcoal-multi-select:disabled,
359
- .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
360
- opacity: 0.32;
361
- cursor: default;
230
+ .charcoal-segmented-control[data-uniform-segment-width='true'],
231
+ .charcoal-segmented-control[data-full-width='true'] {
232
+ display: inline-grid;
233
+ grid-auto-columns: minmax(80px, 1fr);
234
+ grid-auto-rows: 32px;
235
+ grid-auto-flow: column;
362
236
  }
363
237
 
364
- .charcoal-multi-select-label {
365
- display: flow-root;
238
+ .charcoal-segmented-control[data-full-width='true'] {
239
+ width: 100%;
240
+ }
241
+
242
+ .charcoal-segmented-control-radio__label {
243
+ position: relative;
244
+ display: flex;
366
245
  align-items: center;
246
+ justify-content: center;
247
+ cursor: pointer;
248
+ height: 32px;
249
+
250
+ padding-right: 16px;
251
+ padding-left: 16px;
252
+ border-radius: 16px;
253
+ color: var(--charcoal-color-text-secondary-default);
254
+
367
255
  font-size: 14px;
368
256
  line-height: 22px;
369
- color: var(--charcoal-color-text-default);
370
257
  }
371
258
 
372
- .charcoal-multi-select-label::before {
373
- display: block;
374
- width: 0;
375
- height: 0;
376
- content: '';
377
- margin-top: -4px;
259
+ .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
260
+ cursor: default;
261
+ opacity: 0.32;
378
262
  }
379
263
 
380
- .charcoal-multi-select-label::after {
381
- display: block;
382
- width: 0;
383
- height: 0;
384
- content: '';
385
- margin-bottom: -4px;
264
+ .charcoal-segmented-control-radio__label[data-checked='true'] {
265
+ background-color: var(--charcoal-color-container-primary-default);
266
+ color: var(--charcoal-color-text-on-primary-default);
386
267
  }
387
268
 
388
- .charcoal-multi-select-input[type='checkbox'] {
269
+ .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
270
+ .charcoal-segmented-control-radio__label[data-full-width='true'] {
271
+ justify-content: center;
272
+ white-space: nowrap;
273
+ }
274
+
275
+ .charcoal-segmented-control-radio__input {
276
+ position: absolute;
277
+
278
+ height: 0px;
279
+ width: 0px;
280
+ padding: 0;
281
+ margin: 0;
282
+
389
283
  -webkit-appearance: none;
284
+
390
285
  -moz-appearance: none;
286
+
391
287
  appearance: none;
392
- 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;
288
+ box-sizing: border-box;
289
+ overflow: hidden;
290
+ white-space: nowrap;
291
+ opacity: 0;
401
292
  }
293
+ .charcoal-tag-item {
294
+ --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
295
+ --charcoal-tag-item-size: 40px;
296
+ --charcoal-tag-item-padding-left: 24px;
297
+ --charcoal-tag-item-padding-right: 24px;
298
+ --charcoal-tag-item-bg: ;
402
299
 
403
- .charcoal-multi-select-input[type='checkbox']:checked {
404
- background-color: var(--charcoal-color-container-primary-default);
405
- }
300
+ isolation: isolate;
301
+ position: relative;
406
302
 
407
- .charcoal-multi-select-input[type='checkbox']:focus {
408
- outline: none;
409
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
303
+ -webkit-appearance: none;
304
+
305
+ -moz-appearance: none;
306
+
307
+ appearance: none;
308
+ outline: none;
309
+ border-style: none;
310
+
311
+ display: inline-flex;
312
+ gap: 8px;
313
+ align-items: center;
314
+ justify-content: center;
315
+
316
+ text-decoration: none;
317
+ cursor: pointer;
318
+ overflow: hidden;
319
+
320
+ color: var(--charcoal-tag-item-color);
321
+ height: var(--charcoal-tag-item-size);
322
+ padding-top: 4px;
323
+ padding-bottom: 4px;
324
+ padding-left: var(--charcoal-tag-item-padding-left);
325
+ padding-right: var(--charcoal-tag-item-padding-right);
326
+ box-sizing: border-box;
327
+ border-radius: 4px;
328
+
329
+ transition: 0.2s box-shadow;
330
+ }
331
+
332
+ .charcoal-tag-item[data-size='M'] {
333
+ --charcoal-tag-item-size: 40px;
334
+ --charcoal-tag-item-padding-left: 24px;
335
+ --charcoal-tag-item-padding-right: 24px;
410
336
  }
411
337
 
412
- .charcoal-multi-select-input[type='checkbox']:focus-visible {
413
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
338
+ .charcoal-tag-item[data-size='S'] {
339
+ --charcoal-tag-item-size: 32px;
340
+ --charcoal-tag-item-padding-left: 16px;
341
+ --charcoal-tag-item-padding-right: 16px;
414
342
  }
415
343
 
416
- .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
417
- box-shadow: none;
344
+ .charcoal-tag-item[data-state='inactive'] {
345
+ --charcoal-tag-item-color: var(--charcoal-color-text-secondary-default);
418
346
  }
419
347
 
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);
348
+ .charcoal-tag-item[data-state='active'] {
349
+ --charcoal-tag-item-padding-left: 16px;
350
+ --charcoal-tag-item-padding-right: 8px;
423
351
  }
424
352
 
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);
353
+ .charcoal-tag-item:disabled,
354
+ .charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {
355
+ opacity: 0.32;
356
+ cursor: default;
428
357
  }
429
358
 
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);
359
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,
360
+ .charcoal-tag-item[aria-disabled='false']:focus-visible {
361
+ outline: none;
362
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
433
363
  }
434
364
 
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);
365
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,
366
+ .charcoal-tag-item[aria-disabled='false']:focus {
367
+ outline: none;
368
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
438
369
  }
439
370
 
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);
371
+ .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
372
+ .charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {
373
+ box-shadow: none;
444
374
  }
445
375
 
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
- }
376
+ .charcoal-tag-item__bg {
377
+ background-color: var(--charcoal-tag-item-bg);
378
+ }
449
379
 
450
- .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
380
+ .charcoal-tag-item__bg[data-bg-variant='image'] {
451
381
  background-color: var(--charcoal-color-container-on-img-default);
452
382
  }
453
383
 
454
- .charcoal-multi-select-overlay {
455
- position: absolute;
456
- top: -2px;
457
- left: -2px;
458
- box-sizing: border-box;
384
+ .charcoal-tag-item__bg[data-bg-variant='image']::before {
385
+ content: '';
386
+ position: absolute;
387
+ z-index: 1;
388
+ top: 0;
389
+ left: 0;
390
+ width: 100%;
391
+ height: 100%;
392
+ background-position: center;
393
+ background-size: cover;
394
+ background-image: var(--charcoal-tag-item-bg);
395
+ mix-blend-mode: overlay;
396
+ }
397
+
398
+ .charcoal-tag-item__bg[data-state='inactive'] {
399
+ background-color: var(--charcoal-color-container-secondary-default);
400
+ }
401
+
402
+ .charcoal-tag-item__label {
403
+ height: 100%;
459
404
  display: flex;
405
+ flex-direction: column;
460
406
  align-items: center;
461
407
  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
408
  }
468
409
 
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
- }
474
-
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);
410
+ .charcoal-tag-item__label[data-has-translate='true'] {
411
+ justify-content: space-between;
477
412
  }
478
413
 
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;
414
+ .charcoal-tag-item__label__translated {
415
+ --charcoal-tag-item-text-font-size: 12px;
416
+ --charcoal-tag-item-text-line-height: 20px;
417
+ font-weight: bold;
491
418
  }
492
419
 
493
- .charcoal-switch__label[aria-disabled='true'] {
494
- opacity: 0.32;
495
- cursor: default;
420
+ .charcoal-tag-item__label__translated::before {
421
+ display: none;
496
422
  }
497
423
 
498
- .charcoal-switch__label[aria-disabled='true'] > input {
499
- opacity: 1;
500
- }
424
+ .charcoal-tag-item__label__text {
425
+ --charcoal-tag-item-text-font-size: 14px;
426
+ --charcoal-tag-item-text-line-height: 22px;
501
427
 
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;
428
+ max-width: 152px;
429
+ overflow: hidden;
430
+ font-weight: bold;
431
+
432
+ color: inherit;
433
+ white-space: nowrap;
434
+ text-overflow: ellipsis;
511
435
  }
512
436
 
513
- .charcoal-text-field-root[aria-disabled='true'] {
514
- opacity: 0.32;
437
+ .charcoal-tag-item__label__text[data-has-translate='true'] {
438
+ --charcoal-tag-item-text-font-size: 10px;
439
+ --charcoal-tag-item-text-line-height: 14px;
440
+ font-weight: normal;
515
441
  }
516
442
 
517
- .charcoal-text-field-container {
443
+ /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
444
+ .charcoal-tag-item__labe__text[data-has-translate='true']::after {
445
+ display: none;
446
+ }
447
+ .charcoal-hint-text {
448
+ background-color: var(--charcoal-color-container-secondary-default);
449
+ border-radius: 8px;
450
+ padding: 12px 16px;
518
451
  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;
452
+ align-items: flex-start;
529
453
  }
530
454
 
531
- .charcoal-text-field-container[data-invalid='true'] {
532
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
533
- }
534
-
535
- .charcoal-text-field-container:not([aria-disabled='true']):hover {
536
- background-color: var(--charcoal-color-container-secondary-hover-a);
455
+ .charcoal-hint-text[data-context='page'] {
456
+ justify-content: center;
537
457
  }
538
458
 
539
- .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
540
- outline: none;
541
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
542
- }
459
+ @media (min-width: 744px) {
543
460
 
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);
461
+ .charcoal-hint-text[data-context='page'] {
462
+ padding: 20px 40px
546
463
  }
464
+ }
547
465
 
548
- .charcoal-text-field-prefix {
549
- display: flex;
550
- align-items: center;
551
- margin-right: 4px;
552
- }
553
-
554
- .charcoal-text-field-suffix {
466
+ .charcoal-hint-text-icon {
555
467
  display: flex;
556
468
  align-items: center;
557
- gap: 8px;
558
- margin-left: 4px;
469
+ color: var(--charcoal-color-icon-tertiary-default);
470
+ height: 22px;
471
+ margin: 0 4px 0 0;
559
472
  }
560
473
 
561
- .charcoal-text-field-input-root {
562
- flex: 1;
474
+ .charcoal-hint-text-message {
475
+ color: var(--charcoal-color-text-secondary-default);
476
+ font-size: 14px;
477
+ line-height: 22px;
478
+ display: flow-root;
479
+ margin: 0;
563
480
  min-width: 0;
564
- overflow: hidden;
481
+ overflow-wrap: break-word;
565
482
  }
483
+ .charcoal-clickable {
484
+ cursor: pointer;
566
485
 
567
- .charcoal-text-field-input {
568
- border: none;
569
- box-sizing: border-box;
570
- outline: none;
571
- font-family: inherit;
572
-
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);
583
-
584
- /* Display box-shadow for iOS Safari */
486
+ /* Reset button appearance */
585
487
  -webkit-appearance: none;
586
488
  -moz-appearance: none;
587
489
  appearance: none;
588
490
  background: transparent;
491
+ padding: 0;
492
+ border-style: none;
493
+ outline: none;
494
+ color: inherit;
495
+ text-rendering: inherit;
496
+ letter-spacing: inherit;
497
+ word-spacing: inherit;
498
+ text-decoration: none;
589
499
 
590
- color: var(--charcoal-color-text-secondary-default);
500
+ /* Change the font styles in all browsers. */
501
+ font: inherit;
502
+
503
+ /* Remove the margin in Firefox and Safari. */
504
+ margin: 0;
505
+
506
+ /* Show the overflow in Edge. */
507
+ overflow: visible;
508
+
509
+ /* Remove the inheritance of text transform in Firefox. */
510
+ text-transform: none;
591
511
  }
592
512
 
593
- .charcoal-text-field-input::-moz-placeholder {
594
- color: var(--charcoal-color-text-placeholder-default);
513
+ .charcoal-clickable:disabled,
514
+ .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
515
+ cursor: default;
595
516
  }
596
517
 
597
- .charcoal-text-field-input::placeholder {
598
- color: var(--charcoal-color-text-placeholder-default);
518
+ .charcoal-clickable:focus {
519
+ outline: none;
599
520
  }
600
521
 
601
- .charcoal-text-field-line-counter {
602
- line-height: 22px;
603
- font-size: 14px;
604
- color: var(--charcoal-color-text-tertiary-default);
522
+ .charcoal-clickable::-moz-focus-inner {
523
+ border-style: none;
524
+ padding: 0;
525
+ }
526
+ .charcoal-modal-header-root {
527
+ height: 64px;
528
+ display: grid;
529
+ align-content: center;
530
+ justify-content: center;
531
+ }
532
+
533
+ @media (max-width: 743px) {
534
+ .charcoal-modal-header-root[data-bottom-sheet='true'],
535
+ .charcoal-modal-header-root[data-bottom-sheet='full'] {
536
+ height: 48px;
537
+ }
538
+ }
539
+
540
+ .charcoal-modal-header-title {
541
+ color: var(--charcoal-color-text-default);
542
+ font-size: 16px;
543
+ line-height: 24px;
544
+ font-weight: bold;
545
+ display: flow-root;
546
+ }
547
+
548
+ .charcoal-modal-align {
549
+ padding-left: 16px;
550
+ padding-right: 16px;
551
+ }
552
+
553
+ .charcoal-modal-body {
554
+ padding-bottom: 40px;
555
+ }
556
+
557
+ .charcoal-modal-buttons {
558
+ display: grid;
559
+ grid-auto-flow: row;
560
+ grid-row-gap: 8px;
561
+
562
+ padding-top: 16px;
563
+ padding-left: 16px;
564
+ padding-right: 16px;
605
565
  }
606
- .charcoal-text-area-root {
566
+ .charcoal-radio-group {
607
567
  display: grid;
608
568
  grid-template-columns: 1fr;
609
- grid-gap: 4px;
569
+ grid-gap: 8px;
610
570
  }
611
-
612
- .charcoal-text-area-root[aria-disabled='true'] {
613
- opacity: 0.32;
614
- }
615
-
616
- .charcoal-text-area-container {
617
- /* Runtime variable overridden by the React component. */
618
- --charcoal-text-area-rows: 4;
619
-
620
- position: relative;
621
- overflow: hidden;
622
-
623
- color: var(--charcoal-color-text-secondary-default);
624
- background-color: var(--charcoal-color-container-secondary-default-a);
625
- border-radius: 4px;
571
+ .charcoal-button {
572
+ -webkit-appearance: none;
573
+ -moz-appearance: none;
574
+ appearance: none;
575
+ background-image: none;
576
+ box-sizing: border-box;
577
+ padding: 0 24px;
578
+ border-style: none;
579
+ outline: none;
580
+ text-rendering: inherit;
581
+ letter-spacing: inherit;
582
+ word-spacing: inherit;
583
+ text-decoration: none;
584
+ font-family: inherit;
585
+ font-style: inherit;
586
+ font-variant: inherit;
587
+ margin: 0;
588
+ overflow: visible;
589
+ text-transform: none;
590
+ width: -moz-min-content;
591
+ width: min-content;
592
+ display: inline-grid;
593
+ align-items: center;
594
+ justify-content: center;
595
+ cursor: pointer;
596
+ -webkit-user-select: none;
597
+ -moz-user-select: none;
598
+ user-select: none;
599
+ white-space: nowrap;
600
+ border-radius: 999999px;
601
+ font-size: 14px;
602
+ line-height: 22px;
603
+ font-weight: bold;
604
+ color: var(--charcoal-color-text-default);
605
+ background-color: var(
606
+ --charcoal-color-container-secondary-default-a,
607
+ transparent
608
+ );
626
609
  transition:
610
+ 0.2s color,
627
611
  0.2s background-color,
628
612
  0.2s box-shadow;
629
- height: calc(22px * var(--charcoal-text-area-rows) + 18px);
613
+ height: 40px;
630
614
  }
631
615
 
632
- .charcoal-text-area-container[aria-invalid='true'] {
633
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
616
+ .charcoal-button:disabled,
617
+ .charcoal-button[aria-disabled]:not([aria-disabled='false']) {
618
+ cursor: default;
619
+ opacity: 0.32;
634
620
  }
635
621
 
636
- .charcoal-text-area-container:focus-within {
622
+ .charcoal-button:not(:disabled):not([aria-disabled]):focus-visible,
623
+ .charcoal-button[aria-disabled='false']:focus-visible {
637
624
  outline: none;
638
625
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
639
626
  }
640
627
 
641
- .charcoal-text-area-container:has([data-no-bottom-padding='true']) {
642
- height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
628
+ .charcoal-button:not(:disabled):not([aria-disabled]):hover,
629
+ .charcoal-button[aria-disabled='false']:hover {
630
+ color: var(--charcoal-color-text-hover);
631
+ background-color: var(--charcoal-color-container-secondary-hover-a);
643
632
  }
644
633
 
645
- .charcoal-text-area-container:not([aria-disabled='true']):hover {
646
- background-color: var(--charcoal-color-container-secondary-hover-a);
634
+ .charcoal-button:not(:disabled):not([aria-disabled]):active,
635
+ .charcoal-button[aria-disabled='false']:active,
636
+ .charcoal-button[data-active='true'] {
637
+ color: var(--charcoal-color-text-press);
638
+ background-color: var(--charcoal-color-container-secondary-press-a);
647
639
  }
648
640
 
649
- .charcoal-text-area-container[aria-invalid='true']:focus-within {
650
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
641
+ .charcoal-button[data-variant='Primary'] {
642
+ color: var(--charcoal-color-text-on-primary-default);
643
+ background-color: var(--charcoal-color-container-primary-default);
651
644
  }
652
645
 
653
- .charcoal-text-area-textarea {
654
- border: none;
655
- outline: none;
656
- resize: none;
657
- font-family: inherit;
658
- color: inherit;
659
- box-sizing: border-box;
646
+ .charcoal-button[data-variant='Primary']:hover:not(:disabled):not([aria-disabled]),
647
+ .charcoal-button[data-variant='Primary']:hover[aria-disabled='false'] {
648
+ color: var(--charcoal-color-text-on-primary-hover);
649
+ background-color: var(--charcoal-color-container-primary-hover);
650
+ }
660
651
 
661
- /* Prevent zooming for iOS Safari */
662
- --charcoal-textarea-safari-prevent-zoom-scale: 0.875;
663
- --charcoal-textarea-line-height: calc(
664
- 22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
665
- );
666
- --charcoal-textarea-padding-y: calc(
667
- 8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
668
- );
669
- --charcoal-textarea-padding-x: calc(
670
- 9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
671
- );
652
+ .charcoal-button[data-variant='Primary']:active:not(:disabled):not([aria-disabled]),
653
+ .charcoal-button[data-variant='Primary']:active[aria-disabled='false'],
654
+ .charcoal-button[data-variant='Primary'][data-active='true'] {
655
+ color: var(--charcoal-color-text-on-primary-press);
656
+ background-color: var(--charcoal-color-container-primary-press);
657
+ }
672
658
 
673
- transform-origin: top left;
674
- transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
675
- width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
676
- font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
677
- line-height: var(--charcoal-textarea-line-height);
678
- padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
679
- height: calc(
680
- var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
681
- var(--charcoal-textarea-padding-y) * 2
682
- );
659
+ .charcoal-button[data-variant='Overlay'] {
660
+ color: var(--charcoal-color-text-on-on-img-default);
661
+ background-color: var(--charcoal-color-container-on-img-default);
662
+ }
683
663
 
684
- /* Display box-shadow for iOS Safari */
685
- -webkit-appearance: none;
686
- -moz-appearance: none;
687
- appearance: none;
664
+ .charcoal-button[data-variant='Overlay']:hover:not(:disabled):not([aria-disabled]),
665
+ .charcoal-button[data-variant='Overlay']:hover[aria-disabled='false'] {
666
+ color: var(--charcoal-color-text-on-on-img-hover);
667
+ background-color: var(--charcoal-color-container-on-img-hover);
668
+ }
688
669
 
689
- background: none;
690
- }
670
+ .charcoal-button[data-variant='Overlay']:active:not(:disabled):not([aria-disabled]),
671
+ .charcoal-button[data-variant='Overlay']:active[aria-disabled='false'],
672
+ .charcoal-button[data-variant='Overlay'][data-active='true'] {
673
+ color: var(--charcoal-color-text-on-on-img-press);
674
+ background-color: var(--charcoal-color-container-on-img-press);
675
+ }
691
676
 
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
- );
677
+ .charcoal-button[data-variant='Navigation'] {
678
+ color: var(--charcoal-color-text-on-hud-default);
679
+ background-color: var(--charcoal-color-container-hud-default);
699
680
  }
700
681
 
701
- .charcoal-text-area-textarea::-moz-placeholder {
702
- color: var(--charcoal-color-text-placeholder-default);
682
+ .charcoal-button[data-variant='Navigation']:hover:not(:disabled):not([aria-disabled]),
683
+ .charcoal-button[data-variant='Navigation']:hover[aria-disabled='false'] {
684
+ color: var(--charcoal-color-text-on-hud-hover);
685
+ background-color: var(--charcoal-color-container-hud-hover);
686
+ }
687
+
688
+ .charcoal-button[data-variant='Navigation']:active:not(:disabled):not([aria-disabled]),
689
+ .charcoal-button[data-variant='Navigation']:active[aria-disabled='false'],
690
+ .charcoal-button[data-variant='Navigation'][data-active='true'] {
691
+ color: var(--charcoal-color-text-on-hud-press);
692
+ background-color: var(--charcoal-color-container-hud-press);
693
+ }
694
+
695
+ .charcoal-button[data-variant='Danger'] {
696
+ color: var(--charcoal-color-text-on-negative-default);
697
+ background-color: var(--charcoal-color-container-negative-default);
703
698
  }
704
699
 
705
- .charcoal-text-area-textarea::placeholder {
706
- color: var(--charcoal-color-text-placeholder-default);
700
+ .charcoal-button[data-variant='Danger']:hover:not(:disabled):not([aria-disabled]),
701
+ .charcoal-button[data-variant='Danger']:hover[aria-disabled='false'] {
702
+ color: var(--charcoal-color-text-on-negative-hover);
703
+ background-color: var(--charcoal-color-container-negative-hover);
704
+ }
705
+
706
+ .charcoal-button[data-variant='Danger']:active:not(:disabled):not([aria-disabled]),
707
+ .charcoal-button[data-variant='Danger']:active[aria-disabled='false'],
708
+ .charcoal-button[data-variant='Danger'][data-active='true'] {
709
+ color: var(--charcoal-color-text-on-negative-press);
710
+ background-color: var(--charcoal-color-container-negative-press);
711
+ }
712
+
713
+ .charcoal-button[data-size='S'] {
714
+ padding: 0 16px;
715
+ height: 32px;
707
716
  }
708
717
 
709
- .charcoal-text-area-counter {
710
- position: absolute;
711
- bottom: 9px;
712
- right: 8px;
718
+ .charcoal-button[data-full-width='true'] {
719
+ width: 100%;
720
+ }
721
+ .charcoal-radio__label {
722
+ display: grid;
723
+ grid-template-columns: auto 1fr;
724
+ grid-gap: 4px;
725
+ align-items: center;
726
+ cursor: pointer;
727
+ }
713
728
 
714
- line-height: 22px;
729
+ .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
730
+ opacity: 0.32;
731
+ cursor: default;
732
+ }
733
+
734
+ .charcoal-radio__label_div {
715
735
  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);
736
+ line-height: 22px;
737
+ color: var(--charcoal-color-text-default);
722
738
  }
739
+ .charcoal-icon-button {
740
+ cursor: pointer;
741
+ -webkit-appearance: none;
742
+ -moz-appearance: none;
743
+ appearance: none;
744
+ background: transparent;
745
+ padding: 0;
746
+ border-style: none;
747
+ outline: none;
748
+ color: inherit;
749
+ text-rendering: inherit;
750
+ letter-spacing: inherit;
751
+ word-spacing: inherit;
752
+ text-decoration: none;
753
+ font: inherit;
754
+ margin: 0;
755
+ overflow: visible;
756
+ text-transform: none;
723
757
 
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));
758
+ -webkit-user-select: none;
728
759
 
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));
760
+ -moz-user-select: none;
761
+
762
+ user-select: none;
763
+ display: flex;
764
+ align-items: center;
765
+ justify-content: center;
766
+ border-radius: 999999px;
767
+ transition:
768
+ 0.2s background-color,
769
+ 0.2s box-shadow;
734
770
  }
735
771
 
736
- pixiv-icon:not(:defined)[name^='16/'] {
737
- --pixiv-icon-base: 16px;
738
- --pixiv-icon-size: 16px;
772
+ .charcoal-icon-button:disabled,
773
+ .charcoal-icon-button[aria-disabled]:not([aria-disabled='false']) {
774
+ cursor: default;
775
+ opacity: 0.32;
739
776
  }
740
777
 
741
- pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
742
- --pixiv-icon-scale: 2;
743
- }
778
+ .charcoal-icon-button:focus {
779
+ outline: none;
780
+ }
744
781
 
745
- pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
746
- --pixiv-icon-scale: 3;
747
- }
782
+ .charcoal-icon-button::-moz-focus-inner {
783
+ border-style: none;
784
+ padding: 0;
785
+ }
748
786
 
749
- pixiv-icon:not(:defined)[name^='32/'] {
750
- --pixiv-icon-base: 32px;
751
- --pixiv-icon-size: 32px;
787
+ .charcoal-icon-button[data-size='XS'] {
788
+ width: 20px;
789
+ height: 20px;
752
790
  }
753
791
 
754
- pixiv-icon:not(:defined)[name^='Inline/'] {
755
- --pixiv-icon-base: 16px;
792
+ .charcoal-icon-button[data-size='S'] {
793
+ width: 32px;
794
+ height: 32px;
756
795
  }
757
796
 
758
- pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
759
- --pixiv-icon-scale: 2;
760
- }
761
- .charcoal-modal-background {
762
- overflow: auto;
763
- display: flex;
764
- position: fixed;
765
- top: 0;
766
- left: 0;
767
- width: 100%;
768
- height: 100%;
769
- justify-content: center;
770
- padding: 40px 0;
771
- box-sizing: border-box;
797
+ .charcoal-icon-button[data-size='M'] {
798
+ width: 40px;
799
+ height: 40px;
800
+ }
772
801
 
773
- background-color: var(--charcoal-color-background-overlay);
774
- }
802
+ .charcoal-icon-button[data-variant='Default'] {
803
+ color: var(--charcoal-color-icon-tertiary-default);
804
+ background-color: transparent;
805
+ }
775
806
 
776
- @media (max-width: 743px) {
777
- .charcoal-modal-background[data-bottom-sheet='true'],
778
- .charcoal-modal-background[data-bottom-sheet='full'] {
779
- padding: 0;
807
+ .charcoal-icon-button[data-variant='Default'][data-active='true']:not(:disabled):not([aria-disabled]),
808
+ .charcoal-icon-button[data-variant='Default'][data-active='true'][aria-disabled='false'] {
809
+ color: var(--charcoal-color-icon-tertiary-press);
810
+ background-color: var(--charcoal-color-container-press-a);
780
811
  }
781
- }
782
812
 
783
- /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
784
- transition は entering / exiting に限定し、開いたままテーマ切り替え等で
785
- 色や transform が変わってもアニメーションしないようにする */
786
- .charcoal-modal-background[data-animation] {
787
- overflow: hidden;
788
- }
813
+ .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
814
+ .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:hover {
815
+ color: var(--charcoal-color-icon-tertiary-hover);
816
+ background-color: var(--charcoal-color-container-hover-a);
817
+ }
789
818
 
790
- .charcoal-modal-background[data-animation='entering'],
791
- .charcoal-modal-background[data-animation='exiting'] {
792
- transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
793
- }
819
+ .charcoal-icon-button[data-variant='Default'][data-active='false']:not(:disabled):not([aria-disabled]):active,
820
+ .charcoal-icon-button[data-variant='Default'][data-active='false'][aria-disabled='false']:active {
821
+ color: var(--charcoal-color-icon-tertiary-press);
822
+ background-color: var(--charcoal-color-container-press-a);
823
+ }
794
824
 
795
- /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
796
- 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
797
- .charcoal-modal-background[data-animation='exited'],
798
- .charcoal-modal-background[data-animation='exiting'] {
799
- background-color: transparent;
800
- pointer-events: none;
801
- }
825
+ .charcoal-icon-button[data-variant='Overlay'] {
826
+ color: var(--charcoal-color-icon-on-on-img-default);
827
+ background-color: var(--charcoal-color-container-on-img-default);
828
+ }
802
829
 
803
- .charcoal-modal-background[data-animation='entered'] {
804
- overflow: auto;
805
- }
830
+ .charcoal-icon-button[data-variant='Overlay'][data-active='true']:not(:disabled):not([aria-disabled]),
831
+ .charcoal-icon-button[data-variant='Overlay'][data-active='true'][aria-disabled='false'] {
832
+ color: var(--charcoal-color-icon-on-on-img-press);
833
+ background-color: var(--charcoal-color-container-on-img-press);
834
+ }
806
835
 
807
- .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
808
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
809
- transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
810
- }
836
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):hover,
837
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:hover {
838
+ color: var(--charcoal-color-icon-on-on-img-hover);
839
+ background-color: var(--charcoal-color-container-on-img-hover);
840
+ }
811
841
 
812
- .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
813
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
814
- transform: translateY(100%);
815
- }
842
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false']:not(:disabled):not([aria-disabled]):active,
843
+ .charcoal-icon-button[data-variant='Overlay'][data-active='false'][aria-disabled='false']:active {
844
+ color: var(--charcoal-color-icon-on-on-img-press);
845
+ background-color: var(--charcoal-color-container-on-img-press);
846
+ }
816
847
 
817
- .charcoal-modal-close-button {
818
- position: absolute;
819
- top: 8px;
820
- right: 8px;
848
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus,
849
+ .charcoal-icon-button[aria-disabled='false']:focus {
850
+ outline: none;
851
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
852
+ }
821
853
 
822
- color: var(--charcoal-color-text-tertiary-default);
823
- transition: 0.2s color;
824
- }
854
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus-visible,
855
+ .charcoal-icon-button[aria-disabled='false']:focus-visible {
856
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
857
+ }
825
858
 
826
- .charcoal-modal-title {
827
- margin: 0;
828
- font-weight: inherit;
829
- font-size: inherit;
830
- }
831
- .charcoal-modal-header-root {
832
- height: 64px;
859
+ .charcoal-icon-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
860
+ .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
861
+ box-shadow: none;
862
+ }
863
+ .charcoal-multi-select {
833
864
  display: grid;
834
- align-content: center;
835
- justify-content: center;
865
+ grid-template-columns: auto 1fr;
866
+ align-items: center;
867
+ position: relative;
868
+ cursor: pointer;
869
+ gap: 4px;
836
870
  }
837
871
 
838
- @media (max-width: 743px) {
839
- .charcoal-modal-header-root[data-bottom-sheet='true'],
840
- .charcoal-modal-header-root[data-bottom-sheet='full'] {
841
- height: 48px;
872
+ .charcoal-multi-select:disabled,
873
+ .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
874
+ opacity: 0.32;
875
+ cursor: default;
842
876
  }
843
- }
844
877
 
845
- .charcoal-modal-header-title {
846
- color: var(--charcoal-color-text-default);
847
- font-size: 16px;
848
- line-height: 24px;
849
- font-weight: bold;
878
+ .charcoal-multi-select-label {
850
879
  display: flow-root;
880
+ align-items: center;
881
+ font-size: 14px;
882
+ line-height: 22px;
883
+ color: var(--charcoal-color-text-default);
851
884
  }
852
885
 
853
- .charcoal-modal-align {
854
- padding-left: 16px;
855
- padding-right: 16px;
856
- }
857
-
858
- .charcoal-modal-body {
859
- padding-bottom: 40px;
860
- }
861
-
862
- .charcoal-modal-buttons {
863
- display: grid;
864
- grid-auto-flow: row;
865
- grid-row-gap: 8px;
866
-
867
- padding-top: 16px;
868
- padding-left: 16px;
869
- padding-right: 16px;
870
- }
871
- .charcoal-loading-spinner {
872
- box-sizing: content-box;
873
- margin: auto;
874
- padding: 16px;
875
- border-radius: 8px;
876
- font-size: 48px;
877
- width: 48px;
878
- height: 48px;
879
- opacity: 0.84;
880
- color: var(--charcoal-color-icon-tertiary-default);
881
- background-color: var(--charcoal-color-background-default);
882
- }
883
-
884
- .charcoal-loading-spinner[data-transparent='true'] {
885
- background-color: transparent;
886
+ .charcoal-multi-select-label::before {
887
+ display: block;
888
+ width: 0;
889
+ height: 0;
890
+ content: '';
891
+ margin-top: -4px;
886
892
  }
887
893
 
888
- @keyframes charcoal-loading-spinner-icon-scale-out {
889
- from {
890
- transform: scale(0);
891
- opacity: 1;
892
- }
893
- to {
894
- transform: scale(1);
895
- opacity: 0;
894
+ .charcoal-multi-select-label::after {
895
+ display: block;
896
+ width: 0;
897
+ height: 0;
898
+ content: '';
899
+ margin-bottom: -4px;
896
900
  }
897
- }
898
901
 
899
- .charcoal-loading-spinner-icon {
900
- width: 1em;
901
- height: 1em;
902
- border-radius: 1em;
903
- background-color: currentColor;
904
- animation: charcoal-loading-spinner-icon-scale-out 1s infinite both ease-out;
902
+ .charcoal-multi-select-input[type='checkbox'] {
903
+ -webkit-appearance: none;
904
+ -moz-appearance: none;
905
+ appearance: none;
906
+ display: block;
907
+ width: 20px;
908
+ height: 20px;
909
+ margin: 0;
910
+ background-color: var(--charcoal-color-container-neutral-default);
911
+ border-radius: 999999px;
912
+ transition:
913
+ 0.2s background-color,
914
+ 0.2s box-shadow;
905
915
  }
906
916
 
907
- .charcoal-loading-spinner-icon[data-reset-animation] {
908
- animation: none;
917
+ .charcoal-multi-select-input[type='checkbox']:checked {
918
+ background-color: var(--charcoal-color-container-primary-default);
909
919
  }
910
920
 
911
- .charcoal-loading-spinner-icon[data-once='true'] {
912
- animation-iteration-count: 1;
921
+ .charcoal-multi-select-input[type='checkbox']:focus {
922
+ outline: none;
923
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
913
924
  }
914
- .charcoal-dropdown-selector-root {
915
- display: grid;
916
- grid-template-columns: 1fr;
917
- grid-gap: 4px;
918
- width: 100%;
919
- }
920
925
 
921
- .charcoal-dropdown-selector-root[aria-disabled='true'] {
922
- cursor: default;
923
- opacity: 0.32;
926
+ .charcoal-multi-select-input[type='checkbox']:focus-visible {
927
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
924
928
  }
925
929
 
926
- .charcoal-dropdown-selector-button {
927
- display: grid;
928
- grid-template-columns: 1fr auto;
929
- justify-content: space-between;
930
- align-items: center;
930
+ .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
931
+ box-shadow: none;
932
+ }
931
933
 
932
- height: 40px;
933
- width: 100%;
934
- box-sizing: border-box;
935
- border: none;
936
- cursor: pointer;
937
- gap: 4px;
934
+ .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
935
+ .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
936
+ background-color: var(--charcoal-color-container-neutral-hover);
937
+ }
938
938
 
939
- padding-right: 8px;
940
- padding-left: 8px;
941
- background-color: var(--charcoal-color-container-secondary-default-a);
942
- border-radius: 4px;
939
+ .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
940
+ .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
941
+ background-color: var(--charcoal-color-container-neutral-press);
942
+ }
943
943
 
944
- transition:
945
- 0.2s box-shadow,
946
- 0.2s background-color;
947
- }
944
+ .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
945
+ .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
946
+ background-color: var(--charcoal-color-container-primary-hover);
947
+ }
948
948
 
949
- .charcoal-dropdown-selector-button:disabled {
950
- cursor: default;
949
+ .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
950
+ .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
951
+ background-color: var(--charcoal-color-container-primary-press);
951
952
  }
952
953
 
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
- }
954
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
955
+ [aria-disabled]
956
+ ) {
957
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
958
+ }
957
959
 
958
- .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
959
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
960
- }
960
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
961
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
962
+ }
961
963
 
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
- }
964
+ .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
965
+ background-color: var(--charcoal-color-container-on-img-default);
966
+ }
966
967
 
967
- .charcoal-dropdown-selector-button:not(:disabled):hover {
968
- background-color: var(--charcoal-color-container-secondary-hover-a);
969
- }
968
+ .charcoal-multi-select-overlay {
969
+ position: absolute;
970
+ top: -2px;
971
+ left: -2px;
972
+ box-sizing: border-box;
973
+ display: flex;
974
+ align-items: center;
975
+ justify-content: center;
976
+ width: 24px;
977
+ height: 24px;
978
+ border-radius: 999999px;
979
+ color: var(--charcoal-color-icon-on-primary-default);
980
+ transition: 0.2s box-shadow;
981
+ }
970
982
 
971
- .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
972
- box-shadow: none;
973
- }
983
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
984
+ [aria-disabled]
985
+ ) {
986
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
987
+ }
974
988
 
975
- .charcoal-dropdown-selector-button[aria-invalid='true'],
976
- .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
989
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
977
990
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
978
991
  }
979
992
 
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;
993
+ .charcoal-multi-select-overlay[data-overlay='true'] {
994
+ border-color: var(--charcoal-color-border-hud);
995
+ border-width: 2px;
996
+ border-style: solid;
997
+ }
998
+ .charcoal-switch__label {
999
+ display: inline-grid;
1000
+ grid-template-columns: auto 1fr;
1001
+ align-items: center;
1002
+ cursor: pointer;
1003
+ outline: 0;
1004
+ gap: 4px;
989
1005
  }
990
1006
 
991
- .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
992
- color: var(--charcoal-color-text-placeholder-default);
1007
+ .charcoal-switch__label[aria-disabled='true'] {
1008
+ opacity: 0.32;
1009
+ cursor: default;
993
1010
  }
994
1011
 
995
- .charcoal-ui-dropdown-selector-icon {
996
- color: var(--charcoal-color-icon-secondary-default);
997
- }
998
- .charcoal-dropdown-selector-menu-item {
1012
+ .charcoal-switch__label[aria-disabled='true'] > input {
1013
+ opacity: 1;
1014
+ }
1015
+
1016
+ .charcoal-switch__label_div {
999
1017
  font-size: 14px;
1000
1018
  line-height: 22px;
1001
- color: var(--charcoal-color-text-secondary-default);
1002
- padding: 9px 0;
1003
-
1004
- display: flex;
1005
- align-items: center;
1006
- width: 100%;
1007
- margin-left: 20px;
1008
- }
1009
-
1010
- .charcoal-dropdown-selector-menu-item[data-selected='true'] {
1011
- margin-left: 0px;
1012
- }
1013
-
1014
- .charcoal-dropdown-selector-menu-item-icon {
1015
- color: var(--charcoal-color-text-secondary-default);
1016
- padding-right: 4px;
1019
+ color: var(--charcoal-color-text-default);
1017
1020
  }
1018
-
1019
- .charcoal-dropdown-selector-menu-item-container {
1020
- display: flex;
1021
- align-items: center;
1021
+ .charcoal-menu-item-group {
1022
+ display: block;
1022
1023
  }
1023
1024
 
1024
- .charcoal-dropdown-selector-menu-secondary {
1025
- font-size: 12px;
1026
- line-height: 20px;
1025
+ .charcoal-menu-item-group > span {
1026
+ display: block;
1027
1027
  color: var(--charcoal-color-text-tertiary-default);
1028
- padding-bottom: 9px;
1029
-
1030
- display: flex;
1031
- align-items: center;
1032
- margin-left: 20px;
1028
+ font-size: 12px;
1029
+ font-weight: bold;
1030
+ padding: 12px 0 8px 16px;
1033
1031
  }
1034
1032
 
1035
- .charcoal-dropdown-selector-menu-fullwidth {
1036
- width: 100%;
1033
+ .charcoal-menu-item-group > ul {
1034
+ padding-left: 0;
1035
+ margin: 0;
1036
+ box-sizing: border-box;
1037
+ list-style: none;
1038
+ overflow: hidden;
1037
1039
  }
1038
- .charcoal-segmented-control {
1039
- display: inline-flex;
1040
- align-items: center;
1041
-
1042
- background-color: var(--charcoal-color-container-secondary-default-a);
1043
- border-radius: 16px;
1040
+ .charcoal-text-field-root {
1041
+ display: grid;
1042
+ grid-template-columns: 1fr;
1043
+ grid-gap: 4px;
1044
1044
  }
1045
1045
 
1046
- .charcoal-segmented-control[data-uniform-segment-width='true'],
1047
- .charcoal-segmented-control[data-full-width='true'] {
1048
- display: inline-grid;
1049
- grid-auto-columns: minmax(80px, 1fr);
1050
- grid-auto-rows: 32px;
1051
- grid-auto-flow: column;
1052
- }
1053
-
1054
- .charcoal-segmented-control[data-full-width='true'] {
1055
- width: 100%;
1046
+ .charcoal-text-field-root[aria-disabled='true'] {
1047
+ opacity: 0.32;
1056
1048
  }
1057
1049
 
1058
- .charcoal-segmented-control-radio__label {
1059
- position: relative;
1050
+ .charcoal-text-field-container {
1060
1051
  display: flex;
1061
- align-items: center;
1062
- justify-content: center;
1063
- cursor: pointer;
1064
- height: 32px;
1065
-
1066
- padding-right: 16px;
1067
- padding-left: 16px;
1068
- border-radius: 16px;
1052
+ height: 40px;
1053
+ transition:
1054
+ 0.2s background-color,
1055
+ 0.2s box-shadow;
1069
1056
  color: var(--charcoal-color-text-secondary-default);
1070
-
1071
- font-size: 14px;
1057
+ background-color: var(--charcoal-color-container-secondary-default-a);
1058
+ border-radius: 4px;
1059
+ padding: 0 8px;
1072
1060
  line-height: 22px;
1061
+ font-size: 14px;
1073
1062
  }
1074
1063
 
1075
- .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
1076
- cursor: default;
1077
- opacity: 0.32;
1064
+ .charcoal-text-field-container[data-invalid='true'] {
1065
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1078
1066
  }
1079
1067
 
1080
- .charcoal-segmented-control-radio__label[data-checked='true'] {
1081
- background-color: var(--charcoal-color-container-primary-default);
1082
- color: var(--charcoal-color-text-on-primary-default);
1068
+ .charcoal-text-field-container:not([aria-disabled='true']):hover {
1069
+ background-color: var(--charcoal-color-container-secondary-hover-a);
1083
1070
  }
1084
1071
 
1085
- .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
1086
- .charcoal-segmented-control-radio__label[data-full-width='true'] {
1087
- justify-content: center;
1088
- white-space: nowrap;
1072
+ .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
1073
+ outline: none;
1074
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1089
1075
  }
1090
1076
 
1091
- .charcoal-segmented-control-radio__input {
1092
- position: absolute;
1093
-
1094
- height: 0px;
1095
- width: 0px;
1096
- padding: 0;
1097
- margin: 0;
1098
-
1099
- -webkit-appearance: none;
1100
-
1101
- -moz-appearance: none;
1077
+ .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
1078
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1079
+ }
1102
1080
 
1103
- appearance: none;
1104
- box-sizing: border-box;
1105
- overflow: hidden;
1106
- white-space: nowrap;
1107
- opacity: 0;
1108
- }
1109
- .charcoal-menu-item-group {
1110
- display: block;
1081
+ .charcoal-text-field-prefix {
1082
+ display: flex;
1083
+ align-items: center;
1084
+ margin-right: 4px;
1111
1085
  }
1112
1086
 
1113
- .charcoal-menu-item-group > span {
1114
- display: block;
1115
- color: var(--charcoal-color-text-tertiary-default);
1116
- font-size: 12px;
1117
- font-weight: bold;
1118
- padding: 12px 0 8px 16px;
1087
+ .charcoal-text-field-suffix {
1088
+ display: flex;
1089
+ align-items: center;
1090
+ gap: 8px;
1091
+ margin-left: 4px;
1119
1092
  }
1120
1093
 
1121
- .charcoal-menu-item-group > ul {
1122
- padding-left: 0;
1123
- margin: 0;
1124
- box-sizing: border-box;
1125
- list-style: none;
1094
+ .charcoal-text-field-input-root {
1095
+ flex: 1;
1096
+ min-width: 0;
1126
1097
  overflow: hidden;
1127
1098
  }
1128
- .charcoal-tag-item {
1129
- --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1130
- --charcoal-tag-item-size: 40px;
1131
- --charcoal-tag-item-padding-left: 24px;
1132
- --charcoal-tag-item-padding-right: 24px;
1133
- --charcoal-tag-item-bg: ;
1134
1099
 
1135
- isolation: isolate;
1136
- position: relative;
1100
+ .charcoal-text-field-input {
1101
+ border: none;
1102
+ box-sizing: border-box;
1103
+ outline: none;
1104
+ font-family: inherit;
1137
1105
 
1138
- -webkit-appearance: none;
1106
+ /* Prevent zooming for iOS Safari */
1107
+ transform-origin: top left;
1108
+ transform: scale(0.875);
1109
+ width: calc(100% / 0.875);
1110
+ height: calc(100% / 0.875);
1111
+ font-size: calc(14px / 0.875);
1112
+ line-height: calc(22px / 0.875);
1113
+ padding-left: 0;
1114
+ padding-right: 0;
1115
+ border-radius: calc(4px / 0.875);
1139
1116
 
1117
+ /* Display box-shadow for iOS Safari */
1118
+ -webkit-appearance: none;
1140
1119
  -moz-appearance: none;
1141
-
1142
1120
  appearance: none;
1143
- outline: none;
1144
- border-style: none;
1121
+ background: transparent;
1145
1122
 
1146
- display: inline-flex;
1147
- gap: 8px;
1148
- align-items: center;
1149
- justify-content: center;
1123
+ color: var(--charcoal-color-text-secondary-default);
1124
+ }
1150
1125
 
1151
- text-decoration: none;
1152
- cursor: pointer;
1153
- overflow: hidden;
1126
+ .charcoal-text-field-input::-moz-placeholder {
1127
+ color: var(--charcoal-color-text-placeholder-default);
1128
+ }
1154
1129
 
1155
- color: var(--charcoal-tag-item-color);
1156
- height: var(--charcoal-tag-item-size);
1157
- padding-top: 4px;
1158
- padding-bottom: 4px;
1159
- padding-left: var(--charcoal-tag-item-padding-left);
1160
- padding-right: var(--charcoal-tag-item-padding-right);
1161
- box-sizing: border-box;
1162
- border-radius: 4px;
1130
+ .charcoal-text-field-input::placeholder {
1131
+ color: var(--charcoal-color-text-placeholder-default);
1132
+ }
1163
1133
 
1164
- transition: 0.2s box-shadow;
1134
+ .charcoal-text-field-line-counter {
1135
+ line-height: 22px;
1136
+ font-size: 14px;
1137
+ color: var(--charcoal-color-text-tertiary-default);
1138
+ }
1139
+ .charcoal-icon {
1140
+ display: inline-flex;
1141
+ width: var(--charcoal-icon-size);
1142
+ height: var(--charcoal-icon-size);
1165
1143
  }
1166
1144
 
1167
- .charcoal-tag-item[data-size='M'] {
1168
- --charcoal-tag-item-size: 40px;
1169
- --charcoal-tag-item-padding-left: 24px;
1170
- --charcoal-tag-item-padding-right: 24px;
1171
- }
1145
+ pixiv-icon:not(:defined) {
1146
+ --pixiv-icon-base: 24px;
1147
+ --pixiv-icon-scale: 1;
1148
+ --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
1172
1149
 
1173
- .charcoal-tag-item[data-size='S'] {
1174
- --charcoal-tag-item-size: 32px;
1175
- --charcoal-tag-item-padding-left: 16px;
1176
- --charcoal-tag-item-padding-right: 16px;
1177
- }
1150
+ display: inline-flex;
1151
+ /* --charcoal-icon-size がセットされていればそれを優先、
1152
+ なければ name / scale から導出した --pixiv-icon-size をフォールバック */
1153
+ width: var(--charcoal-icon-size, var(--pixiv-icon-size));
1154
+ height: var(--charcoal-icon-size, var(--pixiv-icon-size));
1155
+ }
1178
1156
 
1179
- .charcoal-tag-item[data-state='inactive'] {
1180
- --charcoal-tag-item-color: var(--charcoal-color-text-secondary-default);
1157
+ pixiv-icon:not(:defined)[name^='16/'] {
1158
+ --pixiv-icon-base: 16px;
1159
+ --pixiv-icon-size: 16px;
1181
1160
  }
1182
1161
 
1183
- .charcoal-tag-item[data-state='active'] {
1184
- --charcoal-tag-item-padding-left: 16px;
1185
- --charcoal-tag-item-padding-right: 8px;
1186
- }
1162
+ pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
1163
+ --pixiv-icon-scale: 2;
1164
+ }
1187
1165
 
1188
- .charcoal-tag-item:disabled,
1189
- .charcoal-tag-item[aria-disabled]:not([aria-disabled='false']) {
1190
- opacity: 0.32;
1191
- cursor: default;
1192
- }
1166
+ pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
1167
+ --pixiv-icon-scale: 3;
1168
+ }
1193
1169
 
1194
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus-visible,
1195
- .charcoal-tag-item[aria-disabled='false']:focus-visible {
1196
- outline: none;
1197
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1170
+ pixiv-icon:not(:defined)[name^='32/'] {
1171
+ --pixiv-icon-base: 32px;
1172
+ --pixiv-icon-size: 32px;
1198
1173
  }
1199
1174
 
1200
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus,
1201
- .charcoal-tag-item[aria-disabled='false']:focus {
1202
- outline: none;
1203
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1175
+ pixiv-icon:not(:defined)[name^='Inline/'] {
1176
+ --pixiv-icon-base: 16px;
1204
1177
  }
1205
1178
 
1206
- .charcoal-tag-item:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1207
- .charcoal-tag-item[aria-disabled='false']:focus:not(:focus-visible) {
1208
- box-shadow: none;
1209
- }
1179
+ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1180
+ --pixiv-icon-scale: 2;
1181
+ }
1182
+ .charcoal-modal-background {
1183
+ overflow: auto;
1184
+ display: flex;
1185
+ position: fixed;
1186
+ top: 0;
1187
+ left: 0;
1188
+ width: 100%;
1189
+ height: 100%;
1190
+ justify-content: center;
1191
+ padding: 40px 0;
1192
+ box-sizing: border-box;
1210
1193
 
1211
- .charcoal-tag-item__bg {
1212
- background-color: var(--charcoal-tag-item-bg);
1194
+ background-color: var(--charcoal-color-background-overlay);
1213
1195
  }
1214
1196
 
1215
- .charcoal-tag-item__bg[data-bg-variant='image'] {
1216
- background-color: var(--charcoal-color-container-on-img-default);
1197
+ @media (max-width: 743px) {
1198
+ .charcoal-modal-background[data-bottom-sheet='true'],
1199
+ .charcoal-modal-background[data-bottom-sheet='full'] {
1200
+ padding: 0;
1201
+ }
1217
1202
  }
1218
1203
 
1219
- .charcoal-tag-item__bg[data-bg-variant='image']::before {
1220
- content: '';
1221
- position: absolute;
1222
- z-index: 1;
1223
- top: 0;
1224
- left: 0;
1225
- width: 100%;
1226
- height: 100%;
1227
- background-position: center;
1228
- background-size: cover;
1229
- background-image: var(--charcoal-tag-item-bg);
1230
- mix-blend-mode: overlay;
1231
- }
1204
+ /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
1205
+ transition は entering / exiting に限定し、開いたままテーマ切り替え等で
1206
+ 色や transform が変わってもアニメーションしないようにする */
1207
+ .charcoal-modal-background[data-animation] {
1208
+ overflow: hidden;
1209
+ }
1232
1210
 
1233
- .charcoal-tag-item__bg[data-state='inactive'] {
1234
- background-color: var(--charcoal-color-container-secondary-default);
1235
- }
1211
+ .charcoal-modal-background[data-animation='entering'],
1212
+ .charcoal-modal-background[data-animation='exiting'] {
1213
+ transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
1214
+ }
1236
1215
 
1237
- .charcoal-tag-item__label {
1238
- height: 100%;
1239
- display: flex;
1240
- flex-direction: column;
1241
- align-items: center;
1242
- justify-content: center;
1216
+ /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
1217
+ 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
1218
+ .charcoal-modal-background[data-animation='exited'],
1219
+ .charcoal-modal-background[data-animation='exiting'] {
1220
+ background-color: transparent;
1221
+ pointer-events: none;
1243
1222
  }
1244
1223
 
1245
- .charcoal-tag-item__label[data-has-translate='true'] {
1246
- justify-content: space-between;
1247
- }
1224
+ .charcoal-modal-background[data-animation='entered'] {
1225
+ overflow: auto;
1226
+ }
1248
1227
 
1249
- .charcoal-tag-item__label__translated {
1250
- --charcoal-tag-item-text-font-size: 12px;
1251
- --charcoal-tag-item-text-line-height: 20px;
1252
- font-weight: bold;
1228
+ .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
1229
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
1230
+ transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
1253
1231
  }
1254
1232
 
1255
- .charcoal-tag-item__label__translated::before {
1256
- display: none;
1233
+ .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
1234
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
1235
+ transform: translateY(100%);
1236
+ }
1237
+
1238
+ .charcoal-modal-close-button {
1239
+ position: absolute;
1240
+ top: 8px;
1241
+ right: 8px;
1242
+
1243
+ color: var(--charcoal-color-text-tertiary-default);
1244
+ transition: 0.2s color;
1245
+ }
1246
+
1247
+ .charcoal-modal-title {
1248
+ margin: 0;
1249
+ font-weight: inherit;
1250
+ font-size: inherit;
1251
+ }
1252
+ .charcoal-text-area-root {
1253
+ display: grid;
1254
+ grid-template-columns: 1fr;
1255
+ grid-gap: 4px;
1256
+ }
1257
+
1258
+ .charcoal-text-area-root[aria-disabled='true'] {
1259
+ opacity: 0.32;
1257
1260
  }
1258
1261
 
1259
- .charcoal-tag-item__label__text {
1260
- --charcoal-tag-item-text-font-size: 14px;
1261
- --charcoal-tag-item-text-line-height: 22px;
1262
+ .charcoal-text-area-container {
1263
+ /* Runtime variable overridden by the React component. */
1264
+ --charcoal-text-area-rows: 4;
1262
1265
 
1263
- max-width: 152px;
1266
+ position: relative;
1264
1267
  overflow: hidden;
1265
- font-weight: bold;
1266
1268
 
1267
- color: inherit;
1268
- white-space: nowrap;
1269
- text-overflow: ellipsis;
1269
+ color: var(--charcoal-color-text-secondary-default);
1270
+ background-color: var(--charcoal-color-container-secondary-default-a);
1271
+ border-radius: 4px;
1272
+ transition:
1273
+ 0.2s background-color,
1274
+ 0.2s box-shadow;
1275
+ height: calc(22px * var(--charcoal-text-area-rows) + 18px);
1270
1276
  }
1271
1277
 
1272
- .charcoal-tag-item__label__text[data-has-translate='true'] {
1273
- --charcoal-tag-item-text-font-size: 10px;
1274
- --charcoal-tag-item-text-line-height: 14px;
1275
- font-weight: normal;
1278
+ .charcoal-text-area-container[aria-invalid='true'] {
1279
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1276
1280
  }
1277
1281
 
1278
- /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
1279
- .charcoal-tag-item__labe__text[data-has-translate='true']::after {
1280
- display: none;
1281
- }
1282
- .charcoal-hint-text {
1283
- background-color: var(--charcoal-color-container-secondary-default);
1284
- border-radius: 8px;
1285
- padding: 12px 16px;
1286
- display: flex;
1287
- align-items: flex-start;
1288
- }
1282
+ .charcoal-text-area-container:focus-within {
1283
+ outline: none;
1284
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1285
+ }
1289
1286
 
1290
- .charcoal-hint-text[data-context='page'] {
1291
- justify-content: center;
1287
+ .charcoal-text-area-container:has([data-no-bottom-padding='true']) {
1288
+ height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
1292
1289
  }
1293
1290
 
1294
- @media (min-width: 744px) {
1291
+ .charcoal-text-area-container:not([aria-disabled='true']):hover {
1292
+ background-color: var(--charcoal-color-container-secondary-hover-a);
1293
+ }
1295
1294
 
1296
- .charcoal-hint-text[data-context='page'] {
1297
- padding: 20px 40px
1295
+ .charcoal-text-area-container[aria-invalid='true']:focus-within {
1296
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1298
1297
  }
1299
- }
1300
1298
 
1301
- .charcoal-hint-text-icon {
1302
- display: flex;
1303
- align-items: center;
1304
- color: var(--charcoal-color-icon-tertiary-default);
1305
- height: 22px;
1306
- margin: 0 4px 0 0;
1307
- }
1299
+ .charcoal-text-area-textarea {
1300
+ border: none;
1301
+ outline: none;
1302
+ resize: none;
1303
+ font-family: inherit;
1304
+ color: inherit;
1305
+ box-sizing: border-box;
1308
1306
 
1309
- .charcoal-hint-text-message {
1310
- color: var(--charcoal-color-text-secondary-default);
1311
- font-size: 14px;
1312
- line-height: 22px;
1313
- display: flow-root;
1314
- margin: 0;
1315
- min-width: 0;
1316
- overflow-wrap: break-word;
1317
- }
1318
- .charcoal-checkbox__label {
1319
- position: relative;
1320
- cursor: pointer;
1321
- display: flex;
1322
- gap: 4px;
1307
+ /* Prevent zooming for iOS Safari */
1308
+ --charcoal-textarea-safari-prevent-zoom-scale: 0.875;
1309
+ --charcoal-textarea-line-height: calc(
1310
+ 22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1311
+ );
1312
+ --charcoal-textarea-padding-y: calc(
1313
+ 8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1314
+ );
1315
+ --charcoal-textarea-padding-x: calc(
1316
+ 9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1317
+ );
1318
+
1319
+ transform-origin: top left;
1320
+ transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
1321
+ width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
1322
+ font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
1323
+ line-height: var(--charcoal-textarea-line-height);
1324
+ padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
1325
+ height: calc(
1326
+ var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
1327
+ var(--charcoal-textarea-padding-y) * 2
1328
+ );
1329
+
1330
+ /* Display box-shadow for iOS Safari */
1331
+ -webkit-appearance: none;
1332
+ -moz-appearance: none;
1333
+ appearance: none;
1334
+
1335
+ background: none;
1323
1336
  }
1324
1337
 
1325
- .charcoal-checkbox__label[aria-disabled='true'] {
1326
- cursor: default;
1327
- opacity: 0.32;
1338
+ .charcoal-text-area-textarea[data-no-bottom-padding='true'] {
1339
+ padding: var(--charcoal-textarea-padding-y)
1340
+ var(--charcoal-textarea-padding-x) 0;
1341
+ height: calc(
1342
+ var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
1343
+ var(--charcoal-textarea-padding-y)
1344
+ );
1328
1345
  }
1329
1346
 
1330
- .charcoal-checkbox__label[aria-disabled='true'] > input {
1331
- opacity: 1;
1332
- }
1347
+ .charcoal-text-area-textarea::-moz-placeholder {
1348
+ color: var(--charcoal-color-text-placeholder-default);
1349
+ }
1333
1350
 
1334
- .charcoal-checkbox__label_div {
1335
- flex: 1;
1336
- color: var(--charcoal-color-text-default);
1351
+ .charcoal-text-area-textarea::placeholder {
1352
+ color: var(--charcoal-color-text-placeholder-default);
1353
+ }
1354
+
1355
+ .charcoal-text-area-counter {
1356
+ position: absolute;
1357
+ bottom: 9px;
1358
+ right: 8px;
1359
+
1360
+ line-height: 22px;
1337
1361
  font-size: 14px;
1338
- line-height: 20px;
1362
+ color: var(--charcoal-color-text-tertiary-default);
1339
1363
  }
1340
1364
  .charcoal-carousel {
1341
1365
  --charcoal-carousel-gap: 0px;
@@ -1626,36 +1650,151 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1626
1650
  .charcoal-carousel[data-indicator='false'] .charcoal-carousel__scroller {
1627
1651
  scroll-marker-group: none;
1628
1652
  }
1629
-
1630
- .charcoal-carousel__item::scroll-marker {
1631
- content: '';
1632
- width: 8px;
1633
- height: 8px;
1634
- border: 0;
1635
- border-radius: 50%;
1636
- background-color: var(--charcoal-color-text-tertiary-default);
1637
- cursor: pointer;
1638
- transition: 0.2s background-color;
1653
+
1654
+ .charcoal-carousel__item::scroll-marker {
1655
+ content: '';
1656
+ width: 8px;
1657
+ height: 8px;
1658
+ border: 0;
1659
+ border-radius: 50%;
1660
+ background-color: var(--charcoal-color-text-tertiary-default);
1661
+ cursor: pointer;
1662
+ transition: 0.2s background-color;
1663
+ }
1664
+
1665
+ .charcoal-carousel__item::scroll-marker:hover {
1666
+ background-color: var(--charcoal-color-text-secondary-default);
1667
+ }
1668
+
1669
+ .charcoal-carousel__item::scroll-marker:focus {
1670
+ outline: 2px solid rgba(0, 150, 250, 0.56);
1671
+ outline-offset: 2px;
1672
+ }
1673
+
1674
+ .charcoal-carousel__item::scroll-marker:target-current {
1675
+ background-color: var(--charcoal-color-text-default);
1676
+ }
1677
+
1678
+ .charcoal-carousel__indicator {
1679
+ display: none;
1680
+ }
1681
+ }
1682
+ /* stylelint-enable selector-pseudo-class-no-unknown */
1683
+ .charcoal-pagination {
1684
+ display: flex;
1685
+ justify-content: center;
1686
+ align-items: center;
1687
+ }
1688
+
1689
+ .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1690
+ min-width: 32px;
1691
+ min-height: 32px;
1692
+ }
1693
+
1694
+ .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1695
+ min-width: 40px;
1696
+ min-height: 40px;
1697
+ }
1698
+
1699
+ /* stylelint-disable no-descending-specificity */
1700
+ .charcoal-pagination-button {
1701
+ cursor: pointer;
1702
+ -webkit-appearance: none;
1703
+ -moz-appearance: none;
1704
+ appearance: none;
1705
+ padding: 0;
1706
+ border-style: none;
1707
+ outline: none;
1708
+ text-decoration: none;
1709
+ font-family: inherit;
1710
+ font-style: inherit;
1711
+ font-variant: inherit;
1712
+ margin: 0;
1713
+ -webkit-user-select: none;
1714
+ -moz-user-select: none;
1715
+ user-select: none;
1716
+
1717
+ display: flex;
1718
+ align-items: center;
1719
+ justify-content: center;
1720
+ font-size: 14px;
1721
+ font-weight: 700;
1722
+ line-height: 22px;
1723
+
1724
+ /* HACK:
1725
+ * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1726
+ * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1727
+ */
1728
+ -webkit-transform: translateZ(0);
1729
+
1730
+ color: var(--charcoal-color-text-tertiary-default);
1731
+ background-color: transparent;
1732
+ border-radius: 20px;
1733
+ transition:
1734
+ 0.2s background-color,
1735
+ 0.2s box-shadow;
1736
+ }
1737
+ .charcoal-pagination-button:focus {
1738
+ outline: none;
1739
+ }
1740
+ .charcoal-pagination-button::-moz-focus-inner {
1741
+ border-style: none;
1742
+ padding: 0;
1743
+ }
1744
+ .charcoal-pagination-button[hidden] {
1745
+ visibility: hidden;
1746
+ display: block;
1747
+ }
1748
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1749
+ .charcoal-pagination-button[aria-disabled='false']:hover {
1750
+ color: var(--charcoal-color-text-tertiary-default);
1751
+ background-color: var(--charcoal-color-container-secondary-default);
1752
+ }
1753
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1754
+ .charcoal-pagination-button[aria-disabled='false']:active {
1755
+ color: var(--charcoal-color-text-tertiary-press);
1756
+ background-color: var(--charcoal-color-container-tertiary-press);
1757
+ }
1758
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1759
+ .charcoal-pagination-button[aria-disabled='false']:focus {
1760
+ outline: none;
1761
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1762
+ }
1763
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1764
+ .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1765
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1766
+ }
1767
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1768
+ .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1769
+ box-shadow: none;
1639
1770
  }
1640
-
1641
- .charcoal-carousel__item::scroll-marker:hover {
1642
- background-color: var(--charcoal-color-text-secondary-default);
1771
+ .charcoal-pagination-button[aria-current] {
1772
+ cursor: default;
1773
+ background-color: var(--charcoal-color-container-hud-default);
1774
+ color: var(--charcoal-color-text-on-hud-default);
1775
+ }
1776
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1777
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1778
+ background-color: var(--charcoal-color-container-hud-default);
1779
+ color: var(--charcoal-color-text-on-hud-default);
1643
1780
  }
1781
+ /* stylelint-enable no-descending-specificity */
1644
1782
 
1645
- .charcoal-carousel__item::scroll-marker:focus {
1646
- outline: 2px solid rgba(0, 150, 250, 0.56);
1647
- outline-offset: 2px;
1648
- }
1783
+ .charcoal-pagination-nav-button[data-hidden] {
1784
+ visibility: hidden;
1785
+ }
1649
1786
 
1650
- .charcoal-carousel__item::scroll-marker:target-current {
1651
- background-color: var(--charcoal-color-text-default);
1652
- }
1787
+ .charcoal-pagination-spacer,
1788
+ .charcoal-pagination-spacer:hover,
1789
+ .charcoal-pagination-spacer:active {
1790
+ cursor: default;
1791
+ color: var(--charcoal-color-text-tertiary-default);
1792
+ background: none;
1793
+ }
1653
1794
 
1654
- .charcoal-carousel__indicator {
1655
- display: none;
1795
+ .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1796
+ opacity: 1;
1656
1797
  }
1657
- }
1658
- /* stylelint-enable selector-pseudo-class-no-unknown */
1659
1798
  .charcoal-notification-region {
1660
1799
  left: 0;
1661
1800
  right: 0;
@@ -1707,26 +1846,23 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1707
1846
  animation: none;
1708
1847
  }
1709
1848
  }
1710
- .charcoal-snackbar-region {
1849
+ .charcoal-notification-region {
1711
1850
  --charcoal-snackbar-offset: 16px;
1712
1851
  }
1713
1852
 
1714
- .charcoal-snackbar-region[data-position='top'] {
1853
+ .charcoal-snackbar-region[data-position='top'] {
1715
1854
  --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1716
1855
 
1717
1856
  position: sticky;
1718
- top: calc(
1719
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1720
- );
1857
+ top: calc(env(safe-area-inset-top, 0px) + var(--charcoal-snackbar-offset));
1721
1858
  }
1722
1859
 
1723
- .charcoal-snackbar-region[data-position='bottom'] {
1860
+ .charcoal-snackbar-region[data-position='bottom'] {
1724
1861
  --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1725
1862
 
1726
1863
  position: fixed;
1727
1864
  bottom: calc(
1728
- env(safe-area-inset-bottom, 0px) +
1729
- max(var(--charcoal-snackbar-offset), 16px)
1865
+ env(safe-area-inset-bottom, 0px) + var(--charcoal-snackbar-offset)
1730
1866
  );
1731
1867
  }
1732
1868
 
@@ -1777,25 +1913,23 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1777
1913
  opacity: 0;
1778
1914
  }
1779
1915
  }
1780
- .charcoal-toast-region {
1916
+ .charcoal-notification-region {
1781
1917
  --charcoal-toast-offset: 16px;
1782
1918
  }
1783
1919
 
1784
- .charcoal-toast-region[data-position='top'] {
1920
+ .charcoal-toast-region[data-position='top'] {
1785
1921
  position: sticky;
1786
1922
  --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1787
1923
 
1788
- top: calc(
1789
- env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1790
- );
1924
+ top: calc(env(safe-area-inset-top, 0px) + var(--charcoal-toast-offset));
1791
1925
  }
1792
1926
 
1793
- .charcoal-toast-region[data-position='bottom'] {
1927
+ .charcoal-toast-region[data-position='bottom'] {
1794
1928
  position: fixed;
1795
1929
  --charcoal-toast-enter-offset: var(--charcoal-space-30);
1796
1930
 
1797
1931
  bottom: calc(
1798
- env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1932
+ env(safe-area-inset-bottom, 0px) + var(--charcoal-toast-offset)
1799
1933
  );
1800
1934
  }
1801
1935
 
@@ -1840,154 +1974,194 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1840
1974
  opacity: 0;
1841
1975
  }
1842
1976
  }
1843
- .charcoal-pagination {
1977
+ .charcoal-text-field-assistive-text {
1978
+ font-size: 14px;
1979
+ line-height: 22px;
1980
+ margin: 0;
1981
+ color: var(--charcoal-color-text-secondary-default);
1982
+ }
1983
+
1984
+ .charcoal-text-field-assistive-text[data-invalid='true'] {
1985
+ color: var(--charcoal-color-text-negative-default);
1986
+ }
1987
+ .charcoal-list-item {
1988
+ list-style: none;
1844
1989
  display: flex;
1845
- justify-content: center;
1846
1990
  align-items: center;
1847
- }
1991
+ min-height: 40px;
1992
+ cursor: pointer;
1993
+ outline: none;
1848
1994
 
1849
- .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1850
- min-width: 32px;
1851
- min-height: 32px;
1852
- }
1995
+ padding-right: 16px;
1996
+ padding-left: 16px;
1853
1997
 
1854
- .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1855
- min-width: 40px;
1856
- min-height: 40px;
1857
- }
1998
+ transition: background-color 0.2s;
1999
+ }
1858
2000
 
1859
- /* stylelint-disable no-descending-specificity */
1860
- .charcoal-pagination-button {
1861
- cursor: pointer;
1862
- -webkit-appearance: none;
1863
- -moz-appearance: none;
1864
- appearance: none;
2001
+ .charcoal-list-item:not([aria-disabled='true']):hover,
2002
+ .charcoal-list-item:not([aria-disabled='true']):focus,
2003
+ .charcoal-list-item:not([aria-disabled='true']):focus-within {
2004
+ background-color: var(--charcoal-color-container-secondary-default);
2005
+ }
2006
+
2007
+ .charcoal-list-item[aria-disabled='true'] {
2008
+ opacity: 0.32;
2009
+ cursor: default;
2010
+ }
2011
+ .charcoal-menu-list {
1865
2012
  padding: 0;
1866
- border-style: none;
1867
- outline: none;
1868
- text-decoration: none;
1869
- font-family: inherit;
1870
- font-style: inherit;
1871
- font-variant: inherit;
1872
2013
  margin: 0;
1873
- -webkit-user-select: none;
1874
- -moz-user-select: none;
1875
- user-select: none;
1876
-
1877
- display: flex;
1878
- align-items: center;
1879
- justify-content: center;
2014
+ }
2015
+ .charcoal-field-label {
1880
2016
  font-size: 14px;
1881
- font-weight: 700;
1882
2017
  line-height: 22px;
2018
+ font-weight: bold;
2019
+ display: flow-root;
2020
+ color: var(--charcoal-color-text-default-text1);
2021
+ }
1883
2022
 
1884
- /* HACK:
1885
- * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1886
- * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1887
- */
1888
- -webkit-transform: translateZ(0);
2023
+ .charcoal-field-label-required-text {
2024
+ font-size: 14px;
2025
+ line-height: 22px;
2026
+ display: flow-root;
2027
+ color: var(--charcoal-color-text-secondary-default);
2028
+ }
1889
2029
 
2030
+ .charcoal-field-label-sub-label {
2031
+ font-size: 14px;
2032
+ line-height: 22px;
2033
+ display: flow-root;
1890
2034
  color: var(--charcoal-color-text-tertiary-default);
1891
- background-color: transparent;
1892
- border-radius: 20px;
1893
2035
  transition:
1894
- 0.2s background-color,
2036
+ 0.2s color,
1895
2037
  0.2s box-shadow;
1896
2038
  }
1897
- .charcoal-pagination-button:focus {
1898
- outline: none;
1899
- }
1900
- .charcoal-pagination-button::-moz-focus-inner {
1901
- border-style: none;
1902
- padding: 0;
1903
- }
1904
- .charcoal-pagination-button[hidden] {
1905
- visibility: hidden;
1906
- display: block;
1907
- }
1908
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1909
- .charcoal-pagination-button[aria-disabled='false']:hover {
1910
- color: var(--charcoal-color-text-tertiary-default);
1911
- background-color: var(--charcoal-color-container-secondary-default);
1912
- }
1913
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1914
- .charcoal-pagination-button[aria-disabled='false']:active {
1915
- color: var(--charcoal-color-text-tertiary-press);
1916
- background-color: var(--charcoal-color-container-tertiary-press);
1917
- }
1918
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1919
- .charcoal-pagination-button[aria-disabled='false']:focus {
1920
- outline: none;
1921
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1922
- }
1923
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1924
- .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1925
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1926
- }
1927
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1928
- .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1929
- box-shadow: none;
2039
+
2040
+ .charcoal-field-label-root {
2041
+ display: inline-flex;
2042
+ align-items: center;
2043
+ }
2044
+
2045
+ .charcoal-field-label-root > .charcoal-field-label-required-text {
2046
+ margin-left: 4px;
1930
2047
  }
1931
- .charcoal-pagination-button[aria-current] {
1932
- cursor: default;
1933
- background-color: var(--charcoal-color-container-hud-default);
1934
- color: var(--charcoal-color-text-on-hud-default);
2048
+
2049
+ .charcoal-field-label-root > .charcoal-field-label-sub-label {
2050
+ margin-left: auto;
1935
2051
  }
1936
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1937
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1938
- background-color: var(--charcoal-color-container-hud-default);
1939
- color: var(--charcoal-color-text-on-hud-default);
1940
- }
1941
- /* stylelint-enable no-descending-specificity */
2052
+ .charcoal-checkbox-input {
2053
+ -webkit-appearance: none;
2054
+ -moz-appearance: none;
2055
+ appearance: none;
2056
+ display: flex;
2057
+ cursor: pointer;
2058
+ margin: 0;
2059
+ width: 20px;
2060
+ height: 20px;
2061
+ border-radius: 4px;
2062
+ transition:
2063
+ 0.2s box-shadow,
2064
+ 0.2s background-color;
2065
+ position: relative;
2066
+ box-sizing: border-box;
2067
+ }
1942
2068
 
1943
- .charcoal-pagination-nav-button[data-hidden] {
1944
- visibility: hidden;
2069
+ .charcoal-checkbox-input:disabled,
2070
+ .charcoal-checkbox-input[readonly] {
2071
+ opacity: 0.32;
2072
+ cursor: default;
2073
+ }
2074
+
2075
+ .charcoal-checkbox-input:checked {
2076
+ background-color: var(--charcoal-color-container-primary-default);
2077
+ }
2078
+
2079
+ .charcoal-checkbox-input:checked::after {
2080
+ content: '';
2081
+ background-color: white;
2082
+ display: flex;
2083
+ margin: auto;
2084
+ width: 16px;
2085
+ height: 16px;
2086
+ clip-path: path(
2087
+ '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'
2088
+ );
2089
+ }
2090
+
2091
+ .charcoal-checkbox-input:not(:checked) {
2092
+ border-width: 2px;
2093
+ border-style: solid;
2094
+ border-color: var(--charcoal-color-border-default);
2095
+ }
2096
+
2097
+ .charcoal-checkbox-input:not(:disabled):focus {
2098
+ outline: none;
2099
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2100
+ }
2101
+ .charcoal-checkbox-input:not(:disabled):focus-visible {
2102
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2103
+ }
2104
+ .charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {
2105
+ box-shadow: none;
2106
+ }
2107
+
2108
+ .charcoal-checkbox-input:checked:not(:disabled):hover {
2109
+ background-color: var(--charcoal-color-container-primary-hover);
2110
+ }
2111
+ .charcoal-checkbox-input:checked:not(:disabled):active {
2112
+ background-color: var(--charcoal-color-container-primary-press);
2113
+ }
2114
+
2115
+ .charcoal-checkbox-input[aria-invalid='true'],
2116
+ .charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {
2117
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1945
2118
  }
1946
2119
 
1947
- .charcoal-pagination-spacer,
1948
- .charcoal-pagination-spacer:hover,
1949
- .charcoal-pagination-spacer:active {
1950
- cursor: default;
1951
- color: var(--charcoal-color-text-tertiary-default);
1952
- background: none;
1953
- }
2120
+ .charcoal-checkbox-input[data-rounded='true'] {
2121
+ border-radius: 10px;
2122
+ background-color: var(--charcoal-color-container-secondary-default);
2123
+ border: 2px solid transparent;
2124
+ }
1954
2125
 
1955
- .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1956
- opacity: 1;
1957
- }
1958
- .charcoal-text-ellipsis {
1959
- /* Runtime variables overridden by the React component. */
1960
- --charcoal-text-ellipsis-line-limit: 1;
1961
- --charcoal-text-ellipsis-line-height: inherit;
2126
+ .charcoal-checkbox-input[data-rounded='true']:checked {
2127
+ background-color: var(--charcoal-color-container-primary-default);
2128
+ }
1962
2129
 
1963
- overflow: hidden;
1964
- overflow-wrap: break-word;
1965
- display: -webkit-box;
1966
- -webkit-box-orient: vertical;
1967
- -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
2130
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {
2131
+ background-color: var(--charcoal-color-container-secondary-hover);
2132
+ }
2133
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {
2134
+ background-color: var(--charcoal-color-container-secondary-press);
1968
2135
  }
1969
2136
 
1970
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1971
- line-height: var(--charcoal-text-ellipsis-line-height);
1972
- }
2137
+ .charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {
2138
+ box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);
2139
+ }
1973
2140
 
1974
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1975
- line-height: inherit;
1976
- }
2141
+ .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {
2142
+ background-color: var(--charcoal-color-container-primary-hover);
2143
+ }
2144
+ .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {
2145
+ background-color: var(--charcoal-color-container-primary-press);
2146
+ }
1977
2147
 
1978
- .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1979
- text-overflow: ellipsis;
1980
- white-space: nowrap;
1981
- }
1982
- .charcoal-text-field-assistive-text {
1983
- font-size: 14px;
1984
- line-height: 22px;
1985
- margin: 0;
1986
- color: var(--charcoal-color-text-secondary-default);
2148
+ .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],
2149
+ .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(
2150
+ :disabled
2151
+ ):focus {
2152
+ box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);
1987
2153
  }
1988
2154
 
1989
- .charcoal-text-field-assistive-text[data-invalid='true'] {
1990
- color: var(--charcoal-color-text-negative-default);
2155
+ .charcoal-checkbox-input[data-rounded='true']::before {
2156
+ content: '';
2157
+ width: 24px;
2158
+ height: 24px;
2159
+ position: absolute;
2160
+ top: -4px;
2161
+ left: -4px;
2162
+ border-radius: 12px;
2163
+ border: 2px solid #fff;
2164
+ box-sizing: border-box;
1991
2165
  }
1992
2166
  .charcoal-radio-input {
1993
2167
  -webkit-appearance: none;
@@ -2077,43 +2251,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2077
2251
  .charcoal-radio-input:checked:not(:disabled):active::after {
2078
2252
  background-color: var(--charcoal-color-icon-on-primary-press);
2079
2253
  }
2080
- .charcoal-field-label {
2081
- font-size: 14px;
2082
- line-height: 22px;
2083
- font-weight: bold;
2084
- display: flow-root;
2085
- color: var(--charcoal-color-text-default-text1);
2086
- }
2087
-
2088
- .charcoal-field-label-required-text {
2089
- font-size: 14px;
2090
- line-height: 22px;
2091
- display: flow-root;
2092
- color: var(--charcoal-color-text-secondary-default);
2093
- }
2094
-
2095
- .charcoal-field-label-sub-label {
2096
- font-size: 14px;
2097
- line-height: 22px;
2098
- display: flow-root;
2099
- color: var(--charcoal-color-text-tertiary-default);
2100
- transition:
2101
- 0.2s color,
2102
- 0.2s box-shadow;
2103
- }
2104
-
2105
- .charcoal-field-label-root {
2106
- display: inline-flex;
2107
- align-items: center;
2108
- }
2109
-
2110
- .charcoal-field-label-root > .charcoal-field-label-required-text {
2111
- margin-left: 4px;
2112
- }
2113
-
2114
- .charcoal-field-label-root > .charcoal-field-label-sub-label {
2115
- margin-left: auto;
2116
- }
2117
2254
  .charcoal-switch-input {
2118
2255
  cursor: pointer;
2119
2256
  -webkit-appearance: none;
@@ -2243,148 +2380,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2243
2380
  .charcoal-modal-dialog:focus {
2244
2381
  outline: none;
2245
2382
  }
2246
- .charcoal-list-item {
2247
- list-style: none;
2248
- display: flex;
2249
- align-items: center;
2250
- min-height: 40px;
2251
- cursor: pointer;
2252
- outline: none;
2253
-
2254
- padding-right: 16px;
2255
- padding-left: 16px;
2256
-
2257
- transition: background-color 0.2s;
2258
- }
2259
-
2260
- .charcoal-list-item:not([aria-disabled='true']):hover,
2261
- .charcoal-list-item:not([aria-disabled='true']):focus,
2262
- .charcoal-list-item:not([aria-disabled='true']):focus-within {
2263
- background-color: var(--charcoal-color-container-secondary-default);
2264
- }
2265
-
2266
- .charcoal-list-item[aria-disabled='true'] {
2267
- opacity: 0.32;
2268
- cursor: default;
2269
- }
2270
- .charcoal-menu-list {
2271
- padding: 0;
2272
- margin: 0;
2273
- }
2274
- .charcoal-checkbox-input {
2275
- -webkit-appearance: none;
2276
- -moz-appearance: none;
2277
- appearance: none;
2278
- display: flex;
2279
- cursor: pointer;
2280
- margin: 0;
2281
- width: 20px;
2282
- height: 20px;
2283
- border-radius: 4px;
2284
- transition:
2285
- 0.2s box-shadow,
2286
- 0.2s background-color;
2287
- position: relative;
2288
- box-sizing: border-box;
2289
- }
2290
-
2291
- .charcoal-checkbox-input:disabled,
2292
- .charcoal-checkbox-input[readonly] {
2293
- opacity: 0.32;
2294
- cursor: default;
2295
- }
2296
-
2297
- .charcoal-checkbox-input:checked {
2298
- background-color: var(--charcoal-color-container-primary-default);
2299
- }
2300
-
2301
- .charcoal-checkbox-input:checked::after {
2302
- content: '';
2303
- background-color: white;
2304
- display: flex;
2305
- margin: auto;
2306
- width: 16px;
2307
- height: 16px;
2308
- clip-path: path(
2309
- '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'
2310
- );
2311
- }
2312
-
2313
- .charcoal-checkbox-input:not(:checked) {
2314
- border-width: 2px;
2315
- border-style: solid;
2316
- border-color: var(--charcoal-color-border-default);
2317
- }
2318
-
2319
- .charcoal-checkbox-input:not(:disabled):focus {
2320
- outline: none;
2321
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2322
- }
2323
- .charcoal-checkbox-input:not(:disabled):focus-visible {
2324
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2325
- }
2326
- .charcoal-checkbox-input:not(:disabled):focus:not(:focus-visible) {
2327
- box-shadow: none;
2328
- }
2329
-
2330
- .charcoal-checkbox-input:checked:not(:disabled):hover {
2331
- background-color: var(--charcoal-color-container-primary-hover);
2332
- }
2333
- .charcoal-checkbox-input:checked:not(:disabled):active {
2334
- background-color: var(--charcoal-color-container-primary-press);
2335
- }
2336
-
2337
- .charcoal-checkbox-input[aria-invalid='true'],
2338
- .charcoal-checkbox-input[aria-invalid='true']:not(:disabled):focus {
2339
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2340
- }
2341
-
2342
- .charcoal-checkbox-input[data-rounded='true'] {
2343
- border-radius: 10px;
2344
- background-color: var(--charcoal-color-container-secondary-default);
2345
- border: 2px solid transparent;
2346
- }
2347
-
2348
- .charcoal-checkbox-input[data-rounded='true']:checked {
2349
- background-color: var(--charcoal-color-container-primary-default);
2350
- }
2351
-
2352
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):hover {
2353
- background-color: var(--charcoal-color-container-secondary-hover);
2354
- }
2355
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):active {
2356
- background-color: var(--charcoal-color-container-secondary-press);
2357
- }
2358
-
2359
- .charcoal-checkbox-input[data-rounded='true']:not(:disabled):focus-visible {
2360
- box-shadow: 0 0 0 6px rgba(0, 150, 250, 0.32);
2361
- }
2362
-
2363
- .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):hover {
2364
- background-color: var(--charcoal-color-container-primary-hover);
2365
- }
2366
- .charcoal-checkbox-input[data-rounded='true']:checked:not(:disabled):active {
2367
- background-color: var(--charcoal-color-container-primary-press);
2368
- }
2369
-
2370
- .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true'],
2371
- .charcoal-checkbox-input[data-rounded='true'][aria-invalid='true']:not(
2372
- :disabled
2373
- ):focus {
2374
- box-shadow: 0 0 0 6px rgba(255, 43, 0, 0.32);
2375
- }
2376
-
2377
- .charcoal-checkbox-input[data-rounded='true']::before {
2378
- content: '';
2379
- width: 24px;
2380
- height: 24px;
2381
- position: absolute;
2382
- top: -4px;
2383
- left: -4px;
2384
- border-radius: 12px;
2385
- border: 2px solid #fff;
2386
- box-sizing: border-box;
2387
- }
2388
2383
  .charcoal-popover {
2389
2384
  margin: 4px 0;
2390
2385
  list-style: none;