@expressivecss/expressive 0.15.0 → 0.16.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 (602) hide show
  1. package/CHANGELOG.md +1502 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19247 -11923
  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-noto-sans-arabic +93 -0
  8. package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
  9. package/dist/fonts/LICENSE-noto-sans-thai +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-arabic-arabic-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
  15. package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
  16. package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
  17. package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
  18. package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
  19. package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
  20. package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
  21. package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
  22. package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
  23. package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
  24. package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
  25. package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
  26. package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
  27. package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
  28. package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
  29. package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
  30. package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
  31. package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
  32. package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
  33. package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
  34. package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
  35. package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
  36. package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
  37. package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
  38. package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
  39. package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
  40. package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
  41. package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
  42. package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
  43. package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
  44. package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
  45. package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
  46. package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
  47. package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
  48. package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
  49. package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
  50. package/dist/fonts/roboto-greek-400.woff2 +0 -0
  51. package/dist/fonts/roboto-greek-500.woff2 +0 -0
  52. package/dist/fonts/roboto-greek-700.woff2 +0 -0
  53. package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
  54. package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
  55. package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
  56. package/dist/fonts/roboto-latin-700.woff2 +0 -0
  57. package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
  58. package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
  59. package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
  60. package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
  61. package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
  62. package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
  63. package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
  64. package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
  66. package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
  67. package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
  68. package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
  69. package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
  70. package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
  72. package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
  73. package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
  74. package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-4QUCNFSD.mjs} +64 -113
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-6FSEUFVW.mjs} +39 -26
  84. package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
  85. package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
  86. package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
  87. package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-7NLUI3RR.mjs} +139 -66
  90. package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
  92. package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
  94. package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
  96. package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
  98. package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
  99. package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-B7DQFHA5.mjs} +30 -47
  102. package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
  103. package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
  104. package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
  105. package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-BPF3I2MN.mjs} +109 -24
  106. package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
  108. package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-CSYWKEK3.mjs} +310 -196
  110. package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
  111. package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
  112. package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
  114. package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
  115. package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-EVCVFEV3.mjs} +235 -146
  118. package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
  119. package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
  120. package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
  121. package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
  122. package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
  123. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  124. package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
  125. package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
  127. package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
  128. package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-ILDRRG7T.mjs} +21 -23
  129. package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
  131. package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
  133. package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
  134. package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
  135. package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-KZPSAXIU.mjs} +142 -32
  137. package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
  139. package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
  140. package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
  141. package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
  143. package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
  145. package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
  146. package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
  147. package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
  148. package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-OP43LLIC.mjs} +28 -45
  149. package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
  151. package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
  152. package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-OYNUDOHR.mjs} +19 -47
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UAZSDUVP.mjs → chunk-P6DRQ6KS.mjs} +36 -30
  155. package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
  157. package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
  158. package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
  159. package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
  160. package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-QXKWVHBD.mjs} +265 -161
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-ROH2HDB4.mjs} +7 -6
  163. package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
  164. package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
  165. package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
  166. package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-SPPHF7YZ.mjs} +36 -29
  167. package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
  169. package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
  170. package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
  171. package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
  172. package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
  173. package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
  175. package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
  177. package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-VGY4M57S.mjs} +266 -120
  179. package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
  181. package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
  183. package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-VMY55K2X.mjs} +76 -109
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-VR3L2WN5.mjs} +11 -17
  187. package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  189. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
  191. package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
  193. package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
  194. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
  195. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
  197. package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
  199. package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
  201. package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
  202. package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-ZJNLAGY5.mjs} +19 -30
  203. package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
  205. package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
  206. package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
  207. package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
  208. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
  209. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
  211. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
  212. package/dist/js/expressive.cjs +10613 -4327
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10613 -4327
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -22
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +182 -71
  219. package/dist/js/expressive.mjs.map +2 -2
  220. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  221. package/dist/js/internal/behaviors/copy.mjs +9 -0
  222. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  223. package/dist/js/internal/behaviors/dataTables.mjs +10 -0
  224. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  226. package/dist/js/internal/behaviors/forms.mjs +2 -2
  227. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  228. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  229. package/dist/js/internal/behaviors/lists.mjs +8 -0
  230. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  232. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  234. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  235. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  236. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  237. package/dist/js/internal/behaviors/theme.mjs +8 -0
  238. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/tour.mjs +8 -0
  240. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  242. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  243. package/dist/js/internal/components/appBar.mjs +3 -2
  244. package/dist/js/internal/components/autocomplete.mjs +4 -4
  245. package/dist/js/internal/components/backToTop.mjs +9 -0
  246. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  247. package/dist/js/internal/components/barChart.mjs +5 -4
  248. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  249. package/dist/js/internal/components/buttons.mjs +3 -3
  250. package/dist/js/internal/components/cards.mjs +3 -3
  251. package/dist/js/internal/components/carousel.mjs +3 -3
  252. package/dist/js/internal/components/cascader.mjs +10 -0
  253. package/dist/js/internal/components/cascader.mjs.map +7 -0
  254. package/dist/js/internal/components/characterCounter.mjs +3 -2
  255. package/dist/js/internal/components/chips.mjs +6 -5
  256. package/dist/js/internal/components/colorPicker.mjs +9 -0
  257. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  258. package/dist/js/internal/components/columnChart.mjs +4 -3
  259. package/dist/js/internal/components/commandPalette.mjs +3 -3
  260. package/dist/js/internal/components/confetti.mjs +3 -2
  261. package/dist/js/internal/components/currencyInput.mjs +9 -0
  262. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  263. package/dist/js/internal/components/datepicker.mjs +11 -8
  264. package/dist/js/internal/components/expandingCard.mjs +3 -3
  265. package/dist/js/internal/components/funnelChart.mjs +10 -0
  266. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  267. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  268. package/dist/js/internal/components/hoverCard.mjs +9 -0
  269. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  270. package/dist/js/internal/components/index.mjs +131 -66
  271. package/dist/js/internal/components/inputMask.mjs +9 -0
  272. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  273. package/dist/js/internal/components/keypad.mjs +3 -3
  274. package/dist/js/internal/components/lightbox.mjs +3 -3
  275. package/dist/js/internal/components/lineChart.mjs +25 -4
  276. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  277. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  278. package/dist/js/internal/components/mapView.mjs +3 -3
  279. package/dist/js/internal/components/menu.mjs +3 -3
  280. package/dist/js/internal/components/menubar.mjs +10 -0
  281. package/dist/js/internal/components/menubar.mjs.map +7 -0
  282. package/dist/js/internal/components/messageScroller.mjs +3 -3
  283. package/dist/js/internal/components/mixedChart.mjs +5 -4
  284. package/dist/js/internal/components/navigationRail.mjs +3 -2
  285. package/dist/js/internal/components/particles.mjs +3 -2
  286. package/dist/js/internal/components/pieChart.mjs +4 -3
  287. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  288. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  289. package/dist/js/internal/components/questionnaire.mjs +3 -3
  290. package/dist/js/internal/components/radarChart.mjs +4 -3
  291. package/dist/js/internal/components/radialChart.mjs +4 -3
  292. package/dist/js/internal/components/registry.mjs +59 -41
  293. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  294. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  295. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  296. package/dist/js/internal/components/scatterChart.mjs +10 -0
  297. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scrollspy.mjs +3 -2
  299. package/dist/js/internal/components/select.mjs +4 -4
  300. package/dist/js/internal/components/showMore.mjs +9 -0
  301. package/dist/js/internal/components/showMore.mjs.map +7 -0
  302. package/dist/js/internal/components/slider.mjs +3 -3
  303. package/dist/js/internal/components/snackbar.mjs +2 -2
  304. package/dist/js/internal/components/swipeActions.mjs +9 -0
  305. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  306. package/dist/js/internal/components/tabs.mjs +3 -4
  307. package/dist/js/internal/components/timepicker.mjs +5 -4
  308. package/dist/js/internal/components/tooltip.mjs +3 -3
  309. package/dist/js/internal/components/treeSelect.mjs +13 -0
  310. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  311. package/dist/js/internal/components/treemapChart.mjs +10 -0
  312. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  313. package/dist/js/internal/core/component.mjs +2 -1
  314. package/dist/js/internal/core/formControl.mjs +12 -0
  315. package/dist/js/internal/core/formControl.mjs.map +7 -0
  316. package/dist/js/internal/core/spring.mjs +11 -0
  317. package/dist/js/internal/core/spring.mjs.map +7 -0
  318. package/dist/js/internal/core/utils.mjs +11 -3
  319. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  320. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  322. package/dist/js/modular.mjs +173 -71
  323. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  324. package/dist/types/behaviors/copy.d.ts +18 -0
  325. package/dist/types/behaviors/dataTables.d.ts +129 -0
  326. package/dist/types/behaviors/dialogs.d.ts +27 -1
  327. package/dist/types/behaviors/forms.d.ts +68 -2
  328. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  329. package/dist/types/behaviors/lists.d.ts +12 -0
  330. package/dist/types/behaviors/paneResize.d.ts +29 -0
  331. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  332. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  333. package/dist/types/behaviors/sortable.d.ts +28 -0
  334. package/dist/types/behaviors/theme.d.ts +22 -0
  335. package/dist/types/behaviors/tour.d.ts +36 -0
  336. package/dist/types/behaviors/transferList.d.ts +51 -0
  337. package/dist/types/components/appBar.d.ts +5 -6
  338. package/dist/types/components/autocomplete.d.ts +91 -17
  339. package/dist/types/components/backToTop.d.ts +36 -0
  340. package/dist/types/components/barChart.d.ts +3 -6
  341. package/dist/types/components/buttonGroup.d.ts +2 -4
  342. package/dist/types/components/buttons.d.ts +5 -5
  343. package/dist/types/components/cards.d.ts +3 -16
  344. package/dist/types/components/carousel.d.ts +9 -15
  345. package/dist/types/components/cascader.d.ts +130 -0
  346. package/dist/types/components/characterCounter.d.ts +2 -15
  347. package/dist/types/components/chips.d.ts +65 -19
  348. package/dist/types/components/colorPicker.d.ts +42 -0
  349. package/dist/types/components/columnChart.d.ts +23 -10
  350. package/dist/types/components/commandPalette.d.ts +11 -16
  351. package/dist/types/components/confetti.d.ts +2 -4
  352. package/dist/types/components/currencyInput.d.ts +59 -0
  353. package/dist/types/components/datepicker.d.ts +56 -32
  354. package/dist/types/components/expandingCard.d.ts +4 -6
  355. package/dist/types/components/funnelChart.d.ts +38 -0
  356. package/dist/types/components/heatmapChart.d.ts +39 -8
  357. package/dist/types/components/hoverCard.d.ts +58 -0
  358. package/dist/types/components/index.d.ts +16 -1
  359. package/dist/types/components/inputMask.d.ts +30 -0
  360. package/dist/types/components/keypad.d.ts +38 -6
  361. package/dist/types/components/lightbox.d.ts +14 -20
  362. package/dist/types/components/lineChart.d.ts +172 -10
  363. package/dist/types/components/loadingOverlay.d.ts +42 -0
  364. package/dist/types/components/mapView.d.ts +26 -17
  365. package/dist/types/components/menu.d.ts +60 -22
  366. package/dist/types/components/menubar.d.ts +37 -0
  367. package/dist/types/components/messageScroller.d.ts +2 -14
  368. package/dist/types/components/mixedChart.d.ts +15 -6
  369. package/dist/types/components/navigationRail.d.ts +16 -5
  370. package/dist/types/components/particles.d.ts +8 -4
  371. package/dist/types/components/pieChart.d.ts +32 -7
  372. package/dist/types/components/pullToRefresh.d.ts +80 -0
  373. package/dist/types/components/questionnaire.d.ts +58 -16
  374. package/dist/types/components/radarChart.d.ts +10 -6
  375. package/dist/types/components/radialChart.d.ts +58 -7
  376. package/dist/types/components/registry.d.ts +73 -3
  377. package/dist/types/components/richTextEditor.d.ts +6 -14
  378. package/dist/types/components/sankeyChart.d.ts +72 -0
  379. package/dist/types/components/scatterChart.d.ts +102 -0
  380. package/dist/types/components/scrollspy.d.ts +3 -5
  381. package/dist/types/components/select.d.ts +43 -30
  382. package/dist/types/components/showMore.d.ts +51 -0
  383. package/dist/types/components/slider.d.ts +3 -15
  384. package/dist/types/components/snackbar.d.ts +61 -0
  385. package/dist/types/components/swipeActions.d.ts +81 -0
  386. package/dist/types/components/tabs.d.ts +89 -27
  387. package/dist/types/components/timepicker.d.ts +113 -21
  388. package/dist/types/components/tooltip.d.ts +56 -20
  389. package/dist/types/components/treeSelect.d.ts +106 -0
  390. package/dist/types/components/treemapChart.d.ts +56 -0
  391. package/dist/types/core/component.d.ts +43 -25
  392. package/dist/types/core/formControl.d.ts +21 -0
  393. package/dist/types/core/spring.d.ts +20 -0
  394. package/dist/types/core/utils.d.ts +85 -72
  395. package/dist/types/modular.d.ts +33 -1
  396. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  397. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  398. package/package.json +10 -8
  399. package/src/sass/README.md +27 -18
  400. package/src/sass/abstracts/_elevation.scss +13 -7
  401. package/src/sass/abstracts/_index.scss +1 -0
  402. package/src/sass/abstracts/_mixins.scss +422 -36
  403. package/src/sass/abstracts/_spring.scss +63 -0
  404. package/src/sass/abstracts/_variables.scss +39 -21
  405. package/src/sass/base/_fonts.scss +61 -48
  406. package/src/sass/base/_global.scss +104 -24
  407. package/src/sass/base/_index.scss +2 -0
  408. package/src/sass/base/_normalize.scss +59 -114
  409. package/src/sass/base/_print.scss +21 -0
  410. package/src/sass/base/_prose.scss +68 -0
  411. package/src/sass/base/_typography.scss +9 -5
  412. package/src/sass/components/_accordion.scss +9 -16
  413. package/src/sass/components/_alert.scss +102 -0
  414. package/src/sass/components/_aura.scss +8 -3
  415. package/src/sass/components/_avatar.scss +3 -3
  416. package/src/sass/components/_back-to-top.scss +38 -0
  417. package/src/sass/components/_badges.scss +6 -5
  418. package/src/sass/components/_bar-chart.scss +41 -19
  419. package/src/sass/components/_bottom-sheet.scss +44 -16
  420. package/src/sass/components/_breadcrumb.scss +8 -1
  421. package/src/sass/components/_button-groups.scss +15 -25
  422. package/src/sass/components/_buttons.scss +156 -63
  423. package/src/sass/components/_calendar.scss +246 -0
  424. package/src/sass/components/_cards.scss +36 -44
  425. package/src/sass/components/_carousel.scss +27 -103
  426. package/src/sass/components/_cascader.scss +142 -0
  427. package/src/sass/components/_chips.scss +36 -46
  428. package/src/sass/components/_column-chart.scss +19 -12
  429. package/src/sass/components/_command-palette.scss +4 -7
  430. package/src/sass/components/_confetti.scss +0 -2
  431. package/src/sass/components/_countdown.scss +1 -1
  432. package/src/sass/components/_data-table.scss +162 -25
  433. package/src/sass/components/_datepicker.scss +54 -40
  434. package/src/sass/components/_description-list.scss +85 -0
  435. package/src/sass/components/_dialog.scss +42 -41
  436. package/src/sass/components/_docked-display.scss +1 -3
  437. package/src/sass/components/_drag-handle.scss +16 -20
  438. package/src/sass/components/_expanding-card.scss +20 -9
  439. package/src/sass/components/_fab-menu.scss +44 -32
  440. package/src/sass/components/_funnel-chart.scss +124 -0
  441. package/src/sass/components/_heatmap-chart.scss +111 -22
  442. package/src/sass/components/_icon-buttons.scss +7 -7
  443. package/src/sass/components/_icons-material-design.scss +2 -2
  444. package/src/sass/components/_image-compare.scss +108 -0
  445. package/src/sass/components/_index.scss +20 -0
  446. package/src/sass/components/_keypad.scss +39 -19
  447. package/src/sass/components/_kpi.scss +6 -11
  448. package/src/sass/components/_lightbox.scss +24 -13
  449. package/src/sass/components/_line-chart.scss +16 -2
  450. package/src/sass/components/_list.scss +59 -14
  451. package/src/sass/components/_loading-indicator.scss +1 -0
  452. package/src/sass/components/_loading-overlay.scss +105 -0
  453. package/src/sass/components/_map.scss +33 -11
  454. package/src/sass/components/_marquee.scss +3 -2
  455. package/src/sass/components/_mega-menu.scss +137 -0
  456. package/src/sass/components/_menu.scss +143 -123
  457. package/src/sass/components/_menubar.scss +59 -0
  458. package/src/sass/components/_message-scroller.scss +2 -2
  459. package/src/sass/components/_message.scss +3 -3
  460. package/src/sass/components/_mixed-chart.scss +37 -9
  461. package/src/sass/components/_modal-display.scss +21 -0
  462. package/src/sass/components/_navbar.scss +34 -20
  463. package/src/sass/components/_navigation-bar.scss +15 -77
  464. package/src/sass/components/_navigation-rail.scss +151 -92
  465. package/src/sass/components/_org-chart.scss +192 -0
  466. package/src/sass/components/_page-footer.scss +1 -1
  467. package/src/sass/components/_pagination.scss +6 -13
  468. package/src/sass/components/_panes.scss +32 -26
  469. package/src/sass/components/_particles.scss +0 -2
  470. package/src/sass/components/_pie-chart.scss +91 -11
  471. package/src/sass/components/_popover.scss +18 -5
  472. package/src/sass/components/_progress.scss +152 -31
  473. package/src/sass/components/_pull-to-refresh.scss +90 -0
  474. package/src/sass/components/_questionnaire.scss +74 -3
  475. package/src/sass/components/_radar-chart.scss +38 -10
  476. package/src/sass/components/_radial-chart.scss +113 -5
  477. package/src/sass/components/_rich-text-editor.scss +2 -2
  478. package/src/sass/components/_sankey-chart.scss +114 -0
  479. package/src/sass/components/_scatter-chart.scss +153 -0
  480. package/src/sass/components/_scrim.scss +0 -2
  481. package/src/sass/components/_scrollspy.scss +0 -2
  482. package/src/sass/components/_search.scss +26 -22
  483. package/src/sass/components/_show-more.scss +8 -0
  484. package/src/sass/components/_side-sheet.scss +23 -37
  485. package/src/sass/components/_skeleton.scss +2 -4
  486. package/src/sass/components/_snackbar.scss +27 -21
  487. package/src/sass/components/_split-button.scss +5 -5
  488. package/src/sass/components/_stat.scss +3 -8
  489. package/src/sass/components/_stepper.scss +1 -1
  490. package/src/sass/components/_swipe-actions.scss +71 -0
  491. package/src/sass/components/_tabs.scss +51 -32
  492. package/src/sass/components/_timeline.scss +12 -12
  493. package/src/sass/components/_timepicker.scss +109 -78
  494. package/src/sass/components/_toolbar.scss +35 -43
  495. package/src/sass/components/_tooltip.scss +21 -12
  496. package/src/sass/components/_tour.scss +89 -0
  497. package/src/sass/components/_transfer-list.scss +73 -0
  498. package/src/sass/components/_transitions.scss +4 -4
  499. package/src/sass/components/_tree.scss +3 -16
  500. package/src/sass/components/_treemap-chart.scss +122 -0
  501. package/src/sass/components/forms/_checkboxes.scss +106 -24
  502. package/src/sass/components/forms/_color-picker.scss +135 -0
  503. package/src/sass/components/forms/_color-swatches.scss +85 -0
  504. package/src/sass/components/forms/_drop-zone.scss +15 -9
  505. package/src/sass/components/forms/_fieldset.scss +7 -7
  506. package/src/sass/components/forms/_file-input.scss +6 -8
  507. package/src/sass/components/forms/_index.scss +3 -1
  508. package/src/sass/components/forms/_input-fields.scss +254 -90
  509. package/src/sass/components/forms/_radio-buttons.scss +33 -94
  510. package/src/sass/components/forms/_rating.scss +2 -32
  511. package/src/sass/components/forms/_select.scss +199 -20
  512. package/src/sass/components/forms/_slider.scss +91 -94
  513. package/src/sass/components/forms/_switches.scss +53 -164
  514. package/src/sass/custom.scss +10 -1
  515. package/src/sass/expressive.scss +3 -63
  516. package/src/sass/tokens/_contrast.scss +94 -0
  517. package/src/sass/tokens/_elevation.scss +16 -0
  518. package/src/sass/tokens/_index.scss +5 -0
  519. package/src/sass/tokens/_motion.scss +109 -0
  520. package/src/sass/tokens/_reference.scss +72 -141
  521. package/src/sass/tokens/_shape.scss +38 -0
  522. package/src/sass/tokens/_stacking.scss +27 -0
  523. package/src/sass/tokens/_state.scss +0 -2
  524. package/src/sass/tokens/_theme.scss +10 -1
  525. package/src/sass/tokens/_vibrant.scss +2 -5
  526. package/src/sass/utilities/_defer-render.scss +17 -0
  527. package/src/sass/utilities/_helpers.scss +183 -26
  528. package/src/sass/utilities/_index.scss +1 -0
  529. package/src/sass/utilities/_scroll-area.scss +0 -2
  530. package/src/sass/utilities/_spacing.scss +52 -34
  531. package/src/sass/utilities/_typescale.scss +8 -1
  532. package/src/sass/utilities/_visibility.scss +47 -76
  533. package/src/sass/utilities/_z-depth.scss +7 -4
  534. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  535. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  536. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  537. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  540. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  541. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  543. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  548. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  553. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  556. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  562. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  564. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  567. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  568. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  569. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  570. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  572. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  574. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  578. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  582. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  584. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  587. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  589. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  590. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  592. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  593. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  594. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  596. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  598. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  599. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  602. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -20,7 +20,7 @@
