@expressivecss/expressive 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (609) hide show
  1. package/CHANGELOG.md +1807 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19176 -11958
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
  8. package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
  9. package/dist/fonts/LICENSE-noto-sans-thai +93 -0
  10. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  11. package/dist/fonts/material-symbols-rounded.woff2 +0 -0
  12. package/dist/fonts/material-symbols-sharp.woff2 +0 -0
  13. package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
  15. package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
  16. package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
  17. package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
  18. package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
  19. package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
  20. package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
  21. package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
  22. package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
  23. package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
  24. package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
  25. package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
  26. package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
  27. package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
  28. package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
  29. package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
  30. package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
  31. package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
  32. package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
  33. package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
  34. package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
  35. package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
  36. package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
  37. package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
  38. package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
  39. package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
  40. package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
  41. package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
  42. package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
  43. package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
  44. package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
  45. package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
  46. package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
  47. package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
  48. package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
  49. package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
  50. package/dist/fonts/roboto-greek-400.woff2 +0 -0
  51. package/dist/fonts/roboto-greek-500.woff2 +0 -0
  52. package/dist/fonts/roboto-greek-700.woff2 +0 -0
  53. package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
  54. package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
  55. package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
  56. package/dist/fonts/roboto-latin-700.woff2 +0 -0
  57. package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
  58. package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
  59. package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
  60. package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
  61. package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
  62. package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
  63. package/dist/js/chunks/chunk-26VUH75M.mjs +102 -0
  64. package/dist/js/chunks/chunk-26VUH75M.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2LFCOGC3.mjs +233 -0
  66. package/dist/js/chunks/chunk-2LFCOGC3.mjs.map +7 -0
  67. package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-36GELQGX.mjs} +29 -46
  68. package/dist/js/chunks/chunk-36GELQGX.mjs.map +7 -0
  69. package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-3FKWIRHW.mjs} +15 -29
  70. package/dist/js/chunks/chunk-3FKWIRHW.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-3KF65KGL.mjs +209 -0
  72. package/dist/js/chunks/chunk-3KF65KGL.mjs.map +7 -0
  73. package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-3KLZRQZI.mjs} +88 -116
  74. package/dist/js/chunks/chunk-3KLZRQZI.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-3XORNED5.mjs} +3 -11
  76. package/dist/js/chunks/chunk-3XORNED5.mjs.map +7 -0
  77. package/dist/js/chunks/chunk-4WBGAQN3.mjs +113 -0
  78. package/dist/js/chunks/chunk-4WBGAQN3.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-5F4URJHL.mjs} +19 -30
  80. package/dist/js/chunks/chunk-5F4URJHL.mjs.map +7 -0
  81. package/dist/js/chunks/chunk-67UNY7RH.mjs +299 -0
  82. package/dist/js/chunks/chunk-67UNY7RH.mjs.map +7 -0
  83. package/dist/js/chunks/chunk-7CXNATJS.mjs +97 -0
  84. package/dist/js/chunks/chunk-7CXNATJS.mjs.map +7 -0
  85. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-7X44MKEQ.mjs} +43 -48
  86. package/dist/js/chunks/chunk-7X44MKEQ.mjs.map +7 -0
  87. package/dist/js/chunks/chunk-7ZAMOMGY.mjs +440 -0
  88. package/dist/js/chunks/chunk-7ZAMOMGY.mjs.map +7 -0
  89. package/dist/js/chunks/chunk-AEG6LOAJ.mjs +54 -0
  90. package/dist/js/chunks/chunk-AEG6LOAJ.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-AQNFCJJ5.mjs +135 -0
  92. package/dist/js/chunks/chunk-AQNFCJJ5.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-B55LWKBM.mjs +75 -0
  94. package/dist/js/chunks/chunk-B55LWKBM.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-BB5VXYXT.mjs +28 -0
  96. package/dist/js/chunks/chunk-BB5VXYXT.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-BDATLH3H.mjs +108 -0
  98. package/dist/js/chunks/chunk-BDATLH3H.mjs.map +7 -0
  99. package/dist/js/chunks/chunk-CWMQOT4O.mjs +232 -0
  100. package/dist/js/chunks/chunk-CWMQOT4O.mjs.map +7 -0
  101. package/dist/js/chunks/chunk-CY2CTOVM.mjs +81 -0
  102. package/dist/js/chunks/chunk-CY2CTOVM.mjs.map +7 -0
  103. package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-DWA5UYLJ.mjs} +363 -218
  104. package/dist/js/chunks/chunk-DWA5UYLJ.mjs.map +7 -0
  105. package/dist/js/chunks/chunk-EB2V4OKL.mjs +79 -0
  106. package/dist/js/chunks/chunk-EB2V4OKL.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-EWO662ZC.mjs +188 -0
  108. package/dist/js/chunks/chunk-EWO662ZC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-F7LAKFMX.mjs} +320 -141
  110. package/dist/js/chunks/chunk-F7LAKFMX.mjs.map +7 -0
  111. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-FNIIH2LU.mjs} +20 -33
  112. package/dist/js/chunks/chunk-FNIIH2LU.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-GE3YMFS6.mjs +15 -0
  114. package/dist/js/chunks/chunk-GE3YMFS6.mjs.map +7 -0
  115. package/dist/js/chunks/chunk-GFWYMWYN.mjs +125 -0
  116. package/dist/js/chunks/chunk-GFWYMWYN.mjs.map +7 -0
  117. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  118. package/dist/js/chunks/chunk-H5ISU45X.mjs +87 -0
  119. package/dist/js/chunks/chunk-H5ISU45X.mjs.map +7 -0
  120. package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-H6YIKFAQ.mjs} +311 -186
  121. package/dist/js/chunks/chunk-H6YIKFAQ.mjs.map +7 -0
  122. package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-HEH7E3KO.mjs} +155 -35
  123. package/dist/js/chunks/chunk-HEH7E3KO.mjs.map +7 -0
  124. package/dist/js/chunks/chunk-HQRLBTNM.mjs +152 -0
  125. package/dist/js/chunks/chunk-HQRLBTNM.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-I2F7MLUU.mjs +137 -0
  127. package/dist/js/chunks/chunk-I2F7MLUU.mjs.map +7 -0
  128. package/dist/js/chunks/chunk-IQOTGGHX.mjs +797 -0
  129. package/dist/js/chunks/chunk-IQOTGGHX.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-JH3YWKA6.mjs +225 -0
  131. package/dist/js/chunks/chunk-JH3YWKA6.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JOLJAYIJ.mjs +7 -0
  133. package/dist/js/chunks/chunk-JOLJAYIJ.mjs.map +7 -0
  134. package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-KOTGMCMI.mjs} +116 -24
  135. package/dist/js/chunks/chunk-KOTGMCMI.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-LC4O5LFS.mjs} +21 -45
  137. package/dist/js/chunks/chunk-LC4O5LFS.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LEF33SCP.mjs +127 -0
  139. package/dist/js/chunks/chunk-LEF33SCP.mjs.map +7 -0
  140. package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-LFORZRPH.mjs} +21 -23
  141. package/dist/js/chunks/chunk-LFORZRPH.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-LWLNV5EC.mjs +451 -0
  143. package/dist/js/chunks/chunk-LWLNV5EC.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-LXRHUQAX.mjs +491 -0
  145. package/dist/js/chunks/chunk-LXRHUQAX.mjs.map +7 -0
  146. package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-MA2SZZFB.mjs} +82 -111
  147. package/dist/js/chunks/chunk-MA2SZZFB.mjs.map +7 -0
  148. package/dist/js/chunks/chunk-MDBZAMIV.mjs +121 -0
  149. package/dist/js/chunks/chunk-MDBZAMIV.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-NODZ5VAD.mjs +75 -0
  151. package/dist/js/chunks/chunk-NODZ5VAD.mjs.map +7 -0
  152. package/dist/js/chunks/chunk-O2WJB6TH.mjs +365 -0
  153. package/dist/js/chunks/chunk-O2WJB6TH.mjs.map +7 -0
  154. package/dist/js/chunks/chunk-PCABY5BN.mjs +35 -0
  155. package/dist/js/chunks/chunk-PCABY5BN.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PWKYVMND.mjs +120 -0
  157. package/dist/js/chunks/chunk-PWKYVMND.mjs.map +7 -0
  158. package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-QHZZT7YO.mjs} +66 -38
  159. package/dist/js/chunks/chunk-QHZZT7YO.mjs.map +7 -0
  160. package/dist/js/chunks/chunk-QND56EW2.mjs +439 -0
  161. package/dist/js/chunks/chunk-QND56EW2.mjs.map +7 -0
  162. package/dist/js/chunks/chunk-QNODAANY.mjs +376 -0
  163. package/dist/js/chunks/chunk-QNODAANY.mjs.map +7 -0
  164. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-QRO5FV3I.mjs} +156 -73
  165. package/dist/js/chunks/chunk-QRO5FV3I.mjs.map +7 -0
  166. package/dist/js/chunks/chunk-R7A7JRC5.mjs +440 -0
  167. package/dist/js/chunks/chunk-R7A7JRC5.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-RKG2CBFE.mjs +74 -0
  169. package/dist/js/chunks/chunk-RKG2CBFE.mjs.map +7 -0
  170. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-RSNS5OYS.mjs} +38 -25
  171. package/dist/js/chunks/chunk-RSNS5OYS.mjs.map +7 -0
  172. package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-RUDYMEJ3.mjs} +7 -6
  173. package/dist/js/chunks/chunk-RUDYMEJ3.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-STJR62SU.mjs +161 -0
  175. package/dist/js/chunks/chunk-STJR62SU.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-SUSD4UTN.mjs +220 -0
  177. package/dist/js/chunks/chunk-SUSD4UTN.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-SYBOA5HC.mjs} +26 -48
  179. package/dist/js/chunks/chunk-SYBOA5HC.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-T4MOBP3J.mjs +108 -0
  181. package/dist/js/chunks/chunk-T4MOBP3J.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-TM7HPGTV.mjs +342 -0
  183. package/dist/js/chunks/chunk-TM7HPGTV.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-TMQDZSDC.mjs} +71 -35
  185. package/dist/js/chunks/chunk-TMQDZSDC.mjs.map +7 -0
  186. package/dist/js/chunks/chunk-TVSX5YA2.mjs +48 -0
  187. package/dist/js/chunks/chunk-TVSX5YA2.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-UHO5CV6K.mjs +80 -0
  189. package/dist/js/chunks/chunk-UHO5CV6K.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-UKCNELUN.mjs +223 -0
  191. package/dist/js/chunks/chunk-UKCNELUN.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-UKQK5GWR.mjs +167 -0
  193. package/dist/js/chunks/chunk-UKQK5GWR.mjs.map +7 -0
  194. package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-UTSLYQ65.mjs} +21 -48
  195. package/dist/js/chunks/chunk-UTSLYQ65.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-VS5OJBOD.mjs +108 -0
  197. package/dist/js/chunks/chunk-VS5OJBOD.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-VZMROW5A.mjs +759 -0
  199. package/dist/js/chunks/chunk-VZMROW5A.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  201. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  202. package/dist/js/chunks/chunk-XB6Y7P5W.mjs +69 -0
  203. package/dist/js/chunks/chunk-XB6Y7P5W.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-XDAMOMVD.mjs +226 -0
  205. package/dist/js/chunks/chunk-XDAMOMVD.mjs.map +7 -0
  206. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-XJPMW5SP.mjs} +247 -172
  207. package/dist/js/chunks/chunk-XJPMW5SP.mjs.map +7 -0
  208. package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-YKANQILZ.mjs} +16 -21
  209. package/dist/js/chunks/chunk-YKANQILZ.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-YLZOJLDI.mjs +175 -0
  211. package/dist/js/chunks/chunk-YLZOJLDI.mjs.map +7 -0
  212. package/dist/js/chunks/chunk-ZK7YY322.mjs +514 -0
  213. package/dist/js/chunks/chunk-ZK7YY322.mjs.map +7 -0
  214. package/dist/js/expressive.cjs +10266 -3628
  215. package/dist/js/expressive.cjs.map +4 -4
  216. package/dist/js/expressive.js +10266 -3628
  217. package/dist/js/expressive.js.map +4 -4
  218. package/dist/js/expressive.min.js +23 -22
  219. package/dist/js/expressive.min.js.map +4 -4
  220. package/dist/js/expressive.mjs +181 -69
  221. package/dist/js/expressive.mjs.map +2 -2
  222. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  223. package/dist/js/internal/behaviors/copy.mjs +9 -0
  224. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dataTables.mjs +8 -0
  226. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  227. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  228. package/dist/js/internal/behaviors/forms.mjs +2 -2
  229. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  230. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/lists.mjs +8 -0
  232. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  234. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  235. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  236. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  237. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  238. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/theme.mjs +8 -0
  240. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/tour.mjs +8 -0
  242. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  243. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  244. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  245. package/dist/js/internal/components/appBar.mjs +3 -2
  246. package/dist/js/internal/components/autocomplete.mjs +5 -4
  247. package/dist/js/internal/components/backToTop.mjs +9 -0
  248. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  249. package/dist/js/internal/components/barChart.mjs +5 -4
  250. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  251. package/dist/js/internal/components/buttons.mjs +3 -3
  252. package/dist/js/internal/components/cards.mjs +3 -3
  253. package/dist/js/internal/components/carousel.mjs +3 -3
  254. package/dist/js/internal/components/cascader.mjs +10 -0
  255. package/dist/js/internal/components/cascader.mjs.map +7 -0
  256. package/dist/js/internal/components/characterCounter.mjs +3 -2
  257. package/dist/js/internal/components/chips.mjs +7 -5
  258. package/dist/js/internal/components/colorPicker.mjs +9 -0
  259. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  260. package/dist/js/internal/components/columnChart.mjs +4 -3
  261. package/dist/js/internal/components/commandPalette.mjs +3 -3
  262. package/dist/js/internal/components/confetti.mjs +3 -2
  263. package/dist/js/internal/components/currencyInput.mjs +9 -0
  264. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  265. package/dist/js/internal/components/datepicker.mjs +12 -8
  266. package/dist/js/internal/components/expandingCard.mjs +3 -3
  267. package/dist/js/internal/components/funnelChart.mjs +10 -0
  268. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  269. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  270. package/dist/js/internal/components/hoverCard.mjs +9 -0
  271. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  272. package/dist/js/internal/components/index.mjs +131 -65
  273. package/dist/js/internal/components/inputMask.mjs +9 -0
  274. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  275. package/dist/js/internal/components/keypad.mjs +3 -3
  276. package/dist/js/internal/components/lightbox.mjs +3 -3
  277. package/dist/js/internal/components/lineChart.mjs +41 -4
  278. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  279. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  280. package/dist/js/internal/components/mapView.mjs +3 -3
  281. package/dist/js/internal/components/menu.mjs +3 -3
  282. package/dist/js/internal/components/menubar.mjs +10 -0
  283. package/dist/js/internal/components/menubar.mjs.map +7 -0
  284. package/dist/js/internal/components/messageScroller.mjs +3 -3
  285. package/dist/js/internal/components/mixedChart.mjs +5 -4
  286. package/dist/js/internal/components/navigationRail.mjs +3 -2
  287. package/dist/js/internal/components/particles.mjs +3 -2
  288. package/dist/js/internal/components/pieChart.mjs +4 -3
  289. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  290. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  291. package/dist/js/internal/components/questionnaire.mjs +3 -3
  292. package/dist/js/internal/components/radarChart.mjs +4 -3
  293. package/dist/js/internal/components/radialChart.mjs +4 -3
  294. package/dist/js/internal/components/registry.mjs +60 -41
  295. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  296. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  297. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scatterChart.mjs +10 -0
  299. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  300. package/dist/js/internal/components/scrollspy.mjs +3 -2
  301. package/dist/js/internal/components/select.mjs +5 -4
  302. package/dist/js/internal/components/showMore.mjs +9 -0
  303. package/dist/js/internal/components/showMore.mjs.map +7 -0
  304. package/dist/js/internal/components/slider.mjs +3 -3
  305. package/dist/js/internal/components/snackbar.mjs +2 -2
  306. package/dist/js/internal/components/swipeActions.mjs +9 -0
  307. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  308. package/dist/js/internal/components/tabs.mjs +3 -4
  309. package/dist/js/internal/components/timepicker.mjs +5 -4
  310. package/dist/js/internal/components/tooltip.mjs +3 -3
  311. package/dist/js/internal/components/treeSelect.mjs +14 -0
  312. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  313. package/dist/js/internal/components/treemapChart.mjs +10 -0
  314. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  315. package/dist/js/internal/core/component.mjs +6 -3
  316. package/dist/js/internal/core/formControl.mjs +12 -0
  317. package/dist/js/internal/core/formControl.mjs.map +7 -0
  318. package/dist/js/internal/core/imageURL.mjs +7 -0
  319. package/dist/js/internal/core/imageURL.mjs.map +7 -0
  320. package/dist/js/internal/core/spring.mjs +11 -0
  321. package/dist/js/internal/core/spring.mjs.map +7 -0
  322. package/dist/js/internal/core/utils.mjs +21 -3
  323. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  324. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  325. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  326. package/dist/js/modular.mjs +172 -69
  327. package/dist/types/behaviors/bottomSheets.d.ts +23 -5
  328. package/dist/types/behaviors/copy.d.ts +18 -0
  329. package/dist/types/behaviors/dataTables.d.ts +125 -0
  330. package/dist/types/behaviors/dialogs.d.ts +27 -1
  331. package/dist/types/behaviors/forms.d.ts +70 -4
  332. package/dist/types/behaviors/imageCompare.d.ts +13 -0
  333. package/dist/types/behaviors/lists.d.ts +12 -0
  334. package/dist/types/behaviors/paneResize.d.ts +29 -0
  335. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  336. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  337. package/dist/types/behaviors/sortable.d.ts +28 -0
  338. package/dist/types/behaviors/theme.d.ts +22 -0
  339. package/dist/types/behaviors/tour.d.ts +36 -0
  340. package/dist/types/behaviors/transferList.d.ts +53 -0
  341. package/dist/types/components/appBar.d.ts +5 -6
  342. package/dist/types/components/autocomplete.d.ts +105 -20
  343. package/dist/types/components/backToTop.d.ts +36 -0
  344. package/dist/types/components/barChart.d.ts +3 -6
  345. package/dist/types/components/buttonGroup.d.ts +2 -4
  346. package/dist/types/components/buttons.d.ts +5 -5
  347. package/dist/types/components/cards.d.ts +3 -16
  348. package/dist/types/components/carousel.d.ts +16 -15
  349. package/dist/types/components/cascader.d.ts +130 -0
  350. package/dist/types/components/characterCounter.d.ts +2 -15
  351. package/dist/types/components/chips.d.ts +80 -19
  352. package/dist/types/components/colorPicker.d.ts +56 -0
  353. package/dist/types/components/columnChart.d.ts +23 -10
  354. package/dist/types/components/commandPalette.d.ts +11 -16
  355. package/dist/types/components/confetti.d.ts +2 -4
  356. package/dist/types/components/currencyInput.d.ts +60 -0
  357. package/dist/types/components/datepicker.d.ts +107 -56
  358. package/dist/types/components/expandingCard.d.ts +4 -6
  359. package/dist/types/components/funnelChart.d.ts +35 -0
  360. package/dist/types/components/heatmapChart.d.ts +42 -8
  361. package/dist/types/components/hoverCard.d.ts +59 -0
  362. package/dist/types/components/index.d.ts +16 -1
  363. package/dist/types/components/inputMask.d.ts +28 -0
  364. package/dist/types/components/keypad.d.ts +38 -6
  365. package/dist/types/components/lightbox.d.ts +14 -20
  366. package/dist/types/components/lineChart.d.ts +212 -12
  367. package/dist/types/components/loadingOverlay.d.ts +42 -0
  368. package/dist/types/components/mapView.d.ts +138 -27
  369. package/dist/types/components/menu.d.ts +74 -22
  370. package/dist/types/components/menubar.d.ts +37 -0
  371. package/dist/types/components/messageScroller.d.ts +2 -14
  372. package/dist/types/components/mixedChart.d.ts +15 -6
  373. package/dist/types/components/navigationRail.d.ts +16 -5
  374. package/dist/types/components/particles.d.ts +22 -5
  375. package/dist/types/components/pieChart.d.ts +33 -9
  376. package/dist/types/components/pullToRefresh.d.ts +80 -0
  377. package/dist/types/components/questionnaire.d.ts +58 -16
  378. package/dist/types/components/radarChart.d.ts +10 -6
  379. package/dist/types/components/radialChart.d.ts +58 -7
  380. package/dist/types/components/registry.d.ts +73 -3
  381. package/dist/types/components/richTextEditor.d.ts +45 -22
  382. package/dist/types/components/sankeyChart.d.ts +72 -0
  383. package/dist/types/components/scatterChart.d.ts +102 -0
  384. package/dist/types/components/scrollspy.d.ts +3 -5
  385. package/dist/types/components/select.d.ts +44 -33
  386. package/dist/types/components/showMore.d.ts +53 -0
  387. package/dist/types/components/slider.d.ts +2 -15
  388. package/dist/types/components/snackbar.d.ts +68 -1
  389. package/dist/types/components/swipeActions.d.ts +81 -0
  390. package/dist/types/components/tabs.d.ts +92 -30
  391. package/dist/types/components/timepicker.d.ts +128 -27
  392. package/dist/types/components/tooltip.d.ts +57 -21
  393. package/dist/types/components/treeSelect.d.ts +106 -0
  394. package/dist/types/components/treemapChart.d.ts +56 -0
  395. package/dist/types/core/component.d.ts +49 -25
  396. package/dist/types/core/formControl.d.ts +21 -0
  397. package/dist/types/core/imageURL.d.ts +2 -0
  398. package/dist/types/core/spring.d.ts +20 -0
  399. package/dist/types/core/utils.d.ts +123 -72
  400. package/dist/types/modular.d.ts +33 -1
  401. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  402. package/dist/types/plugins/modalDisplayPlugin.d.ts +39 -0
  403. package/package.json +17 -13
  404. package/src/sass/README.md +27 -18
  405. package/src/sass/abstracts/_elevation.scss +13 -7
  406. package/src/sass/abstracts/_index.scss +1 -0
  407. package/src/sass/abstracts/_mixins.scss +864 -78
  408. package/src/sass/abstracts/_spring.scss +63 -0
  409. package/src/sass/abstracts/_variables.scss +64 -21
  410. package/src/sass/base/_fonts.scss +61 -48
  411. package/src/sass/base/_global.scss +104 -24
  412. package/src/sass/base/_index.scss +2 -0
  413. package/src/sass/base/_normalize.scss +59 -114
  414. package/src/sass/base/_print.scss +21 -0
  415. package/src/sass/base/_prose.scss +68 -0
  416. package/src/sass/base/_typography.scss +9 -5
  417. package/src/sass/components/_accordion.scss +10 -19
  418. package/src/sass/components/_alert.scss +102 -0
  419. package/src/sass/components/_aura.scss +9 -3
  420. package/src/sass/components/_avatar.scss +3 -3
  421. package/src/sass/components/_back-to-top.scss +38 -0
  422. package/src/sass/components/_badges.scss +6 -5
  423. package/src/sass/components/_bar-chart.scss +31 -90
  424. package/src/sass/components/_bottom-sheet.scss +51 -16
  425. package/src/sass/components/_breadcrumb.scss +8 -7
  426. package/src/sass/components/_button-groups.scss +30 -63
  427. package/src/sass/components/_buttons.scss +137 -94
  428. package/src/sass/components/_calendar.scss +244 -0
  429. package/src/sass/components/_cards.scss +36 -44
  430. package/src/sass/components/_carousel.scss +37 -113
  431. package/src/sass/components/_cascader.scss +131 -0
  432. package/src/sass/components/_chips.scss +36 -46
  433. package/src/sass/components/_column-chart.scss +15 -26
  434. package/src/sass/components/_command-palette.scss +4 -7
  435. package/src/sass/components/_confetti.scss +1 -4
  436. package/src/sass/components/_countdown.scss +1 -1
  437. package/src/sass/components/_data-table.scss +172 -25
  438. package/src/sass/components/_datepicker.scss +54 -40
  439. package/src/sass/components/_description-list.scss +85 -0
  440. package/src/sass/components/_dialog.scss +48 -55
  441. package/src/sass/components/_docked-display.scss +1 -3
  442. package/src/sass/components/_drag-handle.scss +16 -20
  443. package/src/sass/components/_expanding-card.scss +21 -14
  444. package/src/sass/components/_fab-menu.scss +43 -39
  445. package/src/sass/components/_funnel-chart.scss +63 -0
  446. package/src/sass/components/_heatmap-chart.scss +114 -29
  447. package/src/sass/components/_icon-buttons.scss +8 -11
  448. package/src/sass/components/_icons-material-design.scss +2 -2
  449. package/src/sass/components/_image-compare.scss +108 -0
  450. package/src/sass/components/_index.scss +20 -0
  451. package/src/sass/components/_keypad.scss +39 -19
  452. package/src/sass/components/_kpi.scss +6 -11
  453. package/src/sass/components/_lightbox.scss +24 -13
  454. package/src/sass/components/_line-chart.scss +9 -63
  455. package/src/sass/components/_list.scss +59 -14
  456. package/src/sass/components/_loading-indicator.scss +1 -0
  457. package/src/sass/components/_loading-overlay.scss +105 -0
  458. package/src/sass/components/_map.scss +37 -11
  459. package/src/sass/components/_marquee.scss +4 -3
  460. package/src/sass/components/_mega-menu.scss +128 -0
  461. package/src/sass/components/_menu.scss +146 -127
  462. package/src/sass/components/_menubar.scss +47 -0
  463. package/src/sass/components/_message-scroller.scss +2 -2
  464. package/src/sass/components/_message.scss +3 -3
  465. package/src/sass/components/_mixed-chart.scss +27 -35
  466. package/src/sass/components/_modal-display.scss +21 -0
  467. package/src/sass/components/_navbar.scss +45 -36
  468. package/src/sass/components/_navigation-bar.scss +12 -77
  469. package/src/sass/components/_navigation-rail.scss +161 -92
  470. package/src/sass/components/_org-chart.scss +192 -0
  471. package/src/sass/components/_page-footer.scss +2 -4
  472. package/src/sass/components/_pagination.scss +9 -27
  473. package/src/sass/components/_panes.scss +35 -42
  474. package/src/sass/components/_particles.scss +1 -4
  475. package/src/sass/components/_pie-chart.scss +86 -68
  476. package/src/sass/components/_popover.scss +18 -5
  477. package/src/sass/components/_progress.scss +183 -44
  478. package/src/sass/components/_pull-to-refresh.scss +90 -0
  479. package/src/sass/components/_questionnaire.scss +74 -3
  480. package/src/sass/components/_radar-chart.scss +40 -42
  481. package/src/sass/components/_radial-chart.scss +108 -46
  482. package/src/sass/components/_rich-text-editor.scss +2 -2
  483. package/src/sass/components/_sankey-chart.scss +91 -0
  484. package/src/sass/components/_scatter-chart.scss +144 -0
  485. package/src/sass/components/_scrim.scss +0 -2
  486. package/src/sass/components/_scrollspy.scss +0 -2
  487. package/src/sass/components/_search.scss +27 -26
  488. package/src/sass/components/_show-more.scss +8 -0
  489. package/src/sass/components/_side-sheet.scss +32 -51
  490. package/src/sass/components/_skeleton.scss +26 -19
  491. package/src/sass/components/_snackbar.scss +25 -21
  492. package/src/sass/components/_split-button.scss +5 -5
  493. package/src/sass/components/_stat.scss +3 -8
  494. package/src/sass/components/_stepper.scss +1 -1
  495. package/src/sass/components/_swipe-actions.scss +71 -0
  496. package/src/sass/components/_table_of_contents.scss +1 -3
  497. package/src/sass/components/_tabs.scss +49 -46
  498. package/src/sass/components/_timeline.scss +12 -12
  499. package/src/sass/components/_timepicker.scss +111 -79
  500. package/src/sass/components/_toolbar.scss +36 -47
  501. package/src/sass/components/_tooltip.scss +25 -12
  502. package/src/sass/components/_tour.scss +89 -0
  503. package/src/sass/components/_transfer-list.scss +73 -0
  504. package/src/sass/components/_transitions.scss +4 -4
  505. package/src/sass/components/_tree.scss +7 -32
  506. package/src/sass/components/_treemap-chart.scss +98 -0
  507. package/src/sass/components/forms/_checkboxes.scss +107 -44
  508. package/src/sass/components/forms/_color-picker.scss +135 -0
  509. package/src/sass/components/forms/_color-swatches.scss +85 -0
  510. package/src/sass/components/forms/_drop-zone.scss +16 -13
  511. package/src/sass/components/forms/_fieldset.scss +4 -7
  512. package/src/sass/components/forms/_file-input.scss +12 -8
  513. package/src/sass/components/forms/_index.scss +3 -1
  514. package/src/sass/components/forms/_input-fields.scss +271 -90
  515. package/src/sass/components/forms/_radio-buttons.scss +34 -117
  516. package/src/sass/components/forms/_rating.scss +2 -32
  517. package/src/sass/components/forms/_select.scss +198 -20
  518. package/src/sass/components/forms/_slider.scss +92 -98
  519. package/src/sass/components/forms/_switches.scss +62 -180
  520. package/src/sass/custom.scss +10 -1
  521. package/src/sass/expressive.scss +3 -63
  522. package/src/sass/tokens/_contrast.scss +94 -0
  523. package/src/sass/tokens/_elevation.scss +16 -0
  524. package/src/sass/tokens/_index.scss +5 -0
  525. package/src/sass/tokens/_motion.scss +109 -0
  526. package/src/sass/tokens/_reference.scss +72 -141
  527. package/src/sass/tokens/_shape.scss +38 -0
  528. package/src/sass/tokens/_stacking.scss +27 -0
  529. package/src/sass/tokens/_state.scss +0 -2
  530. package/src/sass/tokens/_theme.scss +10 -1
  531. package/src/sass/tokens/_vibrant.scss +2 -5
  532. package/src/sass/utilities/_defer-render.scss +17 -0
  533. package/src/sass/utilities/_helpers.scss +184 -27
  534. package/src/sass/utilities/_index.scss +1 -0
  535. package/src/sass/utilities/_scroll-area.scss +0 -2
  536. package/src/sass/utilities/_spacing.scss +52 -34
  537. package/src/sass/utilities/_typescale.scss +8 -1
  538. package/src/sass/utilities/_visibility.scss +46 -77
  539. package/src/sass/utilities/_z-depth.scss +7 -4
  540. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  541. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  543. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  546. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  549. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  554. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  559. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  562. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  568. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  570. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  572. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  573. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  574. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  575. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  578. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  580. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  582. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  584. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UAZSDUVP.mjs +0 -90
  587. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  589. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  591. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  594. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  596. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  597. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  599. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  600. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  603. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  604. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  605. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  606. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  607. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  608. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  609. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -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;
