@charcoal-ui/react 6.1.0-beta.0 → 6.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/components/Notification/NotificationItem.cjs +30 -0
  2. package/dist/components/Notification/NotificationItem.cjs.map +1 -0
  3. package/dist/components/Notification/NotificationItem.d.ts +15 -0
  4. package/dist/components/Notification/NotificationItem.d.ts.map +1 -0
  5. package/dist/components/Notification/NotificationItem.js +30 -0
  6. package/dist/components/Notification/NotificationItem.js.map +1 -0
  7. package/dist/components/Notification/NotificationRegion.cjs +50 -0
  8. package/dist/components/Notification/NotificationRegion.cjs.map +1 -0
  9. package/dist/components/Notification/NotificationRegion.d.ts +14 -0
  10. package/dist/components/Notification/NotificationRegion.d.ts.map +1 -0
  11. package/dist/components/Notification/NotificationRegion.js +50 -0
  12. package/dist/components/Notification/NotificationRegion.js.map +1 -0
  13. package/dist/components/Notification/Snackbar/index.d.ts +29 -0
  14. package/dist/components/Notification/Snackbar/index.d.ts.map +1 -0
  15. package/dist/components/Notification/Snackbar/index2.cjs +79 -0
  16. package/dist/components/Notification/Snackbar/index2.cjs.map +1 -0
  17. package/dist/components/Notification/Snackbar/index2.js +78 -0
  18. package/dist/components/Notification/Snackbar/index2.js.map +1 -0
  19. package/dist/components/Notification/Toast/index.d.ts +28 -0
  20. package/dist/components/Notification/Toast/index.d.ts.map +1 -0
  21. package/dist/components/Notification/Toast/index2.cjs +86 -0
  22. package/dist/components/Notification/Toast/index2.cjs.map +1 -0
  23. package/dist/components/Notification/Toast/index2.js +85 -0
  24. package/dist/components/Notification/Toast/index2.js.map +1 -0
  25. package/dist/components/Notification/types.d.ts +27 -0
  26. package/dist/components/Notification/types.d.ts.map +1 -0
  27. package/dist/components/Notification/useNotificationQueue.cjs +155 -0
  28. package/dist/components/Notification/useNotificationQueue.cjs.map +1 -0
  29. package/dist/components/Notification/useNotificationQueue.d.ts +16 -0
  30. package/dist/components/Notification/useNotificationQueue.d.ts.map +1 -0
  31. package/dist/components/Notification/useNotificationQueue.js +155 -0
  32. package/dist/components/Notification/useNotificationQueue.js.map +1 -0
  33. package/dist/components/Pagination/index2.js +60 -52
  34. package/dist/components/Pagination/index2.js.map +1 -1
  35. package/dist/index.cjs +5 -2
  36. package/dist/index.css +822 -757
  37. package/dist/index.d.ts +3 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -2
  40. package/dist/layered.css +822 -757
  41. package/dist/layered.css.map +1 -1
  42. package/package.json +5 -5
  43. package/src/__tests__/css-output.test.ts +39 -6
  44. package/src/components/Notification/NotificationItem.tsx +51 -0
  45. package/src/components/Notification/NotificationRegion.tsx +76 -0
  46. package/src/components/{Snackbar → Notification/Snackbar}/__snapshots__/index.css.snap +1 -42
  47. package/src/components/{Snackbar → Notification/Snackbar}/index.css +1 -43
  48. package/src/components/{Snackbar → Notification/Snackbar}/index.story.tsx +70 -34
  49. package/src/components/{Snackbar → Notification/Snackbar}/index.test.tsx +99 -18
  50. package/src/components/Notification/Snackbar/index.tsx +136 -0
  51. package/src/components/Notification/Toast/__snapshots__/index.css.snap +62 -0
  52. package/src/components/Notification/Toast/index.css +61 -0
  53. package/src/components/Notification/Toast/index.story.tsx +177 -0
  54. package/src/components/Notification/Toast/index.test.tsx +263 -0
  55. package/src/components/Notification/Toast/index.tsx +86 -0
  56. package/src/components/Notification/__snapshots__/layout.css.snap +47 -0
  57. package/src/components/Notification/layout.css +46 -0
  58. package/src/components/Notification/types.ts +28 -0
  59. package/src/components/Notification/useNotificationQueue.ts +235 -0
  60. package/src/index.ts +17 -5
  61. package/dist/components/Snackbar/index.d.ts +0 -52
  62. package/dist/components/Snackbar/index.d.ts.map +0 -1
  63. package/dist/components/Snackbar/index2.cjs +0 -268
  64. package/dist/components/Snackbar/index2.cjs.map +0 -1
  65. package/dist/components/Snackbar/index2.js +0 -263
  66. package/dist/components/Snackbar/index2.js.map +0 -1
  67. package/src/components/Snackbar/index.tsx +0 -455
package/dist/index.css CHANGED
@@ -6,6 +6,67 @@
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-clickable {
10
+ cursor: pointer;
11
+
12
+ /* Reset button appearance */
13
+ -webkit-appearance: none;
14
+ -moz-appearance: none;
15
+ appearance: none;
16
+ background: transparent;
17
+ padding: 0;
18
+ border-style: none;
19
+ outline: none;
20
+ color: inherit;
21
+ text-rendering: inherit;
22
+ letter-spacing: inherit;
23
+ word-spacing: inherit;
24
+ text-decoration: none;
25
+
26
+ /* Change the font styles in all browsers. */
27
+ font: inherit;
28
+
29
+ /* Remove the margin in Firefox and Safari. */
30
+ margin: 0;
31
+
32
+ /* Show the overflow in Edge. */
33
+ overflow: visible;
34
+
35
+ /* Remove the inheritance of text transform in Firefox. */
36
+ text-transform: none;
37
+ }
38
+
39
+ .charcoal-clickable:disabled,
40
+ .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
41
+ cursor: default;
42
+ }
43
+
44
+ .charcoal-clickable:focus {
45
+ outline: none;
46
+ }
47
+
48
+ .charcoal-clickable::-moz-focus-inner {
49
+ border-style: none;
50
+ padding: 0;
51
+ }
52
+ .charcoal-radio__label {
53
+ display: grid;
54
+ grid-template-columns: auto 1fr;
55
+ grid-gap: 4px;
56
+ align-items: center;
57
+ cursor: pointer;
58
+ }
59
+
60
+ .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
61
+ opacity: 0.32;
62
+ cursor: default;
63
+ }
64
+
65
+ .charcoal-radio__label_div {
66
+ font-size: 14px;
67
+ line-height: 22px;
68
+ color: var(--charcoal-color-text-default);
69
+ }
9
70
  .charcoal-button {
10
71
  -webkit-appearance: none;
11
72
  -moz-appearance: none;
@@ -156,48 +217,140 @@
156
217
  .charcoal-button[data-full-width='true'] {
157
218
  width: 100%;
158
219
  }
159
- .charcoal-clickable {
220
+ .charcoal-multi-select {
221
+ display: grid;
222
+ grid-template-columns: auto 1fr;
223
+ align-items: center;
224
+ position: relative;
160
225
  cursor: pointer;
226
+ gap: 4px;
227
+ }
161
228
 
162
- /* Reset button appearance */
229
+ .charcoal-multi-select:disabled,
230
+ .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
231
+ opacity: 0.32;
232
+ cursor: default;
233
+ }
234
+
235
+ .charcoal-multi-select-label {
236
+ display: flow-root;
237
+ align-items: center;
238
+ font-size: 14px;
239
+ line-height: 22px;
240
+ color: var(--charcoal-color-text-default);
241
+ }
242
+
243
+ .charcoal-multi-select-label::before {
244
+ display: block;
245
+ width: 0;
246
+ height: 0;
247
+ content: '';
248
+ margin-top: -4px;
249
+ }
250
+
251
+ .charcoal-multi-select-label::after {
252
+ display: block;
253
+ width: 0;
254
+ height: 0;
255
+ content: '';
256
+ margin-bottom: -4px;
257
+ }
258
+
259
+ .charcoal-multi-select-input[type='checkbox'] {
163
260
  -webkit-appearance: none;
164
261
  -moz-appearance: none;
165
262
  appearance: none;
166
- background: transparent;
167
- padding: 0;
168
- border-style: none;
169
- outline: none;
170
- color: inherit;
171
- text-rendering: inherit;
172
- letter-spacing: inherit;
173
- word-spacing: inherit;
174
- text-decoration: none;
263
+ display: block;
264
+ width: 20px;
265
+ height: 20px;
266
+ margin: 0;
267
+ background-color: var(--charcoal-color-container-neutral-default);
268
+ border-radius: 999999px;
269
+ transition:
270
+ 0.2s background-color,
271
+ 0.2s box-shadow;
272
+ }
175
273
 
176
- /* Change the font styles in all browsers. */
177
- font: inherit;
274
+ .charcoal-multi-select-input[type='checkbox']:checked {
275
+ background-color: var(--charcoal-color-container-primary-default);
276
+ }
178
277
 
179
- /* Remove the margin in Firefox and Safari. */
180
- margin: 0;
278
+ .charcoal-multi-select-input[type='checkbox']:focus {
279
+ outline: none;
280
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
281
+ }
181
282
 
182
- /* Show the overflow in Edge. */
183
- overflow: visible;
283
+ .charcoal-multi-select-input[type='checkbox']:focus-visible {
284
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
285
+ }
184
286
 
185
- /* Remove the inheritance of text transform in Firefox. */
186
- text-transform: none;
287
+ .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
288
+ box-shadow: none;
289
+ }
290
+
291
+ .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
292
+ .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
293
+ background-color: var(--charcoal-color-container-neutral-hover);
294
+ }
295
+
296
+ .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
297
+ .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
298
+ background-color: var(--charcoal-color-container-neutral-press);
299
+ }
300
+
301
+ .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
302
+ .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
303
+ background-color: var(--charcoal-color-container-primary-hover);
304
+ }
305
+
306
+ .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
307
+ .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
308
+ background-color: var(--charcoal-color-container-primary-press);
309
+ }
310
+
311
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
312
+ [aria-disabled]
313
+ ) {
314
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
315
+ }
316
+
317
+ .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
318
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
319
+ }
320
+
321
+ .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
322
+ background-color: var(--charcoal-color-container-on-img-default);
323
+ }
324
+
325
+ .charcoal-multi-select-overlay {
326
+ position: absolute;
327
+ top: -2px;
328
+ left: -2px;
329
+ box-sizing: border-box;
330
+ display: flex;
331
+ align-items: center;
332
+ justify-content: center;
333
+ width: 24px;
334
+ height: 24px;
335
+ border-radius: 999999px;
336
+ color: var(--charcoal-color-icon-on-primary-default);
337
+ transition: 0.2s box-shadow;
187
338
  }
