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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  2. package/dist/components/DropdownSelector/Popover/index2.cjs +32 -1
  3. package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -1
  4. package/dist/components/DropdownSelector/Popover/index2.js +32 -1
  5. package/dist/components/DropdownSelector/Popover/index2.js.map +1 -1
  6. package/dist/components/Notification/NotificationRegion.cjs +3 -2
  7. package/dist/components/Notification/NotificationRegion.cjs.map +1 -1
  8. package/dist/components/Notification/NotificationRegion.d.ts.map +1 -1
  9. package/dist/components/Notification/NotificationRegion.js +3 -2
  10. package/dist/components/Notification/NotificationRegion.js.map +1 -1
  11. package/dist/components/Notification/types.d.ts +5 -0
  12. package/dist/components/Notification/types.d.ts.map +1 -1
  13. package/dist/components/TextField/index.d.ts +0 -2
  14. package/dist/components/TextField/index.d.ts.map +1 -1
  15. package/dist/components/TextField/index2.cjs.map +1 -1
  16. package/dist/components/TextField/index2.js.map +1 -1
  17. package/dist/index.css +587 -592
  18. package/dist/layered.css +587 -592
  19. package/dist/layered.css.map +1 -1
  20. package/package.json +3 -3
  21. package/src/components/DropdownSelector/Popover/index.tsx +60 -2
  22. package/src/components/DropdownSelector/index.browser.test.tsx +78 -3
  23. package/src/components/DropdownSelector/index.story.tsx +37 -0
  24. package/src/components/Notification/NotificationRegion.browser.test.tsx +120 -0
  25. package/src/components/Notification/NotificationRegion.tsx +3 -2
  26. package/src/components/Notification/Snackbar/__snapshots__/index.css.snap +3 -6
  27. package/src/components/Notification/Snackbar/index.css +5 -6
  28. package/src/components/Notification/Snackbar/index.story.tsx +0 -1
  29. package/src/components/Notification/Toast/__snapshots__/index.css.snap +3 -5
  30. package/src/components/Notification/Toast/index.css +5 -5
  31. package/src/components/Notification/Toast/index.story.tsx +0 -1
  32. package/src/components/Notification/types.ts +5 -0
  33. package/src/components/TextField/index.tsx +0 -1