@@ -102,10 +102,7 @@ $_bar: ":is(.search-bar, .searchbar)";
102
102
 
103
103
  > #{$icon} {
104
104
  flex: 0 0 auto;
105
- font-size: var(--md-comp-search-bar-icon-size);
106
- width: var(--md-comp-search-bar-icon-size);
107
- height: var(--md-comp-search-bar-icon-size);
108
- line-height: var(--md-comp-search-bar-icon-size);
105
+ @include icon-size(var(--md-comp-search-bar-icon-size));
109
106
  color: var(--md-sys-color-on-surface);
110
107
  }
111
108
 
@@ -151,26 +148,11 @@ $_bar: ":is(.search-bar, .searchbar)";
151
148
  appearance: none;
152
149
  }
153
150
  }
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
151
  }
170
152
 
171
153
  .search-view {
172
154
  --md-comp-search-view-container-color: var(--md-sys-color-surface-container-high);
173
- --md-comp-search-view-container-shape: 12px;
155
+ --md-comp-search-view-container-shape: var(--md-sys-shape-corner-medium);
174
156
  --md-comp-search-view-header-height: 56px;
175
157
  --md-comp-search-view-divider-color: var(--md-sys-color-outline);
176
158
  --md-comp-search-view-bar-results-gap: 2px;
@@ -258,3 +240,22 @@ $_bar: ":is(.search-bar, .searchbar)";
258
240
  backdrop-filter: none;
259
241
  }
