@expressivecss/expressive 0.8.0 → 0.9.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +69 -26
  3. package/dist/css/expressive.css +657 -85
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/fonts/LICENSE-material-symbols +93 -0
  8. package/dist/fonts/LICENSE-noto-sans +93 -0
  9. package/dist/fonts/LICENSE-roboto +93 -0
  10. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  11. package/dist/fonts/material-symbols-rounded.woff2 +0 -0
  12. package/dist/fonts/material-symbols-sharp.woff2 +0 -0
  13. package/dist/fonts/noto-sans-latin-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-latin-500.woff2 +0 -0
  15. package/dist/fonts/roboto-latin-400.woff2 +0 -0
  16. package/dist/fonts/roboto-latin-500.woff2 +0 -0
  17. package/dist/js/expressive.cjs +501 -144
  18. package/dist/js/expressive.cjs.map +4 -4
  19. package/dist/js/expressive.js +501 -144
  20. package/dist/js/expressive.js.map +4 -4
  21. package/dist/js/expressive.min.js +10 -10
  22. package/dist/js/expressive.min.js.map +4 -4
  23. package/dist/js/expressive.mjs +501 -144
  24. package/dist/js/expressive.mjs.map +4 -4
  25. package/dist/types/components/appBar.d.ts +26 -0
  26. package/dist/types/components/buttonGroup.d.ts +39 -0
  27. package/dist/types/components/cards.d.ts +11 -13
  28. package/dist/types/components/expandingCard.d.ts +1 -1
  29. package/dist/types/components/index.d.ts +2 -0
  30. package/dist/types/components/menu.d.ts +4 -0
  31. package/dist/types/components/registry.d.ts +10 -0
  32. package/dist/types/components/timepicker.d.ts +0 -1
  33. package/dist/types/components/tooltip.d.ts +1 -0
  34. package/dist/types/index.d.ts +1 -1
  35. package/package.json +25 -3
  36. package/src/sass/abstracts/_mixins.scss +52 -0
  37. package/src/sass/abstracts/_variables.scss +19 -0
  38. package/src/sass/base/_fonts.scss +63 -0
  39. package/src/sass/components/_badges.scss +1 -2
  40. package/src/sass/components/_button-groups.scss +252 -80
  41. package/src/sass/components/_cards.scss +108 -93
  42. package/src/sass/components/_expanding-card.scss +1 -35
  43. package/src/sass/components/_icon-buttons.scss +2 -24
  44. package/src/sass/components/_icons-material-design.scss +6 -6
  45. package/src/sass/components/_navbar.scss +180 -27
  46. package/src/sass/components/_navigation-bar.scss +9 -1
  47. package/src/sass/components/_navigation-rail.scss +9 -1
  48. package/src/sass/components/_transitions.scss +8 -1
  49. package/src/sass/components/forms/_select.scss +38 -0
  50. package/src/sass/expressive.scss +5 -0
@@ -1,4 +1,53 @@
1
1
  @charset "UTF-8";
2
+ @font-face {
3
+ font-family: "Material Symbols Outlined";
4
+ font-style: normal;
5
+ font-weight: 100 700;
6
+ font-display: block;
7
+ src: url("../fonts/material-symbols-outlined.woff2") format("woff2");
8
+ }
9
+ @font-face {
10
+ font-family: "Material Symbols Rounded";
11
+ font-style: normal;
12
+ font-weight: 100 700;
13
+ font-display: block;
14
+ src: url("../fonts/material-symbols-rounded.woff2") format("woff2");
15
+ }
16
+ @font-face {
17
+ font-family: "Material Symbols Sharp";
18
+ font-style: normal;
19
+ font-weight: 100 700;
20
+ font-display: block;
21
+ src: url("../fonts/material-symbols-sharp.woff2") format("woff2");
22
+ }
23
+ @font-face {
24
+ font-family: "Roboto";
25
+ font-style: normal;
26
+ font-weight: 400;
27
+ font-display: swap;
28
+ src: url("../fonts/roboto-latin-400.woff2") format("woff2");
29
+ }
30
+ @font-face {
31
+ font-family: "Roboto";
32
+ font-style: normal;
33
+ font-weight: 500;
34
+ font-display: swap;
35
+ src: url("../fonts/roboto-latin-500.woff2") format("woff2");
36
+ }
37
+ @font-face {
38
+ font-family: "Noto Sans";
39
+ font-style: normal;
40
+ font-weight: 400;
41
+ font-display: swap;
42
+ src: url("../fonts/noto-sans-latin-400.woff2") format("woff2");
43
+ }
44
+ @font-face {
45
+ font-family: "Noto Sans";
46
+ font-style: normal;
47
+ font-weight: 500;
48
+ font-display: swap;
49
+ src: url("../fonts/noto-sans-latin-500.woff2") format("woff2");
50
+ }
2
51
  @layer tokens, base, components, utilities;
