@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
@@ -6,8 +6,8 @@
6
6
  // elements, so everything below has to survive on any of them - hence the
7
7
  // resets.
8
8
  .chip {
9
- --font-size: 14px;
10
- --font-size-icon: 18px;
9
+ --font-size: var(--md-sys-typescale-label-large-font-size);
10
+ --font-size-icon: #{rem(18px)};
11
11
  --padding: 8px;
12
12
 
13
13
  color: var(--md-sys-color-on-surface-variant);
@@ -19,18 +19,16 @@
19
19
  min-width: 0;
20
20
  gap: 8px;
21
21
  margin: 0;
22
- min-height: 32px;
22
+ min-height: rem(32px);
23
23
  height: auto;
24
- // 4dp keeps wrapped lines off the edges. It is also exactly what a 24dp
25
- // avatar or delete target leaves in the 32dp container, so a chip that fits
26
- // on one line keeps its height.
24
+ // Keep a 4px inset for wrapped lines as the content boxes grow.
27
25
  padding-block: 4px;
28
- padding-left: var(--padding);
29
- padding-right: var(--padding);
30
- font-size: var(--font-size);
26
+ padding-left: var(--md-comp-chip-padding, var(--padding));
27
+ padding-right: var(--md-comp-chip-padding, var(--padding));
28
+ font-size: var(--md-comp-chip-label-size, var(--font-size));
31
29
  line-height: 1.5;
32
30
  font-weight: 500;
33
- border-radius: 8px;
31
+ border-radius: var(--md-sys-shape-corner-small);
34
32
  align-items: center;
35
33
  user-select: none;
36
34
  vertical-align: top;
@@ -41,13 +39,12 @@
41
39
  font-family: inherit;
42
40
  text-align: inherit;
43
41
 
44
- // Selected. `.active` is the pre-0.8.0 name and still works; `:focus` used
45
- // to stand in for selection here, which meant a chip could not show focus
46
- // and selection as the different things they are.
47
- &.selected,
48
- &.active {
42
+ // Selected. `:focus` used to stand in for selection here, which meant a
43
+ // chip could not show focus and selection as the different things they are.
44
+ &.selected {
49
45
  background-color: var(--md-sys-color-secondary-container);
50
46
  color: var(--md-sys-color-on-secondary-container);
47
+ @include forced-colors-selected;
51
48
  }
52
49
 
53
50
  @include focus-visible();
@@ -58,11 +55,7 @@
58
55
  cursor: pointer;
59
56
 
60
57
  &:hover {
61
- background-color: color-mix(
62
- in oklab,
63
- var(--md-sys-color-on-surface-variant) state-opacity("hover"),
64
- var(--md-sys-color-surface-container-low)
65
- );
58
+ background-color: state-layer(var(--md-sys-color-on-surface-variant), "hover", var(--md-sys-color-surface-container-low));
66
59
  }
67
60
  }
68
61
 
@@ -75,6 +68,7 @@
75
68
  .chip-input:checked + .chip {
76
69
  background-color: var(--md-sys-color-secondary-container);
77
70
  color: var(--md-sys-color-on-secondary-container);
71
+ @include forced-colors-selected;
78
72
  }
79
73
 
80
74
  .chip-input:focus-visible + .chip {
@@ -91,14 +85,14 @@
91
85
  .chip > img {
92
86
  flex-shrink: 0;
93
87
  margin: 0;
94
- width: 24px;
95
- height: 24px;
88
+ width: rem(24px);
89
+ height: rem(24px);
96
90
  object-fit: cover;
97
- border-radius: 12px;
91
+ border-radius: var(--md-sys-shape-corner-medium);
98
92
  }
99
93
 
100
- .chip > :is(.material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons) {
101
- font-size: var(--font-size-icon);
94
+ .chip > :is(.material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp) {
95
+ font-size: var(--md-comp-chip-icon-size, var(--font-size-icon));
102
96
  color: var(--md-sys-color-on-surface-variant);
103
97
  }
104
98
 
@@ -106,8 +100,8 @@
106
100
  .chip .close {
107
101
  flex-shrink: 0;
108
102
  border-radius: 50%;
109
- height: 24px;
110
- width: 24px;
103
+ height: rem(24px);
104
+ width: rem(24px);
111
105
  padding: 0;
112
106
  display: grid;
113
107
  justify-content: center;
@@ -131,7 +125,7 @@
131
125
  }
132
126
 
133
127
  .chip .close:hover {
134
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface-variant) state-opacity("hover"), transparent);
128
+ background-color: state-layer(var(--md-sys-color-on-surface-variant), "hover");
135
129
  }
136
130
 
137
131
  //--------------------------
@@ -145,7 +139,15 @@
145
139
  margin: 0 0 8px 0;
146
140
  padding: 4px;
147
141
  outline: none;
148
- transition: all .3s;
142
+ // An effect, not a move: the fast effects spring, which never overshoots.
143
+ transition:
144
+ border-color var(--md-sys-motion-spring-fast-effects-duration) var(--md-sys-motion-spring-fast-effects),
145
+ border-width var(--md-sys-motion-spring-fast-effects-duration) var(--md-sys-motion-spring-fast-effects),
146
+ box-shadow var(--md-sys-motion-spring-fast-effects-duration) var(--md-sys-motion-spring-fast-effects);
147
+
148
+ @media (prefers-reduced-motion: reduce) {
149
+ transition: none;
150
+ }
149
151
 
150
152
  &.focus {
151
153
  border-bottom: 1px solid var(--md-sys-color-primary);
@@ -163,16 +165,16 @@
163
165
  input:not([type]):not(.browser-default).input {
164
166
  background: none;
165
167
  border: 0;
166
- color: var(--md-sys-color-on-background);
168
+ color: var(--md-sys-color-on-surface);
167
169
  display: inline-block;
168
- font-size: 16px;
169
- height: 32px;
170
+ font-size: rem(16px);
171
+ height: rem(32px);
170
172
  outline: 0;
171
173
  margin: 0;
172
174
  padding: 0;
173
175
  width: fit-content;
174
- min-width: 100px;
175
- max-width: 200px;
176
+ min-width: rem(100px);
177
+ max-width: rem(200px);
176
178
 
177
179
  &:focus {
178
180
  border: 0;
@@ -187,18 +189,6 @@
187
189
  }
188
190
  }
189
191
 
190
- // Form prefix
191
- .prefix ~ .chips {
192
- margin-left: 3rem;
193
- width: calc(100% - 3rem);
194
- }
195
-
196
- // Form suffix
197
- .suffix ~ .chips {
198
- margin-right: 3rem;
199
- width: calc(100% - 3rem);
200
- }
201
-
202
192
  .chips:empty ~ label {
203
193
  font-size: 0.8rem;
204
194
  transform: translateY(-140%);
@@ -11,8 +11,10 @@
11
11
  //
12
12
  // Modifiers: .stacked draws one column per row with each series on the
13
13
  // ones before it, .fade fades each column toward its base, .track draws a
14
- // full-height track behind each row's columns, .sparkline is a small chart
15
- // with no axis, grid, legend or tooltip.
14
+ // full-height track behind each row's columns, .axis labels the y axis at
15
+ // round values with a grid line at each, .sparkline is a small chart
16
+ // with no axis, grid, legend or tooltip. A series header with class
17
+ // "range" reads cells such as "12–28" and floats a column between the ends.
16
18
  //
17
19
  // Tokens:
18
20
  // --md-comp-column-chart-height 240px (sparkline 48px)
@@ -20,14 +22,16 @@
20
22
  // --md-comp-column-chart-shape 4px, the column's end radius
21
23
  // --md-comp-column-chart-track-color surface-container-highest
22
24
  // --md-comp-column-chart-grid-color outline-variant
25
+ // --md-comp-column-chart-axis-width 48px, room for the .axis labels
23
26
  // --md-comp-column-chart-color-1..4 primary, tertiary, secondary,
24
27
  // on-surface-variant
25
28
 
26
29
  @include chart("column-chart");
30
+ @include chart-axis("column-chart");
27
31
 
28
32
  .column-chart {
29
33
  --md-comp-column-chart-column-width: 60%;
30
- --md-comp-column-chart-shape: 4px;
34
+ --md-comp-column-chart-shape: var(--md-sys-shape-corner-extra-small);
31
35
  --md-comp-column-chart-track-color: var(--md-sys-color-surface-container-highest);
32
36
  }
33
37
 
@@ -63,17 +67,14 @@
63
67
  &.negative {
64
68
  --column-chart-ends: var(--column-chart-base) var(--column-chart-base) var(--column-chart-tip) var(--column-chart-tip);
65
69
  }
66
- }
67
-
68
- @media (prefers-reduced-motion: no-preference) {
69
- > div > span {
70
- transition: clip-path 400ms cubic-bezier(0.2, 0, 0, 1);
71
70
 
72
- @starting-style {
73
- clip-path: inset(var(--zero, 100%) 0 calc(100% - var(--zero, 100%)) round var(--column-chart-ends));
74
- }
71
+ // A range floats, so both its ends are tips.
72
+ &.floating {
73
+ --column-chart-base: var(--column-chart-tip);
75
74
  }
76
75
  }
76
+
77
+ @include chart-column-motion;
77
78
  }
78
79
 
79
80
  // One column per row, rounded only at the ends of the whole stack.
@@ -119,7 +120,7 @@
119
120
  z-index: -1;
120
121
  width: calc(100% / var(--rows, 1));
121
122
  border-radius: var(--md-comp-column-chart-shape);
122
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
123
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
123
124
  translate: -50% 0;
124
125
  }
125
126
 
@@ -131,4 +132,10 @@
131
132
  .column-chart-cursor {
132
133
  outline: 1px solid CanvasText;
133
134
  }
135
+
136
+ // The track is a fill, which forced colors paint as Canvas.
137
+ .column-chart.track .column-chart-columns > div {
138
+ outline: 1px solid CanvasText;
139
+ outline-offset: -1px;
140
+ }
134
141
  }
