@expressivecss/expressive 0.14.1 → 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 (603) hide show
  1. package/CHANGELOG.md +1589 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19304 -12021
  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-A7ALMYUR.mjs → chunk-4QUCNFSD.mjs} +68 -125
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-4TKTLGEM.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-BG6ZRB5H.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-6FSEUFVW.mjs} +40 -29
  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-GVGT6MIU.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-TBM3FT7G.mjs → chunk-7NLUI3RR.mjs} +148 -78
  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-NS2UMNZV.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-GIW4K4SE.mjs → chunk-B7DQFHA5.mjs} +37 -53
  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-GUB3TNO2.mjs → chunk-BPF3I2MN.mjs} +109 -27
  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-JIDMQGK6.mjs → chunk-CSYWKEK3.mjs} +322 -223
  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-QDAL4IYN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-3GVFZ4XO.mjs → chunk-EVCVFEV3.mjs} +238 -152
  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-ZAS25YFD.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-KHV6DZXX.mjs → chunk-KZPSAXIU.mjs} +156 -46
  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-Z2NRKI7R.mjs → chunk-OP43LLIC.mjs} +44 -73
  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-PM655FXL.mjs → chunk-OYNUDOHR.mjs} +20 -48
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-P6DRQ6KS.mjs} +36 -31
  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-5HQSGDZ5.mjs → chunk-QXKWVHBD.mjs} +286 -203
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-DAIU5SLG.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-FS7XY3HT.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-4HZMB7LI.mjs → chunk-VGY4M57S.mjs} +281 -135
  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-S3XDFGSZ.mjs → chunk-VMY55K2X.mjs} +92 -141
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-UEXCIMJZ.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-MZ6Z24BX.mjs → chunk-ZJNLAGY5.mjs} +19 -34
  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 +10333 -4070
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10333 -4070
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -25
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +184 -69
  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 +133 -64
  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 +9 -0
  274. package/dist/js/internal/components/keypad.mjs.map +7 -0
  275. package/dist/js/internal/components/lightbox.mjs +3 -3
  276. package/dist/js/internal/components/lineChart.mjs +29 -4
  277. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  278. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  279. package/dist/js/internal/components/mapView.mjs +3 -3
  280. package/dist/js/internal/components/menu.mjs +3 -3
  281. package/dist/js/internal/components/menubar.mjs +10 -0
  282. package/dist/js/internal/components/menubar.mjs.map +7 -0
  283. package/dist/js/internal/components/messageScroller.mjs +3 -3
  284. package/dist/js/internal/components/mixedChart.mjs +5 -4
  285. package/dist/js/internal/components/navigationRail.mjs +3 -2
  286. package/dist/js/internal/components/particles.mjs +3 -2
  287. package/dist/js/internal/components/pieChart.mjs +4 -3
  288. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  289. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  290. package/dist/js/internal/components/questionnaire.mjs +3 -3
  291. package/dist/js/internal/components/radarChart.mjs +4 -3
  292. package/dist/js/internal/components/radialChart.mjs +4 -3
  293. package/dist/js/internal/components/registry.mjs +59 -40
  294. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  295. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  296. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  297. package/dist/js/internal/components/scatterChart.mjs +10 -0
  298. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  299. package/dist/js/internal/components/scrollspy.mjs +3 -2
  300. package/dist/js/internal/components/select.mjs +4 -4
  301. package/dist/js/internal/components/showMore.mjs +9 -0
  302. package/dist/js/internal/components/showMore.mjs.map +7 -0
  303. package/dist/js/internal/components/slider.mjs +3 -3
  304. package/dist/js/internal/components/snackbar.mjs +2 -2
  305. package/dist/js/internal/components/swipeActions.mjs +9 -0
  306. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  307. package/dist/js/internal/components/tabs.mjs +3 -4
  308. package/dist/js/internal/components/timepicker.mjs +5 -4
  309. package/dist/js/internal/components/tooltip.mjs +3 -3
  310. package/dist/js/internal/components/treeSelect.mjs +13 -0
  311. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  312. package/dist/js/internal/components/treemapChart.mjs +10 -0
  313. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  314. package/dist/js/internal/core/component.mjs +2 -1
  315. package/dist/js/internal/core/formControl.mjs +12 -0
  316. package/dist/js/internal/core/formControl.mjs.map +7 -0
  317. package/dist/js/internal/core/spring.mjs +11 -0
  318. package/dist/js/internal/core/spring.mjs.map +7 -0
  319. package/dist/js/internal/core/utils.mjs +11 -3
  320. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  322. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  323. package/dist/js/modular.mjs +175 -69
  324. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  325. package/dist/types/behaviors/copy.d.ts +18 -0
  326. package/dist/types/behaviors/dataTables.d.ts +129 -0
  327. package/dist/types/behaviors/dialogs.d.ts +27 -1
  328. package/dist/types/behaviors/forms.d.ts +68 -2
  329. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  330. package/dist/types/behaviors/lists.d.ts +12 -0
  331. package/dist/types/behaviors/paneResize.d.ts +29 -0
  332. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  333. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  334. package/dist/types/behaviors/sortable.d.ts +28 -0
  335. package/dist/types/behaviors/theme.d.ts +22 -0
  336. package/dist/types/behaviors/tour.d.ts +36 -0
  337. package/dist/types/behaviors/transferList.d.ts +51 -0
  338. package/dist/types/components/appBar.d.ts +5 -6
  339. package/dist/types/components/autocomplete.d.ts +92 -17
  340. package/dist/types/components/backToTop.d.ts +36 -0
  341. package/dist/types/components/barChart.d.ts +3 -6
  342. package/dist/types/components/buttonGroup.d.ts +2 -4
  343. package/dist/types/components/buttons.d.ts +5 -5
  344. package/dist/types/components/cards.d.ts +3 -16
  345. package/dist/types/components/carousel.d.ts +9 -15
  346. package/dist/types/components/cascader.d.ts +130 -0
  347. package/dist/types/components/characterCounter.d.ts +2 -15
  348. package/dist/types/components/chips.d.ts +65 -19
  349. package/dist/types/components/colorPicker.d.ts +42 -0
  350. package/dist/types/components/columnChart.d.ts +23 -10
  351. package/dist/types/components/commandPalette.d.ts +11 -16
  352. package/dist/types/components/confetti.d.ts +2 -4
  353. package/dist/types/components/currencyInput.d.ts +59 -0
  354. package/dist/types/components/datepicker.d.ts +59 -36
  355. package/dist/types/components/expandingCard.d.ts +6 -6
  356. package/dist/types/components/funnelChart.d.ts +38 -0
  357. package/dist/types/components/heatmapChart.d.ts +39 -8
  358. package/dist/types/components/hoverCard.d.ts +58 -0
  359. package/dist/types/components/index.d.ts +17 -1
  360. package/dist/types/components/inputMask.d.ts +30 -0
  361. package/dist/types/components/keypad.d.ts +66 -0
  362. package/dist/types/components/lightbox.d.ts +17 -25
  363. package/dist/types/components/lineChart.d.ts +176 -10
  364. package/dist/types/components/loadingOverlay.d.ts +42 -0
  365. package/dist/types/components/mapView.d.ts +26 -17
  366. package/dist/types/components/menu.d.ts +61 -22
  367. package/dist/types/components/menubar.d.ts +37 -0
  368. package/dist/types/components/messageScroller.d.ts +2 -14
  369. package/dist/types/components/mixedChart.d.ts +15 -6
  370. package/dist/types/components/navigationRail.d.ts +16 -5
  371. package/dist/types/components/particles.d.ts +8 -4
  372. package/dist/types/components/pieChart.d.ts +32 -7
  373. package/dist/types/components/pullToRefresh.d.ts +80 -0
  374. package/dist/types/components/questionnaire.d.ts +58 -16
  375. package/dist/types/components/radarChart.d.ts +10 -6
  376. package/dist/types/components/radialChart.d.ts +58 -8
  377. package/dist/types/components/registry.d.ts +77 -3
  378. package/dist/types/components/richTextEditor.d.ts +6 -14
  379. package/dist/types/components/sankeyChart.d.ts +72 -0
  380. package/dist/types/components/scatterChart.d.ts +102 -0
  381. package/dist/types/components/scrollspy.d.ts +3 -5
  382. package/dist/types/components/select.d.ts +43 -30
  383. package/dist/types/components/showMore.d.ts +51 -0
  384. package/dist/types/components/slider.d.ts +5 -15
  385. package/dist/types/components/snackbar.d.ts +62 -0
  386. package/dist/types/components/swipeActions.d.ts +81 -0
  387. package/dist/types/components/tabs.d.ts +93 -27
  388. package/dist/types/components/timepicker.d.ts +114 -20
  389. package/dist/types/components/tooltip.d.ts +56 -20
  390. package/dist/types/components/treeSelect.d.ts +106 -0
  391. package/dist/types/components/treemapChart.d.ts +56 -0
  392. package/dist/types/core/component.d.ts +43 -25
  393. package/dist/types/core/formControl.d.ts +21 -0
  394. package/dist/types/core/spring.d.ts +20 -0
  395. package/dist/types/core/utils.d.ts +85 -72
  396. package/dist/types/modular.d.ts +33 -1
  397. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -7
  398. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  399. package/package.json +10 -8
  400. package/src/sass/README.md +27 -18
  401. package/src/sass/abstracts/_breakpoints.scss +0 -1
  402. package/src/sass/abstracts/_elevation.scss +13 -7
  403. package/src/sass/abstracts/_index.scss +1 -0
  404. package/src/sass/abstracts/_mixins.scss +438 -92
  405. package/src/sass/abstracts/_spring.scss +63 -0
  406. package/src/sass/abstracts/_variables.scss +43 -15
  407. package/src/sass/base/_fonts.scss +61 -48
  408. package/src/sass/base/_global.scss +105 -34
  409. package/src/sass/base/_index.scss +3 -1
  410. package/src/sass/base/_normalize.scss +59 -114
  411. package/src/sass/base/_print.scss +21 -0
  412. package/src/sass/base/_prose.scss +68 -0
  413. package/src/sass/base/_typography.scss +9 -5
  414. package/src/sass/components/_accordion.scss +9 -16
  415. package/src/sass/components/_alert.scss +102 -0
  416. package/src/sass/components/_aura.scss +8 -3
  417. package/src/sass/components/_avatar.scss +3 -3
  418. package/src/sass/components/_back-to-top.scss +38 -0
  419. package/src/sass/components/_badges.scss +7 -13
  420. package/src/sass/components/_bar-chart.scss +41 -19
  421. package/src/sass/components/_bottom-sheet.scss +44 -16
  422. package/src/sass/components/_breadcrumb.scss +8 -1
  423. package/src/sass/components/_button-groups.scss +44 -89
  424. package/src/sass/components/_buttons.scss +156 -63
  425. package/src/sass/components/_calendar.scss +246 -0
  426. package/src/sass/components/_cards.scss +41 -68
  427. package/src/sass/components/_carousel.scss +43 -158
  428. package/src/sass/components/_cascader.scss +142 -0
  429. package/src/sass/components/_chips.scss +36 -52
  430. package/src/sass/components/_column-chart.scss +19 -12
  431. package/src/sass/components/_command-palette.scss +4 -7
  432. package/src/sass/components/_confetti.scss +0 -2
  433. package/src/sass/components/_countdown.scss +1 -1
  434. package/src/sass/components/_data-table.scss +162 -27
  435. package/src/sass/components/_datepicker.scss +57 -62
  436. package/src/sass/components/_description-list.scss +85 -0
  437. package/src/sass/components/_dialog.scss +42 -44
  438. package/src/sass/components/_docked-display.scss +1 -3
  439. package/src/sass/components/_drag-handle.scss +16 -20
  440. package/src/sass/components/_expanding-card.scss +20 -9
  441. package/src/sass/components/_fab-menu.scss +44 -32
  442. package/src/sass/components/_funnel-chart.scss +124 -0
  443. package/src/sass/components/_heatmap-chart.scss +113 -24
  444. package/src/sass/components/_icon-buttons.scss +7 -8
  445. package/src/sass/components/_icons-material-design.scss +2 -2
  446. package/src/sass/components/_image-compare.scss +108 -0
  447. package/src/sass/components/_index.scss +21 -0
  448. package/src/sass/components/_keypad.scss +182 -0
  449. package/src/sass/components/_kpi.scss +6 -11
  450. package/src/sass/components/_lightbox.scss +26 -20
  451. package/src/sass/components/_line-chart.scss +16 -2
  452. package/src/sass/components/_list.scss +59 -14
  453. package/src/sass/components/_loading-indicator.scss +1 -0
  454. package/src/sass/components/_loading-overlay.scss +105 -0
  455. package/src/sass/components/_map.scss +35 -13
  456. package/src/sass/components/_marquee.scss +3 -2
  457. package/src/sass/components/_mega-menu.scss +137 -0
  458. package/src/sass/components/_menu.scss +159 -182
  459. package/src/sass/components/_menubar.scss +59 -0
  460. package/src/sass/components/_message-scroller.scss +2 -2
  461. package/src/sass/components/_message.scss +3 -3
  462. package/src/sass/components/_mixed-chart.scss +37 -9
  463. package/src/sass/components/_modal-display.scss +21 -0
  464. package/src/sass/components/_navbar.scss +43 -65
  465. package/src/sass/components/_navigation-bar.scss +15 -77
  466. package/src/sass/components/_navigation-rail.scss +171 -121
  467. package/src/sass/components/_org-chart.scss +192 -0
  468. package/src/sass/components/_page-footer.scss +16 -13
  469. package/src/sass/components/_pagination.scss +6 -13
  470. package/src/sass/components/_panes.scss +33 -31
  471. package/src/sass/components/_particles.scss +0 -2
  472. package/src/sass/components/_pie-chart.scss +91 -11
  473. package/src/sass/components/_popover.scss +18 -5
  474. package/src/sass/components/_progress.scss +158 -35
  475. package/src/sass/components/_pull-to-refresh.scss +90 -0
  476. package/src/sass/components/_questionnaire.scss +74 -3
  477. package/src/sass/components/_radar-chart.scss +38 -10
  478. package/src/sass/components/_radial-chart.scss +113 -5
  479. package/src/sass/components/_rich-text-editor.scss +2 -2
  480. package/src/sass/components/_sankey-chart.scss +114 -0
  481. package/src/sass/components/_scatter-chart.scss +153 -0
  482. package/src/sass/components/_scrim.scss +0 -2
  483. package/src/sass/components/_scrollspy.scss +0 -2
  484. package/src/sass/components/_search.scss +26 -22
  485. package/src/sass/components/_show-more.scss +8 -0
  486. package/src/sass/components/_side-sheet.scss +23 -40
  487. package/src/sass/components/_skeleton.scss +2 -4
  488. package/src/sass/components/_snackbar.scss +27 -21
  489. package/src/sass/components/_split-button.scss +5 -5
  490. package/src/sass/components/_stat.scss +3 -8
  491. package/src/sass/components/_stepper.scss +1 -5
  492. package/src/sass/components/_swipe-actions.scss +71 -0
  493. package/src/sass/components/_tabs.scss +51 -32
  494. package/src/sass/components/_timeline.scss +12 -12
  495. package/src/sass/components/_timepicker.scss +111 -112
  496. package/src/sass/components/_toolbar.scss +35 -47
  497. package/src/sass/components/_tooltip.scss +21 -12
  498. package/src/sass/components/_tour.scss +89 -0
  499. package/src/sass/components/_transfer-list.scss +73 -0
  500. package/src/sass/components/_transitions.scss +4 -4
  501. package/src/sass/components/_tree.scss +3 -16
  502. package/src/sass/components/_treemap-chart.scss +122 -0
  503. package/src/sass/components/forms/_checkboxes.scss +140 -86
  504. package/src/sass/components/forms/_color-picker.scss +135 -0
  505. package/src/sass/components/forms/_color-swatches.scss +85 -0
  506. package/src/sass/components/forms/_drop-zone.scss +15 -9
  507. package/src/sass/components/forms/_fieldset.scss +10 -10
  508. package/src/sass/components/forms/_file-input.scss +6 -9
  509. package/src/sass/components/forms/_index.scss +3 -1
  510. package/src/sass/components/forms/_input-fields.scss +254 -90
  511. package/src/sass/components/forms/_radio-buttons.scss +40 -127
  512. package/src/sass/components/forms/_rating.scss +2 -32
  513. package/src/sass/components/forms/_select.scss +199 -23
  514. package/src/sass/components/forms/_slider.scss +140 -330
  515. package/src/sass/components/forms/_switches.scss +53 -164
  516. package/src/sass/custom.scss +10 -1
  517. package/src/sass/expressive.scss +3 -63
  518. package/src/sass/tokens/_contrast.scss +94 -0
  519. package/src/sass/tokens/_elevation.scss +16 -0
  520. package/src/sass/tokens/_index.scss +5 -0
  521. package/src/sass/tokens/_motion.scss +109 -0
  522. package/src/sass/tokens/_reference.scss +72 -141
  523. package/src/sass/tokens/_shape.scss +38 -0
  524. package/src/sass/tokens/_stacking.scss +27 -0
  525. package/src/sass/tokens/_state.scss +2 -4
  526. package/src/sass/tokens/_theme.scss +11 -2
  527. package/src/sass/tokens/_vibrant.scss +2 -5
  528. package/src/sass/utilities/_colors.scss +6 -1
  529. package/src/sass/utilities/_defer-render.scss +17 -0
  530. package/src/sass/utilities/_helpers.scss +183 -26
  531. package/src/sass/utilities/_index.scss +2 -1
  532. package/src/sass/utilities/_scroll-area.scss +0 -2
  533. package/src/sass/utilities/_spacing.scss +52 -34
  534. package/src/sass/utilities/_typescale.scss +8 -1
  535. package/src/sass/utilities/_visibility.scss +47 -76
  536. package/src/sass/utilities/_z-depth.scss +7 -4
  537. package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-3GVFZ4XO.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-4HZMB7LI.mjs.map +0 -7
  540. package/dist/js/chunks/chunk-4KMNFIFZ.mjs +0 -270
  541. package/dist/js/chunks/chunk-4KMNFIFZ.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-4TKTLGEM.mjs.map +0 -7
  543. package/dist/js/chunks/chunk-5BKHWHYY.mjs +0 -292
  544. package/dist/js/chunks/chunk-5BKHWHYY.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-5HQSGDZ5.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-6N2XAEFK.mjs +0 -125
  547. package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-A7ALMYUR.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-BG6ZRB5H.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-CUQPB25U.mjs +0 -55
  551. package/dist/js/chunks/chunk-CUQPB25U.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-DAIU5SLG.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-FS7XY3HT.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-GIW4K4SE.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-GUB3TNO2.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-GVGT6MIU.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GZKEFWPM.mjs +0 -181
  558. package/dist/js/chunks/chunk-GZKEFWPM.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-HKT2S7VM.mjs +0 -48
  560. package/dist/js/chunks/chunk-HKT2S7VM.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-ILP3PDTL.mjs +0 -187
  562. package/dist/js/chunks/chunk-ILP3PDTL.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-JIDMQGK6.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KBNN3QDH.mjs +0 -7
  565. package/dist/js/chunks/chunk-KBNN3QDH.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-KHV6DZXX.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-KY6U46SM.mjs +0 -345
  568. package/dist/js/chunks/chunk-KY6U46SM.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-LRZMJZ3T.mjs +0 -291
  570. package/dist/js/chunks/chunk-LRZMJZ3T.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-LTWPGFBR.mjs +0 -59
  572. package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-MNPROCZF.mjs +0 -328
  574. package/dist/js/chunks/chunk-MNPROCZF.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-MZ6Z24BX.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-NS2UMNZV.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-O5XPWXIQ.mjs +0 -406
  578. package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-PM655FXL.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-QDAL4IYN.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-QERLECVU.mjs +0 -572
  582. package/dist/js/chunks/chunk-QERLECVU.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-QJABDLSD.mjs +0 -112
  584. package/dist/js/chunks/chunk-QJABDLSD.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-RHRQKTTX.mjs +0 -139
  586. package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
  587. package/dist/js/chunks/chunk-S3XDFGSZ.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-SPETGK25.mjs +0 -59
  589. package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-TBM3FT7G.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-UEXCIMJZ.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-VGZSAFTX.mjs +0 -173
  594. package/dist/js/chunks/chunk-VGZSAFTX.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-X7OCHZVF.mjs +0 -76
  596. package/dist/js/chunks/chunk-X7OCHZVF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-YDCS5S3J.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-YMSXJON6.mjs +0 -79
  599. package/dist/js/chunks/chunk-YMSXJON6.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-Z2NRKI7R.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZAS25YFD.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-ZKZKNSLC.mjs +0 -1
  603. /package/dist/js/chunks/{chunk-ZKZKNSLC.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -0,0 +1,153 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Scatter chart. A <figure class="scatter-chart"> holds a <figcaption> and a
4
+ // <table> of data: the first column labels each row, the second is the x
5
+ // axis, and each further column is a series named by its header cell.
6
+ // Without JavaScript the table shows. ScatterChart draws each row as one
7
+ // point per series and hides the table visually, so a screen reader still
8
+ // reads the data as a table. The plot, tooltip and legend come from chart().
9
+ //
10
+ // The SVG stretches to the plot (preserveAspectRatio="none"), and points are
11
+ // round caps on zero-length lines with a non-scaling stroke, so they stay
12
+ // round at any size.
13
+ //
14
+ // Modifiers: .axis labels both axes at round values with grid lines,
15
+ // .toggle makes each legend item a button that shows or hides its series,
16
+ // and .bubble makes the last column each row's size, drawing every point as
17
+ // a bubble whose area follows it. The script sets each bubble's
18
+ // --scatter-chart-size, its diameter as a share of the largest, and animates
19
+ // it on update(), so it is registered as a number.
20
+ //
21
+ // Tokens:
22
+ // --md-comp-scatter-chart-height 240px
23
+ // --md-comp-scatter-chart-point-size 8px
24
+ // --md-comp-scatter-chart-bubble-size 48px, the largest bubble's diameter
25
+ // --md-comp-scatter-chart-grid-color outline-variant
26
+ // --md-comp-scatter-chart-color-1..4 primary, tertiary, secondary,
27
+ // on-surface-variant
28
+
29
+ @property --scatter-chart-size {
30
+ syntax: "<number>";
31
+ inherits: false;
32
+ initial-value: 1;
33
+ }
34
+
35
+ @include chart("scatter-chart");
36
+ @include chart-axis("scatter-chart");
37
+
38
+ .scatter-chart {
39
+ --md-comp-scatter-chart-point-size: 8px;
40
+ --md-comp-scatter-chart-bubble-size: 48px;
41
+ }
42
+
43
+ .scatter-chart-plot > svg {
44
+ position: absolute;
45
+ inset: 0;
46
+ width: 100%;
47
+ height: 100%;
48
+ overflow: visible;
49
+ }
50
+
51
+ .scatter-chart-points {
52
+ fill: none;
53
+ stroke: var(--scatter-chart-color);
54
+ stroke-width: var(--md-comp-scatter-chart-point-size);
55
+ stroke-linecap: round;
56
+ vector-effect: non-scaling-stroke;
57
+ }
58
+
59
+ // Partly transparent, so overlapping bubbles still show through.
60
+ .scatter-chart.bubble .scatter-chart-points {
61
+ stroke-width: calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size));
62
+ stroke-opacity: 0.7;
63
+ }
64
+
65
+ // With .bubble, room the largest bubble's radius wide around the plot, and
66
+ // the axis labels moved out by as much, so a bubble at the end of a scale
67
+ // spills into empty space instead of over the labels, caption or legend.
68
+ .scatter-chart.bubble {
69
+ --scatter-chart-room: calc(var(--md-comp-scatter-chart-bubble-size) / 2);
70
+
71
+ > .scatter-chart-plot {
72
+ margin: var(--scatter-chart-room);
73
+ }
74
+
75
+ &.axis > .scatter-chart-plot {
76
+ margin-block: calc(8px + var(--scatter-chart-room)) calc(#{rem(20px)} + var(--scatter-chart-room));
77
+ margin-inline-start: calc(var(--md-comp-scatter-chart-axis-width) + var(--scatter-chart-room));
78
+ }
79
+
80
+ .scatter-chart-axis:not(.x) > li > span {
81
+ inset-inline-end: calc(100% + var(--scatter-chart-room));
82
+ }
83
+
84
+ .scatter-chart-axis.x > li > span {
85
+ top: calc(100% + var(--scatter-chart-room));
86
+ }
87
+ }
88
+
89
+ // The x scale's labels, below the plot, each with a grid line up through it
90
+ // at --at from the left. The script mirrors --at in a right-to-left chart.
91
+ .scatter-chart.axis > .scatter-chart-plot {
92
+ margin-block-end: rem(20px);
93
+ }
94
+
95
+ .scatter-chart-axis.x {
96
+ > li {
97
+ inset-inline: auto;
98
+ inset-block: 0;
99
+ left: var(--at, 0%);
100
+ border-block-start: 0;
101
+ border-inline-start: 1px solid var(--md-comp-scatter-chart-grid-color);
102
+ }
103
+
104
+ > li > span {
105
+ inset-inline: auto;
106
+ top: 100%;
107
+ left: 0;
108
+ width: auto;
109
+ padding: 4px 0 0;
110
+ translate: -50% 0;
111
+ }
112
+ }
113
+
114
+ // The highlighted point's marker, and the tooltip level with it.
115
+ .scatter-chart-cursor {
116
+ inset-block: auto;
117
+ width: 14px;
118
+ height: 14px;
119
+ border: 2px solid var(--md-sys-color-surface);
120
+ border-radius: 50%;
121
+ box-sizing: border-box;
122
+ background-color: var(--scatter-chart-color);
123
+ translate: -50% -50%;
124
+ }
125
+
126
+ // Around a bubble, the marker is the bubble's size plus its border.
127
+ .scatter-chart.bubble .scatter-chart-cursor {
128
+ width: max(14px, calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size) + 4px));
129
+ height: max(14px, calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size) + 4px));
130
+ }
131
+
132
+ .scatter-chart-tooltip {
133
+ translate: 12px -50%;
134
+
135
+ &.end {
136
+ translate: calc(-100% - 12px) -50%;
137
+ }
138
+
139
+ // The x header names the axis, not a series, so it has no swatch.
140
+ > span.x::before {
141
+ content: none;
142
+ }
143
+ }
144
+
145
+ @media (forced-colors: active) {
146
+ .scatter-chart-cursor {
147
+ forced-color-adjust: none;
148
+ }
149
+
150
+ .scatter-chart.bubble .scatter-chart-points {
151
+ stroke-opacity: 1;
152
+ }
153
+ }
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Scrim (M3 Expressive). A foundation, not a component: there is no markup an
4
2
  // author writes to get one. It is the wash a modal surface puts behind itself