188
339
 
189
- .charcoal-clickable:disabled,
190
- .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
191
- cursor: default;
340
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
341
+ [aria-disabled]
342
+ ) {
343
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
192
344
  }
193
345
 
194
- .charcoal-clickable:focus {
195
- outline: none;
346
+ .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
347
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
196
348
  }
197
349
 
198
- .charcoal-clickable::-moz-focus-inner {
199
- border-style: none;
200
- padding: 0;
350
+ .charcoal-multi-select-overlay[data-overlay='true'] {
351
+ border-color: var(--charcoal-color-border-hud);
352
+ border-width: 2px;
353
+ border-style: solid;
201
354
  }
202
355
  .charcoal-icon-button {
203
356
  cursor: pointer;
@@ -346,207 +499,218 @@
346
499
  line-height: 22px;
347
500
  color: var(--charcoal-color-text-default);
348
501
  }
349
- .charcoal-radio-group {
502
+ .charcoal-text-field-root {
350
503
  display: grid;
351
504
  grid-template-columns: 1fr;
352
- grid-gap: 8px;
353
- }
354
- .charcoal-loading-spinner {
355
- box-sizing: content-box;
356
- margin: auto;
357
- padding: 16px;
358
- border-radius: 8px;
359
- font-size: 48px;
360
- width: 48px;
361
- height: 48px;
362
- opacity: 0.84;
363
- color: var(--charcoal-color-icon-tertiary-default);
364
- background-color: var(--charcoal-color-background-default);
505
+ grid-gap: 4px;
365
506
  }
366
507
 
367
- .charcoal-loading-spinner[data-transparent='true'] {
368
- background-color: transparent;
508
+ .charcoal-text-field-root[aria-disabled='true'] {
509
+ opacity: 0.32;
369
510
  }
370
511
 
371
- @keyframes charcoal-loading-spinner-icon-scale-out {
372
- from {
373
- transform: scale(0);
374
- opacity: 1;
512
+ .charcoal-text-field-container {
513
+ display: flex;
514
+ height: 40px;
515
+ transition:
516
+ 0.2s background-color,
517
+ 0.2s box-shadow;
518
+ color: var(--charcoal-color-text-secondary-default);
519
+ background-color: var(--charcoal-color-container-secondary-default-a);
520
+ border-radius: 4px;
521
+ padding: 0 8px;
522
+ line-height: 22px;
523
+ font-size: 14px;
524
+ }
525
+
526
+ .charcoal-text-field-container[data-invalid='true'] {
527
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
375
528
  }
376
- to {
377
- transform: scale(1);
378
- opacity: 0;
529
+
530
+ .charcoal-text-field-container:not([aria-disabled='true']):hover {
531
+ background-color: var(--charcoal-color-container-secondary-hover-a);
379
532
  }
380
- }
381
533
 
382
- .charcoal-loading-spinner-icon {
383
- width: 1em;
384
- height: 1em;
385
- border-radius: 1em;
386
- background-color: currentColor;
387
- animation: charcoal-loading-spinner-icon-scale-out 1s infinite both ease-out;
388
- }
389
-
390
- .charcoal-loading-spinner-icon[data-reset-animation] {
391
- animation: none;
534
+ .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
535
+ outline: none;
536
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
392
537
  }
393
538
 
394
- .charcoal-loading-spinner-icon[data-once='true'] {
395
- animation-iteration-count: 1;
539
+ .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
540
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
396
541
  }
397
- .charcoal-radio__label {
398
- display: grid;
399
- grid-template-columns: auto 1fr;
400
- grid-gap: 4px;
542
+
543
+ .charcoal-text-field-prefix {
544
+ display: flex;
401
545
  align-items: center;
402
- cursor: pointer;
546
+ margin-right: 4px;
403
547
  }
404
548
 
405
- .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
406
- opacity: 0.32;
407
- cursor: default;
408
- }
409
-
410
- .charcoal-radio__label_div {
411
- font-size: 14px;
412
- line-height: 22px;
413
- color: var(--charcoal-color-text-default);
414
- }
415
- .charcoal-multi-select {
416
- display: grid;
417
- grid-template-columns: auto 1fr;
549
+ .charcoal-text-field-suffix {
550
+ display: flex;
418
551
  align-items: center;
419
- position: relative;
420
- cursor: pointer;
421
- gap: 4px;
552
+ gap: 8px;
553
+ margin-left: 4px;
422
554
  }
423
555
 
424
- .charcoal-multi-select:disabled,
425
- .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
426
- opacity: 0.32;
427
- cursor: default;
428
- }
429
-
430
- .charcoal-multi-select-label {
431
- display: flow-root;
432
- align-items: center;
433
- font-size: 14px;
434
- line-height: 22px;
435
- color: var(--charcoal-color-text-default);
556
+ .charcoal-text-field-input-root {
557
+ flex: 1;
558
+ min-width: 0;
559
+ overflow: hidden;
436
560
  }
437
561
 
438
- .charcoal-multi-select-label::before {
439
- display: block;
440
- width: 0;
441
- height: 0;
442
- content: '';
443
- margin-top: -4px;
444
- }
562
+ .charcoal-text-field-input {
563
+ border: none;
564
+ box-sizing: border-box;
565
+ outline: none;
566
+ font-family: inherit;
445
567
 
446
- .charcoal-multi-select-label::after {
447
- display: block;
448
- width: 0;
449
- height: 0;
450
- content: '';
451
- margin-bottom: -4px;
452
- }
568
+ /* Prevent zooming for iOS Safari */
569
+ transform-origin: top left;
570
+ transform: scale(0.875);
571
+ width: calc(100% / 0.875);
572
+ height: calc(100% / 0.875);
573
+ font-size: calc(14px / 0.875);
574
+ line-height: calc(22px / 0.875);
575
+ padding-left: 0;
576
+ padding-right: 0;
577
+ border-radius: calc(4px / 0.875);
453
578
 
454
- .charcoal-multi-select-input[type='checkbox'] {
579
+ /* Display box-shadow for iOS Safari */
455
580
  -webkit-appearance: none;
456
581
  -moz-appearance: none;
457
582
  appearance: none;
458
- display: block;
459
- width: 20px;
460
- height: 20px;
461
- margin: 0;
462
- background-color: var(--charcoal-color-container-neutral-default);
463
- border-radius: 999999px;
464
- transition:
465
- 0.2s background-color,
466
- 0.2s box-shadow;
467
- }
583
+ background: transparent;
468
584
 
469
- .charcoal-multi-select-input[type='checkbox']:checked {
470
- background-color: var(--charcoal-color-container-primary-default);
471
- }
585
+ color: var(--charcoal-color-text-secondary-default);
586
+ }
472
587
 
473
- .charcoal-multi-select-input[type='checkbox']:focus {
474
- outline: none;
475
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
588
+ .charcoal-text-field-input::-moz-placeholder {
589
+ color: var(--charcoal-color-text-placeholder-default);
476
590
  }
477
591
 
478
- .charcoal-multi-select-input[type='checkbox']:focus-visible {
479
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
592
+ .charcoal-text-field-input::placeholder {
593
+ color: var(--charcoal-color-text-placeholder-default);
480
594
  }
481
595
 
482
- .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
483
- box-shadow: none;
484
- }
596
+ .charcoal-text-field-line-counter {
597
+ line-height: 22px;
598
+ font-size: 14px;
599
+ color: var(--charcoal-color-text-tertiary-default);
600
+ }
601
+ .charcoal-icon {
602
+ display: inline-flex;
603
+ width: var(--charcoal-icon-size);
604
+ height: var(--charcoal-icon-size);
605
+ }
485
606
 
486
- .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
487
- .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
488
- background-color: var(--charcoal-color-container-neutral-hover);
489
- }
607
+ pixiv-icon:not(:defined) {
608
+ --pixiv-icon-base: 24px;
609
+ --pixiv-icon-scale: 1;
610
+ --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
490
611
 
491
- .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
492
- .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
493
- background-color: var(--charcoal-color-container-neutral-press);
494
- }
612
+ display: inline-flex;
613
+ /* --charcoal-icon-size がセットされていればそれを優先、
614
+ なければ name / scale から導出した --pixiv-icon-size をフォールバック */
615
+ width: var(--charcoal-icon-size, var(--pixiv-icon-size));
616
+ height: var(--charcoal-icon-size, var(--pixiv-icon-size));
617
+ }
495
618
 
496
- .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
497
- .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
498
- background-color: var(--charcoal-color-container-primary-hover);
619
+ pixiv-icon:not(:defined)[name^='16/'] {
620
+ --pixiv-icon-base: 16px;
621
+ --pixiv-icon-size: 16px;
499
622
  }
500
623
 
501
- .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
502
- .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
503
- background-color: var(--charcoal-color-container-primary-press);
504
- }
624
+ pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
625
+ --pixiv-icon-scale: 2;
626
+ }
505
627
 
506
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
507
- [aria-disabled]
508
- ) {
509
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
510
- }
628
+ pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
629
+ --pixiv-icon-scale: 3;
630
+ }
511
631
 
512
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
513
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
632
+ pixiv-icon:not(:defined)[name^='32/'] {
633
+ --pixiv-icon-base: 32px;
634
+ --pixiv-icon-size: 32px;
514
635
  }
515
636
 
516
- .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
517
- background-color: var(--charcoal-color-container-on-img-default);
637
+ pixiv-icon:not(:defined)[name^='Inline/'] {
638
+ --pixiv-icon-base: 16px;
518
639
  }
519
640
 
520
- .charcoal-multi-select-overlay {
521
- position: absolute;
522
- top: -2px;
523
- left: -2px;
524
- box-sizing: border-box;
641
+ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
642
+ --pixiv-icon-scale: 2;
643
+ }
644
+ .charcoal-modal-background {
645
+ overflow: auto;
525
646
  display: flex;
526
- align-items: center;
647
+ position: fixed;
648
+ top: 0;
649
+ left: 0;
650
+ width: 100%;
651
+ height: 100%;
527
652
  justify-content: center;
528
- width: 24px;
529
- height: 24px;
530
- border-radius: 999999px;
531
- color: var(--charcoal-color-icon-on-primary-default);
532
- transition: 0.2s box-shadow;
653
+ padding: 40px 0;
654
+ box-sizing: border-box;
655
+
656
+ background-color: var(--charcoal-color-background-overlay);
533
657
  }
534
658
 
535
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
536
- [aria-disabled]
537
- ) {
538
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
659
+ @media (max-width: 743px) {
660
+ .charcoal-modal-background[data-bottom-sheet='true'],
661
+ .charcoal-modal-background[data-bottom-sheet='full'] {
662
+ padding: 0;
663
+ }
539
664
  }
540
665
 
541
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
542
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
543
- }
666
+ /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
667
+ transition entering / exiting に限定し、開いたままテーマ切り替え等で
668
+ 色や transform が変わってもアニメーションしないようにする */
669
+ .charcoal-modal-background[data-animation] {
670
+ overflow: hidden;
671
+ }
544
672
 