260
242
  }
243
+
244
+ // The input inside clears its own focus ring, so the bar shows it.
245
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
246
+ @include focus-ring;
247
+ }
248
+
249
+ // Both surfaces are fills and shadows, which forced colors paint as Canvas and
250
+ // drop. A bar inside the view is part of the view's surface.
251
+ @media (forced-colors: active) {
252
+ :is(#{$_bar}):not(.search-view *),
253
+ .search-view {
254
+ outline: 1px solid CanvasText;
255
+ }
256
+
257
+ // The input inside clears its own focus ring.
258
+ :is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
259
+ outline: 2px solid Highlight;
260
+ }
261
+ }
@@ -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,52 @@
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
 
61
+ // Forced colors paint the fill as Canvas and drop the shadow, so the
62
+ // surface would blend into the page without an edge.
63
+ @media (forced-colors: active) {
64
+ outline: 1px solid CanvasText;
65
+ outline-offset: -1px;
66
+ }
67
+
54
68
  &:not(:modal) {
55
- z-index: 1100;
69
+ z-index: var(--expressive-z-sheet);
56
70
  border-radius: 0;
57
71
  box-shadow: none;
58
72
  // Standard: attached to the page, inner edge is a divider.
@@ -72,11 +86,10 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
72
86
  }
73
87
 
