@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,11 +4,16 @@
4
4
  // navigation bar.
5
5
  //
6
6
  // Anatomy is the HTML: a nav.navigation-rail. The first
7
- // button:not(.button) is the menu toggle. A .button child is the
8
- // optional FAB. Other <a>/<button> are destinations (leading <i>,
7
+ // button:not(.button) is the menu toggle, unless it opens a side
8
+ // panel. A .button child is the optional FAB. Other <a>/<button> are destinations (leading icon,
9
9
  // remaining text is the label, optional .badge). A heading is a
10
10
  // section header (expanded only). aria-current / .active is selected.
11
11
  //
12
+ // Side panel: a destination <button popovertarget> followed by its
13
+ // .navigation-rail-panel [popover]. The panel docks beside the rail at full
14
+ // height and holds links, headings and <details> groups. The browser owns
15
+ // click, light dismiss, Escape and the expanded state; JS opens it on hover.
16
+ //
12
17
  // .expanded widens the rail (icon+label on one row, extended FAB).
13
18
  // Below `small`, .expanded is modal (scrim). .modal forces that
14
19
  // overlay at every breakpoint. JS toggles .expanded from the menu
@@ -21,6 +26,7 @@
21
26
  // --md-comp-nav-rail-indicator-width 56px
22
27
  // --md-comp-nav-rail-indicator-height 32px / 56px expanded
23
28
  // --md-comp-nav-rail-fab-size 56px
29
+ // --md-comp-nav-rail-panel-width 256px
24
30
  //
25
31
  // Nest descendants inside this block.
26
32
 
@@ -32,8 +38,9 @@
32
38
  // Expanded rail as an overlay with a scrim.
33
39
  @mixin _modal-rail {
34
40
  position: fixed;
35
- inset: 0 auto 0 0;
36
- z-index: 998;
41
+ inset-block: 0;
42
+ inset-inline: 0 auto;
43
+ z-index: var(--expressive-z-modal-rail);
37
44
  @include z-depth("1");
38
45
 
39
46
  // A blurred rail would become the containing block of the fixed scrim
@@ -48,17 +55,39 @@
48
55
  background-color: var(--md-comp-scrim-color);
49
56
  z-index: -1;
50
57
  }
58
+
59
+ // The rail's z-index makes it the stacking context, which paints its own
60
+ // background under the -1 scrim, so the scrim would dim the rail too. This
61
+ // later layer repaints the surface over the scrim and under the content.
62
+ // Fixed, not absolute, so it stays put while the rail scrolls.
63
+ &::after {
64
+ content: "";
65
+ box-sizing: border-box;
66
+ position: fixed;
67
+ inset-block: 0;
68
+ inset-inline-start: 0;
69
+ width: inherit;
70
+ z-index: -1;
71
+ background: inherit;
72
+ border-radius: inherit;
73
+ pointer-events: none;
74
+ }
51
75
  }
52
76
 
