@cirthcss/cirth 0.10.0 → 0.12.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.
@@ -10,6 +10,7 @@
10
10
  }
11
11
 
12
12
  .cirth {
13
+ scrollbar-gutter: stable;
13
14
  -webkit-tap-highlight-color: transparent;
14
15
  -webkit-text-size-adjust: 100%;
15
16
  -moz-text-size-adjust: 100%;
@@ -63,7 +64,7 @@
63
64
  display: grid;
64
65
  }
65
66
 
66
- @media (min-width: 768px) {
67
+ @media (width >= 768px) {
67
68
  .cirth .row {
68
69
  grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
69
70
  }
@@ -302,6 +303,7 @@
302
303
  --cirth-color: var(--cirth-primary-inverse);
303
304
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
304
305
  max-width: 100%;
306
+ min-block-size: calc(var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
305
307
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
306
308
  border: var(--cirth-border-width) solid var(--cirth-border-color);
307
309
  border-radius: var(--cirth-border-radius);
@@ -326,6 +328,7 @@
326
328
  --cirth-color: var(--cirth-primary-inverse);
327
329
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
328
330
  max-width: 100%;
331
+ min-block-size: calc(var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
329
332
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
330
333
  border: var(--cirth-border-width) solid var(--cirth-border-color);
331
334
  border-radius: var(--cirth-border-radius);
@@ -663,6 +666,10 @@
663
666
  height: calc(var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
664
667
  }
665
668
 
669
+ .cirth select, .cirth textarea {
670
+ min-block-size: calc(var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
671
+ }
672
+
666
673
  .cirth fieldset {
667
674
  width: 100%;
668
675
  margin: 0;
@@ -809,6 +816,10 @@
809
816
  display: block;
810
817
  }
811
818
 
819
+ .cirth textarea:not([rows]) {
820
+ min-block-size: calc(4lh + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
821
+ }
822
+
812
823
  .cirth textarea:is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
813
824
  --cirth-icon-height: calc(var(--cirth-size-4) * var(--cirth-line-height) +
814
825
  var(--cirth-form-element-spacing-vertical) * 2 +
@@ -853,14 +864,6 @@
853
864
  margin-inline-end: .5em;
854
865
  }
855
866
 
856
- .cirth [type="checkbox"]::-ms-check {
857
- display: none;
858
- }
859
-
860
- .cirth [type="radio"]::-ms-check {
861
- display: none;
862
- }
863
-
864
867
  .cirth [type="checkbox"]:checked, .cirth [type="checkbox"]:checked:active, .cirth [type="checkbox"]:checked:focus, .cirth [type="radio"]:checked, .cirth [type="radio"]:checked:active, .cirth [type="radio"]:checked:focus {
865
868
  --cirth-background-color: var(--cirth-primary-background);
866
869
  --cirth-border-color: var(--cirth-primary-border);
@@ -1054,6 +1057,7 @@
1054
1057
  }
1055
1058
 
1056
1059
  .cirth [type="file"]::file-selector-button {
1060
+ min-block-size: 0;
1057
1061
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
1058
1062
  margin-inline-end: calc(var(--cirth-spacing) / 2);
1059
1063
  }
@@ -1091,14 +1095,6 @@
1091
1095
  transition: background-color var(--cirth-transition), box-shadow var(--cirth-transition);
1092
1096
  }
1093
1097
 
1094
- .cirth [type="range"]::-ms-track {
1095
- border-radius: var(--cirth-border-radius);
1096
- background-color: var(--cirth-range-border-color);
1097
- width: 100%;
1098
- height: .375rem;
1099
- transition: background-color var(--cirth-transition), box-shadow var(--cirth-transition);
1100
- }
1101
-
1102
1098
  .cirth [type="range"]::-webkit-slider-thumb {
1103
1099
  -webkit-appearance: none;
1104
1100
  border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
@@ -1112,19 +1108,6 @@
1112
1108
  }
1113
1109
 
1114
1110
  .cirth [type="range"]::-moz-range-thumb {
1115
- -webkit-appearance: none;
1116
- border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
1117
- background-color: var(--cirth-range-thumb-color);
1118
- cursor: pointer;
1119
- width: 1.25rem;
1120
- height: 1.25rem;
1121
- transition: background-color var(--cirth-transition), transform var(--cirth-transition);
1122
- border-radius: 50%;
1123
- margin-top: -.4375rem;
1124
- }
1125
-
1126
- .cirth [type="range"]::-ms-thumb {
1127
- -webkit-appearance: none;
1128
1111
  border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
1129
1112
  background-color: var(--cirth-range-thumb-color);
1130
1113
  cursor: pointer;
@@ -1148,10 +1131,6 @@
1148
1131
  transform: scale(1.25);
1149
1132
  }
1150
1133
 
1151
- .cirth [type="range"]:active::-ms-thumb {
1152
- transform: scale(1.25);
1153
- }
1154
-
1155
1134
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"] {
1156
1135
  background-image: var(--cirth-icon-search);
1157
1136
  background-position: center left var(--cirth-form-element-spacing-horizontal);
@@ -1205,10 +1184,6 @@
1205
1184
  display: none;
1206
1185
  }
1207
1186
 
1208
- .cirth details summary::-moz-list-bullet {
1209
- list-style-type: none;
1210
- }
1211
-
1212
1187
  .cirth details summary:after {
1213
1188
  width: var(--cirth-size-4);
1214
1189
  height: var(--cirth-size-4);
@@ -1722,17 +1697,14 @@
1722
1697
  background: var(--cirth-meter-even-less-good-color);
1723
1698
  }
1724
1699
 
1725
- .cirth {
1726
- --cirth-scrollbar-width: 0px;
1727
- }
1728
-
1729
1700
  .cirth dialog {
1701
+ opacity: 0;
1702
+ transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
1730
1703
  z-index: var(--cirth-z-index-modal);
1731
1704
  width: inherit;
1732
1705
  min-width: 100%;
1733
1706
  height: inherit;
1734
1707
  min-height: 100%;
1735
- -webkit-backdrop-filter: var(--cirth-modal-overlay-backdrop-filter);
1736
1708
  backdrop-filter: var(--cirth-modal-overlay-backdrop-filter);
1737
1709
  background-color: var(--cirth-modal-overlay-background-color);
1738
1710
  color: var(--cirth-color);
@@ -1745,7 +1717,25 @@
1745
1717
  inset: 0;
1746
1718
  }
1747
1719
 
1720
+ .cirth dialog[open] {
1721
+ opacity: 1;
1722
+ }
1723
+
1724
+ @starting-style {
1725
+ .cirth dialog[open] {
1726
+ opacity: 0;
1727
+ }
1728
+ }
1729
+
1730
+ @starting-style {
1731
+ .cirth dialog[open] > article {
1732
+ opacity: 0;
1733
+ transform: translateY(-100%);
1734
+ }
1735
+ }
1736
+
1748
1737
  .cirth dialog > article {
1738
+ transition: opacity var(--cirth-transition), transform var(--cirth-transition);
1749
1739
  width: 100%;
1750
1740
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1751
1741
  max-height: calc(100dvh - var(--cirth-spacing) * 2);
@@ -1753,13 +1743,13 @@
1753
1743
  overflow: auto;
1754
1744
  }
1755
1745
 
1756
- @media (min-width: 576px) {
1746
+ @media (width >= 576px) {
1757
1747
  .cirth dialog > article {
1758
1748
  max-width: 510px;
1759
1749
  }
1760
1750
  }
1761
1751
 
1762
- @media (min-width: 768px) {
1752
+ @media (width >= 768px) {
1763
1753
  .cirth dialog > article {
1764
1754
  max-width: 700px;
1765
1755
  }
@@ -1770,7 +1760,7 @@
1770
1760
  }
1771
1761
 
1772
1762
  .cirth dialog > article > header .close, .cirth dialog > article > header :is(a, button)[rel="prev"] {
1773
- margin: 0;
1763
+ margin: calc(calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2) * -1);
1774
1764
  float: right;
1775
1765
  margin-inline-start: var(--cirth-spacing);
1776
1766
  padding: 0;
@@ -1789,10 +1779,11 @@
1789
1779
  }
1790
1780
 
1791
1781
  .cirth dialog > article .close, .cirth dialog > article :is(a, button)[rel="prev"] {
1792
- width: var(--cirth-size-4);
1793
- height: var(--cirth-size-4);
1794
- margin-top: calc(var(--cirth-spacing) * -1);
1795
- margin-bottom: var(--cirth-spacing);
1782
+ width: calc(var(--cirth-size-4) + calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2) * 2);
1783
+ height: calc(var(--cirth-size-4) + calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2) * 2);
1784
+ margin-top: calc(var(--cirth-spacing) * -1 - calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2));
1785
+ margin-right: calc(calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2) * -1);
1786
+ margin-bottom: calc(var(--cirth-spacing) - calc((var(--cirth-size-4) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-size-4)) / 2));
1796
1787
  background-image: var(--cirth-icon-close);
1797
1788
  background-position: center;
1798
1789
  background-size: auto var(--cirth-size-4);
@@ -1817,54 +1808,6 @@
1817
1808
  float: left;
1818
1809
  }