74
88
  // Leading-edge dock.
75
- &.left,
76
- &.left-sheet,
77
89
  &.start {
78
- inset-inline-start: 0;
90
+ inset-inline-start: calc(-1 * var(--_bleed));
79
91
  inset-inline-end: auto;
92
+ padding-inline: var(--_bleed) 0;
80
93
 
81
94
  &:not(:modal) {
82
95
  border-inline-start: 0;
@@ -92,17 +105,12 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
92
105
  }
93
106
 
94
107
  > header {
95
- display: flex;
96
- align-items: center;
97
- gap: 12px;
98
- flex: 0 0 auto;
99
- box-sizing: border-box;
100
- min-height: 64px;
101
- margin: 0;
108
+ @include header-bar(12px);
102
109
  padding-block: 8px;
103
110
  padding-inline: 24px 12px;
104
- background: none;
105
- box-shadow: none;
111
+ // A horizontal touch drag here dismisses the sheet; the browser would
112
+ // otherwise take it as a pan and cancel the pointer.
113
+ touch-action: pan-y;
106
114
  }
107
115
 
108
116
  > header:has(> :is(button, a):first-child) {
@@ -110,12 +118,8 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
110
118
  }
111
119
 
112
120
  > header > :is(h1, h2, h3, h4, h5, h6) {
113
- flex: 1 1 auto;
114
- min-width: 0;
115
- margin: 0;
121
+ @include header-bar-headline;
116
122
  padding: 0;
117
- color: var(--md-sys-color-on-surface);
118
- @include typescale("title-large");
119
123
  }
120
124
 
121
125
  > header > form {
@@ -130,30 +134,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
130
134
  }
131
135
 
132
136
  > 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;
137
+ @include header-icon-action;
157
138
  }
