@deque/cauldron-styles 6.26.0 → 6.27.0-canary.abfc9efd

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 +230 -76
  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
  }
@@ -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
  }
@@ -2428,7 +2475,8 @@ a.IconButton {
2428
2475
  .Field__select--wrapper select:invalid:focus,
2429
2476
  .Field__select--wrapper.Field--has-error select:focus {
2430
2477
  border-color: var(--field-border-color-error);
2431
- box-shadow: rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2478
+ box-shadow:
2479
+ rgba(0, 0, 0, 0.05) 0 1px 2px 0 inset,
2432
2480
  var(--field-border-color-error) 0 0 0 1px,
2433
2481
  var(--field-border-color-error-focus-glow) 0 0 5px 0;
2434
2482
  }
@@ -2672,7 +2720,7 @@ a.IconButton {
2672
2720
 
2673
2721
  .Toast {
2674
2722
  top: var(--top-bar-height);
2675
- position: fixed;
2723
+ position: var(--toast-position, fixed);
2676
2724
  right: 0;
2677
2725
  left: 0;
2678
2726
  color: #0b0e11;
@@ -2943,22 +2991,31 @@ button.TooltipTabstop {
2943
2991
  --top-bar-accent-warning-other: var(--accent-danger-light);
2944
2992
  --top-bar-height: 70px;
2945
2993
  --top-bar-height-thin: 43px;
2994
+ --top-bar-position: fixed;
2995
+ --top-bar-padding-inline-start: 0;
2996
+ --top-bar-menu-flex: auto;
2997
+ --top-bar-button-max-width: none;
2998
+ --top-bar-button-flex-direction: row;
2999
+ --top-bar-button-font-size: var(--text-size-small);
3000
+ --top-bar-item-padding: 0 var(--space-small);
3001
+ --top-bar-border-bottom: solid 1px var(--top-bar-border-bottom-color);
2946
3002
  }
2947
3003
 
2948
3004
  .TopBar {
2949
- position: fixed;
3005
+ position: var(--top-bar-position);
2950
3006
  width: 100%;
2951
3007
  height: var(--top-bar-height);
2952
3008
  top: 0;
2953
3009
  flex: none;
2954
- flex-direction: row;
2955
3010
  box-sizing: border-box;
2956
3011
  z-index: var(--z-index-top-bar);
2957
3012
  display: flex;
2958
3013
  align-items: center;
2959
3014
  background-color: var(--top-bar-background-color);
2960
3015
  color: var(--top-bar-text-color);
2961
- border-bottom: solid 1px var(--top-bar-border-bottom-color);
3016
+ border-bottom: var(--top-bar-border-bottom);
3017
+ -webkit-padding-start: var(--top-bar-padding-inline-start);
3018
+ padding-inline-start: var(--top-bar-padding-inline-start);
2962
3019
  }
2963
3020
 
2964
3021
  .TopBar--thin .TopBar {
@@ -2969,12 +3026,15 @@ button.TooltipTabstop {
2969
3026
  list-style-type: none;
2970
3027
  display: flex;
2971
3028
  align-items: center;
2972
- flex: auto;
3029
+ flex: var(--top-bar-menu-flex);
2973
3030
  }
2974
3031
 
2975
3032
  .TopBar li button {
2976
3033
  background: transparent;
2977
3034
  color: inherit;
3035
+ max-width: var(--top-bar-button-max-width);
3036
+ font-size: var(--top-bar-button-font-size);
3037
+ flex-direction: var(--top-bar-button-flex-direction);
2978
3038
  }
2979
3039
 
2980
3040
  .TopBar > ul > li {
@@ -2989,7 +3049,7 @@ button.TooltipTabstop {
2989
3049
  }
2990
3050
 
2991
3051
  .TopBar > ul > li:not(.TopBar__menu-trigger) {
2992
- padding: 0 var(--space-small);
3052
+ padding: var(--top-bar-item-padding);
2993
3053
  font-size: var(--text-size-small);
2994
3054
  height: var(--top-bar-height);
2995
3055
  display: flex;
@@ -3086,10 +3146,7 @@ button.TooltipTabstop {
3086
3146
  --top-bar-border-bottom-color: var(--gray-70);
3087
3147
  --top-bar-text-color: var(--accent-light);
3088
3148
  --top-bar-background-color-active: #0b0e11;
3089
- }
3090
-
3091
- .cauldron--theme-dark .TopBar {
3092
- border-bottom: none;
3149
+ --top-bar-border-bottom: none;
3093
3150
  }
3094
3151
 
3095
3152
  .cauldron--theme-dark .TopBar [aria-current='page'] {
@@ -3352,6 +3409,9 @@ button.TooltipTabstop {
3352
3409
  --code-text-color: var(--accent-primary-active);
3353
3410
  --code-border-color: var(--stroke-light);
3354
3411
  --code-background-color: var(--background-light);
3412
+ --code-padding: var(--space-smaller);
3413
+ --code-border: 1px solid var(--code-border-color);
3414
+ --code-display: block;
3355
3415
  }
3356
3416
 
3357
3417
  .cauldron--theme-dark {
@@ -3370,10 +3430,10 @@ button.TooltipTabstop {
3370
3430
  }
3371
3431
 
3372
3432
  .Code.hljs {
3373
- display: block;
3374
- padding: var(--space-smaller);
3433
+ display: var(--code-display);
3434
+ padding: var(--code-padding);
3375
3435
  background: var(--code-background-color);
3376
- border: 1px solid var(--code-border-color);
3436
+ border: var(--code-border);
3377
3437
  border-radius: 3px;
3378
3438
  color: var(--code-text-color);
3379
3439
  word-break: break-all;
@@ -3586,10 +3646,17 @@ button.TooltipTabstop {
3586
3646
  var(--space-largest);
3587
3647
  --tab-panel-horizontal-padding: var(--space-large) var(--space-small);
3588
3648
  --tabs-active-text-color: var(--accent-primary-active);
3649
+ --tab-height: 2.875rem;
3650
+ --tab-font-size: inherit;
3651
+ --tab-flex: initial;
3652
+ --tab-panel-border: none;
3653
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3654
+ --tabs-width: fit-content;
3589
3655
  }
3590
3656
 
3591
3657
  .cauldron--theme-dark {
3592
3658
  --tabs-border-color: var(--accent-dark);
3659
+ --tabs-horizontal-border-bottom: 1px solid var(--tabs-border-color);
3593
3660
  --tab-shadow-color: var(--accent-info);
3594
3661
  --tab-panel-background-color: var(--accent-medium);
3595
3662
  --tab-inactive-background-color: var(--accent-medium);
@@ -3601,8 +3668,7 @@ button.TooltipTabstop {
3601
3668
  }
3602
3669
 
3603
3670
  .Tabs {
3604
- width: -moz-fit-content;
3605
- width: fit-content;
3671
+ width: var(--tabs-width);
3606
3672
  }
3607
3673
 
3608
3674
  .Tabs--vertical {
@@ -3621,7 +3687,7 @@ button.TooltipTabstop {
3621
3687
 
3622
3688
  .Tabs--horizontal {
3623
3689
  width: 100%;
3624
- border-bottom: 1px solid var(--tabs-border-color);
3690
+ border-bottom: var(--tabs-horizontal-border-bottom);
3625
3691
  background-color: var(--tab-inactive-background-color);
3626
3692
  }
3627
3693
 
@@ -3643,12 +3709,14 @@ button.TooltipTabstop {
3643
3709
  display: flex;
3644
3710
  justify-content: center;
3645
3711
  align-items: center;
3646
- height: 2.875rem;
3712
+ height: var(--tab-height);
3647
3713
  white-space: nowrap;
3648
3714
  list-style-type: none;
3649
3715
  background-color: var(--tab-inactive-background-color);
3650
3716
  color: var(--tab-inactive-text-color);
3651
3717
  padding: var(--space-small);
3718
+ font-size: var(--tab-font-size);
3719
+ flex: var(--tab-flex);
3652
3720
  }
3653
3721
 
3654
3722
  .Tabs--vertical .Tab {
@@ -3690,6 +3758,7 @@ button.TooltipTabstop {
3690
3758
  overflow-wrap: break-word;
3691
3759
  color: var(--tab-panel-color);
3692
3760
  background-color: var(--tab-panel-background-color);
3761
+ border: var(--tab-panel-border);
3693
3762
  }
3694
3763
 
3695
3764
  .TabPanel > * {
@@ -3709,6 +3778,7 @@ button.TooltipTabstop {
3709
3778
  --tag-text-color: var(--gray-90);
3710
3779
  --tag-background-color: var(--background-light);
3711
3780
  --tag-border-color: var(--gray-30);
3781
+ --tag-margin: 0;
3712
3782
 
3713
3783
  --tag-height: var(--button-height);
3714
3784
  --tag-small-height: 1.5rem;
@@ -3731,6 +3801,7 @@ button.TooltipTabstop {
3731
3801
  justify-content: center;
3732
3802
  align-items: center;
3733
3803
  padding: 0 var(--space-smallest);
3804
+ margin: var(--tag-margin);
3734
3805
  min-height: var(--tag-height);
3735
3806
  font-size: var(--tag-font-size);
3736
3807
  }
@@ -4227,14 +4298,16 @@ button.TooltipTabstop {
4227
4298
  --panel-padding: var(--space-small);
4228
4299
  --panel-divider-border-color: var(--gray-40);
4229
4300
  --panel-content-color: var(--gray-80);
4301
+ --panel-border: 1px solid var(--panel-border-color);
4302
+ --panel-box-shadow: var(--drop-shadow-raised);
4230
4303
  }
4231
4304
 
4232
4305
  .Panel {
4233
4306
  padding: var(--panel-padding);
4234
4307
  margin: 0;
4235
- border: 1px solid var(--panel-border-color);
4308
+ border: var(--panel-border);
4236
4309
  border-radius: 3px;
4237
- box-shadow: var(--drop-shadow-raised);
4310
+ box-shadow: var(--panel-box-shadow);
4238
4311
  background-color: var(--panel-background-color);
4239
4312
  word-break: break-word;
4240
4313
  color: var(--panel-content-color);
@@ -4646,23 +4719,36 @@ fieldset.Panel {
4646
4719
  --progress-bar-background-color: var(--accent-dark);
4647
4720
  --progress-bar-fill-color: var(--accent-info-light);
4648
4721
  --progress-bar-animation-timing: 150ms;
4722
+ --progress-bar-padding: 2px;
4723
+ --progress-bar-border-radius: calc((var(--space-small) * 0.5) + 2px);
4724
+ --progress-bar-fill-height: var(--space-small);
4725
+ --progress-bar-fill-border-radius: calc(var(--space-small) * 0.5);
4726
+ --progress-bar-fill-min-width: var(--space-small);
4649
4727
  }
4650
4728
 
4651
4729
  .ProgressBar {
4652
4730
  background-color: var(--progress-bar-background-color);
4653
- padding: 2px;
4654
- border-radius: calc((var(--space-small) * 0.5) + 2px);
4731
+ padding: var(--progress-bar-padding);
4732
+ border-radius: var(--progress-bar-border-radius);
4655
4733
  margin-bottom: var(--space-smallest);
4656
4734
  }
4657
4735
 
4658
4736
  .ProgressBar--fill {
4659
- border-radius: calc(var(--space-small) * 0.5);
4737
+ border-radius: var(--progress-bar-fill-border-radius);
4660
4738
  background-color: var(--progress-bar-fill-color);
4661
- height: var(--space-small);
4662
- min-width: var(--space-small);
4739
+ height: var(--progress-bar-fill-height);
4740
+ min-width: var(--progress-bar-fill-min-width);
4663
4741
  transition: width linear var(--progress-bar-animation-timing);
4664
4742
  }
4665
4743
 
4744
+ .ProgressBar--thin {
4745
+ --progress-bar-padding: 3px;
4746
+ --progress-bar-border-radius: 3px;
4747
+ --progress-bar-fill-height: var(--space-half);
4748
+ --progress-bar-fill-border-radius: 1px;
4749
+ --progress-bar-fill-min-width: 1px;
4750
+ }
4751
+
4666
4752
  .cauldron--theme-dark .Icon--robot circle {
4667
4753
  stroke: var(--accent-light);
4668
4754
  stroke-width: 2px;
@@ -5115,6 +5201,9 @@ fieldset.Panel {
5115
5201
  --accordion-trigger-box-shadow-hover: var(--accent-primary);
5116
5202
  --accordion-trigger-border-color: var(--gray-40);
5117
5203
  --accordion-trigger-icon-color: var(--gray-90);
5204
+ --accordion-trigger-padding: calc(var(--space-small) - var(--space-half));
5205
+ --accordion-trigger-text-decoration: underline solid
5206
+ var(--accordion-trigger-text-color);
5118
5207
  --accordion-panel-background-color: var(--white);
5119
5208
  --accordion-panel-text-color: var(--gray-90);
5120
5209
  --accordion-panel-border-color: var(--gray-40);
@@ -5142,7 +5231,7 @@ fieldset.Panel {
5142
5231
  .Accordion__trigger,
5143
5232
  button.Accordion__trigger {
5144
5233
  background-color: var(--accordion-trigger-background-color);
5145
- padding: calc(var(--space-small) - var(--space-half));
5234
+ padding: var(--accordion-trigger-padding);
5146
5235
  width: 100%;
5147
5236
  display: flex;
5148
5237
  align-items: center;
@@ -5151,8 +5240,8 @@ button.Accordion__trigger {
5151
5240
  font-size: var(--text-size-small);
5152
5241
  margin-top: var(--space-small);
5153
5242
  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);
5243
+ -webkit-text-decoration: var(--accordion-trigger-text-decoration);
5244
+ text-decoration: var(--accordion-trigger-text-decoration);
5156
5245
  }
5157
5246
 
5158
5247
  .Accordion__trigger[aria-expanded='true'] {
@@ -5226,7 +5315,7 @@ button.Accordion__trigger {
5226
5315
  display: grid;
5227
5316
  grid-template-columns: auto 1fr;
5228
5317
  gap: 0 var(--space-small);
5229
- padding: var(--space-large);
5318
+ padding: var(--notice-padding, var(--space-large));
5230
5319
  align-items: start;
5231
5320
  border-radius: 4px;
5232
5321
  border: 1px solid var(--notice-border-color);
@@ -5329,6 +5418,7 @@ button.Accordion__trigger {
5329
5418
  --combobox-listbox-background-color: var(--accent-medium);
5330
5419
  --combobox-group-label-background-color: var(--accent-dark);
5331
5420
  --combobox-option-selected-icon-color: var(--accent-info);
5421
+ --combobox-arrow-color: var(--text-color-light);
5332
5422
  }
5333
5423
 
5334
5424
  .Combobox :where(.TextFieldWrapper) {
@@ -5437,6 +5527,7 @@ button.Accordion__trigger {
5437
5527
  position: absolute;
5438
5528
  right: 0;
5439
5529
  pointer-events: none;
5530
+ color: var(--combobox-arrow-color, currentColor);
5440
5531
  }
5441
5532
 
5442
5533
  .Combobox__arrow:before {
@@ -6313,3 +6404,66 @@ button.Accordion__trigger {
6313
6404
  .ActionListItem__description {
6314
6405
  color: var(--action-list-item-disabled-text-color);
6315
6406
  }
6407
+
6408
+ /**
6409
+ * Compact density preset for constrained viewports.
6410
+ *
6411
+ * Apply the `.cauldron--density-compact` class to the root element (e.g. <body>)
6412
+ * alongside the theme class to get tighter sizing across all components.
6413
+ * This is designed for embedded UIs like browser extension panels.
6414
+ *
6415
+ * Works orthogonally to theme classes:
6416
+ * <body class="cauldron--theme-dark cauldron--density-compact">
6417
+ */
6418
+
6419
+ .cauldron--density-compact {
6420
+ /* TopBar: static positioning for embedded contexts, compact button layout */
6421
+ --top-bar-position: static;
6422
+ --top-bar-padding-inline-start: var(--space-small);
6423
+ --top-bar-menu-flex: initial;
6424
+ --top-bar-button-max-width: 80px;
6425
+ --top-bar-button-flex-direction: column;
6426
+ --top-bar-button-font-size: var(--text-size-smallest);
6427
+ --top-bar-item-padding: 0;
6428
+
6429
+ /* Tabs: fill width, smaller font */
6430
+ --tabs-width: auto;
6431
+ --tab-font-size: var(--text-size-small);
6432
+ --tab-flex: 1;
6433
+
6434
+ /* Tags: use small variant sizing by default */
6435
+ --tag-height: var(--tag-small-height);
6436
+ --tag-font-size: var(--text-size-smaller);
6437
+
6438
+ /* Dialog: viewport-aware positioning for short viewports (e.g. docked devtools) */
6439
+ --dialog-vertical-offset: clamp(8px, calc(18vh - 50px), 100px);
6440
+ --dialog-content-line-height: 1.4;
6441
+
6442
+ /* OptionsMenu: auto-width for narrow viewports */
6443
+ --options-menu-width: auto;
6444
+
6445
+ /* Toast: static positioning (no fixed TopBar to anchor to) */
6446
+ --toast-position: static;
6447
+
6448
+ /* Field select: constrained width */
6449
+ --select-width: clamp(0px, 25rem, 100%);
6450
+
6451
+ /* Code: inline compact display */
6452
+ --code-display: inline;
6453
+ --code-padding: var(--space-quarter) var(--space-half);
6454
+ --code-border: none;
6455
+ }
6456
+
6457
+ /* TopBar buttons: vertical icon-above-label layout in compact mode */
6458
+
6459
+ .cauldron--density-compact .TopBar li button:not(.Link) {
6460
+ display: flex;
6461
+ align-items: center;
6462
+ white-space: normal;
6463
+ }
6464
+
6465
+ /* TopBar: restore padding on items containing text links (not icon buttons) */
6466
+
6467
+ .cauldron--density-compact .TopBar > ul > li:has(button.Link) {
6468
+ padding: 0 var(--space-small);
6469
+ }
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.abfc9efd",
4
4
  "license": "MPL-2.0",
5
5
  "description": "deque cauldron pattern library styles",
6
6
  "repository": "https://github.com/dequelabs/cauldron",