@expressivecss/expressive 0.16.0 → 0.17.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 (384) hide show
  1. package/CHANGELOG.md +306 -1
  2. package/README.md +1 -1
  3. package/dist/css/expressive.css +540 -646
  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/js/chunks/{chunk-PA7NU5AK.mjs → chunk-26VUH75M.mjs} +6 -3
  8. package/dist/js/chunks/chunk-26VUH75M.mjs.map +7 -0
  9. package/dist/js/chunks/{chunk-NBJAUGPP.mjs → chunk-2LFCOGC3.mjs} +12 -23
  10. package/dist/js/chunks/chunk-2LFCOGC3.mjs.map +7 -0
  11. package/dist/js/chunks/{chunk-OP43LLIC.mjs → chunk-36GELQGX.mjs} +4 -4
  12. package/dist/js/chunks/{chunk-OP43LLIC.mjs.map → chunk-36GELQGX.mjs.map} +2 -2
  13. package/dist/js/chunks/{chunk-EC26RU2D.mjs → chunk-3FKWIRHW.mjs} +6 -2
  14. package/dist/js/chunks/chunk-3FKWIRHW.mjs.map +7 -0
  15. package/dist/js/chunks/{chunk-Y6H2X7ZC.mjs → chunk-3KF65KGL.mjs} +3 -3
  16. package/dist/js/chunks/{chunk-4QUCNFSD.mjs → chunk-3KLZRQZI.mjs} +31 -10
  17. package/dist/js/chunks/chunk-3KLZRQZI.mjs.map +7 -0
  18. package/dist/js/chunks/{chunk-75E5EDJF.mjs → chunk-3XORNED5.mjs} +2 -2
  19. package/dist/js/chunks/{chunk-NNHVANQA.mjs → chunk-4WBGAQN3.mjs} +3 -3
  20. package/dist/js/chunks/{chunk-ZJNLAGY5.mjs → chunk-5F4URJHL.mjs} +2 -2
  21. package/dist/js/chunks/{chunk-ZVLOUDIJ.mjs → chunk-67UNY7RH.mjs} +50 -2
  22. package/dist/js/chunks/chunk-67UNY7RH.mjs.map +7 -0
  23. package/dist/js/chunks/{chunk-P6DRQ6KS.mjs → chunk-7CXNATJS.mjs} +6 -5
  24. package/dist/js/chunks/chunk-7CXNATJS.mjs.map +7 -0
  25. package/dist/js/chunks/{chunk-4TRZ2AER.mjs → chunk-7X44MKEQ.mjs} +15 -14
  26. package/dist/js/chunks/chunk-7X44MKEQ.mjs.map +7 -0
  27. package/dist/js/chunks/{chunk-GWZ76SR4.mjs → chunk-7ZAMOMGY.mjs} +12 -7
  28. package/dist/js/chunks/chunk-7ZAMOMGY.mjs.map +7 -0
  29. package/dist/js/chunks/{chunk-GVZQH2H5.mjs → chunk-AEG6LOAJ.mjs} +2 -2
  30. package/dist/js/chunks/{chunk-Y6TLRA3U.mjs → chunk-AQNFCJJ5.mjs} +27 -21
  31. package/dist/js/chunks/chunk-AQNFCJJ5.mjs.map +7 -0
  32. package/dist/js/chunks/{chunk-OUCHKSAW.mjs → chunk-B55LWKBM.mjs} +16 -4
  33. package/dist/js/chunks/chunk-B55LWKBM.mjs.map +7 -0
  34. package/dist/js/chunks/{chunk-AI73GJKG.mjs → chunk-BB5VXYXT.mjs} +2 -2
  35. package/dist/js/chunks/{chunk-2RLBDFH4.mjs → chunk-BDATLH3H.mjs} +4 -4
  36. package/dist/js/chunks/{chunk-2CS6TITK.mjs → chunk-CWMQOT4O.mjs} +23 -10
  37. package/dist/js/chunks/chunk-CWMQOT4O.mjs.map +7 -0
  38. package/dist/js/chunks/{chunk-ZKWUWBUB.mjs → chunk-CY2CTOVM.mjs} +2 -2
  39. package/dist/js/chunks/{chunk-CSYWKEK3.mjs → chunk-DWA5UYLJ.mjs} +58 -27
  40. package/dist/js/chunks/chunk-DWA5UYLJ.mjs.map +7 -0
  41. package/dist/js/chunks/{chunk-CMGXGYUC.mjs → chunk-EB2V4OKL.mjs} +14 -9
  42. package/dist/js/chunks/chunk-EB2V4OKL.mjs.map +7 -0
  43. package/dist/js/chunks/{chunk-Z4GICXR2.mjs → chunk-EWO662ZC.mjs} +5 -7
  44. package/dist/js/chunks/chunk-EWO662ZC.mjs.map +7 -0
  45. package/dist/js/chunks/{chunk-VGY4M57S.mjs → chunk-F7LAKFMX.mjs} +67 -34
  46. package/dist/js/chunks/chunk-F7LAKFMX.mjs.map +7 -0
  47. package/dist/js/chunks/{chunk-67ZPPKXS.mjs → chunk-FNIIH2LU.mjs} +3 -3
  48. package/dist/js/chunks/chunk-GE3YMFS6.mjs +15 -0
  49. package/dist/js/chunks/chunk-GE3YMFS6.mjs.map +7 -0
  50. package/dist/js/chunks/{chunk-DZYVU75J.mjs → chunk-GFWYMWYN.mjs} +18 -14
  51. package/dist/js/chunks/chunk-GFWYMWYN.mjs.map +7 -0
  52. package/dist/js/chunks/{chunk-3L3QIYLC.mjs → chunk-H5ISU45X.mjs} +8 -6
  53. package/dist/js/chunks/chunk-H5ISU45X.mjs.map +7 -0
  54. package/dist/js/chunks/{chunk-QXKWVHBD.mjs → chunk-H6YIKFAQ.mjs} +67 -46
  55. package/dist/js/chunks/chunk-H6YIKFAQ.mjs.map +7 -0
  56. package/dist/js/chunks/{chunk-KZPSAXIU.mjs → chunk-HEH7E3KO.mjs} +22 -12
  57. package/dist/js/chunks/chunk-HEH7E3KO.mjs.map +7 -0
  58. package/dist/js/chunks/{chunk-T3BNSRP3.mjs → chunk-HQRLBTNM.mjs} +3 -3
  59. package/dist/js/chunks/{chunk-NAC72P7R.mjs → chunk-I2F7MLUU.mjs} +2 -2
  60. package/dist/js/chunks/{chunk-ZM3XBHWV.mjs → chunk-IQOTGGHX.mjs} +86 -35
  61. package/dist/js/chunks/chunk-IQOTGGHX.mjs.map +7 -0
  62. package/dist/js/chunks/{chunk-QACZ6TUP.mjs → chunk-JH3YWKA6.mjs} +5 -4
  63. package/dist/js/chunks/chunk-JH3YWKA6.mjs.map +7 -0
  64. package/dist/js/chunks/chunk-JOLJAYIJ.mjs +7 -0
  65. package/dist/js/chunks/{chunk-4IKVPCSU.mjs.map → chunk-JOLJAYIJ.mjs.map} +1 -1
  66. package/dist/js/chunks/{chunk-BPF3I2MN.mjs → chunk-KOTGMCMI.mjs} +9 -2
  67. package/dist/js/chunks/chunk-KOTGMCMI.mjs.map +7 -0
  68. package/dist/js/chunks/{chunk-ANKFWNWT.mjs → chunk-LC4O5LFS.mjs} +3 -3
  69. package/dist/js/chunks/{chunk-4PIXLDNJ.mjs → chunk-LEF33SCP.mjs} +2 -2
  70. package/dist/js/chunks/{chunk-ILDRRG7T.mjs → chunk-LFORZRPH.mjs} +3 -3
  71. package/dist/js/chunks/{chunk-Z4OARDZ7.mjs → chunk-LWLNV5EC.mjs} +26 -17
  72. package/dist/js/chunks/chunk-LWLNV5EC.mjs.map +7 -0
  73. package/dist/js/chunks/{chunk-WU7XJ4RR.mjs → chunk-LXRHUQAX.mjs} +66 -25
  74. package/dist/js/chunks/chunk-LXRHUQAX.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-VMY55K2X.mjs → chunk-MA2SZZFB.mjs} +11 -7
  76. package/dist/js/chunks/chunk-MA2SZZFB.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-VJVQIXHC.mjs → chunk-MDBZAMIV.mjs} +8 -10
  78. package/dist/js/chunks/chunk-MDBZAMIV.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-4EWGD4V2.mjs → chunk-NODZ5VAD.mjs} +2 -2
  80. package/dist/js/chunks/{chunk-UGJHCHXG.mjs → chunk-O2WJB6TH.mjs} +79 -55
  81. package/dist/js/chunks/chunk-O2WJB6TH.mjs.map +7 -0
  82. package/dist/js/chunks/{chunk-7YZ5CN3V.mjs → chunk-PCABY5BN.mjs} +5 -3
  83. package/dist/js/chunks/chunk-PCABY5BN.mjs.map +7 -0
  84. package/dist/js/chunks/{chunk-X7SDA2J5.mjs → chunk-PWKYVMND.mjs} +9 -5
  85. package/dist/js/chunks/{chunk-X7SDA2J5.mjs.map → chunk-PWKYVMND.mjs.map} +2 -2
  86. package/dist/js/chunks/{chunk-SPPHF7YZ.mjs → chunk-QHZZT7YO.mjs} +35 -14
  87. package/dist/js/chunks/chunk-QHZZT7YO.mjs.map +7 -0
  88. package/dist/js/chunks/{chunk-LDXCC2L3.mjs → chunk-QND56EW2.mjs} +5 -4
  89. package/dist/js/chunks/chunk-QND56EW2.mjs.map +7 -0
  90. package/dist/js/chunks/{chunk-NVQ5EHCU.mjs → chunk-QNODAANY.mjs} +4 -4
  91. package/dist/js/chunks/{chunk-7NLUI3RR.mjs → chunk-QRO5FV3I.mjs} +23 -13
  92. package/dist/js/chunks/chunk-QRO5FV3I.mjs.map +7 -0
  93. package/dist/js/chunks/{chunk-FCNF4GRJ.mjs → chunk-R7A7JRC5.mjs} +6 -11
  94. package/dist/js/chunks/chunk-R7A7JRC5.mjs.map +7 -0
  95. package/dist/js/chunks/{chunk-S23RJ3XY.mjs → chunk-RKG2CBFE.mjs} +4 -16
  96. package/dist/js/chunks/chunk-RKG2CBFE.mjs.map +7 -0
  97. package/dist/js/chunks/{chunk-6FSEUFVW.mjs → chunk-RSNS5OYS.mjs} +6 -6
  98. package/dist/js/chunks/chunk-RSNS5OYS.mjs.map +7 -0
  99. package/dist/js/chunks/{chunk-ROH2HDB4.mjs → chunk-RUDYMEJ3.mjs} +2 -2
  100. package/dist/js/chunks/{chunk-BIGU5RCJ.mjs → chunk-STJR62SU.mjs} +13 -5
  101. package/dist/js/chunks/chunk-STJR62SU.mjs.map +7 -0
  102. package/dist/js/chunks/{chunk-752ADW4M.mjs → chunk-SUSD4UTN.mjs} +27 -32
  103. package/dist/js/chunks/chunk-SUSD4UTN.mjs.map +7 -0
  104. package/dist/js/chunks/{chunk-B7DQFHA5.mjs → chunk-SYBOA5HC.mjs} +7 -12
  105. package/dist/js/chunks/chunk-SYBOA5HC.mjs.map +7 -0
  106. package/dist/js/chunks/{chunk-TFABTUAZ.mjs → chunk-T4MOBP3J.mjs} +2 -2
  107. package/dist/js/chunks/{chunk-GCWWEZKO.mjs → chunk-TM7HPGTV.mjs} +3 -3
  108. package/dist/js/chunks/{chunk-5KIHWJI2.mjs → chunk-TMQDZSDC.mjs} +34 -12
  109. package/dist/js/chunks/chunk-TMQDZSDC.mjs.map +7 -0
  110. package/dist/js/chunks/{chunk-ZO6ZLHFF.mjs → chunk-TVSX5YA2.mjs} +3 -3
  111. package/dist/js/chunks/{chunk-INLZWHLY.mjs → chunk-UHO5CV6K.mjs} +2 -2
  112. package/dist/js/chunks/{chunk-INLZWHLY.mjs.map → chunk-UHO5CV6K.mjs.map} +2 -2
  113. package/dist/js/chunks/{chunk-7YQBHTK3.mjs → chunk-UKCNELUN.mjs} +6 -8
  114. package/dist/js/chunks/chunk-UKCNELUN.mjs.map +7 -0
  115. package/dist/js/chunks/{chunk-VH4BMAZS.mjs → chunk-UKQK5GWR.mjs} +13 -13
  116. package/dist/js/chunks/chunk-UKQK5GWR.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-OYNUDOHR.mjs → chunk-UTSLYQ65.mjs} +7 -6
  118. package/dist/js/chunks/{chunk-OYNUDOHR.mjs.map → chunk-UTSLYQ65.mjs.map} +2 -2
  119. package/dist/js/chunks/{chunk-7W7TV6NY.mjs → chunk-VS5OJBOD.mjs} +2 -2
  120. package/dist/js/chunks/{chunk-7W7TV6NY.mjs.map → chunk-VS5OJBOD.mjs.map} +2 -2
  121. package/dist/js/chunks/{chunk-KYIEG4U3.mjs → chunk-VZMROW5A.mjs} +43 -14
  122. package/dist/js/chunks/chunk-VZMROW5A.mjs.map +7 -0
  123. package/dist/js/chunks/{chunk-VFV75DHF.mjs → chunk-XB6Y7P5W.mjs} +11 -12
  124. package/dist/js/chunks/chunk-XB6Y7P5W.mjs.map +7 -0
  125. package/dist/js/chunks/{chunk-CZSQHXEV.mjs → chunk-XDAMOMVD.mjs} +20 -21
  126. package/dist/js/chunks/chunk-XDAMOMVD.mjs.map +7 -0
  127. package/dist/js/chunks/{chunk-EVCVFEV3.mjs → chunk-XJPMW5SP.mjs} +21 -35
  128. package/dist/js/chunks/chunk-XJPMW5SP.mjs.map +7 -0
  129. package/dist/js/chunks/{chunk-VR3L2WN5.mjs → chunk-YKANQILZ.mjs} +7 -6
  130. package/dist/js/chunks/chunk-YKANQILZ.mjs.map +7 -0
  131. package/dist/js/chunks/{chunk-JUKBBN6P.mjs → chunk-YLZOJLDI.mjs} +2 -2
  132. package/dist/js/chunks/{chunk-U4B3VHFS.mjs → chunk-ZK7YY322.mjs} +28 -21
  133. package/dist/js/chunks/chunk-ZK7YY322.mjs.map +7 -0
  134. package/dist/js/expressive.cjs +2739 -2387
  135. package/dist/js/expressive.cjs.map +4 -4
  136. package/dist/js/expressive.js +2739 -2387
  137. package/dist/js/expressive.js.map +4 -4
  138. package/dist/js/expressive.min.js +7 -7
  139. package/dist/js/expressive.min.js.map +4 -4
  140. package/dist/js/expressive.mjs +76 -75
  141. package/dist/js/expressive.mjs.map +1 -1
  142. package/dist/js/internal/behaviors/bottomSheets.mjs +3 -3
  143. package/dist/js/internal/behaviors/copy.mjs +3 -3
  144. package/dist/js/internal/behaviors/dataTables.mjs +2 -4
  145. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  146. package/dist/js/internal/behaviors/forms.mjs +2 -2
  147. package/dist/js/internal/behaviors/imageCompare.mjs +2 -2
  148. package/dist/js/internal/behaviors/lists.mjs +2 -2
  149. package/dist/js/internal/behaviors/paneResize.mjs +2 -2
  150. package/dist/js/internal/behaviors/sheetDrag.mjs +2 -2
  151. package/dist/js/internal/behaviors/sideSheets.mjs +3 -3
  152. package/dist/js/internal/behaviors/sortable.mjs +2 -2
  153. package/dist/js/internal/behaviors/theme.mjs +2 -2
  154. package/dist/js/internal/behaviors/tour.mjs +2 -2
  155. package/dist/js/internal/behaviors/transferList.mjs +2 -2
  156. package/dist/js/internal/components/appBar.mjs +3 -3
  157. package/dist/js/internal/components/autocomplete.mjs +5 -4
  158. package/dist/js/internal/components/backToTop.mjs +3 -3
  159. package/dist/js/internal/components/barChart.mjs +5 -5
  160. package/dist/js/internal/components/buttonGroup.mjs +3 -3
  161. package/dist/js/internal/components/buttons.mjs +3 -3
  162. package/dist/js/internal/components/cards.mjs +3 -3
  163. package/dist/js/internal/components/carousel.mjs +3 -3
  164. package/dist/js/internal/components/cascader.mjs +4 -4
  165. package/dist/js/internal/components/characterCounter.mjs +3 -3
  166. package/dist/js/internal/components/chips.mjs +7 -6
  167. package/dist/js/internal/components/colorPicker.mjs +3 -3
  168. package/dist/js/internal/components/columnChart.mjs +4 -4
  169. package/dist/js/internal/components/commandPalette.mjs +3 -3
  170. package/dist/js/internal/components/confetti.mjs +3 -3
  171. package/dist/js/internal/components/currencyInput.mjs +3 -3
  172. package/dist/js/internal/components/datepicker.mjs +8 -7
  173. package/dist/js/internal/components/expandingCard.mjs +3 -3
  174. package/dist/js/internal/components/funnelChart.mjs +4 -4
  175. package/dist/js/internal/components/heatmapChart.mjs +4 -4
  176. package/dist/js/internal/components/hoverCard.mjs +3 -3
  177. package/dist/js/internal/components/index.mjs +60 -59
  178. package/dist/js/internal/components/inputMask.mjs +3 -3
  179. package/dist/js/internal/components/keypad.mjs +3 -3
  180. package/dist/js/internal/components/lightbox.mjs +3 -3
  181. package/dist/js/internal/components/lineChart.mjs +23 -7
  182. package/dist/js/internal/components/loadingOverlay.mjs +3 -3
  183. package/dist/js/internal/components/mapView.mjs +3 -3
  184. package/dist/js/internal/components/menu.mjs +3 -3
  185. package/dist/js/internal/components/menubar.mjs +4 -4
  186. package/dist/js/internal/components/messageScroller.mjs +3 -3
  187. package/dist/js/internal/components/mixedChart.mjs +5 -5
  188. package/dist/js/internal/components/navigationRail.mjs +3 -3
  189. package/dist/js/internal/components/particles.mjs +3 -3
  190. package/dist/js/internal/components/pieChart.mjs +4 -4
  191. package/dist/js/internal/components/pullToRefresh.mjs +3 -3
  192. package/dist/js/internal/components/questionnaire.mjs +3 -3
  193. package/dist/js/internal/components/radarChart.mjs +4 -4
  194. package/dist/js/internal/components/radialChart.mjs +4 -4
  195. package/dist/js/internal/components/registry.mjs +59 -58
  196. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  197. package/dist/js/internal/components/sankeyChart.mjs +4 -4
  198. package/dist/js/internal/components/scatterChart.mjs +4 -4
  199. package/dist/js/internal/components/scrollspy.mjs +3 -3
  200. package/dist/js/internal/components/select.mjs +5 -4
  201. package/dist/js/internal/components/showMore.mjs +3 -3
  202. package/dist/js/internal/components/slider.mjs +3 -3
  203. package/dist/js/internal/components/snackbar.mjs +2 -2
  204. package/dist/js/internal/components/swipeActions.mjs +3 -3
  205. package/dist/js/internal/components/tabs.mjs +3 -3
  206. package/dist/js/internal/components/timepicker.mjs +5 -5
  207. package/dist/js/internal/components/tooltip.mjs +3 -3
  208. package/dist/js/internal/components/treeSelect.mjs +6 -5
  209. package/dist/js/internal/components/treemapChart.mjs +4 -4
  210. package/dist/js/internal/core/component.mjs +6 -4
  211. package/dist/js/internal/core/formControl.mjs +2 -2
  212. package/dist/js/internal/core/imageURL.mjs +7 -0
  213. package/dist/js/internal/core/imageURL.mjs.map +7 -0
  214. package/dist/js/internal/core/utils.mjs +11 -1
  215. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  216. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +3 -3
  217. package/dist/js/modular.mjs +76 -75
  218. package/dist/types/behaviors/bottomSheets.d.ts +5 -3
  219. package/dist/types/behaviors/dataTables.d.ts +2 -6
  220. package/dist/types/behaviors/forms.d.ts +7 -7
  221. package/dist/types/behaviors/imageCompare.d.ts +2 -1
  222. package/dist/types/behaviors/transferList.d.ts +2 -0
  223. package/dist/types/components/autocomplete.d.ts +14 -3
  224. package/dist/types/components/carousel.d.ts +7 -0
  225. package/dist/types/components/chips.d.ts +15 -0
  226. package/dist/types/components/colorPicker.d.ts +14 -0
  227. package/dist/types/components/currencyInput.d.ts +5 -4
  228. package/dist/types/components/datepicker.d.ts +54 -27
  229. package/dist/types/components/funnelChart.d.ts +1 -4
  230. package/dist/types/components/heatmapChart.d.ts +3 -0
  231. package/dist/types/components/hoverCard.d.ts +1 -0
  232. package/dist/types/components/inputMask.d.ts +0 -2
  233. package/dist/types/components/lineChart.d.ts +43 -5
  234. package/dist/types/components/mapView.d.ts +113 -11
  235. package/dist/types/components/menu.d.ts +14 -0
  236. package/dist/types/components/particles.d.ts +14 -1
  237. package/dist/types/components/pieChart.d.ts +1 -2
  238. package/dist/types/components/richTextEditor.d.ts +40 -9
  239. package/dist/types/components/select.d.ts +1 -3
  240. package/dist/types/components/showMore.d.ts +2 -0
  241. package/dist/types/components/slider.d.ts +0 -1
  242. package/dist/types/components/snackbar.d.ts +7 -1
  243. package/dist/types/components/tabs.d.ts +3 -3
  244. package/dist/types/components/timepicker.d.ts +15 -6
  245. package/dist/types/components/tooltip.d.ts +1 -1
  246. package/dist/types/components/treemapChart.d.ts +2 -2
  247. package/dist/types/core/component.d.ts +9 -3
  248. package/dist/types/core/imageURL.d.ts +2 -0
  249. package/dist/types/core/utils.d.ts +39 -1
  250. package/dist/types/modular.d.ts +1 -1
  251. package/dist/types/plugins/modalDisplayPlugin.d.ts +8 -1
  252. package/package.json +8 -6
  253. package/src/sass/abstracts/_mixins.scss +459 -59
  254. package/src/sass/abstracts/_variables.scss +25 -0
  255. package/src/sass/components/_accordion.scss +1 -3
  256. package/src/sass/components/_aura.scss +1 -0
  257. package/src/sass/components/_back-to-top.scss +3 -3
  258. package/src/sass/components/_bar-chart.scss +2 -83
  259. package/src/sass/components/_bottom-sheet.scss +7 -0
  260. package/src/sass/components/_breadcrumb.scss +1 -7
  261. package/src/sass/components/_button-groups.scss +15 -38
  262. package/src/sass/components/_buttons.scss +24 -74
  263. package/src/sass/components/_calendar.scss +1 -3
  264. package/src/sass/components/_carousel.scss +10 -10
  265. package/src/sass/components/_cascader.scss +3 -14
  266. package/src/sass/components/_column-chart.scss +1 -19
  267. package/src/sass/components/_confetti.scss +3 -4
  268. package/src/sass/components/_data-table.scss +10 -0
  269. package/src/sass/components/_dialog.scss +10 -18
  270. package/src/sass/components/_expanding-card.scss +1 -5
  271. package/src/sass/components/_fab-menu.scss +4 -12
  272. package/src/sass/components/_funnel-chart.scss +1 -62
  273. package/src/sass/components/_heatmap-chart.scss +2 -6
  274. package/src/sass/components/_icon-buttons.scss +1 -4
  275. package/src/sass/components/_line-chart.scss +2 -70
  276. package/src/sass/components/_map.scss +4 -0
  277. package/src/sass/components/_marquee.scss +3 -3
  278. package/src/sass/components/_mega-menu.scss +8 -17
  279. package/src/sass/components/_menu.scss +10 -11
  280. package/src/sass/components/_menubar.scss +1 -13
  281. package/src/sass/components/_mixed-chart.scss +1 -37
  282. package/src/sass/components/_navbar.scss +11 -16
  283. package/src/sass/components/_navigation-bar.scss +2 -5
  284. package/src/sass/components/_navigation-rail.scss +25 -15
  285. package/src/sass/components/_page-footer.scss +1 -3
  286. package/src/sass/components/_pagination.scss +3 -14
  287. package/src/sass/components/_panes.scss +3 -16
  288. package/src/sass/components/_particles.scss +3 -4
  289. package/src/sass/components/_pie-chart.scss +8 -70
  290. package/src/sass/components/_progress.scss +31 -13
  291. package/src/sass/components/_radar-chart.scss +2 -32
  292. package/src/sass/components/_radial-chart.scss +2 -48
  293. package/src/sass/components/_sankey-chart.scss +5 -28
  294. package/src/sass/components/_scatter-chart.scss +2 -11
  295. package/src/sass/components/_search.scss +1 -4
  296. package/src/sass/components/_side-sheet.scss +9 -14
  297. package/src/sass/components/_skeleton.scss +24 -15
  298. package/src/sass/components/_snackbar.scss +11 -13
  299. package/src/sass/components/_table_of_contents.scss +1 -3
  300. package/src/sass/components/_tabs.scss +4 -20
  301. package/src/sass/components/_timepicker.scss +2 -1
  302. package/src/sass/components/_toolbar.scss +1 -4
  303. package/src/sass/components/_tooltip.scss +9 -5
  304. package/src/sass/components/_tree.scss +5 -17
  305. package/src/sass/components/_treemap-chart.scss +2 -26
  306. package/src/sass/components/forms/_checkboxes.scss +2 -21
  307. package/src/sass/components/forms/_drop-zone.scss +1 -4
  308. package/src/sass/components/forms/_fieldset.scss +1 -4
  309. package/src/sass/components/forms/_file-input.scss +6 -0
  310. package/src/sass/components/forms/_input-fields.scss +21 -4
  311. package/src/sass/components/forms/_radio-buttons.scss +2 -24
  312. package/src/sass/components/forms/_select.scss +6 -7
  313. package/src/sass/components/forms/_slider.scss +1 -4
  314. package/src/sass/components/forms/_switches.scss +14 -21
  315. package/src/sass/utilities/_helpers.scss +1 -1
  316. package/src/sass/utilities/_visibility.scss +1 -3
  317. package/dist/js/chunks/chunk-2CS6TITK.mjs.map +0 -7
  318. package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +0 -7
  319. package/dist/js/chunks/chunk-4IKVPCSU.mjs +0 -7
  320. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +0 -7
  321. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +0 -7
  322. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +0 -7
  323. package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +0 -7
  324. package/dist/js/chunks/chunk-752ADW4M.mjs.map +0 -7
  325. package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +0 -7
  326. package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +0 -7
  327. package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +0 -7
  328. package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +0 -7
  329. package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +0 -7
  330. package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +0 -7
  331. package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +0 -7
  332. package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +0 -7
  333. package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +0 -7
  334. package/dist/js/chunks/chunk-DZYVU75J.mjs.map +0 -7
  335. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +0 -7
  336. package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +0 -7
  337. package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +0 -7
  338. package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +0 -7
  339. package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +0 -7
  340. package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +0 -7
  341. package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +0 -7
  342. package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +0 -7
  343. package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +0 -7
  344. package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +0 -7
  345. package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +0 -7
  346. package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +0 -7
  347. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +0 -7
  348. package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +0 -7
  349. package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +0 -7
  350. package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +0 -7
  351. package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +0 -7
  352. package/dist/js/chunks/chunk-VFV75DHF.mjs.map +0 -7
  353. package/dist/js/chunks/chunk-VGY4M57S.mjs.map +0 -7
  354. package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +0 -7
  355. package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +0 -7
  356. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +0 -7
  357. package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +0 -7
  358. package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +0 -7
  359. package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +0 -7
  360. package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +0 -7
  361. package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +0 -7
  362. package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +0 -7
  363. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +0 -7
  364. /package/dist/js/chunks/{chunk-Y6H2X7ZC.mjs.map → chunk-3KF65KGL.mjs.map} +0 -0
  365. /package/dist/js/chunks/{chunk-75E5EDJF.mjs.map → chunk-3XORNED5.mjs.map} +0 -0
  366. /package/dist/js/chunks/{chunk-NNHVANQA.mjs.map → chunk-4WBGAQN3.mjs.map} +0 -0
  367. /package/dist/js/chunks/{chunk-ZJNLAGY5.mjs.map → chunk-5F4URJHL.mjs.map} +0 -0
  368. /package/dist/js/chunks/{chunk-GVZQH2H5.mjs.map → chunk-AEG6LOAJ.mjs.map} +0 -0
  369. /package/dist/js/chunks/{chunk-AI73GJKG.mjs.map → chunk-BB5VXYXT.mjs.map} +0 -0
  370. /package/dist/js/chunks/{chunk-2RLBDFH4.mjs.map → chunk-BDATLH3H.mjs.map} +0 -0
  371. /package/dist/js/chunks/{chunk-ZKWUWBUB.mjs.map → chunk-CY2CTOVM.mjs.map} +0 -0
  372. /package/dist/js/chunks/{chunk-67ZPPKXS.mjs.map → chunk-FNIIH2LU.mjs.map} +0 -0
  373. /package/dist/js/chunks/{chunk-T3BNSRP3.mjs.map → chunk-HQRLBTNM.mjs.map} +0 -0
  374. /package/dist/js/chunks/{chunk-NAC72P7R.mjs.map → chunk-I2F7MLUU.mjs.map} +0 -0
  375. /package/dist/js/chunks/{chunk-ANKFWNWT.mjs.map → chunk-LC4O5LFS.mjs.map} +0 -0
  376. /package/dist/js/chunks/{chunk-4PIXLDNJ.mjs.map → chunk-LEF33SCP.mjs.map} +0 -0
  377. /package/dist/js/chunks/{chunk-ILDRRG7T.mjs.map → chunk-LFORZRPH.mjs.map} +0 -0
  378. /package/dist/js/chunks/{chunk-4EWGD4V2.mjs.map → chunk-NODZ5VAD.mjs.map} +0 -0
  379. /package/dist/js/chunks/{chunk-NVQ5EHCU.mjs.map → chunk-QNODAANY.mjs.map} +0 -0
  380. /package/dist/js/chunks/{chunk-ROH2HDB4.mjs.map → chunk-RUDYMEJ3.mjs.map} +0 -0
  381. /package/dist/js/chunks/{chunk-TFABTUAZ.mjs.map → chunk-T4MOBP3J.mjs.map} +0 -0
  382. /package/dist/js/chunks/{chunk-GCWWEZKO.mjs.map → chunk-TM7HPGTV.mjs.map} +0 -0
  383. /package/dist/js/chunks/{chunk-ZO6ZLHFF.mjs.map → chunk-TVSX5YA2.mjs.map} +0 -0
  384. /package/dist/js/chunks/{chunk-JUKBBN6P.mjs.map → chunk-YLZOJLDI.mjs.map} +0 -0