158
139
 
159
140
  > :is(form, nav):last-child {
@@ -184,7 +165,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
184
165
  translate: -100% 0;
185
166
  }
186
167
 
187
- &:is(.start, .left, .left-sheet) {
168
+ &.start {
188
169
  translate: -100% 0;
189
170
 
190
171
  &: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,29 +23,36 @@
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;
30
+ position: relative;
31
+ overflow: clip;
32
32
  box-sizing: border-box;
33
33
  border-radius: var(--md-comp-skeleton-shape);
34
34
  background-color: var(--md-comp-skeleton-color);
35
- background-image: linear-gradient(
36
- 90deg,
37
- transparent 0%,
38
- var(--md-comp-skeleton-shimmer-color) 50%,
39
- transparent 100%
40
- );
41
- background-repeat: no-repeat;
42
- background-size: 50% 100%;
43
- animation: skeleton-shimmer 1.5s linear infinite;
35
+ // Transforming the gradient lets the compositor move it without repainting the fill.
36
+ &::before {
37
+ content: "";
38
+ position: absolute;
39
+ inset: 0 auto 0 0;
40
+ width: 50%;
41
+ background-image: linear-gradient(
42
+ 90deg,
43
+ transparent 0%,
44
+ var(--md-comp-skeleton-shimmer-color) 50%,
45
+ transparent 100%
46
+ );
47
+ animation: skeleton-shimmer 1.5s linear infinite;
48
+ }
44
49
 
45
- &:dir(rtl) {
50
+ &:dir(rtl)::before {
46
51
  animation-direction: reverse;
47
52
  }
48
53
 
49
54
  &.text {
50
- --md-comp-skeleton-shape: 4px;
55
+ --md-comp-skeleton-shape: var(--md-sys-shape-corner-extra-small);
51
56
 
52
57
  width: 100%;
53
58
  height: 1em;
@@ -65,9 +70,11 @@
65
70
  border-radius: 50%;
66
71
  }
67
72
 
68
- @media (prefers-reduced-motion: reduce) {
69
- animation: none;
70
- background-image: none;
73
+ @media (prefers-reduced-motion: reduce), (forced-colors: active) {
74
+ &::before {
75
+ animation: none;
76
+ background-image: none;
77
+ }
71
78
  }
72
79
 
73
80
  @media (forced-colors: active) {
@@ -76,6 +83,6 @@
76
83
  }
77
84
 
78
85
  @keyframes skeleton-shimmer {
79
- from { background-position: -100% 0; }
80
- to { background-position: 200% 0; }
86
+ from { transform: translateX(-100%); }
87
+ to { transform: translateX(200%); }
81
88
  }
@@ -5,7 +5,7 @@
5
5
  // Anatomy is the HTML. A .snackbar is the container. A <p> (or <span>,
6
6
  // or loose text) is the supporting text. A trailing <button> is the
7
7
  // action; a .circle button is the optional close. An optional leading
8
- // <i> is an icon.
8
+ // icon comes first.
9
9
  //
10
10
  // Tokens follow https://m3.material.io/components/snackbar/specs
11
11
  // container inverse-surface, 4dp corners, elevation 3, min 48dp
@@ -35,10 +35,9 @@ $_bar: ".snackbar";
35
35
  align-items: stretch;
36
36
  gap: 8px;
37
37
  position: fixed;
38
- z-index: 10000;
39
- inset: auto var(--md-comp-snackbar-container-margin-trailing)
40
- max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px))
41
- var(--md-comp-snackbar-container-margin-leading);
38
+ z-index: var(--expressive-z-snackbar);
39
+ inset-block: auto max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px));
40
+ inset-inline: var(--md-comp-snackbar-container-margin-leading) var(--md-comp-snackbar-container-margin-trailing);
42
41
  width: auto;