20
20
  $_card: "article";
21
21
  // A direct <figure> is media, unless it is a chart. :where() keeps the
22
22
  // selectors at their old specificity.
23
- $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-chart, .heatmap-chart, .radar-chart, .radial-chart, .mixed-chart))";
23
+ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-chart, .heatmap-chart, .radar-chart, .radial-chart, .mixed-chart, .scatter-chart, .sankey-chart, .funnel-chart, .treemap-chart))";
24
24
 
25
25
  :where(#{$_card}) {
26
26
  --md-comp-elevated-card-container-color: var(--md-sys-color-surface-container-low);
@@ -29,18 +29,18 @@ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-
29
29
  --md-comp-outlined-card-outline-color: var(--md-sys-color-outline-variant);
30
30
  --md-comp-outlined-card-disabled-outline-color: var(--md-sys-color-outline);
31
31
  --md-comp-card-container-color: var(--md-comp-elevated-card-container-color);
32
- --md-comp-card-container-shape: 12px;
32
+ --md-comp-card-container-shape: var(--md-sys-shape-corner-medium);
33
33
  --md-comp-card-media-shape: var(--md-comp-card-container-shape);
34
34
  --md-comp-card-media-overlay-container-color: var(--md-sys-color-surface);
35
35
  --md-comp-card-media-overlay-ink-color: var(--md-sys-color-on-surface);
36
- --md-comp-card-media-overlay-shape: 8px;
36
+ --md-comp-card-media-overlay-shape: var(--md-sys-shape-corner-small);
37
37
  --md-comp-card-headline-color: var(--md-sys-color-on-surface);
38
38
  --md-comp-card-subhead-color: var(--md-sys-color-on-surface);
39
39
  --md-comp-card-supporting-text-color: var(--md-sys-color-on-surface-variant);
40
40
  --md-comp-card-content-padding: 16px;
41
41
  --md-comp-card-between-space: 8px;
42
42
  --md-comp-card-icon-color: var(--md-sys-color-primary);
43
- --md-comp-card-icon-size: 24px;
43
+ --md-comp-card-icon-size: #{rem(24px)};
44
44
  --md-comp-card-state-layer-color: var(--md-sys-color-on-surface);
45
45
  --md-comp-card-hover-state-layer-opacity: var(--md-sys-state-hover-state-layer-opacity);
46
46
  --md-comp-card-focus-state-layer-opacity: var(--md-sys-state-focus-state-layer-opacity);
@@ -52,7 +52,7 @@ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-
52
52
  --md-comp-card-focus-indicator-thickness: 3px;
53
53
  --md-comp-card-focus-indicator-offset: 2px;
54
54
  --md-comp-card-horizontal-media-width: 40%;
55
- --md-comp-card-horizontal-min-height: 240px;
55
+ --md-comp-card-horizontal-min-height: #{rem(240px)};
56
56
 
57
57
  position: relative;
58
58
  box-sizing: border-box;
@@ -60,7 +60,7 @@ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-
60
60
  color: var(--md-sys-color-on-surface);
61
61
  border-radius: var(--md-comp-card-container-shape);
62
62
  overflow: hidden;
63
- transition: background-color .2s ease-out, box-shadow .2s ease-out;
63
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out, box-shadow var(--md-sys-motion-duration-short4) ease-out;
64
64
  }
