@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
@@ -0,0 +1,90 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Pull-to-refresh. The author's loading indicator, a direct child, hides at
4
+ // rest, comes down with a touch pull from the top, and stays while the page
5
+ // refreshes.
6
+ //
7
+ // <div class="pull-to-refresh">
8
+ // <span class="loading-indicator contained" role="status" aria-label="Refreshing"></span>
9
+ // <button type="button" class="text" data-refresh>Refresh</button>
10
+ // ...content
11
+ // </div>
12
+ //
13
+ // While a finger pulls, the script adds `.pulling` and sets
14
+ // `--pull-to-refresh-offset` (how far the indicator has come down) and
15
+ // `--pull-to-refresh-progress` (0 to 1 toward the threshold). A refresh sets
16
+ // `aria-busy="true"` until the page reports the finish, and announces the
17
+ // start and the finish in a `.pull-to-refresh-status` region it adds.
18
+ //
19
+ // Tokens:
20
+ // --md-comp-pull-to-refresh-indicator-offset 16px where the indicator rests while refreshing
21
+ // --md-comp-pull-to-refresh-motion default spatial spring, for the indicator's return
22
+ // --md-comp-pull-to-refresh-motion-duration its duration
23
+
24
+ .pull-to-refresh {
25
+ --md-comp-pull-to-refresh-indicator-offset: 16px;
26
+ --md-comp-pull-to-refresh-motion: var(--md-sys-motion-spring-default-spatial);
27
+ --md-comp-pull-to-refresh-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
28
+
29
+ // Stops the browser's own pull-to-refresh and scroll chaining.
30
+ overscroll-behavior-y: contain;
31
+
32
+ // Sticky with a negative end margin, so it stays at the top of the scroll
33
+ // area without taking space from the content under it.
34
+ > .loading-indicator {
35
+ position: sticky;
36
+ top: 0;
37
+ z-index: 1;
38
+ display: flex;
39
+ margin-inline: auto;
40
+ margin-block-end: calc(-1 * var(--md-comp-loading-indicator-container-size));
41
+ // It covers the content under it while showing, and has nothing to press.
42
+ pointer-events: none;
43
+ visibility: hidden;
44
+ opacity: 0;
45
+ translate: 0 -100%;
46
+ // Hidden only once it has gone back up.
47
+ transition:
48
+ translate var(--md-comp-pull-to-refresh-motion-duration) var(--md-comp-pull-to-refresh-motion),
49
+ opacity var(--md-comp-pull-to-refresh-motion-duration) var(--md-comp-pull-to-refresh-motion),
50
+ visibility 0s linear var(--md-comp-pull-to-refresh-motion-duration);
51
+
52
+ &::before {
53
+ animation-play-state: paused;
54
+ }
55
+ }
56
+
57
+ &.pulling > .loading-indicator {
58
+ visibility: visible;
59
+ translate: 0 calc(var(--pull-to-refresh-offset, 0px) - 100%);
60
+ opacity: var(--pull-to-refresh-progress, 1);
61
+ transition: none;
62
+ }
63
+
64
+ &[aria-busy="true"] > .loading-indicator {
65
+ visibility: visible;
66
+ opacity: 1;
67
+ translate: 0 var(--md-comp-pull-to-refresh-indicator-offset);
68
+ // Shown at once; only hiding waits for the motion.
69
+ transition-delay: 0s;
70
+
71
+ &::before {
72
+ animation-play-state: running;
73
+ }
74
+ }
75
+ }
76
+
77
+ .pull-to-refresh-status {
78
+ @include visually-hidden;
79
+ }
80
+
81
+ // A container that does not scroll pulls the page, so the page's own pull stops too.
82
+ :root:has(.pull-to-refresh) {
83
+ overscroll-behavior-y: contain;
84
+ }
85
+
86
+ @media (prefers-reduced-motion: reduce) {
87
+ .pull-to-refresh > .loading-indicator {
88
+ transition: none;
89
+ }
90
+ }
@@ -14,7 +14,10 @@
14
14
  // the submit button sends the form.