3
52
  @layer tokens {
4
53
  :root, :host {
@@ -2110,7 +2159,16 @@
2110
2159
  }
2111
2160
  .button-group {
2112
2161
  --md-comp-button-group-between-space: 12px;
2162
+ --md-comp-button-group-item-shape-round: 9999px;
2163
+ --md-comp-button-group-item-shape-square: 12px;
2164
+ --md-comp-button-group-pressed-item-shape: 8px;
2113
2165
  --md-comp-button-group-pressed-item-width-multiplier: .15;
2166
+ --md-comp-button-group-motion: linear(
2167
+ 0, .056 5%, .1796 10%, .3252 15%, .4675 20%, .5936 25%,
2168
+ .6988 30%, .7828 35%, .8475 40%, .8959 45%, .931 50%,
2169
+ .9559 55%, .973 60%, .9845 65%, .9919 70%, .9965 75%,
2170
+ .9992 80%, 1.0006 85%, 1.0013 90%, 1.0015 95%, 1.0015
2171
+ );
2114
2172
  display: flex;
2115
2173
  align-items: center;
2116
2174
  gap: var(--md-comp-button-group-between-space);
@@ -2123,6 +2181,8 @@
2123
2181
  --md-comp-filled-button-icon-label-space: 8px;
2124
2182
  --md-comp-filled-button-outline-width: 1px;
2125
2183
  --md-comp-button-group-between-space: 18px;
2184
+ --md-comp-button-group-item-shape-square: 12px;
2185
+ --md-comp-button-group-pressed-item-shape: 8px;
2126
2186
  }
2127
2187
  .button-group.xsmall > :is(button:not(.icon-button), a.button):not(.xsmall, .small, .medium, .large, .xlarge) {
2128
2188
  font-family: var(--md-sys-typescale-label-large-font-family-name);
@@ -2131,6 +2191,31 @@
2131
2191
  line-height: var(--md-sys-typescale-label-large-line-height);
2132
2192
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2133
2193
  }
2194
+ .button-group.xsmall > .icon-button:not(.xsmall, .small, .medium, .large, .xlarge) {
2195
+ --md-comp-icon-button-container-height: 32px;
2196
+ --md-comp-icon-button-icon-size: 20px;
2197
+ --md-comp-icon-button-leading-space: 6px;
2198
+ --md-comp-icon-button-trailing-space: 6px;
2199
+ --md-comp-icon-button-narrow-space: 4px;
2200
+ --md-comp-icon-button-wide-space: 10px;
2201
+ --md-comp-icon-button-container-shape-square: 12px;
2202
+ --md-comp-icon-button-pressed-container-shape: 8px;
2203
+ --md-comp-icon-button-outline-width: 1px;
2204
+ }
2205
+ .button-group.xsmall > .icon-button.narrow:not(.xsmall, .small, .medium, .large, .xlarge) {
2206
+ --md-comp-icon-button-leading-space: 4px;
2207
+ --md-comp-icon-button-trailing-space: 4px;
2208
+ }
2209
+ .button-group.xsmall > .icon-button.wide:not(.xsmall, .small, .medium, .large, .xlarge) {
2210
+ --md-comp-icon-button-leading-space: 10px;
2211
+ --md-comp-icon-button-trailing-space: 10px;
2212
+ }
2213
+ .button-group > :is(button, a.button).xsmall {
2214
+ --md-comp-button-group-item-shape-square: 12px;
2215
+ --md-comp-button-group-pressed-item-shape: 8px;
2216
+ --md-comp-button-group-inner-corner-corner-size: 4px;
2217
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2218
+ }
2134
2219
  .button-group.small {
2135
2220
  --md-comp-filled-button-container-height: 40px;
2136
2221
  --md-comp-filled-button-icon-size: 20px;
@@ -2139,6 +2224,8 @@
2139
2224
  --md-comp-filled-button-icon-label-space: 8px;
2140
2225
  --md-comp-filled-button-outline-width: 1px;
2141
2226
  --md-comp-button-group-between-space: 12px;
2227
+ --md-comp-button-group-item-shape-square: 12px;
2228
+ --md-comp-button-group-pressed-item-shape: 8px;
2142
2229
  }
2143
2230
  .button-group.small > :is(button:not(.icon-button), a.button):not(.xsmall, .small, .medium, .large, .xlarge) {
2144
2231
  font-family: var(--md-sys-typescale-label-large-font-family-name);
@@ -2147,6 +2234,31 @@
2147
2234
  line-height: var(--md-sys-typescale-label-large-line-height);
2148
2235
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2149
2236
  }
2237
+ .button-group.small > .icon-button:not(.xsmall, .small, .medium, .large, .xlarge) {
2238
+ --md-comp-icon-button-container-height: 40px;
2239
+ --md-comp-icon-button-icon-size: 24px;
2240
+ --md-comp-icon-button-leading-space: 8px;
2241
+ --md-comp-icon-button-trailing-space: 8px;
2242
+ --md-comp-icon-button-narrow-space: 4px;
2243
+ --md-comp-icon-button-wide-space: 14px;
2244
+ --md-comp-icon-button-container-shape-square: 12px;
2245
+ --md-comp-icon-button-pressed-container-shape: 8px;
2246
+ --md-comp-icon-button-outline-width: 1px;
2247
+ }
2248
+ .button-group.small > .icon-button.narrow:not(.xsmall, .small, .medium, .large, .xlarge) {
2249
+ --md-comp-icon-button-leading-space: 4px;
2250
+ --md-comp-icon-button-trailing-space: 4px;
2251
+ }
2252
+ .button-group.small > .icon-button.wide:not(.xsmall, .small, .medium, .large, .xlarge) {
2253
+ --md-comp-icon-button-leading-space: 14px;
2254
+ --md-comp-icon-button-trailing-space: 14px;
2255
+ }
2256
+ .button-group > :is(button, a.button).small {
2257
+ --md-comp-button-group-item-shape-square: 12px;
2258
+ --md-comp-button-group-pressed-item-shape: 8px;
2259
+ --md-comp-button-group-inner-corner-corner-size: 8px;
2260
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2261
+ }
2150
2262
  .button-group.medium {
2151
2263
  --md-comp-filled-button-container-height: 56px;
2152
2264
  --md-comp-filled-button-icon-size: 24px;
@@ -2155,6 +2267,8 @@
2155
2267
  --md-comp-filled-button-icon-label-space: 8px;
2156
2268
  --md-comp-filled-button-outline-width: 1px;
2157
2269
  --md-comp-button-group-between-space: 8px;
2270
+ --md-comp-button-group-item-shape-square: 16px;
2271
+ --md-comp-button-group-pressed-item-shape: 12px;
2158
2272
  }
2159
2273
  .button-group.medium > :is(button:not(.icon-button), a.button):not(.xsmall, .small, .medium, .large, .xlarge) {
2160
2274
  font-family: var(--md-sys-typescale-title-medium-font-family-name);
@@ -2163,6 +2277,31 @@
2163
2277
  line-height: var(--md-sys-typescale-title-medium-line-height);
2164
2278
  letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
2165
2279
  }
2280
+ .button-group.medium > .icon-button:not(.xsmall, .small, .medium, .large, .xlarge) {
2281
+ --md-comp-icon-button-container-height: 56px;
2282
+ --md-comp-icon-button-icon-size: 24px;
2283
+ --md-comp-icon-button-leading-space: 16px;
2284
+ --md-comp-icon-button-trailing-space: 16px;
2285
+ --md-comp-icon-button-narrow-space: 12px;
2286
+ --md-comp-icon-button-wide-space: 24px;
2287
+ --md-comp-icon-button-container-shape-square: 16px;
2288
+ --md-comp-icon-button-pressed-container-shape: 12px;
2289
+ --md-comp-icon-button-outline-width: 1px;
2290
+ }
2291
+ .button-group.medium > .icon-button.narrow:not(.xsmall, .small, .medium, .large, .xlarge) {
2292
+ --md-comp-icon-button-leading-space: 12px;
2293
+ --md-comp-icon-button-trailing-space: 12px;
2294
+ }
2295
+ .button-group.medium > .icon-button.wide:not(.xsmall, .small, .medium, .large, .xlarge) {
2296
+ --md-comp-icon-button-leading-space: 24px;
2297
+ --md-comp-icon-button-trailing-space: 24px;
2298
+ }
2299
+ .button-group > :is(button, a.button).medium {
2300
+ --md-comp-button-group-item-shape-square: 16px;
2301
+ --md-comp-button-group-pressed-item-shape: 12px;
2302
+ --md-comp-button-group-inner-corner-corner-size: 8px;
2303
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2304
+ }
2166
2305
  .button-group.large {
2167
2306
  --md-comp-filled-button-container-height: 96px;
2168
2307
  --md-comp-filled-button-icon-size: 32px;
@@ -2171,6 +2310,8 @@
2171
2310
  --md-comp-filled-button-icon-label-space: 12px;
2172
2311
  --md-comp-filled-button-outline-width: 2px;
2173
2312
  --md-comp-button-group-between-space: 8px;
2313
+ --md-comp-button-group-item-shape-square: 28px;
2314
+ --md-comp-button-group-pressed-item-shape: 16px;
2174
2315
  }
2175
2316
  .button-group.large > :is(button:not(.icon-button), a.button):not(.xsmall, .small, .medium, .large, .xlarge) {
2176
2317
  font-family: var(--md-sys-typescale-headline-small-font-family-name);
@@ -2179,6 +2320,31 @@
2179
2320
  line-height: var(--md-sys-typescale-headline-small-line-height);
2180
2321
  letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
2181
2322
  }
2323
+ .button-group.large > .icon-button:not(.xsmall, .small, .medium, .large, .xlarge) {
2324
+ --md-comp-icon-button-container-height: 96px;
2325
+ --md-comp-icon-button-icon-size: 32px;
2326
+ --md-comp-icon-button-leading-space: 32px;
2327
+ --md-comp-icon-button-trailing-space: 32px;
2328
+ --md-comp-icon-button-narrow-space: 16px;
2329
+ --md-comp-icon-button-wide-space: 48px;
2330
+ --md-comp-icon-button-container-shape-square: 28px;
2331
+ --md-comp-icon-button-pressed-container-shape: 16px;
2332
+ --md-comp-icon-button-outline-width: 2px;
2333
+ }
2334
+ .button-group.large > .icon-button.narrow:not(.xsmall, .small, .medium, .large, .xlarge) {
2335
+ --md-comp-icon-button-leading-space: 16px;
2336
+ --md-comp-icon-button-trailing-space: 16px;
2337
+ }
2338
+ .button-group.large > .icon-button.wide:not(.xsmall, .small, .medium, .large, .xlarge) {
2339
+ --md-comp-icon-button-leading-space: 48px;
2340
+ --md-comp-icon-button-trailing-space: 48px;
2341
+ }
2342
+ .button-group > :is(button, a.button).large {
2343
+ --md-comp-button-group-item-shape-square: 28px;
2344
+ --md-comp-button-group-pressed-item-shape: 16px;
2345
+ --md-comp-button-group-inner-corner-corner-size: 16px;
2346
+ --md-comp-button-group-pressed-inner-corner-corner-size: 12px;
2347
+ }
2182
2348
  .button-group.xlarge {
2183
2349
  --md-comp-filled-button-container-height: 136px;
2184
2350
  --md-comp-filled-button-icon-size: 40px;
@@ -2187,6 +2353,8 @@
2187
2353
  --md-comp-filled-button-icon-label-space: 16px;
2188
2354
  --md-comp-filled-button-outline-width: 3px;
2189
2355
  --md-comp-button-group-between-space: 8px;
2356
+ --md-comp-button-group-item-shape-square: 28px;
2357
+ --md-comp-button-group-pressed-item-shape: 16px;
2190
2358
  }
2191
2359
  .button-group.xlarge > :is(button:not(.icon-button), a.button):not(.xsmall, .small, .medium, .large, .xlarge) {
2192
2360
  font-family: var(--md-sys-typescale-headline-large-font-family-name);
@@ -2195,26 +2363,170 @@
2195
2363
  line-height: var(--md-sys-typescale-headline-large-line-height);
2196
2364
  letter-spacing: var(--md-sys-typescale-headline-large-letter-spacing);
2197
2365
  }
2198
- .button-group > :is(button:not(.icon-button), a.button) {
2199
- transition: padding 0.2s ease-out, width 0.2s ease-out, border-radius 0.2s ease-out, background-color 0.2s ease-out;
2366
+ .button-group.xlarge > .icon-button:not(.xsmall, .small, .medium, .large, .xlarge) {
2367
+ --md-comp-icon-button-container-height: 136px;
2368
+ --md-comp-icon-button-icon-size: 40px;
2369
+ --md-comp-icon-button-leading-space: 48px;
2370
+ --md-comp-icon-button-trailing-space: 48px;
2371
+ --md-comp-icon-button-narrow-space: 32px;
2372
+ --md-comp-icon-button-wide-space: 72px;
2373
+ --md-comp-icon-button-container-shape-square: 28px;
2374
+ --md-comp-icon-button-pressed-container-shape: 16px;
2375
+ --md-comp-icon-button-outline-width: 3px;
2376
+ }
2377
+ .button-group.xlarge > .icon-button.narrow:not(.xsmall, .small, .medium, .large, .xlarge) {
2378
+ --md-comp-icon-button-leading-space: 32px;
2379
+ --md-comp-icon-button-trailing-space: 32px;
2380
+ }
2381
+ .button-group.xlarge > .icon-button.wide:not(.xsmall, .small, .medium, .large, .xlarge) {
2382
+ --md-comp-icon-button-leading-space: 72px;
2383
+ --md-comp-icon-button-trailing-space: 72px;
2200
2384
  }
2201
- .button-group:not(.connected) > :is(button:not(.icon-button), a.button):active {
2202
- --_grow: calc(
2203
- var(--md-comp-filled-button-container-height) *
2204
- var(--md-comp-button-group-pressed-item-width-multiplier) / 2
2205
- );
2385
+ .button-group > :is(button, a.button).xlarge {
2386
+ --md-comp-button-group-item-shape-square: 28px;
2387
+ --md-comp-button-group-pressed-item-shape: 16px;
2388
+ --md-comp-button-group-inner-corner-corner-size: 20px;
2389
+ --md-comp-button-group-pressed-inner-corner-corner-size: 16px;
2390
+ }
2391
+ .button-group > :is(button, a.button) {
2392
+ position: relative;
2393
+ transition: width 200ms var(--md-comp-button-group-motion), border-radius 200ms var(--md-comp-button-group-motion), background-color 200ms ease-out;
2394
+ }
2395
+ .button-group > :is(button, a.button)::before {
2396
+ content: "";
2397
+ position: absolute;
2398
+ top: 50%;
2399
+ left: 50%;
2400
+ width: 100%;
2401
+ height: 100%;
2402
+ min-width: 48px;
2403
+ min-height: 48px;
2404
+ translate: -50% -50%;
2405
+ }
2406
+ .button-group:not(.connected) > :is(button, a.button) {
2407
+ --_corner: var(--md-comp-button-group-item-shape-round);
2408
+ border-radius: var(--_corner);
2409
+ }
2410
+ .button-group.square:not(.connected) > :is(button, a.button) {
2411
+ --_corner: var(--md-comp-button-group-item-shape-square);
2412
+ }
2413
+ .button-group:not(.connected) > :is(button, a.button)[aria-pressed=true] {
2414
+ --_corner: var(--md-comp-button-group-item-shape-square);
2415
+ }
2416
+ .button-group.square:not(.connected) > :is(button, a.button)[aria-pressed=true] {
2417
+ --_corner: var(--md-comp-button-group-item-shape-round);
2418
+ }
2419
+ .button-group > :is(button:not(.icon-button), a.button):where(.filled, :not(.elevated, .filled, .tonal, .outlined, .text))[aria-pressed=false],
2420
+ .button-group > .icon-button.filled[aria-pressed=false] {
2421
+ --_toggle-container-color: var(--md-sys-color-surface-container);
2422
+ --_toggle-state-color: var(--md-sys-color-on-surface-variant);
2423
+ color: var(--md-sys-color-on-surface-variant);
2424
+ background-color: var(--_toggle-container-color);
2425
+ }
2426
+ .button-group > :is(button:not(.icon-button), a.button):where(.filled, :not(.elevated, .filled, .tonal, .outlined, .text))[aria-pressed=true],
2427
+ .button-group > .icon-button.filled[aria-pressed=true] {
2428
+ --_toggle-container-color: var(--md-sys-color-primary);
2429
+ --_toggle-state-color: var(--md-sys-color-on-primary);
2430
+ color: var(--md-sys-color-on-primary);
2431
+ background-color: var(--_toggle-container-color);
2432
+ }
2433
+ .button-group > :is(button:not(.icon-button), a.button).tonal[aria-pressed=false],
2434
+ .button-group > .icon-button.tonal[aria-pressed=false] {
2435
+ --_toggle-container-color: var(--md-sys-color-secondary-container);
2436
+ --_toggle-state-color: var(--md-sys-color-on-secondary-container);
2437
+ color: var(--md-sys-color-on-secondary-container);
2438
+ background-color: var(--_toggle-container-color);
2439
+ }
2440
+ .button-group > :is(button:not(.icon-button), a.button).tonal[aria-pressed=true],
2441
+ .button-group > .icon-button.tonal[aria-pressed=true] {
2442
+ --_toggle-container-color: var(--md-sys-color-secondary);
2443
+ --_toggle-state-color: var(--md-sys-color-on-secondary);
2444
+ color: var(--md-sys-color-on-secondary);
2445
+ background-color: var(--_toggle-container-color);
2446
+ }
2447
+ .button-group > :is(button:not(.icon-button), a.button).outlined[aria-pressed=false],
2448
+ .button-group > .icon-button.outlined[aria-pressed=false] {
2449
+ --_toggle-container-color: transparent;
2450
+ --_toggle-state-color: var(--md-sys-color-on-surface-variant);
2451
+ color: var(--md-sys-color-on-surface-variant);
2452
+ background-color: var(--_toggle-container-color);
2453
+ }
2454
+ .button-group > :is(button:not(.icon-button), a.button).outlined[aria-pressed=true],
2455
+ .button-group > .icon-button.outlined[aria-pressed=true] {
2456
+ --_toggle-container-color: var(--md-sys-color-inverse-surface);
2457
+ --_toggle-state-color: var(--md-sys-color-inverse-on-surface);
2458
+ color: var(--md-sys-color-inverse-on-surface);
2459
+ background-color: var(--_toggle-container-color);
2460
+ }
2461
+ .button-group > :is(button:not(.icon-button), a.button).elevated[aria-pressed=false] {
2462
+ --_toggle-container-color: var(--md-sys-color-surface-container-low);
2463
+ --_toggle-state-color: var(--md-sys-color-primary);
2464
+ color: var(--md-sys-color-primary);
2465
+ background-color: var(--_toggle-container-color);
2466
+ }
2467
+ .button-group > :is(button:not(.icon-button), a.button).elevated[aria-pressed=true] {
2468
+ --_toggle-container-color: var(--md-sys-color-primary);
2469
+ --_toggle-state-color: var(--md-sys-color-on-primary);
2470
+ color: var(--md-sys-color-on-primary);
2471
+ background-color: var(--_toggle-container-color);
2472
+ }
2473
+ .button-group > :is(button:not(.icon-button):not(.text), a.button:not(.text), .icon-button:is(.filled, .tonal, .outlined))[aria-pressed]:hover {
2474
+ background-color: color-mix(in oklab, var(--_toggle-state-color) calc(var(--md-sys-state-hover-state-layer-opacity) * 100%), var(--_toggle-container-color));
2206
2475
  }
2207
- .button-group:not(.connected) > :is(button:not(.icon-button), a.button):not(.circle):active {
2208
- padding-inline: calc(var(--md-comp-filled-button-leading-space) + var(--_grow)) calc(var(--md-comp-filled-button-trailing-space) + var(--_grow));
2476
+ .button-group > :is(button:not(.icon-button):not(.text), a.button:not(.text), .icon-button:is(.filled, .tonal, .outlined))[aria-pressed]:focus {
2477
+ background-color: color-mix(in oklab, var(--_toggle-state-color) calc(var(--md-sys-state-focus-state-layer-opacity) * 100%), var(--_toggle-container-color));
2478
+ }
2479
+ .button-group > :is(button:not(.icon-button):not(.text), a.button:not(.text), .icon-button:is(.filled, .tonal, .outlined))[aria-pressed]:is(:active, .button-group-pressed) {
2480
+ background-color: color-mix(in oklab, var(--_toggle-state-color) calc(var(--md-sys-state-pressed-state-layer-opacity) * 100%), var(--_toggle-container-color));
2481
+ }
2482
+ .button-group > :is(button:not(.icon-button), a.button):where(.filled, :not(.elevated, .filled, .tonal, .outlined, .text))[aria-pressed]:is(:disabled, [disabled], .disabled),
2483
+ .button-group > :is(button:not(.icon-button), a.button):is(.tonal, .elevated)[aria-pressed]:is(:disabled, [disabled], .disabled),
2484
+ .button-group > .icon-button:is(.filled, .tonal)[aria-pressed]:is(:disabled, [disabled], .disabled),
2485
+ .button-group > :is(button:not(.icon-button), a.button).outlined[aria-pressed=true]:is(:disabled, [disabled], .disabled),
2486
+ .button-group > .icon-button.outlined[aria-pressed=true]:is(:disabled, [disabled], .disabled) {
2487
+ box-shadow: none !important;
2488
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2489
+ pointer-events: none;
2490
+ box-shadow: none;
2491
+ cursor: default;
2492
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
2493
+ border-color: transparent;
2494
+ }
2495
+ .button-group > :is(button:not(.icon-button), a.button).outlined[aria-pressed=false]:is(:disabled, [disabled], .disabled),
2496
+ .button-group > .icon-button.outlined[aria-pressed=false]:is(:disabled, [disabled], .disabled) {
2497
+ box-shadow: none !important;
2498
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2499
+ pointer-events: none;
2500
+ box-shadow: none;
2501
+ cursor: default;
2502
+ background-color: transparent;
2503
+ border-color: var(--md-sys-color-outline-variant);
2504
+ }
2505
+ .button-group > :is(button, a.button)[aria-pressed=true] > :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons) {
2506
+ --md-icon-fill: 1;
2209
2507
  }
2210
- .button-group:not(.connected) > :is(button:not(.icon-button), a.button).circle:active {
2211
- width: calc(var(--md-comp-filled-button-container-height) + 2 * var(--_grow));
2508
+ .button-group:not(.connected) > :is(button, a.button):is(:active, .button-group-pressed), .button-group.square:not(.connected) > :is(button, a.button)[aria-pressed=true]:is(:active, .button-group-pressed) {
2509
+ --_corner: var(--md-comp-button-group-pressed-item-shape);
2212
2510
  }
2213
2511
  .button-group.connected {
2214
2512
  --md-comp-button-group-between-space: 2px;
2215
2513
  --md-comp-button-group-container-shape: 9999px;
2216
2514
  --md-comp-button-group-inner-corner-corner-size: 8px;
2217
2515
  --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2516
+ --md-comp-button-group-selected-inner-corner-corner-size: 50%;
2517
+ width: 100%;
2518
+ }
2519
+ .button-group.connected.xsmall {
2520
+ --md-comp-button-group-inner-corner-corner-size: 4px;
2521
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2522
+ }
2523
+ .button-group.connected.small {
2524
+ --md-comp-button-group-inner-corner-corner-size: 8px;
2525
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2526
+ }
2527
+ .button-group.connected.medium {
2528
+ --md-comp-button-group-inner-corner-corner-size: 8px;
2529
+ --md-comp-button-group-pressed-inner-corner-corner-size: 4px;
2218
2530
  }
2219
2531
  .button-group.connected.large {
2220
2532
  --md-comp-button-group-inner-corner-corner-size: 16px;
@@ -2224,23 +2536,35 @@
2224
2536
  --md-comp-button-group-inner-corner-corner-size: 20px;
2225
2537
  --md-comp-button-group-pressed-inner-corner-corner-size: 16px;
2226
2538
  }
2227
- .button-group.connected > :is(button:not(.icon-button), a.button) {
2539
+ .button-group.connected.square {
2540
+ --md-comp-button-group-container-shape: var(--md-comp-button-group-inner-corner-corner-size);
2541
+ }
2542
+ .button-group.connected > :is(button, a.button) {
2543
+ min-width: 48px;
2544
+ }
2545
+ .button-group.connected > :is(button, a.button) {
2228
2546
  --_corner: var(--md-comp-button-group-inner-corner-corner-size);
2547
+ --_outer-corner: var(--md-comp-button-group-container-shape);
2548
+ flex: 1 1 0;
2229
2549
  border-radius: var(--_corner);
2230
2550
  }
2231
- .button-group.connected > :is(button:not(.icon-button), a.button):active {
2551
+ .button-group.connected > :is(button, a.button)[aria-pressed=true] {
2552
+ --_corner: var(--md-comp-button-group-selected-inner-corner-corner-size);
2553
+ --_outer-corner: var(--md-comp-button-group-selected-inner-corner-corner-size);
2554
+ }
2555
+ .button-group.connected > :is(button, a.button):is(:active, .button-group-pressed) {
2232
2556
  --_corner: var(--md-comp-button-group-pressed-inner-corner-corner-size);
2233
2557
  }
2234
- .button-group.connected > :is(button:not(.icon-button), a.button):first-child {
2235
- border-start-start-radius: var(--md-comp-button-group-container-shape);
2236
- border-end-start-radius: var(--md-comp-button-group-container-shape);
2558
+ .button-group.connected > :is(button, a.button):first-child {
2559
+ border-start-start-radius: var(--_outer-corner);
2560
+ border-end-start-radius: var(--_outer-corner);
2237
2561
  }
2238
- .button-group.connected > :is(button:not(.icon-button), a.button):last-child {
2239
- border-start-end-radius: var(--md-comp-button-group-container-shape);
2240
- border-end-end-radius: var(--md-comp-button-group-container-shape);
2562
+ .button-group.connected > :is(button, a.button):last-child {
2563
+ border-start-end-radius: var(--_outer-corner);
2564
+ border-end-end-radius: var(--_outer-corner);
2241
2565
  }
2242
2566
  @media (prefers-reduced-motion: reduce) {
2243
- .button-group > :is(button:not(.icon-button), a.button) {
2567
+ .button-group > :is(button, a.button) {
2244
2568
  transition: none;
2245
2569
  }
2246
2570
  }
@@ -2870,12 +3194,7 @@
2870
3194
  .material-symbols-outlined,
2871
3195
  .material-symbols-rounded,
2872
3196
  .material-symbols-sharp,
2873
- .material-icons) > .badge:dir(rtl), [dir=rtl] :is(i,
2874
- .material-symbols,
2875
- .material-symbols-outlined,
2876
- .material-symbols-rounded,
2877
- .material-symbols-sharp,
2878
- .material-icons) > .badge {
3197
+ .material-icons) > .badge:dir(rtl) {
2879
3198
  transform: translate(-50%, -50%);
2880
3199
  }
2881
3200
  .list .badge,
@@ -2918,26 +3237,48 @@
2918
3237
  padding-inline: 4px;
2919
3238
  margin: 0;
2920
3239
  }
2921
- header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3240
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
2922
3241
  flex: 1 1 auto;
2923
3242
  min-width: 0;
2924
3243
  margin: 0;
2925
3244
  padding-inline: 4px 12px;
2926
3245
  }
2927
- header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6):first-child {
3246
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup):first-child {
2928
3247
  padding-inline-start: 12px;
2929
3248
  }
2930
- header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3249
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
2931
3250
  overflow: hidden;
2932
3251
  text-overflow: ellipsis;
2933
3252
  white-space: nowrap;
2934
3253
  color: inherit;
3254
+ }
3255
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3256
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6) {
3257
+ margin: 0;
3258
+ color: inherit;
2935
3259
  font-family: var(--md-sys-typescale-title-large-font-family-name);
2936
3260
  font-size: var(--md-sys-typescale-title-large-font-size);
2937
3261
  font-weight: var(--md-sys-typescale-title-large-font-weight);
2938
3262
  line-height: var(--md-sys-typescale-title-large-line-height);
2939
3263
  letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
2940
3264
  }
3265
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup {
3266
+ display: flex;
3267
+ flex-direction: column;
3268
+ justify-content: center;
3269
+ gap: 0;
3270
+ white-space: normal;
3271
+ text-overflow: unset;
3272
+ }
3273
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p {
3274
+ margin: 0;
3275
+ color: inherit;
3276
+ font-family: var(--md-sys-typescale-label-medium-font-family-name);
3277
+ font-size: var(--md-sys-typescale-label-medium-font-size);
3278
+ font-weight: var(--md-sys-typescale-label-medium-font-weight);
3279
+ line-height: var(--md-sys-typescale-label-medium-line-height);
3280
+ letter-spacing: var(--md-sys-typescale-label-medium-letter-spacing);
3281
+ }
2941
3282
  header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(a, button):not(.button, .icon-button):not(.circle):not(.extra):has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child) {
2942
3283
  display: inline-flex;
2943
3284
  flex: 0 0 auto;
@@ -2974,7 +3315,7 @@
2974
3315
  header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(a, button):not(.button, .icon-button):not(.circle):not(.extra):has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child):active {
2975
3316
  background-color: color-mix(in oklab, currentColor 10%, transparent);
2976
3317
  }
2977
- header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) ~ :is(a, button):not(.button, .icon-button):not(.circle):not(.extra):has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child) {
3318
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(:is(h1, h2, h3, h4, h5, h6), hgroup), :is(.search-bar, .searchbar)) ~ :is(a, button):not(.button, .icon-button):not(.circle):not(.extra):has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child) {
2978
3319
  color: var(--md-comp-top-app-bar-trailing-icon-color);
2979
3320
  }
