@expressivecss/expressive 0.15.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 (609) hide show
  1. package/CHANGELOG.md +1807 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19176 -11958
  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-26VUH75M.mjs +102 -0
  64. package/dist/js/chunks/chunk-26VUH75M.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2LFCOGC3.mjs +233 -0
  66. package/dist/js/chunks/chunk-2LFCOGC3.mjs.map +7 -0
  67. package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-36GELQGX.mjs} +29 -46
  68. package/dist/js/chunks/chunk-36GELQGX.mjs.map +7 -0
  69. package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-3FKWIRHW.mjs} +15 -29
  70. package/dist/js/chunks/chunk-3FKWIRHW.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-3KF65KGL.mjs +209 -0
  72. package/dist/js/chunks/chunk-3KF65KGL.mjs.map +7 -0
  73. package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-3KLZRQZI.mjs} +88 -116
  74. package/dist/js/chunks/chunk-3KLZRQZI.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-3XORNED5.mjs} +3 -11
  76. package/dist/js/chunks/chunk-3XORNED5.mjs.map +7 -0
  77. package/dist/js/chunks/chunk-4WBGAQN3.mjs +113 -0
  78. package/dist/js/chunks/chunk-4WBGAQN3.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-5F4URJHL.mjs} +19 -30
  80. package/dist/js/chunks/chunk-5F4URJHL.mjs.map +7 -0
  81. package/dist/js/chunks/chunk-67UNY7RH.mjs +299 -0
  82. package/dist/js/chunks/chunk-67UNY7RH.mjs.map +7 -0
  83. package/dist/js/chunks/chunk-7CXNATJS.mjs +97 -0
  84. package/dist/js/chunks/chunk-7CXNATJS.mjs.map +7 -0
  85. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-7X44MKEQ.mjs} +43 -48
  86. package/dist/js/chunks/chunk-7X44MKEQ.mjs.map +7 -0
  87. package/dist/js/chunks/chunk-7ZAMOMGY.mjs +440 -0
  88. package/dist/js/chunks/chunk-7ZAMOMGY.mjs.map +7 -0
  89. package/dist/js/chunks/chunk-AEG6LOAJ.mjs +54 -0
  90. package/dist/js/chunks/chunk-AEG6LOAJ.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-AQNFCJJ5.mjs +135 -0
  92. package/dist/js/chunks/chunk-AQNFCJJ5.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-B55LWKBM.mjs +75 -0
  94. package/dist/js/chunks/chunk-B55LWKBM.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-BB5VXYXT.mjs +28 -0
  96. package/dist/js/chunks/chunk-BB5VXYXT.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-BDATLH3H.mjs +108 -0
  98. package/dist/js/chunks/chunk-BDATLH3H.mjs.map +7 -0
  99. package/dist/js/chunks/chunk-CWMQOT4O.mjs +232 -0
  100. package/dist/js/chunks/chunk-CWMQOT4O.mjs.map +7 -0
  101. package/dist/js/chunks/chunk-CY2CTOVM.mjs +81 -0
  102. package/dist/js/chunks/chunk-CY2CTOVM.mjs.map +7 -0
  103. package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-DWA5UYLJ.mjs} +363 -218
  104. package/dist/js/chunks/chunk-DWA5UYLJ.mjs.map +7 -0
  105. package/dist/js/chunks/chunk-EB2V4OKL.mjs +79 -0
  106. package/dist/js/chunks/chunk-EB2V4OKL.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-EWO662ZC.mjs +188 -0
  108. package/dist/js/chunks/chunk-EWO662ZC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-F7LAKFMX.mjs} +320 -141
  110. package/dist/js/chunks/chunk-F7LAKFMX.mjs.map +7 -0
  111. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-FNIIH2LU.mjs} +20 -33
  112. package/dist/js/chunks/chunk-FNIIH2LU.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-GE3YMFS6.mjs +15 -0
  114. package/dist/js/chunks/chunk-GE3YMFS6.mjs.map +7 -0
  115. package/dist/js/chunks/chunk-GFWYMWYN.mjs +125 -0
  116. package/dist/js/chunks/chunk-GFWYMWYN.mjs.map +7 -0
  117. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  118. package/dist/js/chunks/chunk-H5ISU45X.mjs +87 -0
  119. package/dist/js/chunks/chunk-H5ISU45X.mjs.map +7 -0
  120. package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-H6YIKFAQ.mjs} +311 -186
  121. package/dist/js/chunks/chunk-H6YIKFAQ.mjs.map +7 -0
  122. package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-HEH7E3KO.mjs} +155 -35
  123. package/dist/js/chunks/chunk-HEH7E3KO.mjs.map +7 -0
  124. package/dist/js/chunks/chunk-HQRLBTNM.mjs +152 -0
  125. package/dist/js/chunks/chunk-HQRLBTNM.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-I2F7MLUU.mjs +137 -0
  127. package/dist/js/chunks/chunk-I2F7MLUU.mjs.map +7 -0
  128. package/dist/js/chunks/chunk-IQOTGGHX.mjs +797 -0
  129. package/dist/js/chunks/chunk-IQOTGGHX.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-JH3YWKA6.mjs +225 -0
  131. package/dist/js/chunks/chunk-JH3YWKA6.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JOLJAYIJ.mjs +7 -0
  133. package/dist/js/chunks/chunk-JOLJAYIJ.mjs.map +7 -0
  134. package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-KOTGMCMI.mjs} +116 -24
  135. package/dist/js/chunks/chunk-KOTGMCMI.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-LC4O5LFS.mjs} +21 -45
  137. package/dist/js/chunks/chunk-LC4O5LFS.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LEF33SCP.mjs +127 -0
  139. package/dist/js/chunks/chunk-LEF33SCP.mjs.map +7 -0
  140. package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-LFORZRPH.mjs} +21 -23
  141. package/dist/js/chunks/chunk-LFORZRPH.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-LWLNV5EC.mjs +451 -0
  143. package/dist/js/chunks/chunk-LWLNV5EC.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-LXRHUQAX.mjs +491 -0
  145. package/dist/js/chunks/chunk-LXRHUQAX.mjs.map +7 -0
  146. package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-MA2SZZFB.mjs} +82 -111
  147. package/dist/js/chunks/chunk-MA2SZZFB.mjs.map +7 -0
  148. package/dist/js/chunks/chunk-MDBZAMIV.mjs +121 -0
  149. package/dist/js/chunks/chunk-MDBZAMIV.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-NODZ5VAD.mjs +75 -0
  151. package/dist/js/chunks/chunk-NODZ5VAD.mjs.map +7 -0
  152. package/dist/js/chunks/chunk-O2WJB6TH.mjs +365 -0
  153. package/dist/js/chunks/chunk-O2WJB6TH.mjs.map +7 -0
  154. package/dist/js/chunks/chunk-PCABY5BN.mjs +35 -0
  155. package/dist/js/chunks/chunk-PCABY5BN.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PWKYVMND.mjs +120 -0
  157. package/dist/js/chunks/chunk-PWKYVMND.mjs.map +7 -0
  158. package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-QHZZT7YO.mjs} +66 -38
  159. package/dist/js/chunks/chunk-QHZZT7YO.mjs.map +7 -0
  160. package/dist/js/chunks/chunk-QND56EW2.mjs +439 -0
  161. package/dist/js/chunks/chunk-QND56EW2.mjs.map +7 -0
  162. package/dist/js/chunks/chunk-QNODAANY.mjs +376 -0
  163. package/dist/js/chunks/chunk-QNODAANY.mjs.map +7 -0
  164. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-QRO5FV3I.mjs} +156 -73
  165. package/dist/js/chunks/chunk-QRO5FV3I.mjs.map +7 -0
  166. package/dist/js/chunks/chunk-R7A7JRC5.mjs +440 -0
  167. package/dist/js/chunks/chunk-R7A7JRC5.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-RKG2CBFE.mjs +74 -0
  169. package/dist/js/chunks/chunk-RKG2CBFE.mjs.map +7 -0
  170. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-RSNS5OYS.mjs} +38 -25
  171. package/dist/js/chunks/chunk-RSNS5OYS.mjs.map +7 -0
  172. package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-RUDYMEJ3.mjs} +7 -6
  173. package/dist/js/chunks/chunk-RUDYMEJ3.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-STJR62SU.mjs +161 -0
  175. package/dist/js/chunks/chunk-STJR62SU.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-SUSD4UTN.mjs +220 -0
  177. package/dist/js/chunks/chunk-SUSD4UTN.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-SYBOA5HC.mjs} +26 -48
  179. package/dist/js/chunks/chunk-SYBOA5HC.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-T4MOBP3J.mjs +108 -0
  181. package/dist/js/chunks/chunk-T4MOBP3J.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-TM7HPGTV.mjs +342 -0
  183. package/dist/js/chunks/chunk-TM7HPGTV.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-TMQDZSDC.mjs} +71 -35
  185. package/dist/js/chunks/chunk-TMQDZSDC.mjs.map +7 -0
  186. package/dist/js/chunks/chunk-TVSX5YA2.mjs +48 -0
  187. package/dist/js/chunks/chunk-TVSX5YA2.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-UHO5CV6K.mjs +80 -0
  189. package/dist/js/chunks/chunk-UHO5CV6K.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-UKCNELUN.mjs +223 -0
  191. package/dist/js/chunks/chunk-UKCNELUN.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-UKQK5GWR.mjs +167 -0
  193. package/dist/js/chunks/chunk-UKQK5GWR.mjs.map +7 -0
  194. package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-UTSLYQ65.mjs} +21 -48
  195. package/dist/js/chunks/chunk-UTSLYQ65.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-VS5OJBOD.mjs +108 -0
  197. package/dist/js/chunks/chunk-VS5OJBOD.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-VZMROW5A.mjs +759 -0
  199. package/dist/js/chunks/chunk-VZMROW5A.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  201. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  202. package/dist/js/chunks/chunk-XB6Y7P5W.mjs +69 -0
  203. package/dist/js/chunks/chunk-XB6Y7P5W.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-XDAMOMVD.mjs +226 -0
  205. package/dist/js/chunks/chunk-XDAMOMVD.mjs.map +7 -0
  206. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-XJPMW5SP.mjs} +247 -172
  207. package/dist/js/chunks/chunk-XJPMW5SP.mjs.map +7 -0
  208. package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-YKANQILZ.mjs} +16 -21
  209. package/dist/js/chunks/chunk-YKANQILZ.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-YLZOJLDI.mjs +175 -0
  211. package/dist/js/chunks/chunk-YLZOJLDI.mjs.map +7 -0
  212. package/dist/js/chunks/chunk-ZK7YY322.mjs +514 -0
  213. package/dist/js/chunks/chunk-ZK7YY322.mjs.map +7 -0
  214. package/dist/js/expressive.cjs +10266 -3628
  215. package/dist/js/expressive.cjs.map +4 -4
  216. package/dist/js/expressive.js +10266 -3628
  217. package/dist/js/expressive.js.map +4 -4
  218. package/dist/js/expressive.min.js +23 -22
  219. package/dist/js/expressive.min.js.map +4 -4
  220. package/dist/js/expressive.mjs +181 -69
  221. package/dist/js/expressive.mjs.map +2 -2
  222. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  223. package/dist/js/internal/behaviors/copy.mjs +9 -0
  224. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dataTables.mjs +8 -0
  226. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  227. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  228. package/dist/js/internal/behaviors/forms.mjs +2 -2
  229. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  230. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/lists.mjs +8 -0
  232. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  234. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  235. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  236. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  237. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  238. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/theme.mjs +8 -0
  240. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/tour.mjs +8 -0
  242. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  243. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  244. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  245. package/dist/js/internal/components/appBar.mjs +3 -2
  246. package/dist/js/internal/components/autocomplete.mjs +5 -4
  247. package/dist/js/internal/components/backToTop.mjs +9 -0
  248. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  249. package/dist/js/internal/components/barChart.mjs +5 -4
  250. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  251. package/dist/js/internal/components/buttons.mjs +3 -3
  252. package/dist/js/internal/components/cards.mjs +3 -3
  253. package/dist/js/internal/components/carousel.mjs +3 -3
  254. package/dist/js/internal/components/cascader.mjs +10 -0
  255. package/dist/js/internal/components/cascader.mjs.map +7 -0
  256. package/dist/js/internal/components/characterCounter.mjs +3 -2
  257. package/dist/js/internal/components/chips.mjs +7 -5
  258. package/dist/js/internal/components/colorPicker.mjs +9 -0
  259. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  260. package/dist/js/internal/components/columnChart.mjs +4 -3
  261. package/dist/js/internal/components/commandPalette.mjs +3 -3
  262. package/dist/js/internal/components/confetti.mjs +3 -2
  263. package/dist/js/internal/components/currencyInput.mjs +9 -0
  264. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  265. package/dist/js/internal/components/datepicker.mjs +12 -8
  266. package/dist/js/internal/components/expandingCard.mjs +3 -3
  267. package/dist/js/internal/components/funnelChart.mjs +10 -0
  268. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  269. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  270. package/dist/js/internal/components/hoverCard.mjs +9 -0
  271. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  272. package/dist/js/internal/components/index.mjs +131 -65
  273. package/dist/js/internal/components/inputMask.mjs +9 -0
  274. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  275. package/dist/js/internal/components/keypad.mjs +3 -3
  276. package/dist/js/internal/components/lightbox.mjs +3 -3
  277. package/dist/js/internal/components/lineChart.mjs +41 -4
  278. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  279. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  280. package/dist/js/internal/components/mapView.mjs +3 -3
  281. package/dist/js/internal/components/menu.mjs +3 -3
  282. package/dist/js/internal/components/menubar.mjs +10 -0
  283. package/dist/js/internal/components/menubar.mjs.map +7 -0
  284. package/dist/js/internal/components/messageScroller.mjs +3 -3
  285. package/dist/js/internal/components/mixedChart.mjs +5 -4
  286. package/dist/js/internal/components/navigationRail.mjs +3 -2
  287. package/dist/js/internal/components/particles.mjs +3 -2
  288. package/dist/js/internal/components/pieChart.mjs +4 -3
  289. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  290. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  291. package/dist/js/internal/components/questionnaire.mjs +3 -3
  292. package/dist/js/internal/components/radarChart.mjs +4 -3
  293. package/dist/js/internal/components/radialChart.mjs +4 -3
  294. package/dist/js/internal/components/registry.mjs +60 -41
  295. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  296. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  297. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scatterChart.mjs +10 -0
  299. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  300. package/dist/js/internal/components/scrollspy.mjs +3 -2
  301. package/dist/js/internal/components/select.mjs +5 -4
  302. package/dist/js/internal/components/showMore.mjs +9 -0
  303. package/dist/js/internal/components/showMore.mjs.map +7 -0
  304. package/dist/js/internal/components/slider.mjs +3 -3
  305. package/dist/js/internal/components/snackbar.mjs +2 -2
  306. package/dist/js/internal/components/swipeActions.mjs +9 -0
  307. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  308. package/dist/js/internal/components/tabs.mjs +3 -4
  309. package/dist/js/internal/components/timepicker.mjs +5 -4
  310. package/dist/js/internal/components/tooltip.mjs +3 -3
  311. package/dist/js/internal/components/treeSelect.mjs +14 -0
  312. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  313. package/dist/js/internal/components/treemapChart.mjs +10 -0
  314. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  315. package/dist/js/internal/core/component.mjs +6 -3
  316. package/dist/js/internal/core/formControl.mjs +12 -0
  317. package/dist/js/internal/core/formControl.mjs.map +7 -0
  318. package/dist/js/internal/core/imageURL.mjs +7 -0
  319. package/dist/js/internal/core/imageURL.mjs.map +7 -0
  320. package/dist/js/internal/core/spring.mjs +11 -0
  321. package/dist/js/internal/core/spring.mjs.map +7 -0
  322. package/dist/js/internal/core/utils.mjs +21 -3
  323. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  324. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  325. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  326. package/dist/js/modular.mjs +172 -69
  327. package/dist/types/behaviors/bottomSheets.d.ts +23 -5
  328. package/dist/types/behaviors/copy.d.ts +18 -0
  329. package/dist/types/behaviors/dataTables.d.ts +125 -0
  330. package/dist/types/behaviors/dialogs.d.ts +27 -1
  331. package/dist/types/behaviors/forms.d.ts +70 -4
  332. package/dist/types/behaviors/imageCompare.d.ts +13 -0
  333. package/dist/types/behaviors/lists.d.ts +12 -0
  334. package/dist/types/behaviors/paneResize.d.ts +29 -0
  335. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  336. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  337. package/dist/types/behaviors/sortable.d.ts +28 -0
  338. package/dist/types/behaviors/theme.d.ts +22 -0
  339. package/dist/types/behaviors/tour.d.ts +36 -0
  340. package/dist/types/behaviors/transferList.d.ts +53 -0
  341. package/dist/types/components/appBar.d.ts +5 -6
  342. package/dist/types/components/autocomplete.d.ts +105 -20
  343. package/dist/types/components/backToTop.d.ts +36 -0
  344. package/dist/types/components/barChart.d.ts +3 -6
  345. package/dist/types/components/buttonGroup.d.ts +2 -4
  346. package/dist/types/components/buttons.d.ts +5 -5
  347. package/dist/types/components/cards.d.ts +3 -16
  348. package/dist/types/components/carousel.d.ts +16 -15
  349. package/dist/types/components/cascader.d.ts +130 -0
  350. package/dist/types/components/characterCounter.d.ts +2 -15
  351. package/dist/types/components/chips.d.ts +80 -19
  352. package/dist/types/components/colorPicker.d.ts +56 -0
  353. package/dist/types/components/columnChart.d.ts +23 -10
  354. package/dist/types/components/commandPalette.d.ts +11 -16
  355. package/dist/types/components/confetti.d.ts +2 -4
  356. package/dist/types/components/currencyInput.d.ts +60 -0
  357. package/dist/types/components/datepicker.d.ts +107 -56
  358. package/dist/types/components/expandingCard.d.ts +4 -6
  359. package/dist/types/components/funnelChart.d.ts +35 -0
  360. package/dist/types/components/heatmapChart.d.ts +42 -8
  361. package/dist/types/components/hoverCard.d.ts +59 -0
  362. package/dist/types/components/index.d.ts +16 -1
  363. package/dist/types/components/inputMask.d.ts +28 -0
  364. package/dist/types/components/keypad.d.ts +38 -6
  365. package/dist/types/components/lightbox.d.ts +14 -20
  366. package/dist/types/components/lineChart.d.ts +212 -12
  367. package/dist/types/components/loadingOverlay.d.ts +42 -0
  368. package/dist/types/components/mapView.d.ts +138 -27
  369. package/dist/types/components/menu.d.ts +74 -22
  370. package/dist/types/components/menubar.d.ts +37 -0
  371. package/dist/types/components/messageScroller.d.ts +2 -14
  372. package/dist/types/components/mixedChart.d.ts +15 -6
  373. package/dist/types/components/navigationRail.d.ts +16 -5
  374. package/dist/types/components/particles.d.ts +22 -5
  375. package/dist/types/components/pieChart.d.ts +33 -9
  376. package/dist/types/components/pullToRefresh.d.ts +80 -0
  377. package/dist/types/components/questionnaire.d.ts +58 -16
  378. package/dist/types/components/radarChart.d.ts +10 -6
  379. package/dist/types/components/radialChart.d.ts +58 -7
  380. package/dist/types/components/registry.d.ts +73 -3
  381. package/dist/types/components/richTextEditor.d.ts +45 -22
  382. package/dist/types/components/sankeyChart.d.ts +72 -0
  383. package/dist/types/components/scatterChart.d.ts +102 -0
  384. package/dist/types/components/scrollspy.d.ts +3 -5
  385. package/dist/types/components/select.d.ts +44 -33
  386. package/dist/types/components/showMore.d.ts +53 -0
  387. package/dist/types/components/slider.d.ts +2 -15
  388. package/dist/types/components/snackbar.d.ts +68 -1
  389. package/dist/types/components/swipeActions.d.ts +81 -0
  390. package/dist/types/components/tabs.d.ts +92 -30
  391. package/dist/types/components/timepicker.d.ts +128 -27
  392. package/dist/types/components/tooltip.d.ts +57 -21
  393. package/dist/types/components/treeSelect.d.ts +106 -0
  394. package/dist/types/components/treemapChart.d.ts +56 -0
  395. package/dist/types/core/component.d.ts +49 -25
  396. package/dist/types/core/formControl.d.ts +21 -0
  397. package/dist/types/core/imageURL.d.ts +2 -0
  398. package/dist/types/core/spring.d.ts +20 -0
  399. package/dist/types/core/utils.d.ts +123 -72
  400. package/dist/types/modular.d.ts +33 -1
  401. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  402. package/dist/types/plugins/modalDisplayPlugin.d.ts +39 -0
  403. package/package.json +17 -13
  404. package/src/sass/README.md +27 -18
  405. package/src/sass/abstracts/_elevation.scss +13 -7
  406. package/src/sass/abstracts/_index.scss +1 -0
  407. package/src/sass/abstracts/_mixins.scss +864 -78
  408. package/src/sass/abstracts/_spring.scss +63 -0
  409. package/src/sass/abstracts/_variables.scss +64 -21
  410. package/src/sass/base/_fonts.scss +61 -48
  411. package/src/sass/base/_global.scss +104 -24
  412. package/src/sass/base/_index.scss +2 -0
  413. package/src/sass/base/_normalize.scss +59 -114
  414. package/src/sass/base/_print.scss +21 -0
  415. package/src/sass/base/_prose.scss +68 -0
  416. package/src/sass/base/_typography.scss +9 -5
  417. package/src/sass/components/_accordion.scss +10 -19
  418. package/src/sass/components/_alert.scss +102 -0
  419. package/src/sass/components/_aura.scss +9 -3
  420. package/src/sass/components/_avatar.scss +3 -3
  421. package/src/sass/components/_back-to-top.scss +38 -0
  422. package/src/sass/components/_badges.scss +6 -5
  423. package/src/sass/components/_bar-chart.scss +31 -90
  424. package/src/sass/components/_bottom-sheet.scss +51 -16
  425. package/src/sass/components/_breadcrumb.scss +8 -7
  426. package/src/sass/components/_button-groups.scss +30 -63
  427. package/src/sass/components/_buttons.scss +137 -94
  428. package/src/sass/components/_calendar.scss +244 -0
  429. package/src/sass/components/_cards.scss +36 -44
  430. package/src/sass/components/_carousel.scss +37 -113
  431. package/src/sass/components/_cascader.scss +131 -0
  432. package/src/sass/components/_chips.scss +36 -46
  433. package/src/sass/components/_column-chart.scss +15 -26
  434. package/src/sass/components/_command-palette.scss +4 -7
  435. package/src/sass/components/_confetti.scss +1 -4
  436. package/src/sass/components/_countdown.scss +1 -1
  437. package/src/sass/components/_data-table.scss +172 -25
  438. package/src/sass/components/_datepicker.scss +54 -40
  439. package/src/sass/components/_description-list.scss +85 -0
  440. package/src/sass/components/_dialog.scss +48 -55
  441. package/src/sass/components/_docked-display.scss +1 -3
  442. package/src/sass/components/_drag-handle.scss +16 -20
  443. package/src/sass/components/_expanding-card.scss +21 -14
  444. package/src/sass/components/_fab-menu.scss +43 -39
  445. package/src/sass/components/_funnel-chart.scss +63 -0
  446. package/src/sass/components/_heatmap-chart.scss +114 -29
  447. package/src/sass/components/_icon-buttons.scss +8 -11
  448. package/src/sass/components/_icons-material-design.scss +2 -2
  449. package/src/sass/components/_image-compare.scss +108 -0
  450. package/src/sass/components/_index.scss +20 -0
  451. package/src/sass/components/_keypad.scss +39 -19
  452. package/src/sass/components/_kpi.scss +6 -11
  453. package/src/sass/components/_lightbox.scss +24 -13
  454. package/src/sass/components/_line-chart.scss +9 -63
  455. package/src/sass/components/_list.scss +59 -14
  456. package/src/sass/components/_loading-indicator.scss +1 -0
  457. package/src/sass/components/_loading-overlay.scss +105 -0
  458. package/src/sass/components/_map.scss +37 -11
  459. package/src/sass/components/_marquee.scss +4 -3
  460. package/src/sass/components/_mega-menu.scss +128 -0
  461. package/src/sass/components/_menu.scss +146 -127
  462. package/src/sass/components/_menubar.scss +47 -0
  463. package/src/sass/components/_message-scroller.scss +2 -2
  464. package/src/sass/components/_message.scss +3 -3
  465. package/src/sass/components/_mixed-chart.scss +27 -35
  466. package/src/sass/components/_modal-display.scss +21 -0
  467. package/src/sass/components/_navbar.scss +45 -36
  468. package/src/sass/components/_navigation-bar.scss +12 -77
  469. package/src/sass/components/_navigation-rail.scss +161 -92
  470. package/src/sass/components/_org-chart.scss +192 -0
  471. package/src/sass/components/_page-footer.scss +2 -4
  472. package/src/sass/components/_pagination.scss +9 -27
  473. package/src/sass/components/_panes.scss +35 -42
  474. package/src/sass/components/_particles.scss +1 -4
  475. package/src/sass/components/_pie-chart.scss +86 -68
  476. package/src/sass/components/_popover.scss +18 -5
  477. package/src/sass/components/_progress.scss +183 -44
  478. package/src/sass/components/_pull-to-refresh.scss +90 -0
  479. package/src/sass/components/_questionnaire.scss +74 -3
  480. package/src/sass/components/_radar-chart.scss +40 -42
  481. package/src/sass/components/_radial-chart.scss +108 -46
  482. package/src/sass/components/_rich-text-editor.scss +2 -2
  483. package/src/sass/components/_sankey-chart.scss +91 -0
  484. package/src/sass/components/_scatter-chart.scss +144 -0
  485. package/src/sass/components/_scrim.scss +0 -2
  486. package/src/sass/components/_scrollspy.scss +0 -2
  487. package/src/sass/components/_search.scss +27 -26
  488. package/src/sass/components/_show-more.scss +8 -0
  489. package/src/sass/components/_side-sheet.scss +32 -51
  490. package/src/sass/components/_skeleton.scss +26 -19
  491. package/src/sass/components/_snackbar.scss +25 -21
  492. package/src/sass/components/_split-button.scss +5 -5
  493. package/src/sass/components/_stat.scss +3 -8
  494. package/src/sass/components/_stepper.scss +1 -1
  495. package/src/sass/components/_swipe-actions.scss +71 -0
  496. package/src/sass/components/_table_of_contents.scss +1 -3
  497. package/src/sass/components/_tabs.scss +49 -46
  498. package/src/sass/components/_timeline.scss +12 -12
  499. package/src/sass/components/_timepicker.scss +111 -79
  500. package/src/sass/components/_toolbar.scss +36 -47
  501. package/src/sass/components/_tooltip.scss +25 -12
  502. package/src/sass/components/_tour.scss +89 -0
  503. package/src/sass/components/_transfer-list.scss +73 -0
  504. package/src/sass/components/_transitions.scss +4 -4
  505. package/src/sass/components/_tree.scss +7 -32
  506. package/src/sass/components/_treemap-chart.scss +98 -0
  507. package/src/sass/components/forms/_checkboxes.scss +107 -44
  508. package/src/sass/components/forms/_color-picker.scss +135 -0
  509. package/src/sass/components/forms/_color-swatches.scss +85 -0
  510. package/src/sass/components/forms/_drop-zone.scss +16 -13
  511. package/src/sass/components/forms/_fieldset.scss +4 -7
  512. package/src/sass/components/forms/_file-input.scss +12 -8
  513. package/src/sass/components/forms/_index.scss +3 -1
  514. package/src/sass/components/forms/_input-fields.scss +271 -90
  515. package/src/sass/components/forms/_radio-buttons.scss +34 -117
  516. package/src/sass/components/forms/_rating.scss +2 -32
  517. package/src/sass/components/forms/_select.scss +198 -20
  518. package/src/sass/components/forms/_slider.scss +92 -98
  519. package/src/sass/components/forms/_switches.scss +62 -180
  520. package/src/sass/custom.scss +10 -1
  521. package/src/sass/expressive.scss +3 -63
  522. package/src/sass/tokens/_contrast.scss +94 -0
  523. package/src/sass/tokens/_elevation.scss +16 -0
  524. package/src/sass/tokens/_index.scss +5 -0
  525. package/src/sass/tokens/_motion.scss +109 -0
  526. package/src/sass/tokens/_reference.scss +72 -141
  527. package/src/sass/tokens/_shape.scss +38 -0
  528. package/src/sass/tokens/_stacking.scss +27 -0
  529. package/src/sass/tokens/_state.scss +0 -2
  530. package/src/sass/tokens/_theme.scss +10 -1
  531. package/src/sass/tokens/_vibrant.scss +2 -5
  532. package/src/sass/utilities/_defer-render.scss +17 -0
  533. package/src/sass/utilities/_helpers.scss +184 -27
  534. package/src/sass/utilities/_index.scss +1 -0
  535. package/src/sass/utilities/_scroll-area.scss +0 -2
  536. package/src/sass/utilities/_spacing.scss +52 -34
  537. package/src/sass/utilities/_typescale.scss +8 -1
  538. package/src/sass/utilities/_visibility.scss +46 -77
  539. package/src/sass/utilities/_z-depth.scss +7 -4
  540. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  541. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  543. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  546. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  549. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  554. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  559. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  562. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  568. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  570. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  572. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  573. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  574. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  575. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  578. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  580. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  582. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  584. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UAZSDUVP.mjs +0 -90
  587. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  589. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  591. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  594. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  596. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  597. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  599. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  600. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  603. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  604. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  605. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  606. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  607. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  608. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  609. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  // Toolbars (M3 Expressive).
