@charcoal-ui/react 6.1.0-beta.1 → 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.
package/dist/layered.css CHANGED
@@ -49,6 +49,24 @@
49
49
  border-style: none;
50
50
  padding: 0;
51
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
+ }
52
70
  .charcoal-button {
53
71
  -webkit-appearance: none;
54
72
  -moz-appearance: none;
@@ -199,6 +217,141 @@
199
217
  .charcoal-button[data-full-width='true'] {
200
218
  width: 100%;
201
219
  }
220
+ .charcoal-multi-select {
221
+ display: grid;
222
+ grid-template-columns: auto 1fr;
223
+ align-items: center;
224
+ position: relative;
225
+ cursor: pointer;
226
+ gap: 4px;
227
+ }
228
+
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'] {
260
+ -webkit-appearance: none;
261
+ -moz-appearance: none;
262
+ appearance: 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
+ }
273
+
274
+ .charcoal-multi-select-input[type='checkbox']:checked {
275
+ background-color: var(--charcoal-color-container-primary-default);
276
+ }
277
+
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
+ }
282
+
283
+ .charcoal-multi-select-input[type='checkbox']:focus-visible {
284
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
285
+ }
286
+
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;
338
+ }
339
+
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);
344
+ }
345
+
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);
348
+ }
349
+
350
+ .charcoal-multi-select-overlay[data-overlay='true'] {
351
+ border-color: var(--charcoal-color-border-hud);
352
+ border-width: 2px;
353
+ border-style: solid;
354
+ }
202
355
  .charcoal-icon-button {
203
356
  cursor: pointer;
204
357
  -webkit-appearance: none;
@@ -323,29 +476,6 @@
323
476
  .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
324
477
  box-shadow: none;
325
478
  }
326
- .charcoal-radio__label {
327
- display: grid;
328
- grid-template-columns: auto 1fr;
329
- grid-gap: 4px;
330
- align-items: center;
331
- cursor: pointer;
332
- }
333
-
334
- .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
335
- opacity: 0.32;
336
- cursor: default;
337
- }
338
-
339
- .charcoal-radio__label_div {
340
- font-size: 14px;
341
- line-height: 22px;
342
- color: var(--charcoal-color-text-default);
343
- }
344
- .charcoal-radio-group {
345
- display: grid;
346
- grid-template-columns: 1fr;
347
- grid-gap: 8px;
348
- }
349
479
  .charcoal-switch__label {
350
480
  display: inline-grid;
351
481
  grid-template-columns: auto 1fr;
@@ -369,180 +499,45 @@
369
499
  line-height: 22px;
370
500
  color: var(--charcoal-color-text-default);
371
501
  }
372
- .charcoal-multi-select {
502
+ .charcoal-text-field-root {
373
503
  display: grid;
374
- grid-template-columns: auto 1fr;
375
- align-items: center;
376
- position: relative;
377
- cursor: pointer;
378
- gap: 4px;
504
+ grid-template-columns: 1fr;
505
+ grid-gap: 4px;
379
506
  }
380
507
 
381
- .charcoal-multi-select:disabled,
382
- .charcoal-multi-select[aria-disabled]:not([aria-disabled='false']) {
508
+ .charcoal-text-field-root[aria-disabled='true'] {
383
509
  opacity: 0.32;
384
- cursor: default;
385
- }
386
-
387
- .charcoal-multi-select-label {
388
- display: flow-root;
389
- align-items: center;
390
- font-size: 14px;
391
- line-height: 22px;
392
- color: var(--charcoal-color-text-default);
393
- }
394
-
395
- .charcoal-multi-select-label::before {
396
- display: block;
397
- width: 0;
398
- height: 0;
399
- content: '';
400
- margin-top: -4px;
401
- }
402
-
403
- .charcoal-multi-select-label::after {
404
- display: block;
405
- width: 0;
406
- height: 0;
407
- content: '';
408
- margin-bottom: -4px;
409
510
  }
410
511
 
411
- .charcoal-multi-select-input[type='checkbox'] {
412
- -webkit-appearance: none;
413
- -moz-appearance: none;
414
- appearance: none;
415
- display: block;
416
- width: 20px;
417
- height: 20px;
418
- margin: 0;
419
- background-color: var(--charcoal-color-container-neutral-default);
420
- border-radius: 999999px;
512
+ .charcoal-text-field-container {
513
+ display: flex;
514
+ height: 40px;
421
515
  transition:
422
516
  0.2s background-color,
423
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;
424
524
  }
425
525
 
426
- .charcoal-multi-select-input[type='checkbox']:checked {
427
- background-color: var(--charcoal-color-container-primary-default);
526
+ .charcoal-text-field-container[data-invalid='true'] {
527
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
428
528
  }
429
529
 
430
- .charcoal-multi-select-input[type='checkbox']:focus {
431
- outline: none;
432
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
530
+ .charcoal-text-field-container:not([aria-disabled='true']):hover {
531
+ background-color: var(--charcoal-color-container-secondary-hover-a);
433
532
  }
434
533
 
435
- .charcoal-multi-select-input[type='checkbox']:focus-visible {
534
+ .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
535
+ outline: none;
436
536
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
437
537
  }
438
538
 
439
- .charcoal-multi-select-input[type='checkbox']:focus:not(:focus-visible) {
440
- box-shadow: none;
441
- }
442
-
443
- .charcoal-multi-select-input[type='checkbox']:hover:not(:disabled):not([aria-disabled]),
444
- .charcoal-multi-select-input[type='checkbox']:hover[aria-disabled='false'] {
445
- background-color: var(--charcoal-color-container-neutral-hover);
446
- }
447
-
448
- .charcoal-multi-select-input[type='checkbox']:active:not(:disabled):not([aria-disabled]),
449
- .charcoal-multi-select-input[type='checkbox']:active[aria-disabled='false'] {
450
- background-color: var(--charcoal-color-container-neutral-press);
451
- }
452
-
453
- .charcoal-multi-select-input[type='checkbox']:checked:hover:not(:disabled):not([aria-disabled]),
454
- .charcoal-multi-select-input[type='checkbox']:checked:hover[aria-disabled='false'] {
455
- background-color: var(--charcoal-color-container-primary-hover);
456
- }
457
-
458
- .charcoal-multi-select-input[type='checkbox']:checked:active:not(:disabled):not([aria-disabled]),
459
- .charcoal-multi-select-input[type='checkbox']:checked:active[aria-disabled='false'] {
460
- background-color: var(--charcoal-color-container-primary-press);
461
- }
462
-
463
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false']:not(:disabled):not(
464
- [aria-disabled]
465
- ) {
466
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
467
- }
468
-
469
- .charcoal-multi-select-input[type='checkbox'][aria-invalid='true'][data-overlay='false'][aria-disabled='false'] {
470
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
471
- }
472
-
473
- .charcoal-multi-select-input[type='checkbox'][data-overlay='true'] {
474
- background-color: var(--charcoal-color-container-on-img-default);
475
- }
476
-
477
- .charcoal-multi-select-overlay {
478
- position: absolute;
479
- top: -2px;
480
- left: -2px;
481
- box-sizing: border-box;
482
- display: flex;
483
- align-items: center;
484
- justify-content: center;
485
- width: 24px;
486
- height: 24px;
487
- border-radius: 999999px;
488
- color: var(--charcoal-color-icon-on-primary-default);
489
- transition: 0.2s box-shadow;
490
- }
491
-
492
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true']:not(:disabled):not(
493
- [aria-disabled]
494
- ) {
495
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
496
- }
497
-
498
- .charcoal-multi-select-overlay[aria-invalid='true'][data-overlay='true'][aria-disabled='false'] {
499
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
500
- }
501
-
502
- .charcoal-multi-select-overlay[data-overlay='true'] {
503
- border-color: var(--charcoal-color-border-hud);
504
- border-width: 2px;
505
- border-style: solid;
506
- }
507
- .charcoal-text-field-root {
508
- display: grid;
509
- grid-template-columns: 1fr;
510
- grid-gap: 4px;
511
- }
512
-
513
- .charcoal-text-field-root[aria-disabled='true'] {
514
- opacity: 0.32;
515
- }
516
-
517
- .charcoal-text-field-container {
518
- display: flex;
519
- height: 40px;
520
- transition:
521
- 0.2s background-color,
522
- 0.2s box-shadow;
523
- color: var(--charcoal-color-text-secondary-default);
524
- background-color: var(--charcoal-color-container-secondary-default-a);
525
- border-radius: 4px;
526
- padding: 0 8px;
527
- line-height: 22px;
528
- font-size: 14px;
529
- }
530
-
531
- .charcoal-text-field-container[data-invalid='true'] {
532
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
533
- }
534
-
535
- .charcoal-text-field-container:not([aria-disabled='true']):hover {
536
- background-color: var(--charcoal-color-container-secondary-hover-a);
537
- }
538
-
539
- .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
540
- outline: none;
541
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
542
- }
543
-
544
- .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
545
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
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);
546
541
  }