545
- .charcoal-multi-select-overlay[data-overlay='true'] {
546
- border-color: var(--charcoal-color-border-hud);
547
- border-width: 2px;
548
- border-style: solid;
549
- }
673
+ .charcoal-modal-background[data-animation='entering'],
674
+ .charcoal-modal-background[data-animation='exiting'] {
675
+ transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
676
+ }
677
+
678
+ /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
679
+ 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
680
+ .charcoal-modal-background[data-animation='exited'],
681
+ .charcoal-modal-background[data-animation='exiting'] {
682
+ background-color: transparent;
683
+ pointer-events: none;
684
+ }
685
+
686
+ .charcoal-modal-background[data-animation='entered'] {
687
+ overflow: auto;
688
+ }
689
+
690
+ .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
691
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
692
+ transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
693
+ }
694
+
695
+ .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
696
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
697
+ transform: translateY(100%);
698
+ }
699
+
700
+ .charcoal-modal-close-button {
701
+ position: absolute;
702
+ top: 8px;
703
+ right: 8px;
704
+
705
+ color: var(--charcoal-color-text-tertiary-default);
706
+ transition: 0.2s color;
707
+ }
708
+
709
+ .charcoal-modal-title {
710
+ margin: 0;
711
+ font-weight: inherit;
712
+ font-size: inherit;
713
+ }
550
714
  .charcoal-modal-header-root {
551
715
  height: 64px;
552
716
  display: grid;
@@ -587,45 +751,182 @@
587
751
  padding-left: 16px;
588
752
  padding-right: 16px;
589
753
  }