5
3
  // to dim what it covers, and this is the one place its value is decided -
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // ScrollSpy. The section is the target of a hash link. Offset is CSS
4
2
  // (scroll-margin). Which TOC link is current is IntersectionObserver.
5
3
  //
@@ -4,7 +4,7 @@
4
4
  //
5
5
  // Anatomy is the HTML. A `<search class="search-bar">` is the bar - an
6
6
  // optional leading icon or icon button, an `<input type="search">`, and
7
- // optional trailing actions. `.searchbar` is the pre-1.0 alias.
7
+ // optional trailing actions.
8
8
  //
9
9
  // `.search-view` is the surface the bar expands into, and it is two different
10
10
  // native elements because the two variants want two different behaviours:
@@ -46,17 +46,17 @@
46
46
  // a bare list interpolated into `.search-view > #{$_bar}` breaks out of its
47
47
  // context and emits a top-level rule.
48
48
 
49
- $_bar: ":is(.search-bar, .searchbar)";
49
+ $_bar: ".search-bar";
50
50
 
51
51
  #{$_bar} {
52
52
  --md-comp-search-bar-container-color: var(--md-sys-color-surface-container-high);
53
- --md-comp-search-bar-container-height: 56px;
54
- --md-comp-search-bar-container-shape: 9999px;
53
+ --md-comp-search-bar-container-height: #{rem(56px)};
54
+ --md-comp-search-bar-container-shape: var(--md-sys-shape-corner-full);
55
55
  --md-comp-search-bar-leading-space: 16px;