package/dist/layered.css CHANGED
@@ -156,49 +156,6 @@
156
156
  .charcoal-button[data-full-width='true'] {
157
157
  width: 100%;
158
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
159
  .charcoal-icon-button {
203
160
  cursor: pointer;
204
161
  -webkit-appearance: none;
@@ -323,6 +280,54 @@
323
280
  .charcoal-icon-button[aria-disabled='false']:focus:not(:focus-visible) {
324
281
  box-shadow: none;
325
282
  }
283
+ .charcoal-clickable {
284
+ cursor: pointer;
285
+
286
+ /* Reset button appearance */
287
+ -webkit-appearance: none;
288
+ -moz-appearance: none;
289
+ appearance: none;
290
+ background: transparent;
291
+ padding: 0;
292
+ border-style: none;
293
+ outline: none;
294
+ color: inherit;
295
+ text-rendering: inherit;
296
+ letter-spacing: inherit;
297
+ word-spacing: inherit;
298
+ text-decoration: none;
299
+
300
+ /* Change the font styles in all browsers. */
301
+ font: inherit;
302
+
303
+ /* Remove the margin in Firefox and Safari. */
304
+ margin: 0;
305
+
306
+ /* Show the overflow in Edge. */
307
+ overflow: visible;
308
+
309
+ /* Remove the inheritance of text transform in Firefox. */
310
+ text-transform: none;
311
+ }
312
+
313
+ .charcoal-clickable:disabled,
314
+ .charcoal-clickable[aria-disabled]:not([aria-disabled='false']) {
315
+ cursor: default;
316
+ }
317
+
318
+ .charcoal-clickable:focus {
319
+ outline: none;
320
+ }
321
+
322
+ .charcoal-clickable::-moz-focus-inner {
323
+ border-style: none;
324
+ padding: 0;
325
+ }
326
+ .charcoal-radio-group {
327
+ display: grid;
328
+ grid-template-columns: 1fr;
329
+ grid-gap: 8px;
330
+ }
326
331
  .charcoal-radio__label {
327
332
  display: grid;
328
333
  grid-template-columns: auto 1fr;
@@ -341,10 +346,28 @@
341
346
  line-height: 22px;
342
347
  color: var(--charcoal-color-text-default);
343
348
  }
344
- .charcoal-radio-group {
345
- display: grid;
346
- grid-template-columns: 1fr;
347
- grid-gap: 8px;
349
+ .charcoal-switch__label {
350
+ display: inline-grid;
351
+ grid-template-columns: auto 1fr;
352
+ align-items: center;
353
+ cursor: pointer;
354
+ outline: 0;
355
+ gap: 4px;
356
+ }
357
+
358
+ .charcoal-switch__label[aria-disabled='true'] {
359
+ opacity: 0.32;
360
+ cursor: default;
361
+ }
362
+
363
+ .charcoal-switch__label[aria-disabled='true'] > input {
364
+ opacity: 1;
365
+ }
366
+
367
+ .charcoal-switch__label_div {
368
+ font-size: 14px;
369
+ line-height: 22px;
370
+ color: var(--charcoal-color-text-default);
348
371
  }
349
372
  .charcoal-multi-select {
350
373
  display: grid;
@@ -481,28 +504,75 @@
481
504
  border-width: 2px;
482
505
  border-style: solid;
483
506
  }
484
- .charcoal-switch__label {
485
- display: inline-grid;
486
- grid-template-columns: auto 1fr;
487
- align-items: center;
488
- cursor: pointer;
489
- outline: 0;
490
- gap: 4px;
507
+ .charcoal-modal-background {
508
+ overflow: auto;
509
+ display: flex;
510
+ position: fixed;
511
+ top: 0;
512
+ left: 0;
513
+ width: 100%;
514
+ height: 100%;
515
+ justify-content: center;
516
+ padding: 40px 0;
517
+ box-sizing: border-box;
518
+
519
+ background-color: var(--charcoal-color-background-overlay);
491
520
  }
492
521
 
493
- .charcoal-switch__label[aria-disabled='true'] {
494
- opacity: 0.32;
495
- cursor: default;
522
+ @media (max-width: 743px) {
523
+ .charcoal-modal-background[data-bottom-sheet='true'],
524
+ .charcoal-modal-background[data-bottom-sheet='full'] {
525
+ padding: 0;
526
+ }
496
527
  }
497
528
 
498
- .charcoal-switch__label[aria-disabled='true'] > input {
499
- opacity: 1;
500
- }
529
+ /* easeOutQuart。duration useTransitionPresence の MODAL_TRANSITION_DURATION_MS と一致させること。
530
+ transition は entering / exiting に限定し、開いたままテーマ切り替え等で
531
+ 色や transform が変わってもアニメーションしないようにする */
532
+ .charcoal-modal-background[data-animation] {
533
+ overflow: hidden;
534
+ }
501
535
 
502
- .charcoal-switch__label_div {
503
- font-size: 14px;
504
- line-height: 22px;
505
- color: var(--charcoal-color-text-default);
536
+ .charcoal-modal-background[data-animation='entering'],
537
+ .charcoal-modal-background[data-animation='exiting'] {
538
+ transition: background-color 400ms cubic-bezier(0.25, 1, 0.5, 1);
539
+ }
540
+
541
+ /* 閉じアニメーション中はクリックを下のページへ通す(transitionend が来ない環境で
542
+ 透明なオーバーレイがタップを奪い続けるのも防ぐ) */
543
+ .charcoal-modal-background[data-animation='exited'],
544
+ .charcoal-modal-background[data-animation='exiting'] {
545
+ background-color: transparent;
546
+ pointer-events: none;
547
+ }
548
+
549
+ .charcoal-modal-background[data-animation='entered'] {
550
+ overflow: auto;
551
+ }
552
+
553
+ .charcoal-modal-background[data-animation='entering'] > .charcoal-modal-dialog,
554
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
555
+ transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
556
+ }
557
+
558
+ .charcoal-modal-background[data-animation='exited'] > .charcoal-modal-dialog,
559
+ .charcoal-modal-background[data-animation='exiting'] > .charcoal-modal-dialog {
560
+ transform: translateY(100%);
561
+ }
562
+
563
+ .charcoal-modal-close-button {
564
+ position: absolute;
565
+ top: 8px;
566
+ right: 8px;
567
+
568
+ color: var(--charcoal-color-text-tertiary-default);
569
+ transition: 0.2s color;
570
+ }
571
+
572
+ .charcoal-modal-title {
573
+ margin: 0;
574
+ font-weight: inherit;
575
+ font-size: inherit;
506
576
  }
507
577
  .charcoal-text-field-root {
508
578
  display: grid;
@@ -603,6 +673,49 @@
603
673
  font-size: 14px;
604
674
  color: var(--charcoal-color-text-tertiary-default);
605
675
  }
676
+ .charcoal-icon {
677
+ display: inline-flex;
678
+ width: var(--charcoal-icon-size);
679
+ height: var(--charcoal-icon-size);
680
+ }
681
+
682
+ pixiv-icon:not(:defined) {
683
+ --pixiv-icon-base: 24px;
684
+ --pixiv-icon-scale: 1;
685
+ --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
686
+
687
+ display: inline-flex;
688
+ /* --charcoal-icon-size がセットされていればそれを優先、
689
+ なければ name / scale から導出した --pixiv-icon-size をフォールバック */
690
+ width: var(--charcoal-icon-size, var(--pixiv-icon-size));
691
+ height: var(--charcoal-icon-size, var(--pixiv-icon-size));
692
+ }
693
+
694
+ pixiv-icon:not(:defined)[name^='16/'] {
695
+ --pixiv-icon-base: 16px;
696
+ --pixiv-icon-size: 16px;
697
+ }
698
+
699
+ pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
700
+ --pixiv-icon-scale: 2;
701
+ }
702
+
703
+ pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
704
+ --pixiv-icon-scale: 3;
705
+ }
706
+
707
+ pixiv-icon:not(:defined)[name^='32/'] {
708
+ --pixiv-icon-base: 32px;
709
+ --pixiv-icon-size: 32px;
710
+ }
711
+
712
+ pixiv-icon:not(:defined)[name^='Inline/'] {
713
+ --pixiv-icon-base: 16px;
714
+ }
715
+
716
+ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
717
+ --pixiv-icon-scale: 2;
718
+ }
606
719
  .charcoal-text-area-root {
607
720
  display: grid;
608
721
  grid-template-columns: 1fr;
@@ -715,124 +828,11 @@
715
828
  font-size: 14px;
716
829
  color: var(--charcoal-color-text-tertiary-default);
717
830
  }
718
- .charcoal-icon {
719
- display: inline-flex;
720
- width: var(--charcoal-icon-size);
721
- height: var(--charcoal-icon-size);
722
- }
723
-
724
- pixiv-icon:not(:defined) {
725
- --pixiv-icon-base: 24px;
726
- --pixiv-icon-scale: 1;
727
- --pixiv-icon-size: calc(var(--pixiv-icon-base) * var(--pixiv-icon-scale));
728
-
729
- display: inline-flex;
730
- /* --charcoal-icon-size がセットされていればそれを優先、
731
- なければ name / scale から導出した --pixiv-icon-size をフォールバック */
732
- width: var(--charcoal-icon-size, var(--pixiv-icon-size));
733
- height: var(--charcoal-icon-size, var(--pixiv-icon-size));
734
- }
735
-
736
- pixiv-icon:not(:defined)[name^='16/'] {
737
- --pixiv-icon-base: 16px;
738
- --pixiv-icon-size: 16px;
739
- }
740
-
741
- pixiv-icon:not(:defined)[name^='24/'][scale='2'] {
742
- --pixiv-icon-scale: 2;
743
- }
744
-
745
- pixiv-icon:not(:defined)[name^='24/'][scale='3'] {
746
- --pixiv-icon-scale: 3;
747
- }
748
-
749
- pixiv-icon:not(:defined)[name^='32/'] {
750
- --pixiv-icon-base: 32px;
751
- --pixiv-icon-size: 32px;
752
- }
753
-
754
- pixiv-icon:not(:defined)[name^='Inline/'] {
755
- --pixiv-icon-base: 16px;
756
- }
757
-
758
- pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
759
- --pixiv-icon-scale: 2;
760
- }
761
- .charcoal-modal-background {
762
- overflow: auto;
763
- display: flex;
764
- position: fixed;
765
- top: 0;
766
- left: 0;
767
- width: 100%;
768
- height: 100%;
769
- justify-content: center;
770
- padding: 40px 0;
771
- box-sizing: border-box;
772
-
773
- background-color: var(--charcoal-color-background-overlay);
774
- }
775
-
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
- }
781
- }
782
-
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-modal-header-root {
832
- height: 64px;
833
- display: grid;
834
- align-content: center;
835
- justify-content: center;
831
+ .charcoal-modal-header-root {
832
+ height: 64px;
833
+ display: grid;
834
+ align-content: center;
835
+ justify-content: center;
836
836
  }
837
837
 
838
838
  @media (max-width: 743px) {
@@ -868,6 +868,77 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
868
868
  padding-left: 16px;
869
869
  padding-right: 16px;
870
870
  }
871
+ .charcoal-segmented-control {
872
+ display: inline-flex;
873
+ align-items: center;
874
+
875
+ background-color: var(--charcoal-color-container-secondary-default-a);
876
+ border-radius: 16px;
877
+ }
878
+
879
+ .charcoal-segmented-control[data-uniform-segment-width='true'],
880
+ .charcoal-segmented-control[data-full-width='true'] {
881
+ display: inline-grid;
882
+ grid-auto-columns: minmax(80px, 1fr);
883
+ grid-auto-rows: 32px;
884
+ grid-auto-flow: column;
885
+ }
886
+
887
+ .charcoal-segmented-control[data-full-width='true'] {
888
+ width: 100%;
889
+ }
890
+
891
+ .charcoal-segmented-control-radio__label {
892
+ position: relative;
893
+ display: flex;
894
+ align-items: center;
895
+ justify-content: center;
896
+ cursor: pointer;
897
+ height: 32px;
898
+
899
+ padding-right: 16px;
900
+ padding-left: 16px;
901
+ border-radius: 16px;
902
+ color: var(--charcoal-color-text-secondary-default);
903
+
904
+ font-size: 14px;
905
+ line-height: 22px;
906
+ }
907
+
908
+ .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
909
+ cursor: default;
910
+ opacity: 0.32;
911
+ }
912
+
913
+ .charcoal-segmented-control-radio__label[data-checked='true'] {
914
+ background-color: var(--charcoal-color-container-primary-default);
915
+ color: var(--charcoal-color-text-on-primary-default);
916
+ }
917
+
918
+ .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
919
+ .charcoal-segmented-control-radio__label[data-full-width='true'] {
920
+ justify-content: center;
921
+ white-space: nowrap;
922
+ }
923
+
924
+ .charcoal-segmented-control-radio__input {
925
+ position: absolute;
926
+
927
+ height: 0px;
928
+ width: 0px;
929
+ padding: 0;
930
+ margin: 0;
931
+
932
+ -webkit-appearance: none;
933
+
934
+ -moz-appearance: none;
935
+
936
+ appearance: none;
937
+ box-sizing: border-box;
938
+ overflow: hidden;
939
+ white-space: nowrap;
940
+ opacity: 0;
941
+ }
871
942
  .charcoal-loading-spinner {
872
943
  box-sizing: content-box;
873
944
  margin: auto;
@@ -1035,77 +1106,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1035
1106
  .charcoal-dropdown-selector-menu-fullwidth {
1036
1107
  width: 100%;
1037
1108
  }
1038
- .charcoal-segmented-control {
1039
- display: inline-flex;
1040
- align-items: center;
1041
-
1042
- background-color: var(--charcoal-color-container-secondary-default-a);
1043
- border-radius: 16px;
1044
- }
1045
-
1046
- .charcoal-segmented-control[data-uniform-segment-width='true'],
1047
- .charcoal-segmented-control[data-full-width='true'] {
1048
- display: inline-grid;
1049
- grid-auto-columns: minmax(80px, 1fr);
1050
- grid-auto-rows: 32px;
1051
- grid-auto-flow: column;
1052
- }
1053
-
1054
- .charcoal-segmented-control[data-full-width='true'] {
1055
- width: 100%;
1056
- }
1057
-
1058
- .charcoal-segmented-control-radio__label {
1059
- position: relative;
1060
- display: flex;
1061
- align-items: center;
1062
- justify-content: center;
1063
- cursor: pointer;
1064
- height: 32px;
1065
-
1066
- padding-right: 16px;
1067
- padding-left: 16px;
1068
- border-radius: 16px;
1069
- color: var(--charcoal-color-text-secondary-default);
1070
-
1071
- font-size: 14px;
1072
- line-height: 22px;
1073
- }
1074
-
1075
- .charcoal-segmented-control-radio__label[aria-disabled]:not([aria-disabled='false']) {
1076
- cursor: default;
1077
- opacity: 0.32;
1078
- }
1079
-
1080
- .charcoal-segmented-control-radio__label[data-checked='true'] {
1081
- background-color: var(--charcoal-color-container-primary-default);
1082
- color: var(--charcoal-color-text-on-primary-default);
1083
- }
1084
-
1085
- .charcoal-segmented-control-radio__label[data-uniform-segment-width='true'],
1086
- .charcoal-segmented-control-radio__label[data-full-width='true'] {
1087
- justify-content: center;
1088
- white-space: nowrap;
1089
- }
1090
-
1091
- .charcoal-segmented-control-radio__input {
1092
- position: absolute;
1093
-
1094
- height: 0px;
1095
- width: 0px;
1096
- padding: 0;
1097
- margin: 0;
1098
-
1099
- -webkit-appearance: none;
1100
-
1101
- -moz-appearance: none;
1102
-
1103
- appearance: none;
1104
- box-sizing: border-box;
1105
- overflow: hidden;
1106
- white-space: nowrap;
1107
- opacity: 0;
1108
- }
1109
1109
  .charcoal-menu-item-group {
1110
1110
  display: block;
1111
1111
  }
@@ -1125,12 +1125,58 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1125
1125
  list-style: none;
1126
1126
  overflow: hidden;
1127
1127
  }
