@expressivecss/expressive 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/CHANGELOG.md +1589 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19304 -12021
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
  8. package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
  9. package/dist/fonts/LICENSE-noto-sans-thai +93 -0
  10. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  11. package/dist/fonts/material-symbols-rounded.woff2 +0 -0
  12. package/dist/fonts/material-symbols-sharp.woff2 +0 -0
  13. package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
  15. package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
  16. package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
  17. package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
  18. package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
  19. package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
  20. package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
  21. package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
  22. package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
  23. package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
  24. package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
  25. package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
  26. package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
  27. package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
  28. package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
  29. package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
  30. package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
  31. package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
  32. package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
  33. package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
  34. package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
  35. package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
  36. package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
  37. package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
  38. package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
  39. package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
  40. package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
  41. package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
  42. package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
  43. package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
  44. package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
  45. package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
  46. package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
  47. package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
  48. package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
  49. package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
  50. package/dist/fonts/roboto-greek-400.woff2 +0 -0
  51. package/dist/fonts/roboto-greek-500.woff2 +0 -0
  52. package/dist/fonts/roboto-greek-700.woff2 +0 -0
  53. package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
  54. package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
  55. package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
  56. package/dist/fonts/roboto-latin-700.woff2 +0 -0
  57. package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
  58. package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
  59. package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
  60. package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
  61. package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
  62. package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
  63. package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
  64. package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
  66. package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
  67. package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
  68. package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
  69. package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
  70. package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
  72. package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
  73. package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
  74. package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-A7ALMYUR.mjs → chunk-4QUCNFSD.mjs} +68 -125
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-4TKTLGEM.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-BG6ZRB5H.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-6FSEUFVW.mjs} +40 -29
  84. package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
  85. package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
  86. package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
  87. package/dist/js/chunks/{chunk-GVGT6MIU.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-TBM3FT7G.mjs → chunk-7NLUI3RR.mjs} +148 -78
  90. package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
  92. package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
  94. package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
  96. package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
  98. package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
  99. package/dist/js/chunks/{chunk-NS2UMNZV.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-GIW4K4SE.mjs → chunk-B7DQFHA5.mjs} +37 -53
  102. package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
  103. package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
  104. package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
  105. package/dist/js/chunks/{chunk-GUB3TNO2.mjs → chunk-BPF3I2MN.mjs} +109 -27
  106. package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
  108. package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-JIDMQGK6.mjs → chunk-CSYWKEK3.mjs} +322 -223
  110. package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
  111. package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
  112. package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
  114. package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
  115. package/dist/js/chunks/{chunk-QDAL4IYN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-3GVFZ4XO.mjs → chunk-EVCVFEV3.mjs} +238 -152
  118. package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
  119. package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
  120. package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
  121. package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
  122. package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
  123. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  124. package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
  125. package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
  127. package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
  128. package/dist/js/chunks/{chunk-ZAS25YFD.mjs → chunk-ILDRRG7T.mjs} +21 -23
  129. package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
  131. package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
  133. package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
  134. package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
  135. package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-KHV6DZXX.mjs → chunk-KZPSAXIU.mjs} +156 -46
  137. package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
  139. package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
  140. package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
  141. package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
  143. package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
  145. package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
  146. package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
  147. package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
  148. package/dist/js/chunks/{chunk-Z2NRKI7R.mjs → chunk-OP43LLIC.mjs} +44 -73
  149. package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
  151. package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
  152. package/dist/js/chunks/{chunk-PM655FXL.mjs → chunk-OYNUDOHR.mjs} +20 -48
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-P6DRQ6KS.mjs} +36 -31
  155. package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
  157. package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
  158. package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
  159. package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
  160. package/dist/js/chunks/{chunk-5HQSGDZ5.mjs → chunk-QXKWVHBD.mjs} +286 -203
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-DAIU5SLG.mjs → chunk-ROH2HDB4.mjs} +7 -6
  163. package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
  164. package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
  165. package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
  166. package/dist/js/chunks/{chunk-FS7XY3HT.mjs → chunk-SPPHF7YZ.mjs} +36 -29
  167. package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
  169. package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
  170. package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
  171. package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
  172. package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
  173. package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
  175. package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
  177. package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-4HZMB7LI.mjs → chunk-VGY4M57S.mjs} +281 -135
  179. package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
  181. package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
  183. package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-S3XDFGSZ.mjs → chunk-VMY55K2X.mjs} +92 -141
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-UEXCIMJZ.mjs → chunk-VR3L2WN5.mjs} +11 -17
  187. package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  189. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
  191. package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
  193. package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
  194. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
  195. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
  197. package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
  199. package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
  201. package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
  202. package/dist/js/chunks/{chunk-MZ6Z24BX.mjs → chunk-ZJNLAGY5.mjs} +19 -34
  203. package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
  205. package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
  206. package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
  207. package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
  208. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
  209. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
  211. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
  212. package/dist/js/expressive.cjs +10333 -4070
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10333 -4070
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -25
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +184 -69
  219. package/dist/js/expressive.mjs.map +2 -2
  220. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  221. package/dist/js/internal/behaviors/copy.mjs +9 -0
  222. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  223. package/dist/js/internal/behaviors/dataTables.mjs +10 -0
  224. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  226. package/dist/js/internal/behaviors/forms.mjs +2 -2
  227. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  228. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  229. package/dist/js/internal/behaviors/lists.mjs +8 -0
  230. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  232. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  234. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  235. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  236. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  237. package/dist/js/internal/behaviors/theme.mjs +8 -0
  238. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/tour.mjs +8 -0
  240. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  242. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  243. package/dist/js/internal/components/appBar.mjs +3 -2
  244. package/dist/js/internal/components/autocomplete.mjs +4 -4
  245. package/dist/js/internal/components/backToTop.mjs +9 -0
  246. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  247. package/dist/js/internal/components/barChart.mjs +5 -4
  248. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  249. package/dist/js/internal/components/buttons.mjs +3 -3
  250. package/dist/js/internal/components/cards.mjs +3 -3
  251. package/dist/js/internal/components/carousel.mjs +3 -3
  252. package/dist/js/internal/components/cascader.mjs +10 -0
  253. package/dist/js/internal/components/cascader.mjs.map +7 -0
  254. package/dist/js/internal/components/characterCounter.mjs +3 -2
  255. package/dist/js/internal/components/chips.mjs +6 -5
  256. package/dist/js/internal/components/colorPicker.mjs +9 -0
  257. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  258. package/dist/js/internal/components/columnChart.mjs +4 -3
  259. package/dist/js/internal/components/commandPalette.mjs +3 -3
  260. package/dist/js/internal/components/confetti.mjs +3 -2
  261. package/dist/js/internal/components/currencyInput.mjs +9 -0
  262. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  263. package/dist/js/internal/components/datepicker.mjs +11 -8
  264. package/dist/js/internal/components/expandingCard.mjs +3 -3
  265. package/dist/js/internal/components/funnelChart.mjs +10 -0
  266. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  267. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  268. package/dist/js/internal/components/hoverCard.mjs +9 -0
  269. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  270. package/dist/js/internal/components/index.mjs +133 -64
  271. package/dist/js/internal/components/inputMask.mjs +9 -0
  272. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  273. package/dist/js/internal/components/keypad.mjs +9 -0
  274. package/dist/js/internal/components/keypad.mjs.map +7 -0
  275. package/dist/js/internal/components/lightbox.mjs +3 -3
  276. package/dist/js/internal/components/lineChart.mjs +29 -4
  277. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  278. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  279. package/dist/js/internal/components/mapView.mjs +3 -3
  280. package/dist/js/internal/components/menu.mjs +3 -3
  281. package/dist/js/internal/components/menubar.mjs +10 -0
  282. package/dist/js/internal/components/menubar.mjs.map +7 -0
  283. package/dist/js/internal/components/messageScroller.mjs +3 -3
  284. package/dist/js/internal/components/mixedChart.mjs +5 -4
  285. package/dist/js/internal/components/navigationRail.mjs +3 -2
  286. package/dist/js/internal/components/particles.mjs +3 -2
  287. package/dist/js/internal/components/pieChart.mjs +4 -3
  288. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  289. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  290. package/dist/js/internal/components/questionnaire.mjs +3 -3
  291. package/dist/js/internal/components/radarChart.mjs +4 -3
  292. package/dist/js/internal/components/radialChart.mjs +4 -3
  293. package/dist/js/internal/components/registry.mjs +59 -40
  294. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  295. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  296. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  297. package/dist/js/internal/components/scatterChart.mjs +10 -0
  298. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  299. package/dist/js/internal/components/scrollspy.mjs +3 -2
  300. package/dist/js/internal/components/select.mjs +4 -4
  301. package/dist/js/internal/components/showMore.mjs +9 -0
  302. package/dist/js/internal/components/showMore.mjs.map +7 -0
  303. package/dist/js/internal/components/slider.mjs +3 -3
  304. package/dist/js/internal/components/snackbar.mjs +2 -2
  305. package/dist/js/internal/components/swipeActions.mjs +9 -0
  306. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  307. package/dist/js/internal/components/tabs.mjs +3 -4
  308. package/dist/js/internal/components/timepicker.mjs +5 -4
  309. package/dist/js/internal/components/tooltip.mjs +3 -3
  310. package/dist/js/internal/components/treeSelect.mjs +13 -0
  311. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  312. package/dist/js/internal/components/treemapChart.mjs +10 -0
  313. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  314. package/dist/js/internal/core/component.mjs +2 -1
  315. package/dist/js/internal/core/formControl.mjs +12 -0
  316. package/dist/js/internal/core/formControl.mjs.map +7 -0
  317. package/dist/js/internal/core/spring.mjs +11 -0
  318. package/dist/js/internal/core/spring.mjs.map +7 -0
  319. package/dist/js/internal/core/utils.mjs +11 -3
  320. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  322. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  323. package/dist/js/modular.mjs +175 -69
  324. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  325. package/dist/types/behaviors/copy.d.ts +18 -0
  326. package/dist/types/behaviors/dataTables.d.ts +129 -0
  327. package/dist/types/behaviors/dialogs.d.ts +27 -1
  328. package/dist/types/behaviors/forms.d.ts +68 -2
  329. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  330. package/dist/types/behaviors/lists.d.ts +12 -0
  331. package/dist/types/behaviors/paneResize.d.ts +29 -0
  332. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  333. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  334. package/dist/types/behaviors/sortable.d.ts +28 -0
  335. package/dist/types/behaviors/theme.d.ts +22 -0
  336. package/dist/types/behaviors/tour.d.ts +36 -0
  337. package/dist/types/behaviors/transferList.d.ts +51 -0
  338. package/dist/types/components/appBar.d.ts +5 -6
  339. package/dist/types/components/autocomplete.d.ts +92 -17
  340. package/dist/types/components/backToTop.d.ts +36 -0
  341. package/dist/types/components/barChart.d.ts +3 -6
  342. package/dist/types/components/buttonGroup.d.ts +2 -4
  343. package/dist/types/components/buttons.d.ts +5 -5
  344. package/dist/types/components/cards.d.ts +3 -16
  345. package/dist/types/components/carousel.d.ts +9 -15
  346. package/dist/types/components/cascader.d.ts +130 -0
  347. package/dist/types/components/characterCounter.d.ts +2 -15
  348. package/dist/types/components/chips.d.ts +65 -19
  349. package/dist/types/components/colorPicker.d.ts +42 -0
  350. package/dist/types/components/columnChart.d.ts +23 -10
  351. package/dist/types/components/commandPalette.d.ts +11 -16
  352. package/dist/types/components/confetti.d.ts +2 -4
  353. package/dist/types/components/currencyInput.d.ts +59 -0
  354. package/dist/types/components/datepicker.d.ts +59 -36
  355. package/dist/types/components/expandingCard.d.ts +6 -6
  356. package/dist/types/components/funnelChart.d.ts +38 -0
  357. package/dist/types/components/heatmapChart.d.ts +39 -8
  358. package/dist/types/components/hoverCard.d.ts +58 -0
  359. package/dist/types/components/index.d.ts +17 -1
  360. package/dist/types/components/inputMask.d.ts +30 -0
  361. package/dist/types/components/keypad.d.ts +66 -0
  362. package/dist/types/components/lightbox.d.ts +17 -25
  363. package/dist/types/components/lineChart.d.ts +176 -10
  364. package/dist/types/components/loadingOverlay.d.ts +42 -0
  365. package/dist/types/components/mapView.d.ts +26 -17
  366. package/dist/types/components/menu.d.ts +61 -22
  367. package/dist/types/components/menubar.d.ts +37 -0
  368. package/dist/types/components/messageScroller.d.ts +2 -14
  369. package/dist/types/components/mixedChart.d.ts +15 -6
  370. package/dist/types/components/navigationRail.d.ts +16 -5
  371. package/dist/types/components/particles.d.ts +8 -4
  372. package/dist/types/components/pieChart.d.ts +32 -7
  373. package/dist/types/components/pullToRefresh.d.ts +80 -0
  374. package/dist/types/components/questionnaire.d.ts +58 -16
  375. package/dist/types/components/radarChart.d.ts +10 -6
  376. package/dist/types/components/radialChart.d.ts +58 -8
  377. package/dist/types/components/registry.d.ts +77 -3
  378. package/dist/types/components/richTextEditor.d.ts +6 -14
  379. package/dist/types/components/sankeyChart.d.ts +72 -0
  380. package/dist/types/components/scatterChart.d.ts +102 -0
  381. package/dist/types/components/scrollspy.d.ts +3 -5
  382. package/dist/types/components/select.d.ts +43 -30
  383. package/dist/types/components/showMore.d.ts +51 -0
  384. package/dist/types/components/slider.d.ts +5 -15
  385. package/dist/types/components/snackbar.d.ts +62 -0
  386. package/dist/types/components/swipeActions.d.ts +81 -0
  387. package/dist/types/components/tabs.d.ts +93 -27
  388. package/dist/types/components/timepicker.d.ts +114 -20
  389. package/dist/types/components/tooltip.d.ts +56 -20
  390. package/dist/types/components/treeSelect.d.ts +106 -0
  391. package/dist/types/components/treemapChart.d.ts +56 -0
  392. package/dist/types/core/component.d.ts +43 -25
  393. package/dist/types/core/formControl.d.ts +21 -0
  394. package/dist/types/core/spring.d.ts +20 -0
  395. package/dist/types/core/utils.d.ts +85 -72
  396. package/dist/types/modular.d.ts +33 -1
  397. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -7
  398. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  399. package/package.json +10 -8
  400. package/src/sass/README.md +27 -18
  401. package/src/sass/abstracts/_breakpoints.scss +0 -1
  402. package/src/sass/abstracts/_elevation.scss +13 -7
  403. package/src/sass/abstracts/_index.scss +1 -0
  404. package/src/sass/abstracts/_mixins.scss +438 -92
  405. package/src/sass/abstracts/_spring.scss +63 -0
  406. package/src/sass/abstracts/_variables.scss +43 -15
  407. package/src/sass/base/_fonts.scss +61 -48
  408. package/src/sass/base/_global.scss +105 -34
  409. package/src/sass/base/_index.scss +3 -1
  410. package/src/sass/base/_normalize.scss +59 -114
  411. package/src/sass/base/_print.scss +21 -0
  412. package/src/sass/base/_prose.scss +68 -0
  413. package/src/sass/base/_typography.scss +9 -5
  414. package/src/sass/components/_accordion.scss +9 -16
  415. package/src/sass/components/_alert.scss +102 -0
  416. package/src/sass/components/_aura.scss +8 -3
  417. package/src/sass/components/_avatar.scss +3 -3
  418. package/src/sass/components/_back-to-top.scss +38 -0
  419. package/src/sass/components/_badges.scss +7 -13
  420. package/src/sass/components/_bar-chart.scss +41 -19
  421. package/src/sass/components/_bottom-sheet.scss +44 -16
  422. package/src/sass/components/_breadcrumb.scss +8 -1
  423. package/src/sass/components/_button-groups.scss +44 -89
  424. package/src/sass/components/_buttons.scss +156 -63
  425. package/src/sass/components/_calendar.scss +246 -0
  426. package/src/sass/components/_cards.scss +41 -68
  427. package/src/sass/components/_carousel.scss +43 -158
  428. package/src/sass/components/_cascader.scss +142 -0
  429. package/src/sass/components/_chips.scss +36 -52
  430. package/src/sass/components/_column-chart.scss +19 -12
  431. package/src/sass/components/_command-palette.scss +4 -7
  432. package/src/sass/components/_confetti.scss +0 -2
  433. package/src/sass/components/_countdown.scss +1 -1
  434. package/src/sass/components/_data-table.scss +162 -27
  435. package/src/sass/components/_datepicker.scss +57 -62
  436. package/src/sass/components/_description-list.scss +85 -0
  437. package/src/sass/components/_dialog.scss +42 -44
  438. package/src/sass/components/_docked-display.scss +1 -3
  439. package/src/sass/components/_drag-handle.scss +16 -20
  440. package/src/sass/components/_expanding-card.scss +20 -9
  441. package/src/sass/components/_fab-menu.scss +44 -32
  442. package/src/sass/components/_funnel-chart.scss +124 -0
  443. package/src/sass/components/_heatmap-chart.scss +113 -24
  444. package/src/sass/components/_icon-buttons.scss +7 -8
  445. package/src/sass/components/_icons-material-design.scss +2 -2
  446. package/src/sass/components/_image-compare.scss +108 -0
  447. package/src/sass/components/_index.scss +21 -0
  448. package/src/sass/components/_keypad.scss +182 -0
  449. package/src/sass/components/_kpi.scss +6 -11
  450. package/src/sass/components/_lightbox.scss +26 -20
  451. package/src/sass/components/_line-chart.scss +16 -2
  452. package/src/sass/components/_list.scss +59 -14
  453. package/src/sass/components/_loading-indicator.scss +1 -0
  454. package/src/sass/components/_loading-overlay.scss +105 -0
  455. package/src/sass/components/_map.scss +35 -13
  456. package/src/sass/components/_marquee.scss +3 -2
  457. package/src/sass/components/_mega-menu.scss +137 -0
  458. package/src/sass/components/_menu.scss +159 -182
  459. package/src/sass/components/_menubar.scss +59 -0
  460. package/src/sass/components/_message-scroller.scss +2 -2
  461. package/src/sass/components/_message.scss +3 -3
  462. package/src/sass/components/_mixed-chart.scss +37 -9
  463. package/src/sass/components/_modal-display.scss +21 -0
  464. package/src/sass/components/_navbar.scss +43 -65
  465. package/src/sass/components/_navigation-bar.scss +15 -77
  466. package/src/sass/components/_navigation-rail.scss +171 -121
  467. package/src/sass/components/_org-chart.scss +192 -0
  468. package/src/sass/components/_page-footer.scss +16 -13
  469. package/src/sass/components/_pagination.scss +6 -13
  470. package/src/sass/components/_panes.scss +33 -31
  471. package/src/sass/components/_particles.scss +0 -2
  472. package/src/sass/components/_pie-chart.scss +91 -11
  473. package/src/sass/components/_popover.scss +18 -5
  474. package/src/sass/components/_progress.scss +158 -35
  475. package/src/sass/components/_pull-to-refresh.scss +90 -0
  476. package/src/sass/components/_questionnaire.scss +74 -3
  477. package/src/sass/components/_radar-chart.scss +38 -10
  478. package/src/sass/components/_radial-chart.scss +113 -5
  479. package/src/sass/components/_rich-text-editor.scss +2 -2
  480. package/src/sass/components/_sankey-chart.scss +114 -0
  481. package/src/sass/components/_scatter-chart.scss +153 -0
  482. package/src/sass/components/_scrim.scss +0 -2
  483. package/src/sass/components/_scrollspy.scss +0 -2
  484. package/src/sass/components/_search.scss +26 -22
  485. package/src/sass/components/_show-more.scss +8 -0
  486. package/src/sass/components/_side-sheet.scss +23 -40
  487. package/src/sass/components/_skeleton.scss +2 -4
  488. package/src/sass/components/_snackbar.scss +27 -21
  489. package/src/sass/components/_split-button.scss +5 -5
  490. package/src/sass/components/_stat.scss +3 -8
  491. package/src/sass/components/_stepper.scss +1 -5
  492. package/src/sass/components/_swipe-actions.scss +71 -0
  493. package/src/sass/components/_tabs.scss +51 -32
  494. package/src/sass/components/_timeline.scss +12 -12
  495. package/src/sass/components/_timepicker.scss +111 -112
  496. package/src/sass/components/_toolbar.scss +35 -47
  497. package/src/sass/components/_tooltip.scss +21 -12
  498. package/src/sass/components/_tour.scss +89 -0
  499. package/src/sass/components/_transfer-list.scss +73 -0
  500. package/src/sass/components/_transitions.scss +4 -4
  501. package/src/sass/components/_tree.scss +3 -16
  502. package/src/sass/components/_treemap-chart.scss +122 -0
  503. package/src/sass/components/forms/_checkboxes.scss +140 -86
  504. package/src/sass/components/forms/_color-picker.scss +135 -0
  505. package/src/sass/components/forms/_color-swatches.scss +85 -0
  506. package/src/sass/components/forms/_drop-zone.scss +15 -9
  507. package/src/sass/components/forms/_fieldset.scss +10 -10
  508. package/src/sass/components/forms/_file-input.scss +6 -9
  509. package/src/sass/components/forms/_index.scss +3 -1
  510. package/src/sass/components/forms/_input-fields.scss +254 -90
  511. package/src/sass/components/forms/_radio-buttons.scss +40 -127
  512. package/src/sass/components/forms/_rating.scss +2 -32
  513. package/src/sass/components/forms/_select.scss +199 -23
  514. package/src/sass/components/forms/_slider.scss +140 -330
  515. package/src/sass/components/forms/_switches.scss +53 -164
  516. package/src/sass/custom.scss +10 -1
  517. package/src/sass/expressive.scss +3 -63
  518. package/src/sass/tokens/_contrast.scss +94 -0
  519. package/src/sass/tokens/_elevation.scss +16 -0
  520. package/src/sass/tokens/_index.scss +5 -0
  521. package/src/sass/tokens/_motion.scss +109 -0
  522. package/src/sass/tokens/_reference.scss +72 -141
  523. package/src/sass/tokens/_shape.scss +38 -0
  524. package/src/sass/tokens/_stacking.scss +27 -0
  525. package/src/sass/tokens/_state.scss +2 -4
  526. package/src/sass/tokens/_theme.scss +11 -2
  527. package/src/sass/tokens/_vibrant.scss +2 -5
  528. package/src/sass/utilities/_colors.scss +6 -1
  529. package/src/sass/utilities/_defer-render.scss +17 -0
  530. package/src/sass/utilities/_helpers.scss +183 -26
  531. package/src/sass/utilities/_index.scss +2 -1
  532. package/src/sass/utilities/_scroll-area.scss +0 -2
  533. package/src/sass/utilities/_spacing.scss +52 -34
  534. package/src/sass/utilities/_typescale.scss +8 -1
  535. package/src/sass/utilities/_visibility.scss +47 -76
  536. package/src/sass/utilities/_z-depth.scss +7 -4
  537. package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-3GVFZ4XO.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-4HZMB7LI.mjs.map +0 -7
  540. package/dist/js/chunks/chunk-4KMNFIFZ.mjs +0 -270
  541. package/dist/js/chunks/chunk-4KMNFIFZ.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-4TKTLGEM.mjs.map +0 -7
  543. package/dist/js/chunks/chunk-5BKHWHYY.mjs +0 -292
  544. package/dist/js/chunks/chunk-5BKHWHYY.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-5HQSGDZ5.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-6N2XAEFK.mjs +0 -125
  547. package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-A7ALMYUR.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-BG6ZRB5H.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-CUQPB25U.mjs +0 -55
  551. package/dist/js/chunks/chunk-CUQPB25U.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-DAIU5SLG.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-FS7XY3HT.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-GIW4K4SE.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-GUB3TNO2.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-GVGT6MIU.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GZKEFWPM.mjs +0 -181
  558. package/dist/js/chunks/chunk-GZKEFWPM.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-HKT2S7VM.mjs +0 -48
  560. package/dist/js/chunks/chunk-HKT2S7VM.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-ILP3PDTL.mjs +0 -187
  562. package/dist/js/chunks/chunk-ILP3PDTL.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-JIDMQGK6.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KBNN3QDH.mjs +0 -7
  565. package/dist/js/chunks/chunk-KBNN3QDH.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-KHV6DZXX.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-KY6U46SM.mjs +0 -345
  568. package/dist/js/chunks/chunk-KY6U46SM.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-LRZMJZ3T.mjs +0 -291
  570. package/dist/js/chunks/chunk-LRZMJZ3T.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-LTWPGFBR.mjs +0 -59
  572. package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-MNPROCZF.mjs +0 -328
  574. package/dist/js/chunks/chunk-MNPROCZF.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-MZ6Z24BX.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-NS2UMNZV.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-O5XPWXIQ.mjs +0 -406
  578. package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-PM655FXL.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-QDAL4IYN.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-QERLECVU.mjs +0 -572
  582. package/dist/js/chunks/chunk-QERLECVU.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-QJABDLSD.mjs +0 -112
  584. package/dist/js/chunks/chunk-QJABDLSD.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-RHRQKTTX.mjs +0 -139
  586. package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
  587. package/dist/js/chunks/chunk-S3XDFGSZ.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-SPETGK25.mjs +0 -59
  589. package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-TBM3FT7G.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-UEXCIMJZ.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-VGZSAFTX.mjs +0 -173
  594. package/dist/js/chunks/chunk-VGZSAFTX.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-X7OCHZVF.mjs +0 -76
  596. package/dist/js/chunks/chunk-X7OCHZVF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-YDCS5S3J.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-YMSXJON6.mjs +0 -79
  599. package/dist/js/chunks/chunk-YMSXJON6.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-Z2NRKI7R.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZAS25YFD.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-ZKZKNSLC.mjs +0 -1
  603. /package/dist/js/chunks/{chunk-ZKZKNSLC.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -1,48 +1,54 @@
1
- @use "../abstracts" as *;
2
-
3
1
  .lightboxed {
4
2
  display: block;
5
3
  cursor: zoom-in;
6
4
  position: relative;
7
- transition: opacity .4s;
5
+ transition: opacity var(--md-sys-motion-duration-medium4);
8
6
  backface-visibility: hidden;
9
7
  // Same 12px as .responsive-img. Exclude .circle so a disc stays a disc.
10
8
  &:not(.circle) {
11
- border-radius: 12px;
9
+ border-radius: var(--md-sys-shape-corner-medium);
12
10
  }
13
11
 
14
- &:hover {
15
- &:not(.active) {
16
- opacity: .8;
17
- }
12
+ &:hover:not(.active) {
13
+ opacity: 0.8;
18
14
  }
19
15
  &.active {
20
16
  cursor: zoom-out;
21
17
  }
22
18
  }
23
19
 
20
+ // Open, the overlay, the image and the caption are manual popovers in the
21
+ // top layer. These undo the UA popover box: its centring inset, fit-content
22
+ // size, border, padding and Canvas fill. On the image they lose to any
23
+ // author rule.
24
+ :where(.lightboxed[popover]) {
25
+ border: none;
26
+ padding: 0;
27
+ background: none;
28
+ }
29
+
24
30
  #lightbox-overlay {
25
- position:fixed;
26
- top: 0;
27
- right: 0;
28
- bottom: 0;
29
- left: 0;
30
- background-color: var(--md-sys-color-background);
31
- z-index: 1000;
31
+ position: fixed;
32
+ inset: 0;
33
+ width: auto;
34
+ height: auto;
35
+ border: none;
36
+ background-color: var(--md-sys-color-surface);
32
37
  will-change: opacity;
33
38
  }
34
39
 
35
40
  .lightbox-caption {
36
41
  position: fixed;
37
42
  display: none;
38
- color: var(--md-sys-color-on-background);
43
+ color: var(--md-sys-color-on-surface);
39
44
  line-height: 50px;
40
- bottom: 0;
41
- left: 0;
45
+ inset: auto auto 0 0;
46
+ margin: 0;
47
+ border: none;
48
+ background: none;
42
49
  width: 100%;
43
50
  text-align: center;
44
- padding: 0% 15%;
51
+ padding: 0 15%;
45
52
  height: 50px;
46
- z-index: 1000;
47
53
  -webkit-font-smoothing: antialiased;
48
54
  }
@@ -12,18 +12,23 @@
12
12
  // and the tooltip are HTML positioned in percentages for the same reason.
13
13
  //
14
14
  // Modifiers: .area fills under each line, .stacked stacks each series on
15
- // the ones before it and fills between them, .fade fades the line ends,
16
- // .sparkline is a small chart with no axis, grid, legend or tooltip.
15
+ // the ones before it and fills between them, .points marks each value with
16
+ // a dot, .straight draws straight lines between values, .fade fades the
17
+ // line ends, .axis labels the y axis at round values with a grid line at
18
+ // each, .sparkline is a small chart with no axis, grid, legend or tooltip,
19
+ // and .toggle makes each legend item a button that shows or hides its series.
17
20
  // A series header cell's classes reach its line: <th class="dashed">.
18
21
  //
19
22
  // Tokens:
20
23
  // --md-comp-line-chart-height 240px (sparkline 48px)
21
24
  // --md-comp-line-chart-line-width 3px (sparkline 2px)
22
25
  // --md-comp-line-chart-grid-color outline-variant
26
+ // --md-comp-line-chart-axis-width 48px, room for the .axis labels
23
27
  // --md-comp-line-chart-color-1..4 primary, tertiary, secondary,
24
28
  // on-surface-variant
25
29
 
26
30
  @include chart("line-chart");
31
+ @include chart-axis("line-chart");
27
32
 
28
33
  .line-chart {
29
34
  --md-comp-line-chart-line-width: 3px;
@@ -54,6 +59,15 @@
54
59
  stroke-dasharray: 2 8;
55
60
  }
56
61
 
62
+ // Round caps on zero-length lines: dots that keep their size at any scale.
63
+ .line-chart-points {
64
+ fill: none;
65
+ stroke: var(--line-chart-color);
66
+ stroke-width: calc(var(--md-comp-line-chart-line-width) * 3);
67
+ stroke-linecap: round;
68
+ vector-effect: non-scaling-stroke;
69
+ }
70
+
57
71
  .line-chart-area {
58
72
  display: none;
59
73
 
@@ -51,7 +51,13 @@
51
51
  border-radius: var(--md-comp-list-item-shape);
52
52
  background-color: var(--md-comp-list-item-container-color);
53
53
  color: inherit;
54
- transition: background-color 0.2s ease-out;
54
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
55
+ }
56
+
57
+ // A checkbox draws its check on its label, from the label's inline start.
58
+ // When the label is the row, that edge is the row's padding away from the box.
59
+ > li > label:only-child {
60
+ --checkbox-mark-inset: var(--md-comp-list-item-padding);
55
61
  }
56
62
 
57
63
  // The row grid lives on the item, or on a wrapping <a>/<label>.
@@ -60,14 +66,19 @@
60
66
  display: grid;
61
67
  grid-template-columns: auto minmax(0, 1fr) auto;
62
68
  grid-template-rows: auto auto;
69
+ // Centred as a block, so an empty second row does not stretch and lift a
70
+ // single line of text above the leading element.
71
+ align-content: center;
63
72
  align-items: center;
64
- column-gap: var(--md-comp-list-gap);
73
+ // Row gap zero as well: a checkbox or radio label brings a 12px gap that
74
+ // would open between the text and its empty second row.
75
+ gap: 0 var(--md-comp-list-gap);
65
76
  box-sizing: border-box;
66
77
  min-height: var(--md-comp-list-item-height);
67
78
  padding: 8px var(--md-comp-list-item-padding);
68
79
  @include typescale("body-large");
69
80
 
70
- > :is(#{$icon}, img, input):first-child {
81
+ > :is(#{$icon}, img, input, .drag-handle):first-child {
71
82
  grid-column: 1;
72
83
  grid-row: 1 / -1;
73
84
  align-self: center;
@@ -85,7 +96,7 @@
85
96
  width: var(--md-comp-list-image-size);
86
97
  height: var(--md-comp-list-image-size);
87
98
  object-fit: cover;
88
- border-radius: 8px;
99
+ border-radius: var(--md-sys-shape-corner-small);
89
100
  }
90
101
 
91
102
  > :is(img, #{$icon}).circle {
@@ -99,7 +110,7 @@
99
110
  display: inline-flex;
100
111
  align-items: center;
101
112
  justify-content: center;
102
- font-size: 20px;
113
+ font-size: rem(20px);
103
114
  line-height: 1;
104
115
  background-color: var(--md-sys-color-primary-container);
105
116
  color: var(--md-sys-color-on-primary-container);
@@ -108,8 +119,11 @@
108
119
  // $icon-label, not a bare `span`: the canonical icon is a <span> too, so
109
120
  // this rule used to pull the leading icon out of column 1 and into the
110
121
  // text column - the icon rules above went dead and this one over-matched.
111
- > div:not(.meta),
112
- > #{$icon-label} {
122
+ // A trailing span.badge or span.meta is not a label either: this rule
123
+ // outranks the trailing one, so it took column 2 and pushed a bare-text
124
+ // label past it into column 3.
125
+ > div:not(.meta, .swipe-actions),
126
+ > #{$icon-label}:not(.drag-handle, .sortable-actions, .swipe-actions, .badge, .meta) {
113
127
  grid-column: 2;
114
128
  min-width: 0;
115
129
  }
@@ -123,7 +137,7 @@
123
137
  @include typescale("body-medium");
124
138
  }
125
139
 
126
- > :is(#{$icon}, kbd, button, time, .meta, .badge, .button, a):last-child:not(:first-child) {
140
+ > :is(#{$icon}, kbd, button, time, .meta, .badge, .button, a, .sortable-actions):last-child:not(:first-child) {
127
141
  grid-column: 3;
128
142
  grid-row: 1 / -1;
129
143
  justify-self: end;
@@ -182,11 +196,7 @@
182
196
  }
183
197
 
184
198
  > li:not(.active):not([aria-selected="true"]):not([aria-current]):not(:has(> [aria-current])):not(:has([aria-selected="true"])):not(:has(:checked)):hover {
185
- background-color: color-mix(
186
- in oklab,
187
- var(--md-sys-color-on-surface) state-opacity("hover"),
188
- var(--md-comp-list-item-container-color)
189
- );
199
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover", var(--md-comp-list-item-container-color));
190
200
  }
191
201
 
192
202
  > li.active,
@@ -197,6 +207,7 @@
197
207
  > li:has(:checked) {
198
208
  background-color: var(--md-comp-list-selected-container-color);
199
209
  color: var(--md-comp-list-selected-color);
210
+ @include forced-colors-selected;
200
211
 
201
212
  #{$icon},
202
213
  p,
@@ -247,10 +258,44 @@
247
258
  var(--md-sys-color-on-surface) 8%,
248
259
  var(--md-sys-color-surface)
249
260
  );
250
- --md-comp-list-item-shape: 20px;
261
+ --md-comp-list-item-shape: var(--md-sys-shape-corner-large-increased);
251
262
 
252
263
  display: flex;
253
264
  flex-direction: column;
254
265
  gap: var(--md-comp-list-segmented-gap);
255
266
  }
256
267
  }