4
4
  //
5
5
  // Anatomy is the HTML. A <div class="toolbar"> is the bar. Direct
6
- // <button> / <a> children are the actions. An <i> is the icon; wrap a
6
+ // <button> / <a> children are the actions. An icon is a .material-symbols span; wrap a
7
7
  // label in <span>. .active marks the selected action. A .filled action
8
8
  // is the emphasized control (the in-bar FAB). Helpers are only for
9
9
  // variants markup cannot express: .docked, .vibrant, .vertical, .fixed,
@@ -53,12 +53,11 @@
53
53
  // form is the older markup and still works.
54
54
  $_toolbar: ".toolbar";
55
55
 
56
- // The two axes. `.max` is an alias for docked; `.filled` is the older
57
- // name for vibrant. Both stay in the :is() lists.
58
- $_floating: "#{$_toolbar}:is(.floating, :not(.docked, .max))";
59
- $_docked: "#{$_toolbar}:is(.docked, .max)";
60
- $_standard: "#{$_toolbar}:is(.standard, :not(.vibrant, .filled))";
61
- $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
56
+ // The two axes.
57
+ $_floating: "#{$_toolbar}:is(.floating, :not(.docked))";
58
+ $_docked: "#{$_toolbar}.docked";
59
+ $_standard: "#{$_toolbar}:is(.standard, :not(.vibrant))";
60
+ $_vibrant: "#{$_toolbar}.vibrant";
62
61
 