56
56
  --md-comp-search-bar-trailing-space: 16px;
57
57
  --md-comp-search-bar-icon-label-space: 16px;
58
- --md-comp-search-bar-icon-size: 24px;
59
- --md-comp-search-bar-avatar-size: 30px;
58
+ --md-comp-search-bar-icon-size: #{rem(24px)};
59
+ --md-comp-search-bar-avatar-size: #{rem(30px)};
60
60
 
61
61
  position: relative;
62
62
  box-sizing: border-box;
@@ -151,26 +151,11 @@ $_bar: ":is(.search-bar, .searchbar)";
151
151
  appearance: none;
152
152
  }
153
153
  }
154
-
155
- // Pre-1.0 `.searchbar` sat in a navbar beside a fixed drawer.
156
- &.has-sidebar {
157
- margin-inline-start: 0;
158
-
159
- @include bp-up("expanded") {
160
- // `width: auto`, because the margin sits *outside* the base bar's
161
- // `width: 100%`: the two together make the bar 100% + 300px wide and
162
- // push its trailing edge past the viewport, on exactly the fixed-drawer
163
- // layout this rule exists to preserve. The legacy bar had no width of
164
- // its own, so the margin shrank it.
165
- width: auto;
166
- margin-inline-start: 300px;
167
- }
168
- }
169
154
  }