@@ -42,9 +42,7 @@
42
42
  flex-wrap: wrap;
43
43
  align-items: center;
44
44
  gap: var(--md-comp-pagination-gap);
45
- list-style: none;
46
- margin: 0;
47
- padding: 0;
45
+ @include list-reset;
48
46
  }
49
47
 
50
48
  &.nowrap,
@@ -53,10 +51,6 @@
53
51
  min-width: 0;
54
52
  overflow-x: auto;
55
53
  scrollbar-width: none;
56
-
57
- &::-webkit-scrollbar {
58
- display: none;
59
- }
60
54
  }
61
55
 
62
56
  li {
@@ -104,10 +98,7 @@
104
98
  }
105
99
 
106
100
  > #{$icon} {
107
- font-size: var(--md-comp-pagination-icon-size);
108
- width: var(--md-comp-pagination-icon-size);
109
- height: var(--md-comp-pagination-icon-size);
110
- line-height: 1;
101
+ @include icon-size(var(--md-comp-pagination-icon-size), 1);
111
102
  }
112
103
  }
113
104
 
@@ -154,10 +145,8 @@
154
145
  flex-wrap: inherit;
155
146
  align-items: center;
156
147
  gap: var(--md-comp-pagination-gap);
157
- list-style: none;
158
148
  min-width: 0;