1128
- .charcoal-tag-item {
1129
- --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1130
- --charcoal-tag-item-size: 40px;
1131
- --charcoal-tag-item-padding-left: 24px;
1132
- --charcoal-tag-item-padding-right: 24px;
1133
- --charcoal-tag-item-bg: ;
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
+ }
1174
+ .charcoal-tag-item {
1175
+ --charcoal-tag-item-color: var(--charcoal-color-text-on-primary-default);
1176
+ --charcoal-tag-item-size: 40px;
1177
+ --charcoal-tag-item-padding-left: 24px;
1178
+ --charcoal-tag-item-padding-right: 24px;
1179
+ --charcoal-tag-item-bg: ;
1134
1180
 
1135
1181
  isolation: isolate;
1136
1182
  position: relative;
@@ -1279,64 +1325,121 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1279
1325
  .charcoal-tag-item__labe__text[data-has-translate='true']::after {
1280
1326
  display: none;
1281
1327
  }
1282
- .charcoal-hint-text {
1283
- background-color: var(--charcoal-color-container-secondary-default);
1284
- border-radius: 8px;
1285
- padding: 12px 16px;
1328
+ .charcoal-pagination {
1286
1329
  display: flex;
1287
- align-items: flex-start;
1330
+ justify-content: center;
1331
+ align-items: center;
1288
1332
  }
1289
1333
 
1290
- .charcoal-hint-text[data-context='page'] {
1291
- justify-content: center;
1334
+ .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1335
+ min-width: 32px;
1336
+ min-height: 32px;
1292
1337
  }
1293
1338
 
1294
- @media (min-width: 744px) {
1295
-
1296
- .charcoal-hint-text[data-context='page'] {
1297
- padding: 20px 40px
1339
+ .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1340
+ min-width: 40px;
1341
+ min-height: 40px;
1298
1342
  }
1299
- }
1300
1343
 
1301
- .charcoal-hint-text-icon {
1344
+ /* stylelint-disable no-descending-specificity */
1345
+ .charcoal-pagination-button {
1346
+ cursor: pointer;
1347
+ -webkit-appearance: none;
1348
+ -moz-appearance: none;
1349
+ appearance: none;
1350
+ padding: 0;
1351
+ border-style: none;
1352
+ outline: none;
1353
+ text-decoration: none;
1354
+ font-family: inherit;
1355
+ font-style: inherit;
1356
+ font-variant: inherit;
1357
+ margin: 0;
1358
+ -webkit-user-select: none;
1359
+ -moz-user-select: none;
1360
+ user-select: none;
1361
+
1302
1362
  display: flex;
1303
1363
  align-items: center;
1304
- color: var(--charcoal-color-icon-tertiary-default);
1305
- height: 22px;
1306
- margin: 0 4px 0 0;
1307
- }
1308
-
1309
- .charcoal-hint-text-message {
1310
- color: var(--charcoal-color-text-secondary-default);
1364
+ justify-content: center;
1311
1365
  font-size: 14px;
1366
+ font-weight: 700;
1312
1367
  line-height: 22px;
1313
- display: flow-root;
1314
- margin: 0;
1315
- min-width: 0;
1316
- overflow-wrap: break-word;
1317
- }
1318
- .charcoal-checkbox__label {
1319
- position: relative;
1320
- cursor: pointer;
1321
- display: flex;
1322
- gap: 4px;
1323
- }
1324
1368
 
1325
- .charcoal-checkbox__label[aria-disabled='true'] {
1369
+ /* HACK:
1370
+ * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1371
+ * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1372
+ */
1373
+ -webkit-transform: translateZ(0);
1374
+
1375
+ color: var(--charcoal-color-text-tertiary-default);
1376
+ background-color: transparent;
1377
+ border-radius: 20px;
1378
+ transition:
1379
+ 0.2s background-color,
1380
+ 0.2s box-shadow;
1381
+ }
1382
+ .charcoal-pagination-button:focus {
1383
+ outline: none;
1384
+ }
1385
+ .charcoal-pagination-button::-moz-focus-inner {
1386
+ border-style: none;
1387
+ padding: 0;
1388
+ }
1389
+ .charcoal-pagination-button[hidden] {
1390
+ visibility: hidden;
1391
+ display: block;
1392
+ }
1393
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1394
+ .charcoal-pagination-button[aria-disabled='false']:hover {
1395
+ color: var(--charcoal-color-text-tertiary-default);
1396
+ background-color: var(--charcoal-color-container-secondary-default);
1397
+ }
1398
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1399
+ .charcoal-pagination-button[aria-disabled='false']:active {
1400
+ color: var(--charcoal-color-text-tertiary-press);
1401
+ background-color: var(--charcoal-color-container-tertiary-press);
1402
+ }
1403
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1404
+ .charcoal-pagination-button[aria-disabled='false']:focus {
1405
+ outline: none;
1406
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1407
+ }
1408
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1409
+ .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1410
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1411
+ }
1412
+ .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1413
+ .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1414
+ box-shadow: none;
1415
+ }
1416
+ .charcoal-pagination-button[aria-current] {
1326
1417
  cursor: default;
1327
- opacity: 0.32;
1418
+ background-color: var(--charcoal-color-container-hud-default);
1419
+ color: var(--charcoal-color-text-on-hud-default);
1328
1420
  }
1329
-
1330
- .charcoal-checkbox__label[aria-disabled='true'] > input {
1331
- opacity: 1;
1421
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1422
+ .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1423
+ background-color: var(--charcoal-color-container-hud-default);
1424
+ color: var(--charcoal-color-text-on-hud-default);
1332
1425
  }
1426
+ /* stylelint-enable no-descending-specificity */
1333
1427
 
1334
- .charcoal-checkbox__label_div {
1335
- flex: 1;
1336
- color: var(--charcoal-color-text-default);
1337
- font-size: 14px;
1338
- line-height: 20px;
1428
+ .charcoal-pagination-nav-button[data-hidden] {
1429
+ visibility: hidden;
1339
1430
  }
1431
+
1432
+ .charcoal-pagination-spacer,
1433
+ .charcoal-pagination-spacer:hover,
1434
+ .charcoal-pagination-spacer:active {
1435
+ cursor: default;
1436
+ color: var(--charcoal-color-text-tertiary-default);
1437
+ background: none;
1438
+ }
1439
+
1440
+ .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1441
+ opacity: 1;
1442
+ }
1340
1443
  .charcoal-carousel {
1341
1444
  --charcoal-carousel-gap: 0px;
1342
1445
 
@@ -1656,6 +1759,42 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1656
1759
  }
1657
1760
  }