63
62
  #{$_toolbar} {
64
63
  // Shared across all four variants. --md-comp-toolbar-color stands for
@@ -116,25 +115,23 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
116
115
 
117
116
  > #{$icon} {
118
117
  flex: 0 0 auto;
119
- font-size: var(--md-comp-toolbar-icon-size);
120
- width: var(--md-comp-toolbar-icon-size);
121
- height: var(--md-comp-toolbar-icon-size);
122
- line-height: var(--md-comp-toolbar-icon-size);
118
+ @include icon-size(var(--md-comp-toolbar-icon-size));
123
119
  }
124
120
 
125
121
  // The state layer is the content color in both color sets, which is
126
122
  // what currentColor already is on an action that has not been filled.
127
123
  &:hover:not(.active, .filled) {
128
- background-color: color-mix(in oklab, currentColor state-opacity("hover"), transparent);
124
+ background-color: state-layer(currentColor, "hover");
129
125
  }
130
126
 
131
127
  &:active:not(.active, .filled) {
132
- background-color: color-mix(in oklab, currentColor state-opacity("pressed"), transparent);
128
+ background-color: state-layer(currentColor, "pressed");
133
129
  }
134
130
 
135
131
  &.active {
136
132
  background-color: var(--md-comp-toolbar-selected-container-color);
137
133
  color: var(--md-comp-toolbar-selected-color);
134
+ @include forced-colors-selected;
138
135
  }
