@deque/cauldron-styles 6.26.0 → 6.27.0-canary.06fc1451

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 +238 -82
  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 {
@@ -1497,8 +1497,10 @@ button.Link {
1497
1497
  min-width: var(--button-thin-height);
1498
1498
  }
1499
1499
 
1500
+ /* Custom property for button sibling gap. Will be deprecated in https://github.com/dequelabs/cauldron/issues/1944 */
1501
+
1500
1502
  [class*='Button--'] + [class*='Button--'] {
1501
- margin-left: var(--space-smallest);
1503
+ margin-left: var(--button-sibling-gap, var(--space-smallest));
1502
1504
  }
1503
1505
 
1504
1506
  /* Dark Theme */
@@ -1701,6 +1703,12 @@ button.Link {
1701
1703
  --button-background-color-error-disabled
1702
1704
  );
1703
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);
1704
1712
  }
1705
1713
 
1706
1714
  .IconButton {
@@ -1797,7 +1805,7 @@ a.IconButton {
1797
1805
  }
1798
1806
 
1799
1807
  .IconButton--primary:not([disabled]):not([aria-disabled='true']):hover:before {
1800
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-primary);
1808
+ box-shadow: var(--icon-button-hover-shadow-primary);
1801
1809
  }
1802
1810
 
1803
1811
  .IconButton--primary:active {
@@ -1816,14 +1824,14 @@ a.IconButton {
1816
1824
  .IconButton--tertiary:not([disabled]):not([aria-disabled='true']):is(
1817
1825
  :hover
1818
1826
  ):before {
1819
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-secondary);
1827
+ box-shadow: var(--icon-button-hover-shadow-secondary);
1820
1828
  }
1821
1829
 
1822
1830
  .IconButton--tertiary:is(
1823
- :not(:hover, :focus, :active),
1824
- [disabled],
1825
- [aria-disabled='true']
1826
- ) {
1831
+ :not(:hover, :focus, :active),
1832
+ [disabled],
1833
+ [aria-disabled='true']
1834
+ ) {
1827
1835
  border-color: transparent;
1828
1836
  background-color: transparent;
1829
1837
  }
@@ -1839,7 +1847,7 @@ a.IconButton {
1839
1847
  }
1840
1848
 
1841
1849
  .IconButton--error:not([disabled]):not([aria-disabled='true']):hover:before {
1842
- box-shadow: 0 0 0 1px var(--icon-button-outline-color-error);
1850
+ box-shadow: var(--icon-button-hover-shadow-error);
1843
1851
  }
1844
1852
 
1845
1853
  .IconButton--error:active {
@@ -1875,6 +1883,17 @@ a.IconButton {
1875
1883
  --icon-button-background-color-error-active: var(
1876
1884
  --button-background-color-error-active
1877
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);
1878
1897
  }
1879
1898
 
1880
1899
  .cauldron--theme-dark .IconButton--primary {
@@ -1911,34 +1930,9 @@ a.IconButton {
1911
1930
  color: var(--icon-button-disabled-color);
1912
1931
  }
1913
1932
 
1914
- .cauldron--theme-dark
1915
- .IconButton--primary:not([disabled]):not(
1916
- [aria-disabled='true']
1917
- ):hover:before {
1918
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1919
- 0 0 0 2px var(--icon-button-outline-color-primary);
1920
- }
1921
-
1922
- .cauldron--theme-dark
1923
- .IconButton--secondary:not([disabled]):not(
1924
- [aria-disabled='true']
1925
- ):hover:before,
1926
- .cauldron--theme-dark
1927
- .IconButton--tertiary:not([disabled]):not(
1928
- [aria-disabled='true']
1929
- ):hover:before {
1930
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1931
- 0 0 0 2px var(--icon-button-outline-color-secondary);
1932
- }
1933
-
1934
- .cauldron--theme-dark
1935
- .IconButton--error:not([disabled]):not([aria-disabled='true']):hover:before {
1936
- box-shadow: 0 0 0 1px var(--icon-button-outline-shadow-color),
1937
- 0 0 0 2px var(--icon-button-outline-color-error);
1938
- }
1939
-
1940
1933
  .cauldron--theme-dark .IconButton:focus:before {
1941
- 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),
1942
1936
  0 0 0 4px var(--button-focus-ring-color, --focus);
1943
1937
  }
1944
1938
 
@@ -1954,10 +1948,16 @@ a.IconButton {
1954
1948
  --dialog-footer-background-color: var(--gray-20);
1955
1949
  --dialog-heading-text-color: var(--header-text-color-dark);
1956
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);
1957
1956
  --dialog-header-height: 2.625rem;
1958
1957
  --dialog-close-button-size: var(--target-size-minimum);
1959
1958
  --dialog-vertical-offset: 6.25rem;
1960
1959
  --dialog-bottom-spacing: 1.875rem;
1960
+ --dialog-content-line-height: inherit;
1961
1961
  }
1962
1962
 
1963
1963
  .cauldron--theme-dark {
@@ -2000,12 +2000,12 @@ a.IconButton {
2000
2000
  .Dialog__header {
2001
2001
  display: flex;
2002
2002
  background-color: var(--dialog-header-background-color);
2003
- border-bottom: 1px solid var(--dialog-border-color);
2003
+ border-bottom: var(--dialog-header-border);
2004
2004
  align-items: center;
2005
2005
  justify-content: space-between;
2006
2006
  min-height: var(--dialog-header-height);
2007
2007
  font-weight: var(--font-weight-bold);
2008
- padding: var(--space-smallest) 0;
2008
+ padding: var(--dialog-header-padding);
2009
2009
  gap: var(--space-smallest);
2010
2010
  }
2011
2011
 
@@ -2071,7 +2071,8 @@ a.IconButton {
2071
2071
  }
2072
2072
 
2073
2073
  .Dialog__content {
2074
- padding: var(--dialog-padding);
2074
+ padding: var(--dialog-content-padding);
2075
+ line-height: var(--dialog-content-line-height);
2075
2076
  }
2076
2077
 
2077
2078
  .Dialog__content p:first-child {
@@ -2084,8 +2085,8 @@ a.IconButton {
2084
2085
 
2085
2086
  .Dialog__footer {
2086
2087
  background-color: var(--dialog-footer-background-color);
2087
- border-top: 1px solid var(--dialog-border-color);
2088
- padding: var(--dialog-padding);
2088
+ border-top: var(--dialog-footer-border);
2089
+ padding: var(--dialog-footer-padding);
2089
2090
  }
2090
2091
 
2091
2092
  /**
@@ -2129,6 +2130,15 @@ a.IconButton {
2129
2130
  border-width: 4px;
2130
2131
  }
2131
2132
 
2133
+ /* Compensate for the larger dark theme border so Dialog dimensions remain consistent */
2134
+
2135
+ .cauldron--theme-dark .Dialog__content {
2136
+ --dialog-content-padding-compensation: 3px;
2137
+ padding: calc(
2138
+ var(--dialog-content-padding) - var(--dialog-content-padding-compensation)
2139
+ );
2140
+ }
2141
+
2132
2142
  .cauldron--theme-dark .Dialog__header {
2133
2143
  border-bottom: 1px solid var(--stroke-dark);
2134
2144
  }
@@ -2160,6 +2170,33 @@ a.IconButton {
2160
2170
  border-top: none;
2161
2171
  }
2162
2172
 
2173
+ .cauldron--theme-dark .Alert .Dialog__inner {
2174
+ background-color: var(--accent-dark);
2175
+ }
2176
+
2177
+ .cauldron--theme-dark .Alert .Dialog__header {
2178
+ background-color: var(--accent-medium);
2179
+ border-bottom: none;
2180
+ }
2181
+
2182
+ .cauldron--theme-dark .Alert .Dialog__footer {
2183
+ background-color: transparent;
2184
+ border-top: none;
2185
+ }
2186
+
2187
+ .cauldron--theme-dark .Alert .Dialog__content .Link,
2188
+ .cauldron--theme-dark .Alert .Dialog__content .Link:hover {
2189
+ color: currentColor;
2190
+ }
2191
+
2192
+ /* Dark theme: checked checkbox/radio icons in Dialogs should inherit the
2193
+ dialog's text color rather than using the global checked color */
2194
+
2195
+ .cauldron--theme-dark .Dialog .Checkbox__overlay.Icon--checkbox-checked,
2196
+ .cauldron--theme-dark .Dialog .Radio__overlay.Icon--radio-checked {
2197
+ color: currentColor;
2198
+ }
2199
+
2163
2200
  :root {
2164
2201
  --link-text-color: var(--gray-90);
2165
2202
  --link-text-color-hover: #3873a3;
@@ -2174,7 +2211,7 @@ a.IconButton {
2174
2211
  .Link {
2175
2212
  text-decoration: underline;
2176
2213
  color: var(--link-text-color);
2177
- padding: var(--space-quarter);
2214
+ padding: var(--link-padding, var(--space-quarter));
2178
2215
  background: transparent;
2179
2216
  vertical-align: baseline;
2180
2217
  }
@@ -2190,8 +2227,8 @@ a.IconButton {
2190
2227
  }
2191
2228
 
2192
2229
  .Link:where(:has(.Icon)) {
2193
- max-width: -moz-max-content;
2194
- max-width: max-content;
2230
+ width: -moz-fit-content;
2231
+ width: fit-content;
2195
2232
  display: inline-flex;
2196
2233
  align-items: center;
2197
2234
  gap: var(--space-half);
@@ -2205,6 +2242,8 @@ a.IconButton {
2205
2242
  --options-menu-hover-background-color: var(--gray-20);
2206
2243
  --options-menu-active-border-color: var(--accent-primary);
2207
2244
  --options-menu-border-color: var(--gray-40);
2245
+ --options-menu-width: auto;
2246
+ --options-menu-item-font-size: var(--text-size-smaller);
2208
2247
  }
2209
2248
 
2210
2249
  .cauldron--theme-dark {
@@ -2219,6 +2258,7 @@ a.IconButton {
2219
2258
  .OptionsMenu {
2220
2259
  position: relative;
2221
2260
  color: var(--text-color-base);
2261
+ width: var(--options-menu-width);
2222
2262
  }
2223
2263
 
2224
2264
  .OptionsMenu__trigger {
@@ -2243,7 +2283,7 @@ a.IconButton {
2243
2283
  color: var(--options-menu-text-color);
2244
2284
  display: none;
2245
2285
  position: absolute;
2246
- font-size: var(--text-size-smaller);
2286
+ font-size: var(--options-menu-item-font-size);
2247
2287
  list-style-type: none;
2248
2288
  margin: 0;
2249
2289
  padding: 0;
@@ -2349,12 +2389,18 @@ a.IconButton {
2349
2389
  --select-min-height: 33px;
2350
2390
  --select-width: 300px;
2351
2391
  --select-arrow-spacing: 10px;
2392
+ --field-select-max-width: 100%;
2393
+ --field-select-margin-bottom: var(--space-small);
2352
2394
  }
2353
2395
 
2354
2396
  .Field__select {
2355
2397
  display: flex;
2356
2398
  flex-direction: column;
2357
- margin-bottom: var(--space-small);
2399
+ margin-bottom: var(--field-select-margin-bottom);
2400
+ }
2401
+
2402
+ .Field__select + .Field__select {
2403
+ margin-top: 0;
2358
2404
  }
2359
2405
 
2360
2406
  .Field__select--disabled {
@@ -2364,7 +2410,7 @@ a.IconButton {
2364
2410
  .Field__select--wrapper {
2365
2411
  position: relative;
2366
2412
  width: var(--select-width);
2367
- max-width: 100%;
2413
+ max-width: var(--field-select-max-width);
2368
2414
  }
2369
2415
 
2370
2416
  .arrow-down {
@@ -2405,7 +2451,8 @@ a.IconButton {
2405
2451
 
2406
2452
  .Field__select--wrapper select:focus {
2407
2453
  border-color: var(--field-border-color-focus);
2408
- box-shadow: 0 0 0 1px var(--field-border-color-focus),
2454
+ box-shadow:
2455
+ 0 0 0 1px var(--field-border-color-focus),
2409
2456
  0 0 5px var(--field-border-color-focus-glow),
2410
2457
  inset 0 1px 2px rgba(0, 0, 0, 0.05);
2411
2458
  }
@@ -2414,26 +2461,28 @@ a.IconButton {
2414
2461
  border-color: var(--field-border-color-focus-hover);
2415
2462
  }
2416
2463
 
2417
- .Field__select--wrapper select:invalid,
2464
+ .Field__select--wrapper select:user-invalid,
2418
2465
  .Field--has-error select {
2419
2466
  border-width: 1px;
2420
2467
  border-color: var(--field-border-color-error);
2421
2468
  }
2422
2469
 
2470
+ .Field__select--wrapper select:user-invalid:hover,
2423
2471
  .Field__select--wrapper.Field--has-error select:hover {
2424
2472
  border-color: var(--field-border-color-error-hover);
2425
2473
  box-shadow: 0 0 0 1px var(--field-border-color-error-hover);
2426
2474
  }
2427
2475
 
2428
- .Field__select--wrapper select:invalid:focus,
2476
+ .Field__select--wrapper select:user-invalid:focus,
2429
2477
  .Field__select--wrapper.Field--has-error select:focus {
2430
2478
  border-color: var(--field-border-color-error);
2431
- box-shadow: rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2479
+ box-shadow:
2480
+ rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2432
2481
  var(--field-border-color-error) 0 0 0 1px,
2433
2482
  var(--field-border-color-error-focus-glow) 0 0 5px 0;
2434
2483
  }
2435
2484
 
2436
- .Field__select--wrapper select:invalid:focus:hover,
2485
+ .Field__select--wrapper select:user-invalid:focus:hover,
2437
2486
  .Field__select--wrapper.Field--has-error select:focus:hover {
2438
2487
  border-color: var(--field-border-color-error-hover);
2439
2488
  }
@@ -2672,7 +2721,7 @@ a.IconButton {
2672
2721
 
2673
2722
  .Toast {
2674
2723
  top: var(--top-bar-height);
2675
- position: fixed;
2724
+ position: var(--toast-position, fixed);
2676
2725
  right: 0;
2677
2726
  left: 0;
2678
2727
  color: #0b0e11;
@@ -2943,22 +2992,31 @@ button.TooltipTabstop {
2943
2992
  --top-bar-accent-warning-other: var(--accent-danger-light);
2944
2993
  --top-bar-height: 70px;
2945
2994
  --top-bar-height-thin: 43px;
2995
+ --top-bar-position: fixed;
2996
+ --top-bar-padding-inline-start: 0;
2997
+ --top-bar-menu-flex: auto;
2998
+ --top-bar-button-max-width: none;
2999
+ --top-bar-button-flex-direction: row;
3000
+ --top-bar-button-font-size: var(--text-size-small);
3001
+ --top-bar-item-padding: 0 var(--space-small);
3002
+ --top-bar-border-bottom: solid 1px var(--top-bar-border-bottom-color);
2946
3003
  }
2947
3004
 
2948
3005
  .TopBar {
2949
- position: fixed;
3006
+ position: var(--top-bar-position);
2950
3007
  width: 100%;
2951
3008
  height: var(--top-bar-height);
2952
3009
  top: 0;
2953
3010
  flex: none;
2954
- flex-direction: row;
2955
3011
  box-sizing: border-box;
2956
3012
  z-index: var(--z-index-top-bar);
2957
3013
  display: flex;
2958
3014
  align-items: center;
2959
3015
  background-color: var(--top-bar-background-color);
2960
3016
  color: var(--top-bar-text-color);
2961
- border-bottom: solid 1px var(--top-bar-border-bottom-color);
3017
+ border-bottom: var(--top-bar-border-bottom);
3018
+ -webkit-padding-start: var(--top-bar-padding-inline-start);
3019
+ padding-inline-start: var(--top-bar-padding-inline-start);
2962
3020
  }
2963
3021
 
2964
3022
  .TopBar--thin .TopBar {
@@ -2969,12 +3027,15 @@ button.TooltipTabstop {
2969
3027
  list-style-type: none;
2970
3028
  display: flex;
2971
3029
  align-items: center;
2972
- flex: auto;
3030
+ flex: var(--top-bar-menu-flex);
2973
3031
  }
2974
3032
 
2975
3033
  .TopBar li button {
2976
3034
  background: transparent;
2977
3035
  color: inherit;
3036
+ max-width: var(--top-bar-button-max-width);
3037
+ font-size: var(--top-bar-button-font-size);
3038
+ flex-direction: var(--top-bar-button-flex-direction);
2978
3039
  }
2979
3040
 
2980
3041
  .TopBar > ul > li {
@@ -2989,7 +3050,7 @@ button.TooltipTabstop {
2989
3050
  }
2990
3051
 
2991
3052
  .TopBar > ul > li:not(.TopBar__menu-trigger) {
2992
- padding: 0 var(--space-small);
3053
+ padding: var(--top-bar-item-padding);
2993
3054
  font-size: var(--text-size-small);
2994
3055
  height: var(--top-bar-height);
2995
3056
  display: flex;
@@ -3086,10 +3147,7 @@ button.TooltipTabstop {
3086
3147
  --top-bar-border-bottom-color: var(--gray-70);
3087
3148
  --top-bar-text-color: var(--accent-light);
3088
3149
  --top-bar-background-color-active: #0b0e11;
3089
- }
3090
-
3091
- .cauldron--theme-dark .TopBar {
3092
- border-bottom: none;
3150
+ --top-bar-border-bottom: none;
3093
3151
  }
3094
3152
 
3095
3153
  .cauldron--theme-dark .TopBar [aria-current='page'] {
@@ -3147,7 +3205,8 @@ button.TooltipTabstop {
3147
3205
  border-radius: 2px;
3148
3206
  }
3149
3207
 
3150
- .SkipLink span {
3208
+ .SkipLink .SkipLink__item--first,
3209
+ .SkipLink .SkipLink__item--second {
3151
3210
  display: block;
3152
3211
  }
3153
3212
 
@@ -3352,6 +3411,9 @@ button.TooltipTabstop {
3352
3411
  --code-text-color: var(--accent-primary-active);
3353
3412
  --code-border-color: var(--stroke-light);
3354
3413
  --code-background-color: var(--background-light);
3414
+ --code-padding: var(--space-smaller);
3415
+ --code-border: 1px solid var(--code-border-color);
3416
+ --code-display: block;
3355
3417
  }
3356
3418
 
3357
3419
  .cauldron--theme-dark {
@@ -3370,10 +3432,10 @@ button.TooltipTabstop {
3370
3432
  }
3371
3433
 
3372
3434
  .Code.hljs {
3373
- display: block;
3374
- padding: var(--space-smaller);
3435
+ display: var(--code-display);
3436
+ padding: var(--code-padding);
3375
3437
  background: var(--code-background-color);
3376
- border: 1px solid var(--code-border-color);
3438
+ border: var(--code-border);
3377
3439
  border-radius: 3px;
3378
3440
  color: var(--code-text-color);
3379
3441
  word-break: break-all;
@@ -3586,10 +3648,17 @@ button.TooltipTabstop {
3586
3648
  var(--space-largest);
3587
3649
  --tab-panel-horizontal-padding: var(--space-large) var(--space-small);
3588
3650
  --tabs-active-text-color: var(--accent-primary-active);
3651
+ --tab-height: 2.875rem;
3652
+ --tab-font-size: inherit;
3653
+ --tab-flex: initial;
3654
+ --tab-panel-border: none;
3655
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3656
+ --tabs-width: fit-content;
3589
3657
  }
3590
3658
 
3591
3659
  .cauldron--theme-dark {
3592
3660
  --tabs-border-color: var(--accent-dark);
3661
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3593
3662
  --tab-shadow-color: var(--accent-info);
3594
3663
  --tab-panel-background-color: var(--accent-medium);
3595
3664
  --tab-inactive-background-color: var(--accent-medium);
@@ -3601,8 +3670,7 @@ button.TooltipTabstop {
3601
3670
  }
3602
3671
 
3603
3672
  .Tabs {
3604
- width: -moz-fit-content;
3605
- width: fit-content;
3673
+ width: var(--tabs-width);
3606
3674
  }
3607
3675
 
3608
3676
  .Tabs--vertical {
@@ -3621,7 +3689,7 @@ button.TooltipTabstop {
3621
3689
 
3622
3690
  .Tabs--horizontal {
3623
3691
  width: 100%;
3624
- border-bottom: 1px solid var(--tabs-border-color);
3692
+ border-bottom: var(--tabs-horizontal-border-bottom);
3625
3693
  background-color: var(--tab-inactive-background-color);
3626
3694
  }
3627
3695
 
@@ -3643,12 +3711,14 @@ button.TooltipTabstop {
3643
3711
  display: flex;
3644
3712
  justify-content: center;
3645
3713
  align-items: center;
3646
- height: 2.875rem;
3714
+ height: var(--tab-height);
3647
3715
  white-space: nowrap;
3648
3716
  list-style-type: none;
3649
3717
  background-color: var(--tab-inactive-background-color);
3650
3718
  color: var(--tab-inactive-text-color);
3651
3719
  padding: var(--space-small);
3720
+ font-size: var(--tab-font-size);
3721
+ flex: var(--tab-flex);
3652
3722
  }
3653
3723
 
3654
3724
  .Tabs--vertical .Tab {
@@ -3690,6 +3760,7 @@ button.TooltipTabstop {
3690
3760
  overflow-wrap: break-word;
3691
3761
  color: var(--tab-panel-color);
3692
3762
  background-color: var(--tab-panel-background-color);
3763
+ border: var(--tab-panel-border);
3693
3764
  }
3694
3765
 
3695
3766
  .TabPanel > * {
@@ -3709,6 +3780,7 @@ button.TooltipTabstop {
3709
3780
  --tag-text-color: var(--gray-90);
3710
3781
  --tag-background-color: var(--background-light);
3711
3782
  --tag-border-color: var(--gray-30);
3783
+ --tag-margin: 0;
3712
3784
 
3713
3785
  --tag-height: var(--button-height);
3714
3786
  --tag-small-height: 1.5rem;
@@ -3731,6 +3803,7 @@ button.TooltipTabstop {
3731
3803
  justify-content: center;
3732
3804
  align-items: center;
3733
3805
  padding: 0 var(--space-smallest);
3806
+ margin: var(--tag-margin);
3734
3807
  min-height: var(--tag-height);
3735
3808
  font-size: var(--tag-font-size);
3736
3809
  }
@@ -4227,14 +4300,16 @@ button.TooltipTabstop {
4227
4300
  --panel-padding: var(--space-small);
4228
4301
  --panel-divider-border-color: var(--gray-40);
4229
4302
  --panel-content-color: var(--gray-80);
4303
+ --panel-border: 1px solid var(--panel-border-color);
4304
+ --panel-box-shadow: var(--drop-shadow-raised);
4230
4305
  }
4231
4306
 
4232
4307
  .Panel {
4233
4308
  padding: var(--panel-padding);
4234
4309
  margin: 0;
4235
- border: 1px solid var(--panel-border-color);
4310
+ border: var(--panel-border);
4236
4311
  border-radius: 3px;
4237
- box-shadow: var(--drop-shadow-raised);
4312
+ box-shadow: var(--panel-box-shadow);
4238
4313
  background-color: var(--panel-background-color);
4239
4314
  word-break: break-word;
4240
4315
  color: var(--panel-content-color);
@@ -4646,23 +4721,36 @@ fieldset.Panel {
4646
4721
  --progress-bar-background-color: var(--accent-dark);
4647
4722
  --progress-bar-fill-color: var(--accent-info-light);
4648
4723
  --progress-bar-animation-timing: 150ms;
4724
+ --progress-bar-padding: 2px;
4725
+ --progress-bar-border-radius: calc((var(--space-small) * 0.5) + 2px);
4726
+ --progress-bar-fill-height: var(--space-small);
4727
+ --progress-bar-fill-border-radius: calc(var(--space-small) * 0.5);
4728
+ --progress-bar-fill-min-width: var(--space-small);
4649
4729
  }
4650
4730
 
4651
4731
  .ProgressBar {
4652
4732
  background-color: var(--progress-bar-background-color);
4653
- padding: 2px;
4654
- border-radius: calc((var(--space-small) * 0.5) + 2px);
4733
+ padding: var(--progress-bar-padding);
4734
+ border-radius: var(--progress-bar-border-radius);
4655
4735
  margin-bottom: var(--space-smallest);
4656
4736
  }
4657
4737
 
4658
4738
  .ProgressBar--fill {
4659
- border-radius: calc(var(--space-small) * 0.5);
4739
+ border-radius: var(--progress-bar-fill-border-radius);
4660
4740
  background-color: var(--progress-bar-fill-color);
4661
- height: var(--space-small);
4662
- min-width: var(--space-small);
4741
+ height: var(--progress-bar-fill-height);
4742
+ min-width: var(--progress-bar-fill-min-width);
4663
4743
  transition: width linear var(--progress-bar-animation-timing);
4664
4744
  }
4665
4745
 
4746
+ .ProgressBar--thin {
4747
+ --progress-bar-padding: 3px;
4748
+ --progress-bar-border-radius: 3px;
4749
+ --progress-bar-fill-height: var(--space-half);
4750
+ --progress-bar-fill-border-radius: 1px;
4751
+ --progress-bar-fill-min-width: 1px;
4752
+ }
4753
+
4666
4754
  .cauldron--theme-dark .Icon--robot circle {
4667
4755
  stroke: var(--accent-light);
4668
4756
  stroke-width: 2px;
@@ -5115,6 +5203,9 @@ fieldset.Panel {
5115
5203
  --accordion-trigger-box-shadow-hover: var(--accent-primary);
5116
5204
  --accordion-trigger-border-color: var(--gray-40);
5117
5205
  --accordion-trigger-icon-color: var(--gray-90);
5206
+ --accordion-trigger-padding: calc(var(--space-small) - var(--space-half));
5207
+ --accordion-trigger-text-decoration: underline solid
5208
+ var(--accordion-trigger-text-color);
5118
5209
  --accordion-panel-background-color: var(--white);
5119
5210
  --accordion-panel-text-color: var(--gray-90);
5120
5211
  --accordion-panel-border-color: var(--gray-40);
@@ -5142,7 +5233,7 @@ fieldset.Panel {
5142
5233
  .Accordion__trigger,
5143
5234
  button.Accordion__trigger {
5144
5235
  background-color: var(--accordion-trigger-background-color);
5145
- padding: calc(var(--space-small) - var(--space-half));
5236
+ padding: var(--accordion-trigger-padding);
5146
5237
  width: 100%;
5147
5238
  display: flex;
5148
5239
  align-items: center;
@@ -5151,8 +5242,8 @@ button.Accordion__trigger {
5151
5242
  font-size: var(--text-size-small);
5152
5243
  margin-top: var(--space-small);
5153
5244
  color: var(--accordion-trigger-text-color);
5154
- -webkit-text-decoration: underline solid var(--accordion-trigger-text-color);
5155
- text-decoration: underline solid var(--accordion-trigger-text-color);
5245
+ -webkit-text-decoration: var(--accordion-trigger-text-decoration);
5246
+ text-decoration: var(--accordion-trigger-text-decoration);
5156
5247
  }
5157
5248
 
5158
5249
  .Accordion__trigger[aria-expanded='true'] {
@@ -5226,7 +5317,7 @@ button.Accordion__trigger {
5226
5317
  display: grid;
5227
5318
  grid-template-columns: auto 1fr;
5228
5319
  gap: 0 var(--space-small);
5229
- padding: var(--space-large);
5320
+ padding: var(--notice-padding, var(--space-large));
5230
5321
  align-items: start;
5231
5322
  border-radius: 4px;
5232
5323
  border: 1px solid var(--notice-border-color);
@@ -5329,6 +5420,7 @@ button.Accordion__trigger {
5329
5420
  --combobox-listbox-background-color: var(--accent-medium);
5330
5421
  --combobox-group-label-background-color: var(--accent-dark);
5331
5422
  --combobox-option-selected-icon-color: var(--accent-info);
5423
+ --combobox-arrow-color: var(--text-color-light);
5332
5424
  }
5333
5425
 
5334
5426
  .Combobox :where(.TextFieldWrapper) {
@@ -5437,6 +5529,7 @@ button.Accordion__trigger {
5437
5529
  position: absolute;
5438
5530
  right: 0;
5439
5531
  pointer-events: none;
5532
+ color: var(--combobox-arrow-color, currentColor);
5440
5533
  }
5441
5534
 
5442
5535
  .Combobox__arrow:before {
@@ -6313,3 +6406,66 @@ button.Accordion__trigger {
6313
6406
  .ActionListItem__description {
6314
6407
  color: var(--action-list-item-disabled-text-color);
6315
6408
  }
6409
+
6410
+ /**
6411
+ * Compact density preset for constrained viewports.
6412
+ *
6413
+ * Apply the `.cauldron--density-compact` class to the root element (e.g. <body>)
6414
+ * alongside the theme class to get tighter sizing across all components.
6415
+ * This is designed for embedded UIs like browser extension panels.
6416
+ *
6417
+ * Works orthogonally to theme classes:
6418
+ * <body class="cauldron--theme-dark cauldron--density-compact">
6419
+ */
6420
+
6421
+ .cauldron--density-compact {
6422
+ /* TopBar: static positioning for embedded contexts, compact button layout */
6423
+ --top-bar-position: static;
6424
+ --top-bar-padding-inline-start: var(--space-small);
6425
+ --top-bar-menu-flex: initial;
6426
+ --top-bar-button-max-width: 80px;
6427
+ --top-bar-button-flex-direction: column;
6428
+ --top-bar-button-font-size: var(--text-size-smallest);
6429
+ --top-bar-item-padding: 0;
6430
+
6431
+ /* Tabs: fill width, smaller font */
6432
+ --tabs-width: auto;
6433
+ --tab-font-size: var(--text-size-small);
6434
+ --tab-flex: 1;
6435
+
6436
+ /* Tags: use small variant sizing by default */
6437
+ --tag-height: var(--tag-small-height);
6438
+ --tag-font-size: var(--text-size-smaller);
6439
+
6440
+ /* Dialog: viewport-aware positioning for short viewports (e.g. docked devtools) */
6441
+ --dialog-vertical-offset: clamp(8px, calc(18vh - 50px), 100px);
6442
+ --dialog-content-line-height: 1.4;
6443
+
6444
+ /* OptionsMenu: auto-width for narrow viewports */
6445
+ --options-menu-width: auto;
6446
+
6447
+ /* Toast: static positioning (no fixed TopBar to anchor to) */
6448
+ --toast-position: static;
6449
+
6450
+ /* Field select: constrained width */
6451
+ --select-width: clamp(0px, 25rem, 100%);
6452
+
6453
+ /* Code: inline compact display */
6454
+ --code-display: inline;
6455
+ --code-padding: var(--space-quarter) var(--space-half);
6456
+ --code-border: none;
6457
+ }
6458
+
6459
+ /* TopBar buttons: vertical icon-above-label layout in compact mode */
6460
+
6461
+ .cauldron--density-compact .TopBar li button:not(.Link) {
6462
+ display: flex;
6463
+ align-items: center;
6464
+ white-space: normal;
6465
+ }
6466
+
6467
+ /* TopBar: restore padding on items containing text links (not icon buttons) */
6468
+
6469
+ .cauldron--density-compact .TopBar > ul > li:has(button.Link) {
6470
+ padding: 0 var(--space-small);
6471
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-styles",
3
- "version": "6.26.0",
3
+ "version": "6.27.0-canary.06fc1451",
4
4
  "license": "MPL-2.0",
5
5
  "description": "deque cauldron pattern library styles",
6
6
  "repository": "https://github.com/dequelabs/cauldron",