2980
3321
  header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(menu, ul) {
@@ -3028,6 +3369,16 @@
3028
3369
  border: 0;
3029
3370
  box-shadow: none;
3030
3371
  }
3372
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(.search-bar, .searchbar) {
3373
+ flex: 1 1 auto;
3374
+ width: auto;
3375
+ min-width: 0;
3376
+ align-self: center;
3377
+ margin-block: 4px;
3378
+ }
3379
+ header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(.search-bar, .searchbar) input {
3380
+ text-align: center;
3381
+ }
3031
3382
  header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > a:not(:has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child)):not(.button, .icon-button):not(.circle):not(.breadcrumb), header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(menu, ul) > li > a {
3032
3383
  display: inline-flex;
3033
3384
  align-items: center;
@@ -3050,11 +3401,13 @@
3050
3401
  header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > a.active:not(:has(> :is(i, .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons):only-child)):not(.button, .icon-button):not(.circle):not(.breadcrumb), header:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(menu, ul) > li > a.active {
3051
3402
  background-color: color-mix(in oklab, currentColor 10%, transparent);
3052
3403
  }
3053
- header.center:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3404
+ header.center:not(.medium, .large):has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar),
3405
+ header.center.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3054
3406
  position: relative;
3055
3407
  justify-content: space-between;