139
136
 
140
137
  &:disabled {
@@ -158,23 +155,15 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
158
155
  > :is(a, button).filled:not(.extra, .icon-button) {
159
156
  background-color: var(--md-sys-color-primary);
160
157
  color: var(--md-sys-color-on-primary);
161
- border-radius: 16px;
158
+ border-radius: var(--md-sys-shape-corner-large);
162
159
  box-shadow: none;
163
160
 
164
161
  &:hover {
165
- background-color: color-mix(
166
- in oklab,
167
- var(--md-sys-color-on-primary) state-opacity("hover"),
168
- var(--md-sys-color-primary)
169
- );
162
+ background-color: state-layer(var(--md-sys-color-on-primary), "hover", var(--md-sys-color-primary));
170
163
  }
171
164
 
172
165
  &:active {
173
- background-color: color-mix(
174
- in oklab,
175
- var(--md-sys-color-on-primary) state-opacity("pressed"),
176
- var(--md-sys-color-primary)
177
- );
166
+ background-color: state-layer(var(--md-sys-color-on-primary), "pressed", var(--md-sys-color-primary));
178
167
  }
179
168
  }
180
169
 
@@ -182,7 +171,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
182
171
  height: 40px;
183
172
  min-height: 40px;
184
173
  padding: 0 24px;
185
- border-radius: 20px;
174
+ border-radius: var(--md-sys-shape-corner-large-increased);
186
175
  width: auto;
187
176
  }