@@ -54,7 +54,7 @@ dialog.command-palette {
54
54
 
55
55
  > li {
56
56
  margin: 0;
57
- border-radius: 12px;
57
+ border-radius: var(--md-sys-shape-corner-medium);
58
58
  color: var(--md-sys-color-on-surface);
59
59
  }
60
60
 
@@ -87,7 +87,7 @@ dialog.command-palette {
87
87
 
88
88
  > #{$icon}:first-child {
89
89
  flex: none;
90
- font-size: 20px;
90
+ font-size: rem(20px);
91
91
  color: var(--md-sys-color-on-surface-variant);
92
92
  }
93
93
 
@@ -132,9 +132,6 @@ dialog.command-palette {
132
132
  }
133
133
  }
134
134
 
135
- @media (forced-colors: active) {
136
- dialog.command-palette > :is(ul, ol) > li.active {
137
- outline: 2px solid Highlight;
138
- outline-offset: -2px;
139
- }
135
+ dialog.command-palette > :is(ul, ol) > li.active {
136
+ @include forced-colors-selected;
140
137
  }
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Confetti. A <canvas class="confetti"> covers its nearest positioned
4
2
  // ancestor and lets clicks through to what is under it. The Confetti script
5
3
  // draws on it. A burst over the whole viewport needs no markup; the script
@@ -22,7 +22,7 @@
22
22
  // --md-comp-countdown-duration roll duration 400ms
23
23
  // --md-comp-countdown-easing roll easing cubic-bezier(0.2, 0, 0, 1)
24
24
 
25
- $_timing: var(--md-comp-countdown-duration, 400ms) var(--md-comp-countdown-easing, cubic-bezier(0.2, 0, 0, 1));
25
+ $_timing: var(--md-comp-countdown-duration, var(--md-sys-motion-duration-medium4)) var(--md-comp-countdown-easing, var(--md-sys-motion-easing-standard));
26
26
  $_tens: "";
27
27
  $_ones: "";
28
28
  @for $i from 0 through 99 {
@@ -12,7 +12,25 @@
12
12
  // Sorting and selection are page state written into the markup:
13
13
  // th[aria-sort] a <button> in the header cell shows the sort arrow
14
14
  // row checkbox a checked box in the first cell selects the row
15
- // The framework only draws them; the page reorders rows.
15
+ // [aria-expanded] a button in a row shows or hides the
16
+ // tr.data-table-detail right after it; a button with
17
+ // aria-haspopup (a row's menu, select or combobox) is
18
+ // not a disclosure and is left alone
19
+ // The framework draws them. With data-sort on the wrapper it also reorders
20
+ // the rows and moves aria-sort, and a checkbox in the first header cell
21
+ // selects every row (behaviors/dataTables.ts). The page flips
22
+ // aria-expanded. A .data-table-actions bar just before the wrapper joins its
23
+ // top edge and takes the selected color while any row is selected.
24
+ //
25
+ // .sticky-column on the wrapper pins each row's first cell to its
26
+ // inline-start edge while the other columns scroll sideways. When the first
27
+ // column holds checkboxes, the name cell after it is pinned too, so the
28
+ // checkbox column takes a fixed width that offsets the second cell. Detail
29
+ // rows and the caption scroll with the table.
30
+ //
31
+ // A <button class="drag-handle"> ending a header cell resizes its column by
32
+ // pointer, keyboard or click (behaviors/dataTables.ts). It sits on the cell's
33
+ // inline-end edge and is not a sort control.
16
34
  //
17
35
  // Tokens:
18
36
  // --md-comp-data-table-container-color surface
@@ -22,15 +40,21 @@
22
40
  // --md-comp-data-table-row-height 52px / dense 40px
23
41
  // --md-comp-data-table-cell-padding 16px
24
42
  // --md-comp-data-table-selected-container-color secondary-container
43
+ // --md-comp-data-table-detail-container-color surface-container-low
44
+ // --md-comp-data-table-checkbox-column-width cell padding + 18px box
45
+ // --md-comp-data-table-column-min-width 48px, the narrowest resize
25
46
 
26
47
  .data-table {
27
48
  --md-comp-data-table-container-color: var(--md-sys-color-surface);
28
- --md-comp-data-table-shape: 12px;
49
+ --md-comp-data-table-shape: var(--md-sys-shape-corner-medium);
29
50
  --md-comp-data-table-outline-color: var(--md-sys-color-outline-variant);
30
51
  --md-comp-data-table-header-height: 56px;
31
52
  --md-comp-data-table-row-height: 52px;
32
53
  --md-comp-data-table-cell-padding: 16px;
33
54
  --md-comp-data-table-selected-container-color: var(--md-sys-color-secondary-container);
55
+ --md-comp-data-table-detail-container-color: var(--md-sys-color-surface-container-low);
56
+ --md-comp-data-table-checkbox-column-width: calc(var(--md-comp-data-table-cell-padding) + 18px);
57
+ --md-comp-data-table-column-min-width: #{rem(48px)};
34
58
 
35
59
  box-sizing: border-box;
36
60
  max-width: 100%;
@@ -102,31 +126,109 @@
102
126
  font-variant-numeric: tabular-nums;
103
127
  }
104
128
 
129
+ // --_row carries the row's state color to its cells, so a pinned cell can
130
+ // paint it over its own opaque fill.
105
131
  > table > tbody > tr {
106
- transition: background-color 0.2s ease-out;
132
+ background-color: var(--_row, transparent);
133
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
107
134
 
108
135
  &:hover {
109
- background-color: color-mix(
110
- in oklab,
111
- var(--md-sys-color-on-surface) state-opacity("hover"),
112
- transparent
113
- );
136
+ --_row: #{state-layer(var(--md-sys-color-on-surface), "hover")};
114
137
  }
115
138
 
116
139
  &:has(> :first-child input[type="checkbox"]:checked) {
117
- background-color: var(--md-comp-data-table-selected-container-color);
140
+ --_row: var(--md-comp-data-table-selected-container-color);
118
141
  color: var(--md-sys-color-on-secondary-container);
119
142
  }
120
143
  }
121
144
 
145
+ // Row expansion. The detail row shows only while the row before it holds an
146
+ // expanded toggle, so the page flips one attribute and nothing else.
147
+ > table > tbody > tr:not(:has(button[aria-expanded="true"]:not([aria-haspopup]))) + tr.data-table-detail {
148
+ display: none;
149
+ }
150
+
151
+ // Keep filtering and paging separate from the author's hidden attribute.
152
+ > table > tbody > tr:is([data-table-filter-hidden], [data-table-page-hidden]) {
153
+ display: none;
154
+ }
155
+
156
+ > table > tbody > tr.data-table-detail > td {
157
+ padding-block: 16px;
158
+ background-color: var(--md-comp-data-table-detail-container-color);
159
+ }
160
+
161
+ td button[aria-expanded]:not([aria-haspopup]) > #{$icon} {
162
+ transition: transform var(--md-sys-motion-duration-short4) ease-out;
163
+ }
164
+
165
+ td button[aria-expanded="true"]:not([aria-haspopup]) > #{$icon} {
166
+ transform: rotate(180deg);
167
+ }
168
+
122
169
  // A checkbox cell hugs its box rather than taking a text column's width.