159
- margin: 0;
160
- padding: 0;
149
+ @include list-reset;
161
150
  }
162
151
  }
163
152
  }
@@ -235,26 +235,13 @@
235
235
 
236
236
  // Header Bar (64dp height, Title Large, action icons)
237
237
  > :is(header, .pane-header) {
238
- display: flex;
239
- align-items: center;
240
- gap: 12px;
241
- flex: 0 0 auto;
242
- box-sizing: border-box;
243
- min-height: 64px;
244
- margin: 0;
238
+ @include header-bar(12px);
245
239
  padding: 8px 16px;
246
- background: none;
247
240
 
248
241
  > :is(h1, h2, h3, h4, h5, h6, .pane-title) {
249
- flex: 1 1 auto;
250
- min-width: 0;
251
- margin: 0;
242
+ @include header-bar-headline;
252
243
  padding: 0;
253
- color: var(--md-sys-color-on-surface);
254
- @include typescale("title-large");
255
- white-space: nowrap;
256
- overflow: hidden;
257
- text-overflow: ellipsis;
244
+ @include ellipsis;
258
245
  }
259
246
 
260
247
  // See _dialog: `:only-child` cannot see a text-node label, so `.button`
@@ -1,12 +1,11 @@
1
+ @use "../abstracts" as *;
2
+
1
3
  // Particles. A <canvas class="particles"> covers its nearest positioned
2
4
  // ancestor and lets clicks through to what is under it. The Particles script
3
5
  // paints the dots in the canvas's `color`.
4
6
 
5
7
  canvas.particles {
6
- position: absolute;
7
- inset: 0;
8
- width: 100%;
9
- height: 100%;
8
+ @include fill-parent;
10
9
  color: var(--md-sys-color-on-surface);
11
10
  pointer-events: none;
12
11
  }
@@ -30,23 +30,18 @@
30
30
  // --md-comp-pie-chart-on-color-1..6 on-primary, on-tertiary, on-secondary,
31
31
  // surface, surface, surface; .values text
32
32
 
33
- @include chart("pie-chart");
33
+ @include chart(
34
+ "pie-chart",
35
+ $colors: 6,
36
+ $on-colors: true,
37
+ $round: true,
38
+ $tooltip: middle,
39
+ $legend-columns: 4
40
+ );
34
41
 
35
42
  .pie-chart {
36
43
  --md-comp-pie-chart-hole: 0.6;
37
44
  --md-comp-pie-chart-gap: 1.5;
38
- // The container roles alone are 1.3:1 on the surface in light mode and
39
- // 2:1 in dark. Mixed 45% with on-surface, they keep their hue and reach
40
- // 5:1 and 6.8:1, past the 3:1 a slice needs (WCAG 1.4.11), and surface
41
- // text on them passes too.
42
- --md-comp-pie-chart-color-5: color-mix(in oklab, var(--md-sys-color-primary-container) 45%, var(--md-sys-color-on-surface));
43
- --md-comp-pie-chart-color-6: color-mix(in oklab, var(--md-sys-color-tertiary-container) 45%, var(--md-sys-color-on-surface));
44
- --md-comp-pie-chart-on-color-1: var(--md-sys-color-on-primary);
45
- --md-comp-pie-chart-on-color-2: var(--md-sys-color-on-tertiary);
46
- --md-comp-pie-chart-on-color-3: var(--md-sys-color-on-secondary);
47
- --md-comp-pie-chart-on-color-4: var(--md-sys-color-surface);
48
- --md-comp-pie-chart-on-color-5: var(--md-sys-color-surface);
49
- --md-comp-pie-chart-on-color-6: var(--md-sys-color-surface);
50
45
  // Where labels and the tooltip sit, as a share of the radius.
51
46
  --pie-chart-label-at: 0.62;
52
47
 
@@ -62,23 +57,6 @@
62
57
  }
63
58
  }
