@scalewing/react 0.6.0 → 0.7.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.
package/dist/styles.css CHANGED
@@ -700,6 +700,7 @@ body {
700
700
  .sw-dialog,
701
701
  .sw-accordion,
702
702
  .sw-select-list,
703
+ .sw-action-menu-list,
703
704
  .sw-toast {
704
705
  background: var(--sw-color-surface);
705
706
  backdrop-filter: none;
@@ -765,6 +766,247 @@ body {
765
766
  .sw-button-sm { min-height: 32px; padding-inline: 12px; }
766
767
  .sw-button-md { min-height: 44px; padding-inline: 16px; }
767
768
 
769
+ .sw-checkbox {
770
+ display: flex;
771
+ flex-direction: column;
772
+ gap: var(--sw-space-1);
773
+ max-width: 100%;
774
+ }
775
+
776
+ .sw-checkbox-label {
777
+ align-items: center;
778
+ cursor: pointer;
779
+ display: inline-flex;
780
+ gap: var(--sw-space-2);
781
+ max-width: 100%;
782
+ min-height: var(--sw-control-md-min-height);
783
+ width: max-content;
784
+ }
785
+
786
+ .sw-checkbox-control {
787
+ align-items: center;
788
+ display: inline-flex;
789
+ flex: 0 0 var(--sw-space-5);
790
+ height: var(--sw-space-5);
791
+ position: relative;
792
+ }
793
+
794
+ .sw-checkbox-input {
795
+ cursor: inherit;
796
+ height: 100%;
797
+ inset: 0;
798
+ margin: 0;
799
+ opacity: 0;
800
+ position: absolute;
801
+ width: 100%;
802
+ }
803
+
804
+ .sw-checkbox-mark {
805
+ background: var(--sw-glass-fill);
806
+ border: 1px solid var(--sw-color-border);
807
+ border-radius: var(--sw-radius-sm);
808
+ box-sizing: border-box;
809
+ height: var(--sw-space-5);
810
+ pointer-events: none;
811
+ position: relative;
812
+ width: var(--sw-space-5);
813
+ }
814
+
815
+ .sw-checkbox-mark::after {
816
+ border-bottom: 2px solid var(--sw-color-surface);
817
+ border-right: 2px solid var(--sw-color-surface);
818
+ content: '';
819
+ display: none;
820
+ height: var(--sw-space-2);
821
+ inset-block-start: var(--sw-space-1);
822
+ inset-inline-start: var(--sw-space-2);
823
+ position: absolute;
824
+ transform: rotate(45deg);
825
+ width: var(--sw-space-1);
826
+ }
827
+
828
+ .sw-checkbox-input:checked + .sw-checkbox-mark {
829
+ background: var(--sw-color-accent);
830
+ border-color: var(--sw-color-accent);
831
+ }
832
+
833
+ .sw-checkbox-input:checked + .sw-checkbox-mark::after { display: block; }
834
+
835
+ .sw-checkbox-input:focus-visible + .sw-checkbox-mark {
836
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
837
+ outline-offset: var(--sw-focus-ring-offset);
838
+ }
839
+
840
+ .sw-checkbox-input[aria-invalid='true'] + .sw-checkbox-mark {
841
+ border-color: var(--sw-color-danger);
842
+ }
843
+
844
+ .sw-checkbox-label:has(.sw-checkbox-input:disabled) {
845
+ cursor: not-allowed;
846
+ opacity: var(--sw-disabled-opacity);
847
+ }
848
+
849
+ .sw-checkbox-text {
850
+ color: var(--sw-color-text);
851
+ font-family: var(--sw-font-sans);
852
+ font-size: 15px;
853
+ font-weight: 600;
854
+ line-height: 20px;
855
+ min-width: 0;
856
+ }
857
+
858
+ .sw-checkbox-description,
859
+ .sw-checkbox-error {
860
+ font-family: var(--sw-font-sans);
861
+ font-size: 13px;
862
+ line-height: 18px;
863
+ }
864
+
865
+ .sw-checkbox-description { color: var(--sw-color-muted); }
866
+ .sw-checkbox-error { color: var(--sw-color-danger); }
867
+
868
+ @media (prefers-reduced-transparency: reduce) {
869
+ .sw-checkbox-mark { background: var(--sw-color-surface); }
870
+ .sw-checkbox-input:checked + .sw-checkbox-mark { background: var(--sw-color-accent); }
871
+ }
872
+
873
+ @media (forced-colors: active) {
874
+ .sw-checkbox-mark { background: Canvas; border-color: CanvasText; }
875
+ .sw-checkbox-input:checked + .sw-checkbox-mark { background: Highlight; border-color: Highlight; }
876
+ .sw-checkbox-input:checked + .sw-checkbox-mark::after { border-color: HighlightText; }
877
+ .sw-checkbox-input[aria-invalid='true'] + .sw-checkbox-mark { border-color: CanvasText; }
878
+ }
879
+
880
+ .sw-radio-group {
881
+ border: 0;
882
+ display: flex;
883
+ flex-direction: column;
884
+ gap: var(--sw-space-2);
885
+ margin: 0;
886
+ max-width: 100%;
887
+ min-width: 0;
888
+ padding: 0;
889
+ }
890
+
891
+ .sw-radio-group-legend {
892
+ color: var(--sw-color-text);
893
+ font-family: var(--sw-font-sans);
894
+ font-size: 15px;
895
+ font-weight: 600;
896
+ line-height: 20px;
897
+ padding: 0;
898
+ }
899
+
900
+ .sw-radio-group-options {
901
+ display: flex;
902
+ flex-direction: column;
903
+ gap: var(--sw-space-1);
904
+ min-width: 0;
905
+ }
906
+
907
+ .sw-radio-group-option {
908
+ align-items: center;
909
+ cursor: pointer;
910
+ display: inline-flex;
911
+ gap: var(--sw-space-2);
912
+ max-width: 100%;
913
+ min-height: var(--sw-control-md-min-height);
914
+ width: max-content;
915
+ }
916
+
917
+ .sw-radio-group-control {
918
+ align-items: center;
919
+ display: inline-flex;
920
+ flex: 0 0 var(--sw-space-5);
921
+ height: var(--sw-space-5);
922
+ position: relative;
923
+ }
924
+
925
+ .sw-radio-group-input {
926
+ cursor: inherit;
927
+ height: 100%;
928
+ inset: 0;
929
+ margin: 0;
930
+ opacity: 0;
931
+ position: absolute;
932
+ width: 100%;
933
+ }
934
+
935
+ .sw-radio-group-mark {
936
+ background: var(--sw-glass-fill);
937
+ border: 1px solid var(--sw-color-border);
938
+ border-radius: var(--sw-radius-pill);
939
+ box-sizing: border-box;
940
+ height: var(--sw-space-5);
941
+ pointer-events: none;
942
+ position: relative;
943
+ width: var(--sw-space-5);
944
+ }
945
+
946
+ .sw-radio-group-mark::after {
947
+ background: var(--sw-color-surface);
948
+ border-radius: var(--sw-radius-pill);
949
+ content: '';
950
+ display: none;
951
+ height: var(--sw-space-2);
952
+ inset-block-start: calc((var(--sw-space-5) - var(--sw-space-2)) / 2);
953
+ inset-inline-start: calc((var(--sw-space-5) - var(--sw-space-2)) / 2);
954
+ position: absolute;
955
+ width: var(--sw-space-2);
956
+ }
957
+
958
+ .sw-radio-group-input:checked + .sw-radio-group-mark {
959
+ background: var(--sw-color-accent);
960
+ border-color: var(--sw-color-accent);
961
+ }
962
+
963
+ .sw-radio-group-input:checked + .sw-radio-group-mark::after { display: block; }
964
+
965
+ .sw-radio-group-input:focus-visible + .sw-radio-group-mark {
966
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
967
+ outline-offset: var(--sw-focus-ring-offset);
968
+ }
969
+
970
+ .sw-radio-group:has(.sw-radio-group-error) .sw-radio-group-mark {
971
+ border-color: var(--sw-color-danger);
972
+ }
973
+
974
+ .sw-radio-group-option:has(.sw-radio-group-input:disabled) {
975
+ cursor: not-allowed;
976
+ opacity: var(--sw-disabled-opacity);
977
+ }
978
+
979
+ .sw-radio-group-text {
980
+ color: var(--sw-color-text);
981
+ font-family: var(--sw-font-sans);
982
+ font-size: 15px;
983
+ font-weight: 600;
984
+ line-height: 20px;
985
+ min-width: 0;
986
+ }
987
+
988
+ .sw-radio-group-description,
989
+ .sw-radio-group-error {
990
+ font-family: var(--sw-font-sans);
991
+ font-size: 13px;
992
+ line-height: 18px;
993
+ }
994
+
995
+ .sw-radio-group-description { color: var(--sw-color-muted); }
996
+ .sw-radio-group-error { color: var(--sw-color-danger); }
997
+
998
+ @media (prefers-reduced-transparency: reduce) {
999
+ .sw-radio-group-mark { background: var(--sw-color-surface); }
1000
+ .sw-radio-group-input:checked + .sw-radio-group-mark { background: var(--sw-color-accent); }
1001
+ }
1002
+
1003
+ @media (forced-colors: active) {
1004
+ .sw-radio-group-mark { background: Canvas; border-color: CanvasText; }
1005
+ .sw-radio-group-input:checked + .sw-radio-group-mark { background: Highlight; border-color: Highlight; }
1006
+ .sw-radio-group-input:checked + .sw-radio-group-mark::after { background: HighlightText; }
1007
+ .sw-radio-group:has(.sw-radio-group-error) .sw-radio-group-mark { border-color: CanvasText; }
1008
+ }
1009
+
768
1010
  .sw-badge {
769
1011
  align-items: center;
770
1012
  border: 1px solid transparent;
@@ -927,6 +1169,69 @@ body {
927
1169
  inset-inline-start: var(--sw-space-1);
928
1170
  }
929
1171
 
1172
+ .sw-date-field {
1173
+ display: flex;
1174
+ flex-direction: column;
1175
+ gap: var(--sw-space-1);
1176
+ max-width: 100%;
1177
+ min-width: 0;
1178
+ width: max-content;
1179
+ }
1180
+
1181
+ .sw-date-field-label {
1182
+ color: var(--sw-color-text);
1183
+ font-family: var(--sw-font-sans);
1184
+ font-size: 15px;
1185
+ font-weight: 600;
1186
+ line-height: 20px;
1187
+ }
1188
+
1189
+ .sw-date-field-input {
1190
+ background: var(--sw-glass-fill);
1191
+ border: 1px solid var(--sw-color-border);
1192
+ border-radius: var(--sw-radius-sm);
1193
+ box-sizing: border-box;
1194
+ color: var(--sw-color-text);
1195
+ font-family: var(--sw-font-sans);
1196
+ font-size: 17px;
1197
+ min-height: var(--sw-control-md-min-height);
1198
+ min-width: 0;
1199
+ padding-inline: var(--sw-control-md-padding-inline);
1200
+ width: 100%;
1201
+ }
1202
+
1203
+ .sw-date-field-input:focus-visible {
1204
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
1205
+ outline-offset: var(--sw-focus-ring-offset);
1206
+ }
1207
+
1208
+ .sw-date-field-input[aria-invalid='true'] {
1209
+ border-color: var(--sw-color-danger);
1210
+ }
1211
+
1212
+ .sw-date-field-input:disabled {
1213
+ cursor: not-allowed;
1214
+ opacity: var(--sw-disabled-opacity);
1215
+ }
1216
+
1217
+ .sw-date-field-description,
1218
+ .sw-date-field-error {
1219
+ font-family: var(--sw-font-sans);
1220
+ font-size: 13px;
1221
+ line-height: 18px;
1222
+ }
1223
+
1224
+ .sw-date-field-description { color: var(--sw-color-muted); }
1225
+ .sw-date-field-error { color: var(--sw-color-danger); }
1226
+
1227
+ @media (prefers-reduced-transparency: reduce) {
1228
+ .sw-date-field-input { background: var(--sw-color-surface); }
1229
+ }
1230
+
1231
+ @media (forced-colors: active) {
1232
+ .sw-date-field-input[aria-invalid='true'] { border-color: CanvasText; }
1233
+ }
1234
+
930
1235
  .sw-bar-chart {
931
1236
  display: grid;
932
1237
  gap: var(--sw-space-2);
@@ -1231,6 +1536,435 @@ body {
1231
1536
  margin-top: var(--sw-space-1);
1232
1537
  }
1233
1538
 
1539
+ .sw-action-menu {
1540
+ display: inline-flex;
1541
+ position: relative;
1542
+ }
1543
+
1544
+ .sw-action-menu-trigger {
1545
+ appearance: none;
1546
+ background: var(--sw-glass-fill);
1547
+ border: 1px solid var(--sw-color-border);
1548
+ border-radius: var(--sw-radius-sm);
1549
+ color: var(--sw-color-text);
1550
+ cursor: pointer;
1551
+ font: inherit;
1552
+ min-height: var(--sw-control-xs-min-height);
1553
+ padding-inline: var(--sw-control-xs-padding-inline);
1554
+ }
1555
+
1556
+ .sw-action-menu-trigger:focus-visible,
1557
+ .sw-action-menu-item:focus-visible {
1558
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
1559
+ outline-offset: var(--sw-focus-ring-offset);
1560
+ }
1561
+
1562
+ .sw-action-menu-trigger:disabled {
1563
+ cursor: not-allowed;
1564
+ opacity: 0.5;
1565
+ }
1566
+
1567
+ .sw-action-menu-list {
1568
+ background: var(--sw-glass-fill);
1569
+ border: 1px solid var(--sw-glass-border);
1570
+ border-radius: var(--sw-radius-sm);
1571
+ box-shadow: var(--sw-elevation-sm), inset 0 1px 0 var(--sw-glass-specular);
1572
+ backdrop-filter: blur(var(--sw-glass-blur)) saturate(var(--sw-glass-saturate));
1573
+ -webkit-backdrop-filter: blur(var(--sw-glass-blur)) saturate(var(--sw-glass-saturate));
1574
+ box-sizing: border-box;
1575
+ color: var(--sw-color-text);
1576
+ margin: 0;
1577
+ max-height: var(--sw-select-max);
1578
+ max-width: calc(100vw - var(--sw-space-2));
1579
+ min-width: max-content;
1580
+ overflow: auto;
1581
+ padding: var(--sw-space-1);
1582
+ position: fixed;
1583
+ z-index: 10;
1584
+ }
1585
+
1586
+ .sw-action-menu-list[hidden] {
1587
+ display: none;
1588
+ }
1589
+
1590
+ .sw-action-menu-item {
1591
+ align-items: center;
1592
+ appearance: none;
1593
+ background: transparent;
1594
+ border: 0;
1595
+ border-radius: var(--sw-radius-sm);
1596
+ color: inherit;
1597
+ cursor: pointer;
1598
+ display: flex;
1599
+ font-family: var(--sw-font-sans);
1600
+ font-size: 15px;
1601
+ gap: var(--sw-space-2);
1602
+ min-height: var(--sw-control-xs-min-height);
1603
+ padding-inline: var(--sw-control-xs-padding-inline);
1604
+ text-align: start;
1605
+ width: 100%;
1606
+ }
1607
+
1608
+ .sw-action-menu-item:hover,
1609
+ .sw-action-menu-item:focus-visible {
1610
+ background: color-mix(in srgb, var(--sw-color-muted) 16%, transparent);
1611
+ }
1612
+
1613
+ .sw-action-menu-item:disabled {
1614
+ cursor: not-allowed;
1615
+ opacity: 0.5;
1616
+ }
1617
+
1618
+ .sw-action-menu-item-danger {
1619
+ color: var(--sw-color-danger);
1620
+ }
1621
+
1622
+ .sw-switch {
1623
+ align-items: center;
1624
+ cursor: pointer;
1625
+ display: inline-flex;
1626
+ gap: var(--sw-space-2);
1627
+ min-height: var(--sw-control-md-min-height);
1628
+ }
1629
+
1630
+ .sw-switch-control {
1631
+ align-items: center;
1632
+ display: inline-flex;
1633
+ flex: 0 0 var(--sw-space-8);
1634
+ min-height: var(--sw-control-md-min-height);
1635
+ position: relative;
1636
+ }
1637
+
1638
+ .sw-switch-input {
1639
+ cursor: inherit;
1640
+ height: 100%;
1641
+ inset: 0;
1642
+ margin: 0;
1643
+ opacity: 0;
1644
+ position: absolute;
1645
+ width: 100%;
1646
+ }
1647
+
1648
+ .sw-switch-track {
1649
+ background: var(--sw-color-border);
1650
+ border: 1px solid var(--sw-color-border);
1651
+ border-radius: var(--sw-radius-pill);
1652
+ box-sizing: border-box;
1653
+ display: block;
1654
+ height: var(--sw-space-5);
1655
+ pointer-events: none;
1656
+ position: relative;
1657
+ width: var(--sw-space-8);
1658
+ }
1659
+
1660
+ .sw-switch-thumb {
1661
+ background: var(--sw-color-surface);
1662
+ border-radius: var(--sw-radius-pill);
1663
+ height: var(--sw-space-4);
1664
+ inset-block-start: var(--sw-space-1);
1665
+ inset-inline-start: var(--sw-space-1);
1666
+ position: absolute;
1667
+ transition: inset-inline-start var(--sw-motion-fast) var(--sw-motion-easing);
1668
+ width: var(--sw-space-4);
1669
+ }
1670
+
1671
+ .sw-switch-input:checked + .sw-switch-track {
1672
+ background: var(--sw-color-accent);
1673
+ border-color: var(--sw-color-accent);
1674
+ }
1675
+
1676
+ .sw-switch-input:checked + .sw-switch-track .sw-switch-thumb {
1677
+ inset-inline-start: calc(var(--sw-space-8) - var(--sw-space-4) - var(--sw-space-1));
1678
+ }
1679
+
1680
+ .sw-switch-input:focus-visible + .sw-switch-track {
1681
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
1682
+ outline-offset: var(--sw-focus-ring-offset);
1683
+ }
1684
+
1685
+ .sw-switch:has(.sw-switch-input:disabled) {
1686
+ cursor: not-allowed;
1687
+ opacity: var(--sw-disabled-opacity);
1688
+ }
1689
+
1690
+ .sw-switch-copy {
1691
+ display: flex;
1692
+ flex-direction: column;
1693
+ }
1694
+
1695
+ .sw-switch-label {
1696
+ color: var(--sw-color-text);
1697
+ font-family: var(--sw-font-sans);
1698
+ font-size: 15px;
1699
+ font-weight: 600;
1700
+ line-height: 20px;
1701
+ }
1702
+
1703
+ .sw-switch-description {
1704
+ color: var(--sw-color-muted);
1705
+ font-family: var(--sw-font-sans);
1706
+ font-size: 13px;
1707
+ line-height: 18px;
1708
+ }
1709
+
1710
+ @media (prefers-reduced-motion: reduce) {
1711
+ .sw-switch-thumb { transition: none; }
1712
+ }
1713
+
1714
+ @media (forced-colors: active) {
1715
+ .sw-switch-track { background: Canvas; border-color: CanvasText; }
1716
+ .sw-switch-thumb { background: CanvasText; }
1717
+ .sw-switch-input:checked + .sw-switch-track { background: Highlight; border-color: Highlight; }
1718
+ .sw-switch-input:checked + .sw-switch-track .sw-switch-thumb { background: HighlightText; }
1719
+ }
1720
+
1721
+ .sw-spinner {
1722
+ align-items: center;
1723
+ display: inline-flex;
1724
+ flex: none;
1725
+ justify-content: center;
1726
+ vertical-align: middle;
1727
+ }
1728
+
1729
+ .sw-spinner-sm { --sw-spinner-size: var(--sw-space-4); }
1730
+ .sw-spinner-md { --sw-spinner-size: var(--sw-space-6); }
1731
+ .sw-spinner-lg { --sw-spinner-size: var(--sw-space-8); }
1732
+
1733
+ .sw-spinner-icon {
1734
+ animation: sw-spinner-rotate var(--sw-motion-travel) var(--sw-motion-travel-easing) infinite;
1735
+ border: var(--sw-focus-ring-width) solid var(--sw-color-border);
1736
+ border-block-start-color: var(--sw-color-accent);
1737
+ border-radius: var(--sw-radius-pill);
1738
+ box-sizing: border-box;
1739
+ display: block;
1740
+ height: var(--sw-spinner-size);
1741
+ width: var(--sw-spinner-size);
1742
+ }
1743
+
1744
+ @keyframes sw-spinner-rotate {
1745
+ to { transform: rotate(360deg); }
1746
+ }
1747
+
1748
+ @media (prefers-reduced-motion: reduce) {
1749
+ .sw-spinner-icon { animation: none; }
1750
+ }
1751
+
1752
+ @media (forced-colors: active) {
1753
+ .sw-spinner-icon { border-color: CanvasText; border-block-start-color: Highlight; }
1754
+ }
1755
+
1756
+ .sw-progress {
1757
+ display: flex;
1758
+ flex-direction: column;
1759
+ gap: var(--sw-space-2);
1760
+ max-width: 100%;
1761
+ min-width: 0;
1762
+ width: 100%;
1763
+ }
1764
+
1765
+ .sw-progress-accent { --sw-progress-color: var(--sw-color-accent); }
1766
+ .sw-progress-success { --sw-progress-color: var(--sw-color-success); }
1767
+ .sw-progress-danger { --sw-progress-color: var(--sw-color-danger); }
1768
+
1769
+ .sw-progress-heading {
1770
+ align-items: baseline;
1771
+ display: flex;
1772
+ gap: var(--sw-space-2);
1773
+ justify-content: space-between;
1774
+ min-width: 0;
1775
+ }
1776
+
1777
+ .sw-progress-label {
1778
+ color: var(--sw-color-text);
1779
+ font-family: var(--sw-font-sans);
1780
+ font-size: 15px;
1781
+ font-weight: 600;
1782
+ line-height: 20px;
1783
+ min-width: 0;
1784
+ }
1785
+
1786
+ .sw-progress-count {
1787
+ color: var(--sw-color-muted);
1788
+ flex: none;
1789
+ font-family: var(--sw-font-sans);
1790
+ font-size: 13px;
1791
+ font-variant-numeric: tabular-nums;
1792
+ line-height: 18px;
1793
+ }
1794
+
1795
+ .sw-progress-bar {
1796
+ appearance: none;
1797
+ background: var(--sw-color-border);
1798
+ border: 0;
1799
+ border-radius: var(--sw-radius-pill);
1800
+ display: block;
1801
+ height: var(--sw-space-2);
1802
+ overflow: hidden;
1803
+ width: 100%;
1804
+ }
1805
+
1806
+ .sw-progress-bar::-webkit-progress-bar { background: var(--sw-color-border); }
1807
+ .sw-progress-bar::-webkit-progress-value { background: var(--sw-progress-color); }
1808
+ .sw-progress-bar::-moz-progress-bar { background: var(--sw-progress-color); }
1809
+
1810
+ @media (forced-colors: active) {
1811
+ .sw-progress-bar { background: CanvasText; forced-color-adjust: auto; }
1812
+ .sw-progress-bar::-webkit-progress-bar { background: Canvas; }
1813
+ .sw-progress-bar::-webkit-progress-value { background: Highlight; }
1814
+ .sw-progress-bar::-moz-progress-bar { background: Highlight; }
1815
+ }
1816
+
1817
+ .sw-tooltip-anchor {
1818
+ display: inline-flex;
1819
+ position: relative;
1820
+ }
1821
+
1822
+ .sw-tooltip {
1823
+ background: var(--sw-color-surface);
1824
+ border: 1px solid var(--sw-color-border);
1825
+ border-radius: var(--sw-radius-sm);
1826
+ box-shadow: var(--sw-elevation-sm);
1827
+ color: var(--sw-color-text);
1828
+ font-family: var(--sw-font-sans);
1829
+ font-size: 13px;
1830
+ line-height: 18px;
1831
+ inset-block-start: calc(100% + var(--sw-space-1));
1832
+ inset-inline-start: 0;
1833
+ max-width: min(18rem, calc(100vw - 2 * var(--sw-space-3)));
1834
+ padding: var(--sw-space-2);
1835
+ position: absolute;
1836
+ width: max-content;
1837
+ z-index: 10;
1838
+ }
1839
+
1840
+ .sw-tooltip[hidden] { display: none; }
1841
+
1842
+ @media (forced-colors: active) {
1843
+ .sw-tooltip { border-color: CanvasText; box-shadow: none; }
1844
+ }
1845
+
1846
+ .sw-separator {
1847
+ background: var(--sw-color-border);
1848
+ border: 0;
1849
+ flex: none;
1850
+ margin: 0;
1851
+ }
1852
+
1853
+ .sw-separator-horizontal {
1854
+ height: 1px;
1855
+ width: 100%;
1856
+ }
1857
+
1858
+ .sw-separator-vertical {
1859
+ align-self: stretch;
1860
+ min-height: var(--sw-space-4);
1861
+ width: 1px;
1862
+ }
1863
+
1864
+ @media (forced-colors: active) {
1865
+ .sw-separator { background: CanvasText; }
1866
+ }
1867
+
1868
+ .sw-filter-chips {
1869
+ border: 0;
1870
+ margin: 0;
1871
+ max-width: 100%;
1872
+ min-width: 0;
1873
+ padding: 0;
1874
+ }
1875
+
1876
+ .sw-filter-chips-legend {
1877
+ color: var(--sw-color-text);
1878
+ font-family: var(--sw-font-sans);
1879
+ font-size: 15px;
1880
+ font-weight: 600;
1881
+ line-height: 20px;
1882
+ padding: 0 0 var(--sw-space-2);
1883
+ }
1884
+
1885
+ .sw-filter-chips-options {
1886
+ display: flex;
1887
+ flex-wrap: wrap;
1888
+ gap: var(--sw-space-2);
1889
+ min-width: 0;
1890
+ }
1891
+
1892
+ .sw-filter-chip {
1893
+ cursor: pointer;
1894
+ display: inline-flex;
1895
+ max-width: 100%;
1896
+ position: relative;
1897
+ }
1898
+
1899
+ .sw-filter-chip-input {
1900
+ cursor: inherit;
1901
+ height: 100%;
1902
+ inset: 0;
1903
+ margin: 0;
1904
+ opacity: 0;
1905
+ position: absolute;
1906
+ width: 100%;
1907
+ }
1908
+
1909
+ .sw-filter-chip-face {
1910
+ align-items: center;
1911
+ background: var(--sw-glass-fill);
1912
+ border: 1px solid var(--sw-color-border);
1913
+ border-radius: var(--sw-radius-pill);
1914
+ color: var(--sw-color-text);
1915
+ display: inline-flex;
1916
+ font-family: var(--sw-font-sans);
1917
+ font-size: 15px;
1918
+ line-height: 20px;
1919
+ min-height: var(--sw-control-md-min-height);
1920
+ min-width: 0;
1921
+ overflow-wrap: anywhere;
1922
+ padding: var(--sw-space-1) var(--sw-space-3);
1923
+ }
1924
+
1925
+ .sw-filter-chip-input:checked + .sw-filter-chip-face {
1926
+ background: var(--sw-color-accent);
1927
+ border-color: var(--sw-color-accent);
1928
+ color: var(--sw-color-onAccent);
1929
+ }
1930
+
1931
+ .sw-filter-chip-input:focus-visible + .sw-filter-chip-face {
1932
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
1933
+ outline-offset: var(--sw-focus-ring-offset);
1934
+ }
1935
+
1936
+ .sw-filter-chip:has(.sw-filter-chip-input:disabled) {
1937
+ cursor: not-allowed;
1938
+ opacity: var(--sw-disabled-opacity);
1939
+ }
1940
+
1941
+ @media (forced-colors: active) {
1942
+ .sw-filter-chip-face { background: Canvas; border-color: CanvasText; color: CanvasText; }
1943
+ .sw-filter-chip-input:checked + .sw-filter-chip-face { background: Highlight; border-color: Highlight; color: HighlightText; }
1944
+ .sw-filter-chip-input:focus-visible + .sw-filter-chip-face { outline-color: Highlight; }
1945
+ }
1946
+
1947
+ .sw-field-required { color: var(--sw-color-danger); }
1948
+
1949
+ .sw-field-description,
1950
+ .sw-field-error {
1951
+ font-family: var(--sw-font-sans);
1952
+ font-size: 13px;
1953
+ line-height: 18px;
1954
+ }
1955
+
1956
+ .sw-field-description { color: var(--sw-color-muted); }
1957
+ .sw-field-error { color: var(--sw-color-danger); }
1958
+
1959
+ [data-theme] .sw-field-invalid :is(input, select, textarea) {
1960
+ border-color: var(--sw-color-danger);
1961
+ }
1962
+
1963
+ @media (forced-colors: active) {
1964
+ [data-theme] .sw-field-invalid :is(input, select, textarea) { border-color: Mark; }
1965
+ .sw-field-error, .sw-field-required { color: Mark; }
1966
+ }
1967
+
1234
1968
  .sw-split {
1235
1969
  align-items: stretch;
1236
1970
  align-self: start;