590
- .charcoal-dropdown-selector-menu-item {
591
- font-size: 14px;
592
- line-height: 22px;
754
+ .charcoal-text-area-root {
755
+ display: grid;
756
+ grid-template-columns: 1fr;
757
+ grid-gap: 4px;
758
+ }
759
+
760
+ .charcoal-text-area-root[aria-disabled='true'] {
761
+ opacity: 0.32;
762
+ }
763
+
764
+ .charcoal-text-area-container {
765
+ /* Runtime variable overridden by the React component. */
766
+ --charcoal-text-area-rows: 4;
767
+
768
+ position: relative;
769
+ overflow: hidden;
770
+
593
771
  color: var(--charcoal-color-text-secondary-default);
594
- padding: 9px 0;
772
+ background-color: var(--charcoal-color-container-secondary-default-a);
773
+ border-radius: 4px;
774
+ transition:
775
+ 0.2s background-color,
776
+ 0.2s box-shadow;
777
+ height: calc(22px * var(--charcoal-text-area-rows) + 18px);
778
+ }
595
779
 
596
- display: flex;
597
- align-items: center;
598
- width: 100%;
599
- margin-left: 20px;
780
+ .charcoal-text-area-container[aria-invalid='true'] {
781
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
782
+ }
783
+
784
+ .charcoal-text-area-container:focus-within {
785
+ outline: none;
786
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
787
+ }
788
+
789
+ .charcoal-text-area-container:has([data-no-bottom-padding='true']) {
790
+ height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
791
+ }
792
+
793
+ .charcoal-text-area-container:not([aria-disabled='true']):hover {
794
+ background-color: var(--charcoal-color-container-secondary-hover-a);
795
+ }
796
+
797
+ .charcoal-text-area-container[aria-invalid='true']:focus-within {
798
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
799
+ }
800
+
801
+ .charcoal-text-area-textarea {
802
+ border: none;
803
+ outline: none;
804
+ resize: none;
805
+ font-family: inherit;
806
+ color: inherit;
807
+ box-sizing: border-box;
808
+
809
+ /* Prevent zooming for iOS Safari */
810
+ --charcoal-textarea-safari-prevent-zoom-scale: 0.875;
811
+ --charcoal-textarea-line-height: calc(
812
+ 22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
813
+ );
814
+ --charcoal-textarea-padding-y: calc(
815
+ 8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
816
+ );
817
+ --charcoal-textarea-padding-x: calc(
818
+ 9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
819
+ );
820
+
821
+ transform-origin: top left;
822
+ transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
823
+ width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
824
+ font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
825
+ line-height: var(--charcoal-textarea-line-height);
826
+ padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
827
+ height: calc(
828
+ var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
829
+ var(--charcoal-textarea-padding-y) * 2
830
+ );
831
+
832
+ /* Display box-shadow for iOS Safari */
833
+ -webkit-appearance: none;
834
+ -moz-appearance: none;
835
+ appearance: none;
836
+
837
+ background: none;
600
838
  }
601
839
 
602
- .charcoal-dropdown-selector-menu-item[data-selected='true'] {
603
- margin-left: 0px;
840
+ .charcoal-text-area-textarea[data-no-bottom-padding='true'] {
841
+ padding: var(--charcoal-textarea-padding-y)
842
+ var(--charcoal-textarea-padding-x) 0;
843
+ height: calc(
844
+ var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
845
+ var(--charcoal-textarea-padding-y)
846
+ );
847
+ }
848
+
849
+ .charcoal-text-area-textarea::-moz-placeholder {
850
+ color: var(--charcoal-color-text-placeholder-default);
851
+ }
852
+
853
+ .charcoal-text-area-textarea::placeholder {
854
+ color: var(--charcoal-color-text-placeholder-default);
855
+ }
856
+
857
+ .charcoal-text-area-counter {
858
+ position: absolute;
859
+ bottom: 9px;
860
+ right: 8px;
861
+
862
+ line-height: 22px;
863
+ font-size: 14px;
864
+ color: var(--charcoal-color-text-tertiary-default);
865
+ }
866
+ .charcoal-loading-spinner {
867
+ box-sizing: content-box;
868
+ margin: auto;
869
+ padding: 16px;
870
+ border-radius: 8px;
871
+ font-size: 48px;
872
+ width: 48px;
873
+ height: 48px;
874
+ opacity: 0.84;
875
+ color: var(--charcoal-color-icon-tertiary-default);
876
+ background-color: var(--charcoal-color-background-default);
604
877
  }
605
878
 
606
- .charcoal-dropdown-selector-menu-item-icon {
607
- color: var(--charcoal-color-text-secondary-default);
608
- padding-right: 4px;
879
+ .charcoal-loading-spinner[data-transparent='true'] {
880
+ background-color: transparent;
881
+ }
882
+
883
+ @keyframes charcoal-loading-spinner-icon-scale-out {
884
+ from {
885
+ transform: scale(0);
886
+ opacity: 1;
887
+ }
888
+ to {
889
+ transform: scale(1);
890
+ opacity: 0;
891
+ }
609
892
  }
610
893
 
611
- .charcoal-dropdown-selector-menu-item-container {
612
- display: flex;
613
- align-items: center;
894
+ .charcoal-loading-spinner-icon {
895
+ width: 1em;
896
+ height: 1em;
897
+ border-radius: 1em;
898
+ background-color: currentColor;
899
+ animation: charcoal-loading-spinner-icon-scale-out 1s infinite both ease-out;
614
900
  }
615
901
 
616
- .charcoal-dropdown-selector-menu-secondary {
617
- font-size: 12px;
618
- line-height: 20px;
619
- color: var(--charcoal-color-text-tertiary-default);
620
- padding-bottom: 9px;
902
+ .charcoal-loading-spinner-icon[data-reset-animation] {
903
+ animation: none;
904
+ }
621
905
 
906
+ .charcoal-loading-spinner-icon[data-once='true'] {
907
+ animation-iteration-count: 1;
908
+ }
909
+ .charcoal-checkbox__label {
910
+ position: relative;
911
+ cursor: pointer;
622
912
  display: flex;
623
- align-items: center;
624
- margin-left: 20px;
913
+ gap: 4px;
625
914
  }
626
915
 
627
- .charcoal-dropdown-selector-menu-fullwidth {
628
- width: 100%;
916
+ .charcoal-checkbox__label[aria-disabled='true'] {
917
+ cursor: default;
918
+ opacity: 0.32;
919
+ }
920
+
921
+ .charcoal-checkbox__label[aria-disabled='true'] > input {
922
+ opacity: 1;
923
+ }
924
+
925
+ .charcoal-checkbox__label_div {
926
+ flex: 1;
927
+ color: var(--charcoal-color-text-default);
928
+ font-size: 14px;
929
+ line-height: 20px;
629
930
  }
630
931
  .charcoal-dropdown-selector-root {
631
932
  display: grid;
@@ -708,8 +1009,84 @@
708
1009
  color: var(--charcoal-color-text-placeholder-default);
709
1010
  }
710
1011
 
711
- .charcoal-ui-dropdown-selector-icon {
712
- color: var(--charcoal-color-icon-secondary-default);
1012
+ .charcoal-ui-dropdown-selector-icon {
1013
+ color: var(--charcoal-color-icon-secondary-default);
1014
+ }
1015
+ .charcoal-dropdown-selector-menu-item {
1016
+ font-size: 14px;
1017
+ line-height: 22px;
1018
+ color: var(--charcoal-color-text-secondary-default);
1019
+ padding: 9px 0;
1020
+
1021
+ display: flex;
1022
+ align-items: center;
1023
+ width: 100%;
1024
+ margin-left: 20px;
1025
+ }
1026
+
1027
+ .charcoal-dropdown-selector-menu-item[data-selected='true'] {
1028
+ margin-left: 0px;
1029
+ }
1030
+
1031
+ .charcoal-dropdown-selector-menu-item-icon {
1032
+ color: var(--charcoal-color-text-secondary-default);
1033
+ padding-right: 4px;
1034
+ }
1035
+
1036
+ .charcoal-dropdown-selector-menu-item-container {
1037
+ display: flex;
1038
+ align-items: center;
1039
+ }
1040
+
1041
+ .charcoal-dropdown-selector-menu-secondary {
1042
+ font-size: 12px;
1043
+ line-height: 20px;
1044
+ color: var(--charcoal-color-text-tertiary-default);
1045
+ padding-bottom: 9px;
1046
+
1047
+ display: flex;
1048
+ align-items: center;
1049
+ margin-left: 20px;
1050
+ }
1051
+
1052
+ .charcoal-dropdown-selector-menu-fullwidth {
1053
+ width: 100%;
1054
+ }
1055
+ .charcoal-hint-text {
1056
+ background-color: var(--charcoal-color-container-secondary-default);
1057
+ border-radius: 8px;
1058
+ padding: 12px 16px;
1059
+ display: flex;
1060
+ align-items: flex-start;
1061
+ }
1062
+
1063
+ .charcoal-hint-text[data-context='page'] {
1064
+ justify-content: center;
1065
+ }
1066
+
1067
+ @media (min-width: 744px) {
1068
+
1069
+ .charcoal-hint-text[data-context='page'] {
1070
+ padding: 20px 40px
1071
+ }
1072
+ }
1073
+
1074
+ .charcoal-hint-text-icon {
1075
+ display: flex;
1076
+ align-items: center;
1077
+ color: var(--charcoal-color-icon-tertiary-default);
1078
+ height: 22px;
1079
+ margin: 0 4px 0 0;
1080
+ }
1081
+
1082
+ .charcoal-hint-text-message {
1083
+ color: var(--charcoal-color-text-secondary-default);
1084
+ font-size: 14px;
1085
+ line-height: 22px;
1086
+ display: flow-root;
1087
+ margin: 0;
1088
+ min-width: 0;
1089
+ overflow-wrap: break-word;
713
1090
  }
714
1091
  .charcoal-menu-item-group {
715
1092
  display: block;
@@ -801,28 +1178,6 @@
801
1178
  white-space: nowrap;
802
1179
  opacity: 0;
803
1180
  }
804
- .charcoal-checkbox__label {
805
- position: relative;
806
- cursor: pointer;
807
- display: flex;
808
- gap: 4px;
809
- }
810
-
811
- .charcoal-checkbox__label[aria-disabled='true'] {
812
- cursor: default;
813
- opacity: 0.32;
814
- }
815
-
816
- .charcoal-checkbox__label[aria-disabled='true'] > input {
817
- opacity: 1;
818
- }
819
-
820
- .charcoal-checkbox__label_div {
821
- flex: 1;
822
- color: var(--charcoal-color-text-default);
823
- font-size: 14px;
824
- line-height: 20px;
825
- }
826
1181
  .charcoal-tag-item {
827
1182
  --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
828
1183
  --charcoal-tag-item-size: 40px;
@@ -930,268 +1285,53 @@
930
1285
 
931
1286
  .charcoal-tag-item__bg[data-state='inactive'] {
932
1287
  background-color: var(--charcoal-color-container-secondary-default);
933
- }
934
-
935
- .charcoal-tag-item__label {
936
- height: 100%;
937
- display: flex;
938
- flex-direction: column;
939
- align-items: center;
940
- justify-content: center;
941
- }
942
-
943
- .charcoal-tag-item__label[data-has-translate='true'] {
944
- justify-content: space-between;
945
- }
946
-
947
- .charcoal-tag-item__label__translated {
948
- --charcoal-tag-item-text-font-size: 12px;
949
- --charcoal-tag-item-text-line-height: 20px;
950
- font-weight: bold;
951
- }
952
-
953
- .charcoal-tag-item__label__translated::before {
954
- display: none;
955
- }
956
-
957
- .charcoal-tag-item__label__text {
958
- --charcoal-tag-item-text-font-size: 14px;
959
- --charcoal-tag-item-text-line-height: 22px;
960
-
961
- max-width: 152px;
962
- overflow: hidden;
963
- font-weight: bold;
964
-
965
- color: inherit;
966
- white-space: nowrap;
967
- text-overflow: ellipsis;
968
- }
969
-
970
- .charcoal-tag-item__label__text[data-has-translate='true'] {
971
- --charcoal-tag-item-text-font-size: 10px;
972
- --charcoal-tag-item-text-line-height: 14px;
973
- font-weight: normal;
974
- }
975
-
976
- /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
977
- .charcoal-tag-item__labe__text[data-has-translate='true']::after {
978
- display: none;
979
- }
980
- .charcoal-hint-text {
981
- background-color: var(--charcoal-color-container-secondary-default);
982
- border-radius: 8px;
983
- padding: 12px 16px;
984
- display: flex;
985
- align-items: flex-start;
986
- }
987
-
988
- .charcoal-hint-text[data-context='page'] {
989
- justify-content: center;
990
- }
991
-
992
- @media (min-width: 744px) {
993
-
994
- .charcoal-hint-text[data-context='page'] {
995
- padding: 20px 40px
996
- }
997
- }
998
-
999
- .charcoal-hint-text-icon {
1000
- display: flex;
1001
- align-items: center;
1002
- color: var(--charcoal-color-icon-tertiary-default);
1003
- height: 22px;
1004
- margin: 0 4px 0 0;
1005
- }
1006
-
1007
- .charcoal-hint-text-message {
1008
- color: var(--charcoal-color-text-secondary-default);
1009
- font-size: 14px;
1010
- line-height: 22px;
1011
- display: flow-root;
1012
- margin: 0;
1013
- min-width: 0;
1014
- overflow-wrap: break-word;
1015
- }
1016
- .charcoal-text-area-root {
1017
- display: grid;
1018
- grid-template-columns: 1fr;
1019
- grid-gap: 4px;
1020
- }
1021
-
1022
- .charcoal-text-area-root[aria-disabled='true'] {
1023
- opacity: 0.32;
1024
- }
1025
-
1026
- .charcoal-text-area-container {
1027
- /* Runtime variable overridden by the React component. */
1028
- --charcoal-text-area-rows: 4;
1029
-
1030
- position: relative;
1031
- overflow: hidden;
1032
-
1033
- color: var(--charcoal-color-text-secondary-default);
1034
- background-color: var(--charcoal-color-container-secondary-default-a);
1035
- border-radius: 4px;
1036
- transition:
1037
- 0.2s background-color,
1038
- 0.2s box-shadow;
1039
- height: calc(22px * var(--charcoal-text-area-rows) + 18px);
1040
- }
1041
-
1042
- .charcoal-text-area-container[aria-invalid='true'] {
1043
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1044
- }
1045
-
1046
- .charcoal-text-area-container:focus-within {
1047
- outline: none;
1048
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1049
- }
1050
-
1051
- .charcoal-text-area-container:has([data-no-bottom-padding='true']) {
1052
- height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
1053
- }
1054
-
1055
- .charcoal-text-area-container:not([aria-disabled='true']):hover {
1056
- background-color: var(--charcoal-color-container-secondary-hover-a);
1057
- }
1058
-
1059
- .charcoal-text-area-container[aria-invalid='true']:focus-within {
1060
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1061
- }
1062
-
1063
- .charcoal-text-area-textarea {
1064
- border: none;
1065
- outline: none;
1066
- resize: none;
1067
- font-family: inherit;
1068
- color: inherit;
1069
- box-sizing: border-box;
1070
-
1071
- /* Prevent zooming for iOS Safari */
1072
- --charcoal-textarea-safari-prevent-zoom-scale: 0.875;
1073
- --charcoal-textarea-line-height: calc(
1074
- 22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1075
- );
1076
- --charcoal-textarea-padding-y: calc(
1077
- 8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1078
- );
1079
- --charcoal-textarea-padding-x: calc(
1080
- 9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
1081
- );
1082
-
1083
- transform-origin: top left;
1084
- transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
1085
- width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
1086
- font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
1087
- line-height: var(--charcoal-textarea-line-height);
1088
- padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
1089
- height: calc(
1090
- var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
1091
- var(--charcoal-textarea-padding-y) * 2
1092
- );
1093
-
1094
- /* Display box-shadow for iOS Safari */
1095
- -webkit-appearance: none;
1096
- -moz-appearance: none;
1097
- appearance: none;
1098
-
1099
- background: none;
1100
- }
1101
-
1102
- .charcoal-text-area-textarea[data-no-bottom-padding='true'] {
1103
- padding: var(--charcoal-textarea-padding-y)
1104
- var(--charcoal-textarea-padding-x) 0;
1105
- height: calc(
1106
- var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
1107
- var(--charcoal-textarea-padding-y)
1108
- );
1109
- }
1110
-
1111
- .charcoal-text-area-textarea::-moz-placeholder {
1112
- color: var(--charcoal-color-text-placeholder-default);
1113
- }
1114
-
1115
- .charcoal-text-area-textarea::placeholder {
1116
- color: var(--charcoal-color-text-placeholder-default);
1117
- }
1118
-
1119
- .charcoal-text-area-counter {
1120
- position: absolute;
1121
- bottom: 9px;
1122
- right: 8px;
1123
-
1124
- line-height: 22px;
1125
- font-size: 14px;
1126
- color: var(--charcoal-color-text-tertiary-default);
1127
- }
1128
- .charcoal-text-ellipsis {
1129
- /* Runtime variables overridden by the React component. */
1130
- --charcoal-text-ellipsis-line-limit: 1;
1131
- --charcoal-text-ellipsis-line-height: inherit;
1132
-
1133
- overflow: hidden;
1134
- overflow-wrap: break-word;
1135
- display: -webkit-box;
1136
- -webkit-box-orient: vertical;
1137
- -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1138
- }
1139
-
1140
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1141
- line-height: var(--charcoal-text-ellipsis-line-height);
1142
- }
1143
-
1144
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1145
- line-height: inherit;
1146
- }
1147
-
1148
- .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1149
- text-overflow: ellipsis;
1150
- white-space: nowrap;
1151
- }
1152
- .charcoal-icon {
1153
- display: inline-flex;
1154
- width: var(--charcoal-icon-size);
1155
- height: var(--charcoal-icon-size);
1288
+ }
1289
+
1290
+ .charcoal-tag-item__label {
1291
+ height: 100%;
1292
+ display: flex;
1293
+ flex-direction: column;
1294
+ align-items: center;
1295
+ justify-content: center;
1156
1296
  }
1157
1297
 
1158
- pixiv-icon:not(:defined) {
1159
- --pixiv-icon-base: 24px;
1160
- --pixiv-icon-scale: 1;
1161
- --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
1298
+ .charcoal-tag-item__label[data-has-translate='true'] {
1299
+ justify-content: space-between;
1300
+ }
1162
1301
 
1163
- display: inline-flex;
1164
- /* --charcoal-icon-size がセットされていればそれを優先、
1165
- なければ name / scale から導出した --pixiv-icon-size をフォールバック */
1166
- width: var(--charcoal-icon-size, var(--pixiv-icon-size));
1167
- height: var(--charcoal-icon-size, var(--pixiv-icon-size));
1302
+ .charcoal-tag-item__label__translated {
1303
+ --charcoal-tag-item-text-font-size: 12px;
1304
+ --charcoal-tag-item-text-line-height: 20px;
1305
+ font-weight: bold;
1168
1306
  }
1169
1307
 
1170
- pixiv-icon:not(:defined)[name^='16/'] {
1171
- --pixiv-icon-base: 16px;
1172
- --pixiv-icon-size: 16px;
1308
+ .charcoal-tag-item__label__translated::before {
1309
+ display: none;
1173
1310
  }
1174
1311
 
1175
- pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
1176
- --pixiv-icon-scale: 2;
1177
- }
1312
+ .charcoal-tag-item__label__text {
1313
+ --charcoal-tag-item-text-font-size: 14px;
1314
+ --charcoal-tag-item-text-line-height: 22px;
1178
1315
 
1179
- pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
1180
- --pixiv-icon-scale: 3;
1181
- }
1316
+ max-width: 152px;
1317
+ overflow: hidden;
1318
+ font-weight: bold;
1182
1319
 
1183
- pixiv-icon:not(:defined)[name^='32/'] {
1184
- --pixiv-icon-base: 32px;
1185
- --pixiv-icon-size: 32px;
1186
- }
1320
+ color: inherit;
1321
+ white-space: nowrap;
1322
+ text-overflow: ellipsis;
1323
+ }
1187
1324
 
1188
- pixiv-icon:not(:defined)[name^='Inline/'] {
1189
- --pixiv-icon-base: 16px;
1325
+ .charcoal-tag-item__label__text[data-has-translate='true'] {
1326
+ --charcoal-tag-item-text-font-size: 10px;
1327
+ --charcoal-tag-item-text-line-height: 14px;
1328
+ font-weight: normal;
1190
1329
  }
1191
1330
 
1192
- pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1193
- --pixiv-icon-scale: 2;
1194
- }
1331
+ /* Kept flat: different class name from .charcoal-tag-item__label__text (note: "labe" typo in original) */
1332
+ .charcoal-tag-item__labe__text[data-has-translate='true']::after {
1333
+ display: none;
1334
+ }
1195
1335
  .charcoal-pagination {
1196
1336
  display: flex;
1197
1337
  justify-content: center;
@@ -1627,9 +1767,7 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1627
1767
  }
1628
1768
  }
1629
1769
  /* stylelint-enable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1630
- .charcoal-snackbar-region {
1631
- --charcoal-snackbar-offset: 16px;
1632
-
1770
+ .charcoal-notification-region {
1633
1771
  position: fixed;
1634
1772
  left: 0;
1635
1773
  right: 0;
@@ -1639,66 +1777,26 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1639
1777
  box-sizing: border-box;
1640
1778
  }
1641
1779
 
1642
- .charcoal-snackbar-region[data-position='top'] {
1643
- --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1644
-
1645
- top: calc(
1646
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1647
- );
1648
- }
1649
-
1650
- .charcoal-snackbar-region[data-position='bottom'] {
1651
- --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1652
-
1653
- bottom: calc(
1654
- env(safe-area-inset-bottom, 0px) +
1655
- max(var(--charcoal-snackbar-offset), 16px)
1656
- );
1657
- }
1658
-
1659
- .charcoal-snackbar {
1780
+ .charcoal-notification {
1660
1781
  box-sizing: border-box;
1661
1782
  border-radius: var(--charcoal-radius-oval);
1662
1783
  width: -moz-fit-content;
1663
1784
  width: fit-content;
1664
1785
  max-width: calc(100vw - var(--charcoal-space-46));
1665
- min-height: 44px;
1666
- padding: var(--charcoal-space-25) var(--charcoal-space-40);
1667
1786
  display: flex;
1668
1787
  align-items: center;
1669
1788
  justify-content: center;
1670
1789
  gap: var(--charcoal-space-20);
1671
1790
  pointer-events: auto;
1672
- background-color: var(--charcoal-color-container-default);
1673
- color: var(--charcoal-color-text-default);
1674
- border: var(--charcoal-border-width-m) solid
1675
- var(--charcoal-color-border-secondary);
1676
- animation: charcoal-snackbar-enter 0.3s ease-out both;
1677
1791
  }
1678
1792
 
1679
- .charcoal-snackbar[data-exiting='true'] {
1680
- animation: charcoal-snackbar-exit 0.3s ease-out both;
1681
- }
1682
-
1683
- .charcoal-snackbar[data-with-button='true'] {
1684
- min-height: 56px;
1685
- padding: var(--charcoal-space-25) var(--charcoal-space-30)
1686
- var(--charcoal-space-25) var(--charcoal-space-40);
1687
- }
1688
-
1689
- .charcoal-snackbar[data-dim='true'] {
1690
- background-color: var(--charcoal-color-container-hud-default);
1691
- color: var(--charcoal-color-text-on-hud-default);
1692
- border-color: var(--charcoal-color-border-hud);
1693
- }
1694
-
1695
- .charcoal-snackbar-content {
1793
+ .charcoal-notification-content {
1696
1794
  display: flex;
1697
1795
  align-items: center;
1698
1796
  min-width: 0;
1699
1797
  }
1700
1798
 
1701
- .charcoal-snackbar-label {
1799
+ .charcoal-notification-label {
1702
1800
  min-width: 0;
1703
1801
  overflow: hidden;
1704
1802
  overflow-wrap: break-word;
@@ -1710,10 +1808,56 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1710
1808
  line-height: var(--charcoal-text-line-height-caption-m);
1711
1809
  }
1712
1810
 
1713
- @keyframes charcoal-snackbar-enter {
1811
+ @media (prefers-reduced-motion: reduce) {
1812
+ .charcoal-notification,
1813
+ .charcoal-notification[data-exiting='true'] {
1814
+ animation: none;
1815
+ }
1816
+ }
1817
+ .charcoal-toast-region {
1818
+ --charcoal-toast-offset: 16px;
1819
+ }
1820
+
1821
+ .charcoal-toast-region[data-position='top'] {
1822
+ --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1823
+
1824
+ top: calc(
1825
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1826
+ );
1827
+ }
1828
+
1829
+ .charcoal-toast-region[data-position='bottom'] {
1830
+ --charcoal-toast-enter-offset: var(--charcoal-space-30);
1831
+
1832
+ bottom: calc(
1833
+ env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1834
+ );
1835
+ }
1836
+
1837
+ .charcoal-toast {
1838
+ min-height: 40px;
1839
+ padding: var(--charcoal-space-20) var(--charcoal-space-40);
1840
+ color: var(--charcoal-color-text-on-positive-default);
1841
+ border: var(--charcoal-border-width-m) solid var(--charcoal-color-border-hud);
1842
+ animation: charcoal-toast-enter 0.3s ease-out both;
1843
+ }
1844
+
1845
+ .charcoal-toast[data-exiting='true'] {
1846
+ animation: charcoal-toast-exit 0.3s ease-out both;
1847
+ }
1848
+
1849
+ .charcoal-toast[data-type='success'] {
1850
+ background-color: var(--charcoal-color-container-positive-default);
1851
+ }
1852
+
1853
+ .charcoal-toast[data-type='error'] {
1854
+ background-color: var(--charcoal-color-container-negative-default);
1855
+ }
1856
+
1857
+ @keyframes charcoal-toast-enter {
1714
1858
  from {
1715
1859
  opacity: 0;
1716
- transform: translateY(var(--charcoal-snackbar-enter-offset));
1860
+ transform: translateY(var(--charcoal-toast-enter-offset));
1717
1861
  }
1718
1862
 
1719
1863
  to {
@@ -1722,7 +1866,7 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1722
1866
  }
1723
1867
  }
1724
1868
 
1725
- @keyframes charcoal-snackbar-exit {
1869
+ @keyframes charcoal-toast-exit {
1726
1870
  from {
1727
1871
  opacity: 1;
1728
1872
  }
@@ -1731,181 +1875,102 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1731
1875
  opacity: 0;
1732
1876
  }
1733
1877
  }
1878
+ .charcoal-text-ellipsis {
1879
+ /* Runtime variables overridden by the React component. */
1880
+ --charcoal-text-ellipsis-line-limit: 1;
1881
+ --charcoal-text-ellipsis-line-height: inherit;
1734
1882
 
1735
- @media (prefers-reduced-motion: reduce) {
1736
- .charcoal-snackbar,
1737
- .charcoal-snackbar[data-exiting='true'] {
1738
- animation: none;
1739
- }
1740
- }
1741
- .charcoal-modal-background {
1742
- overflow: auto;
1743
- display: flex;
1744
- position: fixed;
1745
- top: 0;
1746
- left: 0;
1747
- width: 100%;
1748
- height: 100%;
1749
- justify-content: center;
1750
- padding: 40px 0;
1751
- box-sizing: border-box;
1752
-
1753
- background-color: var(--charcoal-color-background-overlay);
1754
- }
1755
-
1756
- @media (max-width: 743px) {
1757
- .charcoal-modal-background[data-bottom-sheet='true'],
1758
- .charcoal-modal-background[data-bottom-sheet='full'] {
1759
- padding: 0;
1760
- }
1761
- }
1762
-
1763
- /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
1764
- transition は entering / exiting に限定し、開いたままテーマ切り替え等で
1765
- 色や transform が変わってもアニメーションしないようにする */
1766
- .charcoal-modal-background[data-animation] {
1767
1883
  overflow: hidden;
1884
+ overflow-wrap: break-word;
1885
+ display: -webkit-box;
1886
+ -webkit-box-orient: vertical;
1887
+ -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1768
1888
  }
1769
1889
 
1770
- .charcoal-modal-background[data-animation='entering'],
1771
- .charcoal-modal-background[data-animation='exiting'] {
1772
- transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
1773
- }
1774
-
1775
- /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
1776
- 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
1777
- .charcoal-modal-background[data-animation='exited'],
1778
- .charcoal-modal-background[data-animation='exiting'] {
1779
- background-color: transparent;
1780
- pointer-events: none;
1781
- }
1890
+ .charcoal-text-ellipsis[data-has-line-height='true'] {
1891
+ line-height: var(--charcoal-text-ellipsis-line-height);
1892
+ }
1782
1893
 
1783
- .charcoal-modal-background[data-animation='entered'] {
1784
- overflow: auto;
1785
- }
1894
+ .charcoal-text-ellipsis[data-has-line-height='false'] {
1895
+ line-height: inherit;
1896
+ }
1786
1897
 
1787
- .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
1788
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
1789
- transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
1898
+ .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1899
+ text-overflow: ellipsis;
1900
+ white-space: nowrap;
1901
+ }
1902
+ .charcoal-radio-group {
1903
+ display: grid;
1904
+ grid-template-columns: 1fr;
1905
+ grid-gap: 8px;
1790
1906
  }
1791
-
1792
- .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
1793
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
1794
- transform: translateY(100%);
1907
+ .charcoal-snackbar-region {
1908
+ --charcoal-snackbar-offset: 16px;
1795
1909
  }
1796
1910
 
1797
- .charcoal-modal-close-button {
1798
- position: absolute;
1799
- top: 8px;
1800
- right: 8px;
1911
+ .charcoal-snackbar-region[data-position='top'] {
1912
+ --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1801
1913
 
1802
- color: var(--charcoal-color-text-tertiary-default);
1803
- transition: 0.2s color;
1804
- }
1914
+ top: calc(
1915
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1916
+ );
1917
+ }
1805
1918
 
1806
- .charcoal-modal-title {
1807
- margin: 0;
1808
- font-weight: inherit;
1809
- font-size: inherit;
1810
- }
1811
- .charcoal-text-field-root {
1812
- display: grid;
1813
- grid-template-columns: 1fr;
1814
- grid-gap: 4px;
1815
- }
1919
+ .charcoal-snackbar-region[data-position='bottom'] {
1920
+ --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1816
1921
 
1817
- .charcoal-text-field-root[aria-disabled='true'] {
1818
- opacity: 0.32;
1922
+ bottom: calc(
1923
+ env(safe-area-inset-bottom, 0px) +
1924
+ max(var(--charcoal-snackbar-offset), 16px)
1925
+ );
1819
1926
  }
1820
1927
 
1821
- .charcoal-text-field-container {
1822
- display: flex;
1823
- height: 40px;
1824
- transition:
1825
- 0.2s background-color,
1826
- 0.2s box-shadow;
1827
- color: var(--charcoal-color-text-secondary-default);
1828
- background-color: var(--charcoal-color-container-secondary-default-a);
1829
- border-radius: 4px;
1830
- padding: 0 8px;
1831
- line-height: 22px;
1832
- font-size: 14px;
1928
+ .charcoal-snackbar {
1929
+ min-height: 44px;
1930
+ padding: var(--charcoal-space-25) var(--charcoal-space-40);
1931
+ background-color: var(--charcoal-color-container-default);
1932
+ color: var(--charcoal-color-text-default);
1933
+ border: var(--charcoal-border-width-m) solid
1934
+ var(--charcoal-color-border-secondary);
1935
+ animation: charcoal-snackbar-enter 0.3s ease-out both;
1833
1936
  }
1834
1937
 
1835
- .charcoal-text-field-container[data-invalid='true'] {
1836
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1938
+ .charcoal-snackbar[data-exiting='true'] {
1939
+ animation: charcoal-snackbar-exit 0.3s ease-out both;
1837
1940
  }
1838
1941
 
1839
- .charcoal-text-field-container:not([aria-disabled='true']):hover {
1840
- background-color: var(--charcoal-color-container-secondary-hover-a);
1942
+ .charcoal-snackbar[data-with-action='true'] {
1943
+ min-height: 56px;
1944
+ padding: var(--charcoal-space-25) var(--charcoal-space-30)
1945
+ var(--charcoal-space-25) var(--charcoal-space-40);
1841
1946
  }
1842
1947
 
1843
- .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
1844
- outline: none;
1845
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1948
+ .charcoal-snackbar[data-dim='true'] {
1949
+ background-color: var(--charcoal-color-container-hud-default);
1950
+ color: var(--charcoal-color-text-on-hud-default);
1951
+ border-color: var(--charcoal-color-border-hud);
1846
1952
  }
1847
1953
 
1848
- .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
1849
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1954
+ @keyframes charcoal-snackbar-enter {
1955
+ from {
1956
+ opacity: 0;
1957
+ transform: translateY(var(--charcoal-snackbar-enter-offset));
1850
1958
  }
1851
1959
 
1852
- .charcoal-text-field-prefix {
1853
- display: flex;
1854
- align-items: center;
1855
- margin-right: 4px;
1856
- }
1857
-
1858
- .charcoal-text-field-suffix {
1859
- display: flex;
1860
- align-items: center;
1861
- gap: 8px;
1862
- margin-left: 4px;
1863
- }
1864
-
1865
- .charcoal-text-field-input-root {
1866
- flex: 1;
1867
- min-width: 0;
1868
- overflow: hidden;
1869
- }
1870
-
1871
- .charcoal-text-field-input {
1872
- border: none;
1873
- box-sizing: border-box;
1874
- outline: none;
1875
- font-family: inherit;
1876
-
1877
- /* Prevent zooming for iOS Safari */
1878
- transform-origin: top left;
1879
- transform: scale(0.875);
1880
- width: calc(100% / 0.875);
1881
- height: calc(100% / 0.875);
1882
- font-size: calc(14px / 0.875);
1883
- line-height: calc(22px / 0.875);
1884
- padding-left: 0;
1885
- padding-right: 0;
1886
- border-radius: calc(4px / 0.875);
1887
-
1888
- /* Display box-shadow for iOS Safari */
1889
- -webkit-appearance: none;
1890
- -moz-appearance: none;
1891
- appearance: none;
1892
- background: transparent;
1893
-
1894
- color: var(--charcoal-color-text-secondary-default);
1960
+ to {
1961
+ opacity: 1;
1962
+ transform: translateY(0);
1963
+ }
1895
1964
  }
1896
1965
 
1897
- .charcoal-text-field-input::-moz-placeholder {
1898
- color: var(--charcoal-color-text-placeholder-default);
1966
+ @keyframes charcoal-snackbar-exit {
1967
+ from {
1968
+ opacity: 1;
1899
1969
  }
1900
1970
 
1901
- .charcoal-text-field-input::placeholder {
1902
- color: var(--charcoal-color-text-placeholder-default);
1971
+ to {
1972
+ opacity: 0;
1903
1973
  }
1904
-
1905
- .charcoal-text-field-line-counter {
1906
- line-height: 22px;
1907
- font-size: 14px;
1908
- color: var(--charcoal-color-text-tertiary-default);
1909
1974
  }
1910
1975
  .charcoal-text-field-assistive-text {
1911
1976
  font-size: 14px;
@@ -2001,43 +2066,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2001
2066
  .charcoal-switch-input:not(:disabled):checked:active {
2002
2067
  background-color: var(--charcoal-color-container-primary-press);
2003
2068
  }
2004
- .charcoal-field-label {
2005
- font-size: 14px;
2006
- line-height: 22px;
2007
- font-weight: bold;
2008
- display: flow-root;
2009
- color: var(--charcoal-color-text-default-text1);
2010
- }
2011
-
2012
- .charcoal-field-label-required-text {
2013
- font-size: 14px;
2014
- line-height: 22px;
2015
- display: flow-root;
2016
- color: var(--charcoal-color-text-secondary-default);
2017
- }
2018
-
2019
- .charcoal-field-label-sub-label {
2020
- font-size: 14px;
2021
- line-height: 22px;
2022
- display: flow-root;
2023
- color: var(--charcoal-color-text-tertiary-default);
2024
- transition:
2025
- 0.2s color,
2026
- 0.2s box-shadow;
2027
- }
2028
-
2029
- .charcoal-field-label-root {
2030
- display: inline-flex;
2031
- align-items: center;
2032
- }
2033
-
2034
- .charcoal-field-label-root > .charcoal-field-label-required-text {
2035
- margin-left: 4px;
2036
- }
2037
-
2038
- .charcoal-field-label-root > .charcoal-field-label-sub-label {
2039
- margin-left: auto;
2040
- }
2041
2069
  .charcoal-radio-input {
2042
2070
  -webkit-appearance: none;
2043
2071
  -moz-appearance: none;
@@ -2126,6 +2154,43 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2126
2154
  .charcoal-radio-input:checked:not(:disabled):active::after {
2127
2155
  background-color: var(--charcoal-color-icon-on-primary-press);
2128
2156
  }
2157
+ .charcoal-field-label {
2158
+ font-size: 14px;
2159
+ line-height: 22px;
2160
+ font-weight: bold;
2161
+ display: flow-root;
2162
+ color: var(--charcoal-color-text-default-text1);
2163
+ }
2164
+
2165
+ .charcoal-field-label-required-text {
2166
+ font-size: 14px;
2167
+ line-height: 22px;
2168
+ display: flow-root;
2169
+ color: var(--charcoal-color-text-secondary-default);
2170
+ }
2171
+
2172
+ .charcoal-field-label-sub-label {
2173
+ font-size: 14px;
2174
+ line-height: 22px;
2175
+ display: flow-root;
2176
+ color: var(--charcoal-color-text-tertiary-default);
2177
+ transition:
2178
+ 0.2s color,
2179
+ 0.2s box-shadow;
2180
+ }
2181
+
2182
+ .charcoal-field-label-root {
2183
+ display: inline-flex;
2184
+ align-items: center;
2185
+ }
2186
+
2187
+ .charcoal-field-label-root > .charcoal-field-label-required-text {
2188
+ margin-left: 4px;
2189
+ }
2190
+
2191
+ .charcoal-field-label-root > .charcoal-field-label-sub-label {
2192
+ margin-left: auto;
2193
+ }
2129
2194
  .charcoal-list-item {
2130
2195
  list-style: none;
2131
2196
  display: flex;
@@ -2150,9 +2215,50 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2150
2215
  opacity: 0.32;
2151
2216
  cursor: default;
2152
2217
  }
2153
- .charcoal-menu-list {
2154
- padding: 0;
2155
- margin: 0;
2218
+ .charcoal-modal-dialog {
2219
+ margin: auto;
2220
+ position: relative;
2221
+ height: -moz-fit-content;
2222
+ height: fit-content;
2223
+ width: 440px;
2224
+
2225
+ background-color: var(--charcoal-color-container-default);
2226
+ border-radius: 24px;
2227
+ }
2228
+
2229
+ .charcoal-modal-dialog[data-size='S'] {
2230
+ width: 336px;
2231
+ }
2232
+
2233
+ .charcoal-modal-dialog[data-size='M'] {
2234
+ width: 440px;
2235
+ }
2236
+
2237
+ .charcoal-modal-dialog[data-size='L'] {
2238
+ width: 648px;
2239
+ }
2240
+
2241
+ @media (max-width: 743px) {
2242
+ .charcoal-modal-dialog {
2243
+ max-width: 440px;
2244
+ width: calc(100% - 48px);
2245
+ }
2246
+
2247
+ .charcoal-modal-dialog[data-bottom-sheet='true'],
2248
+ .charcoal-modal-dialog[data-bottom-sheet='full'] {
2249
+ max-width: unset;
2250
+ width: 100%;
2251
+ border-radius: 0;
2252
+ margin: auto 0 0 0;
2253
+ }
2254
+
2255
+ .charcoal-modal-dialog[data-bottom-sheet='full'] {
2256
+ min-height: 100%;
2257
+ }
2258
+ }
2259
+
2260
+ .charcoal-modal-dialog:focus {
2261
+ outline: none;
2156
2262
  }
2157
2263
  .charcoal-checkbox-input {
2158
2264
  -webkit-appearance: none;
@@ -2268,50 +2374,9 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2268
2374
  border: 2px solid #fff;
2269
2375
  box-sizing: border-box;
2270
2376
  }
2271
- .charcoal-modal-dialog {
2272
- margin: auto;
2273
- position: relative;
2274
- height: -moz-fit-content;
2275
- height: fit-content;
2276
- width: 440px;
2277
-
2278
- background-color: var(--charcoal-color-container-default);
2279
- border-radius: 24px;
2280
- }
2281
-
2282
- .charcoal-modal-dialog[data-size='S'] {
2283
- width: 336px;
2284
- }
2285
-
2286
- .charcoal-modal-dialog[data-size='M'] {
2287
- width: 440px;
2288
- }
2289
-
2290
- .charcoal-modal-dialog[data-size='L'] {
2291
- width: 648px;
2292
- }
2293
-
2294
- @media (max-width: 743px) {
2295
- .charcoal-modal-dialog {
2296
- max-width: 440px;
2297
- width: calc(100% - 48px);
2298
- }
2299
-
2300
- .charcoal-modal-dialog[data-bottom-sheet='true'],
2301
- .charcoal-modal-dialog[data-bottom-sheet='full'] {
2302
- max-width: unset;
2303
- width: 100%;
2304
- border-radius: 0;
2305
- margin: auto 0 0 0;
2306
- }
2307
-
2308
- .charcoal-modal-dialog[data-bottom-sheet='full'] {
2309
- min-height: 100%;
2310
- }
2311
- }
2312
-
2313
- .charcoal-modal-dialog:focus {
2314
- outline: none;
2377
+ .charcoal-menu-list {
2378
+ padding: 0;
2379
+ margin: 0;
2315
2380
  }
2316
2381
  .charcoal-popover {
2317
2382
  margin: 4px 0;