64
59
 
65
- @for $i from 1 through 6 {
66
- .pie-chart [data-series="#{$i}"] {
67
- --pie-chart-color: var(--md-comp-pie-chart-color-#{$i});
68
- --pie-chart-on-color: var(--md-comp-pie-chart-on-color-#{$i});
69
- }
70
- }
71
-
72
- .pie-chart-plot {
73
- width: min(100%, var(--md-comp-pie-chart-height));
74
- height: auto;
75
- aspect-ratio: 1;
76
- margin-inline: auto;
77
- border: 0;
78
- border-radius: 50%;
79
- background: none;
80
- }
81
-
82
60
  .pie-chart-pie {
83
61
  position: absolute;
84
62
  inset: 0;
@@ -207,14 +185,6 @@
207
185
  }
208
186
  }
209
187
 
210
- .pie-chart-tooltip {
211
- translate: 12px -50%;
212
-
213
- &.end {
214
- translate: calc(-100% - 12px) -50%;
215
- }
216
- }
217
-
218
188
  .pie-chart-total {
219
189
  position: absolute;
220
190
  inset: 0;
@@ -244,38 +214,6 @@
244
214
  display: flex;
245
215
  }
246
216
 
247
- // One row per slice: swatch, name, cell and share in aligned columns.
248
- .pie-chart-legend {
249
- display: grid;
250
- grid-template-columns: auto minmax(0, 1fr) auto auto;
251
- align-items: center;
252
- gap: 8px;
253
-
254
- > li {
255
- display: contents;
256
- }
257
-
258
- > li > span:first-child {
259
- overflow: hidden;
260
- text-overflow: ellipsis;
261
- white-space: nowrap;
262
- }
263
-
264
- > li > span:not(:first-child) {
265
- text-align: end;
266
- font-variant-numeric: tabular-nums;
267
- }
268
-
269
- > li > span:nth-child(2) {
270
- color: var(--md-sys-color-on-surface);
271
- font-weight: 500;
272
- }
273
- }
274
-
275
- .pie-chart.sparkline .pie-chart-plot {
276
- margin-inline: 0;
277
- }
278
-
279
217
  @media (forced-colors: active) {
280
218
  .pie-chart-pie {
281
219
  forced-color-adjust: none;
@@ -62,6 +62,18 @@
62
62
  writing-mode: horizontal-tb;
63
63
  }
64
64
 
65
+ // Two mirrored segments on a triple-width fill. Logical positioning shows
66
+ // the first third in LTR and the last in RTL, including CSS direction overrides.
67
+ // The middle third keeps the returning segments outside the visible track.
68
+ @function _progress-segments($start, $end) {
69
+ $start: math.div($start, 3);
70
+ $end: math.div($end, 3);
71
+ @return polygon(
72
+ $start 0, $start 100%, $end 100%, $end 0,
73
+ (100% - $end) 0, (100% - $end) 100%, (100% - $start) 100%, (100% - $start) 0
74
+ );
75
+ }
76
+
65
77
  progress.progress {
66
78
  vertical-align: baseline;
67
79
 
@@ -83,12 +95,12 @@ progress.progress {
83
95
  // Firefox draws no ::before/::after on <progress> and paints the track as the
84
96
  // element's own background, so its indeterminate bar is the native one. It
85
97
  // places that bar from the physical left and reads only margin-left, which is
86
- // margin-inline-end in RTL, so both inline margins move. Keep this out of any
87
- // -webkit- selector list: Chromium drops a list naming a pseudo-element it
88
- // does not know.
98
+ // margin-inline-end in RTL. Offset the fixed fill to show its last third.
99
+ // Keep this out of any -webkit- selector list: Chromium drops a list naming
100
+ // a pseudo-element it does not know.
89
101
  &:indeterminate::-moz-progress-bar {
90
- width: 40%;
91
- margin-inline-end: 60%;
102
+ width: 300%;
103
+ margin-inline-end: -200%;
92
104
  animation: progress-indeterminate-moz 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
93
105
  }
94
106
  }
@@ -135,8 +147,8 @@ progress.progress.wavy::-moz-progress-bar {
135
147
  }
136
148
 
137
149
  @keyframes progress-indeterminate-moz {
138
- from { margin-inline-start: -40%; margin-inline-end: 100%; }
139
- to { margin-inline-start: 100%; margin-inline-end: -40%; }
150
+ from { clip-path: _progress-segments(-40%, 0%); }
151
+ to { clip-path: _progress-segments(100%, 140%); }
140
152
  }
141
153
 
142
154
  .progress > .determinate {
@@ -166,7 +178,9 @@ $_bare: ".progress:not(:is(progress)):not(.circular):not(:has(> .determinate, >
166
178
  }
167
179
 
168
180
  &:not([style*="--md-comp-progress-value"])::after {
181
+ // Auto width prevents a transition from the oversized fill to a known value.
169
182
  width: auto;
183
+ inset-inline-end: -200%;
170
184
  animation: preloader-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
171
185
  }
172
186
  }
@@ -187,6 +201,8 @@ progress.progress:indeterminate {
187
201
  position: absolute;
188
202
  inset-block: 0;
189
203
  inset-inline: 0 auto;
204
+ width: 300%;
205
+ clip-path: inset(50%);
190
206
  background-color: var(--md-comp-progress-indicator);
191
207
  }
192
208
 
@@ -201,15 +217,13 @@ progress.progress:indeterminate {
201
217
  }
202
218
 
203
219
  @keyframes preloader-indeterminate {
204
- 0% { inset-inline-start: -35%; inset-inline-end: 100%; }
205
- 60% { inset-inline-start: 100%; inset-inline-end: -90%; }
206
- 100% { inset-inline-start: 100%; inset-inline-end: -90%; }
220
+ 0% { clip-path: _progress-segments(-35%, 0%); }
221
+ 60%, 100% { clip-path: _progress-segments(100%, 190%); }
207
222
  }
208
223
 
209
224
  @keyframes preloader-indeterminate-short {
210
- 0% { inset-inline-start: -200%; inset-inline-end: 100%; }
211
- 60% { inset-inline-start: 107%; inset-inline-end: -8%; }
212
- 100% { inset-inline-start: 107%; inset-inline-end: -8%; }
225
+ 0% { clip-path: _progress-segments(-200%, 0%); }
226
+ 60%, 100% { clip-path: _progress-segments(107%, 108%); }
213
227
  }
214
228
 
215
229
  // ---------------------------------------------------------------------------
@@ -335,6 +349,7 @@ progress.progress:indeterminate {
335
349
  progress.progress:indeterminate::-moz-progress-bar {
336
350
  background-color: CanvasText;
337
351
  width: 40%;
352
+ margin-inline-end: 60%;
338
353
  animation: none;
339
354
  }
340
355
 
@@ -391,9 +406,12 @@ progress.progress:indeterminate {
391
406
  progress.progress:indeterminate::after,
392
407
  #{$_bare}:not([style*="--md-comp-progress-value"])::after {
393
408
  width: 40%;
409
+ clip-path: none;
394
410
  }
395
411
 
396
412
  progress.progress:indeterminate::-moz-progress-bar {
413
+ width: 40%;
414
+ margin-inline-end: 60%;
397
415
  animation: none;
398
416
  }
399
417
  }
@@ -28,7 +28,7 @@
28
28
  // --md-comp-radar-chart-color-1..4 primary, tertiary, secondary,
29
29
  // on-surface-variant
30
30
 
31
- @include chart("radar-chart");
31
+ @include chart("radar-chart", $grid: false, $tooltip: middle, $cursor: line);
32
32
  @include chart-axis("radar-chart", $beside: false);
33
33
 
34
34
  .radar-chart {
@@ -58,9 +58,7 @@
58
58
  2 * var(--md-sys-typescale-body-small-line-height) + var(--radar-chart-label-offset)
59
59
  )
60
60
  auto;
61
- border: 0;
62
61
  border-radius: 50%;
63
- background: none;
64
62
  }
65
63
 
66
64
  // .axis rings the grid at round values and labels each ring up the top
@@ -144,9 +142,7 @@
144
142
  // Each label sits just past its spoke's tip and leans away from the middle:
145
143
  // right of a spoke on the right, above the top one, and so on.
146
144
  .radar-chart-axes {
147
- margin: 0;
148
- padding: 0;
149
- list-style: none;
145
+ @include list-reset;
150
146
  color: var(--md-sys-color-on-surface-variant);
151
147
  @include typescale("body-small");
152
148
 
@@ -169,22 +165,9 @@
169
165
  // places the points on it by their share of its length from the rim.
170
166
  .radar-chart-cursor {
171
167
  inset: auto auto 50% 50%;
172
- width: 1px;
173
168
  height: 50%;
174
- background-color: var(--md-sys-color-outline);
175
169
  transform-origin: bottom;
176
170
  rotate: calc(var(--turn, 0) * 1turn);
177
-
178
- > span {
179
- position: absolute;
180
- left: 0;
181
- width: 10px;
182
- height: 10px;
183
- border: 2px solid var(--md-sys-color-surface);
184
- border-radius: 50%;
185
- background-color: var(--radar-chart-color);
186
- translate: -50% -50%;
187
- }
188
171
  }
189
172
 
190
173
  // Past the spoke's tip, on the side away from the middle.
@@ -193,11 +176,6 @@
193
176
 
194
177
  left: calc(50% + sin(var(--radar-chart-angle)) * 50%);
195
178
  top: calc(50% - cos(var(--radar-chart-angle)) * 50%);
196
- translate: 12px -50%;
197
-
198
- &.end {
199
- translate: calc(-100% - 12px) -50%;
200
- }
201
179
  }
202
180
 
203
181
  .radar-chart-legend {
@@ -222,12 +200,4 @@
222
200
  .radar-chart-axes {
223
201
  forced-color-adjust: auto;
224
202
  }
225
-
226
- .radar-chart-cursor {
227
- background-color: CanvasText;
228
- }
229
-
230
- .radar-chart-cursor > span {
231
- forced-color-adjust: none;
232
- }
233
203
  }
@@ -31,7 +31,7 @@
31
31
  // --md-comp-radial-chart-color-1..4 primary, tertiary, secondary,
32
32
  // on-surface-variant
33
33
 
34
- @include chart("radial-chart");
34
+ @include chart("radial-chart", $round: true, $tooltip: middle, $legend-columns: 3);
35
35
 
36
36
  .radial-chart {
37
37
  --md-comp-radial-chart-thickness: 8;
@@ -41,16 +41,6 @@
41
41
  gap: 16px;
42
42
  }
43
43
 
44
- .radial-chart-plot {
45
- width: min(100%, var(--md-comp-radial-chart-height));
46
- height: auto;
47
- aspect-ratio: 1;
48
- margin-inline: auto;
49
- border: 0;
50
- border-radius: 50%;
51
- background: none;
52
- }
53
-
54
44
  .radial-chart.gauge .radial-chart-plot {
55
45
  aspect-ratio: 2;
56
46
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
@@ -175,14 +165,12 @@
175
165
  top: var(--radial-chart-at, 50%);
176
166
  right: calc(50% + 4px);
177
167
  max-width: calc(50% - 8px);
178
- overflow: hidden;
168
+ @include ellipsis;
179
169
  translate: 0 -50%;
180
170
  color: var(--md-sys-color-on-surface-variant);
181
171
  @include typescale("label-medium");
182
172
  font-size: min(var(--md-sys-typescale-label-medium-font-size), var(--radial-chart-step, 10) * 0.6cqw);
183
173
  line-height: 1.2;
184
- text-overflow: ellipsis;
185
- white-space: nowrap;
186
174
  }
187
175
 
188
176
  // A gauge's names hang under its base line, a row each with the innermost
@@ -206,14 +194,6 @@
206
194
  line-height: var(--md-sys-typescale-label-medium-line-height);
207
195
  }