170
155
 
171
156
  .search-view {
172
157
  --md-comp-search-view-container-color: var(--md-sys-color-surface-container-high);
173
- --md-comp-search-view-container-shape: 12px;
158
+ --md-comp-search-view-container-shape: var(--md-sys-shape-corner-medium);
174
159
  --md-comp-search-view-header-height: 56px;
175
160
  --md-comp-search-view-divider-color: var(--md-sys-color-outline);
176
161
  --md-comp-search-view-bar-results-gap: 2px;
@@ -258,3 +243,22 @@ $_bar: ":is(.search-bar, .searchbar)";
258
243
  backdrop-filter: none;
259
244
  }
260
245
  }
246
+
247
+ // The input inside clears its own focus ring, so the bar shows it.
248
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
249
+ @include focus-ring;
250
+ }
251
+
252
+ // Both surfaces are fills and shadows, which forced colors paint as Canvas and
253
+ // drop. A bar inside the view is part of the view's surface.
254
+ @media (forced-colors: active) {
255
+ :is(#{$_bar}):not(.search-view *),
256
+ .search-view {
257
+ outline: 1px solid CanvasText;
258
+ }
259
+
260
+ // The input inside clears its own focus ring.
261
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
262
+ outline: 2px solid Highlight;
263
+ }
264
+ }
@@ -0,0 +1,8 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Show more. Clamped text and the <button> that shows all of it; the ShowMore
4
+ // component hides the button with the hidden attribute while the text fits,
5
+ // which the button's own display rule would otherwise beat.
6
+ .show-more > button[hidden] {
7
+ display: none;
8
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  // Side sheets.
4
4
  //
5
- // Anatomy is the HTML. A dialog.side-sheet (or .right / .left) is the
5
+ // Anatomy is the HTML. A dialog.side-sheet is the
6
6
  // surface, docked to the trailing edge by default. showModal() is the
7
7
  // modal variant (scrim, rounded inner corners). show() is the standard
8
8
  // variant (no scrim, a divider on the inner edge, page stays interactive).
@@ -21,38 +21,45 @@
21
21
  // Standard is for large windows next to the main pane. Modal is for
22
22
  // compact/medium, or whenever the sheet should interrupt.
23
23
 
24
- $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet";
24
+ $_sheet: "dialog.side-sheet";
25
25
 
26
26
  #{$_sheet} {
27
27
  --md-comp-side-sheet-container-color: var(--md-sys-color-surface-container-low);
28
- --md-comp-side-sheet-container-shape: 28px;
28
+ --md-comp-side-sheet-container-shape: var(--md-sys-shape-corner-extra-large);
29
29
  --md-comp-side-sheet-container-width: 400px;
30
30
  --md-comp-side-sheet-shift: 0px;
31
+ // Entry and drag snap-back run on the default spatial spring, which follows
32
+ // the motion="expressive" switch.
33
+ --md-comp-side-sheet-motion: var(--md-sys-motion-spring-default-spatial);
34
+ --md-comp-side-sheet-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
35
+ // A spatial spring overshoots, so the sheet runs on past its docked edge by
36
+ // this much, padded, and the overshoot never uncovers the page there.
37
+ --_bleed: 24px;
31
38
 
32
39
  box-sizing: border-box;
33
40
  position: fixed;
34
- float: none !important;
35
41
  inset-block: 0;
36
42
  inset-inline-start: auto;
37
- inset-inline-end: 0;
38
- width: min(var(--md-comp-side-sheet-container-width), 85%);
39
- max-width: var(--md-comp-side-sheet-container-width);
43
+ inset-inline-end: calc(-1 * var(--_bleed));
44
+ width: calc(min(var(--md-comp-side-sheet-container-width), 85%) + var(--_bleed));
45
+ max-width: calc(var(--md-comp-side-sheet-container-width) + var(--_bleed));
40
46
  height: auto;
41
47
  max-height: none;
42
48
  min-width: 0;
43
49
  min-height: 0;
44
50
  margin: 0;
45
51
  padding: 0;
52
+ padding-inline-end: var(--_bleed);
46
53
  border: none;
47
54
  background-color: var(--md-comp-side-sheet-container-color);
48
55
  color: var(--md-sys-color-on-surface);
49
56
  outline: none;
50
57
  translate: var(--md-comp-side-sheet-shift) 0;
51
- transition: translate 280ms ease, border-radius 200ms ease;
58
+ transition: translate var(--md-comp-side-sheet-motion-duration) var(--md-comp-side-sheet-motion), border-radius var(--md-sys-motion-duration-short4) ease;
52
59
  @include glass(var(--md-comp-side-sheet-container-color));
53
60
 
54
61
  &:not(:modal) {
55
- z-index: 1100;
62
+ z-index: var(--expressive-z-sheet);
56
63
  border-radius: 0;
57
64
  box-shadow: none;
58
65
  // Standard: attached to the page, inner edge is a divider.
@@ -72,11 +79,10 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
72
79
  }
73
80
 
74
81
  // Leading-edge dock.
75
- &.left,
76
- &.left-sheet,
77
82
  &.start {
78
- inset-inline-start: 0;
83
+ inset-inline-start: calc(-1 * var(--_bleed));
79
84
  inset-inline-end: auto;
85
+ padding-inline: var(--_bleed) 0;
80
86
 
81
87
  &:not(:modal) {
82
88
  border-inline-start: 0;
@@ -103,6 +109,9 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
103
109
  padding-inline: 24px 12px;
104
110
  background: none;
105
111
  box-shadow: none;
112
+ // A horizontal touch drag here dismisses the sheet; the browser would
113
+ // otherwise take it as a pan and cancel the pointer.
114
+ touch-action: pan-y;
106
115
  }
107
116
 
108
117
  > header:has(> :is(button, a):first-child) {
@@ -130,33 +139,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
130
139
  }
131
140
 
132
141
  > header :is(button, a.button) {
133
- flex: 0 0 48px;
134
- box-sizing: border-box;
135
- width: 48px;
136
- height: 48px;
137
- min-width: 48px;
138
- padding: 0;
139
- border: none;
140
- border-radius: 50%;
141
- background-color: transparent;
142
- color: var(--md-sys-color-on-surface-variant);
143
- box-shadow: none;
144
-
145
- > #{$icon} {
146
- font-size: 24px;
147
- width: 24px;
148
- height: 24px;
149
- line-height: 24px;
150
- }
151
-
152
- &:hover {
153
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
154
- }
155
-
156
- &:focus-visible {
157
- outline: 3px solid var(--md-sys-color-secondary);
158
- outline-offset: 2px;
159
- }
142
+ @include header-icon-action;
160
143
  }
161
144
 
162
145
  > :is(form, nav):last-child {
@@ -187,7 +170,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
187
170
  translate: -100% 0;
188
171
  }
189
172
 
190
- &:is(.start, .left, .left-sheet) {
173
+ &.start {
191
174
  translate: -100% 0;
192
175
 
193
176
  &:dir(rtl) {
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Skeleton. An empty block that holds the place of content still loading,
4
2
  // with a shimmer passing across it. The block has no text and nothing to
5
3
  // announce: mark the region being filled with aria-busy="true", and report
@@ -25,7 +23,7 @@
25
23
  var(--md-sys-color-surface) 50%,
26
24
  transparent
27
25
  );
28
- --md-comp-skeleton-shape: 8px;
26
+ --md-comp-skeleton-shape: var(--md-sys-shape-corner-small);
29
27
  --md-comp-skeleton-circle-size: 40px;
30
28
 
31
29
  display: block;
@@ -47,7 +45,7 @@
47
45
  }
48
46
 
49
47
  &.text {
50
- --md-comp-skeleton-shape: 4px;
48
+ --md-comp-skeleton-shape: var(--md-sys-shape-corner-extra-small);
51
49
 
52
50
  width: 100%;
53
51
  height: 1em;
@@ -5,7 +5,7 @@
5
5
  // Anatomy is the HTML. A .snackbar is the container. A <p> (or <span>,
6
6
  // or loose text) is the supporting text. A trailing <button> is the
7
7
  // action; a .circle button is the optional close. An optional leading
8
- // <i> is an icon.
8
+ // icon comes first.
9
9
  //
10
10
  // Tokens follow https://m3.material.io/components/snackbar/specs
11
11
  // container inverse-surface, 4dp corners, elevation 3, min 48dp
@@ -35,10 +35,9 @@ $_bar: ".snackbar";
35
35
  align-items: stretch;
36
36
  gap: 8px;
37
37
  position: fixed;
38
- z-index: 10000;
39
- inset: auto var(--md-comp-snackbar-container-margin-trailing)
40
- max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px))
41
- var(--md-comp-snackbar-container-margin-leading);
38
+ z-index: var(--expressive-z-snackbar);
39
+ inset-block: auto max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px));
40
+ inset-inline: var(--md-comp-snackbar-container-margin-leading) var(--md-comp-snackbar-container-margin-trailing);
42
41
  width: auto;
