@charcoal-ui/react 6.1.1-beta.0 → 6.1.1-beta.1

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