@expressivecss/expressive 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/CHANGELOG.md +1502 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19247 -11923
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
  8. package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
  9. package/dist/fonts/LICENSE-noto-sans-thai +93 -0
  10. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  11. package/dist/fonts/material-symbols-rounded.woff2 +0 -0
  12. package/dist/fonts/material-symbols-sharp.woff2 +0 -0
  13. package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
  15. package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
  16. package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
  17. package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
  18. package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
  19. package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
  20. package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
  21. package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
  22. package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
  23. package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
  24. package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
  25. package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
  26. package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
  27. package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
  28. package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
  29. package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
  30. package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
  31. package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
  32. package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
  33. package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
  34. package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
  35. package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
  36. package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
  37. package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
  38. package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
  39. package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
  40. package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
  41. package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
  42. package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
  43. package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
  44. package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
  45. package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
  46. package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
  47. package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
  48. package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
  49. package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
  50. package/dist/fonts/roboto-greek-400.woff2 +0 -0
  51. package/dist/fonts/roboto-greek-500.woff2 +0 -0
  52. package/dist/fonts/roboto-greek-700.woff2 +0 -0
  53. package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
  54. package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
  55. package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
  56. package/dist/fonts/roboto-latin-700.woff2 +0 -0
  57. package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
  58. package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
  59. package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
  60. package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
  61. package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
  62. package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
  63. package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
  64. package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
  66. package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
  67. package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
  68. package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
  69. package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
  70. package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
  72. package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
  73. package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
  74. package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-4QUCNFSD.mjs} +64 -113
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-6FSEUFVW.mjs} +39 -26
  84. package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
  85. package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
  86. package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
  87. package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-7NLUI3RR.mjs} +139 -66
  90. package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
  92. package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
  94. package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
  96. package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
  98. package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
  99. package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-B7DQFHA5.mjs} +30 -47
  102. package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
  103. package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
  104. package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
  105. package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-BPF3I2MN.mjs} +109 -24
  106. package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
  108. package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-CSYWKEK3.mjs} +310 -196
  110. package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
  111. package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
  112. package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
  114. package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
  115. package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-EVCVFEV3.mjs} +235 -146
  118. package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
  119. package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
  120. package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
  121. package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
  122. package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
  123. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  124. package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
  125. package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
  127. package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
  128. package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-ILDRRG7T.mjs} +21 -23
  129. package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
  131. package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
  133. package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
  134. package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
  135. package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-KZPSAXIU.mjs} +142 -32
  137. package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
  139. package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
  140. package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
  141. package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
  143. package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
  145. package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
  146. package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
  147. package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
  148. package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-OP43LLIC.mjs} +28 -45
  149. package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
  151. package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
  152. package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-OYNUDOHR.mjs} +19 -47
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UAZSDUVP.mjs → chunk-P6DRQ6KS.mjs} +36 -30
  155. package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
  157. package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
  158. package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
  159. package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
  160. package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-QXKWVHBD.mjs} +265 -161
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-ROH2HDB4.mjs} +7 -6
  163. package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
  164. package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
  165. package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
  166. package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-SPPHF7YZ.mjs} +36 -29
  167. package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
  169. package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
  170. package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
  171. package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
  172. package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
  173. package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
  175. package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
  177. package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-VGY4M57S.mjs} +266 -120
  179. package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
  181. package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
  183. package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-VMY55K2X.mjs} +76 -109
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-VR3L2WN5.mjs} +11 -17
  187. package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  189. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
  191. package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
  193. package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
  194. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
  195. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
  197. package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
  199. package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
  201. package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
  202. package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-ZJNLAGY5.mjs} +19 -30
  203. package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
  205. package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
  206. package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
  207. package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
  208. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
  209. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
  211. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
  212. package/dist/js/expressive.cjs +10613 -4327
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10613 -4327
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -22
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +182 -71
  219. package/dist/js/expressive.mjs.map +2 -2
  220. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  221. package/dist/js/internal/behaviors/copy.mjs +9 -0
  222. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  223. package/dist/js/internal/behaviors/dataTables.mjs +10 -0
  224. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  226. package/dist/js/internal/behaviors/forms.mjs +2 -2
  227. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  228. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  229. package/dist/js/internal/behaviors/lists.mjs +8 -0
  230. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  232. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  234. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  235. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  236. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  237. package/dist/js/internal/behaviors/theme.mjs +8 -0
  238. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/tour.mjs +8 -0
  240. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  242. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  243. package/dist/js/internal/components/appBar.mjs +3 -2
  244. package/dist/js/internal/components/autocomplete.mjs +4 -4
  245. package/dist/js/internal/components/backToTop.mjs +9 -0
  246. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  247. package/dist/js/internal/components/barChart.mjs +5 -4
  248. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  249. package/dist/js/internal/components/buttons.mjs +3 -3
  250. package/dist/js/internal/components/cards.mjs +3 -3
  251. package/dist/js/internal/components/carousel.mjs +3 -3
  252. package/dist/js/internal/components/cascader.mjs +10 -0
  253. package/dist/js/internal/components/cascader.mjs.map +7 -0
  254. package/dist/js/internal/components/characterCounter.mjs +3 -2
  255. package/dist/js/internal/components/chips.mjs +6 -5
  256. package/dist/js/internal/components/colorPicker.mjs +9 -0
  257. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  258. package/dist/js/internal/components/columnChart.mjs +4 -3
  259. package/dist/js/internal/components/commandPalette.mjs +3 -3
  260. package/dist/js/internal/components/confetti.mjs +3 -2
  261. package/dist/js/internal/components/currencyInput.mjs +9 -0
  262. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  263. package/dist/js/internal/components/datepicker.mjs +11 -8
  264. package/dist/js/internal/components/expandingCard.mjs +3 -3
  265. package/dist/js/internal/components/funnelChart.mjs +10 -0
  266. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  267. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  268. package/dist/js/internal/components/hoverCard.mjs +9 -0
  269. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  270. package/dist/js/internal/components/index.mjs +131 -66
  271. package/dist/js/internal/components/inputMask.mjs +9 -0
  272. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  273. package/dist/js/internal/components/keypad.mjs +3 -3
  274. package/dist/js/internal/components/lightbox.mjs +3 -3
  275. package/dist/js/internal/components/lineChart.mjs +25 -4
  276. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  277. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  278. package/dist/js/internal/components/mapView.mjs +3 -3
  279. package/dist/js/internal/components/menu.mjs +3 -3
  280. package/dist/js/internal/components/menubar.mjs +10 -0
  281. package/dist/js/internal/components/menubar.mjs.map +7 -0
  282. package/dist/js/internal/components/messageScroller.mjs +3 -3
  283. package/dist/js/internal/components/mixedChart.mjs +5 -4
  284. package/dist/js/internal/components/navigationRail.mjs +3 -2
  285. package/dist/js/internal/components/particles.mjs +3 -2
  286. package/dist/js/internal/components/pieChart.mjs +4 -3
  287. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  288. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  289. package/dist/js/internal/components/questionnaire.mjs +3 -3
  290. package/dist/js/internal/components/radarChart.mjs +4 -3
  291. package/dist/js/internal/components/radialChart.mjs +4 -3
  292. package/dist/js/internal/components/registry.mjs +59 -41
  293. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  294. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  295. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  296. package/dist/js/internal/components/scatterChart.mjs +10 -0
  297. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scrollspy.mjs +3 -2
  299. package/dist/js/internal/components/select.mjs +4 -4
  300. package/dist/js/internal/components/showMore.mjs +9 -0
  301. package/dist/js/internal/components/showMore.mjs.map +7 -0
  302. package/dist/js/internal/components/slider.mjs +3 -3
  303. package/dist/js/internal/components/snackbar.mjs +2 -2
  304. package/dist/js/internal/components/swipeActions.mjs +9 -0
  305. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  306. package/dist/js/internal/components/tabs.mjs +3 -4
  307. package/dist/js/internal/components/timepicker.mjs +5 -4
  308. package/dist/js/internal/components/tooltip.mjs +3 -3
  309. package/dist/js/internal/components/treeSelect.mjs +13 -0
  310. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  311. package/dist/js/internal/components/treemapChart.mjs +10 -0
  312. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  313. package/dist/js/internal/core/component.mjs +2 -1
  314. package/dist/js/internal/core/formControl.mjs +12 -0
  315. package/dist/js/internal/core/formControl.mjs.map +7 -0
  316. package/dist/js/internal/core/spring.mjs +11 -0
  317. package/dist/js/internal/core/spring.mjs.map +7 -0
  318. package/dist/js/internal/core/utils.mjs +11 -3
  319. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  320. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  322. package/dist/js/modular.mjs +173 -71
  323. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  324. package/dist/types/behaviors/copy.d.ts +18 -0
  325. package/dist/types/behaviors/dataTables.d.ts +129 -0
  326. package/dist/types/behaviors/dialogs.d.ts +27 -1
  327. package/dist/types/behaviors/forms.d.ts +68 -2
  328. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  329. package/dist/types/behaviors/lists.d.ts +12 -0
  330. package/dist/types/behaviors/paneResize.d.ts +29 -0
  331. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  332. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  333. package/dist/types/behaviors/sortable.d.ts +28 -0
  334. package/dist/types/behaviors/theme.d.ts +22 -0
  335. package/dist/types/behaviors/tour.d.ts +36 -0
  336. package/dist/types/behaviors/transferList.d.ts +51 -0
  337. package/dist/types/components/appBar.d.ts +5 -6
  338. package/dist/types/components/autocomplete.d.ts +91 -17
  339. package/dist/types/components/backToTop.d.ts +36 -0
  340. package/dist/types/components/barChart.d.ts +3 -6
  341. package/dist/types/components/buttonGroup.d.ts +2 -4
  342. package/dist/types/components/buttons.d.ts +5 -5
  343. package/dist/types/components/cards.d.ts +3 -16
  344. package/dist/types/components/carousel.d.ts +9 -15
  345. package/dist/types/components/cascader.d.ts +130 -0
  346. package/dist/types/components/characterCounter.d.ts +2 -15
  347. package/dist/types/components/chips.d.ts +65 -19
  348. package/dist/types/components/colorPicker.d.ts +42 -0
  349. package/dist/types/components/columnChart.d.ts +23 -10
  350. package/dist/types/components/commandPalette.d.ts +11 -16
  351. package/dist/types/components/confetti.d.ts +2 -4
  352. package/dist/types/components/currencyInput.d.ts +59 -0
  353. package/dist/types/components/datepicker.d.ts +56 -32
  354. package/dist/types/components/expandingCard.d.ts +4 -6
  355. package/dist/types/components/funnelChart.d.ts +38 -0
  356. package/dist/types/components/heatmapChart.d.ts +39 -8
  357. package/dist/types/components/hoverCard.d.ts +58 -0
  358. package/dist/types/components/index.d.ts +16 -1
  359. package/dist/types/components/inputMask.d.ts +30 -0
  360. package/dist/types/components/keypad.d.ts +38 -6
  361. package/dist/types/components/lightbox.d.ts +14 -20
  362. package/dist/types/components/lineChart.d.ts +172 -10
  363. package/dist/types/components/loadingOverlay.d.ts +42 -0
  364. package/dist/types/components/mapView.d.ts +26 -17
  365. package/dist/types/components/menu.d.ts +60 -22
  366. package/dist/types/components/menubar.d.ts +37 -0
  367. package/dist/types/components/messageScroller.d.ts +2 -14
  368. package/dist/types/components/mixedChart.d.ts +15 -6
  369. package/dist/types/components/navigationRail.d.ts +16 -5
  370. package/dist/types/components/particles.d.ts +8 -4
  371. package/dist/types/components/pieChart.d.ts +32 -7
  372. package/dist/types/components/pullToRefresh.d.ts +80 -0
  373. package/dist/types/components/questionnaire.d.ts +58 -16
  374. package/dist/types/components/radarChart.d.ts +10 -6
  375. package/dist/types/components/radialChart.d.ts +58 -7
  376. package/dist/types/components/registry.d.ts +73 -3
  377. package/dist/types/components/richTextEditor.d.ts +6 -14
  378. package/dist/types/components/sankeyChart.d.ts +72 -0
  379. package/dist/types/components/scatterChart.d.ts +102 -0
  380. package/dist/types/components/scrollspy.d.ts +3 -5
  381. package/dist/types/components/select.d.ts +43 -30
  382. package/dist/types/components/showMore.d.ts +51 -0
  383. package/dist/types/components/slider.d.ts +3 -15
  384. package/dist/types/components/snackbar.d.ts +61 -0
  385. package/dist/types/components/swipeActions.d.ts +81 -0
  386. package/dist/types/components/tabs.d.ts +89 -27
  387. package/dist/types/components/timepicker.d.ts +113 -21
  388. package/dist/types/components/tooltip.d.ts +56 -20
  389. package/dist/types/components/treeSelect.d.ts +106 -0
  390. package/dist/types/components/treemapChart.d.ts +56 -0
  391. package/dist/types/core/component.d.ts +43 -25
  392. package/dist/types/core/formControl.d.ts +21 -0
  393. package/dist/types/core/spring.d.ts +20 -0
  394. package/dist/types/core/utils.d.ts +85 -72
  395. package/dist/types/modular.d.ts +33 -1
  396. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  397. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  398. package/package.json +10 -8
  399. package/src/sass/README.md +27 -18
  400. package/src/sass/abstracts/_elevation.scss +13 -7
  401. package/src/sass/abstracts/_index.scss +1 -0
  402. package/src/sass/abstracts/_mixins.scss +422 -36
  403. package/src/sass/abstracts/_spring.scss +63 -0
  404. package/src/sass/abstracts/_variables.scss +39 -21
  405. package/src/sass/base/_fonts.scss +61 -48
  406. package/src/sass/base/_global.scss +104 -24
  407. package/src/sass/base/_index.scss +2 -0
  408. package/src/sass/base/_normalize.scss +59 -114
  409. package/src/sass/base/_print.scss +21 -0
  410. package/src/sass/base/_prose.scss +68 -0
  411. package/src/sass/base/_typography.scss +9 -5
  412. package/src/sass/components/_accordion.scss +9 -16
  413. package/src/sass/components/_alert.scss +102 -0
  414. package/src/sass/components/_aura.scss +8 -3
  415. package/src/sass/components/_avatar.scss +3 -3
  416. package/src/sass/components/_back-to-top.scss +38 -0
  417. package/src/sass/components/_badges.scss +6 -5
  418. package/src/sass/components/_bar-chart.scss +41 -19
  419. package/src/sass/components/_bottom-sheet.scss +44 -16
  420. package/src/sass/components/_breadcrumb.scss +8 -1
  421. package/src/sass/components/_button-groups.scss +15 -25
  422. package/src/sass/components/_buttons.scss +156 -63
  423. package/src/sass/components/_calendar.scss +246 -0
  424. package/src/sass/components/_cards.scss +36 -44
  425. package/src/sass/components/_carousel.scss +27 -103
  426. package/src/sass/components/_cascader.scss +142 -0
  427. package/src/sass/components/_chips.scss +36 -46
  428. package/src/sass/components/_column-chart.scss +19 -12
  429. package/src/sass/components/_command-palette.scss +4 -7
  430. package/src/sass/components/_confetti.scss +0 -2
  431. package/src/sass/components/_countdown.scss +1 -1
  432. package/src/sass/components/_data-table.scss +162 -25
  433. package/src/sass/components/_datepicker.scss +54 -40
  434. package/src/sass/components/_description-list.scss +85 -0
  435. package/src/sass/components/_dialog.scss +42 -41
  436. package/src/sass/components/_docked-display.scss +1 -3
  437. package/src/sass/components/_drag-handle.scss +16 -20
  438. package/src/sass/components/_expanding-card.scss +20 -9
  439. package/src/sass/components/_fab-menu.scss +44 -32
  440. package/src/sass/components/_funnel-chart.scss +124 -0
  441. package/src/sass/components/_heatmap-chart.scss +111 -22
  442. package/src/sass/components/_icon-buttons.scss +7 -7
  443. package/src/sass/components/_icons-material-design.scss +2 -2
  444. package/src/sass/components/_image-compare.scss +108 -0
  445. package/src/sass/components/_index.scss +20 -0
  446. package/src/sass/components/_keypad.scss +39 -19
  447. package/src/sass/components/_kpi.scss +6 -11
  448. package/src/sass/components/_lightbox.scss +24 -13
  449. package/src/sass/components/_line-chart.scss +16 -2
  450. package/src/sass/components/_list.scss +59 -14
  451. package/src/sass/components/_loading-indicator.scss +1 -0
  452. package/src/sass/components/_loading-overlay.scss +105 -0
  453. package/src/sass/components/_map.scss +33 -11
  454. package/src/sass/components/_marquee.scss +3 -2
  455. package/src/sass/components/_mega-menu.scss +137 -0
  456. package/src/sass/components/_menu.scss +143 -123
  457. package/src/sass/components/_menubar.scss +59 -0
  458. package/src/sass/components/_message-scroller.scss +2 -2
  459. package/src/sass/components/_message.scss +3 -3
  460. package/src/sass/components/_mixed-chart.scss +37 -9
  461. package/src/sass/components/_modal-display.scss +21 -0
  462. package/src/sass/components/_navbar.scss +34 -20
  463. package/src/sass/components/_navigation-bar.scss +15 -77
  464. package/src/sass/components/_navigation-rail.scss +151 -92
  465. package/src/sass/components/_org-chart.scss +192 -0
  466. package/src/sass/components/_page-footer.scss +1 -1
  467. package/src/sass/components/_pagination.scss +6 -13
  468. package/src/sass/components/_panes.scss +32 -26
  469. package/src/sass/components/_particles.scss +0 -2
  470. package/src/sass/components/_pie-chart.scss +91 -11
  471. package/src/sass/components/_popover.scss +18 -5
  472. package/src/sass/components/_progress.scss +152 -31
  473. package/src/sass/components/_pull-to-refresh.scss +90 -0
  474. package/src/sass/components/_questionnaire.scss +74 -3
  475. package/src/sass/components/_radar-chart.scss +38 -10
  476. package/src/sass/components/_radial-chart.scss +113 -5
  477. package/src/sass/components/_rich-text-editor.scss +2 -2
  478. package/src/sass/components/_sankey-chart.scss +114 -0
  479. package/src/sass/components/_scatter-chart.scss +153 -0
  480. package/src/sass/components/_scrim.scss +0 -2
  481. package/src/sass/components/_scrollspy.scss +0 -2
  482. package/src/sass/components/_search.scss +26 -22
  483. package/src/sass/components/_show-more.scss +8 -0
  484. package/src/sass/components/_side-sheet.scss +23 -37
  485. package/src/sass/components/_skeleton.scss +2 -4
  486. package/src/sass/components/_snackbar.scss +27 -21
  487. package/src/sass/components/_split-button.scss +5 -5
  488. package/src/sass/components/_stat.scss +3 -8
  489. package/src/sass/components/_stepper.scss +1 -1
  490. package/src/sass/components/_swipe-actions.scss +71 -0
  491. package/src/sass/components/_tabs.scss +51 -32
  492. package/src/sass/components/_timeline.scss +12 -12
  493. package/src/sass/components/_timepicker.scss +109 -78
  494. package/src/sass/components/_toolbar.scss +35 -43
  495. package/src/sass/components/_tooltip.scss +21 -12
  496. package/src/sass/components/_tour.scss +89 -0
  497. package/src/sass/components/_transfer-list.scss +73 -0
  498. package/src/sass/components/_transitions.scss +4 -4
  499. package/src/sass/components/_tree.scss +3 -16
  500. package/src/sass/components/_treemap-chart.scss +122 -0
  501. package/src/sass/components/forms/_checkboxes.scss +106 -24
  502. package/src/sass/components/forms/_color-picker.scss +135 -0
  503. package/src/sass/components/forms/_color-swatches.scss +85 -0
  504. package/src/sass/components/forms/_drop-zone.scss +15 -9
  505. package/src/sass/components/forms/_fieldset.scss +7 -7
  506. package/src/sass/components/forms/_file-input.scss +6 -8
  507. package/src/sass/components/forms/_index.scss +3 -1
  508. package/src/sass/components/forms/_input-fields.scss +254 -90
  509. package/src/sass/components/forms/_radio-buttons.scss +33 -94
  510. package/src/sass/components/forms/_rating.scss +2 -32
  511. package/src/sass/components/forms/_select.scss +199 -20
  512. package/src/sass/components/forms/_slider.scss +91 -94
  513. package/src/sass/components/forms/_switches.scss +53 -164
  514. package/src/sass/custom.scss +10 -1
  515. package/src/sass/expressive.scss +3 -63
  516. package/src/sass/tokens/_contrast.scss +94 -0
  517. package/src/sass/tokens/_elevation.scss +16 -0
  518. package/src/sass/tokens/_index.scss +5 -0
  519. package/src/sass/tokens/_motion.scss +109 -0
  520. package/src/sass/tokens/_reference.scss +72 -141
  521. package/src/sass/tokens/_shape.scss +38 -0
  522. package/src/sass/tokens/_stacking.scss +27 -0
  523. package/src/sass/tokens/_state.scss +0 -2
  524. package/src/sass/tokens/_theme.scss +10 -1
  525. package/src/sass/tokens/_vibrant.scss +2 -5
  526. package/src/sass/utilities/_defer-render.scss +17 -0
  527. package/src/sass/utilities/_helpers.scss +183 -26
  528. package/src/sass/utilities/_index.scss +1 -0
  529. package/src/sass/utilities/_scroll-area.scss +0 -2
  530. package/src/sass/utilities/_spacing.scss +52 -34
  531. package/src/sass/utilities/_typescale.scss +8 -1
  532. package/src/sass/utilities/_visibility.scss +47 -76
  533. package/src/sass/utilities/_z-depth.scss +7 -4
  534. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  535. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  536. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  537. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  540. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  541. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  543. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  548. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  553. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  556. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  562. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  564. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  567. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  568. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  569. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  570. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  572. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  574. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  578. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  582. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  584. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  587. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  589. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  590. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  592. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  593. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  594. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  596. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  598. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  599. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  602. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -11,8 +11,15 @@
