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

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 (29) hide show
  1. package/dist/_lib/compat.d.ts +4 -3
  2. package/dist/_lib/compat.d.ts.map +1 -1
  3. package/dist/components/Notification/Snackbar/index.d.ts +4 -0
  4. package/dist/components/Notification/Snackbar/index.d.ts.map +1 -1
  5. package/dist/components/Notification/Snackbar/index2.cjs +11 -8
  6. package/dist/components/Notification/Snackbar/index2.cjs.map +1 -1
  7. package/dist/components/Notification/Snackbar/index2.js +12 -9
  8. package/dist/components/Notification/Snackbar/index2.js.map +1 -1
  9. package/dist/components/Notification/useNotificationQueue.cjs +11 -11
  10. package/dist/components/Notification/useNotificationQueue.cjs.map +1 -1
  11. package/dist/components/Notification/useNotificationQueue.d.ts +2 -1
  12. package/dist/components/Notification/useNotificationQueue.d.ts.map +1 -1
  13. package/dist/components/Notification/useNotificationQueue.js +11 -11
  14. package/dist/components/Notification/useNotificationQueue.js.map +1 -1
  15. package/dist/index.css +574 -575
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/layered.css +574 -575
  19. package/dist/layered.css.map +1 -1
  20. package/package.json +5 -5
  21. package/src/_lib/compat.ts +4 -3
  22. package/src/components/Carousel/__snapshots__/index.css.snap +4 -4
  23. package/src/components/Carousel/index.css +4 -4
  24. package/src/components/Notification/Snackbar/index.test.tsx +25 -4
  25. package/src/components/Notification/Snackbar/index.tsx +16 -1
  26. package/src/components/Notification/useNotificationQueue.ts +16 -15
  27. package/src/components/Pagination/__snapshots__/index.css.snap +0 -1
  28. package/src/components/Pagination/index.css +0 -1
  29. package/src/index.ts +1 -0
package/dist/index.css CHANGED
@@ -6,67 +6,6 @@
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
- }
70
9
  .charcoal-button {
71
10
  -webkit-appearance: none;
72
11
  -moz-appearance: none;
@@ -217,6 +156,72 @@
217
156
  .charcoal-button[data-full-width='true'] {
218
157
  width: 100%;
219
158
  }
159
+ .charcoal-clickable {
160
+ cursor: pointer;
161
+
162
+ /* Reset button appearance */
163
+ -webkit-appearance: none;
164
+ -moz-appearance: none;
165
+ appearance: none;
166
+ background: transparent;
167
+ padding: 0;
168
+ border-style: none;
169
+ outline: none;
170
+ color: inherit;
171
+ text-rendering: inherit;
172
+ letter-spacing: inherit;
173
+ word-spacing: inherit;
174
+ text-decoration: none;
175
+
176
+ /* Change the font styles in all browsers. */
177
+ font: inherit;
178
+
179
+ /* Remove the margin in Firefox and Safari. */
180
+ margin: 0;
181
+
182
+ /* Show the overflow in Edge. */
183
+ overflow: visible;
184
+
185
+ /* Remove the inheritance of text transform in Firefox. */
186
+ text-transform: none;
187
+ }
188
+
189
+ .charcoal-clickable:disabled,
190
+ .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
191
+ cursor: default;
192
+ }
193
+
194
+ .charcoal-clickable:focus {
195
+ outline: none;
196
+ }
197
+
198
+ .charcoal-clickable::-moz-focus-inner {
199
+ border-style: none;
200
+ padding: 0;
201
+ }
202
+ .charcoal-radio__label {
203
+ display: grid;
204
+ grid-template-columns: auto 1fr;
205
+ grid-gap: 4px;
206
+ align-items: center;
207
+ cursor: pointer;
208
+ }
209
+
210
+ .charcoal-radio__label[aria-disabled]:not([aria-disabled='false']) {
211
+ opacity: 0.32;
212
+ cursor: default;
213
+ }
214
+
215
+ .charcoal-radio__label_div {
216
+ font-size: 14px;
217
+ line-height: 22px;
218
+ color: var(--charcoal-color-text-default);
219
+ }
220
+ .charcoal-radio-group {
221
+ display: grid;
222
+ grid-template-columns: 1fr;
223
+ grid-gap: 8px;
224
+ }
220
225
  .charcoal-multi-select {
221
226
  display: grid;
222
227
  grid-template-columns: auto 1fr;
@@ -476,128 +481,6 @@
476
481
  .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
477
482
  box-shadow: none;
478
483
  }