268
+
269
+ // Sortable. The Sortable behavior moves `.sortable > li` rows by their
270
+ // `.drag-handle` or their `[data-move]` buttons. The handle takes the drag
271
+ // gesture away from scrolling, and the row being dragged lifts.
272
+ .sortable > li {
273
+ .drag-handle {
274
+ cursor: grab;
275
+ touch-action: none;
276
+ }
277
+
278
+ &.dragged {
279
+ position: relative;
280
+ z-index: 1;
281
+ background-color: var(--md-sys-color-surface-container-highest);
282
+ @include z-depth("2");
283
+
284
+ .drag-handle {
285
+ cursor: grabbing;
286
+ }
287
+ }
288
+
289
+ // The handle is taller than a line of text, so a one-line title spans both
290
+ // grid rows and centers on it instead of riding the top.
291
+ > :not(.drag-handle, .sortable-actions, p):nth-child(2):nth-last-child(2) {
292
+ grid-row: 1 / -1;
293
+ align-self: center;
294
+ }
295
+
296
+ // The Move up / Move down pair takes the row's trailing slot as one group.
297
+ > .sortable-actions {
298
+ display: inline-flex;
299
+ align-self: center;
300
+ }
301
+ }
@@ -72,6 +72,7 @@ $_points: 24;
72
72
  width: var(--md-comp-loading-indicator-active-indicator-size);