123
170
  :is(th, td):has(> label > input[type="checkbox"]:only-child) {
124
171
  width: 1px;
125
172
  padding-inline-end: 0;
126
173
  }
127
174
 
175
+ // Sticky first column. Pinned body cells stack above scrolled body cells,
176
+ // and the pinned header cells above the scrolled header cells.
177
+ &.sticky-column {
178
+ > table > * > tr:where(:not(.data-table-detail)) > :first-child {
179
+ position: sticky;
180
+ inset-inline-start: 0;
181
+ z-index: 1;
182
+ border-inline-end: 1px solid var(--md-comp-data-table-outline-color);
183
+ // ponytail: the row color jumps here while the rest of the row fades;
184
+ // a registered @property would let it transition too.
185
+ background: linear-gradient(var(--_row, transparent), var(--_row, transparent)) var(--md-comp-data-table-container-color);
186
+ }
187
+
188
+ > table > thead > tr > :first-child {
189
+ z-index: 2;
190
+ }
191
+ }
192
+
193
+ &.sticky-column:has(> table > * > tr > :first-child > label > input[type="checkbox"]:only-child) {
194
+ > table > * > tr:where(:not(.data-table-detail)) > :first-child {
195
+ width: var(--md-comp-data-table-checkbox-column-width);
196
+ padding-inline-end: 0;
197
+ border-inline-end: 0;
198
+ }
199
+
200
+ > table > * > tr:where(:not(.data-table-detail)) > :nth-child(2) {
201
+ position: sticky;
202
+ inset-inline-start: var(--md-comp-data-table-checkbox-column-width);
203
+ z-index: 1;
204
+ border-inline-end: 1px solid var(--md-comp-data-table-outline-color);
205
+ background: linear-gradient(var(--_row, transparent), var(--_row, transparent)) var(--md-comp-data-table-container-color);
206
+ }
207
+
208
+ > table > thead > tr > :nth-child(2) {
209
+ z-index: 2;
210
+ }
211
+ }
212
+
213
+ // A resizable column's handle. Header cells are sticky, so they hold it.
214
+ // The end padding clears the handle's 24px hit area, so end-aligned
215
+ // text never runs under it.
216
+ th:has(> button.drag-handle:last-child) {
217
+ min-inline-size: var(--md-comp-data-table-column-min-width);
218
+ padding-inline-end: max(var(--md-comp-data-table-cell-padding), 24px);
219
+ }
220
+
221
+ th > button.drag-handle:last-child {
222
+ position: absolute;
223
+ inset-block: 0;
224
+ inset-inline-end: 0;
225
+ block-size: auto;
226
+ cursor: col-resize;
227
+ touch-action: none;
228
+ }
229
+
128
230
  // The sort control fills the header text and carries a trailing arrow.