208
196
 
209
- .radial-chart-tooltip {
210
- translate: 12px -50%;
211
-
212
- &.end {
213
- translate: calc(-100% - 12px) -50%;
214
- }
215
- }
216
-
217
197
  // The middle, inside the innermost ring; a gauge's sits on its base line.
218
198
  .radial-chart-total {
219
199
  position: absolute;
@@ -244,35 +224,9 @@
244
224
  justify-content: end;
245
225
  }
246
226
 
247
- // One row per ring: swatch, name and cell in aligned columns.
248
- .radial-chart-legend {
249
- display: grid;
250
- grid-template-columns: auto minmax(0, 1fr) auto;
251
- align-items: center;
252
- gap: 8px;
253
-
254
- > li {
255
- display: contents;
256
- }
257
-
258
- > li > span:first-child {
259
- overflow: hidden;
260
- text-overflow: ellipsis;
261
- white-space: nowrap;
262
- }
263
-
264
- > li > span:last-child {
265
- text-align: end;
266
- color: var(--md-sys-color-on-surface);
267
- font-weight: 500;
268
- font-variant-numeric: tabular-nums;
269
- }
270
- }
271
-
272
227
  .radial-chart.sparkline .radial-chart-plot {
273
228
  // A set width, so the chart keeps its size as a flex item.
274
229
  width: var(--md-comp-radial-chart-height);
275
- margin-inline: 0;
276
230
  }