188
177
 
@@ -194,8 +183,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
194
183
  margin: 0;
195
184
  }
196
185
 
197
- // Spacer between leading and trailing actions. `.max` on a *child* is the
198
- // spacer; on the bar itself it is the docked alias.
186
+ // Spacer between leading and trailing actions: a `.max` child.
199
187
  > .max {
200
188
  flex: 1 1 auto;
201
189
  align-self: stretch;
@@ -209,7 +197,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
209
197
  // vertical bar the container is 64dp wide and arbitrarily tall, where 9999px
210
198
  // would round the long edge into an oval.
211
199
  #{$_floating} {
212
- --md-comp-toolbar-container-shape: 32px;
200
+ --md-comp-toolbar-container-shape: var(--md-sys-shape-corner-extra-large-increased);
213
201
  --md-comp-toolbar-leading-space: 8px;
214
202
  --md-comp-toolbar-trailing-space: 8px;
215
203
  --md-comp-toolbar-external-space: 16px;
@@ -302,33 +290,34 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
302
290
  color: var(--md-comp-toolbar-floating-fab-icon-color);
303
291
  @include z-depth("1");
304
292
 
293
+ // A disabled FAB without .circle misses the (0,3,0) FAB disabled arm in
294
+ // _buttons.scss, and this block's level 1 would win at rest. aria-disabled
295
+ // is included so the FAB's own focus tint does not show through.
296
+ &#{$expressive-disabled} {
297
+ @include btn-disabled;
298
+ }
299
+
300
+ // aria-disabled keeps pointer events so hover help still reaches it.
301
+ &[aria-disabled="true"] {
302
+ pointer-events: auto;
303
+ }
304
+
305
+ // State arms skip a disabled FAB, which they would otherwise outrank.
305
306
  // One opacity per state. All three arms are needed, bare `:focus`
