@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
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  /*! Based on normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
4
2
 
5
3
  // Trimmed to the project's support baseline: the last 5 Chrome and Firefox
@@ -35,21 +33,23 @@
35
33
  // fieldset { padding: .35em .75em .625em } - restates the UA padding
36
34
  // summary { display: list-item } - already list-item
37
35
  //
36
+ // A third pass removed the rules base/_typography.scss overrides on the same
37
+ // selector later in the same layer, so they never reached the page:
38
+ // h1 { font-size; margin } - the display-small typescale and margin
39
+ // b, strong { font-weight: bolder } - `strong, b { font-weight: 500 }`
40
+ // small { font-size: 80% } - the body-small typescale
41
+ // kbd in `code, kbd, samp` - the keycap rule sets both properties
42
+ //
38
43
  // The rest of this file was measured against a bare page in both engines rather
39
44
  // than assumed, and these are the results that keep a rule here. Do not remove
40
45
  // them again without re-measuring - each one *looks* redundant and is not:
41
- // b, strong { font-weight: bolder } UA is `bold` (700). `bolder` is relative,
42
- // so it reaches 900 inside an already-bold
43
- // parent where the UA value would stay 700.
44
- // small { font-size: 80% } UA is `smaller`, which computes to
45
- // 13.333px against a 16px parent, not 12.8.
46
46
  // progress { vertical-align: baseline } UA is -3.2px, not baseline.
47
47
  // legend { padding: 0 } UA has padding-left: 2px.
48
48
  // [type="search"] { ... } UA is appearance:auto / outline-offset:0.
49
49
  // sub, sup { ... } UA uses vertical-align: sub/super and no
50
50
  // line-height reset; normalize's version is
51
51
  // deliberately a different mechanism.
52
- // code, kbd, samp, pre { font-size: 1em } UA applies the monospace font-size
52
+ // code, samp, pre { font-size: 1em } UA applies the monospace font-size
53
53
  // quirk (13px Chromium, 12px Firefox).
54
54
  // hr { box-sizing: content-box } matches the UA, but base/_global.scss sets
55
55
  // border-box globally and would override it.
@@ -57,97 +57,58 @@
57
57
  // correction, and this file's policy is to
58
58
  // keep those. `button` itself was dropped.
59
59
 
60
- /* Document
61
- ========================================================================== */
60
+ // Document
61
+ // ==========================================================================
62
62
 
63
- /**
64
- * 1. Correct the line height in all browsers.
65
- * 2. Prevent adjustments of font size after orientation changes in iOS.
66
- */
63
+ // 1. Correct the line height in all browsers.
64
+ // 2. Prevent adjustments of font size after orientation changes in iOS.
67
65
 