3056
3408
  }
3057
- header.center:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3409
+ header.center:not(.medium, .large):has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup),
3410
+ header.center.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3058
3411
  position: absolute;
3059
3412
  left: 50%;
3060
3413
  transform: translateX(-50%);
@@ -3078,42 +3431,136 @@
3078
3431
  flex: 0 0 0;
3079
3432
  height: 48px;
3080
3433
  }
3081
- header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3082
- header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3434
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup),
3435
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3083
3436
  order: 1;
3084
3437
  flex: 1 1 calc(100% + 1px);
3085
3438
  white-space: normal;
3086
- overflow: visible;
3439
+ overflow: hidden;
3087
3440
  text-overflow: unset;
3088
3441
  }
3089
- header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) + *,
3090
- header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) + * {
3442
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3443
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6),
3444
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3445
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6) {
3446
+ display: -webkit-box;
3447
+ -webkit-box-orient: vertical;
3448
+ -webkit-line-clamp: 2;
3449
+ line-clamp: 2;
3450
+ overflow: hidden;
3451
+ white-space: normal;
3452
+ }
3453
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) + *,
3454
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) + * {
3091
3455
  margin-inline-start: auto;
3092
3456
  }
3093
3457
  header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3094
3458
  min-height: 112px;
3095
3459
  padding-bottom: 20px;