43
42
  max-width: calc(100% - var(--md-comp-snackbar-container-margin-leading) - var(--md-comp-snackbar-container-margin-trailing));
44
43
  // The page stays browsable — only the bar itself receives pointer events.
@@ -72,7 +71,7 @@ $_bar: ".snackbar";
72
71
 
73
72
  #{$_bar} {
74
73
  --md-comp-snackbar-container-color: var(--md-sys-color-inverse-surface);
75
- --md-comp-snackbar-container-shape: 4px;
74
+ --md-comp-snackbar-container-shape: var(--md-sys-shape-corner-extra-small);
76
75
  --md-comp-snackbar-supporting-text-color: var(--md-sys-color-inverse-on-surface);
77
76
  --md-comp-snackbar-action-label-text-color: var(--md-sys-color-inverse-primary);
78
77
  --md-comp-snackbar-icon-color: var(--md-sys-color-inverse-on-surface);
@@ -91,7 +90,8 @@ $_bar: ".snackbar";
91
90
  max-width: 672px;
92
91
  min-height: 48px;
93
92
  margin: 0;
94
- padding: 4px 8px 4px 16px;
93
+ padding-block: 4px;
94
+ padding-inline: 16px 8px;
95
95
  border: none;
96
96
  border-radius: var(--md-comp-snackbar-container-shape);