15
15
  //
16
16
  // Choices are outlined rows; a selected one fills with secondary-container,
17
- // the M3 colour for a selected item in a list.
17
+ // the M3 colour for a selected item in a list. With data-shortcuts each
18
+ // choice ends in the letter that picks it, hidden from screen readers.
19
+ // With data-summary a .questionnaire-summary lists each answer before the
20
+ // submit button.
18
21
  //
19
22
  // Tokens:
20
23
  // --md-comp-questionnaire-choice-shape 12px
@@ -22,7 +25,7 @@
22
25
  // --md-comp-questionnaire-choice-selected-color secondary-container
23
26
 
24
27
  .questionnaire {
25
- --md-comp-questionnaire-choice-shape: 12px;
28
+ --md-comp-questionnaire-choice-shape: var(--md-sys-shape-corner-medium);
26
29
  --md-comp-questionnaire-choice-outline-color: var(--md-sys-color-outline-variant);
27
30
  --md-comp-questionnaire-choice-selected-color: var(--md-sys-color-secondary-container);
28
31
 
@@ -68,7 +71,10 @@
68
71
  display: none;
69
72
  }
70
73
 
74
+ counter-reset: questionnaire-choice;
75
+
71
76
  > label:has(> :is([type="radio"], [type="checkbox"])) {
77
+ counter-increment: questionnaire-choice;
72
78
  display: grid;
73
79
  grid-template-columns: auto 1fr;
74
80
  align-items: center;
@@ -79,7 +85,7 @@
79
85
  padding: 8px 16px;
80
86
  border: 1px solid var(--md-comp-questionnaire-choice-outline-color);
81
87
  border-radius: var(--md-comp-questionnaire-choice-shape);
82
- transition: background-color .2s ease, border-color .2s ease;
88
+ transition: background-color var(--md-sys-motion-duration-short4) ease, border-color var(--md-sys-motion-duration-short4) ease;
83
89
 
84
90
  p + & {
85
91
  margin-block-start: 16px;
@@ -115,6 +121,61 @@
115
121
  }
116
122
  }
117
123
 
124
+ &[data-shortcuts] > fieldset > label:has(> :is([type="radio"], [type="checkbox"])) {
125
+ grid-template-columns: auto 1fr auto;
126
+
127
+ &::after {
128
+ content: counter(questionnaire-choice, upper-alpha) / "";
129
+ grid-row: 1;
130
+ grid-column: 3;
131
+ min-width: 24px;
132
+ padding: 2px 6px;
133
+ border: 1px solid var(--md-comp-questionnaire-choice-outline-color);
134
+ border-radius: var(--md-sys-shape-corner-extra-small);
135
+ color: var(--md-sys-color-on-surface-variant);
136
+ text-align: center;
137
+ @include typescale("label-medium");
138
+ }
139
+ }
140
+
141
+ // The review step: each question, its answer and a button back to it.
142
+ > .questionnaire-summary {
143
+ outline: 0;
144
+
145
+ > dl {
146
+ margin: 0;
147
+ }
148
+
149
+ > dl > div {
150
+ display: grid;
151
+ grid-template-columns: 1fr auto;
152
+ align-items: center;
153
+ column-gap: 16px;
154
+ padding: 12px 0;
155
+ border-block-end: 1px solid var(--md-sys-color-outline-variant);
156
+ }
157
+
158
+ dt {
159
+ color: var(--md-sys-color-on-surface-variant);
160
+ @include typescale("label-large");
161
+ }
162
+
163
+ dd {
164
+ margin: 0;
165
+ }
166
+
167
+ dd:first-of-type {
168
+ grid-column: 1;
169
+ color: var(--md-sys-color-on-surface);
170
+ @include typescale("body-large");
171
+ }
172
+
173
+ dd:last-of-type {
174
+ grid-row: 1 / span 2;
175
+ grid-column: 2;
176
+ }
177
+ }
178
+
118
179
  // The selector matches the page footer's, which every <footer> gets.