1819
1810
 
1820
- .cirth.modal-is-open, .cirth .modal-is-open {
1821
- pointer-events: none;
1822
- touch-action: none;
1823
- padding-inline-end: var(--cirth-scrollbar-width, 0);
1824
- overflow: hidden;
1825
- }
1826
-
1827
- .cirth.modal-is-open dialog, .cirth .modal-is-open dialog {
1828
- pointer-events: auto;
1829
- touch-action: auto;
1830
- }
1831
-
1832
- .cirth:where(.modal-is-opening, .modal-is-closing) dialog, .cirth:where(.modal-is-opening, .modal-is-closing) dialog > article, .cirth :where(.modal-is-opening, .modal-is-closing) dialog, .cirth :where(.modal-is-opening, .modal-is-closing) dialog > article {
1833
- animation-duration: var(--cirth-duration-normal);
1834
- animation-timing-function: var(--cirth-ease-in-out);
1835
- animation-fill-mode: both;
1836
- }
1837
-
1838
- .cirth:where(.modal-is-opening, .modal-is-closing) dialog, .cirth :where(.modal-is-opening, .modal-is-closing) dialog {
1839
- animation-duration: calc(var(--cirth-duration-normal) * 4);
1840
- animation-name: modal-overlay;
1841
- }
1842
-
1843
- .cirth:where(.modal-is-opening, .modal-is-closing) dialog > article, .cirth :where(.modal-is-opening, .modal-is-closing) dialog > article {
1844
- animation-delay: var(--cirth-duration-normal);
1845
- animation-name: modal;
1846
- }
1847
-
1848
- .cirth.modal-is-closing dialog, .cirth.modal-is-closing dialog > article, .cirth .modal-is-closing dialog, .cirth .modal-is-closing dialog > article {
1849
- animation-delay: var(--cirth-duration-instant);
1850
- animation-direction: reverse;
1851
- }
1852
-
1853
- @keyframes modal-overlay {
1854
- from {
1855
- -webkit-backdrop-filter: none;
1856
- backdrop-filter: none;
1857
- background-color: #0000;
1858
- }
1859
- }
1860
-
1861
- @keyframes modal {
1862
- from {
1863
- opacity: 0;
1864
- transform: translateY(-100%);
1865
- }
1866
- }
1867
-
1868
1811
  .cirth :where(nav li):before {
1869
1812
  float: left;
1870
1813
  content: "​";
@@ -1918,6 +1861,7 @@
1918
1861
 
1919
1862
  .cirth nav li button, .cirth nav li [role="button"], .cirth nav li [type="button"], .cirth nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]), .cirth nav li select {
1920
1863
  height: auto;
1864
+ min-block-size: var(--cirth-size-6);
1921
1865
  margin-inline: inherit;
1922
1866
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1923
1867
  margin-bottom: 0;
@@ -1972,6 +1916,35 @@
1972
1916
  margin: inherit;
1973
1917
  }