43
42
  max-width: calc(100% - var(--md-comp-snackbar-container-margin-leading) - var(--md-comp-snackbar-container-margin-trailing));
44
43
  // The page stays browsable — only the bar itself receives pointer events.
@@ -72,7 +71,7 @@ $_bar: ".snackbar";
72
71
 
73
72
  #{$_bar} {
74
73
  --md-comp-snackbar-container-color: var(--md-sys-color-inverse-surface);
75
- --md-comp-snackbar-container-shape: 4px;
74
+ --md-comp-snackbar-container-shape: var(--md-sys-shape-corner-extra-small);
76
75
  --md-comp-snackbar-supporting-text-color: var(--md-sys-color-inverse-on-surface);
77
76
  --md-comp-snackbar-action-label-text-color: var(--md-sys-color-inverse-primary);
78
77
  --md-comp-snackbar-icon-color: var(--md-sys-color-inverse-on-surface);
@@ -91,7 +90,8 @@ $_bar: ".snackbar";
91
90
  max-width: 672px;
92
91
  min-height: 48px;
93
92
  margin: 0;
94
- padding: 4px 8px 4px 16px;
93
+ padding-block: 4px;
94
+ padding-inline: 16px 8px;
95
95
  border: none;
96
96
  border-radius: var(--md-comp-snackbar-container-shape);