3096
3460
  }
3097
- header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3461
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3098
3462
  padding: 0 12px;
3099
- font-family: var(--md-sys-typescale-headline-small-font-family-name);
3100
- font-size: var(--md-sys-typescale-headline-small-font-size);
3101
- font-weight: var(--md-sys-typescale-headline-small-font-weight);
3102
- line-height: var(--md-sys-typescale-headline-small-line-height);
3103
- letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
3104
- }
3105
- header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3106
- min-height: 152px;
3107
- padding-bottom: 28px;
3108
3463
  }
3109
- header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6) {
3110
- padding: 0 12px;
3464
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3465
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6) {
3111
3466
  font-family: var(--md-sys-typescale-headline-medium-font-family-name);
3112
3467
  font-size: var(--md-sys-typescale-headline-medium-font-size);
3113
3468
  font-weight: var(--md-sys-typescale-headline-medium-font-weight);
3114
3469
  line-height: var(--md-sys-typescale-headline-medium-line-height);
3115
3470
  letter-spacing: var(--md-sys-typescale-headline-medium-letter-spacing);
3116
3471
  }
3472
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p {
3473
+ font-family: var(--md-sys-typescale-label-large-font-family-name);
3474
+ font-size: var(--md-sys-typescale-label-large-font-size);
3475
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
3476
+ line-height: var(--md-sys-typescale-label-large-line-height);
3477
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3478
+ }
3479
+ header.medium:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3480
+ min-height: 136px;
3481
+ }
3482
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3483
+ min-height: 120px;
3484
+ padding-bottom: 20px;
3485
+ }
3486
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3487
+ padding: 0 12px;
3488
+ }
3489
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3490
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6) {
3491
+ font-family: var(--md-sys-typescale-display-small-font-family-name);
3492
+ font-size: var(--md-sys-typescale-display-small-font-size);
3493
+ font-weight: var(--md-sys-typescale-display-small-font-weight);
3494
+ line-height: var(--md-sys-typescale-display-small-line-height);
3495
+ letter-spacing: var(--md-sys-typescale-display-small-letter-spacing);
3496
+ }
3497
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p {
3498
+ font-family: var(--md-sys-typescale-title-medium-font-family-name);
3499
+ font-size: var(--md-sys-typescale-title-medium-font-size);
3500
+ font-weight: var(--md-sys-typescale-title-medium-font-weight);
3501
+ line-height: var(--md-sys-typescale-title-medium-line-height);
3502
+ letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
3503
+ }
3504
+ header.large:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3505
+ min-height: 152px;
3506
+ padding-bottom: 28px;
3507
+ }
3508
+ header.center.medium:not(.collapsed):has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup),
3509
+ header.center.large:not(.collapsed):has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3510
+ text-align: center;
3511
+ align-items: center;
3512
+ }
3513
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar),
3514
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) {
3515
+ flex-wrap: nowrap;
3516
+ align-content: center;
3517
+ align-items: center;
3518
+ min-height: 64px;
3519
+ padding-top: 0;
3520
+ padding-bottom: 0;
3521
+ }
3522
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)::before,
3523
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)::before {
3524
+ display: none;
3525
+ }
3526
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup),
3527
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) {
3528
+ order: 0;
3529
+ flex: 1 1 auto;
3530
+ white-space: nowrap;
3531
+ overflow: hidden;
3532
+ text-overflow: ellipsis;
3533
+ }
3534
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) + *,
3535
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(:is(h1, h2, h3, h4, h5, h6), hgroup) + * {
3536
+ margin-inline-start: 0;
3537
+ }
3538
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3539
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6),
3540
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > :is(h1, h2, h3, h4, h5, h6),
3541
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > :is(h1, h2, h3, h4, h5, h6) {
3542
+ display: block;
3543
+ padding: 0;
3544
+ -webkit-line-clamp: unset;
3545
+ line-clamp: unset;
3546
+ white-space: nowrap;
3547
+ overflow: hidden;
3548
+ text-overflow: ellipsis;
3549
+ font-family: var(--md-sys-typescale-title-large-font-family-name);
3550
+ font-size: var(--md-sys-typescale-title-large-font-size);
3551
+ font-weight: var(--md-sys-typescale-title-large-font-weight);
3552
+ line-height: var(--md-sys-typescale-title-large-line-height);
3553
+ letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
3554
+ }
3555
+ header.medium.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p,
3556
+ header.large.collapsed:has(> :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar)) > :is(nav:not(.tabs, .navigation-bar, .navigation-rail), .bar) > hgroup > p {
3557
+ padding: 0;
3558
+ font-family: var(--md-sys-typescale-label-medium-font-family-name);
3559
+ font-size: var(--md-sys-typescale-label-medium-font-size);
3560
+ font-weight: var(--md-sys-typescale-label-medium-font-weight);
3561
+ line-height: var(--md-sys-typescale-label-medium-line-height);
3562
+ letter-spacing: var(--md-sys-typescale-label-medium-letter-spacing);
3563
+ }
3117
3564
  header.fixed:has(> :is(nav:not(.navigation-bar, .navigation-rail), .bar)) {
3118
3565
  position: sticky;
3119
3566
  top: 0;
@@ -3208,9 +3655,12 @@
3208
3655
  position: absolute;
3209
3656
  z-index: 1;
3210
3657
  top: calc(4px + (var(--md-comp-nav-bar-indicator-height) - 24px) / 2);
3211
- left: calc(50% + 12px);
3658
+ inset-inline-start: calc(50% + 12px);
3212
3659
  transform: translate(-50%, -50%);
3213
3660
  }