11
11
  // circle, from the --radial-chart-dash RadialChart sets, so it can grow in;
12
12
  // --radial-chart-offset moves a round-capped dash in by half the width.
13
13
  //
14
- // Modifiers: .gauge draws half circles over the middle, .sparkline is a
15
- // small chart with no legend or tooltip. A <tfoot> row shows in the middle.
14
+ // data-segments on the figure splits each ring into that many segments,
15
+ // filled whole, with the ring gap between them.
16
+ //
17
+ // Modifiers: .gauge draws half circles over the middle, .gradient shades
18
+ // each fill along its ring, from a light tint at the start to the full
19
+ // color at the end, .labels draws
20
+ // three-quarter rings and names each one in the empty top left quarter,
21
+ // or under the base line of a gauge, .sparkline is a small chart with no legend, tooltip or names. A <tfoot>
22
+ // row shows in the middle.
16
23
  //
17
24
  // Tokens:
18
25
  // --md-comp-radial-chart-height 240px, the rings' diameter (sparkline 48px)
@@ -71,8 +78,9 @@
71
78
  stroke: var(--md-comp-radial-chart-track-color);
72
79
  }
73
80
 
74
- // A gauge's track ends where its fill would, so it ends round too.
75
- .radial-chart.gauge .radial-chart-track {
81
+ // A track short of a whole circle ends where its fill would, so it ends
82
+ // round too.
83
+ .radial-chart-track.capped {
76
84
  stroke-linecap: round;
77
85
  }
78
86
 
@@ -90,7 +98,7 @@
90
98
  }