479
- .charcoal-switch__label {
480
- display: inline-grid;
481
- grid-template-columns: auto 1fr;
482
- align-items: center;
483
- cursor: pointer;
484
- outline: 0;
485
- gap: 4px;
486
- }
487
-
488
- .charcoal-switch__label[aria-disabled='true'] {
489
- opacity: 0.32;
490
- cursor: default;
491
- }
492
-
493
- .charcoal-switch__label[aria-disabled='true'] > input {
494
- opacity: 1;
495
- }
496
-
497
- .charcoal-switch__label_div {
498
- font-size: 14px;
499
- line-height: 22px;
500
- color: var(--charcoal-color-text-default);
501
- }
502
- .charcoal-text-field-root {
503
- display: grid;
504
- grid-template-columns: 1fr;
505
- grid-gap: 4px;
506
- }
507
-
508
- .charcoal-text-field-root[aria-disabled='true'] {
509
- opacity: 0.32;
510
- }
511
-
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);
528
- }
529
-
530
- .charcoal-text-field-container:not([aria-disabled='true']):hover {
531
- background-color: var(--charcoal-color-container-secondary-hover-a);
532
- }
533
-
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);
537
- }
538
-
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);
541
- }
542
-
543
- .charcoal-text-field-prefix {
544
- display: flex;
545
- align-items: center;
546
- margin-right: 4px;
547
- }
548
-
549
- .charcoal-text-field-suffix {
550
- display: flex;
551
- align-items: center;
552
- gap: 8px;
553
- margin-left: 4px;
554
- }
555
-
556
- .charcoal-text-field-input-root {
557
- flex: 1;
558
- min-width: 0;
559
- overflow: hidden;
560
- }
561
-
562
- .charcoal-text-field-input {
563
- border: none;
564
- box-sizing: border-box;
565
- outline: none;
566
- font-family: inherit;
567
-
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);
578
-
579
- /* Display box-shadow for iOS Safari */
580
- -webkit-appearance: none;
581
- -moz-appearance: none;
582
- appearance: none;
583
- background: transparent;
584
-
585
- color: var(--charcoal-color-text-secondary-default);
586
- }
587
-
588
- .charcoal-text-field-input::-moz-placeholder {
589
- color: var(--charcoal-color-text-placeholder-default);
590
- }
591
-
592
- .charcoal-text-field-input::placeholder {
593
- color: var(--charcoal-color-text-placeholder-default);
594
- }
595
-
596
- .charcoal-text-field-line-counter {
597
- line-height: 22px;
598
- font-size: 14px;
599
- color: var(--charcoal-color-text-tertiary-default);
600
- }
601
484
  .charcoal-icon {
602
485
  display: inline-flex;
603
486
  width: var(--charcoal-icon-size);
@@ -641,13 +524,36 @@ pixiv-icon:not(:defined)[name^='Inline/'] {
641
524
  pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
642
525
  --pixiv-icon-scale: 2;
643
526
  }
644
- .charcoal-modal-background {
645
- overflow: auto;
646
- display: flex;
647
- position: fixed;
648
- top: 0;
649
- left: 0;
650
- width: 100%;
527
+ .charcoal-switch__label {
528
+ display: inline-grid;
529
+ grid-template-columns: auto 1fr;
530
+ align-items: center;
531
+ cursor: pointer;
532
+ outline: 0;
533
+ gap: 4px;
534
+ }
535
+
536
+ .charcoal-switch__label[aria-disabled='true'] {
537
+ opacity: 0.32;
538
+ cursor: default;
539
+ }
540
+
541
+ .charcoal-switch__label[aria-disabled='true'] > input {
542
+ opacity: 1;
543
+ }
544
+
545
+ .charcoal-switch__label_div {
546
+ font-size: 14px;
547
+ line-height: 22px;
548
+ color: var(--charcoal-color-text-default);
549
+ }
550
+ .charcoal-modal-background {
551
+ overflow: auto;
552
+ display: flex;
553
+ position: fixed;
554
+ top: 0;
555
+ left: 0;
556
+ width: 100%;
651
557
  height: 100%;
652
558
  justify-content: center;
653
559
  padding: 40px 0;
@@ -711,46 +617,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
711
617
  font-weight: inherit;
712
618
  font-size: inherit;
713
619
  }
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
- }
754
620
  .charcoal-text-area-root {
755
621
  display: grid;
756
622
  grid-template-columns: 1fr;
@@ -906,111 +772,144 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
906
772
  .charcoal-loading-spinner-icon[data-once='true'] {
907
773
  animation-iteration-count: 1;
908
774
  }
909
- .charcoal-checkbox__label {
910
- position: relative;
911
- cursor: pointer;
912
- display: flex;
913
- gap: 4px;
775
+ .charcoal-modal-header-root {
776
+ height: 64px;
777
+ display: grid;
778
+ align-content: center;
779
+ justify-content: center;
914
780
  }
915
781
 
916
- .charcoal-checkbox__label[aria-disabled='true'] {
917
- cursor: default;
918
- opacity: 0.32;
782
+ @media (max-width: 743px) {
783
+ .charcoal-modal-header-root[data-bottom-sheet='true'],
784
+ .charcoal-modal-header-root[data-bottom-sheet='full'] {
785
+ height: 48px;
919
786
  }
787
+ }
920
788
 
921
- .charcoal-checkbox__label[aria-disabled='true'] > input {
922
- opacity: 1;
923
- }
924
-
925
- .charcoal-checkbox__label_div {
926
- flex: 1;
789
+ .charcoal-modal-header-title {
927
790
  color: var(--charcoal-color-text-default);
928
- font-size: 14px;
929
- line-height: 20px;
791
+ font-size: 16px;
792
+ line-height: 24px;
793
+ font-weight: bold;
794
+ display: flow-root;
930
795
  }
931
- .charcoal-dropdown-selector-root {
796
+
797
+ .charcoal-modal-align {
798
+ padding-left: 16px;
799
+ padding-right: 16px;
800
+ }
801
+
802
+ .charcoal-modal-body {
803
+ padding-bottom: 40px;
804
+ }
805
+
806
+ .charcoal-modal-buttons {
807
+ display: grid;
808
+ grid-auto-flow: row;
809
+ grid-row-gap: 8px;
810
+
811
+ padding-top: 16px;
812
+ padding-left: 16px;
813
+ padding-right: 16px;
814
+ }
815
+ .charcoal-text-field-root {
932
816
  display: grid;
933
817
  grid-template-columns: 1fr;
934
818
  grid-gap: 4px;
935
- width: 100%;
936
819
  }
937
820
 
938
- .charcoal-dropdown-selector-root[aria-disabled='true'] {
939
- cursor: default;
821
+ .charcoal-text-field-root[aria-disabled='true'] {
940
822
  opacity: 0.32;
941
823
  }
942
824
 
943
- .charcoal-dropdown-selector-button {
944
- display: grid;
945
- grid-template-columns: 1fr auto;
946
- justify-content: space-between;
947
- align-items: center;
948
-
825
+ .charcoal-text-field-container {
826
+ display: flex;
949
827
  height: 40px;
950
- width: 100%;
951
- box-sizing: border-box;
952
- border: none;
953
- cursor: pointer;
954
- gap: 4px;
955
-
956
- padding-right: 8px;
957
- padding-left: 8px;
828
+ transition:
829
+ 0.2s background-color,
830
+ 0.2s box-shadow;
831
+ color: var(--charcoal-color-text-secondary-default);
958
832
  background-color: var(--charcoal-color-container-secondary-default-a);
959
833
  border-radius: 4px;
960
-
961
- transition:
962
- 0.2s box-shadow,
963
- 0.2s background-color;
834
+ padding: 0 8px;
835
+ line-height: 22px;
836
+ font-size: 14px;
964
837
  }
965
838
 
966
- .charcoal-dropdown-selector-button:disabled {
967
- cursor: default;
839
+ .charcoal-text-field-container[data-invalid='true'] {
840
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
968
841
  }
969
842
 
970
- .charcoal-dropdown-selector-button:not(:disabled):focus {
971
- outline: none;
972
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
973
- }
974
-
975
- .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
976
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
977
- }
978
-
979
- .charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],
980
- .charcoal-dropdown-selector-button:not(:disabled):active {
981
- background-color: var(--charcoal-color-container-secondary-press-a);
982
- }
983
-
984
- .charcoal-dropdown-selector-button:not(:disabled):hover {
985
- background-color: var(--charcoal-color-container-secondary-hover-a);
986
- }
843
+ .charcoal-text-field-container:not([aria-disabled='true']):hover {
844
+ background-color: var(--charcoal-color-container-secondary-hover-a);
845
+ }
987
846
 
988
- .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
989
- box-shadow: none;
990
- }
847
+ .charcoal-text-field-container:not([aria-disabled='true']):focus-within {
848
+ outline: none;
849
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
850
+ }
991
851
 
992
- .charcoal-dropdown-selector-button[aria-invalid='true'],
993
- .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
852
+ .charcoal-text-field-container:not([aria-disabled='true'])[data-invalid='true']:focus-within {
994
853
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
995
854
  }
996
855
 
997
- .charcoal-ui-dropdown-selector-text {
998
- text-align: left;
999
- font-size: 14px;
1000
- line-height: 22px;
1001
- display: flow-root;
1002
- color: var(--charcoal-color-text-default);
856
+ .charcoal-text-field-prefix {
857
+ display: flex;
858
+ align-items: center;
859
+ margin-right: 4px;
860
+ }
861
+
862
+ .charcoal-text-field-suffix {
863
+ display: flex;
864
+ align-items: center;
865
+ gap: 8px;
866
+ margin-left: 4px;
867
+ }
868
+
869
+ .charcoal-text-field-input-root {
870
+ flex: 1;
871
+ min-width: 0;
1003
872
  overflow: hidden;
1004
- text-overflow: ellipsis;
1005
- white-space: nowrap;
1006
873
  }
1007
874
 
1008
- .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
875
+ .charcoal-text-field-input {
876
+ border: none;
877
+ box-sizing: border-box;
878
+ outline: none;
879
+ font-family: inherit;
880
+
881
+ /* Prevent zooming for iOS Safari */
882
+ transform-origin: top left;
883
+ transform: scale(0.875);
884
+ width: calc(100% / 0.875);
885
+ height: calc(100% / 0.875);
886
+ font-size: calc(14px / 0.875);
887
+ line-height: calc(22px / 0.875);
888
+ padding-left: 0;
889
+ padding-right: 0;
890
+ border-radius: calc(4px / 0.875);
891
+
892
+ /* Display box-shadow for iOS Safari */
893
+ -webkit-appearance: none;
894
+ -moz-appearance: none;
895
+ appearance: none;
896
+ background: transparent;
897
+
898
+ color: var(--charcoal-color-text-secondary-default);
899
+ }
900
+
901
+ .charcoal-text-field-input::-moz-placeholder {
1009
902
  color: var(--charcoal-color-text-placeholder-default);
1010
903
  }
1011
904
 
1012
- .charcoal-ui-dropdown-selector-icon {
1013
- color: var(--charcoal-color-icon-secondary-default);
905
+ .charcoal-text-field-input::placeholder {
906
+ color: var(--charcoal-color-text-placeholder-default);
907
+ }
908
+
909
+ .charcoal-text-field-line-counter {
910
+ line-height: 22px;
911
+ font-size: 14px;
912
+ color: var(--charcoal-color-text-tertiary-default);
1014
913
  }
1015
914
  .charcoal-dropdown-selector-menu-item {
1016
915
  font-size: 14px;
@@ -1052,42 +951,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1052
951
  .charcoal-dropdown-selector-menu-fullwidth {
1053
952
  width: 100%;
1054
953
  }
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;
1090
- }
1091
954
  .charcoal-menu-item-group {
1092
955
  display: block;
1093
956
  }
@@ -1107,6 +970,90 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1107
970
  list-style: none;
1108
971
  overflow: hidden;
1109
972
  }
973
+ .charcoal-dropdown-selector-root {
974
+ display: grid;
975
+ grid-template-columns: 1fr;
976
+ grid-gap: 4px;
977
+ width: 100%;
978
+ }
979
+
980
+ .charcoal-dropdown-selector-root[aria-disabled='true'] {
981
+ cursor: default;
982
+ opacity: 0.32;
983
+ }
984
+
985
+ .charcoal-dropdown-selector-button {
986
+ display: grid;
987
+ grid-template-columns: 1fr auto;
988
+ justify-content: space-between;
989
+ align-items: center;
990
+
991
+ height: 40px;
992
+ width: 100%;
993
+ box-sizing: border-box;
994
+ border: none;
995
+ cursor: pointer;
996
+ gap: 4px;
997
+
998
+ padding-right: 8px;
999
+ padding-left: 8px;
1000
+ background-color: var(--charcoal-color-container-secondary-default-a);
1001
+ border-radius: 4px;
1002
+
1003
+ transition:
1004
+ 0.2s box-shadow,
1005
+ 0.2s background-color;
1006
+ }
1007
+
1008
+ .charcoal-dropdown-selector-button:disabled {
1009
+ cursor: default;
1010
+ }
1011
+
1012
+ .charcoal-dropdown-selector-button:not(:disabled):focus {
1013
+ outline: none;
1014
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1015
+ }
1016
+
1017
+ .charcoal-dropdown-selector-button:not(:disabled):focus-visible {
1018
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1019
+ }
1020
+
1021
+ .charcoal-dropdown-selector-button:not(:disabled)[data-active='true'],
1022
+ .charcoal-dropdown-selector-button:not(:disabled):active {
1023
+ background-color: var(--charcoal-color-container-secondary-press-a);
1024
+ }
1025
+
1026
+ .charcoal-dropdown-selector-button:not(:disabled):hover {
1027
+ background-color: var(--charcoal-color-container-secondary-hover-a);
1028
+ }
1029
+
1030
+ .charcoal-dropdown-selector-button:not(:disabled):focus:not(:focus-visible) {
1031
+ box-shadow: none;
1032
+ }
1033
+
1034
+ .charcoal-dropdown-selector-button[aria-invalid='true'],
1035
+ .charcoal-dropdown-selector-button:not(:disabled)[aria-invalid='true']:focus:not(:focus-visible) {
1036
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1037
+ }
1038
+
1039
+ .charcoal-ui-dropdown-selector-text {
1040
+ text-align: left;
1041
+ font-size: 14px;
1042
+ line-height: 22px;
1043
+ display: flow-root;
1044
+ color: var(--charcoal-color-text-default);
1045
+ overflow: hidden;
1046
+ text-overflow: ellipsis;
1047
+ white-space: nowrap;
1048
+ }
1049
+
1050
+ .charcoal-ui-dropdown-selector-text[data-placeholder='true'] {
1051
+ color: var(--charcoal-color-text-placeholder-default);
1052
+ }
1053
+
1054
+ .charcoal-ui-dropdown-selector-icon {
1055
+ color: var(--charcoal-color-icon-secondary-default);
1056
+ }
1110
1057
  .charcoal-segmented-control {
1111
1058
  display: inline-flex;
1112
1059
  align-items: center;
@@ -1178,6 +1125,52 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1178
1125
  white-space: nowrap;
1179
1126
  opacity: 0;
1180
1127
  }
1128
+ .charcoal-checkbox__label {
1129
+ position: relative;
1130
+ cursor: pointer;
1131
+ display: flex;
1132
+ gap: 4px;
1133
+ }
1134
+
1135
+ .charcoal-checkbox__label[aria-disabled='true'] {
1136
+ cursor: default;
1137
+ opacity: 0.32;
1138
+ }
1139
+
1140
+ .charcoal-checkbox__label[aria-disabled='true'] > input {
1141
+ opacity: 1;
1142
+ }
1143
+
1144
+ .charcoal-checkbox__label_div {
1145
+ flex: 1;
1146
+ color: var(--charcoal-color-text-default);
1147
+ font-size: 14px;
1148
+ line-height: 20px;
1149
+ }
1150
+ .charcoal-text-ellipsis {
1151
+ /* Runtime variables overridden by the React component. */
1152
+ --charcoal-text-ellipsis-line-limit: 1;
1153
+ --charcoal-text-ellipsis-line-height: inherit;
1154
+
1155
+ overflow: hidden;
1156
+ overflow-wrap: break-word;
1157
+ display: -webkit-box;
1158
+ -webkit-box-orient: vertical;
1159
+ -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1160
+ }
1161
+
1162
+ .charcoal-text-ellipsis[data-has-line-height='true'] {
1163
+ line-height: var(--charcoal-text-ellipsis-line-height);
1164
+ }
1165
+
1166
+ .charcoal-text-ellipsis[data-has-line-height='false'] {
1167
+ line-height: inherit;
1168
+ }
1169
+
1170
+ .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1171
+ text-overflow: ellipsis;
1172
+ white-space: nowrap;
1173
+ }
1181
1174
  .charcoal-tag-item {
1182
1175
  --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1183
1176
  --charcoal-tag-item-size: 40px;
@@ -1377,7 +1370,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1377
1370
  * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1378
1371
  * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1379
1372
  */
1380
- /* stylelint-disable-next-line property-no-vendor-prefix */
1381
1373
  -webkit-transform: translateZ(0);
1382
1374
 
1383
1375
  color: var(--charcoal-color-text-tertiary-default);
@@ -1448,6 +1440,42 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1448
1440
  .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1449
1441
  opacity: 1;
1450
1442
  }
1443
+ .charcoal-hint-text {
1444
+ background-color: var(--charcoal-color-container-secondary-default);
1445
+ border-radius: 8px;
1446
+ padding: 12px 16px;
1447
+ display: flex;
1448
+ align-items: flex-start;
1449
+ }
1450
+
1451
+ .charcoal-hint-text[data-context='page'] {
1452
+ justify-content: center;
1453
+ }
1454
+
1455
+ @media (min-width: 744px) {
1456
+
1457
+ .charcoal-hint-text[data-context='page'] {
1458
+ padding: 20px 40px
1459
+ }
1460
+ }
1461
+
1462
+ .charcoal-hint-text-icon {
1463
+ display: flex;
1464
+ align-items: center;
1465
+ color: var(--charcoal-color-icon-tertiary-default);
1466
+ height: 22px;
1467
+ margin: 0 4px 0 0;
1468
+ }
1469
+
1470
+ .charcoal-hint-text-message {
1471
+ color: var(--charcoal-color-text-secondary-default);
1472
+ font-size: 14px;
1473
+ line-height: 22px;
1474
+ display: flow-root;
1475
+ margin: 0;
1476
+ min-width: 0;
1477
+ overflow-wrap: break-word;
1478
+ }
1451
1479
  .charcoal-carousel {
1452
1480
  --charcoal-carousel-gap: 0px;
1453
1481
 
@@ -1704,9 +1732,9 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1704
1732
 
1705
1733
  /* ── CSS Scroll Markers (progressive enhancement) ── */
1706
1734
 
1707
- /* CSS Scroll Markers / Anchor Positioning は新しい仕様で、stylelint がプロパティ・
1708
- 擬似要素・擬似クラスを未知と判定するため、この @supports ブロックでは該当ルールを無効化する。 */
1709
- /* stylelint-disable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1735
+ /* CSS Scroll Markers / Anchor Positioning の擬似要素・擬似クラスは新しい仕様のため、
1736
+ この @supports ブロックでは該当ルールを無効化する。 */
1737
+ /* stylelint-disable selector-pseudo-class-no-unknown */
1710
1738
  @supports (scroll-marker-group: after) {
1711
1739
  .charcoal-carousel[data-indicator='true'] {
1712
1740
  padding-bottom: 40px;
@@ -1766,7 +1794,7 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1766
1794
  display: none;
1767
1795
  }
1768
1796
  }
1769
- /* stylelint-enable property-no-unknown, selector-pseudo-element-no-unknown, selector-pseudo-class-no-unknown */
1797
+ /* stylelint-enable selector-pseudo-class-no-unknown */
1770
1798
  .charcoal-notification-region {
1771
1799
  position: fixed;
1772
1800
  left: 0;
@@ -1814,50 +1842,57 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1814
1842
  animation: none;
1815
1843
  }
1816
1844
  }
1817
- .charcoal-toast-region {
1818
- --charcoal-toast-offset: 16px;
1845
+ .charcoal-snackbar-region {
1846
+ --charcoal-snackbar-offset: 16px;
1819
1847
  }
1820
1848
 
1821
- .charcoal-toast-region[data-position='top'] {
1822
- --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1849
+ .charcoal-snackbar-region[data-position='top'] {
1850
+ --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1823
1851
 
1824
1852
  top: calc(
1825
- env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1853
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1826
1854
  );
1827
1855
  }
1828
1856
 
1829
- .charcoal-toast-region[data-position='bottom'] {
1830
- --charcoal-toast-enter-offset: var(--charcoal-space-30);
1857
+ .charcoal-snackbar-region[data-position='bottom'] {
1858
+ --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1831
1859
 
1832
1860
  bottom: calc(
1833
- env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1861
+ env(safe-area-inset-bottom, 0px) +
1862
+ max(var(--charcoal-snackbar-offset), 16px)
1834
1863
  );
1835
1864
  }
1836
1865
 
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;
1866
+ .charcoal-snackbar {
1867
+ min-height: 44px;
1868
+ padding: var(--charcoal-space-25) var(--charcoal-space-40);
1869
+ background-color: var(--charcoal-color-container-default);
1870
+ color: var(--charcoal-color-text-default);
1871
+ border: var(--charcoal-border-width-m) solid
1872
+ var(--charcoal-color-border-secondary);
1873
+ animation: charcoal-snackbar-enter 0.3s ease-out both;
1843
1874
  }
1844
1875
 
1845
- .charcoal-toast[data-exiting='true'] {
1846
- animation: charcoal-toast-exit 0.3s ease-out both;
1876
+ .charcoal-snackbar[data-exiting='true'] {
1877
+ animation: charcoal-snackbar-exit 0.3s ease-out both;
1847
1878
  }
1848
1879
 
1849
- .charcoal-toast[data-type='success'] {
1850
- background-color: var(--charcoal-color-container-positive-default);
1880
+ .charcoal-snackbar[data-with-action='true'] {
1881
+ min-height: 56px;
1882
+ padding: var(--charcoal-space-25) var(--charcoal-space-30)
1883
+ var(--charcoal-space-25) var(--charcoal-space-40);
1851
1884
  }
1852
1885
 
1853
- .charcoal-toast[data-type='error'] {
1854
- background-color: var(--charcoal-color-container-negative-default);
1886
+ .charcoal-snackbar[data-dim='true'] {
1887
+ background-color: var(--charcoal-color-container-hud-default);
1888
+ color: var(--charcoal-color-text-on-hud-default);
1889
+ border-color: var(--charcoal-color-border-hud);
1855
1890
  }
1856
1891
 
1857
- @keyframes charcoal-toast-enter {
1892
+ @keyframes charcoal-snackbar-enter {
1858
1893
  from {
1859
1894
  opacity: 0;
1860
- transform: translateY(var(--charcoal-toast-enter-offset));
1895
+ transform: translateY(var(--charcoal-snackbar-enter-offset));
1861
1896
  }
1862
1897
 
1863
1898
  to {
@@ -1866,7 +1901,7 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1866
1901
  }
1867
1902
  }
1868
1903
 
1869
- @keyframes charcoal-toast-exit {
1904
+ @keyframes charcoal-snackbar-exit {
1870
1905
  from {
1871
1906
  opacity: 1;
1872
1907
  }
@@ -1875,86 +1910,50 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1875
1910
  opacity: 0;
1876
1911
  }
1877
1912
  }
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;
1913
+ .charcoal-toast-region {
1914
+ --charcoal-toast-offset: 16px;
1915
+ }
1882
1916
 
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);
1888
- }
1889
-
1890
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1891
- line-height: var(--charcoal-text-ellipsis-line-height);
1892
- }
1893
-
1894
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1895
- line-height: inherit;
1896
- }
1897
-
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
- }
1910
-
1911
- .charcoal-snackbar-region[data-position='top'] {
1912
- --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1917
+ .charcoal-toast-region[data-position='top'] {
1918
+ --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1913
1919
 
1914
1920
  top: calc(
1915
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1921
+ env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1916
1922
  );
1917
1923
  }
1918
1924
 
1919
- .charcoal-snackbar-region[data-position='bottom'] {
1920
- --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1925
+ .charcoal-toast-region[data-position='bottom'] {
1926
+ --charcoal-toast-enter-offset: var(--charcoal-space-30);
1921
1927
 
1922
1928
  bottom: calc(
1923
- env(safe-area-inset-bottom, 0px) +
1924
- max(var(--charcoal-snackbar-offset), 16px)
1929
+ env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1925
1930
  );
1926
1931
  }
1927
1932
 
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;
1933
+ .charcoal-toast {
1934
+ min-height: 40px;
1935
+ padding: var(--charcoal-space-20) var(--charcoal-space-40);
1936
+ color: var(--charcoal-color-text-on-positive-default);
1937
+ border: var(--charcoal-border-width-m) solid var(--charcoal-color-border-hud);
1938
+ animation: charcoal-toast-enter 0.3s ease-out both;
1936
1939
  }
1937
1940
 
1938
- .charcoal-snackbar[data-exiting='true'] {
1939
- animation: charcoal-snackbar-exit 0.3s ease-out both;
1941
+ .charcoal-toast[data-exiting='true'] {
1942
+ animation: charcoal-toast-exit 0.3s ease-out both;
1940
1943
  }
1941
1944
 
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);
1945
+ .charcoal-toast[data-type='success'] {
1946
+ background-color: var(--charcoal-color-container-positive-default);
1946
1947
  }
1947
1948
 
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);
1949
+ .charcoal-toast[data-type='error'] {
1950
+ background-color: var(--charcoal-color-container-negative-default);
1952
1951
  }
1953
1952
 
1954
- @keyframes charcoal-snackbar-enter {
1953
+ @keyframes charcoal-toast-enter {
1955
1954
  from {
1956
1955
  opacity: 0;
1957
- transform: translateY(var(--charcoal-snackbar-enter-offset));
1956
+ transform: translateY(var(--charcoal-toast-enter-offset));
1958
1957
  }
1959
1958
 
1960
1959
  to {
@@ -1963,7 +1962,7 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1963
1962
  }
1964
1963
  }
1965
1964
 
1966
- @keyframes charcoal-snackbar-exit {
1965
+ @keyframes charcoal-toast-exit {
1967
1966
  from {
1968
1967
  opacity: 1;
1969
1968
  }
@@ -1982,90 +1981,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1982
1981
  .charcoal-text-field-assistive-text[data-invalid='true'] {
1983
1982
  color: var(--charcoal-color-text-negative-default);
1984
1983
  }
1985
- .charcoal-switch-input {
1986
- cursor: pointer;
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
- }
2069
1984
  .charcoal-radio-input {
2070
1985
  -webkit-appearance: none;
2071
1986
  -moz-appearance: none;
@@ -2154,67 +2069,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2154
2069
  .charcoal-radio-input:checked:not(:disabled):active::after {
2155
2070
  background-color: var(--charcoal-color-icon-on-primary-press);
2156
2071
  }
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
- }
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
- }
2218
2072
  .charcoal-modal-dialog {
2219
2073
  margin: auto;
2220
2074
  position: relative;
@@ -2260,6 +2114,131 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2260
2114
  .charcoal-modal-dialog:focus {
2261
2115
  outline: none;
2262
2116
  }
2117
+ .charcoal-switch-input {
2118
+ cursor: pointer;
2119
+ -webkit-appearance: none;
2120
+ -moz-appearance: none;
2121
+ appearance: none;
2122
+ display: inline-flex;
2123
+ position: relative;
2124
+ box-sizing: border-box;
2125
+ width: 28px;
2126
+ border: 2px solid transparent;
2127
+
2128
+ transition-property: background-color, box-shadow;
2129
+ transition-duration: 0.2s;
2130
+
2131
+ outline: none;
2132
+ border-radius: 16px;
2133
+ height: 16px;
2134
+ margin: 0;
2135
+ background-color: var(--charcoal-color-container-neutral-default);
2136
+ }
2137
+
2138
+ .charcoal-switch-input:disabled,
2139
+ .charcoal-switch-input[readonly] {
2140
+ opacity: 0.32;
2141
+ cursor: default;
2142
+ }
2143
+
2144
+ .charcoal-switch-input::after {
2145
+ content: '';
2146
+ position: absolute;
2147
+ display: block;
2148
+ top: 0;
2149
+ left: 0;
2150
+ width: 12px;
2151
+ height: 12px;
2152
+ transform: translateX(0);
2153
+ transition: transform 0.2s;
2154
+ border-radius: 1024px;
2155
+ background-color: var(--charcoal-color-icon-on-primary-default);
2156
+ }
2157
+
2158
+ .charcoal-switch-input:checked::after {
2159
+ transform: translateX(12px);
2160
+ transition: transform 0.2s;
2161
+ }
2162
+
2163
+ .charcoal-switch-input:checked {
2164
+ background-color: var(--charcoal-color-container-primary-default);
2165
+ }
2166
+
2167
+ .charcoal-switch-input:not(:disabled):hover {
2168
+ background-color: var(--charcoal-color-container-neutral-hover);
2169
+ }
2170
+
2171
+ .charcoal-switch-input:not(:disabled):active {
2172
+ background-color: var(--charcoal-color-container-neutral-press);
2173
+ }
2174
+
2175
+ .charcoal-switch-input:not(:disabled):focus {
2176
+ outline: none;
2177
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2178
+ }
2179
+ .charcoal-switch-input:not(:disabled):focus-visible {
2180
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2181
+ }
2182
+ .charcoal-switch-input:not(:disabled):focus:not(:focus-visible) {
2183
+ box-shadow: none;
2184
+ }
2185
+
2186
+ .charcoal-switch-input:not(:disabled)::after:hover {
2187
+ background-color: var(--charcoal-color-icon-on-primary-hover);
2188
+ }
2189
+
2190
+ .charcoal-switch-input:not(:disabled)::after:active {
2191
+ background-color: var(--charcoal-color-icon-on-primary-press);
2192
+ }
2193
+
2194
+ .charcoal-switch-input:not(:disabled):checked:hover {
2195
+ background-color: var(--charcoal-color-container-primary-hover);
2196
+ }
2197
+
2198
+ .charcoal-switch-input:not(:disabled):checked:active {
2199
+ background-color: var(--charcoal-color-container-primary-press);
2200
+ }
2201
+ .charcoal-field-label {
2202
+ font-size: 14px;
2203
+ line-height: 22px;
2204
+ font-weight: bold;
2205
+ display: flow-root;
2206
+ color: var(--charcoal-color-text-default-text1);
2207
+ }
2208
+
2209
+ .charcoal-field-label-required-text {
2210
+ font-size: 14px;
2211
+ line-height: 22px;
2212
+ display: flow-root;
2213
+ color: var(--charcoal-color-text-secondary-default);
2214
+ }
2215
+
2216
+ .charcoal-field-label-sub-label {
2217
+ font-size: 14px;
2218
+ line-height: 22px;
2219
+ display: flow-root;
2220
+ color: var(--charcoal-color-text-tertiary-default);
2221
+ transition:
2222
+ 0.2s color,
2223
+ 0.2s box-shadow;
2224
+ }
2225
+
2226
+ .charcoal-field-label-root {
2227
+ display: inline-flex;
2228
+ align-items: center;
2229
+ }
2230
+
2231
+ .charcoal-field-label-root > .charcoal-field-label-required-text {
2232
+ margin-left: 4px;
2233
+ }
2234
+
2235
+ .charcoal-field-label-root > .charcoal-field-label-sub-label {
2236
+ margin-left: auto;
2237
+ }
2238
+ .charcoal-menu-list {
2239
+ padding: 0;
2240
+ margin: 0;
2241
+ }
2263
2242
  .charcoal-checkbox-input {
2264
2243
  -webkit-appearance: none;
2265
2244
  -moz-appearance: none;
@@ -2374,9 +2353,29 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2374
2353
  border: 2px solid #fff;
2375
2354
  box-sizing: border-box;
2376
2355
  }
2377
- .charcoal-menu-list {
2378
- padding: 0;
2379
- margin: 0;
2356
+ .charcoal-list-item {
2357
+ list-style: none;
2358
+ display: flex;
2359
+ align-items: center;
2360
+ min-height: 40px;
2361
+ cursor: pointer;
2362
+ outline: none;
2363
+
2364
+ padding-right: 16px;
2365
+ padding-left: 16px;
2366
+
2367
+ transition: background-color 0.2s;
2368
+ }
2369
+
2370
+ .charcoal-list-item:not([aria-disabled='true']):hover,
2371
+ .charcoal-list-item:not([aria-disabled='true']):focus,
2372
+ .charcoal-list-item:not([aria-disabled='true']):focus-within {
2373
+ background-color: var(--charcoal-color-container-secondary-default);
2374
+ }
2375
+
2376
+ .charcoal-list-item[aria-disabled='true'] {
2377
+ opacity: 0.32;
2378
+ cursor: default;
2380
2379
  }
2381
2380
  .charcoal-popover {
2382
2381
  margin: 4px 0;