1974
1918
 
1919
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog) {
1920
+ --cirth-popover-display: block;
1921
+ display: none;
1922
+ }
1923
+
1924
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
1925
+ display: var(--cirth-popover-display);
1926
+ max-width: var(--cirth-popover-max-width);
1927
+ padding: var(--cirth-space-2) var(--cirth-space-3);
1928
+ border: var(--cirth-border-width) solid var(--cirth-popover-border-color);
1929
+ border-radius: var(--cirth-border-radius);
1930
+ background-color: var(--cirth-popover-background-color);
1931
+ box-shadow: var(--cirth-popover-box-shadow);
1932
+ color: var(--cirth-popover-color);
1933
+ transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
1934
+ margin: auto;
1935
+ inset: 0;
1936
+ }
1937
+
1938
+ @starting-style {
1939
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
1940
+ opacity: 0;
1941
+ }
1942
+ }
1943
+
1944
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):not(:popover-open) {
1945
+ opacity: 0;
1946
+ }
1947
+
1975
1948
  .cirth progress {
1976
1949
  vertical-align: baseline;
1977
1950
  appearance: none;
@@ -1981,7 +1954,6 @@
1981
1954
  border: var(--cirth-border-width-1) solid var(--cirth-progress-border-color);
1982
1955
  border-radius: var(--cirth-border-radius);
1983
1956
  background-color: var(--cirth-progress-background-color);
1984
- color: var(--cirth-progress-color);
1985
1957
  display: inline-block;
1986
1958
  overflow: hidden;
1987
1959
  }