97
97
  background-color: var(--md-comp-snackbar-container-color);
@@ -101,6 +101,13 @@ $_bar: ".snackbar";
101
101
  cursor: default;
102
102
  @include glass(var(--md-comp-snackbar-container-color));
103
103
 
104
+ // Forced colors paint the fill as Canvas and drop the shadow, so the
105
+ // surface would blend into the page without an edge.
106
+ @media (forced-colors: active) {
107
+ outline: 1px solid CanvasText;
108
+ outline-offset: -1px;
109
+ }
110
+
104
111
  @include bp-up("medium") {
105
112
  width: max-content;
106
113
  min-width: min(344px, 100%);
@@ -124,10 +131,7 @@ $_bar: ".snackbar";
124
131
  // Optional leading icon. M3 snackbars have no leading icon.
125
132
  > #{$icon}:first-child {
126
133
  flex: 0 0 auto;
127
- font-size: 24px;
128
- width: 24px;
129
- height: 24px;
130
- line-height: 24px;
134
+ @include icon-size(rem(24px));
131
135
  color: var(--md-comp-snackbar-icon-color);
132
136
  }
133
137
 
@@ -158,19 +162,19 @@ $_bar: ".snackbar";
158
162
  min-width: 48px;
159
163
  padding: 0 12px;
160
164
  border: none;
161
- border-radius: 20px;
165
+ border-radius: var(--md-sys-shape-corner-large-increased);
162
166
  background-color: transparent;
163
167
  color: var(--md-comp-snackbar-action-label-text-color);
164
168
  box-shadow: none;
165
169
  @include typescale("label-large");
166
170
 
167
171
  &:hover {
168
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) state-opacity("hover"), transparent);
172
+ background-color: state-layer(var(--md-sys-color-inverse-primary), "hover");
169
173
  }
170
174
 
171
175
  &:active,
172
176
  &:focus {
173
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) state-opacity("focus"), transparent);
177
+ background-color: state-layer(var(--md-sys-color-inverse-primary), "focus");
174
178
  }
175
179
 
176
180
  &:focus-visible {
@@ -193,19 +197,16 @@ $_bar: ".snackbar";
193
197
  box-shadow: none;
194
198
 
195
199
  > #{$icon} {
196
- font-size: 24px;
197
- width: 24px;
198
- height: 24px;
199
- line-height: 24px;
200
+ @include icon-size(rem(24px));
200
201
  }
201
202
 
202
203
  &:hover {
203
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) state-opacity("hover"), transparent);
204
+ background-color: state-layer(var(--md-sys-color-inverse-on-surface), "hover");
204
205
  }
205
206
 
206
207
  &:active,
207
208
  &:focus {
208
- background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) state-opacity("focus"), transparent);
209
+ background-color: state-layer(var(--md-sys-color-inverse-on-surface), "focus");
209
210
  }
210
211
 
211
212
  &:focus-visible {
@@ -235,7 +236,7 @@ $_bar: ".snackbar";
235
236
  // Default: bottom of the UI, centered from the Medium breakpoint.
236
237
  #{$_bar}.active {
237
238
  position: fixed;
238
- z-index: 10000;
239
+ z-index: var(--expressive-z-snackbar);
239
240
  left: 50%;
240
241
  right: auto;
241
242
  bottom: 24px;
@@ -264,3 +265,6 @@ $_bar: ".snackbar";
264
265
  }
265
266
  }
266
267
  }