3661
+ .navigation-bar > :is(a, button) > .badge:dir(rtl) {
3662
+ transform: translate(50%, -50%);
3663
+ }
3214
3664
  .navigation-bar.horizontal {
3215
3665
  --md-comp-nav-bar-indicator-shape: 100px;
3216
3666
  min-height: 56px;
@@ -3234,6 +3684,9 @@
3234
3684
  inset-inline-start: 40px;
3235
3685
  transform: translate(-50%, -50%);
3236
3686
  }
3687
+ .navigation-bar.horizontal > :is(a, button) > .badge:dir(rtl) {
3688
+ transform: translate(50%, -50%);
3689
+ }
3237
3690
  .navigation-bar.horizontal > :is(a, button):hover:not(.active, [aria-current]) {
3238
3691
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) calc(var(--md-sys-state-hover-state-layer-opacity) * 100%), transparent);
3239
3692
  }
@@ -3401,9 +3854,13 @@
3401
3854
  position: absolute;
3402
3855
  z-index: 1;
3403
3856
  top: calc(6px + (var(--md-comp-nav-rail-indicator-height) - 24px) / 2);
3404
- left: calc(50% + 12px);
3857
+ inset-inline-start: calc(50% + 12px);
3405
3858
  transform: translate(-50%, -50%);
3406
3859
  }
3860
+ .navigation-rail > a:not(.button, .icon-button) > .badge:dir(rtl),
3861
+ .navigation-rail > button:not(.button, .icon-button):not(:first-child) > .badge:dir(rtl) {
3862
+ transform: translate(50%, -50%);
3863
+ }
3407
3864
  .navigation-rail > :is(h1, h2, h3, h4, h5, h6) {
3408
3865
  display: none;
3409
3866
  box-sizing: border-box;
@@ -3492,6 +3949,10 @@
3492
3949
  inset-inline-start: 40px;
3493
3950
  transform: translate(-50%, -50%);
3494
3951
  }
3952
+ .navigation-rail.expanded > a:not(.button, .icon-button) > .badge:dir(rtl),
3953
+ .navigation-rail.expanded > button:not(.button, .icon-button):not(:first-child) > .badge:dir(rtl) {
3954
+ transform: translate(50%, -50%);
3955
+ }
3495
3956
  .navigation-rail.expanded > :is(h1, h2, h3, h4, h5, h6) {
3496
3957
  display: block;
3497
3958
  }