306
307
  // included: .extra.circle draws its own `:active, :focus` tint over
307
308
  // primary-container, and leaving either uncovered would flash the FAB's
308
309
  // default colour through a click on this one.
309
- &:hover {
310
- background-color: color-mix(
311
- in oklab,
312
- var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("hover"),
313
- var(--md-comp-toolbar-floating-fab-container-color)
314
- );
310
+ &:hover:not(:where(#{$expressive-disabled})) {
311
+ background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "hover", var(--md-comp-toolbar-floating-fab-container-color));
315
312
  @include z-depth("2");
316
313
  }
317
314
 
318
- &:focus {
319
- background-color: color-mix(
320
- in oklab,
321
- var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("focus"),
322
- var(--md-comp-toolbar-floating-fab-container-color)
323
- );
315
+ &:focus:not(:where(#{$expressive-disabled})) {
316
+ background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "focus", var(--md-comp-toolbar-floating-fab-container-color));
324
317
  }
325
318
 
326
- &:active {
327
- background-color: color-mix(
328
- in oklab,
329
- var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("pressed"),
330
- var(--md-comp-toolbar-floating-fab-container-color)
331
- );
319
+ &:active:not(:where(#{$expressive-disabled})) {
320
+ background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "pressed", var(--md-comp-toolbar-floating-fab-container-color));
332
321
  }
333
322
  }
334
323
  }
@@ -347,7 +336,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
347
336
  // has no rule - a bar naming it falls through to the one above.
348
337
  #{$_toolbar}.fixed {
349
338
  position: fixed;
350
- z-index: 996;
339
+ z-index: var(--expressive-z-toolbar);
351
340
  inset: auto auto var(--md-comp-toolbar-external-space) 50%;
352
341
  transform: translateX(-50%);
353
342
  }
@@ -4,7 +4,7 @@
4
4
  //
5
5
  // Anatomy is the HTML. A child .tooltip is the bubble — no .tooltipped
6
6
  // required. Helpers are only for placement and the rich variant:
7
- // .top (default), .bottom, .left, .right, .rich / .max.
7
+ // .top (default), .bottom, .left, .right, .rich.
8
8
  //
9
9
  // Tokens follow https://m3.material.io/components/tooltips/specs
10
10
  // plain inverse-surface / inverse-on-surface, 4dp, body-small
@@ -14,12 +14,13 @@
14
14
  // gap 4dp from the activator
15
15
  //
16
16
  // The JS plugin still exists: .tooltipped + data-tooltip, AutoInit,
17
- // class .tooltip appended to <body>. There is no data-html / unsafeHTML.
17
+ // class .tooltip appended to <body>, or to the shadow root its trigger lives
18
+ // in. There is no data-html / unsafeHTML.
18
19
 
19
20
  .tooltip {
20
21
  --md-comp-plain-tooltip-container-color: var(--md-sys-color-inverse-surface);
21
22
  --md-comp-plain-tooltip-supporting-text-color: var(--md-sys-color-inverse-on-surface);
22
- --md-comp-plain-tooltip-container-shape: 4px;
23
+ --md-comp-plain-tooltip-container-shape: var(--md-sys-shape-corner-extra-small);
23
24
  --md-comp-tooltip-anchor-gap: 4px;
24
25
 
25
26
  box-sizing: border-box;
@@ -40,8 +41,15 @@
40
41
  white-space: normal;
41
42
  overflow-wrap: anywhere;
42
43
  pointer-events: auto;
43
- z-index: 2000;
44
+ z-index: var(--expressive-z-tooltip);
44
45
  @include glass(var(--md-comp-plain-tooltip-container-color));
46
+
47
+ // Forced colors paint the fill as Canvas and drop the shadow, so the
48
+ // surface would blend into the page without an edge.
49
+ @media (forced-colors: active) {
50
+ outline: 1px solid CanvasText;
51
+ outline-offset: -1px;
52
+ }
45
53
  }
46
54
 
47
55
  // CSS-only: a child of the activator. Default sits above (M3 preferred).
@@ -52,7 +60,7 @@
52
60
  // Only shrink-wrap typical activators. A stray .tooltip as a section
53
61
  // child must not turn the section into inline-flex (invalid <p><div>
54
62
  // gets hoisted and would match).
55
- :is(button, a, span, label, i):has(> .tooltip) {
63
+ :is(button, a, span, label):has(> .tooltip) {
56
64
  display: inline-flex;
57
65
  }
58
66
 
@@ -62,7 +70,7 @@
62
70
  opacity: 0;
63
71
  inset: 0 auto auto 50%;
64
72
  transform: translate(-50%, calc(-100% - var(--md-comp-tooltip-anchor-gap))) scale(0.96);
65
- transition: opacity .15s ease-out, transform .15s ease-out, visibility 0s linear .15s;
73
+ transition: opacity var(--md-sys-motion-duration-short3) ease-out, transform var(--md-sys-motion-duration-short3) ease-out, visibility 0s linear var(--md-sys-motion-duration-short3);
66
74
  }
67
75
 
68
76
  :not(body) > .tooltip.bottom {
@@ -107,9 +115,12 @@
107
115
  transform: translate(calc(100% + var(--md-comp-tooltip-anchor-gap)), -50%) scale(1);
108
116
  }
109
117
 