91
99
 
92
100
  @media (prefers-reduced-motion: no-preference) {
93
- transition: stroke-dasharray 600ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.2, 0, 0, 1);
101
+ transition: stroke-dasharray var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard), opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
94
102
 
95
103
  @starting-style {
96
104
  stroke-dasharray: 0 1000;
@@ -98,6 +106,106 @@
98
106
  }
99
107
  }
100
108
 
109
+ // .gradient draws each fill again in HTML: a conic gradient round the
110
+ // ring's middle, masked by RadialChart to the fill's own dash, from a tint
111
+ // of the ring's color to the color itself where the fill ends. The SVG fill
112
+ // under it keeps its shape for the cap and the hover, and drops its color.
113
+ // A second mask, a conic reveal, grows the fill in as the SVG dash does. A
114
+ // shadow root ignores @property, so the reveal falls back to the whole turn
115
+ // there and the fill appears without growing.
116
+ @property --radial-chart-reveal {
117
+ syntax: "<angle>";
118
+ inherits: false;
119
+ initial-value: 360deg;
120
+ }
121
+
122
+ .radial-chart.gradient .radial-chart-ring {
123
+ stroke: transparent;
124
+ }
125
+
126
+ .radial-chart-sweep {
127
+ // The rings' middle: the box's, or for a gauge the middle of its base line.
128
+ --radial-chart-at: 50% 50%;
129
+
130
+ position: absolute;
131
+ inset: 0;
132
+ background: conic-gradient(
133
+ from var(--radial-chart-from, 0turn) at var(--radial-chart-at),
134
+ color-mix(in oklab, var(--radial-chart-color) 35%, var(--md-sys-color-surface)),
135
+ var(--radial-chart-color) var(--radial-chart-to, 1turn)
136
+ );
137
+ mask-image:
138
+ var(--radial-chart-shape, none),
139
+ conic-gradient(from var(--radial-chart-from, 0turn) at var(--radial-chart-at), #000 var(--radial-chart-reveal, 360deg), transparent 0);
140
+ mask-size: 100% 100%;
141
+ mask-repeat: no-repeat;
142
+ mask-composite: intersect;
143
+ pointer-events: none;
144
+
145
+ @media (prefers-reduced-motion: no-preference) {
146
+ transition:
147
+ --radial-chart-reveal var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard),
148
+ opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
149
+
150
+ @starting-style {
151
+ --radial-chart-reveal: 0deg;
152
+ }
153
+ }
154
+
155
+ .radial-chart.gauge & {
156
+ --radial-chart-at: 50% 100%;
157
+ }
158
+
159
+ .radial-chart-rings:has(.active) &:not(.active) {
160
+ opacity: 0.38;
161
+ }
162
+ }
163
+
164
+ // The names' font shrinks with the plot, so they need its size.
165
+ .radial-chart.labels .radial-chart-rings {
166
+ container-type: size;
167
+ }
168
+
169
+ // RadialChart sets each name's --radial-chart-at to its ring's top. Names
170
+ // end at the middle line, beside the start of their ring, and shrink to fit
171
+ // between crowded rings: one unit of the SVG's 100-unit box is 1cqw. They
172
+ // stay in a text color, since a ring color token may be too light to read.
173
+ .radial-chart-names > span {
174
+ position: absolute;
175
+ top: var(--radial-chart-at, 50%);
176
+ right: calc(50% + 4px);
177
+ max-width: calc(50% - 8px);
178
+ overflow: hidden;
179
+ translate: 0 -50%;
180
+ color: var(--md-sys-color-on-surface-variant);
181
+ @include typescale("label-medium");
182
+ font-size: min(var(--md-sys-typescale-label-medium-font-size), var(--radial-chart-step, 10) * 0.6cqw);
183
+ line-height: 1.2;
184
+ text-overflow: ellipsis;
185
+ white-space: nowrap;
186
+ }
187
+
188
+ // A gauge's names hang under its base line, a row each with the innermost
189
+ // ring's on top. Each starts at its ring's start, after a line down from
190
+ // it, and every line passes left of the names above it.
191
+ .radial-chart.gauge.labels:not(.sparkline) .radial-chart-plot {
192
+ margin-block-end: calc(var(--radial-chart-rows, 0) * var(--md-sys-typescale-label-medium-line-height) + 4px);
193
+ }
194
+
195
+ .radial-chart.gauge .radial-chart-names > span {
196
+ top: calc(100% + 4px);
197
+ right: 0;
198
+ left: var(--radial-chart-at, 0);
199
+ max-width: none;
200
+ padding: calc(var(--radial-chart-row, 0) * var(--md-sys-typescale-label-medium-line-height)) 0 0 4px;
201
+ border-left: 1px solid var(--md-sys-color-outline-variant);
202
+ translate: none;
203
+ // The rings do not mirror in RTL, so each name stays beside its line.
204
+ text-align: left;
205
+ font-size: var(--md-sys-typescale-label-medium-font-size);
206
+ line-height: var(--md-sys-typescale-label-medium-line-height);
207
+ }
208
+
101
209
  .radial-chart-tooltip {
102
210
  translate: 12px -50%;
103
211
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  .rich-text-editor {
14
14
  --md-comp-rich-text-editor-min-height: 160px;
15
- --md-comp-rich-text-editor-shape: 16px;
15
+ --md-comp-rich-text-editor-shape: var(--md-sys-shape-corner-large);
16
16
 
17
17
  display: flex;
18
18
  flex-direction: column;
@@ -76,7 +76,7 @@
76
76
 
77
77
  :not(pre) > code,
78
78
  pre {
79
- border-radius: 8px;
79
+ border-radius: var(--md-sys-shape-corner-small);
80
80
  background-color: var(--md-sys-color-surface-container-highest);
81
81
  font-family: ui-monospace, monospace;
82
82
  }
@@ -0,0 +1,114 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Sankey chart. A <figure class="sankey-chart"> holds a <figcaption> and a
4
+ // <table> of flows: the first column names each row's source node, the
5
+ // second its target node, and the third holds the value. Without JavaScript
6
+ // the table shows. SankeyChart draws the nodes in columns and each row as a
7
+ // link between two of them, and hides the table visually, so a screen
8
+ // reader still reads the flows as a table. The plot and tooltip come from
9
+ // chart().
10
+ //
11
+ // The SVG stretches to the plot (preserveAspectRatio="none"). Nodes and
12
+ // links are filled shapes with no stroke, so stretching keeps every link
13
+ // as thick as its value and every node as tall as its total.
14
+ //
15
+ // Each node takes a color in node order through data-series, and each link
16
+ // its source node's color, lighter. The names sit over the drawing, level
17
+ // with their nodes, from --sankey-chart-x and --sankey-chart-y, the
18
+ // script's percentages of the plot from its inline start and top.
19
+ //
20
+ // Tokens:
21
+ // --md-comp-sankey-chart-height 240px
22
+ // --md-comp-sankey-chart-link-opacity 0.4
23
+ // --md-comp-sankey-chart-color-1..6 primary, tertiary, secondary,
24
+ // on-surface-variant, then primary-
25
+ // and tertiary-container deepened
26
+ // toward on-surface, as the pie chart's
27
+
28
+ @include chart("sankey-chart");
29
+
30
+ .sankey-chart {
31
+ --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
+ }
35
+
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
+ }
55
+ }
56
+
57
+ .sankey-chart-node {
58
+ fill: var(--sankey-chart-color);
59
+ }
60
+
61
+ .sankey-chart-link {
62
+ fill: var(--sankey-chart-color);
63
+ fill-opacity: var(--md-comp-sankey-chart-link-opacity);
64
+
65
+ // The link the keys or pointer picked.
66
+ &.active {
67
+ fill-opacity: 0.8;
68
+ }
69
+ }
70
+
71
+ // Level with the link's middle.
72
+ .sankey-chart-tooltip {
73
+ translate: 12px -50%;
74
+
75
+ &.end {
76
+ translate: calc(-100% - 12px) -50%;
77
+ }
78
+
79
+ // The value header names a column, not a node, so it has no swatch.
80
+ > span.value::before {
81
+ content: none;
82
+ }
83
+ }
84
+
85
+ // Over the drawing, and out of the pointer's way, so a link under a name
86
+ // still takes it.
87
+ .sankey-chart-names {
88
+ position: absolute;
89
+ inset: 0;
90
+ z-index: 1;
91
+ pointer-events: none;
92
+ }
93
+
94
+ .sankey-chart-name {
95
+ position: absolute;
96
+ top: var(--sankey-chart-y, 0%);
97
+ inset-inline-start: var(--sankey-chart-x, 0%);
98
+ padding-inline: 4px;
99
+ color: var(--md-sys-color-on-surface);
100
+ @include typescale("body-small");
101
+ white-space: nowrap;
102
+ translate: 0 -50%;
103
+
104
+ &.end {
105
+ inset-inline: auto calc(100% - var(--sankey-chart-x, 0%));
106
+ }
107
+ }
108
+
109
+ // The colors tell the nodes apart, so they keep them.
110
+ @media (forced-colors: active) {
111
+ .sankey-chart-plot > svg {
112
+ forced-color-adjust: none;
113
+ }
114
+ }
@@ -0,0 +1,153 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Scatter chart. A <figure class="scatter-chart"> holds a <figcaption> and a
4
+ // <table> of data: the first column labels each row, the second is the x
5
+ // axis, and each further column is a series named by its header cell.
6
+ // Without JavaScript the table shows. ScatterChart draws each row as one
7
+ // point per series and hides the table visually, so a screen reader still
8
+ // reads the data as a table. The plot, tooltip and legend come from chart().
9
+ //
10
+ // The SVG stretches to the plot (preserveAspectRatio="none"), and points are
11
+ // round caps on zero-length lines with a non-scaling stroke, so they stay
12
+ // round at any size.
13
+ //
14
+ // Modifiers: .axis labels both axes at round values with grid lines,
15
+ // .toggle makes each legend item a button that shows or hides its series,
16
+ // and .bubble makes the last column each row's size, drawing every point as
17
+ // a bubble whose area follows it. The script sets each bubble's
18
+ // --scatter-chart-size, its diameter as a share of the largest, and animates
19
+ // it on update(), so it is registered as a number.
20
+ //
21
+ // Tokens:
22
+ // --md-comp-scatter-chart-height 240px
23
+ // --md-comp-scatter-chart-point-size 8px
24
+ // --md-comp-scatter-chart-bubble-size 48px, the largest bubble's diameter
25
+ // --md-comp-scatter-chart-grid-color outline-variant
26
+ // --md-comp-scatter-chart-color-1..4 primary, tertiary, secondary,
27
+ // on-surface-variant
28
+
29
+ @property --scatter-chart-size {
30
+ syntax: "<number>";
31
+ inherits: false;
32
+ initial-value: 1;
33
+ }
34
+
35
+ @include chart("scatter-chart");
36
+ @include chart-axis("scatter-chart");
37
+
38
+ .scatter-chart {
39
+ --md-comp-scatter-chart-point-size: 8px;
40
+ --md-comp-scatter-chart-bubble-size: 48px;
41
+ }
42
+
43
+ .scatter-chart-plot > svg {
44
+ position: absolute;
45
+ inset: 0;
46
+ width: 100%;
47
+ height: 100%;
48
+ overflow: visible;
49
+ }
50
+
51
+ .scatter-chart-points {
52
+ fill: none;
53
+ stroke: var(--scatter-chart-color);
54
+ stroke-width: var(--md-comp-scatter-chart-point-size);
55
+ stroke-linecap: round;
56
+ vector-effect: non-scaling-stroke;
57
+ }
58
+
59
+ // Partly transparent, so overlapping bubbles still show through.
60
+ .scatter-chart.bubble .scatter-chart-points {
61
+ stroke-width: calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size));
62
+ stroke-opacity: 0.7;
63
+ }
64
+
65
+ // With .bubble, room the largest bubble's radius wide around the plot, and
66
+ // the axis labels moved out by as much, so a bubble at the end of a scale
67
+ // spills into empty space instead of over the labels, caption or legend.
68
+ .scatter-chart.bubble {
69
+ --scatter-chart-room: calc(var(--md-comp-scatter-chart-bubble-size) / 2);
70
+
71
+ > .scatter-chart-plot {
72
+ margin: var(--scatter-chart-room);
73
+ }
74
+
75
+ &.axis > .scatter-chart-plot {
76
+ margin-block: calc(8px + var(--scatter-chart-room)) calc(#{rem(20px)} + var(--scatter-chart-room));
77
+ margin-inline-start: calc(var(--md-comp-scatter-chart-axis-width) + var(--scatter-chart-room));
78
+ }
79
+
80
+ .scatter-chart-axis:not(.x) > li > span {
81
+ inset-inline-end: calc(100% + var(--scatter-chart-room));
82
+ }
83
+
84
+ .scatter-chart-axis.x > li > span {
85
+ top: calc(100% + var(--scatter-chart-room));
86
+ }
87
+ }
88
+
89
+ // The x scale's labels, below the plot, each with a grid line up through it
90
+ // at --at from the left. The script mirrors --at in a right-to-left chart.
91
+ .scatter-chart.axis > .scatter-chart-plot {
92
+ margin-block-end: rem(20px);
93
+ }
94
+
95
+ .scatter-chart-axis.x {
96
+ > li {
97
+ inset-inline: auto;
98
+ inset-block: 0;
99
+ left: var(--at, 0%);
100
+ border-block-start: 0;
101
+ border-inline-start: 1px solid var(--md-comp-scatter-chart-grid-color);
102
+ }
103
+
104
+ > li > span {
105
+ inset-inline: auto;
106
+ top: 100%;
107
+ left: 0;
108
+ width: auto;
109
+ padding: 4px 0 0;
110
+ translate: -50% 0;
111
+ }
112
+ }
113
+
114
+ // The highlighted point's marker, and the tooltip level with it.
115
+ .scatter-chart-cursor {
116
+ inset-block: auto;
117
+ width: 14px;
118
+ height: 14px;
119
+ border: 2px solid var(--md-sys-color-surface);
120
+ border-radius: 50%;
121
+ box-sizing: border-box;
122
+ background-color: var(--scatter-chart-color);
123
+ translate: -50% -50%;
124
+ }
125
+
126
+ // Around a bubble, the marker is the bubble's size plus its border.
127
+ .scatter-chart.bubble .scatter-chart-cursor {
128
+ width: max(14px, calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size) + 4px));
129
+ height: max(14px, calc(var(--md-comp-scatter-chart-bubble-size) * var(--scatter-chart-size) + 4px));
130
+ }
131
+
132
+ .scatter-chart-tooltip {
133
+ translate: 12px -50%;
134
+
135
+ &.end {
136
+ translate: calc(-100% - 12px) -50%;
137
+ }
138
+
139
+ // The x header names the axis, not a series, so it has no swatch.
140
+ > span.x::before {
141
+ content: none;
142
+ }
143
+ }
144
+
145
+ @media (forced-colors: active) {
146
+ .scatter-chart-cursor {
147
+ forced-color-adjust: none;
148
+ }
149
+
150
+ .scatter-chart.bubble .scatter-chart-points {
151
+ stroke-opacity: 1;
152
+ }
153
+ }
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Scrim (M3 Expressive). A foundation, not a component: there is no markup an
4
2
  // author writes to get one. It is the wash a modal surface puts behind itself