119
180
  > footer:not(:has(> .navigation-bar:only-child)) {
120
181
  margin: 0;
@@ -142,3 +203,13 @@
142
203
  display: none;
143
204
  }
144
205
  }
206
+
207
+ // The footer's plain buttons are filled ones, which forced colors paint as
208
+ // Canvas; the button styles outline only a named container. `:where()` keeps
209
+ // the focus ring ahead of it.
210
+ @media (forced-colors: active) {
211
+ :where(.questionnaire > footer) > button:not(.outlined, .text) {
212
+ outline: 1px solid ButtonText;
213
+ outline-offset: -1px;
214
+ }
215
+ }
@@ -12,7 +12,11 @@
12
12
  // the cursor spoke and the tooltip are HTML placed by the --turn RadarChart
13
13
  // sets, a fraction of a turn clockwise from the top.
14
14
  //
15
- // Modifiers: .area fills each shape, .points marks each value, .sparkline
15
+ // A gap in a series breaks its outline; .area fills each unbroken run as a
16
+ // wedge from the middle.
17
+ //
18
+ // Modifiers: .area fills each shape, .points marks each value, .axis
19
+ // rings the grid at round values and labels the rings, .sparkline
16
20
  // is a small chart with no labels, legend or tooltip.
17
21
  // A series header cell's classes reach its shape: <th class="dashed">.
18
22
  //
@@ -25,16 +29,17 @@
25
29
  // on-surface-variant
26
30
 
27
31
  @include chart("radar-chart");
32
+ @include chart-axis("radar-chart", $beside: false);
28
33
 
29
34
  .radar-chart {
30
35
  --md-comp-radar-chart-line-width: 2px;
31
- --md-comp-radar-chart-label-room: 80px;
36
+ --md-comp-radar-chart-label-room: #{rem(80px)};
32
37
  // How far past the rim a label starts.
33
38
  --radar-chart-label-offset: 8px;
34
39
 
35
40
  &.sparkline {
36
41
  --md-comp-radar-chart-line-width: 1.5px;
37
- --md-comp-radar-chart-label-room: 0px;
42
+ --md-comp-radar-chart-label-room: #{rem(0px)};
38
43
  --radar-chart-label-offset: 0px;
39
44
  }
40
45
  }
@@ -58,6 +63,26 @@
58
63
  background: none;
59
64
  }
60
65
 
66
+ // .axis rings the grid at round values and labels each ring up the top
67
+ // spoke. Zero, the middle, goes unlabelled.
68
+ .radar-chart-axis > li {
69
+ inset-inline: auto;
70
+ left: 50%;
71
+ top: calc(var(--at, 0%) / 2);
72
+ border: 0;
73
+
74
+ &:first-child {
75
+ display: none;
76
+ }
77
+ }
78
+
79
+ .radar-chart-axis > li > span {
80
+ inset: auto auto auto 4px;
81
+ width: auto;
82
+ padding: 0;
83
+ overflow: visible;
84
+ }
85
+
61
86
  .radar-chart-web {
62
87
  position: absolute;
63
88
  inset: 0;
@@ -86,12 +111,19 @@
86
111
  }
87
112
 
88
113
  .radar-chart-shape {
89
- fill: var(--radar-chart-color);
90
- fill-opacity: 0;
114
+ fill: none;
91
115
  stroke-width: var(--md-comp-radar-chart-line-width);
116
+ }
117
+
118
+ .radar-chart-area {
119
+ fill: var(--radar-chart-color);
120
+ fill-opacity: 0.24;
121
+ }
92
122
 
123
+ .radar-chart-shape,
124
+ .radar-chart-area {
93
125
  @media (prefers-reduced-motion: no-preference) {
94
- transition: opacity 400ms cubic-bezier(0.2, 0, 0, 1), scale 400ms cubic-bezier(0.2, 0, 0, 1);
126
+ transition: opacity var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-standard), scale var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-standard);
95
127
 
96
128
  @starting-style {
97
129
  opacity: 0;
@@ -100,10 +132,6 @@
100
132
  }
101
133
  }
102
134
 