53
77
  .navigation-rail {
54
78
  --md-comp-nav-rail-icon-size: 24px;
55
79
  --md-comp-nav-rail-indicator-width: 56px;
56
80
  --md-comp-nav-rail-indicator-height: 32px;
57
- --md-comp-nav-rail-indicator-shape: 16px;
81
+ --md-comp-nav-rail-indicator-shape: var(--md-sys-shape-corner-large);
58
82
  --md-comp-nav-rail-fab-size: 56px;
59
83
  --md-comp-nav-rail-active-indicator-color: var(--md-sys-color-secondary-container);
60
84
  --md-comp-nav-rail-active-color: var(--md-sys-color-on-secondary-container);
61
- --md-comp-nav-rail-duration: 250ms;
85
+ --md-comp-nav-rail-duration: var(--md-sys-motion-duration-medium1);
86
+ // Expanding and collapsing resize the rail, so they run on the default
87
+ // spatial spring and follow the motion="expressive" switch. The rail grows
88
+ // from its docked edge, so an overshoot only widens it for a moment.
89
+ --md-comp-nav-rail-motion: var(--md-sys-motion-spring-default-spatial);
90
+ --md-comp-nav-rail-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
62
91
 
63
92
  box-sizing: border-box;
64
93
  display: flex;
@@ -75,13 +104,13 @@
75
104
  overscroll-behavior: contain;
76
105
  background-color: var(--md-sys-color-surface-container);
77
106
  color: var(--md-sys-color-on-surface);
78
- transition: width var(--md-comp-nav-rail-duration) ease,
79
- min-width var(--md-comp-nav-rail-duration) ease,
80
- padding var(--md-comp-nav-rail-duration) ease;
107
+ transition: width var(--md-comp-nav-rail-motion-duration) var(--md-comp-nav-rail-motion),
108
+ min-width var(--md-comp-nav-rail-motion-duration) var(--md-comp-nav-rail-motion),
109
+ padding var(--md-comp-nav-rail-motion-duration) var(--md-comp-nav-rail-motion);
81
110
  @include glass(var(--md-sys-color-surface-container));
82
111
 
83
112
  // Menu toggle.
84
- > button:not(.button, .icon-button):first-child {
113
+ > button:not(.button, .icon-button, [popovertarget]):first-child {
85
114
  display: flex;
86
115
  flex: 0 0 auto;
87
116
  align-items: center;
@@ -105,12 +134,14 @@
105
134
  }
106
135
 
107
136
  &:hover {
108
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
137
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
109
138
  }
110
139
  }
111
140
 
112
141
  // Optional FAB. Collapsed: icon-only 56dp. Expanded: extended.
113
142
  > :is(a, button).button {
143
+ --md-comp-filled-button-icon-size: 24px;
144
+
114
145
  display: inline-flex;
115
146
  flex: 0 0 auto;
116
147
  align-items: center;
@@ -122,23 +153,19 @@
122
153
  margin: 4px 0 16px;
123
154
  padding: 0;
124
155
  overflow: hidden;
125
- border-radius: 16px;
156
+ border-radius: var(--md-sys-shape-corner-large);
126
157
  color: var(--md-sys-color-on-primary-container);
127
158
  background-color: var(--md-sys-color-primary-container);
128
159
  text-decoration: none;
129
160
 
130
161
  > :not(#{$icon}) {
131
- position: absolute;
132
- width: 1px;
133
- height: 1px;
134
- overflow: hidden;
135
- clip-path: inset(50%);
162
+ @include visually-hidden;
136
163
  }
137
164
  }
138
165
 
139
166
  // Destinations.
140
167
  > a:not(.button, .icon-button),
141
- > button:not(.button, .icon-button):not(:first-child) {
168
+ > button:not(.button, .icon-button):is(:not(:first-child), [popovertarget]) {
142
169
  position: relative;
143
170
  display: flex;
144
171
  flex: 0 0 auto;
@@ -148,6 +175,8 @@
148
175
  gap: 4px;
149
176
  box-sizing: border-box;
150
177
  width: 100%;
178
+ // A <button> destination would keep the default button's 40px height.
179
+ height: auto;
151
180
  margin: 0;
152
181
  padding: 6px 0;
153
182
  border: 0;
@@ -160,48 +189,9 @@
160
189
  @include typescale("label-medium");
161
190
  @include focus-visible;
162
191
 
163
- > #{$icon} {
164
- display: flex;
165
- flex-shrink: 0;
166
- align-items: center;
167
- justify-content: center;
168
- box-sizing: border-box;
169
- width: var(--md-comp-nav-rail-indicator-width);
170
- height: var(--md-comp-nav-rail-indicator-height);
171
- border-radius: var(--md-comp-nav-rail-indicator-shape);
172
- font-size: var(--md-comp-nav-rail-icon-size);
173
- color: inherit;
174
- transition: background-color var(--md-comp-nav-rail-duration) ease;
175
- }
176
-
177
- &:hover:not(.active, [aria-current]) > #{$icon} {
178
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
179
- }
180
-
181
- &.active,
182
- &[aria-current] {
183
- color: var(--md-sys-color-on-surface);
184
-
185
- > #{$icon} {
186
- background-color: var(--md-comp-nav-rail-active-indicator-color);
187
- color: var(--md-comp-nav-rail-active-color);
188
- --md-icon-fill: 1;
189
- }
190
- }
191
-
192
192
  // Sibling badge (icon + label + .badge). Child-of-icon is handled