97
97
  background-color: var(--md-comp-snackbar-container-color);
@@ -124,10 +124,10 @@ $_bar: ".snackbar";
124
124
  // Optional leading icon. M3 snackbars have no leading icon.
125
125
  > #{$icon}:first-child {
126
126
  flex: 0 0 auto;
127
- font-size: 24px;
128
- width: 24px;
129
- height: 24px;
130
- line-height: 24px;
127
+ font-size: rem(24px);
128
+ width: rem(24px);
129
+ height: rem(24px);
130
+ line-height: rem(24px);
131
131
  color: var(--md-comp-snackbar-icon-color);
132
132
  }
133
133
 
@@ -158,19 +158,19 @@ $_bar: ".snackbar";
158
158
  min-width: 48px;
159
159
  padding: 0 12px;
160
160
  border: none;
161
- border-radius: 20px;
161
+ border-radius: var(--md-sys-shape-corner-large-increased);
162
162
  background-color: transparent;
163
163
  color: var(--md-comp-snackbar-action-label-text-color);
164
164
  box-shadow: none;
165
165
  @include typescale("label-large");
166
166
 
167
167
  &:hover {
168
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) state-opacity("hover"), transparent);
168
+ background-color: state-layer(var(--md-sys-color-inverse-primary), "hover");
169
169
  }
