@deque/cauldron-styles 6.25.3 → 6.26.0-canary.290ddaeb

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 (2) hide show
  1. package/dist/index.css +266 -79
  2. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -195,6 +195,7 @@
195
195
 
196
196
  :root {
197
197
  --workspace-background-color: #f0f2f5;
198
+ --heading-text-color: var(--header-text-color-dark);
198
199
  }
199
200
 
200
201
  .cauldron--theme-dark {
@@ -244,7 +245,6 @@ h4,
244
245
  h5,
245
246
  h6,
246
247
  [role='heading'] {
247
- --heading-text-color: var(--header-text-color-dark);
248
248
  color: var(--heading-text-color);
249
249
  }
250
250
 
@@ -376,7 +376,7 @@ p {
376
376
 
377
377
  .cauldron--theme-dark .Layout {
378
378
  background-color: var(--dark-workspace-color);
379
- color: var(--white);
379
+ color: var(--layout-dark-color, var(--white));
380
380
  }
381
381
 
382
382
  .cauldron--theme-dark .Layout .Main:focus {
@@ -1210,12 +1210,13 @@ textarea.Field--has-error:focus:hover,
1210
1210
  --button-background-color-badge-active: var(--gray-20);
1211
1211
 
1212
1212
  --button-background-color-danger: var(--error);
1213
- --button-background-color-danger-disabled: #db6379;
1213
+ --button-background-color-danger-disabled: var(--accent-error-disabled);
1214
1214
  --button-background-color-danger-active: var(--accent-error-active);
1215
1215
  --button-outline-color-danger: var(--error);
1216
+ --button-outline-color-danger-disabled: var(--gray-40);
1216
1217
 
1217
1218
  --button-background-color-error: var(--error);
1218
- --button-background-color-error-disabled: #db6379;
1219
+ --button-background-color-error-disabled: var(--accent-error-disabled);
1219
1220
  --button-background-color-error-active: var(--accent-error-active);
1220
1221
  --button-outline-color-error: var(--error);
1221
1222
 
@@ -1416,6 +1417,18 @@ button.Link {
1416
1417
  background-color: var(--button-background-color-error-disabled);
1417
1418
  }
1418
1419
 
1420
+ .Button--danger[aria-disabled='true'],
1421
+ .Button--danger[disabled] {
1422
+ color: var(--button-text-color-light);
1423
+ background-color: var(--button-background-color-danger-disabled);
1424
+ }
1425
+
1426
+ .Button--danger-secondary[aria-disabled='true'],
1427
+ .Button--danger-secondary[disabled] {
1428
+ color: var(--button-text-color-disabled);
1429
+ border: 1px solid var(--button-outline-color-danger-disabled);
1430
+ }
1431
+
1419
1432
  .Button--error:not([disabled]):not([aria-disabled='true']):active {
1420
1433
  background-color: var(--button-background-color-error-active);
1421
1434
  }
@@ -1484,8 +1497,10 @@ button.Link {
1484
1497
  min-width: var(--button-thin-height);
1485
1498
  }
1486
1499
 
1500
+ /* Custom property for button sibling gap. Will be deprecated in https://github.com/dequelabs/cauldron/issues/1944 */
1501
+
1487
1502
  [class*='Button--'] + [class*='Button--'] {
1488
- margin-left: var(--space-smallest);
1503
+ margin-left: var(--button-sibling-gap, var(--space-smallest));
1489
1504
  }
1490
1505
 
1491
1506
  /* Dark Theme */
@@ -1688,6 +1703,12 @@ button.Link {
1688
1703
  --button-background-color-error-disabled
1689
1704
  );
1690
1705
  --icon-button-icon-size: var(--icon-size);
1706
+ --icon-button-hover-shadow-primary: 0 0 0 1px
1707
+ var(--icon-button-outline-color-primary);
1708
+ --icon-button-hover-shadow-secondary: 0 0 0 1px
1709
+ var(--icon-button-outline-color-secondary);
1710
+ --icon-button-hover-shadow-error: 0 0 0 1px
1711
+ var(--icon-button-outline-color-error);
1691
1712
  }
1692
1713
 
1693
1714
  .IconButton {
@@ -1784,7 +1805,7 @@ a.IconButton {
1784
1805
  }
1785
1806
 
1786
1807
  .IconButton--primary:not([disabled]):not([aria-disabled='true']):hover:before {
1787
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-primary);
1808
+ box-shadow: var(--icon-button-hover-shadow-primary);
1788
1809
  }
1789
1810
 
1790
1811
  .IconButton--primary:active {
@@ -1803,14 +1824,14 @@ a.IconButton {
1803
1824
  .IconButton--tertiary:not([disabled]):not([aria-disabled='true']):is(
1804
1825
  :hover
1805
1826
  ):before {
1806
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-secondary);
1827
+ box-shadow: var(--icon-button-hover-shadow-secondary);
1807
1828
  }
1808
1829
 
1809
1830
  .IconButton--tertiary:is(
1810
- :not(:hover, :focus, :active),
1811
- [disabled],
1812
- [aria-disabled='true']
1813
- ) {
1831
+ :not(:hover, :focus, :active),
1832
+ [disabled],
1833
+ [aria-disabled='true']
1834
+ ) {
1814
1835
  border-color: transparent;
1815
1836
  background-color: transparent;
1816
1837
  }
@@ -1826,7 +1847,7 @@ a.IconButton {
1826
1847
  }
1827
1848
 
1828
1849
  .IconButton--error:not([disabled]):not([aria-disabled='true']):hover:before {
1829
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-error);
1850
+ box-shadow: var(--icon-button-hover-shadow-error);
1830
1851
  }
1831
1852
 
1832
1853
  .IconButton--error:active {
@@ -1862,6 +1883,17 @@ a.IconButton {
1862
1883
  --icon-button-background-color-error-active: var(
1863
1884
  --button-background-color-error-active
1864
1885
  );
1886
+
1887
+ /* Hover shadows (double ring in dark theme) */
1888
+ --icon-button-hover-shadow-primary:
1889
+ 0 0 0 1px var(--icon-button-outline-shadow-color),
1890
+ 0 0 0 2px var(--icon-button-outline-color-primary);
1891
+ --icon-button-hover-shadow-secondary:
1892
+ 0 0 0 1px var(--icon-button-outline-shadow-color),
1893
+ 0 0 0 2px var(--icon-button-outline-color-secondary);
1894
+ --icon-button-hover-shadow-error:
1895
+ 0 0 0 1px var(--icon-button-outline-shadow-color),
1896
+ 0 0 0 2px var(--icon-button-outline-color-error);
1865
1897
  }
1866
1898
 
1867
1899
  .cauldron--theme-dark .IconButton--primary {
@@ -1898,34 +1930,9 @@ a.IconButton {
1898
1930
  color: var(--icon-button-disabled-color);
1899
1931
  }
1900
1932
 
1901
- .cauldron--theme-dark
1902
- .IconButton--primary:not([disabled]):not(
1903
- [aria-disabled='true']
1904
- ):hover:before {
1905
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1906
- 0 0 0 2px var(--icon-button-outline-color-primary);
1907
- }
1908
-
1909
- .cauldron--theme-dark
1910
- .IconButton--secondary:not([disabled]):not(
1911
- [aria-disabled='true']
1912
- ):hover:before,
1913
- .cauldron--theme-dark
1914
- .IconButton--tertiary:not([disabled]):not(
1915
- [aria-disabled='true']
1916
- ):hover:before {
1917
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1918
- 0 0 0 2px var(--icon-button-outline-color-secondary);
1919
- }
1920
-
1921
- .cauldron--theme-dark
1922
- .IconButton--error:not([disabled]):not([aria-disabled='true']):hover:before {
1923
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1924
- 0 0 0 2px var(--icon-button-outline-color-error);
1925
- }
1926
-
1927
1933
  .cauldron--theme-dark .IconButton:focus:before {
1928
- box-shadow: 0 0 0 2px var(--icon-button-outline-shadow-color),
1934
+ box-shadow:
1935
+ 0 0 0 2px var(--icon-button-outline-shadow-color),
1929
1936
  0 0 0 4px var(--button-focus-ring-color, --focus);
1930
1937
  }
1931
1938
 
@@ -1941,8 +1948,17 @@ a.IconButton {
1941
1948
  --dialog-footer-background-color: var(--gray-20);
1942
1949
  --dialog-heading-text-color: var(--header-text-color-dark);
1943
1950
  --dialog-padding: var(--space-small);
1951
+ --dialog-header-padding: var(--space-smallest) 0;
1952
+ --dialog-header-border: 1px solid var(--dialog-border-color);
1953
+ --dialog-content-padding: var(--dialog-padding);
1954
+ --dialog-footer-padding: var(--dialog-padding);
1955
+ --dialog-footer-border: 1px solid var(--dialog-border-color);
1944
1956
  --dialog-header-height: 2.625rem;
1945
1957
  --dialog-close-button-size: var(--target-size-minimum);
1958
+ --dialog-vertical-offset: 6.25rem;
1959
+ --dialog-bottom-spacing: 1.875rem;
1960
+ --dialog-content-line-height: inherit;
1961
+ --dialog-z-index: auto;
1946
1962
  }
1947
1963
 
1948
1964
  .cauldron--theme-dark {
@@ -1960,6 +1976,7 @@ a.IconButton {
1960
1976
  overflow-x: auto;
1961
1977
  position: fixed;
1962
1978
  top: 0;
1979
+ z-index: var(--dialog-z-index);
1963
1980
  background-color: var(--scrim-background-color);
1964
1981
  }
1965
1982
 
@@ -1971,7 +1988,7 @@ a.IconButton {
1971
1988
  width: 400px;
1972
1989
  max-width: 90%;
1973
1990
  left: 50%;
1974
- top: 100px;
1991
+ top: var(--dialog-vertical-offset);
1975
1992
  display: flex;
1976
1993
  flex-direction: column;
1977
1994
  transform: translateX(-50%);
@@ -1985,12 +2002,12 @@ a.IconButton {
1985
2002
  .Dialog__header {
1986
2003
  display: flex;
1987
2004
  background-color: var(--dialog-header-background-color);
1988
- border-bottom: 1px solid var(--dialog-border-color);
2005
+ border-bottom: var(--dialog-header-border);
1989
2006
  align-items: center;
1990
2007
  justify-content: space-between;
1991
2008
  min-height: var(--dialog-header-height);
1992
2009
  font-weight: var(--font-weight-bold);
1993
- padding: var(--space-smallest) 0;
2010
+ padding: var(--dialog-header-padding);
1994
2011
  gap: var(--space-smallest);
1995
2012
  }
1996
2013
 
@@ -2056,7 +2073,8 @@ a.IconButton {
2056
2073
  }
2057
2074
 
2058
2075
  .Dialog__content {
2059
- padding: var(--dialog-padding);
2076
+ padding: var(--dialog-content-padding);
2077
+ line-height: var(--dialog-content-line-height);
2060
2078
  }
2061
2079
 
2062
2080
  .Dialog__content p:first-child {
@@ -2067,10 +2085,14 @@ a.IconButton {
2067
2085
  margin-bottom: 0;
2068
2086
  }
2069
2087
 
2088
+ .Dialog__content .Field {
2089
+ width: 100%;
2090
+ }
2091
+
2070
2092
  .Dialog__footer {
2071
2093
  background-color: var(--dialog-footer-background-color);
2072
- border-top: 1px solid var(--dialog-border-color);
2073
- padding: var(--dialog-padding);
2094
+ border-top: var(--dialog-footer-border);
2095
+ padding: var(--dialog-footer-padding);
2074
2096
  }
2075
2097
 
2076
2098
  /**
@@ -2095,6 +2117,18 @@ a.IconButton {
2095
2117
  padding-top: 0;
2096
2118
  }
2097
2119
 
2120
+ @media (min-width: 20rem) {
2121
+ .Dialog__inner {
2122
+ max-height: calc(
2123
+ 100vh - var(--dialog-vertical-offset) - var(--dialog-bottom-spacing)
2124
+ );
2125
+ }
2126
+
2127
+ .Dialog__content {
2128
+ overflow-y: auto;
2129
+ }
2130
+ }
2131
+
2098
2132
  /* Dark Theme */
2099
2133
 
2100
2134
  .cauldron--theme-dark .Dialog__inner {
@@ -2102,6 +2136,15 @@ a.IconButton {
2102
2136
  border-width: 4px;
2103
2137
  }
2104
2138
 
2139
+ /* Compensate for the larger dark theme border so Dialog dimensions remain consistent */
2140
+
2141
+ .cauldron--theme-dark .Dialog__content {
2142
+ --dialog-content-padding-compensation: 3px;
2143
+ padding: calc(
2144
+ var(--dialog-content-padding) - var(--dialog-content-padding-compensation)
2145
+ );
2146
+ }
2147
+
2105
2148
  .cauldron--theme-dark .Dialog__header {
2106
2149
  border-bottom: 1px solid var(--stroke-dark);
2107
2150
  }
@@ -2133,6 +2176,33 @@ a.IconButton {
2133
2176
  border-top: none;
2134
2177
  }
2135
2178
 
2179
+ .cauldron--theme-dark .Alert .Dialog__inner {
2180
+ background-color: var(--accent-dark);
2181
+ }
2182
+
2183
+ .cauldron--theme-dark .Alert .Dialog__header {
2184
+ background-color: var(--accent-medium);
2185
+ border-bottom: none;
2186
+ }
2187
+
2188
+ .cauldron--theme-dark .Alert .Dialog__footer {
2189
+ background-color: transparent;
2190
+ border-top: none;
2191
+ }
2192
+
2193
+ .cauldron--theme-dark .Alert .Dialog__content .Link,
2194
+ .cauldron--theme-dark .Alert .Dialog__content .Link:hover {
2195
+ color: currentColor;
2196
+ }
2197
+
2198
+ /* Dark theme: checked checkbox/radio icons in Dialogs should inherit the
2199
+ dialog's text color rather than using the global checked color */
2200
+
2201
+ .cauldron--theme-dark .Dialog .Checkbox__overlay.Icon--checkbox-checked,
2202
+ .cauldron--theme-dark .Dialog .Radio__overlay.Icon--radio-checked {
2203
+ color: currentColor;
2204
+ }
2205
+
2136
2206
  :root {
2137
2207
  --link-text-color: var(--gray-90);
2138
2208
  --link-text-color-hover: #3873a3;
@@ -2147,7 +2217,7 @@ a.IconButton {
2147
2217
  .Link {
2148
2218
  text-decoration: underline;
2149
2219
  color: var(--link-text-color);
2150
- padding: var(--space-quarter);
2220
+ padding: var(--link-padding, var(--space-quarter));
2151
2221
  background: transparent;
2152
2222
  vertical-align: baseline;
2153
2223
  }
@@ -2178,6 +2248,8 @@ a.IconButton {
2178
2248
  --options-menu-hover-background-color: var(--gray-20);
2179
2249
  --options-menu-active-border-color: var(--accent-primary);
2180
2250
  --options-menu-border-color: var(--gray-40);
2251
+ --options-menu-width: auto;
2252
+ --options-menu-item-font-size: var(--text-size-smaller);
2181
2253
  }
2182
2254
 
2183
2255
  .cauldron--theme-dark {
@@ -2192,6 +2264,7 @@ a.IconButton {
2192
2264
  .OptionsMenu {
2193
2265
  position: relative;
2194
2266
  color: var(--text-color-base);
2267
+ width: var(--options-menu-width);
2195
2268
  }
2196
2269
 
2197
2270
  .OptionsMenu__trigger {
@@ -2216,7 +2289,7 @@ a.IconButton {
2216
2289
  color: var(--options-menu-text-color);
2217
2290
  display: none;
2218
2291
  position: absolute;
2219
- font-size: var(--text-size-smaller);
2292
+ font-size: var(--options-menu-item-font-size);
2220
2293
  list-style-type: none;
2221
2294
  margin: 0;
2222
2295
  padding: 0;
@@ -2322,12 +2395,18 @@ a.IconButton {
2322
2395
  --select-min-height: 33px;
2323
2396
  --select-width: 300px;
2324
2397
  --select-arrow-spacing: 10px;
2398
+ --field-select-max-width: 100%;
2399
+ --field-select-margin-bottom: var(--space-small);
2325
2400
  }
2326
2401
 
2327
2402
  .Field__select {
2328
2403
  display: flex;
2329
2404
  flex-direction: column;
2330
- margin-bottom: var(--space-small);
2405
+ margin-bottom: var(--field-select-margin-bottom);
2406
+ }
2407
+
2408
+ .Field__select + .Field__select {
2409
+ margin-top: 0;
2331
2410
  }
2332
2411
 
2333
2412
  .Field__select--disabled {
@@ -2337,7 +2416,7 @@ a.IconButton {
2337
2416
  .Field__select--wrapper {
2338
2417
  position: relative;
2339
2418
  width: var(--select-width);
2340
- max-width: 100%;
2419
+ max-width: var(--field-select-max-width);
2341
2420
  }
2342
2421
 
2343
2422
  .arrow-down {
@@ -2378,7 +2457,8 @@ a.IconButton {
2378
2457
 
2379
2458
  .Field__select--wrapper select:focus {
2380
2459
  border-color: var(--field-border-color-focus);
2381
- box-shadow: 0 0 0 1px var(--field-border-color-focus),
2460
+ box-shadow:
2461
+ 0 0 0 1px var(--field-border-color-focus),
2382
2462
  0 0 5px var(--field-border-color-focus-glow),
2383
2463
  inset 0 1px 2px rgba(0, 0, 0, 0.05);
2384
2464
  }
@@ -2401,7 +2481,8 @@ a.IconButton {
2401
2481
  .Field__select--wrapper select:invalid:focus,
2402
2482
  .Field__select--wrapper.Field--has-error select:focus {
2403
2483
  border-color: var(--field-border-color-error);
2404
- box-shadow: rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2484
+ box-shadow:
2485
+ rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2405
2486
  var(--field-border-color-error) 0 0 0 1px,
2406
2487
  var(--field-border-color-error-focus-glow) 0 0 5px 0;
2407
2488
  }
@@ -2645,7 +2726,7 @@ a.IconButton {
2645
2726
 
2646
2727
  .Toast {
2647
2728
  top: var(--top-bar-height);
2648
- position: fixed;
2729
+ position: var(--toast-position, fixed);
2649
2730
  right: 0;
2650
2731
  left: 0;
2651
2732
  color: #0b0e11;
@@ -2916,22 +2997,31 @@ button.TooltipTabstop {
2916
2997
  --top-bar-accent-warning-other: var(--accent-danger-light);
2917
2998
  --top-bar-height: 70px;
2918
2999
  --top-bar-height-thin: 43px;
3000
+ --top-bar-position: fixed;
3001
+ --top-bar-padding-inline-start: 0;
3002
+ --top-bar-menu-flex: auto;
3003
+ --top-bar-button-max-width: none;
3004
+ --top-bar-button-flex-direction: row;
3005
+ --top-bar-button-font-size: var(--text-size-small);
3006
+ --top-bar-item-padding: 0 var(--space-small);
3007
+ --top-bar-border-bottom: solid 1px var(--top-bar-border-bottom-color);
2919
3008
  }
2920
3009
 
2921
3010
  .TopBar {
2922
- position: fixed;
3011
+ position: var(--top-bar-position);
2923
3012
  width: 100%;
2924
3013
  height: var(--top-bar-height);
2925
3014
  top: 0;
2926
3015
  flex: none;
2927
- flex-direction: row;
2928
3016
  box-sizing: border-box;
2929
3017
  z-index: var(--z-index-top-bar);
2930
3018
  display: flex;
2931
3019
  align-items: center;
2932
3020
  background-color: var(--top-bar-background-color);
2933
3021
  color: var(--top-bar-text-color);
2934
- border-bottom: solid 1px var(--top-bar-border-bottom-color);
3022
+ border-bottom: var(--top-bar-border-bottom);
3023
+ -webkit-padding-start: var(--top-bar-padding-inline-start);
3024
+ padding-inline-start: var(--top-bar-padding-inline-start);
2935
3025
  }
2936
3026
 
2937
3027
  .TopBar--thin .TopBar {
@@ -2942,12 +3032,15 @@ button.TooltipTabstop {
2942
3032
  list-style-type: none;
2943
3033
  display: flex;
2944
3034
  align-items: center;
2945
- flex: auto;
3035
+ flex: var(--top-bar-menu-flex);
2946
3036
  }
2947
3037
 
2948
3038
  .TopBar li button {
2949
3039
  background: transparent;
2950
3040
  color: inherit;
3041
+ max-width: var(--top-bar-button-max-width);
3042
+ font-size: var(--top-bar-button-font-size);
3043
+ flex-direction: var(--top-bar-button-flex-direction);
2951
3044
  }
2952
3045
 
2953
3046
  .TopBar > ul > li {
@@ -2962,7 +3055,7 @@ button.TooltipTabstop {
2962
3055
  }
2963
3056
 
2964
3057
  .TopBar > ul > li:not(.TopBar__menu-trigger) {
2965
- padding: 0 var(--space-small);
3058
+ padding: var(--top-bar-item-padding);
2966
3059
  font-size: var(--text-size-small);
2967
3060
  height: var(--top-bar-height);
2968
3061
  display: flex;
@@ -3059,10 +3152,7 @@ button.TooltipTabstop {
3059
3152
  --top-bar-border-bottom-color: var(--gray-70);
3060
3153
  --top-bar-text-color: var(--accent-light);
3061
3154
  --top-bar-background-color-active: #0b0e11;
3062
- }
3063
-
3064
- .cauldron--theme-dark .TopBar {
3065
- border-bottom: none;
3155
+ --top-bar-border-bottom: none;
3066
3156
  }
3067
3157
 
3068
3158
  .cauldron--theme-dark .TopBar [aria-current='page'] {
@@ -3325,6 +3415,9 @@ button.TooltipTabstop {
3325
3415
  --code-text-color: var(--accent-primary-active);
3326
3416
  --code-border-color: var(--stroke-light);
3327
3417
  --code-background-color: var(--background-light);
3418
+ --code-padding: var(--space-smaller);
3419
+ --code-border: 1px solid var(--code-border-color);
3420
+ --code-display: block;
3328
3421
  }
3329
3422
 
3330
3423
  .cauldron--theme-dark {
@@ -3343,10 +3436,10 @@ button.TooltipTabstop {
3343
3436
  }
3344
3437
 
3345
3438
  .Code.hljs {
3346
- display: block;
3347
- padding: var(--space-smaller);
3439
+ display: var(--code-display);
3440
+ padding: var(--code-padding);
3348
3441
  background: var(--code-background-color);
3349
- border: 1px solid var(--code-border-color);
3442
+ border: var(--code-border);
3350
3443
  border-radius: 3px;
3351
3444
  color: var(--code-text-color);
3352
3445
  word-break: break-all;
@@ -3559,10 +3652,17 @@ button.TooltipTabstop {
3559
3652
  var(--space-largest);
3560
3653
  --tab-panel-horizontal-padding: var(--space-large) var(--space-small);
3561
3654
  --tabs-active-text-color: var(--accent-primary-active);
3655
+ --tab-height: 2.875rem;
3656
+ --tab-font-size: inherit;
3657
+ --tab-flex: initial;
3658
+ --tab-panel-border: none;
3659
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3660
+ --tabs-width: fit-content;
3562
3661
  }
3563
3662
 
3564
3663
  .cauldron--theme-dark {
3565
3664
  --tabs-border-color: var(--accent-dark);
3665
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3566
3666
  --tab-shadow-color: var(--accent-info);
3567
3667
  --tab-panel-background-color: var(--accent-medium);
3568
3668
  --tab-inactive-background-color: var(--accent-medium);
@@ -3574,8 +3674,7 @@ button.TooltipTabstop {
3574
3674
  }
3575
3675
 
3576
3676
  .Tabs {
3577
- width: -moz-fit-content;
3578
- width: fit-content;
3677
+ width: var(--tabs-width);
3579
3678
  }
3580
3679
 
3581
3680
  .Tabs--vertical {
@@ -3594,7 +3693,7 @@ button.TooltipTabstop {
3594
3693
 
3595
3694
  .Tabs--horizontal {
3596
3695
  width: 100%;
3597
- border-bottom: 1px solid var(--tabs-border-color);
3696
+ border-bottom: var(--tabs-horizontal-border-bottom);
3598
3697
  background-color: var(--tab-inactive-background-color);
3599
3698
  }
3600
3699
 
@@ -3616,12 +3715,14 @@ button.TooltipTabstop {
3616
3715
  display: flex;
3617
3716
  justify-content: center;
3618
3717
  align-items: center;
3619
- height: 2.875rem;
3718
+ height: var(--tab-height);
3620
3719
  white-space: nowrap;
3621
3720
  list-style-type: none;
3622
3721
  background-color: var(--tab-inactive-background-color);
3623
3722
  color: var(--tab-inactive-text-color);
3624
3723
  padding: var(--space-small);
3724
+ font-size: var(--tab-font-size);
3725
+ flex: var(--tab-flex);
3625
3726
  }
3626
3727
 
3627
3728
  .Tabs--vertical .Tab {
@@ -3663,6 +3764,7 @@ button.TooltipTabstop {
3663
3764
  overflow-wrap: break-word;
3664
3765
  color: var(--tab-panel-color);
3665
3766
  background-color: var(--tab-panel-background-color);
3767
+ border: var(--tab-panel-border);
3666
3768
  }
3667
3769
 
3668
3770
  .TabPanel > * {
@@ -3682,6 +3784,7 @@ button.TooltipTabstop {
3682
3784
  --tag-text-color: var(--gray-90);
3683
3785
  --tag-background-color: var(--background-light);
3684
3786
  --tag-border-color: var(--gray-30);
3787
+ --tag-margin: 0;
3685
3788
 
3686
3789
  --tag-height: var(--button-height);
3687
3790
  --tag-small-height: 1.5rem;
@@ -3704,6 +3807,7 @@ button.TooltipTabstop {
3704
3807
  justify-content: center;
3705
3808
  align-items: center;
3706
3809
  padding: 0 var(--space-smallest);
3810
+ margin: var(--tag-margin);
3707
3811
  min-height: var(--tag-height);
3708
3812
  font-size: var(--tag-font-size);
3709
3813
  }
@@ -4200,14 +4304,16 @@ button.TooltipTabstop {
4200
4304
  --panel-padding: var(--space-small);
4201
4305
  --panel-divider-border-color: var(--gray-40);
4202
4306
  --panel-content-color: var(--gray-80);
4307
+ --panel-border: 1px solid var(--panel-border-color);
4308
+ --panel-box-shadow: var(--drop-shadow-raised);
4203
4309
  }
4204
4310
 
4205
4311
  .Panel {
4206
4312
  padding: var(--panel-padding);
4207
4313
  margin: 0;
4208
- border: 1px solid var(--panel-border-color);
4314
+ border: var(--panel-border);
4209
4315
  border-radius: 3px;
4210
- box-shadow: var(--drop-shadow-raised);
4316
+ box-shadow: var(--panel-box-shadow);
4211
4317
  background-color: var(--panel-background-color);
4212
4318
  word-break: break-word;
4213
4319
  color: var(--panel-content-color);
@@ -4619,23 +4725,36 @@ fieldset.Panel {
4619
4725
  --progress-bar-background-color: var(--accent-dark);
4620
4726
  --progress-bar-fill-color: var(--accent-info-light);
4621
4727
  --progress-bar-animation-timing: 150ms;
4728
+ --progress-bar-padding: 2px;
4729
+ --progress-bar-border-radius: calc((var(--space-small) * 0.5) + 2px);
4730
+ --progress-bar-fill-height: var(--space-small);
4731
+ --progress-bar-fill-border-radius: calc(var(--space-small) * 0.5);
4732
+ --progress-bar-fill-min-width: var(--space-small);
4622
4733
  }
4623
4734
 
4624
4735
  .ProgressBar {
4625
4736
  background-color: var(--progress-bar-background-color);
4626
- padding: 2px;
4627
- border-radius: calc((var(--space-small) * 0.5) + 2px);
4737
+ padding: var(--progress-bar-padding);
4738
+ border-radius: var(--progress-bar-border-radius);
4628
4739
  margin-bottom: var(--space-smallest);
4629
4740
  }
4630
4741
 
4631
4742
  .ProgressBar--fill {
4632
- border-radius: calc(var(--space-small) * 0.5);
4743
+ border-radius: var(--progress-bar-fill-border-radius);
4633
4744
  background-color: var(--progress-bar-fill-color);
4634
- height: var(--space-small);
4635
- min-width: var(--space-small);
4745
+ height: var(--progress-bar-fill-height);
4746
+ min-width: var(--progress-bar-fill-min-width);
4636
4747
  transition: width linear var(--progress-bar-animation-timing);
4637
4748
  }
4638
4749
 
4750
+ .ProgressBar--thin {
4751
+ --progress-bar-padding: 3px;
4752
+ --progress-bar-border-radius: 3px;
4753
+ --progress-bar-fill-height: var(--space-half);
4754
+ --progress-bar-fill-border-radius: 1px;
4755
+ --progress-bar-fill-min-width: 1px;
4756
+ }
4757
+
4639
4758
  .cauldron--theme-dark .Icon--robot circle {
4640
4759
  stroke: var(--accent-light);
4641
4760
  stroke-width: 2px;
@@ -5088,6 +5207,9 @@ fieldset.Panel {
5088
5207
  --accordion-trigger-box-shadow-hover: var(--accent-primary);
5089
5208
  --accordion-trigger-border-color: var(--gray-40);
5090
5209
  --accordion-trigger-icon-color: var(--gray-90);
5210
+ --accordion-trigger-padding: calc(var(--space-small) - var(--space-half));
5211
+ --accordion-trigger-text-decoration: underline solid
5212
+ var(--accordion-trigger-text-color);
5091
5213
  --accordion-panel-background-color: var(--white);
5092
5214
  --accordion-panel-text-color: var(--gray-90);
5093
5215
  --accordion-panel-border-color: var(--gray-40);
@@ -5115,7 +5237,7 @@ fieldset.Panel {
5115
5237
  .Accordion__trigger,
5116
5238
  button.Accordion__trigger {
5117
5239
  background-color: var(--accordion-trigger-background-color);
5118
- padding: calc(var(--space-small) - var(--space-half));
5240
+ padding: var(--accordion-trigger-padding);
5119
5241
  width: 100%;
5120
5242
  display: flex;
5121
5243
  align-items: center;
@@ -5124,8 +5246,8 @@ button.Accordion__trigger {
5124
5246
  font-size: var(--text-size-small);
5125
5247
  margin-top: var(--space-small);
5126
5248
  color: var(--accordion-trigger-text-color);
5127
- -webkit-text-decoration: underline solid var(--accordion-trigger-text-color);
5128
- text-decoration: underline solid var(--accordion-trigger-text-color);
5249
+ -webkit-text-decoration: var(--accordion-trigger-text-decoration);
5250
+ text-decoration: var(--accordion-trigger-text-decoration);
5129
5251
  }
5130
5252
 
5131
5253
  .Accordion__trigger[aria-expanded='true'] {
@@ -5199,7 +5321,7 @@ button.Accordion__trigger {
5199
5321
  display: grid;
5200
5322
  grid-template-columns: auto 1fr;
5201
5323
  gap: 0 var(--space-small);
5202
- padding: var(--space-large);
5324
+ padding: var(--notice-padding, var(--space-large));
5203
5325
  align-items: start;
5204
5326
  border-radius: 4px;
5205
5327
  border: 1px solid var(--notice-border-color);
@@ -5302,6 +5424,7 @@ button.Accordion__trigger {
5302
5424
  --combobox-listbox-background-color: var(--accent-medium);
5303
5425
  --combobox-group-label-background-color: var(--accent-dark);
5304
5426
  --combobox-option-selected-icon-color: var(--accent-info);
5427
+ --combobox-arrow-color: var(--text-color-light);
5305
5428
  }
5306
5429
 
5307
5430
  .Combobox :where(.TextFieldWrapper) {
@@ -5410,6 +5533,7 @@ button.Accordion__trigger {
5410
5533
  position: absolute;
5411
5534
  right: 0;
5412
5535
  pointer-events: none;
5536
+ color: var(--combobox-arrow-color, currentColor);
5413
5537
  }
5414
5538
 
5415
5539
  .Combobox__arrow:before {
@@ -6286,3 +6410,66 @@ button.Accordion__trigger {
6286
6410
  .ActionListItem__description {
6287
6411
  color: var(--action-list-item-disabled-text-color);
6288
6412
  }
6413
+
6414
+ /**
6415
+ * Compact density preset for constrained viewports.
6416
+ *
6417
+ * Apply the `.cauldron--density-compact` class to the root element (e.g. <body>)
6418
+ * alongside the theme class to get tighter sizing across all components.
6419
+ * This is designed for embedded UIs like browser extension panels.
6420
+ *
6421
+ * Works orthogonally to theme classes:
6422
+ * <body class="cauldron--theme-dark cauldron--density-compact">
6423
+ */
6424
+
6425
+ .cauldron--density-compact {
6426
+ /* TopBar: static positioning for embedded contexts, compact button layout */
6427
+ --top-bar-position: static;
6428
+ --top-bar-padding-inline-start: var(--space-small);
6429
+ --top-bar-menu-flex: initial;
6430
+ --top-bar-button-max-width: 80px;
6431
+ --top-bar-button-flex-direction: column;
6432
+ --top-bar-button-font-size: var(--text-size-smallest);
6433
+ --top-bar-item-padding: 0;
6434
+
6435
+ /* Tabs: fill width, smaller font */
6436
+ --tabs-width: auto;
6437
+ --tab-font-size: var(--text-size-small);
6438
+ --tab-flex: 1;
6439
+
6440
+ /* Tags: use small variant sizing by default */
6441
+ --tag-height: var(--tag-small-height);
6442
+ --tag-font-size: var(--text-size-smaller);
6443
+
6444
+ /* Dialog: viewport-aware positioning for short viewports (e.g. docked devtools) */
6445
+ --dialog-vertical-offset: clamp(8px, calc(18vh - 50px), 100px);
6446
+ --dialog-content-line-height: 1.4;
6447
+
6448
+ /* OptionsMenu: auto-width for narrow viewports */
6449
+ --options-menu-width: auto;
6450
+
6451
+ /* Toast: static positioning (no fixed TopBar to anchor to) */
6452
+ --toast-position: static;
6453
+
6454
+ /* Field select: constrained width */
6455
+ --select-width: clamp(0px, 25rem, 100%);
6456
+
6457
+ /* Code: inline compact display */
6458
+ --code-display: inline;
6459
+ --code-padding: var(--space-quarter) var(--space-half);
6460
+ --code-border: none;
6461
+ }
6462
+
6463
+ /* TopBar buttons: vertical icon-above-label layout in compact mode */
6464
+
6465
+ .cauldron--density-compact .TopBar li button:not(.Link) {
6466
+ display: flex;
6467
+ align-items: center;
6468
+ white-space: normal;
6469
+ }
6470
+
6471
+ /* TopBar: restore padding on items containing text links (not icon buttons) */
6472
+
6473
+ .cauldron--density-compact .TopBar > ul > li:has(button.Link) {
6474
+ padding: 0 var(--space-small);
6475
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-styles",
3
- "version": "6.25.3",
3
+ "version": "6.26.0-canary.290ddaeb",
4
4
  "license": "MPL-2.0",
5
5
  "description": "deque cauldron pattern library styles",
6
6
  "repository": "https://github.com/dequelabs/cauldron",