1658
1761
  /* stylelint-enable selector-pseudo-class-no-unknown */
1762
+ .charcoal-hint-text {
1763
+ background-color: var(--charcoal-color-container-secondary-default);
1764
+ border-radius: 8px;
1765
+ padding: 12px 16px;
1766
+ display: flex;
1767
+ align-items: flex-start;
1768
+ }
1769
+
1770
+ .charcoal-hint-text[data-context='page'] {
1771
+ justify-content: center;
1772
+ }
1773
+
1774
+ @media (min-width: 744px) {
1775
+
1776
+ .charcoal-hint-text[data-context='page'] {
1777
+ padding: 20px 40px
1778
+ }
1779
+ }
1780
+
1781
+ .charcoal-hint-text-icon {
1782
+ display: flex;
1783
+ align-items: center;
1784
+ color: var(--charcoal-color-icon-tertiary-default);
1785
+ height: 22px;
1786
+ margin: 0 4px 0 0;
1787
+ }
1788
+
1789
+ .charcoal-hint-text-message {
1790
+ color: var(--charcoal-color-text-secondary-default);
1791
+ font-size: 14px;
1792
+ line-height: 22px;
1793
+ display: flow-root;
1794
+ margin: 0;
1795
+ min-width: 0;
1796
+ overflow-wrap: break-word;
1797
+ }
1659
1798
  .charcoal-notification-region {
1660
1799
  left: 0;
1661
1800
  right: 0;
@@ -1707,26 +1846,23 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1707
1846
  animation: none;
1708
1847
  }