170
170
 
171
171
  &:active,
172
172
  &:focus {
173
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) state-opacity("focus"), transparent);
173
+ background-color: state-layer(var(--md-sys-color-inverse-primary), "focus");
174
174
  }
175
175
 
176
176
  &:focus-visible {
@@ -193,19 +193,19 @@ $_bar: ".snackbar";
193
193
  box-shadow: none;
194
194
 
195
195
  > #{$icon} {
196
- font-size: 24px;
197
- width: 24px;
198
- height: 24px;
199
- line-height: 24px;
196
+ font-size: rem(24px);
197
+ width: rem(24px);
198
+ height: rem(24px);
199
+ line-height: rem(24px);
200
200
  }
201
201
 
202
202
  &:hover {
203
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) state-opacity("hover"), transparent);
203
+ background-color: state-layer(var(--md-sys-color-inverse-on-surface), "hover");
204
204
  }
205
205
 
206
206
  &:active,
207
207
  &:focus {
208
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) state-opacity("focus"), transparent);
208
+ background-color: state-layer(var(--md-sys-color-inverse-on-surface), "focus");
209
209
  }
210
210
 
211
211
  &:focus-visible {
@@ -235,7 +235,7 @@ $_bar: ".snackbar";
235
235
  // Default: bottom of the UI, centered from the Medium breakpoint.
236
236
  #{$_bar}.active {
237
237
  position: fixed;
238
- z-index: 10000;
238
+ z-index: var(--expressive-z-snackbar);
239
239
  left: 50%;
240
240
  right: auto;
241
241
  bottom: 24px;
@@ -264,3 +264,9 @@ $_bar: ".snackbar";
264
264
  }