547
542
 
548
543
  .charcoal-text-field-prefix {
@@ -646,6 +641,116 @@ pixiv-icon:not(:defined)[name^='Inline/'] {
646
641
  pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
647
642
  --pixiv-icon-scale: 2;
648
643
  }
644
+ .charcoal-modal-background {
645
+ overflow: auto;
646
+ display: flex;
647
+ position: fixed;
648
+ top: 0;
649
+ left: 0;
650
+ width: 100%;
651
+ height: 100%;
652
+ justify-content: center;
653
+ padding: 40px 0;
654
+ box-sizing: border-box;
655
+
656
+ background-color: var(--charcoal-color-background-overlay);
657
+ }
658
+
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
+ }
664
+ }
665
+
666
+ /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
667
+ transition は entering / exiting に限定し、開いたままテーマ切り替え等で
668
+ 色や transform が変わってもアニメーションしないようにする */
669
+ .charcoal-modal-background[data-animation] {
670
+ overflow: hidden;
671
+ }
672
+
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
+ }
714
+ .charcoal-modal-header-root {
715
+ height: 64px;
716
+ display: grid;
717
+ align-content: center;
718
+ justify-content: center;
719
+ }
720
+
721
+ @media (max-width: 743px) {
722
+ .charcoal-modal-header-root[data-bottom-sheet='true'],
723
+ .charcoal-modal-header-root[data-bottom-sheet='full'] {
724
+ height: 48px;
725
+ }
726
+ }
727
+
728
+ .charcoal-modal-header-title {
729
+ color: var(--charcoal-color-text-default);
730
+ font-size: 16px;
731
+ line-height: 24px;
732
+ font-weight: bold;
733
+ display: flow-root;
734
+ }
735
+
736
+ .charcoal-modal-align {
737
+ padding-left: 16px;
738
+ padding-right: 16px;
739
+ }
740
+
741
+ .charcoal-modal-body {
742
+ padding-bottom: 40px;
743
+ }
744
+
745
+ .charcoal-modal-buttons {
746
+ display: grid;
747
+ grid-auto-flow: row;
748
+ grid-row-gap: 8px;
749
+
750
+ padding-top: 16px;
751
+ padding-left: 16px;
752
+ padding-right: 16px;
753
+ }
649
754
  .charcoal-text-area-root {
650
755
  display: grid;
651
756
  grid-template-columns: 1fr;
@@ -758,102 +863,32 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
758
863
  font-size: 14px;
759
864
  color: var(--charcoal-color-text-tertiary-default);
760
865
  }
761
- .charcoal-modal-background {
762
- overflow: auto;
763
- display: flex;
764
- position: fixed;
765
- top: 0;
766
- left: 0;
767
- width: 100%;
768
- height: 100%;
769
- justify-content: center;
770
- padding: 40px 0;
771
- box-sizing: border-box;
772
-
773
- background-color: var(--charcoal-color-background-overlay);
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);
774
877
  }
775
878
 
776
- @media (max-width: 743px) {
777
- .charcoal-modal-background[data-bottom-sheet='true'],
778
- .charcoal-modal-background[data-bottom-sheet='full'] {
779
- padding: 0;
780
- }
879
+ .charcoal-loading-spinner[data-transparent='true'] {
880
+ background-color: transparent;
781
881
  }
782
882
 
783
- /* easeOutQuart。duration は useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
784
- transition は entering / exiting に限定し、開いたままテーマ切り替え等で
785
- 色や transform が変わってもアニメーションしないようにする */
786
- .charcoal-modal-background[data-animation] {
787
- overflow: hidden;
788
- }
789
-
790
- .charcoal-modal-background[data-animation='entering'],
791
- .charcoal-modal-background[data-animation='exiting'] {
792
- transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
793
- }
794
-
795
- /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
796
- 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
797
- .charcoal-modal-background[data-animation='exited'],
798
- .charcoal-modal-background[data-animation='exiting'] {
799
- background-color: transparent;
800
- pointer-events: none;
801
- }
802
-
803
- .charcoal-modal-background[data-animation='entered'] {
804
- overflow: auto;
805
- }
806
-
807
- .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
808
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
809
- transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
810
- }
811
-
812
- .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
813
- .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
814
- transform: translateY(100%);
815
- }
816
-
817
- .charcoal-modal-close-button {
818
- position: absolute;
819
- top: 8px;
820
- right: 8px;
821
-
822
- color: var(--charcoal-color-text-tertiary-default);
823
- transition: 0.2s color;
824
- }
825
-
826
- .charcoal-modal-title {
827
- margin: 0;
828
- font-weight: inherit;
829
- font-size: inherit;
830
- }
831
- .charcoal-loading-spinner {
832
- box-sizing: content-box;
833
- margin: auto;
834
- padding: 16px;
835
- border-radius: 8px;
836
- font-size: 48px;
837
- width: 48px;
838
- height: 48px;
839
- opacity: 0.84;
840
- color: var(--charcoal-color-icon-tertiary-default);
841
- background-color: var(--charcoal-color-background-default);
842
- }
843
-
844
- .charcoal-loading-spinner[data-transparent='true'] {
845
- background-color: transparent;
846
- }
847
-
848
- @keyframes charcoal-loading-spinner-icon-scale-out {
849
- from {
850
- transform: scale(0);
851
- opacity: 1;
852
- }
853
- to {
854
- transform: scale(1);
855
- opacity: 0;
856
- }
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
+ }
857
892
  }