103
- .radar-chart.area .radar-chart-shape {
104
- fill-opacity: 0.24;
105
- }
106
-
107
135
  .radar-chart-series.dashed .radar-chart-shape {
108
136
  stroke-dasharray: 2 6;
109
137
  }
@@ -11,8 +11,15 @@
11
11
  // circle, from the --radial-chart-dash RadialChart sets, so it can grow in;
12
12
  // --radial-chart-offset moves a round-capped dash in by half the width.
13
13
  //
14
- // Modifiers: .gauge draws half circles over the middle, .sparkline is a
15
- // small chart with no legend or tooltip. A <tfoot> row shows in the middle.
14
+ // data-segments on the figure splits each ring into that many segments,
15
+ // filled whole, with the ring gap between them.
16
+ //
17
+ // Modifiers: .gauge draws half circles over the middle, .gradient shades
18
+ // each fill along its ring, from a light tint at the start to the full
19
+ // color at the end, .labels draws
20
+ // three-quarter rings and names each one in the empty top left quarter,
21
+ // or under the base line of a gauge, .sparkline is a small chart with no legend, tooltip or names. A <tfoot>
22
+ // row shows in the middle.
16
23
  //
17
24
  // Tokens:
18
25
  // --md-comp-radial-chart-height 240px, the rings' diameter (sparkline 48px)
@@ -71,8 +78,9 @@
71
78
  stroke: var(--md-comp-radial-chart-track-color);
72
79
  }
73
80
 
74
- // A gauge's track ends where its fill would, so it ends round too.
75
- .radial-chart.gauge .radial-chart-track {
81
+ // A track short of a whole circle ends where its fill would, so it ends
82
+ // round too.
83
+ .radial-chart-track.capped {
76
84
  stroke-linecap: round;
77
85
  }
78
86
 
@@ -90,7 +98,7 @@
90
98
  }
91
99
 
92
100
  @media (prefers-reduced-motion: no-preference) {
93
- transition: stroke-dasharray 600ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.2, 0, 0, 1);
101
+ transition: stroke-dasharray var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard), opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
94
102
 
95
103
  @starting-style {
96
104
  stroke-dasharray: 0 1000;
@@ -98,6 +106,106 @@
98
106
  }
99
107
  }
100
108
 