5
3
  // to dim what it covers, and this is the one place its value is decided -
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // ScrollSpy. The section is the target of a hash link. Offset is CSS
4
2
  // (scroll-margin). Which TOC link is current is IntersectionObserver.
5
3
  //
@@ -4,7 +4,7 @@
4
4
  //
5
5
  // Anatomy is the HTML. A `<search class="search-bar">` is the bar - an
6
6
  // optional leading icon or icon button, an `<input type="search">`, and
7
- // optional trailing actions. `.searchbar` is the pre-1.0 alias.
7
+ // optional trailing actions.
8
8
  //
9
9
  // `.search-view` is the surface the bar expands into, and it is two different
10
10
  // native elements because the two variants want two different behaviours:
@@ -46,17 +46,17 @@
46
46
  // a bare list interpolated into `.search-view > #{$_bar}` breaks out of its
47
47
  // context and emits a top-level rule.
48
48
 
49
- $_bar: ":is(.search-bar, .searchbar)";
49
+ $_bar: ".search-bar";
50
50
 
51
51
  #{$_bar} {
52
52
  --md-comp-search-bar-container-color: var(--md-sys-color-surface-container-high);
53
- --md-comp-search-bar-container-height: 56px;
54
- --md-comp-search-bar-container-shape: 9999px;
53
+ --md-comp-search-bar-container-height: #{rem(56px)};
54
+ --md-comp-search-bar-container-shape: var(--md-sys-shape-corner-full);
55
55
  --md-comp-search-bar-leading-space: 16px;
