@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
@@ -7,25 +7,49 @@
7
7
  // its rows, so --md-comp-heatmap-chart-height does not apply.
8
8
  //
9
9
  // Each cell carries --level, 0 for the lowest value and 1 for the highest,
10
- // and mixes the color into the empty color by that much. A .gap cell has no
11
- // value and draws no fill. Value text is black or white, whichever
12
- // contrasts more with the cell's mix, in any theme.
10
+ // and mixes the color into the empty color by that much. On a diverging
11
+ // scale (data-mid) a level below 0 mixes in the low color instead. A .gap
12
+ // cell has no value and draws no fill. Value text is black or white,
13
+ // whichever contrasts more with the cell's mix, in any theme.
14
+ //
15
+ // Cells keep --md-comp-heatmap-chart-cell-min-width, and a grid too wide
16
+ // for its figure scrolls its cells sideways beside the row labels.
13
17
  //
14
18
  // Modifiers: .values writes each cell's text on it.
15
19
  //
16
20
  // Tokens:
17
- // --md-comp-heatmap-chart-row-height 32px
18
- // --md-comp-heatmap-chart-gap 3px between cells
19
- // --md-comp-heatmap-chart-shape 4px, the cell's corner radius
20
- // --md-comp-heatmap-chart-color primary, the highest value
21
- // --md-comp-heatmap-chart-empty-color surface-container-highest, the lowest
21
+ // --md-comp-heatmap-chart-row-height 32px
22
+ // --md-comp-heatmap-chart-cell-min-width 12px, below which the grid scrolls
23
+ // --md-comp-heatmap-chart-gap 3px between cells
24
+ // --md-comp-heatmap-chart-shape 4px, the cell's corner radius
25
+ // --md-comp-heatmap-chart-color primary, the highest value
26
+ // --md-comp-heatmap-chart-low-color tertiary, the lowest value on a
27
+ // diverging scale
28
+ // --md-comp-heatmap-chart-empty-color surface-container-highest, the
29
+ // lowest, or the midpoint
22
30
 
23
31
  @include chart("heatmap-chart");
24
32
 