109
+ // .gradient draws each fill again in HTML: a conic gradient round the
110
+ // ring's middle, masked by RadialChart to the fill's own dash, from a tint
111
+ // of the ring's color to the color itself where the fill ends. The SVG fill
112
+ // under it keeps its shape for the cap and the hover, and drops its color.
113
+ // A second mask, a conic reveal, grows the fill in as the SVG dash does. A
114
+ // shadow root ignores @property, so the reveal falls back to the whole turn
115
+ // there and the fill appears without growing.
116
+ @property --radial-chart-reveal {
117
+ syntax: "<angle>";
118
+ inherits: false;
119
+ initial-value: 360deg;
120
+ }
121
+
122
+ .radial-chart.gradient .radial-chart-ring {
123
+ stroke: transparent;
124
+ }
125
+
126
+ .radial-chart-sweep {
127
+ // The rings' middle: the box's, or for a gauge the middle of its base line.
128
+ --radial-chart-at: 50% 50%;
129
+
130
+ position: absolute;
131
+ inset: 0;
132
+ background: conic-gradient(
133
+ from var(--radial-chart-from, 0turn) at var(--radial-chart-at),
134
+ color-mix(in oklab, var(--radial-chart-color) 35%, var(--md-sys-color-surface)),
135
+ var(--radial-chart-color) var(--radial-chart-to, 1turn)
136
+ );
137
+ mask-image:
138
+ var(--radial-chart-shape, none),
139
+ conic-gradient(from var(--radial-chart-from, 0turn) at var(--radial-chart-at), #000 var(--radial-chart-reveal, 360deg), transparent 0);
140
+ mask-size: 100% 100%;
141
+ mask-repeat: no-repeat;
142
+ mask-composite: intersect;
143
+ pointer-events: none;
144
+
145
+ @media (prefers-reduced-motion: no-preference) {
146
+ transition:
147
+ --radial-chart-reveal var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard),
148
+ opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
149
+
150
+ @starting-style {
151
+ --radial-chart-reveal: 0deg;
152
+ }
153
+ }
154
+
155
+ .radial-chart.gauge & {
156
+ --radial-chart-at: 50% 100%;
157
+ }
158
+
159
+ .radial-chart-rings:has(.active) &:not(.active) {
160
+ opacity: 0.38;
161
+ }
162
+ }
163
+
164
+ // The names' font shrinks with the plot, so they need its size.
165
+ .radial-chart.labels .radial-chart-rings {
166
+ container-type: size;
167
+ }
168
+
169
+ // RadialChart sets each name's --radial-chart-at to its ring's top. Names
170
+ // end at the middle line, beside the start of their ring, and shrink to fit
171
+ // between crowded rings: one unit of the SVG's 100-unit box is 1cqw. They
172
+ // stay in a text color, since a ring color token may be too light to read.
173
+ .radial-chart-names > span {
174
+ position: absolute;
175
+ top: var(--radial-chart-at, 50%);
176
+ right: calc(50% + 4px);
177
+ max-width: calc(50% - 8px);
178
+ overflow: hidden;
179
+ translate: 0 -50%;
180
+ color: var(--md-sys-color-on-surface-variant);
181
+ @include typescale("label-medium");
182
+ font-size: min(var(--md-sys-typescale-label-medium-font-size), var(--radial-chart-step, 10) * 0.6cqw);
183
+ line-height: 1.2;
184
+ text-overflow: ellipsis;
185
+ white-space: nowrap;
186
+ }
187
+
188
+ // A gauge's names hang under its base line, a row each with the innermost
189
+ // ring's on top. Each starts at its ring's start, after a line down from
190
+ // it, and every line passes left of the names above it.
191
+ .radial-chart.gauge.labels:not(.sparkline) .radial-chart-plot {
192
+ margin-block-end: calc(var(--radial-chart-rows, 0) * var(--md-sys-typescale-label-medium-line-height) + 4px);
193
+ }
194
+
195
+ .radial-chart.gauge .radial-chart-names > span {
196
+ top: calc(100% + 4px);
197
+ right: 0;
198
+ left: var(--radial-chart-at, 0);
199
+ max-width: none;
200
+ padding: calc(var(--radial-chart-row, 0) * var(--md-sys-typescale-label-medium-line-height)) 0 0 4px;
201
+ border-left: 1px solid var(--md-sys-color-outline-variant);
202
+ translate: none;
203
+ // The rings do not mirror in RTL, so each name stays beside its line.
204
+ text-align: left;
205
+ font-size: var(--md-sys-typescale-label-medium-font-size);
206
+ line-height: var(--md-sys-typescale-label-medium-line-height);
207
+ }
208
+
101
209
  .radial-chart-tooltip {
102
210
  translate: 12px -50%;
103
211
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  .rich-text-editor {
14
14
  --md-comp-rich-text-editor-min-height: 160px;
15
- --md-comp-rich-text-editor-shape: 16px;
15
+ --md-comp-rich-text-editor-shape: var(--md-sys-shape-corner-large);
16
16
 
17
17
  display: flex;
18
18
  flex-direction: column;
@@ -76,7 +76,7 @@
76
76
 
77
77
  :not(pre) > code,
78
78
  pre {
79
- border-radius: 8px;
79
+ border-radius: var(--md-sys-shape-corner-small);
80
80
  background-color: var(--md-sys-color-surface-container-highest);
81
81
  font-family: ui-monospace, monospace;
82
82
  }
@@ -0,0 +1,114 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Sankey chart. A <figure class="sankey-chart"> holds a <figcaption> and a
4
+ // <table> of flows: the first column names each row's source node, the
5
+ // second its target node, and the third holds the value. Without JavaScript
6
+ // the table shows. SankeyChart draws the nodes in columns and each row as a
7
+ // link between two of them, and hides the table visually, so a screen
8
+ // reader still reads the flows as a table. The plot and tooltip come from
9
+ // chart().
10
+ //
11
+ // The SVG stretches to the plot (preserveAspectRatio="none"). Nodes and
12
+ // links are filled shapes with no stroke, so stretching keeps every link
13
+ // as thick as its value and every node as tall as its total.
14
+ //
15
+ // Each node takes a color in node order through data-series, and each link
16
+ // its source node's color, lighter. The names sit over the drawing, level
17
+ // with their nodes, from --sankey-chart-x and --sankey-chart-y, the
18
+ // script's percentages of the plot from its inline start and top.
19
+ //
20
+ // Tokens:
21
+ // --md-comp-sankey-chart-height 240px
22
+ // --md-comp-sankey-chart-link-opacity 0.4
23
+ // --md-comp-sankey-chart-color-1..6 primary, tertiary, secondary,
24
+ // on-surface-variant, then primary-
25
+ // and tertiary-container deepened
26
+ // toward on-surface, as the pie chart's
27
+
28
+ @include chart("sankey-chart");
29
+
30
+ .sankey-chart {
31
+ --md-comp-sankey-chart-link-opacity: 0.4;
32
+ --md-comp-sankey-chart-color-5: color-mix(in oklab, var(--md-sys-color-primary-container) 45%, var(--md-sys-color-on-surface));
33
+ --md-comp-sankey-chart-color-6: color-mix(in oklab, var(--md-sys-color-tertiary-container) 45%, var(--md-sys-color-on-surface));
34
+ }
35
+
36
+ // chart() sets colors 1 to 4.
37
+ @for $i from 5 through 6 {
38
+ .sankey-chart [data-series="#{$i}"] {
39
+ --sankey-chart-color: var(--md-comp-sankey-chart-color-#{$i});
40
+ }
41
+ }
42
+
43
+ // No grid lines or baseline: the nodes and links have no value axis.
44
+ .sankey-chart-plot {
45
+ border: 0;
46
+ background: none;
47
+
48
+ > svg {
49
+ position: absolute;
50
+ inset: 0;
51
+ width: 100%;
52
+ height: 100%;
53
+ overflow: visible;
54
+ }
55
+ }
56
+
57
+ .sankey-chart-node {
58
+ fill: var(--sankey-chart-color);
59
+ }
60
+
61
+ .sankey-chart-link {
62
+ fill: var(--sankey-chart-color);
63
+ fill-opacity: var(--md-comp-sankey-chart-link-opacity);
64
+
65
+ // The link the keys or pointer picked.
66
+ &.active {
67
+ fill-opacity: 0.8;
68
+ }
69
+ }
70
+
71
+ // Level with the link's middle.
72
+ .sankey-chart-tooltip {
73
+ translate: 12px -50%;
74
+
75
+ &.end {
76
+ translate: calc(-100% - 12px) -50%;
77
+ }
78
+
79
+ // The value header names a column, not a node, so it has no swatch.
80
+ > span.value::before {
81
+ content: none;
82
+ }
83
+ }
84
+
85
+ // Over the drawing, and out of the pointer's way, so a link under a name
86
+ // still takes it.
87
+ .sankey-chart-names {
88
+ position: absolute;
89
+ inset: 0;
90
+ z-index: 1;
91
+ pointer-events: none;
92
+ }
93
+
94
+ .sankey-chart-name {
95
+ position: absolute;
96
+ top: var(--sankey-chart-y, 0%);
97
+ inset-inline-start: var(--sankey-chart-x, 0%);
98
+ padding-inline: 4px;
99
+ color: var(--md-sys-color-on-surface);
100
+ @include typescale("body-small");
101
+ white-space: nowrap;
102
+ translate: 0 -50%;
103
+
104
+ &.end {
105
+ inset-inline: auto calc(100% - var(--sankey-chart-x, 0%));
106
+ }
107
+ }
108
+
109
+ // The colors tell the nodes apart, so they keep them.
110
+ @media (forced-colors: active) {
111
+ .sankey-chart-plot > svg {
112
+ forced-color-adjust: none;
113
+ }
114
+ }