@stackoverflow/stacks 3.0.0-beta.13 → 3.0.0-beta.14

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.
@@ -1799,181 +1799,277 @@ body.theme-highcontrast .s-card.s-card__muted > * {
1799
1799
  .s-card > :last-child {
1800
1800
  margin-bottom: 0;
1801
1801
  }
1802
- .s-check-control {
1803
- --_cc-ai: center;
1804
- align-items: var(--_cc-ai);
1802
+ .s-checkbox,
1803
+ .s-radio {
1804
+ --_ch-ai: center;
1805
+ --_ch-fc: unset;
1806
+ --_ch-after-fc: unset;
1807
+ --_ch-cursor: pointer;
1808
+ --_ch-label-fc: var(--_ch-fc);
1809
+ --_ch-gap: var(--su8);
1810
+ --_ch-input-baw: var(--su-static1);
1811
+ --_ch-input-bc: var(--black-350);
1812
+ --_ch-input-bg: var(--white);
1813
+ --_ch-input-bg-image: unset;
1814
+ --_ch-input-br: var(--su-static1);
1815
+ --_ch-input-cursor: pointer;
1816
+ --_ch-input-h: calc(var(--su-static12) + var(--su-static2));
1817
+ align-items: var(--_ch-ai);
1805
1818
  display: flex;
1806
- gap: var(--su8);
1819
+ gap: var(--_ch-gap);
1807
1820
  }
1808
- .s-check-group .s-check-control {
1809
- --_cc-ai: flex-start;
1821
+ @media (forced-colors: active) {
1822
+ .s-checkbox:checked,
1823
+ .s-radio:checked,
1824
+ .s-checkbox:indeterminate,
1825
+ .s-radio:indeterminate {
1826
+ --_ch-input-bg: ButtonText !important;
1827
+ }
1810
1828
  }
1811
- .s-check-control .s-label {
1812
- font-weight: normal;
1829
+ fieldset[disabled] .s-checkbox,
1830
+ fieldset[disabled] .s-radio,
1831
+ .s-checkbox:has(> input[disabled]),
1832
+ .s-radio:has(> input[disabled]) {
1833
+ --_ch-fc: var(--black-300);
1834
+ --_ch-input-bc: var(--black-300);
1835
+ --_ch-input-cursor: not-allowed;
1836
+ }
1837
+ .s-checkbox:has(> input[disabled]:checked),
1838
+ .s-radio:has(> input[disabled]:checked) {
1839
+ --_ch-input-bc: var(--theme-secondary-300);
1840
+ }
1841
+ .s-checkbox.s-checkbox__checkmark,
1842
+ .s-checkbox.s-radio__checkmark,
1843
+ .s-radio.s-checkbox__checkmark,
1844
+ .s-radio.s-radio__checkmark {
1845
+ --_ch-fc: var(--theme-secondary);
1846
+ --_ch-gap: var(--su4);
1847
+ --_ch-after-fc: unset;
1848
+ border-radius: var(--br-md);
1849
+ color: var(--_ch-fc);
1850
+ cursor: var(--_ch-cursor);
1851
+ width: 100%;
1813
1852
  }
1814
- .s-check-group {
1815
- --_cg-fd: column;
1816
- flex-direction: var(--_cg-fd);
1817
- display: flex;
1818
- gap: var(--su8);
1853
+ .s-checkbox.s-checkbox__checkmark:has(> input:focus-visible),
1854
+ .s-checkbox.s-radio__checkmark:has(> input:focus-visible),
1855
+ .s-radio.s-checkbox__checkmark:has(> input:focus-visible),
1856
+ .s-radio.s-radio__checkmark:has(> input:focus-visible) {
1857
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
1858
+ outline: var(--su-static2) solid transparent !important;
1819
1859
  }
1820
- .s-check-group.s-check-group__horizontal {
1821
- --_cg-fd: row;
1860
+ .s-checkbox.s-checkbox__checkmark:has(> input:checked),
1861
+ .s-checkbox.s-radio__checkmark:has(> input:checked),
1862
+ .s-radio.s-checkbox__checkmark:has(> input:checked),
1863
+ .s-radio.s-radio__checkmark:has(> input:checked) {
1864
+ --_ch-after-fc: var(--_ch-fc);
1865
+ }
1866
+ .s-checkbox.s-checkbox__checkmark:has(> input[disabled]),
1867
+ .s-checkbox.s-radio__checkmark:has(> input[disabled]),
1868
+ .s-radio.s-checkbox__checkmark:has(> input[disabled]),
1869
+ .s-radio.s-radio__checkmark:has(> input[disabled]) {
1870
+ --_ch-cursor: not-allowed;
1871
+ }
1872
+ .s-checkbox.s-checkbox__checkmark:has(> input:checked[disabled]),
1873
+ .s-checkbox.s-radio__checkmark:has(> input:checked[disabled]),
1874
+ .s-radio.s-checkbox__checkmark:has(> input:checked[disabled]),
1875
+ .s-radio.s-radio__checkmark:has(> input:checked[disabled]) {
1876
+ --_ch-fc: var(--theme-secondary-300);
1877
+ }
1878
+ .s-checkbox.s-checkbox__checkmark input,
1879
+ .s-checkbox.s-radio__checkmark input,
1880
+ .s-radio.s-checkbox__checkmark input,
1881
+ .s-radio.s-radio__checkmark input,
1882
+ .s-checkbox.s-checkbox__checkmark:after,
1883
+ .s-checkbox.s-radio__checkmark:after,
1884
+ .s-radio.s-checkbox__checkmark:after,
1885
+ .s-radio.s-radio__checkmark:after {
1886
+ height: var(--su16);
1887
+ margin-left: 100%;
1888
+ width: var(--su16);
1822
1889
  }
1823
- .s-check-group legend.s-label {
1824
- margin-bottom: var(--su8);
1890
+ .s-checkbox.s-checkbox__checkmark:after,
1891
+ .s-checkbox.s-radio__checkmark:after,
1892
+ .s-radio.s-checkbox__checkmark:after,
1893
+ .s-radio.s-radio__checkmark:after {
1894
+ background-color: var(--_ch-after-fc);
1895
+ content: "";
1896
+ flex-shrink: 0;
1897
+ margin-left: auto;
1898
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m14 3.88-.44.44-7.34 7.35-.44.44-.44-.44-2.9-2.9L2 8.34l.89-.88.44.44 2.45 2.45 6.9-6.9.44-.44z'/%3E%3C/svg%3E");
1899
+ mask-size: contain;
1900
+ mask-repeat: no-repeat;
1825
1901
  }
1826
- .s-checkbox,
1827
- .s-radio {
1828
- --_ch-baw: var(--su-static1);
1829
- --_ch-bc: var(--bc-dark);
1830
- --_ch-bg: var(--white);
1831
- --_ch-bg-image: unset;
1832
- background-color: var(--_ch-bg);
1833
- border: var(--_ch-baw) solid var(--_ch-bc);
1902
+ .s-checkbox.s-checkbox__checkmark input,
1903
+ .s-checkbox.s-radio__checkmark input,
1904
+ .s-radio.s-checkbox__checkmark input,
1905
+ .s-radio.s-radio__checkmark input {
1834
1906
  appearance: none;
1835
- cursor: pointer;
1836
- font-size: inherit;
1837
- height: 1em;
1838
- margin: 0;
1839
- outline: 0;
1840
- vertical-align: middle;
1841
- width: 1em;
1907
+ opacity: 0;
1908
+ position: absolute;
1909
+ right: 0;
1910
+ z-index: -1;
1842
1911
  }
1843
- fieldset[disabled] .s-checkbox,
1844
- fieldset[disabled] .s-radio,
1845
- .s-checkbox[disabled],
1846
- .s-radio[disabled] {
1847
- cursor: not-allowed;
1848
- opacity: var(--_o-disabled-static);
1912
+ .s-checkbox.s-checkbox__checkmark .s-description,
1913
+ .s-checkbox.s-radio__checkmark .s-description,
1914
+ .s-radio.s-checkbox__checkmark .s-description,
1915
+ .s-radio.s-radio__checkmark .s-description {
1916
+ margin: var(--su2) 0 0;
1917
+ padding: 0;
1849
1918
  }
1850
- .s-check-group .s-checkbox,
1851
- .s-check-group .s-radio {
1852
- margin-top: calc(var(--su2) + var(--su1));
1919
+ .s-checkbox.s-checkbox__checkmark .s-label,
1920
+ .s-checkbox.s-radio__checkmark .s-label,
1921
+ .s-radio.s-checkbox__checkmark .s-label,
1922
+ .s-radio.s-radio__checkmark .s-label {
1923
+ flex-grow: 1;
1853
1924
  }
1854
- input.s-checkbox,
1855
- input.s-radio {
1925
+ .s-checkbox:has(> input[disabled]) .s-label,
1926
+ .s-radio:has(> input[disabled]) .s-label {
1927
+ --_ch-label-fc: var(--black-300);
1928
+ }
1929
+ .s-checkbox:not(> input[disabled]):has(input:checked) .s-label,
1930
+ .s-radio:not(> input[disabled]):has(input:checked) .s-label,
1931
+ .s-checkbox:not(> input[disabled]):has(input:indeterminate) .s-label,
1932
+ .s-radio:not(> input[disabled]):has(input:indeterminate) .s-label {
1933
+ --_ch-label-fc: var(--black-600);
1934
+ }
1935
+ .s-checkbox:has(> .s-label .s-description),
1936
+ .s-radio:has(> .s-label .s-description),
1937
+ .s-checkbox:has(> .s-label .s-input-message),
1938
+ .s-radio:has(> .s-label .s-input-message) {
1939
+ --_ch-ai: flex-start;
1940
+ }
1941
+ .s-checkbox:has(> .s-label .s-description) input,
1942
+ .s-radio:has(> .s-label .s-description) input,
1943
+ .s-checkbox:has(> .s-label .s-input-message) input,
1944
+ .s-radio:has(> .s-label .s-input-message) input {
1945
+ margin-top: var(--su2);
1946
+ }
1947
+ .s-checkbox:has( > input:not(:checked)).has-error,
1948
+ .s-radio:has( > input:not(:checked)).has-error {
1949
+ --_ch-input-bc: var(--red-400);
1950
+ }
1951
+ .s-checkbox:has( > input:not(:checked)).has-success,
1952
+ .s-radio:has( > input:not(:checked)).has-success {
1953
+ --_ch-input-bc: var(--green-400);
1954
+ }
1955
+ .s-checkbox:has( > input:not(:checked)).has-warning,
1956
+ .s-radio:has( > input:not(:checked)).has-warning {
1957
+ --_ch-input-bc: var(--yellow-400);
1958
+ }
1959
+ .s-checkbox input,
1960
+ .s-radio input {
1961
+ appearance: none;
1962
+ background-color: var(--_ch-input-bg);
1963
+ border: var(--_ch-input-baw) solid var(--_ch-input-bc);
1964
+ border-radius: var(--_ch-input-br);
1965
+ cursor: var(--_ch-input-cursor);
1966
+ height: var(--_ch-input-h);
1967
+ aspect-ratio: 1 / 1;
1856
1968
  flex-shrink: 0;
1969
+ font-size: inherit;
1970
+ margin: 0;
1971
+ outline: 0;
1972
+ vertical-align: middle;
1857
1973
  }
1858
- .s-checkbox:focus,
1859
- .s-radio:focus {
1974
+ .s-checkbox input:focus-visible,
1975
+ .s-radio input:focus-visible {
1860
1976
  box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
1861
1977
  outline: var(--su-static2) solid transparent !important;
1862
1978
  }
1863
- .s-checkbox {
1864
- background-image: var(--_ch-bg-image);
1865
- background-position: center center;
1866
- background-repeat: no-repeat;
1867
- background-size: contain;
1868
- border-radius: var(--br-md);
1979
+ .has-error .s-checkbox input:not(:checked),
1980
+ .has-error .s-radio input:not(:checked),
1981
+ .has-success .s-checkbox input:not(:checked),
1982
+ .has-success .s-radio input:not(:checked),
1983
+ .has-warning .s-checkbox input:not(:checked),
1984
+ .has-warning .s-radio input:not(:checked) {
1985
+ --_ch-input-bc-focus: var(--_ch-input-bc);
1986
+ }
1987
+ .has-error .s-checkbox input:not(:checked),
1988
+ .has-error .s-radio input:not(:checked) {
1989
+ --_ch-input-bc: var(--red-400);
1990
+ }
1991
+ .has-success .s-checkbox input:not(:checked),
1992
+ .has-success .s-radio input:not(:checked) {
1993
+ --_ch-input-bc: var(--green-400);
1994
+ }
1995
+ .has-warning .s-checkbox input:not(:checked),
1996
+ .has-warning .s-radio input:not(:checked) {
1997
+ --_ch-input-bc: var(--yellow-500);
1998
+ }
1999
+ .s-checkbox .s-label,
2000
+ .s-radio .s-label {
2001
+ color: var(--_ch-label-fc);
2002
+ font-size: var(--fs-body1);
2003
+ font-weight: normal;
1869
2004
  }
1870
2005
  @media (prefers-color-scheme: dark) {
1871
- body.theme-system .s-checkbox:checked {
1872
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23141414'/%3E%3C/svg%3E");
2006
+ body.theme-system .s-checkbox input:checked {
2007
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23141414'/%3E%3C/svg%3E");
1873
2008
  }
1874
- body.theme-system .s-checkbox:indeterminate {
1875
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23141414'/%3E%3C/svg%3E");
2009
+ body.theme-system .s-checkbox input:indeterminate {
2010
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23141414'/%3E%3C/svg%3E");
1876
2011
  }
1877
2012
  }
1878
- body.theme-dark .s-checkbox:checked,
1879
- .theme-dark__forced .s-checkbox:checked,
1880
- body.theme-system .theme-dark__forced .s-checkbox:checked {
1881
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23141414'/%3E%3C/svg%3E");
1882
- }
1883
- body.theme-dark .s-checkbox:indeterminate,
1884
- .theme-dark__forced .s-checkbox:indeterminate,
1885
- body.theme-system .theme-dark__forced .s-checkbox:indeterminate {
1886
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23141414'/%3E%3C/svg%3E");
2013
+ body.theme-dark .s-checkbox input:checked,
2014
+ .theme-dark__forced .s-checkbox input:checked,
2015
+ body.theme-system .theme-dark__forced .s-checkbox input:checked {
2016
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23141414'/%3E%3C/svg%3E");
1887
2017
  }
1888
- @media (prefers-color-scheme: dark) {
1889
- body.theme-highcontrast.theme-system .s-checkbox:checked,
1890
- body.theme-highcontrast.theme-system .s-checkbox:indeterminate {
1891
- --_ch-bc: var(--black) !important;
1892
- --_ch-bg: var(--black);
1893
- }
1894
- }
1895
- body.theme-highcontrast.theme-dark .s-checkbox:checked,
1896
- body.theme-highcontrast.theme-dark .s-checkbox:indeterminate {
1897
- --_ch-bc: var(--black) !important;
1898
- --_ch-bg: var(--black);
2018
+ body.theme-dark .s-checkbox input:indeterminate,
2019
+ .theme-dark__forced .s-checkbox input:indeterminate,
2020
+ body.theme-system .theme-dark__forced .s-checkbox input:indeterminate {
2021
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23141414'/%3E%3C/svg%3E");
1899
2022
  }
1900
- @media (forced-colors: active) {
1901
- .s-checkbox:checked,
1902
- .s-checkbox:indeterminate {
1903
- --_ch-bg: ButtonText !important;
1904
- }
2023
+ .s-checkbox input {
2024
+ background-image: var(--_ch-input-bg-image);
2025
+ background-position: center center;
2026
+ background-repeat: no-repeat;
2027
+ background-size: contain;
1905
2028
  }
1906
- .s-checkbox:checked,
1907
- .s-checkbox:indeterminate {
1908
- --_ch-bc: var(--theme-secondary) !important;
1909
- --_ch-bg: var(--theme-secondary);
2029
+ fieldset[disabled] .s-checkbox input:checked,
2030
+ .s-checkbox input[disabled]:checked,
2031
+ fieldset[disabled] .s-checkbox input:indeterminate,
2032
+ .s-checkbox input[disabled]:indeterminate {
2033
+ --_ch-input-bc: var(--theme-secondary-300);
2034
+ --_ch-input-bg: var(--theme-secondary-300);
1910
2035
  }
1911
- .s-checkbox:checked {
1912
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23ffffff'/%3E%3C/svg%3E");
2036
+ .s-checkbox input:checked,
2037
+ .s-checkbox input:indeterminate {
2038
+ --_ch-input-bc: var(--theme-secondary);
2039
+ --_ch-input-bg: var(--theme-secondary);
1913
2040
  }
1914
- .s-checkbox:indeterminate {
1915
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23ffffff'/%3E%3C/svg%3E");
2041
+ .s-checkbox input:checked {
2042
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='%23ffffff'/%3E%3C/svg%3E");
1916
2043
  }
1917
- .s-radio {
1918
- border-radius: var(--br-circle);
2044
+ .s-checkbox input:indeterminate {
2045
+ --_ch-input-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='%23ffffff'/%3E%3C/svg%3E");
1919
2046
  }
1920
- @media (prefers-color-scheme: dark) {
1921
- body.theme-highcontrast.theme-system .s-radio:checked {
1922
- --_ch-bc: var(--black);
1923
- outline: var(--su-static1) solid var(--black);
1924
- }
1925
- }
1926
- body.theme-highcontrast.theme-dark .s-radio:checked {
1927
- --_ch-bc: var(--black);
1928
- outline: var(--su-static1) solid var(--black);
1929
- }
1930
- .s-radio:checked {
1931
- --_ch-baw: 0.30769231em;
1932
- --_ch-bc: var(--theme-secondary);
1933
- --_ch-bg: var(--white);
1934
- }
1935
- .has-error .s-checkbox,
1936
- .has-error .s-radio:not(:checked),
1937
- .has-success .s-checkbox,
1938
- .has-success .s-radio:not(:checked),
1939
- .has-warning .s-checkbox,
1940
- .has-warning .s-radio:not(:checked) {
1941
- --_ch-bc-focus: var(--_ch-bc);
1942
- }
1943
- .has-error .s-checkbox,
1944
- .has-error .s-radio:not(:checked) {
1945
- --_ch-bc: var(--red-400);
1946
- }
1947
- .has-success .s-checkbox,
1948
- .has-success .s-radio:not(:checked) {
1949
- --_ch-bc: var(--green-400);
1950
- }
1951
- .has-warning .s-checkbox,
1952
- .has-warning .s-radio:not(:checked) {
1953
- --_ch-bc: var(--yellow-500);
1954
- }
1955
- .s-check-control {
1956
- --_cc-ai: center;
1957
- align-items: var(--_cc-ai);
1958
- display: flex;
1959
- gap: var(--su8);
2047
+ .s-radio input {
2048
+ --_ch-input-br: var(--br-circle);
1960
2049
  }
1961
- .s-check-group .s-check-control {
1962
- --_cc-ai: flex-start;
2050
+ fieldset[disabled] .s-radio input:checked,
2051
+ .s-radio input[disabled]:checked {
2052
+ --_ch-input-bc: var(--theme-secondary-300);
1963
2053
  }
1964
- .s-check-control .s-label {
1965
- font-weight: normal;
2054
+ .s-radio input:checked {
2055
+ --_ch-input-baw: calc(var(--_ch-input-h) / 3);
2056
+ --_ch-input-bc: var(--theme-secondary);
2057
+ --_ch-input-bg: var(--white);
1966
2058
  }
1967
- .s-check-group {
1968
- --_cg-fd: column;
1969
- flex-direction: var(--_cg-fd);
2059
+ .s-form-group {
2060
+ --_fg-fd: column;
2061
+ --_fg-gap: var(--su8);
2062
+ flex-direction: var(--_fg-fd);
1970
2063
  display: flex;
1971
- gap: var(--su8);
2064
+ gap: var(--_fg-gap);
1972
2065
  }
1973
- .s-check-group.s-check-group__horizontal {
1974
- --_cg-fd: row;
2066
+ .s-form-group.s-menu {
2067
+ --_fg-gap: 0;
1975
2068
  }
1976
- .s-check-group legend.s-label {
2069
+ .s-form-group.s-form-group__horizontal {
2070
+ --_fg-fd: row;
2071
+ }
2072
+ .s-form-group legend.s-label {
1977
2073
  margin-bottom: var(--su8);
1978
2074
  }
1979
2075
  .s-code-block {
@@ -2132,25 +2228,43 @@ pre.s-code-block::-webkit-scrollbar-corner {
2132
2228
  border-color: transparent;
2133
2229
  }
2134
2230
  .s-description {
2135
- color: var(--fc-light);
2231
+ --_de-fc: var(--black-400);
2232
+ color: var(--_de-fc);
2136
2233
  font-size: var(--fs-caption);
2137
2234
  padding: 0 var(--su2);
2138
2235
  }
2139
2236
  .is-disabled .s-description {
2140
2237
  opacity: var(--_o-disabled-static);
2141
2238
  }
2239
+ .has-error .s-description {
2240
+ --_de-fc: var(--red-400);
2241
+ }
2242
+ .has-success .s-description {
2243
+ --_de-fc: var(--green-400);
2244
+ }
2245
+ .has-warning .s-description {
2246
+ --_de-fc: var(--yellow-400);
2247
+ }
2142
2248
  .s-empty-state {
2143
- color: var(--fc-light);
2144
2249
  text-align: center;
2145
2250
  margin-left: auto;
2146
2251
  margin-right: auto;
2147
2252
  }
2148
2253
  .s-empty-state p {
2149
- font-size: var(--fs-body1);
2150
- margin-bottom: var(--su12);
2254
+ color: var(--black-400);
2255
+ margin-bottom: var(--su32);
2151
2256
  }
2152
- .s-empty-state p strong {
2153
- color: var(--fc-dark);
2257
+ .s-empty-state--title {
2258
+ font-weight: 600;
2259
+ font-size: var(--fs-body3);
2260
+ margin-bottom: var(--su8);
2261
+ color: var(--black-400);
2262
+ }
2263
+ .s-empty-state .svg-spot {
2264
+ margin-bottom: var(--su24);
2265
+ }
2266
+ .s-empty-state:last-child {
2267
+ margin-bottom: 0;
2154
2268
  }
2155
2269
  .s-expandable {
2156
2270
  --_ex-after-h: 10px;
@@ -2213,13 +2327,17 @@ pre.s-code-block::-webkit-scrollbar-corner {
2213
2327
  .s-input,
2214
2328
  .s-textarea,
2215
2329
  :has(> .s-textarea) {
2330
+ --_in-ai: unset;
2216
2331
  --_in-bc: var(--black-300);
2217
2332
  --_in-bg: var(--white);
2218
2333
  --_in-br: var(--br-md);
2219
2334
  --_in-bw: var(--su-static1);
2220
2335
  --_in-c: unset;
2336
+ --_in-d: unset;
2221
2337
  --_in-fc: var(--black-600);
2222
2338
  --_in-fs: var(--fs-body1);
2339
+ --_in-fw: unset;
2340
+ --_in-g: unset;
2223
2341
  --_in-lh: var(--lh-base);
2224
2342
  --_in-px: calc(var(--su12) - var(--su1));
2225
2343
  --_in-py: var(--su8);
@@ -2228,11 +2346,15 @@ pre.s-code-block::-webkit-scrollbar-corner {
2228
2346
  .s-input,
2229
2347
  .s-textarea {
2230
2348
  scrollbar-color: var(--scrollbar) transparent;
2349
+ align-items: var(--_in-ai);
2231
2350
  background-color: var(--_in-bg);
2232
2351
  border: var(--_in-bw) solid var(--_in-bc);
2233
2352
  color: var(--_in-fc);
2234
2353
  cursor: var(--_in-c);
2354
+ display: var(--_in-d);
2355
+ flex-wrap: var(--_in-fw);
2235
2356
  font-size: var(--_in-fs);
2357
+ gap: var(--_in-g);
2236
2358
  line-height: var(--_in-lh);
2237
2359
  padding: var(--_in-py) var(--_in-px) var(--_in-py) var(--_in-pl, var(--_in-px));
2238
2360
  border-radius: var(--br-md);
@@ -2358,13 +2480,6 @@ body.theme-highcontrast .has-warning .s-textarea {
2358
2480
  background-color: transparent;
2359
2481
  border-color: transparent;
2360
2482
  }
2361
- .s-input:has(> input.s-input) {
2362
- display: flex;
2363
- align-items: center;
2364
- }
2365
- .s-input:has(> input.s-input) input.s-input {
2366
- flex: 1 1 0;
2367
- }
2368
2483
  .is-disabled .s-input,
2369
2484
  .is-readonly .s-input,
2370
2485
  .has-success .s-input,
@@ -2377,12 +2492,15 @@ body.theme-highcontrast .has-warning .s-textarea {
2377
2492
  --_in-bw: 0;
2378
2493
  --_in-px: 0;
2379
2494
  box-shadow: none;
2495
+ flex: 1 1 0;
2380
2496
  margin: calc(var(--_in-py) * -1) 0;
2381
2497
  }
2382
2498
  .s-input:has(.s-input) {
2499
+ --_in-ai: center;
2500
+ --_in-d: flex;
2501
+ --_in-fw: nowrap;
2383
2502
  --_in-px: var(--_in-py);
2384
- flex-wrap: wrap;
2385
- gap: var(--su8);
2503
+ --_in-g: var(--su8);
2386
2504
  }
2387
2505
  .s-textarea {
2388
2506
  --_in-py: var(--su8);
@@ -2529,9 +2647,7 @@ fieldset[disabled] .s-input-message {
2529
2647
  --_la-c: pointer;
2530
2648
  }
2531
2649
  fieldset[disabled] .s-label,
2532
- .is-disabled .s-label,
2533
- .s-check-control .s-checkbox[disabled] + .s-label,
2534
- .s-check-control .s-radio[disabled] + .s-label {
2650
+ .is-disabled .s-label {
2535
2651
  opacity: var(--_o-disabled-static);
2536
2652
  }
2537
2653
  fieldset[disabled] .s-label .s-description,
@@ -2541,9 +2657,7 @@ fieldset[disabled] .s-label .s-description,
2541
2657
  fieldset[disabled] .s-label,
2542
2658
  .is-disabled .s-label,
2543
2659
  fieldset[disabled] .s-label[for],
2544
- .is-disabled .s-label[for],
2545
- .s-check-control .s-checkbox[disabled] + .s-label,
2546
- .s-check-control .s-radio[disabled] + .s-label {
2660
+ .is-disabled .s-label[for] {
2547
2661
  --_la-c: not-allowed;
2548
2662
  }
2549
2663
  .is-readonly .s-label {
@@ -2865,7 +2979,6 @@ body.theme-highcontrast .s-link-preview a.s-link-preview--title.s-link__visited:
2865
2979
  --_me-action-bg: unset;
2866
2980
  --_me-action-fc: var(--black-500);
2867
2981
  --_me-item-p: var(--su8);
2868
- --_me-after-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m14 3.88-.44.44-7.34 7.35-.44.44-.44-.44-2.9-2.9L2 8.34l.89-.88.44.44 2.45 2.45 6.9-6.9.44-.44z'/%3E%3C/svg%3E");
2869
2982
  list-style: none;
2870
2983
  margin: 0;
2871
2984
  padding: 0;
@@ -2889,16 +3002,16 @@ body.theme-highcontrast .s-link-preview a.s-link-preview--title.s-link__visited:
2889
3002
  .s-menu .s-menu--item:has(> .s-menu--action) {
2890
3003
  --_me-item-p: 0;
2891
3004
  }
2892
- .s-menu .s-menu--item.s-check-control {
3005
+ .s-menu .s-menu--item.s-checkbox,
3006
+ .s-menu .s-menu--item.s-radio {
2893
3007
  --_me-item-p: var(--su6) var(--su8);
2894
3008
  align-items: flex-start;
2895
3009
  }
2896
- .s-menu .s-menu--item.s-check-control .s-radio,
2897
- .s-menu .s-menu--item.s-check-control .s-checkbox {
3010
+ .s-menu .s-menu--item.s-checkbox input,
3011
+ .s-menu .s-menu--item.s-radio input {
2898
3012
  margin-top: var(--su4);
2899
3013
  }
2900
- .s-menu .s-menu--item:not(.s-check-control) .s-radio,
2901
- .s-menu .s-menu--item:not(.s-check-control) .s-checkbox {
3014
+ .s-menu .s-menu--item:not(.s-checkbox):not(.s-radio) input {
2902
3015
  height: 0;
2903
3016
  pointer-events: none;
2904
3017
  position: absolute;
@@ -2933,17 +3046,6 @@ body.theme-highcontrast .s-link-preview a.s-link-preview--title.s-link__visited:
2933
3046
  .s-menu .s-menu--action__danger:hover {
2934
3047
  --_me-action-fc: var(--red-500);
2935
3048
  }
2936
- .s-menu .s-menu--action.is-selected:after,
2937
- .s-menu .s-menu--action:has(input:checked):after {
2938
- background-color: var(--_me-action-fc);
2939
- content: "";
2940
- height: var(--su16);
2941
- margin-left: auto;
2942
- width: var(--su16);
2943
- mask-image: var(--_me-after-mask);
2944
- mask-size: contain;
2945
- mask-repeat: no-repeat;
2946
- }
2947
3049
  .s-menu button.s-menu--action {
2948
3050
  border: none;
2949
3051
  font-family: inherit;
@@ -5474,9 +5576,6 @@ body.theme-highcontrast .s-skeleton {
5474
5576
  width: var(--_ta-td-w);
5475
5577
  color: var(--fc-medium);
5476
5578
  }
5477
- .s-table td .s-checkbox {
5478
- display: block;
5479
- }
5480
5579
  .s-table td.s-table--bulk {
5481
5580
  --_ta-td-w: calc(var(--su32) - var(--su2));
5482
5581
  }
@@ -5507,9 +5606,6 @@ body.theme-highcontrast .s-skeleton {
5507
5606
  color: var(--fc-dark);
5508
5607
  font-weight: bold;
5509
5608
  }
5510
- .s-table th .s-checkbox {
5511
- display: block;
5512
- }
5513
5609
  .s-table th.s-table--bulk {
5514
5610
  --_ta-th-w: calc(var(--su32) - var(--su2));
5515
5611
  }
@@ -6554,6 +6650,111 @@ body.theme-highcontrast .s-uploader .s-uploader--preview-thumbnail {
6554
6650
  .s-user-card .s-user-card--type a:not(.s-link) {
6555
6651
  color: inherit !important;
6556
6652
  }
6653
+ .s-vote {
6654
+ --_vo-fd: column;
6655
+ --_vo-child-bg: var(--black-150);
6656
+ --_vo-child-br: unset;
6657
+ --_vo-child-fd: var(--_vo-fd);
6658
+ --_vo-child-g: calc(var(--su8) + var(--su2));
6659
+ --_vo-child-h: unset;
6660
+ --_vo-child-w: calc(var(--su48) + var(--su2));
6661
+ --_vo-child-p: unset;
6662
+ flex-direction: var(--_vo-fd);
6663
+ display: flex;
6664
+ }
6665
+ .s-vote:not(.s-vote__horizontal) :first-child {
6666
+ --_vo-child-p: calc(var(--su12) + var(--su2)) 0 calc(var(--su12) - var(--su2));
6667
+ --_vo-child-br: var(--br-pill) var(--br-pill) 0 0;
6668
+ }
6669
+ .s-vote:not(.s-vote__horizontal) :last-child {
6670
+ --_vo-child-p: calc(var(--su12) - var(--su2)) 0 calc(var(--su12) + var(--su2));
6671
+ --_vo-child-br: 0 0 var(--br-pill) var(--br-pill);
6672
+ }
6673
+ .s-vote:not(.s-vote__horizontal) :only-child {
6674
+ --_vo-child-br: var(--br-pill);
6675
+ --_vo-child-g: calc(var(--su16) + var(--su4));
6676
+ --_vo-child-p: calc(var(--su12) + var(--su2)) 0;
6677
+ }
6678
+ .s-vote.s-vote__expanded {
6679
+ --_vo-child-g: var(--su2);
6680
+ --_vo-child-p: 0;
6681
+ }
6682
+ .s-vote.s-vote__expanded .s-vote--total {
6683
+ display: none;
6684
+ }
6685
+ .s-vote.s-vote__expanded .s-vote--upvotes,
6686
+ .s-vote.s-vote__expanded .s-vote--downvotes {
6687
+ display: block;
6688
+ }
6689
+ .s-vote.s-vote__horizontal {
6690
+ --_vo-fd: row;
6691
+ --_vo-child-h: var(--su32);
6692
+ --_vo-child-p: 0 var(--su4);
6693
+ --_vo-child-w: unset;
6694
+ }
6695
+ .s-vote.s-vote__horizontal :first-child {
6696
+ --_vo-child-p: 0 var(--su6) 0 calc(var(--su8) + var(--su2));
6697
+ --_vo-child-br: var(--br-pill) 0 0 var(--br-pill);
6698
+ }
6699
+ .s-vote.s-vote__horizontal :last-child {
6700
+ --_vo-child-p: 0 calc(var(--su8) + var(--su2)) 0 var(--su6);
6701
+ --_vo-child-br: 0 var(--br-pill) var(--br-pill) 0;
6702
+ }
6703
+ .s-vote.s-vote__horizontal .s-vote--votes:last-child:not(:only-child) {
6704
+ --_vo-child-p: 0 calc(var(--su12) + var(--su2)) 0 var(--su4);
6705
+ }
6706
+ .s-vote.s-vote__horizontal :only-child {
6707
+ --_vo-child-br: var(--br-pill);
6708
+ --_vo-child-g: calc(var(--su8) + var(--su2));
6709
+ --_vo-child-p: 0 calc(var(--su12) + var(--su2)) 0 calc(var(--su8) + var(--su2));
6710
+ }
6711
+ .s-vote > button {
6712
+ appearance: none;
6713
+ -webkit-appearance: none;
6714
+ background: none;
6715
+ border: 0;
6716
+ color: inherit;
6717
+ cursor: pointer;
6718
+ font: inherit;
6719
+ margin: 0;
6720
+ padding: 0;
6721
+ }
6722
+ .s-vote .s-vote--btn,
6723
+ .s-vote > .s-vote--votes {
6724
+ background-color: var(--_vo-child-bg);
6725
+ border-radius: var(--_vo-child-br);
6726
+ flex-direction: var(--_vo-child-fd);
6727
+ gap: var(--_vo-child-g);
6728
+ height: var(--_vo-child-h);
6729
+ padding: var(--_vo-child-p);
6730
+ width: var(--_vo-child-w);
6731
+ align-items: center;
6732
+ display: inline-flex;
6733
+ justify-content: center;
6734
+ overflow: hidden;
6735
+ font-weight: 600;
6736
+ text-align: center;
6737
+ white-space: nowrap;
6738
+ }
6739
+ .s-vote .s-vote--upvotes,
6740
+ .s-vote .s-vote--downvotes {
6741
+ display: none;
6742
+ }
6743
+ .s-vote .s-vote--upvotes {
6744
+ color: var(--green-500);
6745
+ }
6746
+ .s-vote .s-vote--downvotes {
6747
+ color: var(--red-500);
6748
+ }
6749
+ .s-vote > button:focus-visible,
6750
+ .s-vote .s-vote--btn:focus-visible {
6751
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
6752
+ outline: var(--su-static2) solid transparent !important;
6753
+ }
6754
+ .s-vote > button:hover,
6755
+ .s-vote .s-vote--btn:hover {
6756
+ --_vo-child-bg: var(--black-200);
6757
+ }
6557
6758
  @font-face {
6558
6759
  font-family: "Segoe UI Adjusted";
6559
6760
  src: local(Segoe UI);