33
+ // A level's color: the color above 0, the low color below it, both mixed
34
+ // into the empty color, so one formula serves both kinds of scale.
35
+ @function shade($level) {
36
+ @return color-mix(
37
+ in oklab,
38
+ var(--md-comp-heatmap-chart-color) calc(max(#{$level}, 0) * 100%),
39
+ color-mix(
40
+ in oklab,
41
+ var(--md-comp-heatmap-chart-low-color) calc(max(-1 * #{$level}, 0) * 100%),
42
+ var(--md-comp-heatmap-chart-empty-color)
43
+ )
44
+ );
45
+ }
46
+
25
47
  .heatmap-chart {
26
- --md-comp-heatmap-chart-row-height: 32px;
48
+ --md-comp-heatmap-chart-row-height: #{rem(32px)};
49
+ --md-comp-heatmap-chart-cell-min-width: 12px;
50
+ --md-comp-heatmap-chart-low-color: var(--md-sys-color-tertiary);
27
51
  --md-comp-heatmap-chart-gap: 3px;
28
- --md-comp-heatmap-chart-shape: 4px;
52
+ --md-comp-heatmap-chart-shape: var(--md-sys-shape-corner-extra-small);
29
53
  --md-comp-heatmap-chart-color: var(--md-sys-color-primary);
30
54
  --md-comp-heatmap-chart-empty-color: var(--md-sys-color-surface-container-highest);
31
55
  }
@@ -33,11 +57,7 @@
33
57
  // The cells and the tooltip swatch share the mix.
34
58
  .heatmap-chart-cell,
35
59
  .heatmap-chart-tooltip > span {
36
- --heatmap-chart-color: color-mix(
37
- in oklab,
38
- var(--md-comp-heatmap-chart-color) calc(var(--level, 0) * 100%),
39
- var(--md-comp-heatmap-chart-empty-color)
40
- );
60
+ --heatmap-chart-color: #{shade(var(--level, 0))};
41
61
  }
42
62
 
43
63
  .heatmap-chart-plot {
@@ -46,16 +66,42 @@
46
66
  background: none;
47
67
  }
48
68
 
69
+ // The row labels, then the cells beside them. Row labels take up to 40% of
70
+ // the width and end in an ellipsis past it; the cells take the rest and
71
+ // scroll sideways when their minimum width would not fit, while the row
72
+ // labels stay in view. Both sides use the same fixed row height, so the
73
+ // rows line up.
49
74
  .heatmap-chart-grid {
50
75
  display: grid;
51
- // Row labels take up to 40% of the width and end in an ellipsis past it.
52
- grid-template-columns: fit-content(40%) repeat(var(--columns, 1), minmax(0, 1fr));
53
- grid-template-rows: repeat(var(--rows, 1), var(--md-comp-heatmap-chart-row-height));
54
- gap: var(--md-comp-heatmap-chart-gap);
76
+ grid-template-columns: fit-content(40%) minmax(0, 1fr);
77
+ column-gap: var(--md-comp-heatmap-chart-gap);
55
78
  color: var(--md-sys-color-on-surface-variant);
56
79
  @include typescale("body-small");
57
80
  }
58
81
 
82
+ .heatmap-chart-rows,
83
+ .heatmap-chart-cells {
84
+ display: grid;
85
+ grid-template-rows: repeat(var(--rows, 1), var(--md-comp-heatmap-chart-row-height)) auto;
86
+ gap: var(--md-comp-heatmap-chart-gap);
87
+ }
88
+
89
+ .heatmap-chart-rows {
90
+ min-width: 0;
91
+ }
92
+
93
+ .heatmap-chart-scroll {
94
+ overflow-x: auto;
95
+ // Room for the active cell's outline, which the scrolling would clip.
96
+ margin: -3px;
97
+ padding: 3px;
98
+ }
99
+
100
+ .heatmap-chart-cells {
101
+ grid-template-columns: repeat(var(--columns, 1), minmax(var(--md-comp-heatmap-chart-cell-min-width), 1fr));
102
+ width: max(100%, var(--columns, 1) * (var(--md-comp-heatmap-chart-cell-min-width) + var(--md-comp-heatmap-chart-gap)) - var(--md-comp-heatmap-chart-gap));
103
+ }
104
+
59
105
  .heatmap-chart-row,
60
106
  .heatmap-chart-column {
61
107
  overflow: hidden;
@@ -76,6 +122,27 @@
76
122
  &.run {
77
123
  text-align: start;
78
124
  }
125
+
126
+ // When each label is wider than its column, HeatmapChart keeps every nth
127
+ // one, as LineChart does. A kept label spreads over the hidden ones beside
128
+ // it, centred on its column; the end labels line up with the grid's edges.
129
+ .heatmap-chart-cells[data-thinned] > &:not([data-skip]) {
130
+ display: flex;
131
+ justify-content: center;
132
+ overflow: visible;
133
+
134
+ &:nth-child(1 of .heatmap-chart-column) {
135
+ justify-content: start;
136
+ }
137
+
138
+ &:nth-last-child(1 of .heatmap-chart-column) {
139
+ justify-content: end;
140
+ }
141
+ }
142
+
143
+ &[data-skip] {
144
+ visibility: hidden;
145
+ }
79
146
  }
80
147
 
81
148
  .heatmap-chart-cell {
@@ -112,14 +179,14 @@
112
179
  }
113
180
 
114
181
  .heatmap-chart-tooltip {
182
+ translate: 8px 0;
183
+
115
184
  // A gap's swatch, outlined like its cell.
116
185
  > span.gap::before {
117
186
  background: none;
118
187
  box-shadow: inset 0 0 0 1px var(--md-comp-heatmap-chart-grid-color);
119
188
  }
120
189
 
121
- translate: 8px 0;
122
-
123
190
  &.end {
124
191
  translate: calc(-100% - 8px) 0;
125
192
  }
@@ -134,12 +201,34 @@
134
201
  .heatmap-chart-scale {
135
202
  width: 96px;
136
203
  height: 8px;
137
- border-radius: 4px;
204
+ border-radius: var(--md-sys-shape-corner-extra-small);
138
205
  // From the lowest cell's shade to the highest's, set by HeatmapChart.
139
206
  background: linear-gradient(
140
207
  in oklab to var(--heatmap-chart-to, right),
141
- color-mix(in oklab, var(--md-comp-heatmap-chart-color) calc(var(--low, 0) * 100%), var(--md-comp-heatmap-chart-empty-color)),
142
- color-mix(in oklab, var(--md-comp-heatmap-chart-color) calc(var(--high, 1) * 100%), var(--md-comp-heatmap-chart-empty-color))
208
+ #{shade(var(--low, 0))},
209
+ #{shade(var(--high, 1))}
210
+ );
211
+
212
+ // A stepped scale is a swatch per band, which HeatmapChart writes.
213
+ &:has(> span) {
214
+ display: flex;
215
+ overflow: hidden;
216
+ background: none;
217
+ }
218
+
219
+ > span {
220
+ flex: 1;
221
+ background: #{shade(var(--level, 0))};
222
+ }
223
+ }
224
+
225
+ // A diverging scale whose data crosses the midpoint passes its empty color.
226
+ .heatmap-chart-scale.diverging {
227
+ background: linear-gradient(
228
+ in oklab to var(--heatmap-chart-to, right),
229
+ #{shade(var(--low, 0))},
230
+ var(--md-comp-heatmap-chart-empty-color) var(--mid, 0%),
231
+ #{shade(var(--high, 1))}
143
232
  );
144
233
  }
145
234
 
@@ -1,4 +1,3 @@
1
- @use "sass:map";
2
1
  @use "../abstracts" as *;
3
2
 
4
3
  // Icon buttons.
@@ -44,7 +43,7 @@
44
43
 
45
44
  --md-comp-icon-button-color: var(--md-sys-color-on-surface-variant);
46
45
  --md-comp-icon-button-container-color: transparent;
47
- --md-comp-icon-button-container-shape: 9999px;
46
+ --md-comp-icon-button-container-shape: var(--md-sys-shape-corner-full);
48
47
 
49
48
  box-sizing: border-box;
50
49
  display: inline-flex;
@@ -66,7 +65,11 @@
66
65
  appearance: none;
67
66
  vertical-align: middle;
68
67
  -webkit-tap-highlight-color: transparent;
69
- transition: background-color .2s ease-out, border-radius .2s ease-out;
68
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out, border-radius var(--md-sys-motion-duration-short4) ease-out;
69
+
70
+ @media (prefers-reduced-motion: reduce) {
71
+ transition: none;
72
+ }
70
73
 
71
74
  > #{$icon} {
72
75
  flex: 0 0 auto;
@@ -83,11 +86,7 @@
83
86
  // icon button gets a translucent tint instead of an opaque one.
84
87
  @each $state, $selector in ("hover": "&:hover", "focus": "&:focus", "pressed": "&:active") {
85
88
  #{$selector} {
86
- background-color: color-mix(
87
- in oklab,
88
- var(--md-comp-icon-button-color) state-opacity($state),
89
- var(--md-comp-icon-button-container-color)
90
- );
89
+ background-color: state-layer(var(--md-comp-icon-button-color), $state, var(--md-comp-icon-button-container-color));
91
90
  }
92
91
  }
93
92
 
@@ -30,14 +30,14 @@
30
30
  [icon-style="sharp"],
31
31
  :host([icon-style="sharp"]) { --md-icon-font: var(--md-icon-font-sharp); }
32
32
 
33
- $_icon: ".material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons";
33
+ $_icon: ".material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp";
34
34
 
35
35
  #{$_icon} {
36
36
  display: inline-block;
37
37
  font-family: var(--md-icon-font);
38
38
  font-weight: normal;
39
39
  font-style: normal;
40
- font-size: 24px;
40
+ font-size: rem(24px);
41
41
  line-height: 1;
42
42
  letter-spacing: normal;
43
43
  text-transform: none;
@@ -0,0 +1,108 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Image compare. Two images of the same scene stacked, with a divider that
4
+ // reveals the second over the first. A .image-compare holds two <img> and a
5
+ // native <input type="range">: the range is the control, so keyboard,
6
+ // pointer, touch and its "slider" semantics are the browser's. It covers the
7
+ // images invisibly, and the container draws the divider and handle at
8
+ // --md-comp-image-compare-position, which the ImageCompare behavior keeps in
9
+ // step with the range's value.
10
+ //
11
+ // Tokens:
12
+ // --md-comp-image-compare-position 50% (from the inline start)
13
+ // --md-comp-image-compare-shape 16px
14
+ // --md-comp-image-compare-divider-color surface
15
+ // --md-comp-image-compare-handle-size 40px
16
+
17
+ .image-compare {
18
+ --md-comp-image-compare-position: 50%;
19
+ --md-comp-image-compare-shape: var(--md-sys-shape-corner-large);
20
+ --md-comp-image-compare-divider-color: var(--md-sys-color-surface);
21
+ --md-comp-image-compare-handle-size: 40px;
22
+
23
+ position: relative;
24
+ display: grid;
25
+ overflow: hidden;
26
+ border-radius: var(--md-comp-image-compare-shape);
27
+ isolation: isolate;
28
+
29
+ > img {
30
+ grid-area: 1 / 1;
31
+ display: block;
32
+ inline-size: 100%;
33
+ block-size: 100%;
34
+ object-fit: cover;
35
+ }
36
+
37
+ > img + img {
38
+ clip-path: inset(0 0 0 var(--md-comp-image-compare-position));
39
+ }
40
+
41
+ &:dir(rtl) > img + img {
42
+ clip-path: inset(0 var(--md-comp-image-compare-position) 0 0);
43
+ }
44
+
45
+ > input[type="range"] {
46
+ grid-area: 1 / 1;
47
+ z-index: 2;
48
+ inline-size: 100%;
49
+ block-size: 100%;
50
+ margin: 0;
51
+ cursor: ew-resize;
52
+ opacity: 0;
53
+ }
54
+
55
+ // The divider line, then the round handle on it.
56
+ &::before,
57
+ &::after {
58
+ content: "";
59
+ position: absolute;
60
+ z-index: 1;
61
+ inset-inline-start: var(--md-comp-image-compare-position);
62
+ pointer-events: none;
63
+ translate: -50% 0;
64
+ }
65
+
66
+ &:dir(rtl)::before,
67
+ &:dir(rtl)::after {
68
+ translate: 50% 0;
69
+ }
70
+
71
+ &::before {
72
+ inset-block: 0;
73
+ inline-size: 2px;
74
+ background-color: var(--md-comp-image-compare-divider-color);
75
+ }
76
+
77
+ &::after {
78
+ inset-block-start: calc(50% - var(--md-comp-image-compare-handle-size) / 2);
79
+ inline-size: var(--md-comp-image-compare-handle-size);
80
+ block-size: var(--md-comp-image-compare-handle-size);
81
+ border-radius: 50%;
82
+ background-color: var(--md-comp-image-compare-divider-color);
83
+ @include z-depth("2");
84
+ }
85
+
86
+ &:has(> input:focus-visible)::after {
87
+ @include focus-ring();
88
+ }
89
+
90
+ &:has(> input:disabled) {
91
+ > input {
92
+ cursor: default;
93
+ }
94
+
95
+ &::after {
96
+ opacity: 0.38;
97
+ }
98
+ }
99
+
100
+ @media (forced-colors: active) {
101
+ &::before,
102
+ &::after {
103
+ forced-color-adjust: none;
104
+ background-color: Canvas;
105
+ outline: 2px solid CanvasText;
106
+ }
107
+ }
108
+ }
@@ -31,6 +31,7 @@
31
31
  @forward "chips";
32
32
  @forward "lightbox";
33
33
  @forward "docked-display";
34
+ @forward "modal-display";
34
35
  @forward "page-footer";
35
36
  @forward "forms";
36
37
  @forward "table_of_contents";
@@ -44,6 +45,11 @@
44
45
  @forward "panes";
45
46
  @forward "fab-menu";
46
47
  @forward "loading-indicator";
48
+ @forward "pull-to-refresh";
49
+ @forward "loading-overlay";
50
+ @forward "swipe-actions";
51
+ @forward "show-more";
52
+ @forward "transfer-list";
47
53
  @forward "search";
48
54
  @forward "drag-handle";
49
55
  @forward "scrim";
@@ -53,9 +59,16 @@
53
59
  @forward "map";
54
60
  @forward "accordion";
55
61
  @forward "data-table";
62
+ @forward "description-list";
63
+ @forward "calendar";
64
+ @forward "mega-menu";
65
+ @forward "image-compare";
66
+ @forward "tour";
67
+ @forward "menubar";
56
68
  @forward "avatar";
57
69
  @forward "skeleton";
58
70
  @forward "empty-state";
71
+ @forward "alert";
59
72
  @forward "countdown";
60
73
  @forward "popover";
61
74
  @forward "stepper";
@@ -72,8 +85,16 @@
72
85
  @forward "radar-chart";
73
86
  @forward "radial-chart";
74
87
  @forward "mixed-chart";
88
+ @forward "scatter-chart";
89
+ @forward "funnel-chart";
90
+ @forward "sankey-chart";
91
+ @forward "treemap-chart";
75
92
  @forward "aura";
76
93
  @forward "kpi";
77
94
  @forward "marquee";
78
95
  @forward "confetti";
79
96
  @forward "particles";
97
+ @forward "keypad";
98
+ @forward "org-chart";
99
+ @forward "back-to-top";
100
+ @forward "cascader";
@@ -0,0 +1,182 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Keypad and keyboard: on-screen keys that type into a text field.
4
+ //
5
+ // Anatomy is the HTML. Every key is a <button type="button">. A key with a
6
+ // `value` types that value; a key with `data-key` is a function key
7
+ // (Backspace, Enter, Shift, CapsLock, Layer). A Layer key shows the
8
+ // elements whose `data-layer` matches its `value`, such as a row of
9
+ // symbols. `.keypad` is a three-column grid of round keys, the dial pad
10
+ // and PIN pad. `.keyboard` is a column of rows (any <div>), each
11
+ // row a flex line of keys. A key carrying a button style class (.filled,
12
+ // .tonal, .outlined, .elevated, .text) keeps that style, so a call or submit
13
+ // key is written the same way as any other button.
14
+ //
15
+ // Keys press the same way button-group items do: the corner squares off on a
16
+ // spring and springs back on release.
17
+ //
18
+ // Keyboard width comes from a column count rather than per-key classes. A
19
+ // character key is one column wide and may shrink; a function key is one and
20
+ // a half; the space bar takes what is left. Ten columns gives QWERTY's
21
+ // half-key indent on the nine-key row with no extra markup.
22
+
23
+ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
24
+
25
+ :is(.keypad, .keyboard) {
26
+ --md-comp-keypad-key-color: var(--md-sys-color-surface-container-highest);
27
+ --md-comp-keypad-key-label-color: var(--md-sys-color-on-surface);
28
+ --md-comp-keypad-function-key-color: var(--md-sys-color-secondary-container);
29
+ --md-comp-keypad-function-key-label-color: var(--md-sys-color-on-secondary-container);
30
+ --md-comp-keypad-key-pressed-shape: var(--md-sys-shape-corner-medium);
31
+ // Material's fast-spatial spring, the curve button groups press with.
32
+ --md-comp-keypad-motion: var(--md-sys-motion-spring-fast-spatial);
33
+ --md-comp-keypad-motion-duration: var(--md-sys-motion-spring-fast-spatial-duration);
34
+
35
+ touch-action: manipulation;
36
+
37
+ button {
38
+ --_color: var(--md-comp-keypad-key-color);
39
+ --_label: var(--md-comp-keypad-key-label-color);
40
+ min-width: 0;
41
+ padding: 0;
42
+ transition:
43
+ border-radius var(--md-comp-keypad-motion-duration) var(--md-comp-keypad-motion),
44
+ background-color var(--md-sys-motion-duration-short4) ease-out;
45
+
46
+ &[data-key] {
47
+ --_color: var(--md-comp-keypad-function-key-color);
48
+ --_label: var(--md-comp-keypad-function-key-label-color);
49
+ }
50
+
51
+ // The state layer's opacity. Only the rule below reads it, so a key
52
+ // that keeps a button style ignores it.
53
+ // .pressed is a hardware key held down in the field.
54
+ @each $state, $selector in ("hover": "&:hover", "focus": "&:focus", "pressed": "&:is(:active, .pressed)") {
55
+ #{$selector} {
56
+ --_state: #{state-opacity($state)};
57
+ }
58
+ }
59
+
60
+ &:is(:active, .pressed):not(:disabled) {
61
+ border-radius: var(--md-comp-keypad-key-pressed-shape);
62
+ }
63
+
64
+ // The shape stops moving; the color still fades, which is not motion.
65
+ @media (prefers-reduced-motion: reduce) {
66
+ transition-property: background-color;
67
+ }
68
+ }
69
+
70
+ #{$_key} {
71
+ color: var(--_label);
72
+ background-color: color-mix(in oklab, var(--_label) var(--_state, 0%), var(--_color));
73
+ }
74
+
75
+ // A latched Shift or Caps Lock reads as selected: primary, like a selected toggle.
76
+ :is([data-key="Shift"], [data-key="CapsLock"])[aria-pressed="true"] {
77
+ --_color: var(--md-sys-color-primary);
78
+ --_label: var(--md-sys-color-on-primary);
79
+ }
80
+ }
81
+
82
+ // Dial pad and PIN pad: three columns of round keys. A digit key may carry
83
+ // its letters in a <small> under the digit. An empty cell is an empty <span>.
84
+ // Keys fill their cell, so `.wide` spans two and becomes a pill: a call key
85
+ // beside Backspace leaves no hole in the last row.
86
+ .keypad {
87
+ --md-comp-keypad-key-size: #{rem(72px)};
88
+ --md-comp-keypad-gap: 12px;
89
+
90
+ display: inline-grid;
91
+ grid-template-columns: repeat(3, var(--md-comp-keypad-key-size));
92
+ gap: var(--md-comp-keypad-gap);
93
+
94
+ button {
95
+ flex-direction: column;
96
+ gap: 0;
97
+ width: 100%;
98
+ height: var(--md-comp-keypad-key-size);
99
+ border-radius: calc(var(--md-comp-keypad-key-size) / 2);
100
+ @include typescale("headline-medium");
101
+
102
+ &.wide {
103
+ grid-column: span 2;
104
+ }
105
+
106
+ > small {
107
+ @include typescale("label-small");
108
+ color: inherit;
109
+ opacity: 0.78;
110
+ }
111
+ }
112
+ }
113
+
114
+ // On-screen keyboard. The container is a docked surface; each row is a line
115
+ // of keys sized from the column count. An optional `.numbers` row of digits
116
+ // sits above the letters with shorter keys, as on a phone; `hidden` drops it.
117
+ // Rows skip `display: flex` while hidden, which would otherwise outrank the
118
+ // browser's `[hidden]` rule.
119
+ .keyboard {
120
+ --md-comp-keyboard-columns: 10;
121
+ --md-comp-keyboard-gap: 6px;
122
+ --md-comp-keyboard-key-height: #{rem(48px)};
123
+ --md-comp-keyboard-number-key-height: #{rem(40px)};
124
+ --md-comp-keyboard-key-shape: var(--md-sys-shape-corner-medium);
125
+ --md-comp-keypad-key-pressed-shape: 6px;
126
+ --md-comp-keyboard-container-color: var(--md-sys-color-surface-container);
127
+ --md-comp-keyboard-container-shape: var(--md-sys-shape-corner-large);
128
+
129
+ display: flex;
130
+ flex-direction: column;
131
+ gap: 8px;
132
+ padding: 8px;
133
+ border-radius: var(--md-comp-keyboard-container-shape);
134
+ background-color: var(--md-comp-keyboard-container-color);
135
+
136
+ > :not([hidden]) {
137
+ --_unit: calc((100% - (var(--md-comp-keyboard-columns) - 1) * var(--md-comp-keyboard-gap)) / var(--md-comp-keyboard-columns));
138
+ display: flex;
139
+ justify-content: center;
140
+ gap: var(--md-comp-keyboard-gap);
141
+ }
142
+
143
+ button {
144
+ flex: 0 1 var(--_unit);
145
+ height: var(--md-comp-keyboard-key-height);
146
+ border-radius: var(--md-comp-keyboard-key-shape);
147
+ @include typescale("title-medium");
148
+
149
+ &[data-key] {
150
+ flex-basis: calc(1.5 * var(--_unit) + 0.5 * var(--md-comp-keyboard-gap));
151
+ }
152
+
153
+ &[value=" "] {
154
+ flex-grow: 1;
155
+ }
156
+ }
157
+
158
+ > .numbers button {
159
+ height: var(--md-comp-keyboard-number-key-height);
160
+ }
161
+
162
+ // Shift or Caps Lock shows capitals on the character keys while latched.
163
+ &:has(:is([data-key="Shift"], [data-key="CapsLock"])[aria-pressed="true"]) button[value] {
164
+ text-transform: uppercase;
165
+ }
166
+ }
167
+
168
+ // Forced colors paint the keys and the keyboard's container as Canvas.
169
+ @media (forced-colors: active) {
170
+ :is(.keypad, .keyboard) button,
171
+ .keyboard {
172
+ outline: 1px solid ButtonText;
173
+ outline-offset: -1px;
174
+ }
175
+
176
+ // The fill that marks the main key, such as Call, is dropped too, so a
177
+ // thicker edge sets it apart, as a default button's is in high contrast.
178
+ :is(.keypad, .keyboard) button.filled {
179
+ outline-width: 3px;
180
+ outline-offset: -3px;
181
+ }
182
+ }
@@ -78,12 +78,12 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
78
78
  display: grid;
79
79
  flex: none;
80
80
  place-items: center;
81
- width: 40px;
82
- height: 40px;
83
- border-radius: 12px;
81
+ width: rem(40px);
82
+ height: rem(40px);
83
+ border-radius: var(--md-sys-shape-corner-medium);
84
84
  background-color: var(--md-comp-kpi-icon-container-color);
85
85
  color: var(--md-comp-kpi-icon-color);
86
- font-size: 24px;
86
+ font-size: rem(24px);
87
87
  }
88
88
 
89
89
  .kpi-value {
@@ -99,7 +99,7 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
99
99
  align-items: center;
100
100
  gap: 2px;
101
101
  padding: 2px 8px;
102
- border-radius: 8px;
102
+ border-radius: var(--md-sys-shape-corner-small);
103
103
  background-color: var(--md-comp-kpi-trend-container-color);
104
104
  color: var(--md-comp-kpi-trend-color);
105
105
  font-variant-numeric: tabular-nums;
@@ -110,12 +110,7 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
110
110
  }
111
111
 
112
112
  &:is(.up, .down)::before {
113
- content: "";
114
- flex: none;
115
- width: 18px;
116
- height: 18px;
117
- background-color: currentColor;
118
- mask: $trend-arrow center / 18px no-repeat;
113
+ @include trend-arrow;
119
114
  }
120
115
 
121
116
  &.down::before {