193
- // in _badges.scss. Sit on the upper trailing corner of the 24dp glyph.
194
- > .badge {
195
- position: absolute;
196
- z-index: 1;
197
- top: calc(6px + (var(--md-comp-nav-rail-indicator-height) - 24px) / 2);
198
- inset-inline-start: calc(50% + 12px);
199
- transform: translate(-50%, -50%);
200
-
201
- &:dir(rtl) {
202
- transform: translate(50%, -50%);
203
- }
204
- }
193
+ // in _badges.scss.
194
+ @include nav-destination("nav-rail", 6px, background-color var(--md-comp-nav-rail-duration) ease);
205
195
  }
206
196
 
207
197
  > :is(h1, h2, h3, h4, h5, h6) {
@@ -216,14 +206,14 @@
216
206
 
217
207
  &.expanded {
218
208
  --md-comp-nav-rail-indicator-height: 56px;
219
- --md-comp-nav-rail-indicator-shape: 28px;
209
+ --md-comp-nav-rail-indicator-shape: var(--md-sys-shape-corner-extra-large);
220
210
 
221
211
  align-items: stretch;
222
212
  width: clamp(220px, var(--md-comp-nav-rail-expanded-width), 360px);
223
213
  min-width: 220px;
224
214
  padding-inline: 16px;
225
215
 
226
- > button:not(.button, .icon-button):first-child {
216
+ > button:not(.button, .icon-button, [popovertarget]):first-child {
227
217
  justify-content: flex-start;
228
218
  width: auto;
229
219
  padding-inline: 16px;
@@ -240,6 +230,7 @@
240
230
  position: static;
241
231
  width: auto;
242
232
  height: auto;
233
+ margin: 0;
243
234
  overflow: visible;
244
235
  clip-path: none;
245
236
  @include typescale("label-large");
@@ -247,7 +238,7 @@
247
238
  }
248
239
 
249
240
  > a:not(.button, .icon-button),
250
- > button:not(.button, .icon-button):not(:first-child) {
241
+ > button:not(.button, .icon-button):is(:not(:first-child), [popovertarget]) {
251
242
  flex-direction: row;
252
243
  justify-content: flex-start;
253
244
  gap: 12px;
@@ -256,46 +247,21 @@
256
247
  border-radius: var(--md-comp-nav-rail-indicator-shape);
257
248
  text-align: start;
258
249
 
259
- > #{$icon} {
260
- width: var(--md-comp-nav-rail-icon-size);
261
- height: var(--md-comp-nav-rail-icon-size);
262
- border-radius: 0;
263
- }
264
-
265
- &:hover:not(.active, [aria-current]) {
266
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
267
-
268
- > #{$icon} {
269
- background-color: transparent;
270
- }
271
- }
272
-
273
- &.active,
274
- &[aria-current] {
275
- background-color: var(--md-comp-nav-rail-active-indicator-color);
276
- color: var(--md-comp-nav-rail-active-color);
277
-
278
- > #{$icon} {
279
- background-color: transparent;
280
- color: inherit;
281
- }
282
- }
250
+ @include nav-destination-row("nav-rail");
283
251
 
284
252
  > .badge {
285
253
  top: calc((var(--md-comp-nav-rail-indicator-height) - 24px) / 2);
286
- left: auto;
287
254
  inset-inline-start: calc(16px + 24px);
288
- transform: translate(-50%, -50%);
289
-
290
- &:dir(rtl) {
291
- transform: translate(50%, -50%);
292
- }
293
255
  }
294
256
  }
295
257
 
296
258
  > :is(h1, h2, h3, h4, h5, h6) {
297
259
  display: block;
298
260
  }
261
+
262
+ > .navigation-rail-panel {
263
+ --_nav-rail-panel-offset: 16px;
264
+ }
299
265
  }