110
- // JS plugin: appended to <body>, top/left set in script. Do not use the
111
- // child-positioning rules; they would fight the inline transform.
112
- body > .tooltip {
118
+ // JS plugin: appended to <body> or a shadow root, top/left set in script. Do
119
+ // not use the child-positioning rules; they would fight the inline transform.
120
+ // A shadow root's top-level elements have no parent element, so neither
121
+ // `body >` nor `:not(body) >` reaches them; `:host >` does.
122
+ body > .tooltip,
123
+ :host > .tooltip {
113
124
  position: absolute;
114
125
  left: 0;
115
126
  top: 0;
@@ -119,10 +130,9 @@ body > .tooltip {
119
130
  }
120
131
 
121
132
  // Rich tooltip — title, supporting text, optional action.
122
- .tooltip.rich,
123
- .tooltip.max {
133
+ .tooltip.rich {
124
134
  --md-comp-rich-tooltip-container-color: var(--md-sys-color-surface-container);
125
- --md-comp-rich-tooltip-container-shape: 12px;
135
+ --md-comp-rich-tooltip-container-shape: var(--md-sys-shape-corner-medium);
126
136
 
127
137
  display: flex;
128
138
  flex-direction: column;
@@ -179,3 +189,6 @@ body > .tooltip {
179
189
  .tooltip-content {
180
190
  min-width: 0;
181
191
  }
192
+
193
+ // Transient messages are not part of the page.
194
+ .tooltip { @include print-hidden; }
@@ -0,0 +1,89 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Tour. A card that walks people through an interface one step at a time,
4
+ // beside the element each step explains. The card is a .tour
5
+ // [popover="manual"] holding a <section> per step, an optional .tour-progress
6
+ // line, a .tour-actions row and an optional close .icon-button; the Tour
7
+ // behavior shows one section, writes the progress and gives the current
8
+ // target the anchor the card is placed against. The target gets .tour-target,
9
+ // a ring that marks what the step is about.
10
+ //
11
+ // Tokens:
12
+ // --md-comp-tour-container-color surface-container-high
13
+ // --md-comp-tour-shape 16px
14
+ // --md-comp-tour-max-width 360px
15
+ // --md-comp-tour-gap 12px (from the target)
16
+
17
+ .tour {
18
+ --md-comp-tour-container-color: var(--md-sys-color-surface-container-high);
19
+ --md-comp-tour-shape: var(--md-sys-shape-corner-large);
20
+ --md-comp-tour-max-width: 360px;
21
+ --md-comp-tour-gap: 12px;
22
+
23
+ box-sizing: border-box;
24
+ inline-size: max-content;
25
+ max-inline-size: min(var(--md-comp-tour-max-width), calc(100vw - 32px));
26
+ inset: auto;
27
+ margin: var(--md-comp-tour-gap);
28
+ padding: 20px 24px 16px;
29
+ border: 0;
30
+ border-radius: var(--md-comp-tour-shape);
31
+ background-color: var(--md-comp-tour-container-color);
32
+ color: var(--md-sys-color-on-surface);
33
+ @include z-depth("3");
34
+ @include typescale("body-medium");
35
+
36
+ position-anchor: --tour-target;
37
+ position-area: block-end;
38
+ position-try-fallbacks: flip-block, inline-end, inline-start;
39
+
40
+ &:focus {
41
+ outline: none;
42
+ }
43
+
44
+ // The behavior hides steps and buttons with the hidden attribute, which a
45
+ // button's own display rule would otherwise beat.
46
+ [hidden] {
47
+ display: none;
48
+ }
49
+
50
+ > section > :is(h1, h2, h3, h4, h5, h6) {
51
+ margin: 0 0 8px;
52
+ padding-inline-end: 32px;
53
+ @include typescale("title-medium");
54
+ }
55
+
56
+ > section > p {
57
+ margin: 0;
58
+ color: var(--md-sys-color-on-surface-variant);
59
+ }
60
+
61
+ > .tour-progress {
62
+ margin: 16px 0 0;
63
+ color: var(--md-sys-color-on-surface-variant);
64
+ @include typescale("label-medium");
65
+ }
66
+
67
+ > .tour-actions {
68
+ display: flex;
69
+ flex-wrap: wrap;
70
+ justify-content: flex-end;
71
+ gap: 8px;
72
+ margin-block-start: 12px;
73
+ }
74
+
75
+ > .icon-button:last-child {
76
+ position: absolute;
77
+ inset-block-start: 8px;
78
+ inset-inline-end: 8px;
79
+ }
80
+
81
+ @media (forced-colors: active) {
82
+ border: 1px solid CanvasText;
83
+ }
84
+ }
85
+
86
+ .tour-target {
87
+ outline: 3px solid var(--md-sys-color-primary);
88
+ outline-offset: 4px;
89
+ }
@@ -0,0 +1,73 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Transfer list. Two lists of checkbox rows with the buttons that move rows
4
+ // between them in the middle. The rows are `.list` label rows, so a checked
5
+ // row already shows the selected pill.
6
+ //
7
+ // <div class="transfer-list" data-name="toppings">
8
+ // <ul class="list transfer-available" aria-label="Available toppings">
9
+ // <li><label><input type="checkbox" value="olives"> Olives</label></li>
10
+ // </ul>
11
+ // <div class="transfer-actions">
12
+ // <button type="button" class="icon-button" data-transfer="add" aria-label="Add checked toppings">…</button>
13
+ // </div>
14
+ // <ul class="list transfer-chosen" aria-label="Chosen toppings"></ul>
15
+ // </div>
16
+ //
17
+ // The grid follows the page direction, so the available list is at the
18
+ // inline start, and the icons flip in a right-to-left page to keep pointing
19
+ // at the list they move rows to. Below the medium window size the lists stack
20
+ // with the buttons in a row between them.
21
+ //
22
+ // Tokens:
23
+ // --md-comp-transfer-list-gap 16px between the lists and the buttons
24
+ // --md-comp-transfer-list-max-block-size 20rem a list scrolls past this height
25
+ // --md-comp-transfer-list-shape medium corner of each list's outline
26
+
27
+ .transfer-list {
28
+ --md-comp-transfer-list-gap: 16px;
29
+ --md-comp-transfer-list-max-block-size: #{rem(320px)};
30
+ --md-comp-transfer-list-shape: var(--md-sys-shape-corner-medium);
31
+
32
+ display: grid;
33
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
34
+ gap: var(--md-comp-transfer-list-gap);
35
+ align-items: center;
36
+
37
+ > .transfer-available,
38
+ > .transfer-chosen {
39
+ align-self: stretch;
40
+ min-block-size: rem(120px);
41
+ max-block-size: var(--md-comp-transfer-list-max-block-size);
42
+ margin: 0;
43
+ overflow-y: auto;
44
+ border: 1px solid var(--md-sys-color-outline-variant);
45
+ border-radius: var(--md-comp-transfer-list-shape);
46
+ }
47
+
48
+ > .transfer-actions {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 4px;
52
+
53
+ .material-symbols:dir(rtl) {
54
+ scale: -1 1;
55
+ }
56
+ }
57
+
58
+ @include bp-down("medium") {
59
+ grid-template-columns: minmax(0, 1fr);
60
+
61
+ > .transfer-actions {
62
+ flex-direction: row;
63
+ justify-content: center;
64
+
65
+ // Down and up, toward the list each button moves rows to.
66
+ .material-symbols,
67
+ .material-symbols:dir(rtl) {
68
+ rotate: 90deg;
69
+ scale: none;
70
+ }
71
+ }
72
+ }
73
+ }
@@ -1,11 +1,11 @@
1
- @use "../abstracts" as *;
2
-
1
+ // !important because the class must replace the transition of whatever
2
+ // component it is added to (.button, .fab, ...), at any specificity.
3
3
  .scale-transition {
4
- transition: transform .3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
4
+ transition: transform var(--md-sys-motion-duration-medium2) cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
5
5
 
6
6
  &.scale-out {
7
7
  transform: scale(0);
8
- transition: transform .2s !important;
8
+ transition: transform var(--md-sys-motion-duration-short4) !important;
9
9
  }
10
10
 
11
11
  &.scale-in {
@@ -15,8 +15,6 @@
15
15
  // --md-comp-tree-guide-color outline-variant
16
16
  // --md-comp-tree-selected-container-color secondary-container
17
17
 
18
- $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15.4 6 9.4 7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E");
19
-
20
18
  .tree {
21
19
  --md-comp-tree-row-height: 40px;
22
20
  --md-comp-tree-row-shape: 100px;
@@ -31,12 +29,10 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
31
29
  // Each level hangs a guide line from the centre of its parent's chevron
32
30
  // (12px inset + half the 20px chevron) and indents past it.
33
31
  ul {
34
- margin: 0;
32
+ @include list-reset;
35
33
  margin-inline-start: 22px;
36
- padding: 0;
37
34
  padding-inline-start: 6px;
38
35
  border-inline-start: 1px solid var(--md-comp-tree-guide-color);
39
- list-style: none;
40
36
  }
41
37
 
42
38
  li {
@@ -58,7 +54,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
58
54
 
59
55
  > #{$icon} {
60
56
  flex: none;
61
- font-size: 20px;
57
+ font-size: rem(20px);
62
58
  }
63
59
  }
64
60
 
@@ -71,14 +67,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
71
67
  li > details > summary {
72
68
  cursor: pointer;
73
69
  @include focus-visible;
74
-
75
- &:hover {
76
- background-color: color-mix(
77
- in oklab,
78
- var(--md-sys-color-on-surface) state-opacity("hover"),
79
- transparent
80
- );
81
- }
70
+ @include text-action;
82
71
  }
83
72
 
84
73
  li > details > summary {
@@ -91,14 +80,8 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
91
80
 
92
81
  // Points to the end edge while closed and down once open.
93
82
  &::before {
94
- content: "";
95
- flex: none;
96
- width: 20px;
97
- height: 20px;
98
- background-color: currentColor;
99
- mask: $_tree-chevron center / 20px no-repeat;
100
- transform: rotate(-90deg);
101
- transition: transform 150ms ease-out;
83
+ @include tree-chevron;
84
+ @include forced-colors-fill;
102
85
  }
103
86
 
104
87
  &:dir(rtl)::before {
@@ -125,15 +108,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
125
108
  }
126
109
  }
127
110
 
128
- @media (forced-colors: active) {
129
- li > details > summary::before {
130
- forced-color-adjust: none;
131
- background-color: CanvasText;
132
- }
133
-
134
- [aria-current]:not([aria-current="false"]) {
135
- outline: 2px solid Highlight;
136
- outline-offset: -2px;
137
- }
111
+ [aria-current]:not([aria-current="false"]) {
112
+ @include forced-colors-selected;
138
113
  }
139
114
  }
@@ -0,0 +1,98 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Treemap chart. The same <figure>, <figcaption> and <table> as a pie
4
+ // chart; TreemapChart draws each row of the first value column as a
5
+ // rectangle whose area is its share of the whole, filling the plot, the
6
+ // largest at the top inline-start corner. The plot and tooltip come from
7
+ // chart(). The script places each rectangle with inset-inline-start, top,
8
+ // width and height in percent, so a right-to-left page mirrors the layout.
9
+ //
10
+ // The fill is a ::before inset by half the gap, so the boxes still tile the
11
+ // plot and keep their areas. Each rectangle is a size
12
+ // container: its row name and cell show when there is room for them, and
13
+ // neither shows in a rectangle too small to hold them.
14
+ //
15
+ // Tokens:
16
+ // --md-comp-treemap-chart-height 240px
17
+ // --md-comp-treemap-chart-gap 4px between neighbours
18
+ // --md-comp-treemap-chart-color-1..6 primary, tertiary, secondary,
19
+ // on-surface-variant, then primary- and
20
+ // tertiary-container deepened toward
21
+ // on-surface, as in the pie chart
22
+ // --md-comp-treemap-chart-on-color-1..6 on-primary, on-tertiary,
23
+ // on-secondary, surface, surface,
24
+ // surface; the text in each
25
+
26
+ @include chart("treemap-chart", $colors: 6, $on-colors: true, $grid: false);
27
+
28
+ .treemap-chart {
29
+ --md-comp-treemap-chart-gap: 4px;
30
+ }
31
+
32
+ .treemap-chart-boxes {
33
+ position: absolute;
34
+ inset: 0;
35
+ }
36
+
37
+ .treemap-chart-box {
38
+ --treemap-chart-inset: calc(var(--md-comp-treemap-chart-gap) / 2);
39
+
40
+ position: absolute;
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: 2px;
44
+ overflow: hidden;
45
+ color: var(--treemap-chart-on-color);
46
+ container-type: size;
47
+
48
+ // The fill, inset by half the gap. A border or padding would give a
49
+ // rectangle thinner than them a larger area than its value.
50
+ &::before {
51
+ content: "";
52
+ position: absolute;
53
+ inset: var(--treemap-chart-inset);
54
+ border-radius: var(--md-sys-shape-corner-small);
55
+ background-color: var(--treemap-chart-color);
56
+ }
57
+
58
+ // The highlighted row's ring fills the gap round it.
59
+ &.active::before {
60
+ outline: var(--treemap-chart-inset) solid var(--md-sys-color-on-surface);
61
+ }
62
+
63
+ > span {
64
+ position: relative;
65
+ @include ellipsis;
66
+ margin-inline: calc(var(--treemap-chart-inset) + 8px);
67
+ }
68
+
69
+ > span:first-child {
70
+ margin-block-start: calc(var(--treemap-chart-inset) + 8px);
71
+ @include typescale("label-large");
72
+ }
73
+
74
+ > span:last-child {
75
+ @include typescale("body-small");
76
+ font-variant-numeric: tabular-nums;
77
+ }
78
+ }
79
+
80
+ // Room for both lines and a few letters of the name, inside the gap and margins.
81
+ @container (width < #{rem(60px)}) or (height < #{rem(56px)}) {
82
+ .treemap-chart-box > span {
83
+ display: none;
84
+ }
85
+ }
86
+
87
+ @media (forced-colors: active) {
88
+ // The fill is painted as Canvas, so an edge just inside it marks each one.
89
+ .treemap-chart-box::before {
90
+ outline: 1px solid CanvasText;
91
+ outline-offset: -1px;
92
+ }
93
+
94
+ .treemap-chart-box.active::before {
95
+ outline: 2px solid Highlight;
96
+ outline-offset: -2px;
97
+ }
98
+ }