@@ -2029,160 +2001,6 @@
2029
2001
  }
2030
2002
  }
2031
2003
 
2032
- .cirth [data-tooltip] {
2033
- position: relative;
2034
- }
2035
-
2036
- .cirth [data-tooltip]:not(a, button, input, [role="button"]) {
2037
- border-bottom: var(--cirth-border-width-1) dotted;
2038
- cursor: help;
2039
- text-decoration: none;
2040
- }
2041
-
2042
- .cirth [data-tooltip][data-placement="top"]:before, .cirth [data-tooltip][data-placement="top"]:after, .cirth [data-tooltip]:before, .cirth [data-tooltip]:after {
2043
- z-index: var(--cirth-z-index-tooltip);
2044
- padding: var(--cirth-space-1) var(--cirth-space-2);
2045
- border-radius: var(--cirth-border-radius);
2046
- background: var(--cirth-tooltip-background-color);
2047
- content: attr(data-tooltip);
2048
- color: var(--cirth-tooltip-color);
2049
- font-style: normal;
2050
- font-weight: var(--cirth-font-weight);
2051
- font-size: var(--cirth-font-size-sm);
2052
- text-overflow: ellipsis;
2053
- white-space: nowrap;
2054
- opacity: 0;
2055
- pointer-events: none;
2056
- text-decoration: none;
2057
- display: block;
2058
- position: absolute;
2059
- bottom: 100%;
2060
- left: 50%;
2061
- overflow: hidden;
2062
- transform: translate(-50%, -.25rem);
2063
- }
2064
-
2065
- .cirth [data-tooltip][data-placement="top"]:after, .cirth [data-tooltip]:after {
2066
- content: "";
2067
- color: var(--cirth-tooltip-background-color);
2068
- background-color: #0000;
2069
- border-top: .3rem solid;
2070
- border-left: .3rem solid #0000;
2071
- border-right: .3rem solid #0000;
2072
- border-radius: 0;
2073
- padding: 0;
2074
- transform: translate(-50%);
2075
- }
2076
-
2077
- .cirth [data-tooltip][data-placement="bottom"]:before, .cirth [data-tooltip][data-placement="bottom"]:after {
2078
- top: 100%;
2079
- bottom: auto;
2080
- transform: translate(-50%, .25rem);
2081
- }
2082
-
2083
- .cirth [data-tooltip][data-placement="bottom"]:after {
2084
- border: .3rem solid #0000;
2085
- border-bottom-color: currentColor;
2086
- transform: translate(-50%, -.3rem);
2087
- }
2088
-
2089
- .cirth [data-tooltip][data-placement="left"]:before, .cirth [data-tooltip][data-placement="left"]:after {
2090
- inset: 50% 100% auto auto;
2091
- transform: translate(-.25rem, -50%);
2092
- }
2093
-
2094
- .cirth [data-tooltip][data-placement="left"]:after {
2095
- border: .3rem solid #0000;
2096
- border-left-color: currentColor;
2097
- transform: translate(.3rem, -50%);
2098
- }
2099
-
2100
- .cirth [data-tooltip][data-placement="right"]:before, .cirth [data-tooltip][data-placement="right"]:after {
2101
- inset: 50% auto auto 100%;
2102
- transform: translate(.25rem, -50%);
2103
- }
2104
-
2105
- .cirth [data-tooltip][data-placement="right"]:after {
2106
- border: .3rem solid #0000;
2107
- border-right-color: currentColor;
2108
- transform: translate(-.3rem, -50%);
2109
- }
2110
-
2111
- .cirth [data-tooltip]:focus:before, .cirth [data-tooltip]:focus:after, .cirth [data-tooltip]:hover:before, .cirth [data-tooltip]:hover:after {
2112
- opacity: 1;
2113
- }
2114
-
2115
- @media (hover: hover) and (pointer: fine) {
2116
- .cirth [data-tooltip]:focus:before, .cirth [data-tooltip]:focus:after, .cirth [data-tooltip]:hover:before, .cirth [data-tooltip]:hover:after {
2117
- --cirth-tooltip-slide-to: translate(-50%, -.25rem);
2118
- animation-duration: var(--cirth-duration-normal);
2119
- opacity: 0;
2120
- animation-name: tooltip-slide;
2121
- animation-fill-mode: forwards;
2122
- transform: translate(-50%, .75rem);
2123
- }
2124
-
2125
- .cirth [data-tooltip]:focus:after, .cirth [data-tooltip]:hover:after {
2126
- --cirth-tooltip-caret-slide-to: translate(-50%, 0rem);
2127
- animation-name: tooltip-caret-slide;
2128
- transform: translate(-50%, -.25rem);
2129
- }
2130
-
2131
- .cirth [data-tooltip][data-placement="bottom"]:focus:before, .cirth [data-tooltip][data-placement="bottom"]:focus:after, .cirth [data-tooltip][data-placement="bottom"]:hover:before, .cirth [data-tooltip][data-placement="bottom"]:hover:after {
2132
- --cirth-tooltip-slide-to: translate(-50%, .25rem);
2133
- animation-name: tooltip-slide;
2134
- transform: translate(-50%, -.75rem);
2135
- }
2136
-
2137
- .cirth [data-tooltip][data-placement="bottom"]:focus:after, .cirth [data-tooltip][data-placement="bottom"]:hover:after {
2138
- --cirth-tooltip-caret-slide-to: translate(-50%, -.3rem);
2139
- animation-name: tooltip-caret-slide;
2140
- transform: translate(-50%, -.5rem);
2141
- }
2142
-
2143
- .cirth [data-tooltip][data-placement="left"]:focus:before, .cirth [data-tooltip][data-placement="left"]:focus:after, .cirth [data-tooltip][data-placement="left"]:hover:before, .cirth [data-tooltip][data-placement="left"]:hover:after {
2144
- --cirth-tooltip-slide-to: translate(-.25rem, -50%);
2145
- animation-name: tooltip-slide;
2146
- transform: translate(.75rem, -50%);
2147
- }
2148
-
2149
- .cirth [data-tooltip][data-placement="left"]:focus:after, .cirth [data-tooltip][data-placement="left"]:hover:after {
2150
- --cirth-tooltip-caret-slide-to: translate(.3rem, -50%);
2151
- animation-name: tooltip-caret-slide;
2152
- transform: translate(.05rem, -50%);
2153
- }
2154
-
2155
- .cirth [data-tooltip][data-placement="right"]:focus:before, .cirth [data-tooltip][data-placement="right"]:focus:after, .cirth [data-tooltip][data-placement="right"]:hover:before, .cirth [data-tooltip][data-placement="right"]:hover:after {
2156
- --cirth-tooltip-slide-to: translate(.25rem, -50%);
2157
- animation-name: tooltip-slide;
2158
- transform: translate(-.75rem, -50%);
2159
- }
2160
-
2161
- .cirth [data-tooltip][data-placement="right"]:focus:after, .cirth [data-tooltip][data-placement="right"]:hover:after {
2162
- --cirth-tooltip-caret-slide-to: translate(-.3rem, -50%);
2163
- animation-name: tooltip-caret-slide;
2164
- transform: translate(-.05rem, -50%);
2165
- }
2166
- }
2167
-
2168
- @keyframes tooltip-slide {
2169
- to {
2170
- transform: var(--cirth-tooltip-slide-to);
2171
- opacity: 1;
2172
- }
2173
- }
2174
-
2175
- @keyframes tooltip-caret-slide {
2176
- 50% {
2177
- opacity: 0;
2178
- }
2179
-
2180
- 100% {
2181
- transform: var(--cirth-tooltip-caret-slide-to);
2182
- opacity: 1;
2183
- }
2184
- }
2185
-
2186
2004
  .cirth [aria-controls] {
2187
2005
  cursor: pointer;
2188
2006
  }