300
266
 
301
267
  &.expanded.modal {
@@ -309,8 +275,111 @@
309
275
  }
310
276
  }
311
277
 
278
+ // A destination whose panel is open keeps its hover state layer.
279
+ .navigation-rail:not(.expanded) > button:has(+ .navigation-rail-panel:popover-open):not(.active, [aria-current]) > #{$icon},
280
+ .navigation-rail.expanded > button:has(+ .navigation-rail-panel:popover-open):not(.active, [aria-current]) {
281
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
282
+ }
283
+
284
+ // Docks against the trigger's inline end; the offset clears the rail's
285
+ // inline padding so the panel meets the rail's edge. The position area is
286
+ // the space after the trigger, so 100% is what is left of the window.
287
+ .navigation-rail-panel {
288
+ --_nav-rail-panel-offset: 8px;
289
+
290
+ box-sizing: border-box;
291
+ inline-size: var(--md-comp-nav-rail-panel-width, 256px);
292
+ max-inline-size: calc(100% - var(--_nav-rail-panel-offset));
293
+ block-size: auto;
294
+ inset: auto;
295
+ margin: 0;
296
+ margin-inline-start: var(--_nav-rail-panel-offset);
297
+ overflow: auto;
298
+ overscroll-behavior: contain;
299
+ border: 0;
300
+ border-start-end-radius: var(--md-sys-shape-corner-large);
301
+ border-end-end-radius: var(--md-sys-shape-corner-large);
302
+ background-color: var(--md-sys-color-surface-container);
303
+ color: var(--md-sys-color-on-surface-variant);
304
+ @include z-depth("1");
305
+
306
+ position-area: span-all inline-end;
307
+ align-self: stretch;
308
+
309
+ // Here, not on the base rule, so the global [popover] reset in _menu.scss,
310
+ // which loads later, cannot clear it.
311
+ &:popover-open {
312
+ display: flex;
313
+ flex-direction: column;
314
+ padding: 12px;
315
+ }
316
+
317
+ :is(a, summary) {
318
+ display: flex;
319
+ flex: none;
320
+ align-items: center;
321
+ gap: 12px;
322
+ box-sizing: border-box;
323
+ min-block-size: 48px;
324
+ padding: 0 16px;
325
+ border-radius: 24px;
326
+ color: inherit;
327
+ text-decoration: none;
328
+ cursor: pointer;
329
+ @include typescale("label-large");
330
+ @include focus-visible;
331
+ @include text-action(
332
+ "[aria-current]",
333
+ var(--md-comp-nav-rail-active-indicator-color),
334
+ var(--md-comp-nav-rail-active-color)
335
+ );
336
+ }
337
+
338
+ summary {
339
+ list-style: none;
340
+
341
+ &::-webkit-details-marker {
342
+ display: none;
343
+ }
344
+
345
+ &::after {
346
+ content: "";
347
+ flex: none;
348
+ inline-size: 18px;
349
+ block-size: 18px;
350
+ margin-inline-start: auto;
351
+ background-color: currentColor;
352
+ mask: $caret-down center / 18px no-repeat;
353
+ transition: transform var(--md-sys-motion-duration-short3) ease-out;
354
+ @include forced-colors-fill;
355
+ }
356
+ }
357
+
358
+ details[open] > summary::after {
359
+ transform: rotate(180deg);
360
+ }
361
+
362
+ details > a {
363
+ padding-inline-start: 28px;
364
+ }
365
+
366
+ > :is(h1, h2, h3, h4, h5, h6) {
367
+ margin: 0;
368
+ padding: 16px 16px 8px;
369
+ @include typescale("title-small");
370
+ }
371
+
372
+ @media (forced-colors: active) {
373
+ border: 1px solid CanvasText;
374
+ }
375
+ }
376
+
312
377
  @media (prefers-reduced-motion: reduce) {
378
+ .navigation-rail-panel summary::after,
313
379
  .navigation-rail {
314
380
  transition: none;
315
381
  }
316
382
  }