56
56
  --md-comp-search-bar-trailing-space: 16px;
57
57
  --md-comp-search-bar-icon-label-space: 16px;
58
- --md-comp-search-bar-icon-size: 24px;
59
- --md-comp-search-bar-avatar-size: 30px;
58
+ --md-comp-search-bar-icon-size: #{rem(24px)};
59
+ --md-comp-search-bar-avatar-size: #{rem(30px)};
60
60
 
61
61
  position: relative;
62
62
  box-sizing: border-box;
@@ -151,26 +151,11 @@ $_bar: ":is(.search-bar, .searchbar)";
151
151
  appearance: none;
152
152
  }
153
153
  }
154
-
155
- // Pre-1.0 `.searchbar` sat in a navbar beside a fixed drawer.
156
- &.has-sidebar {
157
- margin-inline-start: 0;
158
-
159
- @include bp-up("expanded") {
160
- // `width: auto`, because the margin sits *outside* the base bar's
161
- // `width: 100%`: the two together make the bar 100% + 300px wide and
162
- // push its trailing edge past the viewport, on exactly the fixed-drawer
163
- // layout this rule exists to preserve. The legacy bar had no width of
164
- // its own, so the margin shrank it.
165
- width: auto;
166
- margin-inline-start: 300px;
167
- }
168
- }
169
154
  }