65
65
 
66
66
  // M3 state layers belong only to an interactive card. A direct
@@ -75,7 +75,7 @@ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-
75
75
  background-color: var(--md-comp-card-state-layer-color);
76
76
  opacity: 0;
77
77
  pointer-events: none;
78
- transition: opacity .2s ease-out;
78
+ transition: opacity var(--md-sys-motion-duration-short4) ease-out;
79
79
  }
80
80
 
81
81
  :where(#{$_card}) > .primary-action {
@@ -182,7 +182,7 @@ $_media-figure: "figure:where(:not(.line-chart, .column-chart, .bar-chart, .pie-
182
182
  @include z-depth("0");
183
183
  background-color: color-mix(
184
184
  in oklab,
185
- var(--md-sys-color-surface-variant) var(--md-comp-card-disabled-container-opacity),
185
+ var(--md-sys-color-surface-container-highest) var(--md-comp-card-disabled-container-opacity),
186
186
  transparent
187
187
  );
188
188
  }
@@ -314,10 +314,7 @@ article > .primary-action > #{$_media-figure} > figcaption {
314
314
  color: var(--md-comp-card-media-overlay-ink-color);
315
315
  background-color: var(--md-comp-card-media-overlay-container-color);
316
316
  border-radius: var(--md-comp-card-media-overlay-shape);