383
+
384
+ // Navigation does nothing on paper.
385
+ .navigation-rail { @include print-hidden; }
@@ -0,0 +1,192 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Organization chart. A reporting line drawn top down: a <ul class="org-chart">
4
+ // of nested lists, one <li> per person. A person with reports holds a
5
+ // <details open>: its <summary class="org-chart-node"> is the card and its
6
+ // nested <ul> the reports, so the browser collapses a team. A person without
7
+ // reports holds a <div class="org-chart-node">, or an <a> to a profile.
8
+ //
9
+ // A node stacks an optional .org-chart-role band, an .avatar and an
10
+ // .org-chart-name. The nested lists carry the hierarchy to assistive
11
+ // technology; the connector lines are drawn with pseudo-elements and say
12
+ // nothing. Like .tree it is disclosures and links, not role="tree".
13
+ //
14
+ // Siblings sit side by side, so a wide chart scrolls sideways inside the
15
+ // root list instead of the page. Right-to-left pages mirror the order.
16
+ //
17
+ // Tokens:
18
+ // --md-comp-org-chart-line-color outline-variant
19
+ // --md-comp-org-chart-line-length 24px; each vertical connector
20
+ // --md-comp-org-chart-gap 16px; between siblings
21
+ // --md-comp-org-chart-node-container-color surface-container-high
22
+ // --md-comp-org-chart-node-shape 12px
23
+ // --md-comp-org-chart-role-container-color primary-container
24
+ // --md-comp-org-chart-role-color on-primary-container
25
+
26
+ .org-chart {
27
+ --md-comp-org-chart-line-color: var(--md-sys-color-outline-variant);
28
+ --md-comp-org-chart-line-length: 24px;
29
+ --md-comp-org-chart-gap: 16px;
30
+ --md-comp-org-chart-node-container-color: var(--md-sys-color-surface-container-high);
31
+ --md-comp-org-chart-node-shape: var(--md-sys-shape-corner-medium);
32
+ --md-comp-org-chart-role-container-color: var(--md-sys-color-primary-container);
33
+ --md-comp-org-chart-role-color: var(--md-sys-color-on-primary-container);
34
+ --_line: 1px solid var(--md-comp-org-chart-line-color);
35
+
36
+ display: flex;
37
+ // `safe` keeps an overflowing chart's start edge reachable by scrolling.
38
+ justify-content: safe center;
39
+ margin: $element-top-margin 0 $element-bottom-margin;
40
+ padding: 0 0 8px;
41
+ overflow-x: auto;
42
+ list-style: none;
43
+
44
+ ul {
45
+ position: relative;
46
+ display: flex;
47
+ justify-content: center;
48
+ margin: 0;
49
+ padding: var(--md-comp-org-chart-line-length) 0 0;
50
+ list-style: none;
51
+
52
+ // The drop from the manager down to the bar over the reports.
53
+ &::before {
54
+ content: "";
55
+ position: absolute;
56
+ inset-block-start: 0;
57
+ inset-inline-start: 50%;
58
+ block-size: var(--md-comp-org-chart-line-length);
59
+ border-inline-start: var(--_line);
60
+ }
61
+ }
62
+
63
+ li {
64
+ position: relative;
65
+ display: flex;
66
+ flex: none;
67
+ flex-direction: column;
68
+ align-items: center;
69
+ margin: 0;
70
+ padding-inline: calc(var(--md-comp-org-chart-gap) / 2);
71
+ }
72
+
73
+ // Each report draws half the bar on either side of its centre and a drop
74
+ // from the bar to its card. The outer halves of the first and last
75
+ // report are left off, so the bar spans exactly from end card to end card.
76
+ ul > li {
77
+ padding-block-start: var(--md-comp-org-chart-line-length);
78
+
79
+ &::before,
80
+ &::after {
81
+ content: "";
82
+ position: absolute;
83
+ inset-block-start: 0;
84
+ inline-size: 50%;
85
+ block-size: var(--md-comp-org-chart-line-length);
86
+ border-block-start: var(--_line);
87
+ }
88
+
89
+ &::before {
90
+ inset-inline-end: 50%;
91
+ }
92
+
93
+ &::after {
94
+ inset-inline-start: 50%;
95
+ border-inline-start: var(--_line);
96
+ }
97
+
98
+ &:first-child::before,
99
+ &:last-child::after {
100
+ border-block-start: 0;
101
+ }
102
+ }
103
+ }
104
+
105
+ .org-chart-node {
106
+ box-sizing: border-box;
107
+ display: flex;
108
+ flex-direction: column;
109
+ align-items: center;
110
+ gap: 8px;
111
+ inline-size: fit-content;
112
+ min-inline-size: rem(128px);
113
+ max-inline-size: rem(192px);
114
+ margin-inline: auto;
115
+ padding: 16px;
116
+ border-radius: var(--md-comp-org-chart-node-shape);
117
+ overflow: hidden;
118
+ background-color: var(--md-comp-org-chart-node-container-color);
119
+ color: var(--md-sys-color-on-surface);
120
+ text-align: center;
121
+ text-decoration: none;
122
+ overflow-wrap: anywhere;
123
+ @include typescale("body-medium");
124
+
125
+ &:is(a, summary) {
126
+ cursor: pointer;
127
+ @include focus-visible;
128
+
129
+ &:hover {
130
+ background-image: linear-gradient(
131
+ state-layer(var(--md-sys-color-on-surface), "hover") 0 0
132
+ );
133
+ }
134
+ }
135
+
136
+ // A summary would otherwise show its own triangle; the card draws a
137
+ // caret under the name that turns over once the team is open.
138
+ &:is(summary) {
139
+ list-style: none;
140
+ user-select: none;
141
+
142
+ &::-webkit-details-marker {
143
+ display: none;
144
+ }
145
+
146
+ &::after {
147
+ content: "";
148
+ flex: none;
149
+ inline-size: rem(24px);
150
+ block-size: rem(24px);
151
+ margin-block: -8px;
152
+ background-color: currentColor;
153
+ mask: $caret-down center / 100% no-repeat;
154
+ transition: rotate var(--md-sys-motion-duration-short3) ease-out;
155
+
156
+ @media (prefers-reduced-motion: reduce) {
157
+ transition: none;
158
+ }
159
+
160
+ @include forced-colors-fill;
161
+ }
162
+ }
163
+
164
+ [open] > &::after {
165
+ rotate: 180deg;
166
+ }
167
+ }
168
+
169
+ // A band across the top of the card, so it must come first in the node.
170
+ .org-chart-role {
171
+ align-self: stretch;
172
+ margin: -16px -16px 0;
173
+ padding: 8px 16px;
174
+ background-color: var(--md-comp-org-chart-role-container-color);
175
+ color: var(--md-comp-org-chart-role-color);
176
+ @include typescale("label-large");
177
+ }
178
+
179
+ .org-chart-name {
180
+ @include typescale("title-small");
181
+ }
182
+
183
+ // Forced colors drop the fills, so a border keeps each card and the band.
184
+ @media (forced-colors: active) {
185
+ .org-chart-node {
186
+ border: 1px solid CanvasText;
187
+ }
188
+
189
+ .org-chart-role {
190
+ border-block-end: 1px solid CanvasText;
191
+ }
192
+ }
@@ -51,9 +51,7 @@ $_footer: "footer:not(:has(> .navigation-bar:only-child))";
51
51
  }