129
- th > button {
231
+ th > button:where(:not(.drag-handle)) {
130
232
  display: inline-flex;
131
233
  align-items: center;
132
234
  gap: 4px;
@@ -134,7 +236,7 @@
134
236
  margin: 0;
135
237
  padding: 0;
136
238
  border: 0;
137
- border-radius: 4px;
239
+ border-radius: var(--md-sys-shape-corner-extra-small);
138
240
  background: none;
139
241
  color: inherit;
140
242
  font: inherit;
@@ -145,14 +247,9 @@
145
247
  @include focus-visible;
146
248
 
147
249
  &::after {
148
- content: "";
149
- flex: none;
150
- width: 18px;
151
- height: 18px;
152
- background-color: currentColor;
153
- mask: $trend-arrow center / 18px no-repeat;
250
+ @include trend-arrow;
154
251
  opacity: 0;
155
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
252
+ transition: opacity var(--md-sys-motion-duration-short4) ease-out, transform var(--md-sys-motion-duration-short4) ease-out;
156
253
  }
157
254
 
158
255
  &:hover::after {
@@ -161,26 +258,66 @@
161
258
  }
162
259
 
163
260
  // Numbers line up on their end edge, so the arrow leads their label.
164
- th.numeric > button {
261
+ th.numeric > button:where(:not(.drag-handle)) {
165
262
  flex-direction: row-reverse;
166
263
  }
167
264
 
168
265
  th:is([aria-sort="ascending"], [aria-sort="descending"]) {
169
266
  color: var(--md-sys-color-on-surface);
170
267
 
171
- > button::after {
268
+ > button:where(:not(.drag-handle))::after {
172
269
  opacity: 1;
173
270
  }
174
271
  }
175
272
 
176
- th[aria-sort="descending"] > button::after {
273
+ th[aria-sort="descending"] > button:where(:not(.drag-handle))::after {
177
274
  transform: rotate(180deg);
178
275
  }
179
276
  }
180
277
 
181
- @media (forced-colors: active) {
182
- .data-table th > button::after {
183
- forced-color-adjust: none;
184
- background-color: CanvasText;
278
+ .data-table th > button:where(:not(.drag-handle))::after {
279
+ @include forced-colors-fill;
280
+ }
281
+
282
+ // Bulk actions. A bar of buttons for the selected rows, written just before
283
+ // the .data-table it acts on. It shares the table's outline and joins its top
284
+ // edge; while a body row is selected it takes the selected color, so it reads
285
+ // as part of the selection. The page keeps any "3 selected" text current.
286
+ .data-table-actions {
287
+ box-sizing: border-box;
288
+ display: flex;
289
+ flex-wrap: wrap;
290
+ align-items: center;
291
+ gap: 8px;
292
+ min-height: 56px;
293
+ margin: $element-top-margin 0 0;
294
+ padding: 8px 16px;
295
+ border: 1px solid var(--md-sys-color-outline-variant);
296
+ border-block-end: 0;
297
+ border-radius: var(--md-sys-shape-corner-medium) var(--md-sys-shape-corner-medium) 0 0;
298
+ background-color: var(--md-sys-color-surface);
299
+ color: var(--md-sys-color-on-surface);
300
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
301
+ @include typescale("title-small");
302
+
303
+ &[hidden] {
304
+ display: none;
305
+ }
306
+
307
+ &:has(+ .data-table > table > tbody > tr > :first-child input[type="checkbox"]:checked) {
308
+ background-color: var(--md-sys-color-secondary-container);
309
+ color: var(--md-sys-color-on-secondary-container);
310
+ }
311
+
312
+ // The count or label pushes the buttons to the end.
313
+ > :first-child:not(button, .button, .icon-button) {
314
+ margin-inline-end: auto;
315
+ }
316
+
317
+ // A hidden bar leaves the table's own top edge alone.
318
+ &:not([hidden]) + .data-table {
319
+ margin-block-start: 0;
320
+ border-start-start-radius: 0;
321
+ border-start-end-radius: 0;
185
322
  }
186
323
  }