268
+
269
+ // Transient messages are not part of the page.
270
+ #snackbar-container { @include print-hidden; }
@@ -85,14 +85,14 @@ $_sizes: (
85
85
 
86
86
  --md-comp-split-button-leading-button-trailing-space: #{map.get($s, lead-end)};
87
87
  --md-comp-split-button-trailing-button-space: #{map.get($s, trail-space)};
88
- --md-comp-split-button-trailing-icon-size: #{map.get($s, trail-icon)};
88
+ --md-comp-split-button-trailing-icon-size: #{rem(map.get($s, trail-icon))};
89
89
  --md-comp-split-button-inner-corner-corner-size: #{map.get($s, inner)};
90
90
  --md-comp-split-button-inner-pressed-corner-corner-size: #{map.get($s, swollen)};
91
91
  }
92
92
 
93
93
  .split-button {
94
94
  --md-comp-split-button-between-space: 2px;
95
- --md-comp-split-button-container-shape: 9999px;
95
+ --md-comp-split-button-container-shape: var(--md-sys-shape-corner-full);
96
96
 
97
97
  @include button-size("small");
98
98
  @include _split-size("small");
@@ -128,8 +128,8 @@ $_sizes: (
128
128
  // property list replaces it wholesale, so both have to be named again or
129
129
  // an `.elevated` split button snaps its shadow where every other elevated
130
130
  // button eases it.
131
- transition: border-radius .2s ease-out, background-color .2s ease-out,
132
- box-shadow .2s ease-out;
131
+ transition: border-radius var(--md-sys-motion-duration-short4) ease-out, background-color var(--md-sys-motion-duration-short4) ease-out,
132
+ box-shadow var(--md-sys-motion-duration-short4) ease-out;
133
133
 
134
134
  // M3 gives hovered and pressed the same swollen corner.
135
135
  &:hover,
@@ -178,7 +178,7 @@ $_sizes: (
178
178
  }
179
179
 
180
180
  > #{$icon} {
181
- transition: transform .2s ease-out;
181
+ transition: transform var(--md-sys-motion-duration-short4) ease-out;
182
182
  }
183
183
 
184
184
  &[aria-expanded="true"] > #{$icon} {
@@ -16,8 +16,8 @@
16
16
 
17
17
  .stats {
18
18
  --md-comp-stat-container-color: var(--md-sys-color-surface-container-low);
19
- --md-comp-stat-shape: 16px;
20
- --md-comp-stat-min-width: 160px;
19
+ --md-comp-stat-shape: var(--md-sys-shape-corner-large);
20
+ --md-comp-stat-min-width: #{rem(160px)};
21
21
 
22
22
  display: grid;
23
23
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--md-comp-stat-min-width)), 1fr));
@@ -56,12 +56,7 @@
56
56
  @include typescale("label-large");
57
57
 
58
58
  &:is(.up, .down)::before {
59
- content: "";
60
- flex: none;
61
- width: 18px;
62
- height: 18px;
63
- background-color: currentColor;
64
- mask: $trend-arrow center / 18px no-repeat;
59
+ @include trend-arrow;
65
60
  }
66
61
 
67
62
  &.down::before {
@@ -97,7 +97,7 @@ $_stepper-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/sv
97
97
 
98
98
  > a {
99
99
  color: inherit;
100
- border-radius: 4px;
100
+ border-radius: var(--md-sys-shape-corner-extra-small);
101
101
  text-decoration: underline;
102
102
  text-underline-offset: 2px;
103
103
  @include focus-visible;
@@ -0,0 +1,71 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Swipe actions. A touch swipe toward a row's inline start slides the row and
4
+ // brings its `.swipe-actions` group in from the inline end. The
5
+ // `[data-swipe-toggle]` button does the same without a swipe.
6
+ //
7
+ // <ul class="list swipeable" aria-label="Inbox">
8
+ // <li>
9
+ // Label
10
+ // <button type="button" class="icon-button" data-swipe-toggle aria-label="Actions for Label">…</button>
11
+ // <span class="swipe-actions">
12
+ // <button type="button" class="icon-button" aria-label="Archive Label">…</button>
13
+ // </span>
14
+ // </li>
15
+ // </ul>
16
+ //
17
+ // The group waits just past the row's inline end and slides with it, so the
18
+ // two never overlap. The script sets `--swipe-offset` on the row, adds
19
+ // `.swiping` while a finger is down and `.swipe-open` while it is open.
20
+ //
21
+ // Tokens:
22
+ // --md-comp-swipe-actions-gap 4px between the actions
23
+ // --md-comp-swipe-actions-motion default spatial spring, for opening and closing
24
+ // --md-comp-swipe-actions-motion-duration its duration
25
+
26
+ .list.swipeable {
27
+ --md-comp-swipe-actions-gap: 4px;
28
+ --md-comp-swipe-actions-motion: var(--md-sys-motion-spring-default-spatial);
29
+ --md-comp-swipe-actions-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
30
+
31
+ // Clip, not hidden: a hidden list would scroll to an action that takes
32
+ // focus, and the row opening is what brings it into view.
33
+ overflow-x: clip;
34
+
35
+ > li:has(> .swipe-actions) {
36
+ position: relative;
37
+ translate: var(--swipe-offset, 0px) 0;
38
+ transition:
39
+ background-color var(--md-sys-motion-duration-short4) ease-out,
40
+ translate var(--md-comp-swipe-actions-motion-duration) var(--md-comp-swipe-actions-motion);
41
+
42
+ // The row follows the finger.
43
+ &.swiping {
44
+ transition: none;
45
+ }
46
+
47
+ // The toggle is the trailing action, though the group comes after it.
48
+ > [data-swipe-toggle] {
49
+ grid-column: 3;
50
+ grid-row: 1 / -1;
51
+ justify-self: end;
52
+ align-self: center;
53
+ }
54
+
55
+ > .swipe-actions {
56
+ position: absolute;
57
+ inset-block: 0;
58
+ inset-inline-start: 100%;
59
+ display: flex;
60
+ align-items: center;
61
+ gap: var(--md-comp-swipe-actions-gap);
62
+ padding-inline: var(--md-comp-swipe-actions-gap);
63
+ }
64
+ }
65
+ }
66
+
67
+ @media (prefers-reduced-motion: reduce) {
68
+ .list.swipeable > li:has(> .swipe-actions) {
69
+ transition: none;
70
+ }
71
+ }
@@ -15,9 +15,7 @@
15
15
  --md-comp-toc-indicator: 2px;
16
16
  --md-comp-toc-item-height: 48px;
17
17
 
18
- list-style: none;
19
- margin: 0;
20
- padding: 0;
18
+ @include list-reset;
21
19
 
22
20
  &.fixed {
23
21
  position: fixed;