52
52
 
53
53
  ul {
54
- margin: 0;
55
- padding: 0;
56
- list-style: none;
54
+ @include list-reset;
57
55
  }
58
56
  }
59
57
 
@@ -115,7 +113,7 @@ $_footer: "footer:not(:has(> .navigation-bar:only-child))";
115
113
  @include typescale("label-large");
116
114
 
117
115
  &:hover {
118
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
116
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
119
117
  }
120
118
  }
121
119
 
@@ -42,9 +42,7 @@
42
42
  flex-wrap: wrap;
43
43
  align-items: center;
44
44
  gap: var(--md-comp-pagination-gap);
45
- list-style: none;
46
- margin: 0;
47
- padding: 0;
45
+ @include list-reset;
48
46
  }
49
47
 
50
48
  &.nowrap,
@@ -53,10 +51,6 @@
53
51
  min-width: 0;
54
52
  overflow-x: auto;
55
53
  scrollbar-width: none;
56
-
57
- &::-webkit-scrollbar {
58
- display: none;
59
- }
60
54
  }
61
55
 
62
56
  li {
@@ -84,17 +78,17 @@
84
78
  text-decoration: none;
85
79
  cursor: pointer;
86
80
  -webkit-tap-highlight-color: transparent;
87
- transition: background-color 0.2s ease-out;
81
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
88
82
  @include focus-visible;
89
83
 
90
84
  &:hover {
91
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
85
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
92
86
  }
93
87
 
94
88
  // The pressed layer is the only feedback a touch tap gets: hover never
95
89
  // fires there and the tap highlight is suppressed above.
96
90
  &:active {
97
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("pressed"), transparent);
91
+ background-color: state-layer(var(--md-sys-color-on-surface), "pressed");
98
92
  }