265
265
  }
266
266
  }
267
+
268
+ // Transient messages are not part of the page. Important so a size or state rule that sets
269
+ // `display` cannot bring it back; see base/_print.scss for the page itself.
270
+ @media print {
271
+ #snackbar-container { display: none !important; }
272
+ }
@@ -85,14 +85,14 @@ $_sizes: (
85
85
 
86
86
  --md-comp-split-button-leading-button-trailing-space: #{map.get($s, lead-end)};
87
87
  --md-comp-split-button-trailing-button-space: #{map.get($s, trail-space)};
88
- --md-comp-split-button-trailing-icon-size: #{map.get($s, trail-icon)};
88
+ --md-comp-split-button-trailing-icon-size: #{rem(map.get($s, trail-icon))};
89
89
  --md-comp-split-button-inner-corner-corner-size: #{map.get($s, inner)};
90
90
  --md-comp-split-button-inner-pressed-corner-corner-size: #{map.get($s, swollen)};
91
91
  }
92
92
 
93
93
  .split-button {
94
94
  --md-comp-split-button-between-space: 2px;
95
- --md-comp-split-button-container-shape: 9999px;
95
+ --md-comp-split-button-container-shape: var(--md-sys-shape-corner-full);
96
96
 
97
97
  @include button-size("small");
98
98
  @include _split-size("small");
@@ -128,8 +128,8 @@ $_sizes: (
128
128
  // property list replaces it wholesale, so both have to be named again or
129
129
  // an `.elevated` split button snaps its shadow where every other elevated
130
130
  // button eases it.
131
- transition: border-radius .2s ease-out, background-color .2s ease-out,
132
- box-shadow .2s ease-out;
131
+ transition: border-radius var(--md-sys-motion-duration-short4) ease-out, background-color var(--md-sys-motion-duration-short4) ease-out,
132
+ box-shadow var(--md-sys-motion-duration-short4) ease-out;
133
133
 
134
134
  // M3 gives hovered and pressed the same swollen corner.
135
135
  &:hover,
@@ -178,7 +178,7 @@ $_sizes: (
178
178
  }
179
179
 
180
180
  > #{$icon} {
181
- transition: transform .2s ease-out;
181
+ transition: transform var(--md-sys-motion-duration-short4) ease-out;
182
182
  }
183
183
 
184
184
  &[aria-expanded="true"] > #{$icon} {
@@ -16,8 +16,8 @@
16
16
 
17
17
  .stats {
18
18
  --md-comp-stat-container-color: var(--md-sys-color-surface-container-low);
19
- --md-comp-stat-shape: 16px;
20
- --md-comp-stat-min-width: 160px;
19
+ --md-comp-stat-shape: var(--md-sys-shape-corner-large);
20
+ --md-comp-stat-min-width: #{rem(160px)};
21
21
 
22
22
  display: grid;
23
23
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--md-comp-stat-min-width)), 1fr));
@@ -56,12 +56,7 @@
56
56
  @include typescale("label-large");
57
57
 
58
58
  &:is(.up, .down)::before {
59
- content: "";
60
- flex: none;
61
- width: 18px;
62
- height: 18px;
63
- background-color: currentColor;
64
- mask: $trend-arrow center / 18px no-repeat;
59
+ @include trend-arrow;
65
60
  }
66
61
 
67
62
  &.down::before {
@@ -97,7 +97,7 @@ $_stepper-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/sv
97
97
 
98
98
  > a {
99
99
  color: inherit;
100
- border-radius: 4px;
100
+ border-radius: var(--md-sys-shape-corner-extra-small);
101
101
  text-decoration: underline;
102
102
  text-underline-offset: 2px;
103
103
  @include focus-visible;
@@ -166,10 +166,6 @@ $_stepper-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/sv
166
166
  margin-block: 4px;
167
167
  }
168
168
 
169
- &:last-child::after {
170
- content: none;
171
- }
172
-
173
169
  > .stepper-content {
174
170
  grid-column: 2;
175
171
  grid-row: 3;