277
231
 
278
232
  @media (forced-colors: active) {
@@ -25,33 +25,16 @@
25
25
  // and tertiary-container deepened
26
26
  // toward on-surface, as the pie chart's
27
27
 
28
- @include chart("sankey-chart");
28
+ // No grid lines or baseline: the nodes and links have no value axis.
29
+ @include chart("sankey-chart", $colors: 6, $grid: false, $tooltip: middle);
29
30
 
30
31
  .sankey-chart {
31
32
  --md-comp-sankey-chart-link-opacity: 0.4;
32
- --md-comp-sankey-chart-color-5: color-mix(in oklab, var(--md-sys-color-primary-container) 45%, var(--md-sys-color-on-surface));
33
- --md-comp-sankey-chart-color-6: color-mix(in oklab, var(--md-sys-color-tertiary-container) 45%, var(--md-sys-color-on-surface));
34
33
  }
35
34
 
36
- // chart() sets colors 1 to 4.
37
- @for $i from 5 through 6 {
38
- .sankey-chart [data-series="#{$i}"] {
39
- --sankey-chart-color: var(--md-comp-sankey-chart-color-#{$i});
40
- }
41
- }
42
-
43
- // No grid lines or baseline: the nodes and links have no value axis.
44
- .sankey-chart-plot {
45
- border: 0;
46
- background: none;
47
-
48
- > svg {
49
- position: absolute;
50
- inset: 0;
51
- width: 100%;
52
- height: 100%;
53
- overflow: visible;
54
- }
35
+ .sankey-chart-plot > svg {
36
+ @include fill-parent;
37
+ overflow: visible;
55
38
  }
56
39
 
57
40
  .sankey-chart-node {
@@ -70,12 +53,6 @@
70
53
 
71
54
  // Level with the link's middle.
72
55
  .sankey-chart-tooltip {
73
- translate: 12px -50%;
74
-
75
- &.end {
76
- translate: calc(-100% - 12px) -50%;
77
- }
78
-
79
56
  // The value header names a column, not a node, so it has no swatch.
80
57
  > span.value::before {
81
58
  content: none;
@@ -32,7 +32,7 @@
32
32
  initial-value: 1;
33
33
  }
34
34
 
35
- @include chart("scatter-chart");
35
+ @include chart("scatter-chart", $tooltip: middle);
36
36
  @include chart-axis("scatter-chart");
37
37
 
38
38
  .scatter-chart {
@@ -41,10 +41,7 @@
41
41
  }
42
42
 
43
43
  .scatter-chart-plot > svg {
44
- position: absolute;
45
- inset: 0;
46
- width: 100%;
47
- height: 100%;
44
+ @include fill-parent;
48
45
  overflow: visible;
49
46
  }
50
47
 
@@ -130,12 +127,6 @@
130
127
  }
131
128
 
132
129
  .scatter-chart-tooltip {
133
- translate: 12px -50%;
134
-
135
- &.end {
136
- translate: calc(-100% - 12px) -50%;
137
- }
138
-
139
130
  // The x header names the axis, not a series, so it has no swatch.
140
131
  > span.x::before {
141
132
  content: none;
@@ -102,10 +102,7 @@ $_bar: ".search-bar";
102
102
 
103
103
  > #{$icon} {
104
104
  flex: 0 0 auto;
105
- font-size: var(--md-comp-search-bar-icon-size);
106
- width: var(--md-comp-search-bar-icon-size);
107
- height: var(--md-comp-search-bar-icon-size);
108
- line-height: var(--md-comp-search-bar-icon-size);
105
+ @include icon-size(var(--md-comp-search-bar-icon-size));
109
106
  color: var(--md-sys-color-on-surface);
110
107
  }
111
108
 
@@ -58,6 +58,13 @@ $_sheet: "dialog.side-sheet";
58
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;
59
59
  @include glass(var(--md-comp-side-sheet-container-color));
60
60
 
61
+ // Forced colors paint the fill as Canvas and drop the shadow, so the
62
+ // surface would blend into the page without an edge.
63
+ @media (forced-colors: active) {
64
+ outline: 1px solid CanvasText;
65
+ outline-offset: -1px;
66
+ }
67
+
61
68
  &:not(:modal) {
62
69
  z-index: var(--expressive-z-sheet);
63
70
  border-radius: 0;
@@ -98,17 +105,9 @@ $_sheet: "dialog.side-sheet";
98
105
  }
99
106
 
100
107
  > header {
101
- display: flex;
102
- align-items: center;
103
- gap: 12px;
104
- flex: 0 0 auto;
105
- box-sizing: border-box;
106
- min-height: 64px;
107
- margin: 0;
108
+ @include header-bar(12px);
108
109
  padding-block: 8px;
109
110
  padding-inline: 24px 12px;
110
- background: none;
111
- box-shadow: none;
112
111
  // A horizontal touch drag here dismisses the sheet; the browser would
113
112
  // otherwise take it as a pan and cancel the pointer.
114
113
  touch-action: pan-y;
@@ -119,12 +118,8 @@ $_sheet: "dialog.side-sheet";
119
118
  }
120
119
 
121
120
  > header > :is(h1, h2, h3, h4, h5, h6) {
122
- flex: 1 1 auto;
123
- min-width: 0;
124
- margin: 0;
121
+ @include header-bar-headline;
125
122
  padding: 0;
126
- color: var(--md-sys-color-on-surface);
127
- @include typescale("title-large");
128
123
  }
129
124
 
130
125
  > header > form {
@@ -27,20 +27,27 @@
27
27
  --md-comp-skeleton-circle-size: 40px;
28
28
 
29
29
  display: block;
30
+ position: relative;
31
+ overflow: clip;
30
32
  box-sizing: border-box;
31
33
  border-radius: var(--md-comp-skeleton-shape);
32
34
  background-color: var(--md-comp-skeleton-color);
33
- background-image: linear-gradient(
34
- 90deg,
35
- transparent 0%,
36
- var(--md-comp-skeleton-shimmer-color) 50%,
37
- transparent 100%
38
- );
39
- background-repeat: no-repeat;
40
- background-size: 50% 100%;
41
- animation: skeleton-shimmer 1.5s linear infinite;
35
+ // Transforming the gradient lets the compositor move it without repainting the fill.
36
+ &::before {
37
+ content: "";
38
+ position: absolute;
39
+ inset: 0 auto 0 0;
40
+ width: 50%;
41
+ background-image: linear-gradient(
42
+ 90deg,
43
+ transparent 0%,
44
+ var(--md-comp-skeleton-shimmer-color) 50%,
45
+ transparent 100%
46
+ );
47
+ animation: skeleton-shimmer 1.5s linear infinite;
48
+ }
42
49
 
43
- &:dir(rtl) {
50
+ &:dir(rtl)::before {
44
51
  animation-direction: reverse;
45
52
  }
46
53
 
@@ -63,9 +70,11 @@
63
70
  border-radius: 50%;
64
71
  }
65
72
 
66
- @media (prefers-reduced-motion: reduce) {
67
- animation: none;
68
- background-image: none;
73
+ @media (prefers-reduced-motion: reduce), (forced-colors: active) {
74
+ &::before {
75
+ animation: none;
76
+ background-image: none;
77
+ }
69
78
  }
70
79
 
71
80
  @media (forced-colors: active) {
@@ -74,6 +83,6 @@
74
83
  }
75
84
 
76
85
  @keyframes skeleton-shimmer {
77
- from { background-position: -100% 0; }
78
- to { background-position: 200% 0; }
86
+ from { transform: translateX(-100%); }
87
+ to { transform: translateX(200%); }
79
88
  }