68
- html {
69
- line-height: 1.15; /* 1 */
70
- -webkit-text-size-adjust: 100%; /* 2 */
66
+ html,
67
+ :host {
68
+ line-height: 1.15; // 1
69
+ -webkit-text-size-adjust: 100%; // 2
71
70
  }
72
71
 
73
- /* Sections
74
- ========================================================================== */
72
+ // Sections
73
+ // ==========================================================================
75
74
 
76
- /**
77
- * Remove the margin in all browsers.
78
- */
75
+ // Remove the margin in all browsers.
79
76
 
80
77
  body {
81
78
  margin: 0;
82
79
  }
83
80
 
84
- /**
85
- * Correct the font size and margin on `h1` elements within `section` and
86
- * `article` contexts in Chrome, Firefox, and Safari.
87
- */
88
-
89
- h1 {
90
- font-size: 2em;
91
- margin: 0.67em 0;
92
- }
81
+ // Grouping content
82
+ // ==========================================================================
93
83
 
94
- /* Grouping content
95
- ========================================================================== */
96
-
97
- /**
98
- * Add the correct box sizing in Firefox. Needed because base/_global.scss sets
99
- * `box-sizing: border-box` globally, which would collapse a 0-height `hr`.
100
- */
84
+ // Add the correct box sizing in Firefox. Needed because base/_global.scss sets
85
+ // `box-sizing: border-box` globally, which would collapse a 0-height `hr`.
101
86
 
102
87
  hr {
103
88
  box-sizing: content-box;
104
89
  height: 0;
105
90
  }
106
91
 
107
- /**
108
- * Correct the inheritance and scaling of font size in all browsers.
109
- */
92
+ // Correct the inheritance and scaling of font size in all browsers.
110
93
 
111
94
  pre {
112
95
  font-family: monospace;
113
96
  font-size: 1em;
114
97
  }
115
98
 
116
- /* Text-level semantics
117
- ========================================================================== */
118
-
119
- /**
120
- * Add the correct font weight in Chrome, Edge, and Safari.
121
- */
99
+ // Text-level semantics
100
+ // ==========================================================================
122
101
 
123
- b,
124
- strong {
125
- font-weight: bolder;
126
- }
127
-
128
- /**
129
- * Correct the inheritance and scaling of font size in all browsers.
130
- */
102
+ // Correct the inheritance and scaling of font size in all browsers.
131
103
 
132
104
  code,
133
- kbd,
134
105
  samp {
135
106
  font-family: monospace;
136
107
  font-size: 1em;
137
108
  }
138
109
 
139
- /**
140
- * Add the correct font size in all browsers.
141
- */
142
-
143
- small {
144
- font-size: 80%;
145
- }
146
-
147
- /**
148
- * Prevent `sub` and `sup` elements from affecting the line height in
149
- * all browsers.
150
- */
110
+ // Prevent `sub` and `sup` elements from affecting the line height in
111
+ // all browsers.
151
112
 
152
113
  sub,
153
114
  sup {
@@ -165,33 +126,29 @@ sup {
165
126
  top: -0.5em;
166
127
  }
167
128
 
168
- /* Forms
169
- ========================================================================== */
129
+ // Forms
130
+ // ==========================================================================
170
131
 
171
- /**
172
- * 1. Change the font styles in all browsers.
173
- * 2. Remove the margin in Firefox and Safari.
174
- */
132
+ // 1. Change the font styles in all browsers. The family is set from
133
+ // $font-stack on the same selectors in _global.scss.
134
+ // 2. Remove the margin in Firefox and Safari.
175
135
 
176
136
  button,
177
137
  input,
178
138
  optgroup,
179
139
  select,
180
140
  textarea {
181
- font-family: inherit; /* 1 */
182
- font-size: 100%; /* 1 */
183
- line-height: 1.15; /* 1 */
184
- margin: 0; /* 2 */
141
+ font-size: 100%; // 1
142
+ line-height: 1.15; // 1
143
+ margin: 0; // 2
185
144
  }
186
145
 
187
- /**
188
- * Correct the inability to style clickable types in iOS and Safari.
189
- * Kept prefixed: this is a WebKit correction, and Safari is what needs it.
190
- *
191
- * `button` is no longer in this list. The clickable *types* are what Safari
192
- * renders unstyleable; a <button> element already renders as a button there,
193
- * and normalize carried it out of caution.
194
- */
146
+ // Correct the inability to style clickable types in iOS and Safari.
147
+ // Kept prefixed: this is a WebKit correction, and Safari is what needs it.
148
+ //
149
+ // `button` is no longer in this list. The clickable *types* are what Safari
150
+ // renders unstyleable; a <button> element already renders as a button there,
151
+ // and normalize carried it out of caution.
195
152
 
196
153
  [type="button"],
197
154
  [type="reset"],
@@ -199,59 +156,47 @@ textarea {
199
156
  -webkit-appearance: button;
200
157
  }
201
158
 
202
- /**
203
- * Remove the padding so developers are not caught out when they zero out
204
- * `fieldset` elements in all browsers.
205
- */
159
+ // Remove the padding so developers are not caught out when they zero out
160
+ // `fieldset` elements in all browsers.
206
161
 
207
162
  legend {
208
163
  padding: 0;
209
164
  }
210
165
 
211
- /**
212
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
213
- */
166
+ // Add the correct vertical alignment in Chrome, Firefox, and Opera.
214
167
 
215
168
  progress {
216
169
  vertical-align: baseline;
217
170
  }
218
171
 
219
- /**
220
- * Correct the cursor style of increment and decrement buttons in Chrome.
221
- */
172
+ // Correct the cursor style of increment and decrement buttons in Chrome.
222
173
 
223
174
  [type="number"]::-webkit-inner-spin-button,
224
175
  [type="number"]::-webkit-outer-spin-button {
225
176
  height: auto;
226
177
  }
227
178
 
228
- /**
229
- * 1. Correct the odd appearance in Chrome and Safari.
230
- * 2. Correct the outline style in Safari.
231
- */
179
+ // 1. Correct the odd appearance in Chrome and Safari.
180
+ // 2. Correct the outline style in Safari.
232
181
 
233
182
  [type="search"] {
234
- -webkit-appearance: textfield; /* 1 */
235
- outline-offset: -2px; /* 2 */
183
+ -webkit-appearance: textfield; // 1
184
+ outline-offset: -2px; // 2
236
185
  }
237
186
 
238
- /**
239
- * Remove the inner padding in Chrome and Safari on macOS.
240
- */
187
+ // Remove the inner padding in Chrome and Safari on macOS.
241
188
 
242
189
  [type="search"]::-webkit-search-decoration {
243
190
  -webkit-appearance: none;
244
191
  }
245
192
 
246
- /**
247
- * 1. Correct the inability to style clickable types in iOS and Safari.
248
- * 2. Change font properties to `inherit` in Safari.
249
- *
250
- * `::file-selector-button` is the standardised name (Chrome 89+, Firefox 82+);
251
- * the `::-webkit-file-upload-button` alias it replaced is gone.
252
- */
193
+ // 1. Correct the inability to style clickable types in iOS and Safari.
194
+ // 2. Change font properties to `inherit` in Safari.
195
+ //
196
+ // `::file-selector-button` is the standardised name (Chrome 89+, Firefox 82+);
197
+ // the `::-webkit-file-upload-button` alias it replaced is gone.
253
198
 
254
199
  ::file-selector-button {
255
- -webkit-appearance: button; /* 1 */
256
- font: inherit; /* 2 */
200
+ -webkit-appearance: button; // 1
201
+ font: inherit; // 2
257
202
  }
@@ -0,0 +1,21 @@
1
+ // Paper defaults, element level only. Components that only make sense on a
2
+ // screen (navigation, snackbars, tooltips, the FAB menu) hide themselves in
3
+ // their own partials; .hide-on-print and .print-only are in
4
+ // utilities/_visibility.scss. The light scheme for print is in
5
+ // tokens/_theme.scss, which owns color-scheme.
6
+ @media print {
7
+ // Paper cannot follow a link, so print where it goes. Only external links
8
+ // in running text: the same set base/_global.scss underlines.
9
+ :where(p, dd, blockquote, figcaption, td) a[href^="http"]:not([class])::after {
10
+ content: " (" attr(href) ")";
11
+ overflow-wrap: anywhere;
12
+ }
13
+
14
+ // Keep a heading with what follows it, and keep small blocks whole.
15
+ :is(h1, h2, h3, h4, h5, h6) { break-after: avoid; }
16
+ :is(pre, blockquote, figure, img, video, tr, li, dt, dd) { break-inside: avoid; }
17
+ :is(p, h2, h3) { orphans: 3; widows: 3; }
18
+
19
+ // Repeat a table's header row on every page it spans.
20
+ thead { display: table-header-group; }
21
+ }
@@ -0,0 +1,68 @@
1
+ // .prose: long-form content written as bare HTML, such as Markdown or CMS
2
+ // output, where the author cannot add a class to each element. Put it on a
3
+ // <div>, <section> or <main>: every <article> is already a card.
4
+ //
5
+ // It lives in the base layer, not with the components, so any component
6
+ // placed inside the content still wins over it. The element lists sit in
7
+ // :where(), so a rule weighs `.prose` plus `:not([class])`: enough to beat
8
+ // the element defaults beside it. Elements that carry a class are a
9
+ // component or a deliberate style and are left alone.
10
+
11
+ .prose {
12
+ max-inline-size: 70ch;
13
+
14
+ > :first-child { margin-block-start: 0; }
15
+ > :last-child { margin-block-end: 0; }
16
+
17
+ :where(h2, h3, h4, h5, h6):not([class], :first-child) { margin-block-start: 1.6em; }
18
+
19
+ :where(ul, ol):not([class]) {
20
+ margin-block: 0 1em;
21
+ padding-inline-start: 1.5em;
22
+ }
23
+
24
+ :where(li):not([class]) + li { margin-block-start: 0.375em; }
25
+ :where(li > ul, li > ol):not([class]) { margin-block: 0.375em 0; }
26
+
27
+ // base/_global.scss underlines links in paragraphs; lists and headings
28
+ // in long-form content are running text too.
29
+ :where(li, h2, h3, h4, h5, h6) a:not([class]) {
30
+ text-decoration: underline;
31
+ text-underline-offset: 0.15em;
32
+ }
33
+
34
+ // <kbd> keeps its keycap from base/_typography.scss.
35
+ :where(code, samp):not([class]) { font-size: 0.875em; }
36
+
37
+ :where(code):not([class]) {
38
+ padding: 0.125em 0.375em;
39
+ border-radius: var(--md-sys-shape-corner-extra-small);
40
+ background-color: var(--md-sys-color-surface-container-high);
41
+ }
42
+
43
+ :where(pre):not([class]) {
44
+ margin-block: 0 1em;
45
+ padding: 1rem;
46
+ overflow-x: auto;
47
+ border-radius: var(--md-sys-shape-corner-medium);
48
+ background-color: var(--md-sys-color-surface-container);
49
+
50
+ > code { padding: 0; background: none; font-size: inherit; }
51
+ }
52
+
53
+ :where(img, video):not([class]) {
54
+ max-inline-size: 100%;
55
+ block-size: auto;
56
+ border-radius: var(--md-sys-shape-corner-medium);
57
+ }
58
+
59
+ :where(figure):not([class]) { margin: 0 0 1em; }
60
+
61
+ :where(hr):not([class]) {
62
+ margin-block: 2em;
63
+ border: 0;
64
+ border-block-start: 1px solid var(--md-sys-color-outline-variant);
65
+ }
66
+
67
+ :where(table):not([class]) { margin-block: 0 1em; }
68
+ }
@@ -14,13 +14,13 @@
14
14
  // large for a default <h1>. Component slots (app bar, card, dialog) set
15
15
  // their own roles and win on specificity.
16
16
 
17
- html {
17
+ html,
18
+ :host {
18
19
  font-family: $font-stack;
19
- font-weight: var(--md-sys-typescale-body-medium-font-weight);
20
- color: $text-color;
21
20
  }
22
21
 
23
- body {
22
+ body,
23
+ :host {
24
24
  @include typescale("body-medium");
25
25
  }
26
26
 
@@ -39,6 +39,11 @@ h4, h5, h6 {
39
39
  margin: 0 0 0.35em;
40
40
  }
41
41
 
42
+ // Even out heading lines, and keep a lone word off a paragraph's last line.
43
+ // The longhand leaves text-wrap-mode alone, so .truncate and nowrap still win.
44
+ h1, h2, h3, h4, h5, h6 { text-wrap-style: balance; }
45
+ p { text-wrap-style: pretty; }
46
+
42
47
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
43
48
  font-weight: inherit;
44
49
  color: inherit;
@@ -54,7 +59,6 @@ figcaption {
54
59
  @include typescale("body-small");
55
60
  }
56
61
 
57
- em { font-style: italic; }
58
62
  strong, b { font-weight: 500; }
59
63
 
60
64
  // Flow text: font-size scales with the viewport between two bounds.
@@ -18,12 +18,10 @@
18
18
  // --md-comp-accordion-header-height 56px
19
19
  // --md-comp-accordion-padding 16px
20
20
 
21
- $_accordion-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15.4 6 9.4 7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E");
22
-
23
21
  .accordion {
24
22
  --md-comp-accordion-container-color: var(--md-sys-color-surface-container);
25
- --md-comp-accordion-shape: 20px;
26
- --md-comp-accordion-grouped-shape: 4px;
23
+ --md-comp-accordion-shape: var(--md-sys-shape-corner-large-increased);
24
+ --md-comp-accordion-grouped-shape: var(--md-sys-shape-corner-extra-small);
27
25
  --md-comp-accordion-gap: 2px;
28
26
  --md-comp-accordion-header-height: 56px;
29
27
  --md-comp-accordion-padding: 16px;
@@ -40,7 +38,7 @@ $_accordion-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/200
40
38
  // Invisible until forced colors paint it, so the tiles stay apart there.
41
39
  outline: 1px solid transparent;
42
40
  outline-offset: -1px;
43
- transition: border-radius 200ms ease-out;
41
+ transition: border-radius var(--md-sys-motion-duration-short4) ease-out;
44
42
 
45
43
  &:first-child {
46
44
  border-start-start-radius: var(--md-comp-accordion-shape);
@@ -84,16 +82,12 @@ $_accordion-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/200
84
82
  height: 24px;
85
83
  margin-inline-start: auto;
86
84
  background-color: var(--md-sys-color-on-surface-variant);
87
- mask: $_accordion-chevron center / 24px no-repeat;
88
- transition: transform 200ms ease-out;
85
+ mask: $expand-more center / 24px no-repeat;
86
+ transition: transform var(--md-sys-motion-duration-short4) ease-out;
89
87
  }
90
88
 
91
89
  &:hover {
92
- background-color: color-mix(
93
- in oklab,
94
- var(--md-sys-color-on-surface) state-opacity("hover"),
95
- transparent
96
- );
90
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
97
91
  }
98
92
 
99
93
  > #{$icon} {
@@ -130,8 +124,8 @@ $_accordion-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/200
130
124
  block-size: 0;
131
125
  overflow: clip;
132
126
  transition:
133
- block-size 250ms cubic-bezier(0.2, 0, 0, 1),
134
- content-visibility 250ms allow-discrete;
127
+ block-size var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),
128
+ content-visibility var(--md-sys-motion-duration-medium1) allow-discrete;
135
129
  }
136
130
 
137
131
  &[open]::details-content {
@@ -153,9 +147,6 @@ $_accordion-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/200
153
147
  }
154
148
  }
155
149
 
156
- @media (forced-colors: active) {
157
- .accordion > details > summary::after {
158
- forced-color-adjust: none;
159
- background-color: CanvasText;
160
- }
150
+ .accordion > details > summary::after {
151
+ @include forced-colors-fill;
161
152
  }
@@ -0,0 +1,102 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Alert. A persistent message in the flow of the page, next to the content it
4
+ // is about: an optional leading icon, text, an optional close button and an
5
+ // optional row of actions. `critical` is the error-container tone. Static
6
+ // alerts need no role; see llm.md for announcing changes.
7
+ //
8
+ // Anatomy is the HTML, in order:
9
+ // icon leading; sits beside the first line of text
10
+ // h1–h6, p, ... the message; every other child stacks in the text column
11
+ // .icon-button last child, the close button
12
+ // .alert-actions buttons under the text, aligned to the end
13
+ //
14
+ // The grid pins the icon and close button to the first row, so a long message
15
+ // or enlarged text wraps under itself instead of under them.
16
+ //
17
+ // Tokens:
18
+ // --md-comp-alert-container-color secondary-container / critical: error-container
19
+ // --md-comp-alert-color on-secondary-container / critical: on-error-container
20
+ // --md-comp-alert-shape 16px
21
+ // --md-comp-alert-padding 16px
22
+
23
+ .alert {
24
+ --md-comp-alert-container-color: var(--md-sys-color-secondary-container);
25
+ --md-comp-alert-color: var(--md-sys-color-on-secondary-container);
26
+ --md-comp-alert-shape: var(--md-sys-shape-corner-large);
27
+ --md-comp-alert-padding: 16px;
28
+
29
+ box-sizing: border-box;
30
+ display: grid;
31
+ grid-template-columns: auto minmax(0, 1fr) auto;
32
+ align-items: start;
33
+ row-gap: 4px;
34
+ margin-block: 8px;
35
+ padding: var(--md-comp-alert-padding);
36
+ // Transparent so forced-colors mode, which drops the fill, still draws an edge.
37
+ border: 1px solid transparent;
38
+ border-radius: var(--md-comp-alert-shape);
39
+ background-color: var(--md-comp-alert-container-color);
40
+ color: var(--md-comp-alert-color);
41
+ @include typescale("body-medium");
42
+
43
+ // display: grid would otherwise beat the browser's [hidden] rule, and
44
+ // toggling hidden is the usual way to show and dismiss an alert.
45
+ &[hidden] {
46
+ display: none;
47
+ }
48
+
49
+ &.critical {
50
+ --md-comp-alert-container-color: var(--md-sys-color-error-container);
51
+ --md-comp-alert-color: var(--md-sys-color-on-error-container);
52
+ }
53
+
54
+ > * {
55
+ grid-column: 2;
56
+ margin: 0;
57
+ }
58
+
59
+ > #{$icon}:first-child {
60
+ grid-column: 1;
61
+ grid-row: 1;
62
+ margin-inline-end: 12px;
63
+ font-size: rem(24px);
64
+ line-height: rem(20px);
65
+ }
66
+
67
+ > :is(h1, h2, h3, h4, h5, h6) {
68
+ @include typescale("title-small");
69
+ }
70
+
71
+ > p {
72
+ @include typescale("body-medium");
73
+ }
74
+
75
+ a:not(.button, .icon-button) {
76
+ color: inherit;
77
+ text-decoration: underline;
78
+ }
79
+
80
+ // The close button's 48px target overhangs the padding instead of adding a
81
+ // row's worth of height to a one-line alert.
82
+ > .icon-button:last-child {
83
+ grid-column: 3;
84
+ grid-row: 1;
85
+ margin-block: -12px;
86
+ margin-inline: 4px -12px;
87
+ color: inherit;
88
+ }
89
+
90
+ > .alert-actions {
91
+ grid-column: 2 / -1;
92
+ display: flex;
93
+ flex-wrap: wrap;
94
+ justify-content: flex-end;
95
+ gap: 8px;
96
+ margin-block-start: 8px;
97
+ }
98
+
99
+ @media (forced-colors: active) {
100
+ border-color: CanvasText;
101
+ }
102
+ }
@@ -35,7 +35,7 @@
35
35
  --md-comp-aura-color: var(--md-sys-color-primary);
36
36
  --md-comp-aura-color-2: var(--md-sys-color-tertiary);
37
37
  --md-comp-aura-width: 2px;
38
- --md-comp-aura-shape: 12px;
38
+ --md-comp-aura-shape: var(--md-sys-shape-corner-medium);
39
39
  --md-comp-aura-duration: 4s;
40
40
 
41
41
  position: relative;
@@ -46,7 +46,7 @@
46
46
  border-radius: calc(var(--md-comp-aura-shape) + var(--md-comp-aura-width));
47
47
 
48
48
  &:has(> :is(button, .button, [role="button"])) {
49
- --md-comp-aura-shape: 9999px;
49
+ --md-comp-aura-shape: var(--md-sys-shape-corner-full);
50
50
  }
51
51
 
52
52
  &::before {
@@ -101,10 +101,16 @@
101
101
  }
102
102
  }
103
103
 
104
+ // Doubled to outrank the variants, so a rainbow or a glow is the same
105
+ // solid ring.
104
106
  @media (forced-colors: active) {
105
- &::before {
107
+ &.aura::before {
108
+ animation: none;
106
109
  forced-color-adjust: none;
107
110
  background: Highlight;
111
+ mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
112
+ filter: none;
113
+ opacity: 1;
108
114
  }
109
115
  }
110
116
  }
@@ -15,7 +15,7 @@
15
15
  // --md-comp-avatar-group-ring-color surface
16
16
 
17
17
  .avatar {
18
- --md-comp-avatar-size: 40px;
18
+ --md-comp-avatar-size: #{rem(40px)};
19
19
  --md-comp-avatar-container-color: var(--md-sys-color-secondary-container);
20
20
  --md-comp-avatar-color: var(--md-sys-color-on-secondary-container);
21
21
 
@@ -42,11 +42,11 @@
42
42
  user-select: none;
43
43
 
44
44
  &.small {
45
- --md-comp-avatar-size: 32px;
45
+ --md-comp-avatar-size: #{rem(32px)};
46
46
  }
47
47
 
48
48
  &.large {
49
- --md-comp-avatar-size: 56px;
49
+ --md-comp-avatar-size: #{rem(56px)};
50
50
  }
51
51
 
52
52
  > img {
@@ -0,0 +1,38 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Back-to-top link. Pair it with the FAB classes, `button circle extra`, for
4
+ // the look: this partial only places the link and hides it. `inert` is the
5
+ // framework's. BackToTop sets it while the page is above the threshold, so
6
+ // a page without the script keeps the link visible.
7
+ //
8
+ // The FAB menu sits in the same corner on the same offset. A page with both
9
+ // raises one of them through `--md-comp-back-to-top-offset`.
10
+ .back-to-top {
11
+ --md-comp-back-to-top-offset: 16px;
12
+ --md-comp-back-to-top-z: 997;
13
+ --md-comp-back-to-top-duration: var(--md-sys-motion-spring-fast-effects-duration);
14
+ --md-comp-back-to-top-easing: var(--md-sys-motion-spring-fast-effects);
15
+
16
+ position: fixed;
17
+ inset-inline-end: var(--md-comp-back-to-top-offset);
18
+ bottom: var(--md-comp-back-to-top-offset);
19
+ z-index: var(--md-comp-back-to-top-z);
20
+ transition: opacity var(--md-comp-back-to-top-duration) var(--md-comp-back-to-top-easing);
21
+
22
+ // It fades in, and hides at once. A fade out would also run when the
23
+ // script starts on a page already painted at the top, and show the link
24
+ // leaving a corner where nothing had scrolled. Visibility takes it off
25
+ // screen readers and the page's ARIA snapshot along with `inert`.
26
+ &[inert] {
27
+ visibility: hidden;
28
+ opacity: 0;
29
+ transition: none;
30
+ }
31
+ }
32
+
33
+ @media (prefers-reduced-motion: reduce) {
34
+ .back-to-top { transition: none; }
35
+ }
36
+
37
+ // A floating link would print over the content, as the FAB menu would.
38
+ .back-to-top { @include print-hidden; }