@@ -3752,6 +4213,12 @@
3752
4213
  .scale-transition.scale-in {
3753
4214
  transform: scale(1);
3754
4215
  }
4216
+ @media (prefers-reduced-motion: reduce) {
4217
+ .scale-transition,
4218
+ .scale-transition.scale-out {
4219
+ transition: none !important;
4220
+ }
4221
+ }
3755
4222
  :where(article) {
3756
4223
  --md-comp-elevated-card-container-color: var(--md-sys-color-surface-container-low);
3757
4224
  --md-comp-filled-card-container-color: var(--md-sys-color-surface-container-highest);
@@ -3813,57 +4280,70 @@
3813
4280
  }
3814
4281
  :where(article).filled {
3815
4282
  --md-comp-card-container-color: var(--md-comp-filled-card-container-color);
3816
- box-shadow: none !important;
4283
+ box-shadow: none;
3817
4284
  }
3818
4285
  :where(article).outlined,
3819
4286
  :where(article).border {
3820
4287
  --md-comp-card-container-color: var(--md-comp-outlined-card-container-color);
3821
- box-shadow: none !important;
4288
+ box-shadow: none;
3822
4289
  border: 1px solid var(--md-comp-outlined-card-outline-color);
3823
4290
  }
3824
- :where(article):not(.filled, .outlined, .border):has(> .primary-action:hover) {
4291
+ :where(article):not(.dragged, .picked-up):not(.filled, .outlined, .border):has(> .primary-action:hover) {
3825
4292
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
3826
4293
  }
3827
- :where(article):is(.filled, .outlined, .border):has(> .primary-action:hover) {
4294
+ :where(article):not(.dragged, .picked-up):is(.filled, .outlined, .border):has(> .primary-action:hover) {
3828
4295
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
3829
4296
  }
3830
- :where(article):has(> .primary-action:hover)::after {
4297
+ :where(article):not(.dragged, .picked-up):has(> .primary-action:hover)::after {
3831
4298
  opacity: var(--md-comp-card-hover-state-layer-opacity);
3832
4299
  }
3833
4300
  :where(article):has(> .primary-action:focus-visible) {
3834
4301
  outline: var(--md-comp-card-focus-indicator-thickness) solid var(--md-comp-card-focus-indicator-color);
3835
4302
  outline-offset: var(--md-comp-card-focus-indicator-offset);
3836
4303
  }
3837
- :where(article):has(> .primary-action:focus-visible)::after {
4304
+ :where(article):not(.dragged, .picked-up):has(> .primary-action:focus-visible)::after {
3838
4305
  opacity: var(--md-comp-card-focus-state-layer-opacity);
3839
4306
  }
3840
4307
  :where(article):is(.outlined, .border):has(> .primary-action:focus-visible) {
3841
4308
  border-color: var(--md-sys-color-on-surface);
3842
4309
  }
3843
- :where(article):has(> .primary-action:active)::after {
4310
+ :where(article):not(.dragged, .picked-up):has(> .primary-action:active)::after {
3844
4311
  opacity: var(--md-comp-card-pressed-state-layer-opacity);
3845
4312
  }
3846
- :where(article).dragged {
4313
+ :where(article):not(.dragged, .picked-up):not(.filled, .outlined, .border):has(> .primary-action:active) {
4314
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
4315
+ }
4316
+ :where(article):not(.dragged, .picked-up):is(.filled, .outlined, .border):has(> .primary-action:active) {
4317
+ box-shadow: none !important;
4318
+ }
4319
+ :where(article):not(.filled, .outlined, .border):is(.dragged, .picked-up) {
4320
+ z-index: 4;
4321
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
4322
+ }
4323
+ :where(article):is(.filled, .outlined, .border):is(.dragged, .picked-up) {
4324
+ z-index: 4;
3847
4325
  box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
3848
4326
  }
3849
- :where(article).dragged::after {
4327
+ :where(article):is(.dragged, .picked-up)::after {
3850
4328
  opacity: var(--md-comp-card-dragged-state-layer-opacity);
3851
4329
  }
3852
4330
  :where(article):is(.disabled, [aria-disabled=true]),
3853
4331
  :where(article):has(> .primary-action[aria-disabled=true]) {
3854
- box-shadow: none !important;
3855
4332
  outline: 0;
3856
4333
  }
3857
4334
  :where(article):not(.filled, .outlined, .border):is(.disabled, [aria-disabled=true]),
3858
4335
  :where(article):not(.filled, .outlined, .border):has(> .primary-action[aria-disabled=true]) {
4336
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
3859
4337
  background-color: color-mix(in oklab, var(--md-sys-color-surface) var(--md-comp-card-disabled-container-opacity), transparent);
3860
4338
  }
3861
4339
  :where(article).filled:is(.disabled, [aria-disabled=true]),
3862
4340
  :where(article).filled:has(> .primary-action[aria-disabled=true]) {
3863
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) var(--md-comp-card-disabled-container-opacity), transparent);
4341
+ box-shadow: none !important;
4342
+ background-color: color-mix(in oklab, var(--md-sys-color-surface-variant) var(--md-comp-card-disabled-container-opacity), transparent);
3864
4343
  }
3865
4344
  :where(article):is(.outlined, .border):is(.disabled, [aria-disabled=true]),
3866
4345
  :where(article):is(.outlined, .border):has(> .primary-action[aria-disabled=true]) {
4346
+ box-shadow: none !important;
3867
4347
  background-color: var(--md-comp-outlined-card-container-color);
3868
4348
  border-color: color-mix(in oklab, var(--md-comp-outlined-card-disabled-outline-color) var(--md-comp-outlined-card-disabled-outline-opacity), transparent);
3869
4349
  }
@@ -4003,11 +4483,6 @@
4003
4483
  auto-fit,
4004
4484
  minmax(min(100%, var(--md-comp-card-collection-min-card-width)), 1fr)
4005
4485
  );
4006
- --md-comp-card-collection-resting-shadow: none;
4007
- --md-comp-card-collection-picked-up-shadow:
4008
- 0 8px 17px 2px rgba(0, 0, 0, 0.14),
4009
- 0 3px 14px 2px rgba(0, 0, 0, 0.12),
4010
- 0 5px 5px -3px rgba(0, 0, 0, 0.2);
4011
4486
  --md-comp-card-collection-mosaic-row-size: 80px;
4012
4487
  --md-comp-card-collection-carousel-height: 320px;
4013
4488
  --md-comp-card-collection-carousel-card-width: min(82%, 360px);
@@ -4018,13 +4493,6 @@
4018
4493
  margin: 0;
4019
4494
  padding: 0;
4020
4495
  }
4021
- :where(.card-collection article):not(.dragged, .picked-up) {
4022
- box-shadow: var(--md-comp-card-collection-resting-shadow) !important;
4023
- }
4024
- :where(.card-collection article):is(.dragged, .picked-up) {
4025
- z-index: 4;
4026
- box-shadow: var(--md-comp-card-collection-picked-up-shadow) !important;
4027
- }
4028
4496
  :where(.card-collection article):not(.horizontal) {
4029
4497
  display: flex;
4030
4498
  flex-direction: column;
@@ -4104,6 +4572,48 @@
4104
4572
  align-self: end;
4105
4573
  justify-content: flex-end;
4106
4574
  }
4575
+ article.horizontal:has(> .primary-action) {
4576
+ display: block;
4577
+ }
4578
+ article.horizontal > .primary-action {
4579
+ display: grid;
4580
+ grid-template-columns: minmax(0, var(--md-comp-card-horizontal-media-width)) minmax(0, 1fr);
4581
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
4582
+ min-height: var(--md-comp-card-horizontal-min-height);
4583
+ overflow: hidden;
4584
+ }
4585
+ article.horizontal > .primary-action > img,
4586
+ article.horizontal > .primary-action > picture,
4587
+ article.horizontal > .primary-action > figure {
4588
+ grid-column: 1;
4589
+ grid-row: 1/-1;
4590
+ width: 100%;
4591
+ height: 100%;
4592
+ align-self: stretch;
4593
+ }
4594
+ article.horizontal > .primary-action > img,
4595
+ article.horizontal > .primary-action > picture img,
4596
+ article.horizontal > .primary-action > figure img {
4597
+ height: 100%;
4598
+ object-fit: cover;
4599
+ }
4600
+ article.horizontal > .primary-action > :is(h1, h2, h3, h4, h5, h6),
4601
+ article.horizontal > .primary-action > header {
4602
+ grid-column: 2;
4603
+ grid-row: 1;
4604
+ }
4605
+ article.horizontal > .primary-action > p.subhead {
4606
+ grid-column: 2;
4607
+ grid-row: 2;
4608
+ }
4609
+ article.horizontal > .primary-action > p:not(.subhead) {
4610
+ grid-column: 2;
4611
+ grid-row: 3;
4612
+ }
4613
+ article.horizontal > .primary-action {
4614
+ width: 100%;
4615
+ min-height: inherit;
4616
+ }
4107
4617
  article.small {
4108
4618
  height: 300px;
4109
4619
  }
@@ -4122,7 +4632,7 @@
4122
4632
  min-height: 0;
4123
4633
  overflow: hidden;
4124
4634
  }
4125
- article.small > img, article.small > figure img, article.medium > img, article.medium > figure img, article.large > img, article.large > figure img {
4635
+ article.small > img, article.small > picture img, article.small > figure img, article.medium > img, article.medium > picture img, article.medium > figure img, article.large > img, article.large > picture img, article.large > figure img {
4126
4636
  height: 100%;
4127
4637
  }
4128
4638
  article.small > p, article.medium > p, article.large > p {
@@ -4147,10 +4657,34 @@
4147
4657
  article.horizontal.large > figure {
4148
4658
  max-height: none;
4149
4659
  }
4150
- :where(article):has(> aside) {
4660
+ article.horizontal:is(.small, .medium, .large):has(> .primary-action) {
4661
+ display: block;
4662
+ }
4663
+ article.horizontal:is(.small, .medium, .large) > .primary-action {
4664
+ height: 100%;
4665
+ }
4666
+ @media (width < 600px) {
4667
+ article.horizontal,
4668
+ article.horizontal.small,
4669
+ article.horizontal.medium,
4670
+ article.horizontal.large {
4671
+ display: flex;
4672
+ flex-direction: column;
4673
+ height: auto;
4674
+ min-height: auto;
4675
+ }
4676
+ article.horizontal > .primary-action,
4677
+ article.horizontal:is(.small, .medium, .large) > .primary-action {
4678
+ display: flex;
4679
+ flex-direction: column;
4680
+ height: auto;
4681
+ min-height: auto;
4682
+ }
4683
+ }
4684
+ :where(article.card-reveal-initialized) {
4151
4685
  interpolate-size: allow-keywords;
4152
4686
  }
4153
- article > aside {
4687
+ article.card-reveal-initialized > aside {
4154
4688
  --md-comp-card-reveal-duration: 500ms;
4155
4689
  --md-comp-card-reveal-easing: cubic-bezier(0.2, 0, 0, 1);
4156
4690
  position: relative;
@@ -4168,7 +4702,7 @@
4168
4702
  pointer-events: none;
4169
4703
  transition: height var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), padding-block var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), opacity 150ms ease-out, visibility 0s var(--md-comp-card-reveal-duration);
4170
4704
  }
4171
- article > aside[aria-expanded=true] {
4705
+ article.card-reveal-initialized > aside.open {
4172
4706
  height: auto;
4173
4707
  padding-block: 0 var(--md-comp-card-content-padding);
4174
4708
  opacity: 1;
@@ -4177,13 +4711,13 @@
4177
4711
  transition: height var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), padding-block var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), opacity 200ms 100ms ease-out, visibility 0s;
4178
4712
  }
4179
4713
  @supports not (interpolate-size: allow-keywords) {
4180
- article > aside {
4714
+ article.card-reveal-initialized > aside {
4715
+ display: none;
4181
4716
  height: auto;
4182
- max-height: 0;
4183
- transition: max-height var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), padding-block var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), opacity 150ms ease-out, visibility 0s var(--md-comp-card-reveal-duration);
4717
+ transition: none;
4184
4718
  }
4185
- article > aside[aria-expanded=true] {
4186
- max-height: var(--md-comp-card-reveal-fallback-height, 320px);
4719
+ article.card-reveal-initialized > aside.open {
4720
+ display: block;
4187
4721
  }
4188
4722
  }
4189
4723
  article > figure > .card-reveal-trigger {
@@ -4253,11 +4787,14 @@
4253
4787
  fill: currentColor;
4254
4788
  }
4255
4789
  @media (prefers-reduced-motion: reduce) {
4256
- article > aside {
4790
+ :where(article),
4791
+ :where(article)::after,
4792
+ article > figure > .card-reveal-trigger,
4793
+ article.card-reveal-initialized > aside {
4257
4794
  transition: none;
4258
4795
  }
4259
4796
  }
4260
- article.sticky > :is(nav, .actions) {
4797
+ article.sticky > .actions {
4261
4798
  position: relative;
4262
4799
  z-index: 4;
4263
4800
  background-color: inherit;
@@ -7568,6 +8105,41 @@
7568
8105
  padding: 0;
7569
8106
  border: 0;
7570
8107
  }
8108
+ .field:has(> .hide-select):has(> label):not(.outlined) {
8109
+ display: grid;
8110
+ }
8111
+ .field:has(> .hide-select):has(> label):not(.outlined) > label {
8112
+ grid-row: 1;
8113
+ background-color: var(--md-comp-filled-text-field-container-color);
8114
+ border-start-start-radius: inherit;
8115
+ border-start-end-radius: inherit;
8116
+ position: static;
8117
+ transform: none;
8118
+ margin: 0;
8119
+ padding: 8px 16px 0;
8120
+ padding-inline-end: 52px;
8121
+ overflow-wrap: anywhere;
8122
+ pointer-events: auto;
8123
+ font-family: var(--md-sys-typescale-body-small-font-family-name);
8124
+ font-size: var(--md-sys-typescale-body-small-font-size);
8125
+ font-weight: var(--md-sys-typescale-body-small-font-weight);
8126
+ line-height: var(--md-sys-typescale-body-small-line-height);
8127
+ letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
8128
+ }
8129
+ .field:has(> .hide-select):has(> label):not(.outlined):has(> i:first-of-type:not(.suffix):not(:last-child), > i.prefix, > .prefix) > label {
8130
+ padding-left: 52px;
8131
+ }
8132
+ .field:has(> .hide-select):has(> label):not(.outlined).disabled > label {
8133
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 4%, transparent);
8134
+ }
8135
+ .field:has(> .hide-select):has(> label):not(.outlined) > input.menu-trigger {
8136
+ grid-row: 2;
8137
+ height: auto;
8138
+ min-height: calc(var(--md-sys-typescale-body-large-line-height) + 8px);
8139
+ padding-block: 0 7px;
8140
+ border-start-start-radius: 0;
8141
+ border-start-end-radius: 0;
8142
+ }
7571
8143
  .field:has(> .hide-select).disabled .caret {
7572
8144
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
7573
8145
  }