@@ -2337,7 +2155,6 @@
2337
2155
  --cirth-z-index-fixed: 1030;
2338
2156
  --cirth-z-index-modal-backdrop: 1040;
2339
2157
  --cirth-z-index-modal: 1050;
2340
- --cirth-z-index-tooltip: 1070;
2341
2158
  --cirth-font-family: var(--cirth-font-family-sans);
2342
2159
  --cirth-line-height: var(--cirth-line-height-normal);
2343
2160
  --cirth-font-weight: var(--cirth-font-weight-regular);
@@ -2370,20 +2187,25 @@
2370
2187
  var(--cirth-form-element-border-color);
2371
2188
  --cirth-meter-background-color: var(--cirth-progress-background-color);
2372
2189
  --cirth-meter-border-color: var(--cirth-progress-border-color);
2190
+ --cirth-popover-background-color: var(--cirth-card-background-color);
2191
+ --cirth-popover-border-color: var(--cirth-muted-border-color);
2192
+ --cirth-popover-color: var(--cirth-color);
2193
+ --cirth-popover-box-shadow: var(--cirth-box-shadow);
2194
+ --cirth-popover-max-width: min(30rem, 100% - var(--cirth-spacing) * 2);
2373
2195
  --cirth-modal-overlay-backdrop-filter: blur(.375rem);