73
73
  height: var(--md-comp-loading-indicator-active-indicator-size);
74
74
  background-color: var(--md-comp-loading-indicator-active-indicator-color);
75
+ @include forced-colors-fill;
75
76
  clip-path: _petal-shape(0, 0);
76
77
  animation:
77
78
  loading-indicator-morph var(--md-comp-loading-indicator-duration) ease-in-out infinite,
@@ -0,0 +1,105 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Loading overlay. While the page marks the region `aria-busy="true"`, a
4
+ // scrim covers it and the author's loading indicator, a direct child, shows
5
+ // in its centre. The script makes the region inert while it is busy and
6
+ // announces the start and the finish in a `.loading-overlay-status` region it
7
+ // adds after it.
8
+ //
9
+ // <div class="loading-overlay">
10
+ // <span class="loading-indicator contained" role="status" aria-label="Loading"></span>
11
+ // ...content
12
+ // </div>
13
+ //
14
+ // The scrim is a surface wash, not the 32% modal scrim: it dims part of a
15
+ // page the way disabled content looks instead of darkening it. It scrolls
16
+ // with the content of a region that scrolls itself, so put the overlay on a
17
+ // wrapper around a scroller.
18
+ //
19
+ // Tokens:
20
+ // --md-comp-loading-overlay-scrim-color surface at 70%
21
+ // --md-comp-loading-overlay-motion default effects spring, for the fade
22
+ // --md-comp-loading-overlay-motion-duration its duration
23
+
24
+ .loading-overlay {
25
+ --md-comp-loading-overlay-scrim-color: color-mix(in oklab, var(--md-sys-color-surface) 70%, transparent);
26
+ --md-comp-loading-overlay-motion: var(--md-sys-motion-spring-default-effects);
27
+ --md-comp-loading-overlay-motion-duration: var(--md-sys-motion-spring-default-effects-duration);
28
+
29
+ &::after,
30
+ > .loading-indicator {
31
+ position: absolute;
32
+ // The script's inert blocks input while busy; these must not catch a
33
+ // click while they fade out after the region clears.
34
+ pointer-events: none;
35
+ visibility: hidden;
36
+ opacity: 0;
37
+ // Hidden only once it has faded out.
38
+ transition:
39
+ opacity var(--md-comp-loading-overlay-motion-duration) var(--md-comp-loading-overlay-motion),
40
+ visibility 0s linear var(--md-comp-loading-overlay-motion-duration);
41
+ }
42
+
43
+ // Above the highest z-index any component sets inside itself (4, the
44
+ // carousel's), so card state layers and sticky table columns are dimmed too.
45
+ &::after {
46
+ content: "";
47
+ inset: 0;
48
+ z-index: 5;
49
+ border-radius: inherit;
50
+ background-color: var(--md-comp-loading-overlay-scrim-color);
51
+ }
52
+
53
+ > .loading-indicator {
54
+ inset: 0;
55
+ z-index: 6;
56
+ margin: auto;
57
+
58
+ &::before {
59
+ animation-play-state: paused;
60
+ }
61
+ }
62
+
63
+ // Keeps the scrim's stacking inside the region, so it never covers the page
64
+ // around it. Only while busy: at rest, a popup inside the region, such as a
65
+ // docked date picker, has to rise over the page, as `.field` lets it.
66
+ &[aria-busy="true"] {
67
+ isolation: isolate;
68
+ }
69
+
70
+ &[aria-busy="true"]::after,
71
+ &[aria-busy="true"] > .loading-indicator {
72
+ visibility: visible;
73
+ opacity: 1;
74
+ transition-delay: 0s;
75
+ }
76
+
77
+ &[aria-busy="true"] > .loading-indicator::before {
78
+ animation-play-state: running;
79
+ }
80
+ }
81
+
82
+ // Zero specificity, so a positioning utility on the region wins.
83
+ :where(.loading-overlay) {
84
+ position: relative;
85
+ }
86
+
87
+ .loading-overlay-status {
88
+ @include visually-hidden;
89
+ }
90
+
91
+ // Forced colors drop a translucent background, which would leave the content
92
+ // looking available. A Canvas wash keeps it dimmed under any system theme.
93
+ @media (forced-colors: active) {
94
+ .loading-overlay::after {
95
+ forced-color-adjust: none;
96
+ background-color: color-mix(in oklab, Canvas 70%, transparent);
97
+ }
98
+ }
99
+
100
+ @media (prefers-reduced-motion: reduce) {
101
+ .loading-overlay::after,
102
+ .loading-overlay > .loading-indicator {
103
+ transition: none;
104
+ }
105
+ }
@@ -1,4 +1,3 @@
1
- @use "sass:map";
2
1
  @use "../abstracts" as *;