858
893
 
859
894
  .charcoal-loading-spinner-icon {
@@ -871,6 +906,28 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
871
906
  .charcoal-loading-spinner-icon[data-once='true'] {
872
907
  animation-iteration-count: 1;
873
908
  }
909
+ .charcoal-checkbox__label {
910
+ position: relative;
911
+ cursor: pointer;
912
+ display: flex;
913
+ gap: 4px;
914
+ }
915
+
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;
930
+ }
874
931
  .charcoal-dropdown-selector-root {
875
932
  display: grid;
876
933
  grid-template-columns: 1fr;
@@ -955,68 +1012,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
955
1012
  .charcoal-ui-dropdown-selector-icon {
956
1013
  color: var(--charcoal-color-icon-secondary-default);
957
1014
  }
958
- .charcoal-modal-header-root {
959
- height: 64px;
960
- display: grid;
961
- align-content: center;
962
- justify-content: center;
963
- }
964
-
965
- @media (max-width: 743px) {
966
- .charcoal-modal-header-root[data-bottom-sheet='true'],
967
- .charcoal-modal-header-root[data-bottom-sheet='full'] {
968
- height: 48px;
969
- }
970
- }
971
-
972
- .charcoal-modal-header-title {
973
- color: var(--charcoal-color-text-default);
974
- font-size: 16px;
975
- line-height: 24px;
976
- font-weight: bold;
977
- display: flow-root;
978
- }
979
-
980
- .charcoal-modal-align {
981
- padding-left: 16px;
982
- padding-right: 16px;
983
- }
984
-
985
- .charcoal-modal-body {
986
- padding-bottom: 40px;
987
- }
988
-
989
- .charcoal-modal-buttons {
990
- display: grid;
991
- grid-auto-flow: row;
992
- grid-row-gap: 8px;
993
-
994
- padding-top: 16px;
995
- padding-left: 16px;
996
- padding-right: 16px;
997
- }
998
- .charcoal-checkbox__label {
999
- position: relative;
1000
- cursor: pointer;
1001
- display: flex;
1002
- gap: 4px;
1003
- }
1004
-
1005
- .charcoal-checkbox__label[aria-disabled='true'] {
1006
- cursor: default;
1007
- opacity: 0.32;
1008
- }
1009
-
1010
- .charcoal-checkbox__label[aria-disabled='true'] > input {
1011
- opacity: 1;
1012
- }
1013
-
1014
- .charcoal-checkbox__label_div {
1015
- flex: 1;
1016
- color: var(--charcoal-color-text-default);
1017
- font-size: 14px;
1018
- line-height: 20px;
1019
- }
1020
1015
  .charcoal-dropdown-selector-menu-item {
1021
1016
  font-size: 14px;
1022
1017
  line-height: 22px;
@@ -1057,76 +1052,178 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1057
1052
  .charcoal-dropdown-selector-menu-fullwidth {
1058
1053
  width: 100%;
1059
1054
  }
1060
- .charcoal-text-ellipsis {
1061
- /* Runtime variables overridden by the React component. */
1062
- --charcoal-text-ellipsis-line-limit: 1;
1063
- --charcoal-text-ellipsis-line-height: inherit;
1064
-
1065
- overflow: hidden;
1066
- overflow-wrap: break-word;
1067
- display: -webkit-box;
1068
- -webkit-box-orient: vertical;
1069
- -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
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;
1070
1061
  }
1071
1062
 
1072
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1073
- line-height: var(--charcoal-text-ellipsis-line-height);
1063
+ .charcoal-hint-text[data-context='page'] {
1064
+ justify-content: center;
1074
1065
  }
1075
1066
 
1076
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1077
- line-height: inherit;
1078
- }
1067
+ @media (min-width: 744px) {
1079
1068
 
1080
- .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1081
- text-overflow: ellipsis;
1082
- white-space: nowrap;
1069
+ .charcoal-hint-text[data-context='page'] {
1070
+ padding: 20px 40px
1083
1071
  }
1084
- .charcoal-tag-item {
1085
- --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1086
- --charcoal-tag-item-size: 40px;
1087
- --charcoal-tag-item-padding-left: 24px;
1088
- --charcoal-tag-item-padding-right: 24px;
1089
- --charcoal-tag-item-bg: ;
1090
-
1091
- isolation: isolate;
1092
- position: relative;
1072
+ }
1093
1073
 
1094
- -webkit-appearance: none;
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
+ }
1095
1081
 
1096
- -moz-appearance: none;
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;
1090
+ }
1091
+ .charcoal-menu-item-group {
1092
+ display: block;
1093
+ }
1097
1094
 
1098
- appearance: none;
1099
- outline: none;
1100
- border-style: none;
1095
+ .charcoal-menu-item-group > span {
1096
+ display: block;
1097
+ color: var(--charcoal-color-text-tertiary-default);
1098
+ font-size: 12px;
1099
+ font-weight: bold;
1100
+ padding: 12px 0 8px 16px;
1101
+ }
1101
1102
 
1103
+ .charcoal-menu-item-group > ul {
1104
+ padding-left: 0;
1105
+ margin: 0;
1106
+ box-sizing: border-box;
1107
+ list-style: none;
1108
+ overflow: hidden;
1109
+ }
1110
+ .charcoal-segmented-control {
1102
1111
  display: inline-flex;
1103
- gap: 8px;
1104
1112
  align-items: center;
1105
- justify-content: center;
1106
-
1107
- text-decoration: none;
1108
- cursor: pointer;
1109
- overflow: hidden;
1110
-
1111
- color: var(--charcoal-tag-item-color);
1112
- height: var(--charcoal-tag-item-size);
1113
- padding-top: 4px;
1114
- padding-bottom: 4px;
1115
- padding-left: var(--charcoal-tag-item-padding-left);
1116
- padding-right: var(--charcoal-tag-item-padding-right);
1117
- box-sizing: border-box;
1118
- border-radius: 4px;
1119
1113
 
1120
- transition: 0.2s box-shadow;
1114
+ background-color: var(--charcoal-color-container-secondary-default-a);
1115
+ border-radius: 16px;
1121
1116
  }
1122
1117
 