99
93
 
100
94
  // "Does this control carry a text label?" - the icon is a <span>, so a
@@ -104,10 +98,7 @@
104
98
  }
105
99
 
106
100
  > #{$icon} {
107
- font-size: var(--md-comp-pagination-icon-size);
108
- width: var(--md-comp-pagination-icon-size);
109
- height: var(--md-comp-pagination-icon-size);
110
- line-height: 1;
101
+ @include icon-size(var(--md-comp-pagination-icon-size), 1);
111
102
  }
112
103
  }
113
104
 
@@ -116,21 +107,14 @@
116
107
  li:has(> [aria-current="page"]) > :is(a, button) {
117
108
  background-color: var(--md-comp-pagination-selected-color);
118
109
  color: var(--md-comp-pagination-selected-on-color);
110
+ @include forced-colors-selected;
119
111
 
120
112
  &:hover {
121
- background-color: color-mix(
122
- in oklab,
123
- var(--md-comp-pagination-selected-on-color) state-opacity("hover"),
124
- var(--md-comp-pagination-selected-color)
125
- );
113
+ background-color: state-layer(var(--md-comp-pagination-selected-on-color), "hover", var(--md-comp-pagination-selected-color));
126
114
  }
127
115
 
128
116
  &:active {
129
- background-color: color-mix(
130
- in oklab,
131
- var(--md-comp-pagination-selected-on-color) state-opacity("pressed"),
132
- var(--md-comp-pagination-selected-color)
133
- );
117
+ background-color: state-layer(var(--md-comp-pagination-selected-on-color), "pressed", var(--md-comp-pagination-selected-color));
134
118
  }
135
119
  }
136
120
 
@@ -161,10 +145,8 @@
161
145
  flex-wrap: inherit;
162
146
  align-items: center;
163
147
  gap: var(--md-comp-pagination-gap);
164
- list-style: none;
165
148
  min-width: 0;
166
- margin: 0;
167
- padding: 0;
149
+ @include list-reset;
168
150
  }
169
151
  }
170
152
  }