2374
2196
  --cirth-nav-element-spacing-vertical: var(--cirth-space-4);
2375
2197
  --cirth-nav-element-spacing-horizontal: var(--cirth-space-2);
2376
2198
  --cirth-nav-link-spacing-vertical: var(--cirth-space-2);
2377
2199
  --cirth-nav-link-spacing-horizontal: var(--cirth-space-2);
2378
2200
  --cirth-nav-breadcrumb-divider: ">";
2379
- --cirth-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2380
- --cirth-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
2381
- --cirth-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
2382
- --cirth-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
2383
- --cirth-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
2384
- --cirth-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
2385
- --cirth-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
2386
- --cirth-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 146, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
2201
+ --cirth-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2202
+ --cirth-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
2203
+ --cirth-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
2204
+ --cirth-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
2205
+ --cirth-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
2206
+ --cirth-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
2207
+ --cirth-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
2208
+ --cirth-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 146, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
2387
2209
  }
2388
2210
 
2389
2211
  .cirth a, .cirth a.secondary, .cirth a.contrast {
@@ -2642,10 +2464,8 @@
2642
2464
  --cirth-progress-background-color: oklch(91.7% .006 264);
2643
2465
  --cirth-progress-border-color: oklch(61.3% .032 264);
2644
2466
  --cirth-progress-color: var(--cirth-primary-background);
2645
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2646
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2647
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(40, 124, 87)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2648
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(189, 47, 33)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2467
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(40, 124, 87)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2468
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(189, 47, 33)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2649
2469
  }
2650
2470
 
2651
2471
  .cirth:where([data-theme="light"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth :where([data-theme="light"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth:where(:not([data-theme="dark"])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
@@ -2759,10 +2579,8 @@
2759
2579
  --cirth-progress-background-color: oklch(26.7% .011 264);
2760
2580
  --cirth-progress-border-color: oklch(52.7% .032 264);
2761
2581
  --cirth-progress-color: oklch(61.3% .113 69.35);
2762
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2763
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2764
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2765
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2582
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2583
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2766
2584
  }
2767
2585
 
2768
2586
  .cirth:where(:not([data-theme])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
@@ -2880,10 +2698,8 @@
2880
2698
  --cirth-progress-background-color: oklch(26.7% .011 264);
2881
2699
  --cirth-progress-border-color: oklch(52.7% .032 264);
2882
2700
  --cirth-progress-color: oklch(61.3% .113 69.35);
2883
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2884
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2885
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2886
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2701
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2702
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2887
2703
  }
2888
2704
 
2889
2705
  .cirth:where([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth :where([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
@@ -3107,7 +2923,6 @@
3107
2923
  }
3108
2924
 
3109
2925
  .cirth dialog {
3110
- -webkit-backdrop-filter: none;
3111
2926
  backdrop-filter: none;
3112
2927
  min-width: 0;
3113
2928
  min-height: 0;