3
2
 
4
3
  // Map. A MapLibre map in a .map frame. The page loads maplibre-gl.css; these
@@ -34,7 +33,7 @@
34
33
 
35
34
  .map {
36
35
  --md-comp-map-height: 400px;
37
- --md-comp-map-shape: 16px;
36
+ --md-comp-map-shape: var(--md-sys-shape-corner-large);
38
37
  --md-comp-map-marker-color: var(--md-sys-color-primary);
39
38
  --md-comp-map-marker-ring-color: var(--md-sys-color-surface);
40
39
  --md-comp-map-route-color: var(--md-sys-color-primary);
@@ -80,12 +79,32 @@
80
79
  border-radius: 50%;
81
80
  background-color: var(--md-comp-map-marker-color);
82
81
  @include z-depth(1);
82
+
83
+ // The dot is 16dp, under the 24dp minimum target. A 48dp round hit area
84
+ // around it takes the tap, and the map pans everywhere else.
85
+ &::before {
86
+ content: "";
87
+ position: absolute;
88
+ inset: -16px;
89
+ border-radius: 50%;
90
+ }
91
+ }
92
+
93
+ // A draggable marker a tap picked up, waiting for the tap that drops it.
94
+ &[aria-pressed="true"] {
95
+ outline: 2px solid var(--md-sys-color-primary);
96
+ outline-offset: 4px;
97
+ scale: 1.25;
98
+
99
+ @media (forced-colors: active) {
100
+ outline-color: Highlight;
101
+ }
83
102
  }