170
155
 
171
156
  .search-view {
172
157
  --md-comp-search-view-container-color: var(--md-sys-color-surface-container-high);
173
- --md-comp-search-view-container-shape: 12px;
158
+ --md-comp-search-view-container-shape: var(--md-sys-shape-corner-medium);
174
159
  --md-comp-search-view-header-height: 56px;
175
160
  --md-comp-search-view-divider-color: var(--md-sys-color-outline);
176
161
  --md-comp-search-view-bar-results-gap: 2px;
@@ -258,3 +243,22 @@ $_bar: ":is(.search-bar, .searchbar)";
258
243
  backdrop-filter: none;
259
244
  }
260
245
  }
246
+
247
+ // The input inside clears its own focus ring, so the bar shows it.
248
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
249
+ @include focus-ring;
250
+ }
251
+
252
+ // Both surfaces are fills and shadows, which forced colors paint as Canvas and
253
+ // drop. A bar inside the view is part of the view's surface.
254
+ @media (forced-colors: active) {
255
+ :is(#{$_bar}):not(.search-view *),
256
+ .search-view {
257
+ outline: 1px solid CanvasText;
258
+ }
259
+
260
+ // The input inside clears its own focus ring.
261
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
262
+ outline: 2px solid Highlight;
263
+ }
264
+ }
@@ -0,0 +1,8 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Show more. Clamped text and the <button> that shows all of it; the ShowMore
4
+ // component hides the button with the hidden attribute while the text fits,
5
+ // which the button's own display rule would otherwise beat.
6
+ .show-more > button[hidden] {
7
+ display: none;
8
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  // Side sheets.
4
4
  //
5
- // Anatomy is the HTML. A dialog.side-sheet (or .right / .left) is the
5
+ // Anatomy is the HTML. A dialog.side-sheet is the
6
6
  // surface, docked to the trailing edge by default. showModal() is the
7
7
  // modal variant (scrim, rounded inner corners). show() is the standard
8
8
  // variant (no scrim, a divider on the inner edge, page stays interactive).
@@ -21,38 +21,45 @@
21
21
  // Standard is for large windows next to the main pane. Modal is for
22
22
  // compact/medium, or whenever the sheet should interrupt.
23
23
 
24
- $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet";
24
+ $_sheet: "dialog.side-sheet";
25
25
 
26
26
  #{$_sheet} {
27
27
  --md-comp-side-sheet-container-color: var(--md-sys-color-surface-container-low);
28
- --md-comp-side-sheet-container-shape: 28px;
28
+ --md-comp-side-sheet-container-shape: var(--md-sys-shape-corner-extra-large);
29
29
  --md-comp-side-sheet-container-width: 400px;
30
30
  --md-comp-side-sheet-shift: 0px;
31
+ // Entry and drag snap-back run on the default spatial spring, which follows
32
+ // the motion="expressive" switch.
33
+ --md-comp-side-sheet-motion: var(--md-sys-motion-spring-default-spatial);
34
+ --md-comp-side-sheet-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
35
+ // A spatial spring overshoots, so the sheet runs on past its docked edge by
36
+ // this much, padded, and the overshoot never uncovers the page there.
37
+ --_bleed: 24px;
31
38
 
32
39
  box-sizing: border-box;
33
40
  position: fixed;
34
- float: none !important;
35
41
  inset-block: 0;
36
42
  inset-inline-start: auto;
37
- inset-inline-end: 0;
38
- width: min(var(--md-comp-side-sheet-container-width), 85%);
39
- max-width: var(--md-comp-side-sheet-container-width);
43
+ inset-inline-end: calc(-1 * var(--_bleed));
44
+ width: calc(min(var(--md-comp-side-sheet-container-width), 85%) + var(--_bleed));
45
+ max-width: calc(var(--md-comp-side-sheet-container-width) + var(--_bleed));
40
46
  height: auto;
41
47
  max-height: none;
42
48
  min-width: 0;
43
49
  min-height: 0;
44
50
  margin: 0;
45
51
  padding: 0;
52
+ padding-inline-end: var(--_bleed);
46
53
  border: none;
47
54
  background-color: var(--md-comp-side-sheet-container-color);
48
55
  color: var(--md-sys-color-on-surface);
49
56
  outline: none;
50
57
  translate: var(--md-comp-side-sheet-shift) 0;
51
- transition: translate 280ms ease, border-radius 200ms ease;
58
+ transition: translate var(--md-comp-side-sheet-motion-duration) var(--md-comp-side-sheet-motion), border-radius var(--md-sys-motion-duration-short4) ease;
52
59
  @include glass(var(--md-comp-side-sheet-container-color));
53
60
 
54
61
  &:not(:modal) {
55
- z-index: 1100;
62
+ z-index: var(--expressive-z-sheet);
56
63
  border-radius: 0;
57
64
  box-shadow: none;
58
65
  // Standard: attached to the page, inner edge is a divider.
@@ -72,11 +79,10 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
72
79
  }
73
80
 
74
81
  // Leading-edge dock.
75
- &.left,
76
- &.left-sheet,
77
82
  &.start {
78
- inset-inline-start: 0;
83
+ inset-inline-start: calc(-1 * var(--_bleed));
79
84
  inset-inline-end: auto;
85
+ padding-inline: var(--_bleed) 0;
80
86
 
81
87
  &:not(:modal) {
82
88
  border-inline-start: 0;
@@ -103,6 +109,9 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
103
109
  padding-inline: 24px 12px;
104
110
  background: none;
105
111
  box-shadow: none;
112
+ // A horizontal touch drag here dismisses the sheet; the browser would
113
+ // otherwise take it as a pan and cancel the pointer.
114
+ touch-action: pan-y;
106
115
  }
107
116
 
108
117
  > header:has(> :is(button, a):first-child) {
@@ -130,30 +139,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
130
139
  }
131
140
 
132
141
  > header :is(button, a.button) {
133
- flex: 0 0 48px;
134
- box-sizing: border-box;
135
- width: 48px;
136
- height: 48px;
137
- min-width: 48px;
138
- padding: 0;
139
- border: none;
140
- border-radius: 50%;
141
- background-color: transparent;
142
- color: var(--md-sys-color-on-surface-variant);
143
- box-shadow: none;
144
-
145
- > #{$icon} {
146
- font-size: 24px;
147
- width: 24px;
148
- height: 24px;
149
- line-height: 24px;
150
- }
151
-
152
- &:hover {
153
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
154
- }
155
-
156
- @include focus-visible;
142
+ @include header-icon-action;
157
143
  }
158
144
 
159
145
  > :is(form, nav):last-child {
@@ -184,7 +170,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
184
170
  translate: -100% 0;
185
171
  }
186
172
 
187
- &:is(.start, .left, .left-sheet) {
173
+ &.start {
188
174
  translate: -100% 0;
189
175
 
190
176
  &:dir(rtl) {
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Skeleton. An empty block that holds the place of content still loading,
4
2
  // with a shimmer passing across it. The block has no text and nothing to
5
3
  // announce: mark the region being filled with aria-busy="true", and report
@@ -25,7 +23,7 @@
25
23
  var(--md-sys-color-surface) 50%,
26
24
  transparent
27
25
  );
28
- --md-comp-skeleton-shape: 8px;
26
+ --md-comp-skeleton-shape: var(--md-sys-shape-corner-small);
29
27
  --md-comp-skeleton-circle-size: 40px;
30
28
 
31
29
  display: block;
@@ -47,7 +45,7 @@
47
45
  }
48
46
 
49
47
  &.text {
50
- --md-comp-skeleton-shape: 4px;
48
+ --md-comp-skeleton-shape: var(--md-sys-shape-corner-extra-small);
51
49
 
52
50
  width: 100%;
53
51
  height: 1em;