1123
- .charcoal-tag-item[data-size='M'] {
1124
- --charcoal-tag-item-size: 40px;
1125
- --charcoal-tag-item-padding-left: 24px;
1126
- --charcoal-tag-item-padding-right: 24px;
1118
+ .charcoal-segmented-control[data-uniform-segment-width='true'],
1119
+ .charcoal-segmented-control[data-full-width='true'] {
1120
+ display: inline-grid;
1121
+ grid-auto-columns: minmax(80px, 1fr);
1122
+ grid-auto-rows: 32px;
1123
+ grid-auto-flow: column;
1127
1124
  }
1128
1125
 
1129
- .charcoal-tag-item[data-size='S'] {
1126
+ .charcoal-segmented-control[data-full-width='true'] {
1127
+ width: 100%;
1128
+ }
1129
+
1130
+ .charcoal-segmented-control-radio__label {
1131
+ position: relative;
1132
+ display: flex;
1133
+ align-items: center;
1134
+ justify-content: center;
1135
+ cursor: pointer;
1136
+ height: 32px;
1137
+
1138
+ padding-right: 16px;
1139
+ padding-left: 16px;
1140
+ border-radius: 16px;
1141
+ color: var(--charcoal-color-text-secondary-default);
1142
+
1143
+ font-size: 14px;
1144
+ line-height: 22px;
1145
+ }
1146
+
1147
+ .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
1148
+ cursor: default;
1149
+ opacity: 0.32;
1150
+ }
1151
+
1152
+ .charcoal-segmented-control-radio__label[data-checked='true'] {
1153
+ background-color: var(--charcoal-color-container-primary-default);
1154
+ color: var(--charcoal-color-text-on-primary-default);
1155
+ }
1156
+
1157
+ .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
1158
+ .charcoal-segmented-control-radio__label[data-full-width='true'] {
1159
+ justify-content: center;
1160
+ white-space: nowrap;
1161
+ }
1162
+
1163
+ .charcoal-segmented-control-radio__input {
1164
+ position: absolute;
1165
+
1166
+ height: 0px;
1167
+ width: 0px;
1168
+ padding: 0;
1169
+ margin: 0;
1170
+
1171
+ -webkit-appearance: none;
1172
+
1173
+ -moz-appearance: none;
1174
+
1175
+ appearance: none;
1176
+ box-sizing: border-box;
1177
+ overflow: hidden;
1178
+ white-space: nowrap;
1179
+ opacity: 0;
1180
+ }
1181
+ .charcoal-tag-item {
1182
+ --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1183
+ --charcoal-tag-item-size: 40px;
1184
+ --charcoal-tag-item-padding-left: 24px;
1185
+ --charcoal-tag-item-padding-right: 24px;
1186
+ --charcoal-tag-item-bg: ;
1187
+
1188
+ isolation: isolate;
1189
+ position: relative;
1190
+
1191
+ -webkit-appearance: none;
1192
+
1193
+ -moz-appearance: none;
1194
+
1195
+ appearance: none;
1196
+ outline: none;
1197
+ border-style: none;
1198
+
1199
+ display: inline-flex;
1200
+ gap: 8px;
1201
+ align-items: center;
1202
+ justify-content: center;
1203
+
1204
+ text-decoration: none;
1205
+ cursor: pointer;
1206
+ overflow: hidden;
1207
+
1208
+ color: var(--charcoal-tag-item-color);
1209
+ height: var(--charcoal-tag-item-size);
1210
+ padding-top: 4px;
1211
+ padding-bottom: 4px;
1212
+ padding-left: var(--charcoal-tag-item-padding-left);
1213
+ padding-right: var(--charcoal-tag-item-padding-right);
1214
+ box-sizing: border-box;
1215
+ border-radius: 4px;
1216
+
1217
+ transition: 0.2s box-shadow;
1218
+ }
1219
+
1220
+ .charcoal-tag-item[data-size='M'] {
1221
+ --charcoal-tag-item-size: 40px;
1222
+ --charcoal-tag-item-padding-left: 24px;
1223
+ --charcoal-tag-item-padding-right: 24px;
1224
+ }
1225
+
1226
+ .charcoal-tag-item[data-size='S'] {
1130
1227
  --charcoal-tag-item-size: 32px;
1131
1228
  --charcoal-tag-item-padding-left: 16px;
1132
1229
  --charcoal-tag-item-padding-right: 16px;
@@ -1235,237 +1332,122 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1235
1332
  .charcoal-tag-item__labe__text[data-has-translate='true']::after {
1236
1333
  display: none;
1237
1334
  }
1238
- .charcoal-menu-item-group {
1239
- display: block;
1335
+ .charcoal-pagination {
1336
+ display: flex;
1337
+ justify-content: center;
1338
+ align-items: center;
1240
1339
  }
1241
1340
 
1242
- .charcoal-menu-item-group > span {
1243
- display: block;
1244
- color: var(--charcoal-color-text-tertiary-default);
1245
- font-size: 12px;
1246
- font-weight: bold;
1247
- padding: 12px 0 8px 16px;
1248
- }
1341
+ .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1342
+ min-width: 32px;
1343
+ min-height: 32px;
1344
+ }
1249
1345
 
1250
- .charcoal-menu-item-group > ul {
1251
- padding-left: 0;
1346
+ .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1347
+ min-width: 40px;
1348
+ min-height: 40px;
1349
+ }
1350
+
1351
+ /* stylelint-disable no-descending-specificity */
1352
+ .charcoal-pagination-button {
1353
+ cursor: pointer;
1354
+ -webkit-appearance: none;
1355
+ -moz-appearance: none;
1356
+ appearance: none;
1357
+ padding: 0;
1358
+ border-style: none;
1359
+ outline: none;
1360
+ text-decoration: none;
1361
+ font-family: inherit;
1362
+ font-style: inherit;
1363
+ font-variant: inherit;
1252
1364
  margin: 0;
1253
- box-sizing: border-box;
1254
- list-style: none;
1255
- overflow: hidden;
1256
- }
1257
- .charcoal-notification-region {
1258
- position: fixed;
1259
- left: 0;
1260
- right: 0;
1261
- display: grid;
1262
- justify-content: center;
1263
- pointer-events: none;
1264
- box-sizing: border-box;
1265
- }
1365
+ -webkit-user-select: none;
1366
+ -moz-user-select: none;
1367
+ user-select: none;
1266
1368
 
1267
- .charcoal-notification {
1268
- box-sizing: border-box;
1269
- border-radius: var(--charcoal-radius-oval);
1270
- width: -moz-fit-content;
1271
- width: fit-content;
1272
- max-width: calc(100vw - var(--charcoal-space-46));
1273
1369
  display: flex;
1274
1370
  align-items: center;
1275
1371
  justify-content: center;
1276
- gap: var(--charcoal-space-20);
1277
- pointer-events: auto;
1278
- }
1372
+ font-size: 14px;
1373
+ font-weight: 700;
1374
+ line-height: 22px;
1279
1375
 
1280
- .charcoal-notification-content {
1281
- display: flex;
1282
- align-items: center;
1283
- min-width: 0;
1284
- }
1376
+ /* HACK:
1377
+ * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1378
+ * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1379
+ */
1380
+ /* stylelint-disable-next-line property-no-vendor-prefix */
1381
+ -webkit-transform: translateZ(0);
1285
1382
 
1286
- .charcoal-notification-label {
1287
- min-width: 0;
1288
- overflow: hidden;
1289
- overflow-wrap: break-word;
1290
- display: -webkit-box;
1291
- -webkit-box-orient: vertical;
1292
- -webkit-line-clamp: 2;
1293
- font-size: var(--charcoal-text-font-size-caption-m);
1294
- font-weight: var(--charcoal-text-font-weight-bold);
1295
- line-height: var(--charcoal-text-line-height-caption-m);
1383
+ color: var(--charcoal-color-text-tertiary-default);
1384
+ background-color: transparent;
1385
+ border-radius: 20px;
1386
+ transition:
1387
+ 0.2s background-color,
1388
+ 0.2s box-shadow;
1296
1389
  }
1297
-
1298
- @media (prefers-reduced-motion: reduce) {
1299
- .charcoal-notification,
1300
- .charcoal-notification[data-exiting='true'] {
1301
- animation: none;
1390
+ .charcoal-pagination-button:focus {
1391
+ outline: none;
1302
1392
  }
1303
- }
1304
- .charcoal-snackbar-region {
1305
- --charcoal-snackbar-offset: 16px;
1306
- }
1307
-
1308
- .charcoal-snackbar-region[data-position='top'] {
1309
- --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1310
-
1311
- top: calc(
1312
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1313
- );
1393
+ .charcoal-pagination-button::-moz-focus-inner {
1394
+ border-style: none;
1395
+ padding: 0;
1314
1396
  }
1315
-
1316
- .charcoal-snackbar-region[data-position='bottom'] {
1317
- --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1318
-
1319
- bottom: calc(
1320
- env(safe-area-inset-bottom, 0px) +
1321
- max(var(--charcoal-snackbar-offset), 16px)
1322
- );
1397
+ .charcoal-pagination-button[hidden] {
1398
+ visibility: hidden;
1399
+ display: block;
1323
1400
  }
1324
-
1325
- .charcoal-snackbar {
1326
- min-height: 44px;
1327
- padding: var(--charcoal-space-25) var(--charcoal-space-40);
1328
- background-color: var(--charcoal-color-container-default);
1329
- color: var(--charcoal-color-text-default);
1330
- border: var(--charcoal-border-width-m) solid
1331
- var(--charcoal-color-border-secondary);
1332
- animation: charcoal-snackbar-enter 0.3s ease-out both;
1333
- }
1334
-
1335
- .charcoal-snackbar[data-exiting='true'] {
1336
- animation: charcoal-snackbar-exit 0.3s ease-out both;
1401
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1402
+ .charcoal-pagination-button[aria-disabled='false']:hover {
1403
+ color: var(--charcoal-color-text-tertiary-default);
1404
+ background-color: var(--charcoal-color-container-secondary-default);
1337
1405
  }
1338
-
1339
- .charcoal-snackbar[data-with-action='true'] {
1340
- min-height: 56px;
1341
- padding: var(--charcoal-space-25) var(--charcoal-space-30)
1342
- var(--charcoal-space-25) var(--charcoal-space-40);
1406
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1407
+ .charcoal-pagination-button[aria-disabled='false']:active {
1408
+ color: var(--charcoal-color-text-tertiary-press);
1409
+ background-color: var(--charcoal-color-container-tertiary-press);
1343
1410
  }
1344
-
1345
- .charcoal-snackbar[data-dim='true'] {
1346
- background-color: var(--charcoal-color-container-hud-default);
1347
- color: var(--charcoal-color-text-on-hud-default);
1348
- border-color: var(--charcoal-color-border-hud);
1349
- }
1350
-
1351
- @keyframes charcoal-snackbar-enter {
1352
- from {
1353
- opacity: 0;
1354
- transform: translateY(var(--charcoal-snackbar-enter-offset));
1355
- }
1356
-
1357
- to {
1358
- opacity: 1;
1359
- transform: translateY(0);
1360
- }
1361
- }
1362
-
1363
- @keyframes charcoal-snackbar-exit {
1364
- from {
1365
- opacity: 1;
1411
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1412
+ .charcoal-pagination-button[aria-disabled='false']:focus {
1413
+ outline: none;
1414
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1366
1415
  }
1367
-
1368
- to {
1369
- opacity: 0;
1416
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1417
+ .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1418
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1370
1419
  }
1371
- }
1372
- .charcoal-hint-text {
1373
- background-color: var(--charcoal-color-container-secondary-default);
1374
- border-radius: 8px;
1375
- padding: 12px 16px;
1376
- display: flex;
1377
- align-items: flex-start;
1378
- }
1379
-
1380
- .charcoal-hint-text[data-context='page'] {
1381
- justify-content: center;
1420
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1421
+ .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1422
+ box-shadow: none;
1382
1423
  }
1383
-
1384
- @media (min-width: 744px) {
1385
-
1386
- .charcoal-hint-text[data-context='page'] {
1387
- padding: 20px 40px
1424
+ .charcoal-pagination-button[aria-current] {
1425
+ cursor: default;
1426
+ background-color: var(--charcoal-color-container-hud-default);
1427
+ color: var(--charcoal-color-text-on-hud-default);
1388
1428
  }
1429
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1430
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1431
+ background-color: var(--charcoal-color-container-hud-default);
1432
+ color: var(--charcoal-color-text-on-hud-default);
1389
1433
  }
1434
+ /* stylelint-enable no-descending-specificity */
1390
1435
 
1391
- .charcoal-hint-text-icon {
1392
- display: flex;
1393
- align-items: center;
1394
- color: var(--charcoal-color-icon-tertiary-default);
1395
- height: 22px;
1396
- margin: 0 4px 0 0;
1397
- }
1398
-
1399
- .charcoal-hint-text-message {
1400
- color: var(--charcoal-color-text-secondary-default);
1401
- font-size: 14px;
1402
- line-height: 22px;
1403
- display: flow-root;
1404
- margin: 0;
1405
- min-width: 0;
1406
- overflow-wrap: break-word;
1407
- }
1408
- .charcoal-toast-region {
1409
- --charcoal-toast-offset: 16px;
1410
- }
1411
-
1412
- .charcoal-toast-region[data-position='top'] {
1413
- --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1414
-
1415
- top: calc(
1416
- env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1417
- );
1418
- }
1419
-
1420
- .charcoal-toast-region[data-position='bottom'] {
1421
- --charcoal-toast-enter-offset: var(--charcoal-space-30);
1422
-
1423
- bottom: calc(
1424
- env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1425
- );
1426
- }
1427
-
1428
- .charcoal-toast {
1429
- min-height: 40px;
1430
- padding: var(--charcoal-space-20) var(--charcoal-space-40);
1431
- color: var(--charcoal-color-text-on-positive-default);
1432
- border: var(--charcoal-border-width-m) solid var(--charcoal-color-border-hud);
1433
- animation: charcoal-toast-enter 0.3s ease-out both;
1436
+ .charcoal-pagination-nav-button[data-hidden] {
1437
+ visibility: hidden;
1434
1438
  }
1435
1439
 
1436
- .charcoal-toast[data-exiting='true'] {
1437
- animation: charcoal-toast-exit 0.3s ease-out both;
1438
- }
1439
-
1440
- .charcoal-toast[data-type='success'] {
1441
- background-color: var(--charcoal-color-container-positive-default);
1442
- }
1443
-
1444
- .charcoal-toast[data-type='error'] {
1445
- background-color: var(--charcoal-color-container-negative-default);
1446
- }
1447
-
1448
- @keyframes charcoal-toast-enter {
1449
- from {
1450
- opacity: 0;
1451
- transform: translateY(var(--charcoal-toast-enter-offset));
1452
- }
1453
-
1454
- to {
1455
- opacity: 1;
1456
- transform: translateY(0);
1440
+ .charcoal-pagination-spacer,
1441
+ .charcoal-pagination-spacer:hover,
1442
+ .charcoal-pagination-spacer:active {
1443
+ cursor: default;
1444
+ color: var(--charcoal-color-text-tertiary-default);
1445
+ background: none;
1457
1446
  }
1458
- }
1459
1447
 
1460
- @keyframes charcoal-toast-exit {
1461
- from {
1448
+ .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1462
1449
  opacity: 1;
1463
1450
  }
1464
-
1465
- to {
1466
- opacity: 0;
1467
- }
1468
- }
1469
1451
  .charcoal-carousel {
1470
1452
  --charcoal-carousel-gap: 0px;
1471
1453
 
@@ -1785,193 +1767,211 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1785
1767
  }
1786
1768
  }
1787
1769
  /* stylelint-enable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1788
- .charcoal-segmented-control {
1789
- display: inline-flex;
1770
+ .charcoal-notification-region {
1771
+ position: fixed;
1772
+ left: 0;
1773
+ right: 0;
1774
+ display: grid;
1775
+ justify-content: center;
1776
+ pointer-events: none;
1777
+ box-sizing: border-box;
1778
+ }
1779
+
1780
+ .charcoal-notification {
1781
+ box-sizing: border-box;
1782
+ border-radius: var(--charcoal-radius-oval);
1783
+ width: -moz-fit-content;
1784
+ width: fit-content;
1785
+ max-width: calc(100vw - var(--charcoal-space-46));
1786
+ display: flex;
1790
1787
  align-items: center;
1788
+ justify-content: center;
1789
+ gap: var(--charcoal-space-20);
1790
+ pointer-events: auto;
1791
+ }
1791
1792
 
1792
- background-color: var(--charcoal-color-container-secondary-default-a);
1793
- border-radius: 16px;
1793
+ .charcoal-notification-content {
1794
+ display: flex;
1795
+ align-items: center;
1796
+ min-width: 0;
1794
1797
  }
1795
1798
 
1796
- .charcoal-segmented-control[data-uniform-segment-width='true'],
1797
- .charcoal-segmented-control[data-full-width='true'] {
1798
- display: inline-grid;
1799
- grid-auto-columns: minmax(80px, 1fr);
1800
- grid-auto-rows: 32px;
1801
- grid-auto-flow: column;
1799
+ .charcoal-notification-label {
1800
+ min-width: 0;
1801
+ overflow: hidden;
1802
+ overflow-wrap: break-word;
1803
+ display: -webkit-box;
1804
+ -webkit-box-orient: vertical;
1805
+ -webkit-line-clamp: 2;
1806
+ font-size: var(--charcoal-text-font-size-caption-m);
1807
+ font-weight: var(--charcoal-text-font-weight-bold);
1808
+ line-height: var(--charcoal-text-line-height-caption-m);
1809
+ }
1810
+
1811
+ @media (prefers-reduced-motion: reduce) {
1812
+ .charcoal-notification,
1813
+ .charcoal-notification[data-exiting='true'] {
1814
+ animation: none;
1802
1815
  }
1816
+ }
1817
+ .charcoal-toast-region {
1818
+ --charcoal-toast-offset: 16px;
1819
+ }
1803
1820
 
1804
- .charcoal-segmented-control[data-full-width='true'] {
1805
- width: 100%;
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
+ );
1806
1827
  }
1807
1828
 
1808
- .charcoal-segmented-control-radio__label {
1809
- position: relative;
1810
- display: flex;
1811
- align-items: center;
1812
- justify-content: center;
1813
- cursor: pointer;
1814
- height: 32px;
1829
+ .charcoal-toast-region[data-position='bottom'] {
1830
+ --charcoal-toast-enter-offset: var(--charcoal-space-30);
1815
1831
 
1816
- padding-right: 16px;
1817
- padding-left: 16px;
1818
- border-radius: 16px;
1819
- color: var(--charcoal-color-text-secondary-default);
1832
+ bottom: calc(
1833
+ env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1834
+ );
1835
+ }
1820
1836
 
1821
- font-size: 14px;
1822
- line-height: 22px;
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;
1823
1843
  }
1824
1844
 
1825
- .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
1826
- cursor: default;
1827
- opacity: 0.32;
1845
+ .charcoal-toast[data-exiting='true'] {
1846
+ animation: charcoal-toast-exit 0.3s ease-out both;
1828
1847
  }
1829
1848
 
1830
- .charcoal-segmented-control-radio__label[data-checked='true'] {
1831
- background-color: var(--charcoal-color-container-primary-default);
1832
- color: var(--charcoal-color-text-on-primary-default);
1849
+ .charcoal-toast[data-type='success'] {
1850
+ background-color: var(--charcoal-color-container-positive-default);
1833
1851
  }
1834
1852
 
1835
- .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
1836
- .charcoal-segmented-control-radio__label[data-full-width='true'] {
1837
- justify-content: center;
1838
- white-space: nowrap;
1853
+ .charcoal-toast[data-type='error'] {
1854
+ background-color: var(--charcoal-color-container-negative-default);
1839
1855
  }
1840
1856
 
1841
- .charcoal-segmented-control-radio__input {
1842
- position: absolute;
1857
+ @keyframes charcoal-toast-enter {
1858
+ from {
1859
+ opacity: 0;
1860
+ transform: translateY(var(--charcoal-toast-enter-offset));
1861
+ }
1843
1862
 
1844
- height: 0px;
1845
- width: 0px;
1846
- padding: 0;
1847
- margin: 0;
1863
+ to {
1864
+ opacity: 1;
1865
+ transform: translateY(0);
1866
+ }
1867
+ }
1848
1868
 
1849
- -webkit-appearance: none;
1869
+ @keyframes charcoal-toast-exit {
1870
+ from {
1871
+ opacity: 1;
1872
+ }
1850
1873
 
1851
- -moz-appearance: none;
1874
+ to {
1875
+ opacity: 0;
1876
+ }
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;
1852
1882
 
1853
- appearance: none;
1854
- box-sizing: border-box;
1855
1883
  overflow: hidden;
1856
- white-space: nowrap;
1857
- opacity: 0;
1858
- }
1859
- .charcoal-pagination {
1860
- display: flex;
1861
- justify-content: center;
1862
- align-items: center;
1884
+ overflow-wrap: break-word;
1885
+ display: -webkit-box;
1886
+ -webkit-box-orient: vertical;
1887
+ -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1863
1888
  }
1864
1889
 
1865
- .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1866
- min-width: 32px;
1867
- min-height: 32px;
1890
+ .charcoal-text-ellipsis[data-has-line-height='true'] {
1891
+ line-height: var(--charcoal-text-ellipsis-line-height);
1868
1892
  }
1869
1893
 
1870
- .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1871
- min-width: 40px;
1872
- min-height: 40px;
1894
+ .charcoal-text-ellipsis[data-has-line-height='false'] {
1895
+ line-height: inherit;
1873
1896
  }
1874
1897
 
1875
- /* stylelint-disable no-descending-specificity */
1876
- .charcoal-pagination-button {
1877
- cursor: pointer;
1878
- -webkit-appearance: none;
1879
- -moz-appearance: none;
1880
- appearance: none;
1881
- padding: 0;
1882
- border-style: none;
1883
- outline: none;
1884
- text-decoration: none;
1885
- font-family: inherit;
1886
- font-style: inherit;
1887
- font-variant: inherit;
1888
- margin: 0;
1889
- -webkit-user-select: none;
1890
- -moz-user-select: none;
1891
- user-select: none;
1892
-
1893
- display: flex;
1894
- align-items: center;
1895
- justify-content: center;
1896
- font-size: 14px;
1897
- font-weight: 700;
1898
- line-height: 22px;
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;
1906
+ }
1907
+ .charcoal-snackbar-region {
1908
+ --charcoal-snackbar-offset: 16px;
1909
+ }
1899
1910
 
1900
- /* HACK:
1901
- * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1902
- * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1903
- */
1904
- /* stylelint-disable-next-line property-no-vendor-prefix */
1905
- -webkit-transform: translateZ(0);
1911
+ .charcoal-snackbar-region[data-position='top'] {
1912
+ --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1906
1913
 
1907
- color: var(--charcoal-color-text-tertiary-default);
1908
- background-color: transparent;
1909
- border-radius: 20px;
1910
- transition:
1911
- 0.2s background-color,
1912
- 0.2s box-shadow;
1913
- }
1914
- .charcoal-pagination-button:focus {
1915
- outline: none;
1916
- }
1917
- .charcoal-pagination-button::-moz-focus-inner {
1918
- border-style: none;
1919
- padding: 0;
1920
- }
1921
- .charcoal-pagination-button[hidden] {
1922
- visibility: hidden;
1923
- display: block;
1924
- }
1925
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1926
- .charcoal-pagination-button[aria-disabled='false']:hover {
1927
- color: var(--charcoal-color-text-tertiary-default);
1928
- background-color: var(--charcoal-color-container-secondary-default);
1929
- }
1930
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1931
- .charcoal-pagination-button[aria-disabled='false']:active {
1932
- color: var(--charcoal-color-text-tertiary-press);
1933
- background-color: var(--charcoal-color-container-tertiary-press);
1914
+ top: calc(
1915
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1916
+ );
1934
1917
  }
1935
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1936
- .charcoal-pagination-button[aria-disabled='false']:focus {
1937
- outline: none;
1938
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1918
+
1919
+ .charcoal-snackbar-region[data-position='bottom'] {
1920
+ --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1921
+
1922
+ bottom: calc(
1923
+ env(safe-area-inset-bottom, 0px) +
1924
+ max(var(--charcoal-snackbar-offset), 16px)
1925
+ );
1939
1926
  }
1940
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1941
- .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1942
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1927
+
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;
1936
+ }
1937
+
1938
+ .charcoal-snackbar[data-exiting='true'] {
1939
+ animation: charcoal-snackbar-exit 0.3s ease-out both;
1943
1940
  }
1944
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1945
- .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1946
- box-shadow: none;
1941
+
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);
1947
1946
  }
1948
- .charcoal-pagination-button[aria-current] {
1949
- cursor: default;
1947
+
1948
+ .charcoal-snackbar[data-dim='true'] {
1950
1949
  background-color: var(--charcoal-color-container-hud-default);
1951
1950
  color: var(--charcoal-color-text-on-hud-default);
1951
+ border-color: var(--charcoal-color-border-hud);
1952
1952
  }
1953
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1954
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1955
- background-color: var(--charcoal-color-container-hud-default);
1956
- color: var(--charcoal-color-text-on-hud-default);
1957
- }
1958
- /* stylelint-enable no-descending-specificity */
1959
1953
 
1960
- .charcoal-pagination-nav-button[data-hidden] {
1961
- visibility: hidden;
1962
- }
1954
+ @keyframes charcoal-snackbar-enter {
1955
+ from {
1956
+ opacity: 0;
1957
+ transform: translateY(var(--charcoal-snackbar-enter-offset));
1958
+ }
1963
1959
 
1964
- .charcoal-pagination-spacer,
1965
- .charcoal-pagination-spacer:hover,
1966
- .charcoal-pagination-spacer:active {
1967
- cursor: default;
1968
- color: var(--charcoal-color-text-tertiary-default);
1969
- background: none;
1960
+ to {
1961
+ opacity: 1;
1962
+ transform: translateY(0);
1970
1963
  }
1964
+ }
1971
1965
 
1972
- .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1966
+ @keyframes charcoal-snackbar-exit {
1967
+ from {
1973
1968
  opacity: 1;
1974
1969
  }
1970
+
1971
+ to {
1972
+ opacity: 0;
1973
+ }
1974
+ }
1975
1975
  .charcoal-text-field-assistive-text {
1976
1976
  font-size: 14px;
1977
1977
  line-height: 22px;
@@ -1982,6 +1982,90 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1982
1982
  .charcoal-text-field-assistive-text[data-invalid='true'] {
1983
1983
  color: var(--charcoal-color-text-negative-default);
1984
1984
  }
1985
+ .charcoal-switch-input {
1986
+ cursor: pointer;
1987
+ -webkit-appearance: none;
1988
+ -moz-appearance: none;
1989
+ appearance: none;
1990
+ display: inline-flex;
1991
+ position: relative;
1992
+ box-sizing: border-box;
1993
+ width: 28px;
1994
+ border: 2px solid transparent;
1995
+
1996
+ transition-property: background-color, box-shadow;
1997
+ transition-duration: 0.2s;
1998
+
1999
+ outline: none;
2000
+ border-radius: 16px;
2001
+ height: 16px;
2002
+ margin: 0;
2003
+ background-color: var(--charcoal-color-container-neutral-default);
2004
+ }
2005
+
2006
+ .charcoal-switch-input:disabled,
2007
+ .charcoal-switch-input[readonly] {
2008
+ opacity: 0.32;
2009
+ cursor: default;
2010
+ }
2011
+
2012
+ .charcoal-switch-input::after {
2013
+ content: '';
2014
+ position: absolute;
2015
+ display: block;
2016
+ top: 0;
2017
+ left: 0;
2018
+ width: 12px;
2019
+ height: 12px;
2020
+ transform: translateX(0);
2021
+ transition: transform 0.2s;
2022
+ border-radius: 1024px;
2023
+ background-color: var(--charcoal-color-icon-on-primary-default);
2024
+ }
2025
+
2026
+ .charcoal-switch-input:checked::after {
2027
+ transform: translateX(12px);
2028
+ transition: transform 0.2s;
2029
+ }
2030
+
2031
+ .charcoal-switch-input:checked {
2032
+ background-color: var(--charcoal-color-container-primary-default);
2033
+ }
2034
+
2035
+ .charcoal-switch-input:not(:disabled):hover {
2036
+ background-color: var(--charcoal-color-container-neutral-hover);
2037
+ }
2038
+
2039
+ .charcoal-switch-input:not(:disabled):active {
2040
+ background-color: var(--charcoal-color-container-neutral-press);
2041
+ }
2042
+
2043
+ .charcoal-switch-input:not(:disabled):focus {
2044
+ outline: none;
2045
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2046
+ }
2047
+ .charcoal-switch-input:not(:disabled):focus-visible {
2048
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2049
+ }
2050
+ .charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {
2051
+ box-shadow: none;
2052
+ }
2053
+
2054
+ .charcoal-switch-input:not(:disabled)::after:hover {
2055
+ background-color: var(--charcoal-color-icon-on-primary-hover);
2056
+ }
2057
+
2058
+ .charcoal-switch-input:not(:disabled)::after:active {
2059
+ background-color: var(--charcoal-color-icon-on-primary-press);
2060
+ }
2061
+
2062
+ .charcoal-switch-input:not(:disabled):checked:hover {
2063
+ background-color: var(--charcoal-color-container-primary-hover);
2064
+ }
2065
+
2066
+ .charcoal-switch-input:not(:disabled):checked:active {
2067
+ background-color: var(--charcoal-color-container-primary-press);
2068
+ }
1985
2069
  .charcoal-radio-input {
1986
2070
  -webkit-appearance: none;
1987
2071
  -moz-appearance: none;
@@ -2070,90 +2154,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2070
2154
  .charcoal-radio-input:checked:not(:disabled):active::after {
2071
2155
  background-color: var(--charcoal-color-icon-on-primary-press);
2072
2156
  }
2073
- .charcoal-switch-input {
2074
- cursor: pointer;
2075
- -webkit-appearance: none;
2076
- -moz-appearance: none;
2077
- appearance: none;
2078
- display: inline-flex;
2079
- position: relative;
2080
- box-sizing: border-box;
2081
- width: 28px;
2082
- border: 2px solid transparent;
2083
-
2084
- transition-property: background-color, box-shadow;
2085
- transition-duration: 0.2s;
2086
-
2087
- outline: none;
2088
- border-radius: 16px;
2089
- height: 16px;
2090
- margin: 0;
2091
- background-color: var(--charcoal-color-container-neutral-default);
2092
- }
2093
-
2094
- .charcoal-switch-input:disabled,
2095
- .charcoal-switch-input[readonly] {
2096
- opacity: 0.32;
2097
- cursor: default;
2098
- }
2099
-
2100
- .charcoal-switch-input::after {
2101
- content: '';
2102
- position: absolute;
2103
- display: block;
2104
- top: 0;
2105
- left: 0;
2106
- width: 12px;
2107
- height: 12px;
2108
- transform: translateX(0);
2109
- transition: transform 0.2s;
2110
- border-radius: 1024px;
2111
- background-color: var(--charcoal-color-icon-on-primary-default);
2112
- }
2113
-
2114
- .charcoal-switch-input:checked::after {
2115
- transform: translateX(12px);
2116
- transition: transform 0.2s;
2117
- }
2118
-
2119
- .charcoal-switch-input:checked {
2120
- background-color: var(--charcoal-color-container-primary-default);
2121
- }
2122
-
2123
- .charcoal-switch-input:not(:disabled):hover {
2124
- background-color: var(--charcoal-color-container-neutral-hover);
2125
- }
2126
-
2127
- .charcoal-switch-input:not(:disabled):active {
2128
- background-color: var(--charcoal-color-container-neutral-press);
2129
- }
2130
-
2131
- .charcoal-switch-input:not(:disabled):focus {
2132
- outline: none;
2133
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2134
- }
2135
- .charcoal-switch-input:not(:disabled):focus-visible {
2136
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2137
- }
2138
- .charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {
2139
- box-shadow: none;
2140
- }
2141
-
2142
- .charcoal-switch-input:not(:disabled)::after:hover {
2143
- background-color: var(--charcoal-color-icon-on-primary-hover);
2144
- }
2145
-
2146
- .charcoal-switch-input:not(:disabled)::after:active {
2147
- background-color: var(--charcoal-color-icon-on-primary-press);
2148
- }
2149
-
2150
- .charcoal-switch-input:not(:disabled):checked:hover {
2151
- background-color: var(--charcoal-color-container-primary-hover);
2152
- }
2153
-
2154
- .charcoal-switch-input:not(:disabled):checked:active {
2155
- background-color: var(--charcoal-color-container-primary-press);
2156
- }
2157
2157
  .charcoal-field-label {
2158
2158
  font-size: 14px;
2159
2159
  line-height: 22px;
@@ -2191,6 +2191,30 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2191
2191
  .charcoal-field-label-root > .charcoal-field-label-sub-label {
2192
2192
  margin-left: auto;
2193
2193
  }
2194
+ .charcoal-list-item {
2195
+ list-style: none;
2196
+ display: flex;
2197
+ align-items: center;
2198
+ min-height: 40px;
2199
+ cursor: pointer;
2200
+ outline: none;
2201
+
2202
+ padding-right: 16px;
2203
+ padding-left: 16px;
2204
+
2205
+ transition: background-color 0.2s;
2206
+ }
2207
+
2208
+ .charcoal-list-item:not([aria-disabled='true']):hover,
2209
+ .charcoal-list-item:not([aria-disabled='true']):focus,
2210
+ .charcoal-list-item:not([aria-disabled='true']):focus-within {
2211
+ background-color: var(--charcoal-color-container-secondary-default);
2212
+ }
2213
+
2214
+ .charcoal-list-item[aria-disabled='true'] {
2215
+ opacity: 0.32;
2216
+ cursor: default;
2217
+ }
2194
2218
  .charcoal-modal-dialog {
2195
2219
  margin: auto;
2196
2220
  position: relative;
@@ -2236,34 +2260,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2236
2260
  .charcoal-modal-dialog:focus {
2237
2261
  outline: none;
2238
2262
  }
2239
- .charcoal-menu-list {
2240
- padding: 0;
2241
- margin: 0;
2242
- }
2243
- .charcoal-list-item {
2244
- list-style: none;
2245
- display: flex;
2246
- align-items: center;
2247
- min-height: 40px;
2248
- cursor: pointer;
2249
- outline: none;
2250
-
2251
- padding-right: 16px;
2252
- padding-left: 16px;
2253
-
2254
- transition: background-color 0.2s;
2255
- }
2256
-
2257
- .charcoal-list-item:not([aria-disabled='true']):hover,
2258
- .charcoal-list-item:not([aria-disabled='true']):focus,
2259
- .charcoal-list-item:not([aria-disabled='true']):focus-within {
2260
- background-color: var(--charcoal-color-container-secondary-default);
2261
- }
2262
-
2263
- .charcoal-list-item[aria-disabled='true'] {
2264
- opacity: 0.32;
2265
- cursor: default;
2266
- }
2267
2263
  .charcoal-checkbox-input {
2268
2264
  -webkit-appearance: none;
2269
2265
  -moz-appearance: none;
@@ -2378,6 +2374,10 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2378
2374
  border: 2px solid #fff;
2379
2375
  box-sizing: border-box;
2380
2376
  }
2377
+ .charcoal-menu-list {
2378
+ padding: 0;
2379
+ margin: 0;
2380
+ }
2381
2381
  .charcoal-popover {
2382
2382
  margin: 4px 0;
2383
2383
  list-style: none;