84
103
 
85
104
  &.location {
86
105
  --md-comp-map-marker-color: var(--md-sys-color-tertiary);
87
106
 
88
- box-shadow: 0 0 0 8px color-mix(in srgb, var(--md-comp-map-marker-color) 24%, transparent);
107
+ box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-comp-map-marker-color) 24%, transparent);
89
108
  cursor: default;
90
109
  }
91
110
  }
@@ -94,7 +113,7 @@
94
113
  position: absolute;
95
114
  inset-block-start: calc(100% + 4px);
96
115
  padding: 2px 8px;
97
- border-radius: 8px;
116
+ border-radius: var(--md-sys-shape-corner-small);
98
117
  background-color: var(--md-sys-color-surface-container-highest);
99
118
  color: var(--md-sys-color-on-surface);
100
119
  @include typescale("label-medium");
@@ -116,14 +135,16 @@
116
135
  .maplibregl-popup-content {
117
136
  max-inline-size: var(--md-comp-map-popup-max-width);
118
137
  padding: 12px 16px !important;
119
- border-radius: 12px !important;
138
+ border-radius: var(--md-sys-shape-corner-medium) !important;
120
139
  background: var(--md-sys-color-surface-container-low) !important;
121
140
  color: var(--md-sys-color-on-surface);
122
141
  @include typescale("body-medium");
123
- box-shadow: map.get($elevations, "2") !important;
142
+ @include z-depth(2, true);
124
143
 
144
+ // !important to beat the padding shorthand above, which MapLibre's own
145
+ // stylesheet forces it to carry.
125
146
  &:has(> .maplibregl-popup-close-button) {
126
- padding-inline-end: 44px;
147
+ padding-inline-end: calc(12px + #{rem(32px)}) !important;
127
148
  }
128
149
 
129
150
  :is(h1, h2, h3, h4, h5, h6) {
@@ -142,16 +163,17 @@
142
163
  }
143
164
 
144
165
  .maplibregl-popup-close-button {
145
- inset: 4px 4px auto auto !important;
146
- inline-size: 32px;
147
- block-size: 32px;
166
+ inset-block: 4px auto !important;
167
+ inset-inline: auto 4px !important;
168
+ inline-size: rem(32px);
169
+ block-size: rem(32px);
148
170
  border-radius: 50% !important;
149
171
  color: var(--md-sys-color-on-surface-variant);
150
- font-size: 20px;
172
+ font-size: rem(20px);
151
173
  line-height: 1;
152
174
 
153
175
  &:hover {
154
- background-color: color-mix(in srgb, currentColor 8%, transparent) !important;
176
+ background-color: color-mix(in oklab, currentColor 8%, transparent) !important;
155
177
  }
156
178
 
157
179
  @include focus-visible;
@@ -172,7 +194,7 @@
172
194
 
173
195
  > .icon-button,
174
196
  > .map-control-group {
175
- border-radius: 9999px;
197
+ border-radius: var(--md-sys-shape-corner-full);
176
198
  background-color: var(--md-sys-color-surface-container-low);
177
199
  @include z-depth(2);
178
200
  }
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Marquee. A strip of logos, images or text that scrolls without end:
4
2
  // <div class="marquee"> holding two identical <ul class="marquee-content">
5
3
  // groups. The second is a copy that fills the gap as the first scrolls
@@ -68,8 +66,11 @@
68
66
  list-style: none;
69
67
  animation: marquee-x var(--md-comp-marquee-duration) linear infinite;
70
68
 
69
+ // Its own box-sizing, not the reset's inherit, so each frame of the
70
+ // scroll restyles the two groups and not every item in them.
71
71
  > * {
72
72
  flex: none;
73
+ box-sizing: border-box;
73
74
  }
74
75
 
75
76
  .vertical > & {
@@ -0,0 +1,137 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Mega menu. Site navigation whose top items open wide panels of grouped
4
+ // links. A nav.mega-menu holds links and disclosure buttons; each button
5
+ // names a .mega-menu-panel with popovertarget. The panel is a native
6
+ // [popover], so the browser owns opening, light dismiss, Escape, the focus
7
+ // order after the button and the button's expanded state. There is no
8
+ // JavaScript and no menu role: these are links, read and tabbed in order.
9
+ //
10
+ // The panel sits below its button and spans the window, inset by
11
+ // --md-comp-mega-menu-margin; its sections flow into as many columns as fit.
12
+ //
13
+ // Tokens:
14
+ // --md-comp-mega-menu-container-color surface-container
15
+ // --md-comp-mega-menu-shape 16px
16
+ // --md-comp-mega-menu-margin 16px (panel inset from the window)
17
+ // --md-comp-mega-menu-column-width 200px (minimum)
18
+
19
+ .mega-menu {
20
+ --md-comp-mega-menu-container-color: var(--md-sys-color-surface-container);
21
+ --md-comp-mega-menu-shape: var(--md-sys-shape-corner-large);
22
+ --md-comp-mega-menu-margin: 16px;
23
+ --md-comp-mega-menu-column-width: 200px;
24
+
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ align-items: center;
28
+ gap: 4px;
29
+
30
+ // Top items: links and disclosure buttons share one look.
31
+ > :is(a, button) {
32
+ display: inline-flex;
33
+ align-items: center;
34
+ gap: 4px;
35
+ min-block-size: 40px;
36
+ margin: 0;
37
+ padding: 0 12px;
38
+ border: 0;
39
+ border-radius: var(--md-sys-shape-corner-large-increased);
40
+ background: none;
41
+ color: var(--md-sys-color-on-surface);
42
+ font: inherit;
43
+ text-decoration: none;
44
+ cursor: pointer;
45
+ @include typescale("label-large");
46
+ @include focus-visible;
47
+
48
+ &:hover {
49
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
50
+ }
51
+
52
+ &[aria-current="page"] {
53
+ background-color: var(--md-sys-color-secondary-container);
54
+ color: var(--md-sys-color-on-secondary-container);
55
+ @include forced-colors-selected;
56
+ }
57
+ }
58
+
59
+ // A trailing chevron turns while the button's panel is open.
60
+ > button::after {
61
+ content: "";
62
+ inline-size: 18px;
63
+ block-size: 18px;
64
+ background-color: currentColor;
65
+ mask: $caret-down center / 18px no-repeat;
66
+ transition: transform var(--md-sys-motion-duration-short3) ease-out;
67
+ }
68
+
69
+ > button:has(+ .mega-menu-panel:popover-open)::after {
70
+ transform: rotate(180deg);
71
+ }
72
+ }
73
+
74
+ .mega-menu-panel {
75
+ box-sizing: border-box;
76
+ inline-size: auto;
77
+ max-block-size: calc(100dvh - 96px);
78
+ inset: auto;
79
+ margin: 8px var(--md-comp-mega-menu-margin, 16px);
80
+ padding: 24px;
81
+ overflow: auto;
82
+ border: 0;
83
+ border-radius: var(--md-comp-mega-menu-shape, var(--md-sys-shape-corner-large));
84
+ background-color: var(--md-comp-mega-menu-container-color, var(--md-sys-color-surface-container));
85
+ color: var(--md-sys-color-on-surface);
86
+ @include z-depth("2");
87
+
88
+ position-area: block-end span-all;
89
+ justify-self: stretch;
90
+
91
+ &:popover-open {
92
+ display: grid;
93
+ grid-template-columns: repeat(auto-fit, minmax(var(--md-comp-mega-menu-column-width, 200px), 1fr));
94
+ gap: 24px;
95
+ }
96
+
97
+ > section {
98
+ min-inline-size: 0;
99
+
100
+ > :is(h2, h3, h4) {
101
+ margin: 0 0 8px;
102
+ color: var(--md-sys-color-on-surface-variant);
103
+ @include typescale("title-small");
104
+ }
105
+
106
+ > ul {
107
+ margin: 0;
108
+ padding: 0;
109
+ list-style: none;
110
+ }
111
+
112
+ a {
113
+ display: block;
114
+ padding: 8px 12px;
115
+ margin-inline: -12px;
116
+ border-radius: var(--md-sys-shape-corner-small);
117
+ color: var(--md-sys-color-on-surface);
118
+ text-decoration: none;
119
+ @include typescale("body-large");
120
+ @include focus-visible;
121
+
122
+ &:hover {
123
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover");
124
+ }
125
+
126
+ > small {
127
+ display: block;
128
+ color: var(--md-sys-color-on-surface-variant);
129
+ @include typescale("body-small");
130
+ }
131
+ }
132
+ }
133
+
134
+ @media (forced-colors: active) {
135
+ border: 1px solid CanvasText;
136
+ }
137
+ }