317
- font-family: var(--md-sys-typescale-title-medium-font-family-name);
318
- font-size: var(--md-sys-typescale-title-medium-font-size);
319
- font-weight: var(--md-sys-typescale-title-medium-font-weight);
320
- line-height: var(--md-sys-typescale-title-medium-line-height);
317
+ @include typescale("title-medium");
321
318
  }
322
319
 
323
320
  // Keep meaningful icons on the same opaque role pair as caption text. The
@@ -341,13 +338,13 @@ article > .primary-action > #{$_media-figure} > figcaption > svg {
341
338
  // elevation; picked-up / dragged state raises each variant above its rest.
342
339
  :where(.card-collection) {
343
340
  --md-comp-card-collection-gap: 8px;
344
- --md-comp-card-collection-min-card-width: 240px;
341
+ --md-comp-card-collection-min-card-width: #{rem(240px)};
345
342
  --md-comp-card-collection-grid-template-columns: repeat(
346
343
  auto-fit,
347
344
  minmax(min(100%, var(--md-comp-card-collection-min-card-width)), 1fr)
348
345
  );
349
- --md-comp-card-collection-mosaic-row-size: 80px;
350
- --md-comp-card-collection-carousel-height: 320px;
346
+ --md-comp-card-collection-mosaic-row-size: #{rem(80px)};
347
+ --md-comp-card-collection-carousel-height: #{rem(320px)};
351
348
  --md-comp-card-collection-carousel-card-width: min(82%, 360px);
352
349
 
353
350
  display: grid;
@@ -419,7 +416,8 @@ article > .primary-action > #{$_media-figure} > figcaption > svg {
419
416
 
420
417
  // Horizontal uses the same semantic slots as the vertical card. They may be
421
418
  // direct children or children of the direct primary-action link.
422
- @mixin horizontal-card-layout($with-actions: true) {
419
+ article.horizontal,
420
+ article.horizontal > .primary-action {
423
421
  display: grid;
424
422
  grid-template-columns:
425
423
  minmax(0, var(--md-comp-card-horizontal-media-width))
@@ -460,19 +458,13 @@ article > .primary-action > #{$_media-figure} > figcaption > svg {
460
458
  grid-column: 2;
461
459
  grid-row: 3;
462
460
  }
463
-
464
- @if $with-actions {
465
- > .actions {
466
- grid-column: 2;
467
- grid-row: 4;
468
- align-self: end;
469
- justify-content: flex-end;
470
- }
471
- }
472
461
  }
473
462
 
474
- article.horizontal {
475
- @include horizontal-card-layout;
463
+ article.horizontal > .actions {
464
+ grid-column: 2;
465
+ grid-row: 4;
466
+ align-self: end;
467
+ justify-content: flex-end;
476
468
  }
477
469
 
478
470
  article.horizontal:has(> .primary-action) {
@@ -480,16 +472,14 @@ article.horizontal:has(> .primary-action) {
480
472
  }
481
473
 
482
474
  article.horizontal > .primary-action {
483
- @include horizontal-card-layout(false);
484
-
485
475
  width: 100%;
486
476
  min-height: inherit;
487
477
  }
488
478
 
489
479
  // Fixed heights for uniform grids.
490
- article.small { height: 300px; }
491
- article.medium { height: 400px; }
492
- article.large { height: 500px; }
480
+ article.small { height: rem(300px); }
481
+ article.medium { height: rem(400px); }
482
+ article.large { height: rem(500px); }
493
483
 
494
484
  article.small, article.medium, article.large {
495
485
  display: flex;
@@ -536,7 +526,9 @@ article.horizontal:is(.small, .medium, .large) > .primary-action {
536
526
 
537
527
  // Compact windows use the vertical spelling. This keeps media and controls
538
528
  // large enough to scan and operate without changing their source order.
539
- @include bp-down("medium") {
529
+ // A query container narrower than Compact does the same, so a horizontal
530
+ // card in a narrow pane or sidebar stacks even on a wide window.
531
+ @mixin _stacked-horizontal {
540
532
  article.horizontal,
541
533
  article.horizontal.small,
542
534
  article.horizontal.medium,
@@ -556,6 +548,9 @@ article.horizontal:is(.small, .medium, .large) > .primary-action {
556
548
  }
557
549
  }
558
550
 
551
+ @include bp-down("medium") { @include _stacked-horizontal; }
552
+ @container (width < 600px) { @include _stacked-horizontal; }
553
+
559
554
  // Reveal panel. Panels stay available until Cards confirms the disclosure
560
555
  // contract and adds its runtime marker. The summary and media remain in place
561
556
  // while the initialized card grows downward to expose additional actions.
@@ -566,8 +561,8 @@ article.horizontal:is(.small, .medium, .large) > .primary-action {
566
561
  }
567
562
 
568
563
  article.card-reveal-initialized > aside {
569
- --md-comp-card-reveal-duration: 500ms;
570
- --md-comp-card-reveal-easing: cubic-bezier(0.2, 0, 0, 1);
564
+ --md-comp-card-reveal-duration: var(--md-sys-motion-duration-long2);
565
+ --md-comp-card-reveal-easing: var(--md-sys-motion-easing-standard);
571
566
 
572
567
  position: relative;
573
568
  inset: auto;
@@ -585,7 +580,7 @@ article.card-reveal-initialized > aside {
585
580
  transition:
586
581
  height var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing),
587
582
  padding-block var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing),
588
- opacity 150ms ease-out,
583
+ opacity var(--md-sys-motion-duration-short3) ease-out,
589
584
  visibility 0s var(--md-comp-card-reveal-duration);
590
585
  }
591
586
 
@@ -598,7 +593,7 @@ article.card-reveal-initialized > aside.open {
598
593
  transition:
599
594
  height var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing),
600
595
  padding-block var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing),
601
- opacity 200ms 100ms ease-out,
596
+ opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-duration-short2) ease-out,
602
597
  visibility 0s;
603
598
  }
604
599
 
@@ -639,16 +634,12 @@ article > aside > .reveal-actions > .reveal-action {
639
634
  min-height: 48px;
640
635
  padding-inline: 0;
641
636
  color: var(--md-sys-color-on-surface);
642
- border-radius: 8px;
637
+ border-radius: var(--md-sys-shape-corner-small);
643
638
  @include typescale("body-medium");
644
639
  }
645
640
 
646
641
  article > aside > .reveal-actions > .reveal-action:hover {
647
- background-color: color-mix(
648
- in oklab,
649
- var(--md-sys-color-on-surface) state-opacity("hover"),
650
- transparent
651
- );
642
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
652
643
  }
653
644
 
654
645
  article > aside > .reveal-actions > .reveal-action > :is(.material-symbols, .card-icon, svg) {
@@ -663,7 +654,8 @@ article > aside > .reveal-actions > .reveal-action > :is(.material-symbols, .car
663
654
  :where(#{$_card}),
664
655
  :where(#{$_card})::after,
665
656
  article > figure > .card-reveal-trigger,
666
- article.card-reveal-initialized > aside {
657
+ article.card-reveal-initialized > aside,
658
+ article.card-reveal-initialized > aside.open {
667
659
  transition: none;
668
660
  }
669
661
  }
@@ -10,9 +10,6 @@
10
10
  // .hero.center-aligned one centered large item and two small previews
11
11
  // .full-screen vertical, edge-to-edge, mandatory snap
12
12
  //
13
- // `.flat` remains a full-width compatibility layout for swipeable tabs and
14
- // older integrations.
15
- //
16
13
  // Material measurements:
17
14
  // inline padding 16dp (0 for full-screen)
18
15
  // block padding 8dp (0 for full-screen)
@@ -25,26 +22,21 @@
25
22
  @return clamp(var(--md-comp-carousel-small-item-min-width), $share, var(--md-comp-carousel-small-item-max-width));
26
23
  }
27
24
 
25
+ // The medium item takes what $n large items, one small item at $share and
26
+ // the $n + 1 gaps of 8px leave of the track, held between 64px and 240px.
27
+ @function _medium-item-width($n, $share) {
28
+ @return clamp(64px, calc(100% - #{$n} * var(--md-comp-carousel-large-item-width) - #{_small-item-width($share)} - #{($n + 1) * 8px}), 240px);
29
+ }
30
+
28
31
  .carousel {
29
32
  --md-comp-carousel-height: 240px;
30
- --md-comp-carousel-shape: 28px;
31
- --md-comp-carousel-pressed-shape: 20px;
33
+ --md-comp-carousel-shape: var(--md-sys-shape-corner-extra-large);
34
+ --md-comp-carousel-pressed-shape: var(--md-sys-shape-corner-large-increased);
32
35
  --md-comp-carousel-gap: 8px;
33
36
  --md-comp-carousel-inline-padding: 16px;
34
37
  --md-comp-carousel-block-padding: 8px;
35
38
  --md-comp-carousel-large-item-width: clamp(150px, 52%, 480px);
36
- --md-comp-carousel-medium-item-width: clamp(
37
- 64px,
38
- calc(
39
- 100% - var(--md-comp-carousel-large-item-width) - clamp(
40
- var(--md-comp-carousel-small-item-min-width),
41
- 12%,
42
- var(--md-comp-carousel-small-item-max-width)
43
- ) -
44
- 16px
45
- ),
46
- 240px
47
- );
39
+ --md-comp-carousel-medium-item-width: #{_medium-item-width(1, 12%)};
48
40
  --md-comp-carousel-small-item-min-width: 40px;
49
41
  --md-comp-carousel-small-item-max-width: 56px;
50
42
  --md-comp-carousel-uncontained-item-width: min(78%, 320px);
@@ -105,9 +97,9 @@
105
97
  scroll-snap-align: start;
106
98
  scroll-snap-stop: always;
107
99
  transition:
108
- flex-basis 300ms cubic-bezier(0.2, 0, 0, 1),
109
- width 300ms cubic-bezier(0.2, 0, 0, 1),
110
- border-radius 200ms cubic-bezier(0.2, 0, 0, 1);
100
+ flex-basis var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard),
101
+ width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard),
102
+ border-radius var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
111
103
 
112
104
  &[data-carousel-size="medium"] {
113
105
  flex-basis: var(--md-comp-carousel-medium-item-width);
@@ -137,7 +129,7 @@
137
129
  height: 100%;
138
130
  object-fit: cover;
139
131
  transform: translateX(var(--md-comp-carousel-item-parallax, 0px));
140
- transition: transform 100ms linear;
132
+ transition: transform var(--md-sys-motion-duration-short2) linear;
141
133
  }
142
134
 
143
135
  > .carousel-item-content {
@@ -147,7 +139,7 @@
147
139
  width: fit-content;
148
140
  max-width: calc(100% - 24px);
149
141
  padding: 8px 12px;
150
- border-radius: 12px;
142
+ border-radius: var(--md-sys-shape-corner-medium);
151
143
  background-color: var(--md-sys-color-surface);
152
144
  color: var(--md-sys-color-on-surface);
153
145
 
@@ -182,7 +174,7 @@
182
174
  background-color: var(--md-comp-carousel-state-layer-color);
183
175
  opacity: 0;
184
176
  pointer-events: none;
185
- transition: opacity 200ms ease-out;
177
+ transition: opacity var(--md-sys-motion-duration-short4) ease-out;
186
178
  }
187
179
 
188
180
  &:not(article):hover::after {
@@ -246,10 +238,13 @@
246
238
  transparent
247
239
  );
248
240
  cursor: pointer;
249
- transition: background-color 200ms ease-out;
241
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
242
+
243
+ @include forced-colors-fill(GrayText);
250
244
 
251
245
  &:is(.active, [aria-current="true"]) {
252
246
  background-color: var(--md-sys-color-primary);
247
+ @include forced-colors-fill;
253
248
  }
254
249
 
255
250
  @include focus-visible;
@@ -277,8 +272,8 @@
277
272
 
278
273
  // Contained layouts keep every visible item complete. These surface guards
279
274
  // reserve the 16dp edge padding so the following item cannot peek through it.
280
- .carousel:not(.uncontained, .full-screen, .flat)::before,
281
- .carousel:not(.uncontained, .full-screen, .flat)::after,
275
+ .carousel:not(.uncontained, .full-screen)::before,
276
+ .carousel:not(.uncontained, .full-screen)::after,
282
277
  .carousel.full-screen-horizontal::before,
283
278
  .carousel.full-screen-horizontal::after {
284
279
  content: "";
@@ -290,12 +285,12 @@
290
285
  pointer-events: none;
291
286
  }
292
287
 
293
- .carousel:not(.uncontained, .full-screen, .flat)::before,
288
+ .carousel:not(.uncontained, .full-screen)::before,
294
289
  .carousel.full-screen-horizontal::before {
295
290
  inset-inline-start: 0;
296
291
  }
297
292
 
298
- .carousel:not(.uncontained, .full-screen, .flat)::after,
293
+ .carousel:not(.uncontained, .full-screen)::after,
299
294
  .carousel.full-screen-horizontal::after {
300
295
  inset-inline-end: 0;
301
296
  }
@@ -304,22 +299,7 @@
304
299
  // medium width is solved from the container so every visible item is complete.
305
300
  .carousel.multi-wide {
306
301
  --md-comp-carousel-large-item-width: clamp(180px, 36%, 480px);
307
- --md-comp-carousel-medium-item-width: min(
308
- 240px,
309
- max(
310
- 64px,
311
- calc(
312
- 100% - var(--md-comp-carousel-large-item-width) - var(
313
- --md-comp-carousel-large-item-width
314
- ) - clamp(
315
- var(--md-comp-carousel-small-item-min-width),
316
- 8%,
317
- var(--md-comp-carousel-small-item-max-width)
318
- ) -
319
- 24px
320
- )
321
- )
322
- );
302
+ --md-comp-carousel-medium-item-width: #{_medium-item-width(2, 8%)};
323
303
 
324
304
  .carousel-track > .carousel-item[data-carousel-size="small"] {
325
305
  flex-basis: _small-item-width(8%);
@@ -331,22 +311,7 @@
331
311
  // the medium item smaller than its large neighbours and the final item whole.
332
312
  .carousel.multi-large {
333
313
  --md-comp-carousel-large-item-width: clamp(180px, 27%, 480px);
334
- --md-comp-carousel-medium-item-width: min(
335
- 240px,
336
- max(
337
- 64px,
338
- calc(
339
- 100% - var(--md-comp-carousel-large-item-width) - var(
340
- --md-comp-carousel-large-item-width
341
- ) - var(--md-comp-carousel-large-item-width) - clamp(
342
- var(--md-comp-carousel-small-item-min-width),
343
- 6%,
344
- var(--md-comp-carousel-small-item-max-width)
345
- ) -
346
- 32px
347
- )
348
- )
349
- );
314
+ --md-comp-carousel-medium-item-width: #{_medium-item-width(3, 6%)};
350
315
 
351
316
  .carousel-track > .carousel-item[data-carousel-size="small"] {
352
317
  flex-basis: _small-item-width(6%);
@@ -356,24 +321,7 @@
356
321
 
357
322
  .carousel.multi-extra-large {
358
323
  --md-comp-carousel-large-item-width: clamp(180px, 22%, 480px);
359
- --md-comp-carousel-medium-item-width: min(
360
- 240px,
361
- max(
362
- 64px,
363
- calc(
364
- 100% - var(--md-comp-carousel-large-item-width) - var(
365
- --md-comp-carousel-large-item-width
366
- ) - var(--md-comp-carousel-large-item-width) - var(
367
- --md-comp-carousel-large-item-width
368
- ) - clamp(
369
- var(--md-comp-carousel-small-item-min-width),
370
- 4%,
371
- var(--md-comp-carousel-small-item-max-width)
372
- ) -
373
- 40px
374
- )
375
- )
376
- );
324
+ --md-comp-carousel-medium-item-width: #{_medium-item-width(4, 4%)};
377
325
 
378
326
  .carousel-track > .carousel-item[data-carousel-size="small"] {
379
327
  flex-basis: _small-item-width(4%);
@@ -478,7 +426,7 @@
478
426
  --md-comp-carousel-gap: 8px;
479
427
  --md-comp-carousel-inline-padding: 16px;
480
428
  --md-comp-carousel-block-padding: 8px;
481
- --md-comp-carousel-shape: 28px;
429
+ --md-comp-carousel-shape: var(--md-sys-shape-corner-extra-large);
482
430
  // Fill the content box with one large item, one 8dp gap, and one 56dp
483
431
  // preview. Track padding sits outside the percentage basis.
484
432
  --md-comp-carousel-large-item-width: calc(100% - 64px);
@@ -542,30 +490,6 @@
542
490
  }
543
491
  }
544
492
 
545
- // Full-width compatibility mode for tabs and existing integrations.
546
- .carousel.flat {
547
- --md-comp-carousel-gap: 0px;
548
- --md-comp-carousel-inline-padding: 0px;
549
- --md-comp-carousel-block-padding: 0px;
550
- --md-comp-carousel-shape: 0px;
551
-
552
- .carousel-track > .carousel-item {
553
- flex: 0 0 100%;
554
- width: 100%;
555
- height: 100%;
556
- }
557
-
558
- .carousel-fixed-item {
559
- position: absolute;
560
- inset: auto 0 20px;
561
- z-index: 4;
562
-
563
- &.with-indicators {
564
- bottom: 68px;
565
- }
566
- }
567
- }
568
-
569
493
  @include bp-up("medium") {
570
494
  .carousel {
571
495
  --md-comp-carousel-height: 320px;
@@ -0,0 +1,142 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Cascader. A .field holding a text input, its label and a ul.cascader-options
4
+ // of nested lists, one <li data-value> per option. The script builds the
5
+ // columns from those lists in a .cascader-popover, so the lists never show.
6
+ //
7
+ // The popover is a manual [popover] opened with the input as its source, so
8
+ // CSS anchor positioning places it below the field and flips it where it
9
+ // would not fit. Each column is a listbox; the options on the open path are
10
+ // aria-selected, and a branch ends in a chevron.
11
+ //
12
+ // Tokens:
13
+ // --md-comp-cascader-container-color surface-container
14
+ // --md-comp-cascader-container-shape large (16px)
15
+ // --md-comp-cascader-column-width rem(176px), the minimum
16
+ // --md-comp-cascader-max-height rem(320px)
17
+ // --md-comp-cascader-option-height rem(44px)
18
+ // --md-comp-cascader-selected-container-color secondary-container
19
+
20
+ $_chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6z'/%3E%3C/svg%3E");
21
+
22
+ .cascader-options {
23
+ display: none;
24
+ }
25
+
26
+ // The form control wraps the input with display: contents, so the field's
27
+ // `input + label` rules no longer reach the label. The label floats here
28
+ // instead while the input is focused, open or holds a path.
29
+ .field.cascader {
30
+ &:has(> expressive-cascader-control > input:is(:focus, [aria-expanded="true"], :not([placeholder=" "]), :not(:placeholder-shown))) > label {
31
+ transform: scale(calc(12 / 16));
32
+ top: rem(8px);
33
+ }
34
+
35
+ &:has(> expressive-cascader-control > input:is(:focus, [aria-expanded="true"])) > label {
36
+ color: var(--input-color);
37
+ }
38
+ }
39
+
40
+ .cascader-popover {
41
+ --md-comp-cascader-container-color: var(--md-sys-color-surface-container);
42
+ --md-comp-cascader-container-shape: var(--md-sys-shape-corner-large);
43
+ --md-comp-cascader-column-width: #{rem(176px)};
44
+ --md-comp-cascader-max-height: #{rem(320px)};
45
+ --md-comp-cascader-option-height: #{rem(44px)};
46
+ --md-comp-cascader-selected-container-color: var(--md-sys-color-secondary-container);
47
+
48
+ box-sizing: border-box;
49
+ max-width: calc(100vw - 16px);
50
+ max-height: min(var(--md-comp-cascader-max-height), calc(100vh - 16px));
51
+ inset: auto;
52
+ margin: 4px 0;
53
+ padding: 0;
54
+ overflow-x: auto;
55
+ border: 0;
56
+ border-radius: var(--md-comp-cascader-container-shape);
57
+ background-color: var(--md-comp-cascader-container-color);
58
+ color: var(--md-sys-color-on-surface);
59
+ @include z-depth("2");
60
+ @include glass(var(--md-comp-cascader-container-color));
61
+
62
+ position-area: block-end span-inline-end;
63
+ position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
64
+
65
+ &:popover-open {
66
+ display: flex;
67
+ }
68
+
69
+ // Forced colors drop the shadow, so the surface keeps an edge.
70
+ @media (forced-colors: active) {
71
+ outline: 1px solid CanvasText;
72
+ outline-offset: -1px;
73
+ }
74
+
75
+ > [role="listbox"] {
76
+ box-sizing: border-box;
77
+ flex: none;
78
+ min-width: var(--md-comp-cascader-column-width);
79
+ max-height: inherit;
80
+ margin: 0;
81
+ padding: 8px 0;
82
+ overflow-y: auto;
83
+ list-style: none;
84
+
85
+ + [role="listbox"] {
86
+ border-inline-start: 1px solid var(--md-sys-color-outline-variant);
87
+ }
88
+ }
89
+
90
+ [role="option"] {
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 12px;
94
+ box-sizing: border-box;
95
+ min-height: var(--md-comp-cascader-option-height);
96
+ margin: 0 4px;
97
+ padding: 8px 12px 8px 16px;
98
+ border-radius: var(--md-sys-shape-corner-medium);
99
+ cursor: pointer;
100
+ @include typescale("label-large");
101
+
102
+ &:hover {
103
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
104
+ }
105
+
106
+ &[aria-selected="true"] {
107
+ background-color: var(--md-comp-cascader-selected-container-color);
108
+ color: var(--md-sys-color-on-secondary-container);
109
+ @include forced-colors-selected;
110
+ }
111
+
112
+ &:focus-visible {
113
+ outline: 3px solid var(--md-sys-color-secondary);
114
+ outline-offset: -3px;
115
+ }
116
+ }
117
+
118
+ .cascader-chevron {
119
+ flex: none;
120
+ width: rem(20px);
121
+ height: rem(20px);
122
+ margin-inline-start: auto;
123
+ background-color: currentColor;
124
+ mask: $_chevron center / contain no-repeat;
125
+ @include forced-colors-fill;
126
+
127
+ &:dir(rtl) {
128
+ scale: -1 1;
129
+ }
130
+ }
131
+ }
132
+
133
+ // Without anchor positioning the browser ignores position-area, so the
134
+ // popover is centered in the viewport, as a native popover is.
135
+ @supports not (anchor-name: --a) {
136
+ .cascader-popover {
137
+ inset: 0;
138
+ width: fit-content;
139
+ height: fit-content;
140
+ margin: auto;
141
+ }
142
+ }