1709
1848
  }
1710
- .charcoal-snackbar-region {
1849
+ .charcoal-notification-region {
1711
1850
  --charcoal-snackbar-offset: 16px;
1712
1851
  }
1713
1852
 
1714
- .charcoal-snackbar-region[data-position='top'] {
1853
+ .charcoal-snackbar-region[data-position='top'] {
1715
1854
  --charcoal-snackbar-enter-offset: calc(-1 * var(--charcoal-space-30));
1716
1855
 
1717
1856
  position: sticky;
1718
- top: calc(
1719
- env(safe-area-inset-top, 0px) + max(var(--charcoal-snackbar-offset), 16px)
1720
- );
1857
+ top: calc(env(safe-area-inset-top, 0px) + var(--charcoal-snackbar-offset));
1721
1858
  }
1722
1859
 
1723
- .charcoal-snackbar-region[data-position='bottom'] {
1860
+ .charcoal-snackbar-region[data-position='bottom'] {
1724
1861
  --charcoal-snackbar-enter-offset: var(--charcoal-space-30);
1725
1862
 
1726
1863
  position: fixed;
1727
1864
  bottom: calc(
1728
- env(safe-area-inset-bottom, 0px) +
1729
- max(var(--charcoal-snackbar-offset), 16px)
1865
+ env(safe-area-inset-bottom, 0px) + var(--charcoal-snackbar-offset)
1730
1866
  );
1731
1867
  }
1732
1868
 
@@ -1777,25 +1913,23 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1777
1913
  opacity: 0;
1778
1914
  }
1779
1915
  }
1780
- .charcoal-toast-region {
1916
+ .charcoal-notification-region {
1781
1917
  --charcoal-toast-offset: 16px;
1782
1918
  }
1783
1919
 
1784
- .charcoal-toast-region[data-position='top'] {
1920
+ .charcoal-toast-region[data-position='top'] {
1785
1921
  position: sticky;
1786
1922
  --charcoal-toast-enter-offset: calc(-1 * var(--charcoal-space-30));
1787
1923
 
1788
- top: calc(
1789
- env(safe-area-inset-top, 0px) + max(var(--charcoal-toast-offset), 16px)
1790
- );
1924
+ top: calc(env(safe-area-inset-top, 0px) + var(--charcoal-toast-offset));
1791
1925
  }
1792
1926
 
1793
- .charcoal-toast-region[data-position='bottom'] {
1927
+ .charcoal-toast-region[data-position='bottom'] {
1794
1928
  position: fixed;
1795
1929
  --charcoal-toast-enter-offset: var(--charcoal-space-30);
1796
1930
 
1797
1931
  bottom: calc(
1798
- env(safe-area-inset-bottom, 0px) + max(var(--charcoal-toast-offset), 16px)
1932
+ env(safe-area-inset-bottom, 0px) + var(--charcoal-toast-offset)
1799
1933
  );
1800
1934
  }
1801
1935
 
@@ -1840,281 +1974,17 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
1840
1974
  opacity: 0;
1841
1975
  }
1842
1976
  }
1843
- .charcoal-pagination {
1844
- display: flex;
1845
- justify-content: center;
1846
- align-items: center;
1977
+ .charcoal-text-field-assistive-text {
1978
+ font-size: 14px;
1979
+ line-height: 22px;
1980
+ margin: 0;
1981
+ color: var(--charcoal-color-text-secondary-default);
1847
1982
  }
1848
1983
 
1849
- .charcoal-pagination[data-size='S'] .charcoal-pagination-button {
1850
- min-width: 32px;
1851
- min-height: 32px;
1852
- }
1853
-
1854
- .charcoal-pagination[data-size='M'] .charcoal-pagination-button {
1855
- min-width: 40px;
1856
- min-height: 40px;
1857
- }
1858
-
1859
- /* stylelint-disable no-descending-specificity */
1860
- .charcoal-pagination-button {
1861
- cursor: pointer;
1862
- -webkit-appearance: none;
1863
- -moz-appearance: none;
1864
- appearance: none;
1865
- padding: 0;
1866
- border-style: none;
1867
- outline: none;
1868
- text-decoration: none;
1869
- font-family: inherit;
1870
- font-style: inherit;
1871
- font-variant: inherit;
1872
- margin: 0;
1873
- -webkit-user-select: none;
1874
- -moz-user-select: none;
1875
- user-select: none;
1876
-
1877
- display: flex;
1878
- align-items: center;
1879
- justify-content: center;
1880
- font-size: 14px;
1881
- font-weight: 700;
1882
- line-height: 22px;
1883
-
1884
- /* HACK:
1885
- * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.
1886
- * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.
1887
- */
1888
- -webkit-transform: translateZ(0);
1889
-
1890
- color: var(--charcoal-color-text-tertiary-default);
1891
- background-color: transparent;
1892
- border-radius: 20px;
1893
- transition:
1894
- 0.2s background-color,
1895
- 0.2s box-shadow;
1896
- }
1897
- .charcoal-pagination-button:focus {
1898
- outline: none;
1899
- }
1900
- .charcoal-pagination-button::-moz-focus-inner {
1901
- border-style: none;
1902
- padding: 0;
1903
- }
1904
- .charcoal-pagination-button[hidden] {
1905
- visibility: hidden;
1906
- display: block;
1907
- }
1908
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):hover,
1909
- .charcoal-pagination-button[aria-disabled='false']:hover {
1910
- color: var(--charcoal-color-text-tertiary-default);
1911
- background-color: var(--charcoal-color-container-secondary-default);
1912
- }
1913
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):active,
1914
- .charcoal-pagination-button[aria-disabled='false']:active {
1915
- color: var(--charcoal-color-text-tertiary-press);
1916
- background-color: var(--charcoal-color-container-tertiary-press);
1917
- }
1918
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus,
1919
- .charcoal-pagination-button[aria-disabled='false']:focus {
1920
- outline: none;
1921
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1922
- }
1923
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus-visible,
1924
- .charcoal-pagination-button[aria-disabled='false']:focus-visible {
1925
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1926
- }
1927
- .charcoal-pagination-button:not(:disabled):not([aria-disabled]):focus:not(:focus-visible),
1928
- .charcoal-pagination-button[aria-disabled='false']:focus:not(:focus-visible) {
1929
- box-shadow: none;
1930
- }
1931
- .charcoal-pagination-button[aria-current] {
1932
- cursor: default;
1933
- background-color: var(--charcoal-color-container-hud-default);
1934
- color: var(--charcoal-color-text-on-hud-default);
1935
- }
1936
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):hover,
1937
- .charcoal-pagination-button[aria-current]:not(:disabled):not([aria-disabled]):active {
1938
- background-color: var(--charcoal-color-container-hud-default);
1939
- color: var(--charcoal-color-text-on-hud-default);
1940
- }
1941
- /* stylelint-enable no-descending-specificity */
1942
-
1943
- .charcoal-pagination-nav-button[data-hidden] {
1944
- visibility: hidden;
1945
- }
1946
-
1947
- .charcoal-pagination-spacer,
1948
- .charcoal-pagination-spacer:hover,
1949
- .charcoal-pagination-spacer:active {
1950
- cursor: default;
1951
- color: var(--charcoal-color-text-tertiary-default);
1952
- background: none;
1953
- }
1954
-
1955
- .charcoal-pagination-spacer.charcoal-icon-button:disabled {
1956
- opacity: 1;
1957
- }
1958
- .charcoal-text-ellipsis {
1959
- /* Runtime variables overridden by the React component. */
1960
- --charcoal-text-ellipsis-line-limit: 1;
1961
- --charcoal-text-ellipsis-line-height: inherit;
1962
-
1963
- overflow: hidden;
1964
- overflow-wrap: break-word;
1965
- display: -webkit-box;
1966
- -webkit-box-orient: vertical;
1967
- -webkit-line-clamp: var(--charcoal-text-ellipsis-line-limit);
1968
- }
1969
-
1970
- .charcoal-text-ellipsis[data-has-line-height='true'] {
1971
- line-height: var(--charcoal-text-ellipsis-line-height);
1972
- }
1973
-
1974
- .charcoal-text-ellipsis[data-has-line-height='false'] {
1975
- line-height: inherit;
1976
- }
1977
-
1978
- .charcoal-text-ellipsis[data-line-limit='1'][data-use-nowrap='true'] {
1979
- text-overflow: ellipsis;
1980
- white-space: nowrap;
1981
- }
1982
- .charcoal-text-field-assistive-text {
1983
- font-size: 14px;
1984
- line-height: 22px;
1985
- margin: 0;
1986
- color: var(--charcoal-color-text-secondary-default);
1987
- }
1988
-
1989
- .charcoal-text-field-assistive-text[data-invalid='true'] {
1990
- color: var(--charcoal-color-text-negative-default);
1991
- }
1992
- .charcoal-radio-input {
1993
- -webkit-appearance: none;
1994
- -moz-appearance: none;
1995
- appearance: none;
1996
- display: block;
1997
- box-sizing: border-box;
1998
-
1999
- margin: 0;
2000
- padding: 6px;
2001
-
2002
- width: 20px;
2003
- height: 20px;
2004
- cursor: pointer;
2005
- border-radius: 999999px;
2006
- background-color: var(--charcoal-color-container-default);
2007
- transition:
2008
- 0.2s background-color,
2009
- 0.2s box-shadow;
2010
- }
2011
-
2012
- .charcoal-radio-input:checked {
2013
- background-color: var(--charcoal-color-container-primary-default);
2014
- }
2015
-
2016
- .charcoal-radio-input:checked::after {
2017
- content: '';
2018
- display: block;
2019
- width: 8px;
2020
- height: 8px;
2021
- pointer-events: none;
2022
- background-color: var(--charcoal-color-icon-on-primary-default);
2023
- border-radius: 999999px;
2024
- transition:
2025
- 0.2s background-color,
2026
- 0.2s box-shadow;
2027
- }
2028
-
2029
- .charcoal-radio-input:not(:checked) {
2030
- border-width: 2px;
2031
- border-style: solid;
2032
- border-color: var(--charcoal-color-border-default);
2033
- }
2034
-
2035
- .charcoal-radio-input:disabled {
2036
- cursor: default;
2037
- }
2038
-
2039
- .charcoal-radio-input:not(:disabled):hover {
2040
- background-color: var(--charcoal-color-container-hover);
2041
- }
2042
-
2043
- .charcoal-radio-input:not(:disabled):active {
2044
- background-color: var(--charcoal-color-container-press);
2045
- }
2046
-
2047
- .charcoal-radio-input:not(:disabled):focus {
2048
- outline: none;
2049
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2050
- }
2051
-
2052
- .charcoal-radio-input:not(:disabled):focus-visible {
2053
- box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2054
- }
2055
-
2056
- .charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {
2057
- box-shadow: none;
2058
- }
2059
-
2060
- .charcoal-radio-input:not(:disabled)[aria-invalid='true'],
2061
- .charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {
2062
- box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2063
- }
2064
-
2065
- .charcoal-radio-input:checked:not(:disabled):hover {
2066
- background-color: var(--charcoal-color-container-primary-hover);
2067
- }
2068
-
2069
- .charcoal-radio-input:checked:not(:disabled):hover::after {
2070
- background-color: var(--charcoal-color-icon-on-primary-hover);
2071
- }
2072
-
2073
- .charcoal-radio-input:checked:not(:disabled):active {
2074
- background-color: var(--charcoal-color-container-primary-press);
2075
- }
2076
-
2077
- .charcoal-radio-input:checked:not(:disabled):active::after {
2078
- background-color: var(--charcoal-color-icon-on-primary-press);
2079
- }
2080
- .charcoal-field-label {
2081
- font-size: 14px;
2082
- line-height: 22px;
2083
- font-weight: bold;
2084
- display: flow-root;
2085
- color: var(--charcoal-color-text-default-text1);
2086
- }
2087
-
2088
- .charcoal-field-label-required-text {
2089
- font-size: 14px;
2090
- line-height: 22px;
2091
- display: flow-root;
2092
- color: var(--charcoal-color-text-secondary-default);
2093
- }
2094
-
2095
- .charcoal-field-label-sub-label {
2096
- font-size: 14px;
2097
- line-height: 22px;
2098
- display: flow-root;
2099
- color: var(--charcoal-color-text-tertiary-default);
2100
- transition:
2101
- 0.2s color,
2102
- 0.2s box-shadow;
2103
- }
2104
-
2105
- .charcoal-field-label-root {
2106
- display: inline-flex;
2107
- align-items: center;
2108
- }
2109
-
2110
- .charcoal-field-label-root > .charcoal-field-label-required-text {
2111
- margin-left: 4px;
2112
- }
2113
-
2114
- .charcoal-field-label-root > .charcoal-field-label-sub-label {
2115
- margin-left: auto;
2116
- }
2117
- .charcoal-switch-input {
1984
+ .charcoal-text-field-assistive-text[data-invalid='true'] {
1985
+ color: var(--charcoal-color-text-negative-default);
1986
+ }
1987
+ .charcoal-switch-input {
2118
1988
  cursor: pointer;
2119
1989
  -webkit-appearance: none;
2120
1990
  -moz-appearance: none;
@@ -2198,6 +2068,43 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2198
2068
  .charcoal-switch-input:not(:disabled):checked:active {
2199
2069
  background-color: var(--charcoal-color-container-primary-press);
2200
2070
  }
2071
+ .charcoal-field-label {
2072
+ font-size: 14px;
2073
+ line-height: 22px;
2074
+ font-weight: bold;
2075
+ display: flow-root;
2076
+ color: var(--charcoal-color-text-default-text1);
2077
+ }
2078
+
2079
+ .charcoal-field-label-required-text {
2080
+ font-size: 14px;
2081
+ line-height: 22px;
2082
+ display: flow-root;
2083
+ color: var(--charcoal-color-text-secondary-default);
2084
+ }
2085
+
2086
+ .charcoal-field-label-sub-label {
2087
+ font-size: 14px;
2088
+ line-height: 22px;
2089
+ display: flow-root;
2090
+ color: var(--charcoal-color-text-tertiary-default);
2091
+ transition:
2092
+ 0.2s color,
2093
+ 0.2s box-shadow;
2094
+ }
2095
+
2096
+ .charcoal-field-label-root {
2097
+ display: inline-flex;
2098
+ align-items: center;
2099
+ }
2100
+
2101
+ .charcoal-field-label-root > .charcoal-field-label-required-text {
2102
+ margin-left: 4px;
2103
+ }
2104
+
2105
+ .charcoal-field-label-root > .charcoal-field-label-sub-label {
2106
+ margin-left: auto;
2107
+ }
2201
2108
  .charcoal-modal-dialog {
2202
2109
  margin: auto;
2203
2110
  position: relative;
@@ -2243,6 +2150,98 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2243
2150
  .charcoal-modal-dialog:focus {
2244
2151
  outline: none;
2245
2152
  }
2153
+ .charcoal-radio-input {
2154
+ -webkit-appearance: none;
2155
+ -moz-appearance: none;
2156
+ appearance: none;
2157
+ display: block;
2158
+ box-sizing: border-box;
2159
+
2160
+ margin: 0;
2161
+ padding: 6px;
2162
+
2163
+ width: 20px;
2164
+ height: 20px;
2165
+ cursor: pointer;
2166
+ border-radius: 999999px;
2167
+ background-color: var(--charcoal-color-container-default);
2168
+ transition:
2169
+ 0.2s background-color,
2170
+ 0.2s box-shadow;
2171
+ }
2172
+
2173
+ .charcoal-radio-input:checked {
2174
+ background-color: var(--charcoal-color-container-primary-default);
2175
+ }
2176
+
2177
+ .charcoal-radio-input:checked::after {
2178
+ content: '';
2179
+ display: block;
2180
+ width: 8px;
2181
+ height: 8px;
2182
+ pointer-events: none;
2183
+ background-color: var(--charcoal-color-icon-on-primary-default);
2184
+ border-radius: 999999px;
2185
+ transition:
2186
+ 0.2s background-color,
2187
+ 0.2s box-shadow;
2188
+ }
2189
+
2190
+ .charcoal-radio-input:not(:checked) {
2191
+ border-width: 2px;
2192
+ border-style: solid;
2193
+ border-color: var(--charcoal-color-border-default);
2194
+ }
2195
+
2196
+ .charcoal-radio-input:disabled {
2197
+ cursor: default;
2198
+ }
2199
+
2200
+ .charcoal-radio-input:not(:disabled):hover {
2201
+ background-color: var(--charcoal-color-container-hover);
2202
+ }
2203
+
2204
+ .charcoal-radio-input:not(:disabled):active {
2205
+ background-color: var(--charcoal-color-container-press);
2206
+ }
2207
+
2208
+ .charcoal-radio-input:not(:disabled):focus {
2209
+ outline: none;
2210
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2211
+ }
2212
+
2213
+ .charcoal-radio-input:not(:disabled):focus-visible {
2214
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2215
+ }
2216
+
2217
+ .charcoal-radio-input:not(:disabled):focus:not(:focus-visible) {
2218
+ box-shadow: none;
2219
+ }
2220
+
2221
+ .charcoal-radio-input:not(:disabled)[aria-invalid='true'],
2222
+ .charcoal-radio-input:not(:disabled)[aria-invalid='true']:focus {
2223
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2224
+ }
2225
+
2226
+ .charcoal-radio-input:checked:not(:disabled):hover {
2227
+ background-color: var(--charcoal-color-container-primary-hover);
2228
+ }
2229
+
2230
+ .charcoal-radio-input:checked:not(:disabled):hover::after {
2231
+ background-color: var(--charcoal-color-icon-on-primary-hover);
2232
+ }
2233
+
2234
+ .charcoal-radio-input:checked:not(:disabled):active {
2235
+ background-color: var(--charcoal-color-container-primary-press);
2236
+ }
2237
+
2238
+ .charcoal-radio-input:checked:not(:disabled):active::after {
2239
+ background-color: var(--charcoal-color-icon-on-primary-press);
2240
+ }
2241
+ .charcoal-menu-list {
2242
+ padding: 0;
2243
+ margin: 0;
2244
+ }
2246
2245
  .charcoal-list-item {
2247
2246
  list-style: none;
2248
2247
  display: flex;
@@ -2267,10 +2266,6 @@ pixiv-icon:not(:defined)[name^='Inline/'][scale='2'] {
2267
2266
  opacity: 0.32;
2268
2267
  cursor: default;
2269
2268
  }
2270
- .charcoal-menu-list {
2271
- padding: 0;
2272
- margin: 0;
2273
- }
2274
2269
  .charcoal-checkbox-input {
2275
2270
  -webkit-appearance: none;
2276
2271
  -moz-appearance: none;