@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.
- package/CHANGELOG.md +1589 -1
- package/README.md +9 -8
- package/dist/css/expressive.css +19304 -12021
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
- package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
- package/dist/fonts/LICENSE-noto-sans-thai +93 -0
- package/dist/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/fonts/material-symbols-rounded.woff2 +0 -0
- package/dist/fonts/material-symbols-sharp.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-A7ALMYUR.mjs → chunk-4QUCNFSD.mjs} +68 -125
- package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-4TKTLGEM.mjs → chunk-4TRZ2AER.mjs} +35 -41
- package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
- package/dist/js/chunks/{chunk-BG6ZRB5H.mjs → chunk-5KIHWJI2.mjs} +40 -26
- package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
- package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-67ZPPKXS.mjs} +20 -33
- package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-6FSEUFVW.mjs} +40 -29
- package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GVGT6MIU.mjs → chunk-75E5EDJF.mjs} +3 -11
- package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-TBM3FT7G.mjs → chunk-7NLUI3RR.mjs} +148 -78
- package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
- package/dist/js/chunks/{chunk-NS2UMNZV.mjs → chunk-ANKFWNWT.mjs} +21 -45
- package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GIW4K4SE.mjs → chunk-B7DQFHA5.mjs} +37 -53
- package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GUB3TNO2.mjs → chunk-BPF3I2MN.mjs} +109 -27
- package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-JIDMQGK6.mjs → chunk-CSYWKEK3.mjs} +322 -223
- package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QDAL4IYN.mjs → chunk-EC26RU2D.mjs} +11 -29
- package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3GVFZ4XO.mjs → chunk-EVCVFEV3.mjs} +238 -152
- package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
- package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
- package/dist/js/chunks/{chunk-ZAS25YFD.mjs → chunk-ILDRRG7T.mjs} +21 -23
- package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KHV6DZXX.mjs → chunk-KZPSAXIU.mjs} +156 -46
- package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
- package/dist/js/chunks/{chunk-Z2NRKI7R.mjs → chunk-OP43LLIC.mjs} +44 -73
- package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
- package/dist/js/chunks/{chunk-PM655FXL.mjs → chunk-OYNUDOHR.mjs} +20 -48
- package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-P6DRQ6KS.mjs} +36 -31
- package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-5HQSGDZ5.mjs → chunk-QXKWVHBD.mjs} +286 -203
- package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-DAIU5SLG.mjs → chunk-ROH2HDB4.mjs} +7 -6
- package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
- package/dist/js/chunks/{chunk-FS7XY3HT.mjs → chunk-SPPHF7YZ.mjs} +36 -29
- package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-4HZMB7LI.mjs → chunk-VGY4M57S.mjs} +281 -135
- package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-S3XDFGSZ.mjs → chunk-VMY55K2X.mjs} +92 -141
- package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UEXCIMJZ.mjs → chunk-VR3L2WN5.mjs} +11 -17
- package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
- package/dist/js/chunks/{chunk-MZ6Z24BX.mjs → chunk-ZJNLAGY5.mjs} +19 -34
- package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
- package/dist/js/expressive.cjs +10333 -4070
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +10333 -4070
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +23 -25
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +184 -69
- package/dist/js/expressive.mjs.map +2 -2
- package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
- package/dist/js/internal/behaviors/copy.mjs +9 -0
- package/dist/js/internal/behaviors/copy.mjs.map +7 -0
- package/dist/js/internal/behaviors/dataTables.mjs +10 -0
- package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
- package/dist/js/internal/behaviors/dialogs.mjs +2 -2
- package/dist/js/internal/behaviors/forms.mjs +2 -2
- package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
- package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
- package/dist/js/internal/behaviors/lists.mjs +8 -0
- package/dist/js/internal/behaviors/lists.mjs.map +7 -0
- package/dist/js/internal/behaviors/paneResize.mjs +8 -0
- package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
- package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
- package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
- package/dist/js/internal/behaviors/sortable.mjs +8 -0
- package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
- package/dist/js/internal/behaviors/theme.mjs +8 -0
- package/dist/js/internal/behaviors/theme.mjs.map +7 -0
- package/dist/js/internal/behaviors/tour.mjs +8 -0
- package/dist/js/internal/behaviors/tour.mjs.map +7 -0
- package/dist/js/internal/behaviors/transferList.mjs +8 -0
- package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
- package/dist/js/internal/components/appBar.mjs +3 -2
- package/dist/js/internal/components/autocomplete.mjs +4 -4
- package/dist/js/internal/components/backToTop.mjs +9 -0
- package/dist/js/internal/components/backToTop.mjs.map +7 -0
- package/dist/js/internal/components/barChart.mjs +5 -4
- package/dist/js/internal/components/buttonGroup.mjs +3 -2
- package/dist/js/internal/components/buttons.mjs +3 -3
- package/dist/js/internal/components/cards.mjs +3 -3
- package/dist/js/internal/components/carousel.mjs +3 -3
- package/dist/js/internal/components/cascader.mjs +10 -0
- package/dist/js/internal/components/cascader.mjs.map +7 -0
- package/dist/js/internal/components/characterCounter.mjs +3 -2
- package/dist/js/internal/components/chips.mjs +6 -5
- package/dist/js/internal/components/colorPicker.mjs +9 -0
- package/dist/js/internal/components/colorPicker.mjs.map +7 -0
- package/dist/js/internal/components/columnChart.mjs +4 -3
- package/dist/js/internal/components/commandPalette.mjs +3 -3
- package/dist/js/internal/components/confetti.mjs +3 -2
- package/dist/js/internal/components/currencyInput.mjs +9 -0
- package/dist/js/internal/components/currencyInput.mjs.map +7 -0
- package/dist/js/internal/components/datepicker.mjs +11 -8
- package/dist/js/internal/components/expandingCard.mjs +3 -3
- package/dist/js/internal/components/funnelChart.mjs +10 -0
- package/dist/js/internal/components/funnelChart.mjs.map +7 -0
- package/dist/js/internal/components/heatmapChart.mjs +4 -3
- package/dist/js/internal/components/hoverCard.mjs +9 -0
- package/dist/js/internal/components/hoverCard.mjs.map +7 -0
- package/dist/js/internal/components/index.mjs +133 -64
- package/dist/js/internal/components/inputMask.mjs +9 -0
- package/dist/js/internal/components/inputMask.mjs.map +7 -0
- package/dist/js/internal/components/keypad.mjs +9 -0
- package/dist/js/internal/components/keypad.mjs.map +7 -0
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/lineChart.mjs +29 -4
- package/dist/js/internal/components/loadingOverlay.mjs +9 -0
- package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
- package/dist/js/internal/components/mapView.mjs +3 -3
- package/dist/js/internal/components/menu.mjs +3 -3
- package/dist/js/internal/components/menubar.mjs +10 -0
- package/dist/js/internal/components/menubar.mjs.map +7 -0
- package/dist/js/internal/components/messageScroller.mjs +3 -3
- package/dist/js/internal/components/mixedChart.mjs +5 -4
- package/dist/js/internal/components/navigationRail.mjs +3 -2
- package/dist/js/internal/components/particles.mjs +3 -2
- package/dist/js/internal/components/pieChart.mjs +4 -3
- package/dist/js/internal/components/pullToRefresh.mjs +9 -0
- package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
- package/dist/js/internal/components/questionnaire.mjs +3 -3
- package/dist/js/internal/components/radarChart.mjs +4 -3
- package/dist/js/internal/components/radialChart.mjs +4 -3
- package/dist/js/internal/components/registry.mjs +59 -40
- package/dist/js/internal/components/richTextEditor.mjs +3 -3
- package/dist/js/internal/components/sankeyChart.mjs +10 -0
- package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
- package/dist/js/internal/components/scatterChart.mjs +10 -0
- package/dist/js/internal/components/scatterChart.mjs.map +7 -0
- package/dist/js/internal/components/scrollspy.mjs +3 -2
- package/dist/js/internal/components/select.mjs +4 -4
- package/dist/js/internal/components/showMore.mjs +9 -0
- package/dist/js/internal/components/showMore.mjs.map +7 -0
- package/dist/js/internal/components/slider.mjs +3 -3
- package/dist/js/internal/components/snackbar.mjs +2 -2
- package/dist/js/internal/components/swipeActions.mjs +9 -0
- package/dist/js/internal/components/swipeActions.mjs.map +7 -0
- package/dist/js/internal/components/tabs.mjs +3 -4
- package/dist/js/internal/components/timepicker.mjs +5 -4
- package/dist/js/internal/components/tooltip.mjs +3 -3
- package/dist/js/internal/components/treeSelect.mjs +13 -0
- package/dist/js/internal/components/treeSelect.mjs.map +7 -0
- package/dist/js/internal/components/treemapChart.mjs +10 -0
- package/dist/js/internal/components/treemapChart.mjs.map +7 -0
- package/dist/js/internal/core/component.mjs +2 -1
- package/dist/js/internal/core/formControl.mjs +12 -0
- package/dist/js/internal/core/formControl.mjs.map +7 -0
- package/dist/js/internal/core/spring.mjs +11 -0
- package/dist/js/internal/core/spring.mjs.map +7 -0
- package/dist/js/internal/core/utils.mjs +11 -3
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
- package/dist/js/modular.mjs +175 -69
- package/dist/types/behaviors/bottomSheets.d.ts +19 -3
- package/dist/types/behaviors/copy.d.ts +18 -0
- package/dist/types/behaviors/dataTables.d.ts +129 -0
- package/dist/types/behaviors/dialogs.d.ts +27 -1
- package/dist/types/behaviors/forms.d.ts +68 -2
- package/dist/types/behaviors/imageCompare.d.ts +12 -0
- package/dist/types/behaviors/lists.d.ts +12 -0
- package/dist/types/behaviors/paneResize.d.ts +29 -0
- package/dist/types/behaviors/sheetDrag.d.ts +18 -0
- package/dist/types/behaviors/sideSheets.d.ts +1 -1
- package/dist/types/behaviors/sortable.d.ts +28 -0
- package/dist/types/behaviors/theme.d.ts +22 -0
- package/dist/types/behaviors/tour.d.ts +36 -0
- package/dist/types/behaviors/transferList.d.ts +51 -0
- package/dist/types/components/appBar.d.ts +5 -6
- package/dist/types/components/autocomplete.d.ts +92 -17
- package/dist/types/components/backToTop.d.ts +36 -0
- package/dist/types/components/barChart.d.ts +3 -6
- package/dist/types/components/buttonGroup.d.ts +2 -4
- package/dist/types/components/buttons.d.ts +5 -5
- package/dist/types/components/cards.d.ts +3 -16
- package/dist/types/components/carousel.d.ts +9 -15
- package/dist/types/components/cascader.d.ts +130 -0
- package/dist/types/components/characterCounter.d.ts +2 -15
- package/dist/types/components/chips.d.ts +65 -19
- package/dist/types/components/colorPicker.d.ts +42 -0
- package/dist/types/components/columnChart.d.ts +23 -10
- package/dist/types/components/commandPalette.d.ts +11 -16
- package/dist/types/components/confetti.d.ts +2 -4
- package/dist/types/components/currencyInput.d.ts +59 -0
- package/dist/types/components/datepicker.d.ts +59 -36
- package/dist/types/components/expandingCard.d.ts +6 -6
- package/dist/types/components/funnelChart.d.ts +38 -0
- package/dist/types/components/heatmapChart.d.ts +39 -8
- package/dist/types/components/hoverCard.d.ts +58 -0
- package/dist/types/components/index.d.ts +17 -1
- package/dist/types/components/inputMask.d.ts +30 -0
- package/dist/types/components/keypad.d.ts +66 -0
- package/dist/types/components/lightbox.d.ts +17 -25
- package/dist/types/components/lineChart.d.ts +176 -10
- package/dist/types/components/loadingOverlay.d.ts +42 -0
- package/dist/types/components/mapView.d.ts +26 -17
- package/dist/types/components/menu.d.ts +61 -22
- package/dist/types/components/menubar.d.ts +37 -0
- package/dist/types/components/messageScroller.d.ts +2 -14
- package/dist/types/components/mixedChart.d.ts +15 -6
- package/dist/types/components/navigationRail.d.ts +16 -5
- package/dist/types/components/particles.d.ts +8 -4
- package/dist/types/components/pieChart.d.ts +32 -7
- package/dist/types/components/pullToRefresh.d.ts +80 -0
- package/dist/types/components/questionnaire.d.ts +58 -16
- package/dist/types/components/radarChart.d.ts +10 -6
- package/dist/types/components/radialChart.d.ts +58 -8
- package/dist/types/components/registry.d.ts +77 -3
- package/dist/types/components/richTextEditor.d.ts +6 -14
- package/dist/types/components/sankeyChart.d.ts +72 -0
- package/dist/types/components/scatterChart.d.ts +102 -0
- package/dist/types/components/scrollspy.d.ts +3 -5
- package/dist/types/components/select.d.ts +43 -30
- package/dist/types/components/showMore.d.ts +51 -0
- package/dist/types/components/slider.d.ts +5 -15
- package/dist/types/components/snackbar.d.ts +62 -0
- package/dist/types/components/swipeActions.d.ts +81 -0
- package/dist/types/components/tabs.d.ts +93 -27
- package/dist/types/components/timepicker.d.ts +114 -20
- package/dist/types/components/tooltip.d.ts +56 -20
- package/dist/types/components/treeSelect.d.ts +106 -0
- package/dist/types/components/treemapChart.d.ts +56 -0
- package/dist/types/core/component.d.ts +43 -25
- package/dist/types/core/formControl.d.ts +21 -0
- package/dist/types/core/spring.d.ts +20 -0
- package/dist/types/core/utils.d.ts +85 -72
- package/dist/types/modular.d.ts +33 -1
- package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -7
- package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
- package/package.json +10 -8
- package/src/sass/README.md +27 -18
- package/src/sass/abstracts/_breakpoints.scss +0 -1
- package/src/sass/abstracts/_elevation.scss +13 -7
- package/src/sass/abstracts/_index.scss +1 -0
- package/src/sass/abstracts/_mixins.scss +438 -92
- package/src/sass/abstracts/_spring.scss +63 -0
- package/src/sass/abstracts/_variables.scss +43 -15
- package/src/sass/base/_fonts.scss +61 -48
- package/src/sass/base/_global.scss +105 -34
- package/src/sass/base/_index.scss +3 -1
- package/src/sass/base/_normalize.scss +59 -114
- package/src/sass/base/_print.scss +21 -0
- package/src/sass/base/_prose.scss +68 -0
- package/src/sass/base/_typography.scss +9 -5
- package/src/sass/components/_accordion.scss +9 -16
- package/src/sass/components/_alert.scss +102 -0
- package/src/sass/components/_aura.scss +8 -3
- package/src/sass/components/_avatar.scss +3 -3
- package/src/sass/components/_back-to-top.scss +38 -0
- package/src/sass/components/_badges.scss +7 -13
- package/src/sass/components/_bar-chart.scss +41 -19
- package/src/sass/components/_bottom-sheet.scss +44 -16
- package/src/sass/components/_breadcrumb.scss +8 -1
- package/src/sass/components/_button-groups.scss +44 -89
- package/src/sass/components/_buttons.scss +156 -63
- package/src/sass/components/_calendar.scss +246 -0
- package/src/sass/components/_cards.scss +41 -68
- package/src/sass/components/_carousel.scss +43 -158
- package/src/sass/components/_cascader.scss +142 -0
- package/src/sass/components/_chips.scss +36 -52
- package/src/sass/components/_column-chart.scss +19 -12
- package/src/sass/components/_command-palette.scss +4 -7
- package/src/sass/components/_confetti.scss +0 -2
- package/src/sass/components/_countdown.scss +1 -1
- package/src/sass/components/_data-table.scss +162 -27
- package/src/sass/components/_datepicker.scss +57 -62
- package/src/sass/components/_description-list.scss +85 -0
- package/src/sass/components/_dialog.scss +42 -44
- package/src/sass/components/_docked-display.scss +1 -3
- package/src/sass/components/_drag-handle.scss +16 -20
- package/src/sass/components/_expanding-card.scss +20 -9
- package/src/sass/components/_fab-menu.scss +44 -32
- package/src/sass/components/_funnel-chart.scss +124 -0
- package/src/sass/components/_heatmap-chart.scss +113 -24
- package/src/sass/components/_icon-buttons.scss +7 -8
- package/src/sass/components/_icons-material-design.scss +2 -2
- package/src/sass/components/_image-compare.scss +108 -0
- package/src/sass/components/_index.scss +21 -0
- package/src/sass/components/_keypad.scss +182 -0
- package/src/sass/components/_kpi.scss +6 -11
- package/src/sass/components/_lightbox.scss +26 -20
- package/src/sass/components/_line-chart.scss +16 -2
- package/src/sass/components/_list.scss +59 -14
- package/src/sass/components/_loading-indicator.scss +1 -0
- package/src/sass/components/_loading-overlay.scss +105 -0
- package/src/sass/components/_map.scss +35 -13
- package/src/sass/components/_marquee.scss +3 -2
- package/src/sass/components/_mega-menu.scss +137 -0
- package/src/sass/components/_menu.scss +159 -182
- package/src/sass/components/_menubar.scss +59 -0
- package/src/sass/components/_message-scroller.scss +2 -2
- package/src/sass/components/_message.scss +3 -3
- package/src/sass/components/_mixed-chart.scss +37 -9
- package/src/sass/components/_modal-display.scss +21 -0
- package/src/sass/components/_navbar.scss +43 -65
- package/src/sass/components/_navigation-bar.scss +15 -77
- package/src/sass/components/_navigation-rail.scss +171 -121
- package/src/sass/components/_org-chart.scss +192 -0
- package/src/sass/components/_page-footer.scss +16 -13
- package/src/sass/components/_pagination.scss +6 -13
- package/src/sass/components/_panes.scss +33 -31
- package/src/sass/components/_particles.scss +0 -2
- package/src/sass/components/_pie-chart.scss +91 -11
- package/src/sass/components/_popover.scss +18 -5
- package/src/sass/components/_progress.scss +158 -35
- package/src/sass/components/_pull-to-refresh.scss +90 -0
- package/src/sass/components/_questionnaire.scss +74 -3
- package/src/sass/components/_radar-chart.scss +38 -10
- package/src/sass/components/_radial-chart.scss +113 -5
- package/src/sass/components/_rich-text-editor.scss +2 -2
- package/src/sass/components/_sankey-chart.scss +114 -0
- package/src/sass/components/_scatter-chart.scss +153 -0
- package/src/sass/components/_scrim.scss +0 -2
- package/src/sass/components/_scrollspy.scss +0 -2
- package/src/sass/components/_search.scss +26 -22
- package/src/sass/components/_show-more.scss +8 -0
- package/src/sass/components/_side-sheet.scss +23 -40
- package/src/sass/components/_skeleton.scss +2 -4
- package/src/sass/components/_snackbar.scss +27 -21
- package/src/sass/components/_split-button.scss +5 -5
- package/src/sass/components/_stat.scss +3 -8
- package/src/sass/components/_stepper.scss +1 -5
- package/src/sass/components/_swipe-actions.scss +71 -0
- package/src/sass/components/_tabs.scss +51 -32
- package/src/sass/components/_timeline.scss +12 -12
- package/src/sass/components/_timepicker.scss +111 -112
- package/src/sass/components/_toolbar.scss +35 -47
- package/src/sass/components/_tooltip.scss +21 -12
- package/src/sass/components/_tour.scss +89 -0
- package/src/sass/components/_transfer-list.scss +73 -0
- package/src/sass/components/_transitions.scss +4 -4
- package/src/sass/components/_tree.scss +3 -16
- package/src/sass/components/_treemap-chart.scss +122 -0
- package/src/sass/components/forms/_checkboxes.scss +140 -86
- package/src/sass/components/forms/_color-picker.scss +135 -0
- package/src/sass/components/forms/_color-swatches.scss +85 -0
- package/src/sass/components/forms/_drop-zone.scss +15 -9
- package/src/sass/components/forms/_fieldset.scss +10 -10
- package/src/sass/components/forms/_file-input.scss +6 -9
- package/src/sass/components/forms/_index.scss +3 -1
- package/src/sass/components/forms/_input-fields.scss +254 -90
- package/src/sass/components/forms/_radio-buttons.scss +40 -127
- package/src/sass/components/forms/_rating.scss +2 -32
- package/src/sass/components/forms/_select.scss +199 -23
- package/src/sass/components/forms/_slider.scss +140 -330
- package/src/sass/components/forms/_switches.scss +53 -164
- package/src/sass/custom.scss +10 -1
- package/src/sass/expressive.scss +3 -63
- package/src/sass/tokens/_contrast.scss +94 -0
- package/src/sass/tokens/_elevation.scss +16 -0
- package/src/sass/tokens/_index.scss +5 -0
- package/src/sass/tokens/_motion.scss +109 -0
- package/src/sass/tokens/_reference.scss +72 -141
- package/src/sass/tokens/_shape.scss +38 -0
- package/src/sass/tokens/_stacking.scss +27 -0
- package/src/sass/tokens/_state.scss +2 -4
- package/src/sass/tokens/_theme.scss +11 -2
- package/src/sass/tokens/_vibrant.scss +2 -5
- package/src/sass/utilities/_colors.scss +6 -1
- package/src/sass/utilities/_defer-render.scss +17 -0
- package/src/sass/utilities/_helpers.scss +183 -26
- package/src/sass/utilities/_index.scss +2 -1
- package/src/sass/utilities/_scroll-area.scss +0 -2
- package/src/sass/utilities/_spacing.scss +52 -34
- package/src/sass/utilities/_typescale.scss +8 -1
- package/src/sass/utilities/_visibility.scss +47 -76
- package/src/sass/utilities/_z-depth.scss +7 -4
- package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
- package/dist/js/chunks/chunk-3GVFZ4XO.mjs.map +0 -7
- package/dist/js/chunks/chunk-4HZMB7LI.mjs.map +0 -7
- package/dist/js/chunks/chunk-4KMNFIFZ.mjs +0 -270
- package/dist/js/chunks/chunk-4KMNFIFZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-4TKTLGEM.mjs.map +0 -7
- package/dist/js/chunks/chunk-5BKHWHYY.mjs +0 -292
- package/dist/js/chunks/chunk-5BKHWHYY.mjs.map +0 -7
- package/dist/js/chunks/chunk-5HQSGDZ5.mjs.map +0 -7
- package/dist/js/chunks/chunk-6N2XAEFK.mjs +0 -125
- package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
- package/dist/js/chunks/chunk-A7ALMYUR.mjs.map +0 -7
- package/dist/js/chunks/chunk-BG6ZRB5H.mjs.map +0 -7
- package/dist/js/chunks/chunk-CUQPB25U.mjs +0 -55
- package/dist/js/chunks/chunk-CUQPB25U.mjs.map +0 -7
- package/dist/js/chunks/chunk-DAIU5SLG.mjs.map +0 -7
- package/dist/js/chunks/chunk-FS7XY3HT.mjs.map +0 -7
- package/dist/js/chunks/chunk-GIW4K4SE.mjs.map +0 -7
- package/dist/js/chunks/chunk-GUB3TNO2.mjs.map +0 -7
- package/dist/js/chunks/chunk-GVGT6MIU.mjs.map +0 -7
- package/dist/js/chunks/chunk-GZKEFWPM.mjs +0 -181
- package/dist/js/chunks/chunk-GZKEFWPM.mjs.map +0 -7
- package/dist/js/chunks/chunk-HKT2S7VM.mjs +0 -48
- package/dist/js/chunks/chunk-HKT2S7VM.mjs.map +0 -7
- package/dist/js/chunks/chunk-ILP3PDTL.mjs +0 -187
- package/dist/js/chunks/chunk-ILP3PDTL.mjs.map +0 -7
- package/dist/js/chunks/chunk-JIDMQGK6.mjs.map +0 -7
- package/dist/js/chunks/chunk-KBNN3QDH.mjs +0 -7
- package/dist/js/chunks/chunk-KBNN3QDH.mjs.map +0 -7
- package/dist/js/chunks/chunk-KHV6DZXX.mjs.map +0 -7
- package/dist/js/chunks/chunk-KY6U46SM.mjs +0 -345
- package/dist/js/chunks/chunk-KY6U46SM.mjs.map +0 -7
- package/dist/js/chunks/chunk-LRZMJZ3T.mjs +0 -291
- package/dist/js/chunks/chunk-LRZMJZ3T.mjs.map +0 -7
- package/dist/js/chunks/chunk-LTWPGFBR.mjs +0 -59
- package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
- package/dist/js/chunks/chunk-MNPROCZF.mjs +0 -328
- package/dist/js/chunks/chunk-MNPROCZF.mjs.map +0 -7
- package/dist/js/chunks/chunk-MZ6Z24BX.mjs.map +0 -7
- package/dist/js/chunks/chunk-NS2UMNZV.mjs.map +0 -7
- package/dist/js/chunks/chunk-O5XPWXIQ.mjs +0 -406
- package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
- package/dist/js/chunks/chunk-PM655FXL.mjs.map +0 -7
- package/dist/js/chunks/chunk-QDAL4IYN.mjs.map +0 -7
- package/dist/js/chunks/chunk-QERLECVU.mjs +0 -572
- package/dist/js/chunks/chunk-QERLECVU.mjs.map +0 -7
- package/dist/js/chunks/chunk-QJABDLSD.mjs +0 -112
- package/dist/js/chunks/chunk-QJABDLSD.mjs.map +0 -7
- package/dist/js/chunks/chunk-RHRQKTTX.mjs +0 -139
- package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
- package/dist/js/chunks/chunk-S3XDFGSZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-SPETGK25.mjs +0 -59
- package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
- package/dist/js/chunks/chunk-TBM3FT7G.mjs.map +0 -7
- package/dist/js/chunks/chunk-UEXCIMJZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGZSAFTX.mjs +0 -173
- package/dist/js/chunks/chunk-VGZSAFTX.mjs.map +0 -7
- package/dist/js/chunks/chunk-X7OCHZVF.mjs +0 -76
- package/dist/js/chunks/chunk-X7OCHZVF.mjs.map +0 -7
- package/dist/js/chunks/chunk-YDCS5S3J.mjs.map +0 -7
- package/dist/js/chunks/chunk-YMSXJON6.mjs +0 -79
- package/dist/js/chunks/chunk-YMSXJON6.mjs.map +0 -7
- package/dist/js/chunks/chunk-Z2NRKI7R.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZAS25YFD.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZKZKNSLC.mjs +0 -1
- /package/dist/js/chunks/{chunk-ZKZKNSLC.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
|
@@ -84,17 +84,17 @@
|
|
|
84
84
|
text-decoration: none;
|
|
85
85
|
cursor: pointer;
|
|
86
86
|
-webkit-tap-highlight-color: transparent;
|
|
87
|
-
transition: background-color
|
|
87
|
+
transition: background-color var(--md-sys-motion-duration-short4) ease-out;
|
|
88
88
|
@include focus-visible;
|
|
89
89
|
|
|
90
90
|
&:hover {
|
|
91
|
-
background-color:
|
|
91
|
+
background-color: state-layer(var(--md-sys-color-on-surface), "hover");
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
// The pressed layer is the only feedback a touch tap gets: hover never
|
|
95
95
|
// fires there and the tap highlight is suppressed above.
|
|
96
96
|
&:active {
|
|
97
|
-
background-color:
|
|
97
|
+
background-color: state-layer(var(--md-sys-color-on-surface), "pressed");
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
// "Does this control carry a text label?" - the icon is a <span>, so a
|
|
@@ -116,21 +116,14 @@
|
|
|
116
116
|
li:has(> [aria-current="page"]) > :is(a, button) {
|
|
117
117
|
background-color: var(--md-comp-pagination-selected-color);
|
|
118
118
|
color: var(--md-comp-pagination-selected-on-color);
|
|
119
|
+
@include forced-colors-selected;
|
|
119
120
|
|
|
120
121
|
&:hover {
|
|
121
|
-
background-color: color-
|
|
122
|
-
in oklab,
|
|
123
|
-
var(--md-comp-pagination-selected-on-color) state-opacity("hover"),
|
|
124
|
-
var(--md-comp-pagination-selected-color)
|
|
125
|
-
);
|
|
122
|
+
background-color: state-layer(var(--md-comp-pagination-selected-on-color), "hover", var(--md-comp-pagination-selected-color));
|
|
126
123
|
}
|
|
127
124
|
|
|
128
125
|
&:active {
|
|
129
|
-
background-color: color-
|
|
130
|
-
in oklab,
|
|
131
|
-
var(--md-comp-pagination-selected-on-color) state-opacity("pressed"),
|
|
132
|
-
var(--md-comp-pagination-selected-color)
|
|
133
|
-
);
|
|
126
|
+
background-color: state-layer(var(--md-comp-pagination-selected-on-color), "pressed", var(--md-comp-pagination-selected-color));
|
|
134
127
|
}
|
|
135
128
|
}
|
|
136
129
|
|
|
@@ -150,6 +150,35 @@
|
|
|
150
150
|
--_pane-wide-columns: var(--md-comp-pane-list-width) 1fr var(--md-comp-pane-supporting-width);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
// Resizable panes
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
// A <button class="drag-handle"> between the two panes of a list-detail or
|
|
157
|
+
// supporting layout takes the spacer's place as its own column, and the
|
|
158
|
+
// PaneResize behavior writes the list or supporting width token as it moves.
|
|
159
|
+
// Below 840px only one pane shows, so the handle hides with the others.
|
|
160
|
+
// Equal and three-pane layouts have no width token to move, so they keep
|
|
161
|
+
// their own columns.
|
|
162
|
+
:is(.panes, .pane-layout, .list-detail, .supporting-pane-layout):not(.equal, .three-pane):has(> button.drag-handle) {
|
|
163
|
+
--_pane-expanded-columns: var(--md-comp-pane-list-width) auto minmax(0, 1fr);
|
|
164
|
+
column-gap: 0;
|
|
165
|
+
|
|
166
|
+
> button.drag-handle {
|
|
167
|
+
display: var(--_pane-display);
|
|
168
|
+
align-self: center;
|
|
169
|
+
cursor: col-resize;
|
|
170
|
+
touch-action: none;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:is(.panes.supporting, .supporting-pane-layout):has(> button.drag-handle) {
|
|
175
|
+
--_pane-expanded-columns: minmax(0, 1fr) auto var(--md-comp-pane-supporting-width);
|
|
176
|
+
|
|
177
|
+
&:is(.start, .left) {
|
|
178
|
+
--_pane-expanded-columns: var(--md-comp-pane-supporting-width) auto minmax(0, 1fr);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
153
182
|
// ---------------------------------------------------------------------------
|
|
154
183
|
// Separated / Floating Appearance
|
|
155
184
|
// ---------------------------------------------------------------------------
|
|
@@ -157,7 +186,7 @@
|
|
|
157
186
|
.panes.floating,
|
|
158
187
|
.pane-layout.separated,
|
|
159
188
|
.pane-layout.floating {
|
|
160
|
-
--md-comp-pane-container-shape:
|
|
189
|
+
--md-comp-pane-container-shape: var(--md-sys-shape-corner-large);
|
|
161
190
|
--md-comp-pane-container-color: transparent;
|
|
162
191
|
gap: var(--md-comp-pane-gap);
|
|
163
192
|
padding: var(--md-comp-pane-gap);
|
|
@@ -169,7 +198,6 @@
|
|
|
169
198
|
@include z-depth("0");
|
|
170
199
|
|
|
171
200
|
&.elevated {
|
|
172
|
-
background-color: var(--md-sys-color-surface-container-low);
|
|
173
201
|
@include z-depth("1");
|
|
174
202
|
}
|
|
175
203
|
|
|
@@ -184,7 +212,7 @@
|
|
|
184
212
|
// Coplanar / Docked Dividers (Default)
|
|
185
213
|
// ---------------------------------------------------------------------------
|
|
186
214
|
:is(.panes, .pane-layout, .list-detail, .supporting-pane-layout):not(.separated, .floating) {
|
|
187
|
-
> :is(.pane, .list-pane, .primary-pane, .detail-pane, .supporting-pane):not(:last-child) {
|
|
215
|
+
> :is(.pane, .list-pane, .primary-pane, .detail-pane, .supporting-pane):not(:last-child, :has(+ button.drag-handle)) {
|
|
188
216
|
border-inline-end: var(--_pane-divider) solid var(--md-comp-pane-divider-color);
|
|
189
217
|
}
|
|
190
218
|
}
|
|
@@ -232,33 +260,7 @@
|
|
|
232
260
|
// See _dialog: `:only-child` cannot see a text-node label, so `.button`
|
|
233
261
|
// is the opt-out for an icon action that also carries one.
|
|
234
262
|
> :is(button:not(.button, .icon-button), a.button):has(> #{$icon}:only-child) {
|
|
235
|
-
|
|
236
|
-
box-sizing: border-box;
|
|
237
|
-
width: 48px;
|
|
238
|
-
height: 48px;
|
|
239
|
-
min-width: 48px;
|
|
240
|
-
padding: 0;
|
|
241
|
-
border: none;
|
|
242
|
-
border-radius: 50%;
|
|
243
|
-
background-color: transparent;
|
|
244
|
-
color: var(--md-sys-color-on-surface-variant);
|
|
245
|
-
box-shadow: none;
|
|
246
|
-
|
|
247
|
-
> #{$icon} {
|
|
248
|
-
font-size: 24px;
|
|
249
|
-
width: 24px;
|
|
250
|
-
height: 24px;
|
|
251
|
-
line-height: 24px;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
&:hover {
|
|
255
|
-
background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
&:focus-visible {
|
|
259
|
-
outline: 3px solid var(--md-sys-color-secondary);
|
|
260
|
-
outline-offset: 2px;
|
|
261
|
-
}
|
|
263
|
+
@include header-icon-action;
|
|
262
264
|
}
|
|
263
265
|
}
|
|
264
266
|
|
|
@@ -281,7 +283,7 @@
|
|
|
281
283
|
}
|
|
282
284
|
|
|
283
285
|
// Footer / Action Bar
|
|
284
|
-
> footer:not(:has(>
|
|
286
|
+
> footer:not(:has(> .navigation-bar:only-child)),
|
|
285
287
|
> :is(footer, .pane-footer, nav:last-child) {
|
|
286
288
|
display: flex;
|
|
287
289
|
flex-wrap: wrap;
|
|
@@ -12,39 +12,50 @@
|
|
|
12
12
|
// --turn PieChart sets, a fraction of a turn clockwise from the top.
|
|
13
13
|
//
|
|
14
14
|
// Modifiers: .donut cuts a hole and shows a <tfoot> total in it, .values
|
|
15
|
-
// writes each slice's share on it, .
|
|
16
|
-
//
|
|
15
|
+
// writes each slice's share on it, .labels writes each slice's name
|
|
16
|
+
// outside it with a leader line, .sparkline is a small pie with no
|
|
17
|
+
// legend, tooltip or names.
|
|
17
18
|
//
|
|
18
19
|
// Tokens:
|
|
19
20
|
// --md-comp-pie-chart-height 240px, the pie's diameter (sparkline 48px)
|
|
20
21
|
// --md-comp-pie-chart-hole 0.6, the donut hole's share of the diameter
|
|
22
|
+
// --md-comp-pie-chart-label-width 96px, the room each side of the pie for
|
|
23
|
+
// .labels, at most a quarter of the figure
|
|
21
24
|
// --md-comp-pie-chart-gap 1.5, the gap between slices in hundredths
|
|
22
25
|
// of the plot's width
|
|
23
26
|
// --md-comp-pie-chart-color-1..6 primary, tertiary, secondary,
|
|
24
|
-
// on-surface-variant, primary-
|
|
25
|
-
// tertiary-container
|
|
27
|
+
// on-surface-variant, then primary- and
|
|
28
|
+
// tertiary-container deepened toward
|
|
29
|
+
// on-surface
|
|
26
30
|
// --md-comp-pie-chart-on-color-1..6 on-primary, on-tertiary, on-secondary,
|
|
27
|
-
// surface,
|
|
28
|
-
// on-tertiary-container; .values text
|
|
31
|
+
// surface, surface, surface; .values text
|
|
29
32
|
|
|
30
33
|
@include chart("pie-chart");
|
|
31
34
|
|
|
32
35
|
.pie-chart {
|
|
33
36
|
--md-comp-pie-chart-hole: 0.6;
|
|
34
37
|
--md-comp-pie-chart-gap: 1.5;
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
// The container roles alone are 1.3:1 on the surface in light mode and
|
|
39
|
+
// 2:1 in dark. Mixed 45% with on-surface, they keep their hue and reach
|
|
40
|
+
// 5:1 and 6.8:1, past the 3:1 a slice needs (WCAG 1.4.11), and surface
|
|
41
|
+
// text on them passes too.
|
|
42
|
+
--md-comp-pie-chart-color-5: color-mix(in oklab, var(--md-sys-color-primary-container) 45%, var(--md-sys-color-on-surface));
|
|
43
|
+
--md-comp-pie-chart-color-6: color-mix(in oklab, var(--md-sys-color-tertiary-container) 45%, var(--md-sys-color-on-surface));
|
|
37
44
|
--md-comp-pie-chart-on-color-1: var(--md-sys-color-on-primary);
|
|
38
45
|
--md-comp-pie-chart-on-color-2: var(--md-sys-color-on-tertiary);
|
|
39
46
|
--md-comp-pie-chart-on-color-3: var(--md-sys-color-on-secondary);
|
|
40
47
|
--md-comp-pie-chart-on-color-4: var(--md-sys-color-surface);
|
|
41
|
-
--md-comp-pie-chart-on-color-5: var(--md-sys-color-
|
|
42
|
-
--md-comp-pie-chart-on-color-6: var(--md-sys-color-
|
|
48
|
+
--md-comp-pie-chart-on-color-5: var(--md-sys-color-surface);
|
|
49
|
+
--md-comp-pie-chart-on-color-6: var(--md-sys-color-surface);
|
|
43
50
|
// Where labels and the tooltip sit, as a share of the radius.
|
|
44
51
|
--pie-chart-label-at: 0.62;
|
|
45
52
|
|
|
46
53
|
gap: 16px;
|
|
47
54
|
|
|
55
|
+
&.labels {
|
|
56
|
+
--md-comp-pie-chart-label-width: #{rem(96px)};
|
|
57
|
+
}
|
|
58
|
+
|
|
48
59
|
&.donut {
|
|
49
60
|
// The middle of the ring.
|
|
50
61
|
--pie-chart-label-at: calc((1 + var(--md-comp-pie-chart-hole)) / 2);
|
|
@@ -101,7 +112,7 @@
|
|
|
101
112
|
}
|
|
102
113
|
|
|
103
114
|
@media (prefers-reduced-motion: no-preference) {
|
|
104
|
-
transition: transform
|
|
115
|
+
transition: transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard), opacity var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-standard);
|
|
105
116
|
|
|
106
117
|
@starting-style {
|
|
107
118
|
opacity: 0;
|
|
@@ -127,6 +138,75 @@
|
|
|
127
138
|
white-space: nowrap;
|
|
128
139
|
}
|
|
129
140
|
|
|
141
|
+
.pie-chart.labels:not(.sparkline) .pie-chart-plot {
|
|
142
|
+
// A narrow figure keeps at least half its width for the pie.
|
|
143
|
+
width: min(100% - 2 * min(var(--md-comp-pie-chart-label-width), 25%), var(--md-comp-pie-chart-height));
|
|
144
|
+
margin-block: 24px;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// One unit of the names' places is 1cqw, a hundredth of the pie, so the
|
|
148
|
+
// leader lines can measure from it as well as the names.
|
|
149
|
+
.pie-chart.labels .pie-chart-pie {
|
|
150
|
+
container-type: size;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// PieChart sets each name's --pie-chart-name-top, pushed apart from its
|
|
154
|
+
// neighbours.
|
|
155
|
+
.pie-chart-names > span {
|
|
156
|
+
// The middle of the name's near edge, 8px past the grown active slice.
|
|
157
|
+
--pie-chart-name-at: calc(50cqw + 8px);
|
|
158
|
+
--pie-chart-name-step: 1.25lh;
|
|
159
|
+
--pie-chart-angle: calc(var(--turn, 0) * 1turn);
|
|
160
|
+
// 1 for a name running rightwards, -1 for one running leftwards.
|
|
161
|
+
--pie-chart-side: 1;
|
|
162
|
+
|
|
163
|
+
position: absolute;
|
|
164
|
+
left: calc(50cqw + sin(var(--pie-chart-angle)) * var(--pie-chart-name-at));
|
|
165
|
+
top: var(--pie-chart-name-top, 50cqw);
|
|
166
|
+
translate: 0 -50%;
|
|
167
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
168
|
+
@include typescale("label-medium");
|
|
169
|
+
white-space: nowrap;
|
|
170
|
+
|
|
171
|
+
&.end {
|
|
172
|
+
--pie-chart-side: -1;
|
|
173
|
+
|
|
174
|
+
translate: -100% -50%;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// No wider than the room beside the pie, which is at least half the pie's
|
|
178
|
+
// width when the plot rule above caps it at a quarter of the figure.
|
|
179
|
+
> span {
|
|
180
|
+
display: block;
|
|
181
|
+
max-width: calc(min(var(--md-comp-pie-chart-label-width), 50cqw) - 8px);
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
text-overflow: ellipsis;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// The leader line runs from 4px before the name to the slice's edge on its
|
|
187
|
+
// middle, so a name pushed up or down still points at its slice. The drop
|
|
188
|
+
// is how far the name sits below that edge; it adds the top because
|
|
189
|
+
// Chromium gets x - max(…) wrong when max() has one argument.
|
|
190
|
+
&::before {
|
|
191
|
+
--pie-chart-dx: calc(sin(var(--pie-chart-angle)) * (46cqw - var(--pie-chart-name-at)) + var(--pie-chart-side) * 4px);
|
|
192
|
+
--pie-chart-drop: calc(var(--pie-chart-name-top, 50cqw) + cos(var(--pie-chart-angle)) * 46cqw - 50cqw);
|
|
193
|
+
|
|
194
|
+
content: "";
|
|
195
|
+
position: absolute;
|
|
196
|
+
top: calc(50% - 0.5px);
|
|
197
|
+
left: -4px;
|
|
198
|
+
width: hypot(var(--pie-chart-dx), var(--pie-chart-drop));
|
|
199
|
+
height: 1px;
|
|
200
|
+
transform-origin: 0 50%;
|
|
201
|
+
rotate: calc(-1 * atan2(var(--pie-chart-drop), var(--pie-chart-dx)));
|
|
202
|
+
background: var(--md-sys-color-outline-variant);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
&.end::before {
|
|
206
|
+
left: calc(100% + 4px);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
130
210
|
.pie-chart-tooltip {
|
|
131
211
|
translate: 12px -50%;
|
|
132
212
|
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
// press, stays open while the user reads or acts, and can hold links and
|
|
11
11
|
// buttons. A small one behind an info button is a toggletip.
|
|
12
12
|
//
|
|
13
|
-
// Placement (the panel flips to the other side when it would not fit
|
|
13
|
+
// Placement (the panel flips to the other side when it would not fit, and
|
|
14
|
+
// is centered in the viewport where anchor positioning is missing):
|
|
14
15
|
// (default) below, start edges aligned
|
|
15
16
|
// .top above, start edges aligned
|
|
16
17
|
// .start before the button, centered on it
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
|
|
26
27
|
.popover {
|
|
27
28
|
--md-comp-popover-container-color: var(--md-sys-color-surface-container);
|
|
28
|
-
--md-comp-popover-shape:
|
|
29
|
+
--md-comp-popover-shape: var(--md-sys-shape-corner-medium);
|
|
29
30
|
--md-comp-popover-padding: 12px 16px;
|
|
30
31
|
--md-comp-popover-max-width: 320px;
|
|
31
32
|
--md-comp-popover-gap: 4px;
|
|
@@ -49,9 +50,9 @@
|
|
|
49
50
|
|
|
50
51
|
opacity: 0;
|
|
51
52
|
transition:
|
|
52
|
-
opacity
|
|
53
|
-
display
|
|
54
|
-
overlay
|
|
53
|
+
opacity var(--md-sys-motion-duration-short3) ease-out,
|
|
54
|
+
display var(--md-sys-motion-duration-short3) allow-discrete,
|
|
55
|
+
overlay var(--md-sys-motion-duration-short3) allow-discrete;
|
|
55
56
|
@include glass(var(--md-comp-popover-container-color));
|
|
56
57
|
|
|
57
58
|
&:popover-open {
|
|
@@ -110,3 +111,15 @@
|
|
|
110
111
|
border: 1px solid CanvasText;
|
|
111
112
|
}
|
|
112
113
|
}
|
|
114
|
+
|
|
115
|
+
// Without anchor positioning the browser ignores position-area, and the
|
|
116
|
+
// panel would sit in the viewport's top-left corner, far from its button.
|
|
117
|
+
// Centered instead, as a native popover is, it stays in view. :is() matches
|
|
118
|
+
// .start and .end too, which set their own margin.
|
|
119
|
+
@supports not (anchor-name: --a) {
|
|
120
|
+
.popover:is(*, .start, .end) {
|
|
121
|
+
inset: 0;
|
|
122
|
+
height: fit-content;
|
|
123
|
+
margin: auto;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -1,31 +1,39 @@
|
|
|
1
|
+
@use "sass:math";
|
|
1
2
|
@use "../abstracts" as *;
|
|
2
3
|
|
|
3
4
|
// Progress. Anatomy is the HTML:
|
|
4
5
|
// <progress class="progress" value="70" max="100"> determinate bar
|
|
5
6
|
// <progress class="progress"> indeterminate bar
|
|
6
|
-
// <span class="
|
|
7
|
+
// <span class="progress circular" role="status"> circular spinner
|
|
7
8
|
//
|
|
8
9
|
// Linear aliases: .progress > .determinate / .indeterminate, and
|
|
9
10
|
// --md-comp-progress-value on a bare div.progress.
|
|
10
11
|
//
|
|
12
|
+
// Linear modifiers, from M3 Expressive: .stop puts a dot in the indicator
|
|
13
|
+
// colour at the track's end, so the end still reads where the track's own
|
|
14
|
+
// contrast falls short; .wavy draws the indicator as a wave over a thin
|
|
15
|
+
// track. A circular indicator takes .wavy too.
|
|
16
|
+
//
|
|
11
17
|
// Tokens:
|
|
12
18
|
// --md-comp-progress-track
|
|
13
19
|
// --md-comp-progress-indicator
|
|
14
20
|
// --md-comp-progress-thickness 4px
|
|
15
21
|
// --md-comp-progress-shape 4px
|
|
16
22
|
// --md-comp-progress-value determinate fill (optional)
|
|
23
|
+
// --md-comp-progress-stop-size 4px, the .stop dot
|
|
24
|
+
// --md-comp-progress-wavelength 40px, the .wavy indicator's wavelength
|
|
17
25
|
// --md-comp-progress-circular-size 48px
|
|
18
26
|
// --md-comp-progress-circular-thickness 4px
|
|
19
27
|
|
|
20
28
|
// M3 names this component "Progress indicators", linear and circular. The
|
|
21
|
-
// class is `.progress
|
|
22
|
-
|
|
23
|
-
.progress,
|
|
24
|
-
.preloader {
|
|
29
|
+
// class is `.progress`, and `.progress.circular` is the circular one.
|
|
30
|
+
.progress {
|
|
25
31
|
--md-comp-progress-track: var(--md-sys-color-secondary-container);
|
|
26
32
|
--md-comp-progress-indicator: var(--md-sys-color-primary);
|
|
27
33
|
--md-comp-progress-thickness: 4px;
|
|
28
|
-
--md-comp-progress-shape:
|
|
34
|
+
--md-comp-progress-shape: var(--md-sys-shape-corner-extra-small);
|
|
35
|
+
--md-comp-progress-stop-size: 4px;
|
|
36
|
+
--md-comp-progress-wavelength: 40px;
|
|
29
37
|
--md-comp-progress-circular-size: 48px;
|
|
30
38
|
--md-comp-progress-circular-thickness: 4px;
|
|
31
39
|
}
|
|
@@ -44,9 +52,10 @@
|
|
|
44
52
|
overflow: hidden;
|
|
45
53
|
border: 0;
|
|
46
54
|
border-radius: var(--md-comp-progress-shape);
|
|
47
|
-
|
|
55
|
+
// The track, under the .stop dot when there is one. .wavy narrows the track
|
|
56
|
+
// to a stripe; the layers are custom properties so the two combine.
|
|
57
|
+
background: var(--_progress-stop, none), var(--_progress-track, var(--md-comp-progress-track));
|
|
48
58
|
appearance: none;
|
|
49
|
-
-webkit-appearance: none;
|
|
50
59
|
}
|
|
51
60
|
|
|
52
61
|
.progress:not(.circular) {
|
|
@@ -57,7 +66,7 @@ progress.progress {
|
|
|
57
66
|
vertical-align: baseline;
|
|
58
67
|
|
|
59
68
|
&::-webkit-progress-bar {
|
|
60
|
-
background
|
|
69
|
+
background: var(--_progress-stop, none), var(--_progress-track, var(--md-comp-progress-track));
|
|
61
70
|
border-radius: var(--md-comp-progress-shape);
|
|
62
71
|
}
|
|
63
72
|
|
|
@@ -84,6 +93,47 @@ progress.progress {
|
|
|
84
93
|
}
|
|
85
94
|
}
|
|
86
95
|
|
|
96
|
+
// The end stop, at the inline end of the track.
|
|
97
|
+
.progress.stop:not(.circular) {
|
|
98
|
+
--_progress-stop-at: calc(100% - var(--md-comp-progress-thickness) / 2);
|
|
99
|
+
--_progress-stop: radial-gradient(
|
|
100
|
+
circle at var(--_progress-stop-at) 50%,
|
|
101
|
+
var(--md-comp-progress-indicator) calc(var(--md-comp-progress-stop-size) / 2),
|
|
102
|
+
transparent calc(var(--md-comp-progress-stop-size) / 2 + 0.5px)
|
|
103
|
+
) no-repeat;
|
|
104
|
+
|
|
105
|
+
&:dir(rtl) {
|
|
106
|
+
--_progress-stop-at: calc(var(--md-comp-progress-thickness) / 2);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// The wavy indicator: a 4px wave, 3px either side of the track's middle,
|
|
111
|
+
// drawn by masking the indicator with one wavelength repeated along it.
|
|
112
|
+
$_wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='14'%3E%3Cpath d='M0 7C6.67 3 13.33 3 20 7S33.33 11 40 7' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
113
|
+
|
|
114
|
+
.progress.wavy:not(.circular) {
|
|
115
|
+
--_progress-track: linear-gradient(var(--md-comp-progress-track) 0 0) center / 100% var(--md-comp-progress-thickness) no-repeat;
|
|
116
|
+
--_progress-wave: #{$_wave} repeat-x 0 50% / var(--md-comp-progress-wavelength) 14px;
|
|
117
|
+
|
|
118
|
+
height: 14px;
|
|
119
|
+
border-radius: 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.progress.wavy:not(.circular) > .determinate,
|
|
123
|
+
.progress.wavy:not(.circular) > .indeterminate::before,
|
|
124
|
+
.progress.wavy:not(.circular) > .indeterminate::after,
|
|
125
|
+
progress.progress.wavy::-webkit-progress-value,
|
|
126
|
+
progress.progress.wavy:indeterminate::before,
|
|
127
|
+
progress.progress.wavy:indeterminate::after {
|
|
128
|
+
mask: var(--_progress-wave);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Firefox's own pseudo-element, kept out of the list above: Chromium drops a
|
|
132
|
+
// list naming a pseudo-element it does not know.
|
|
133
|
+
progress.progress.wavy::-moz-progress-bar {
|
|
134
|
+
mask: var(--_progress-wave);
|
|
135
|
+
}
|
|
136
|
+
|
|
87
137
|
@keyframes progress-indeterminate-moz {
|
|
88
138
|
from { margin-inline-start: -40%; margin-inline-end: 100%; }
|
|
89
139
|
to { margin-inline-start: 100%; margin-inline-end: -40%; }
|
|
@@ -95,14 +145,16 @@ progress.progress {
|
|
|
95
145
|
inset-inline: 0 auto;
|
|
96
146
|
width: var(--md-comp-progress-value, 0%);
|
|
97
147
|
background-color: var(--md-comp-progress-indicator);
|
|
98
|
-
transition: width
|
|
148
|
+
transition: width var(--md-sys-motion-duration-medium2) linear;
|
|
99
149
|
}
|
|
100
150
|
|
|
101
151
|
// Bare div.progress with a value token, no child. :not(.circular) because a
|
|
102
152
|
// `<span class="progress circular">` is not a <progress>, has no determinate
|
|
103
153
|
// child, and so matched this too - drawing a linear fill on top of the conic
|
|
104
154
|
// circular indicator.
|
|
105
|
-
.progress:not(:is(progress)):not(.circular):not(:has(> .determinate, > .indeterminate))
|
|
155
|
+
$_bare: ".progress:not(:is(progress)):not(.circular):not(:has(> .determinate, > .indeterminate))";
|
|
156
|
+
|
|
157
|
+
#{$_bare} {
|
|
106
158
|
&::after {
|
|
107
159
|
content: "";
|
|
108
160
|
position: absolute;
|
|
@@ -110,7 +162,7 @@ progress.progress {
|
|
|
110
162
|
inset-inline: 0 auto;
|
|
111
163
|
width: var(--md-comp-progress-value, 0%);
|
|
112
164
|
background-color: var(--md-comp-progress-indicator);
|
|
113
|
-
transition: width
|
|
165
|
+
transition: width var(--md-sys-motion-duration-medium2) linear;
|
|
114
166
|
}
|
|
115
167
|
|
|
116
168
|
&:not([style*="--md-comp-progress-value"])::after {
|
|
@@ -119,6 +171,10 @@ progress.progress {
|
|
|
119
171
|
}
|
|
120
172
|
}
|
|
121
173
|
|
|
174
|
+
#{$_bare}.wavy::after {
|
|
175
|
+
mask: var(--_progress-wave);
|
|
176
|
+
}
|
|
177
|
+
|
|
122
178
|
.progress > .indeterminate {
|
|
123
179
|
background-color: transparent;
|
|
124
180
|
}
|
|
@@ -160,9 +216,8 @@ progress.progress:indeterminate {
|
|
|
160
216
|
// Circular — one element
|
|
161
217
|
// ---------------------------------------------------------------------------
|
|
162
218
|
|
|
163
|
-
// The circular indicator.
|
|
164
|
-
|
|
165
|
-
:is(.preloader, .progress.circular) {
|
|
219
|
+
// The circular indicator.
|
|
220
|
+
.progress.circular {
|
|
166
221
|
box-sizing: border-box;
|
|
167
222
|
display: inline-block;
|
|
168
223
|
width: var(--md-comp-progress-circular-size);
|
|
@@ -178,11 +233,6 @@ progress.progress:indeterminate {
|
|
|
178
233
|
transparent calc(100% - var(--md-comp-progress-circular-thickness)),
|
|
179
234
|
#000 0
|
|
180
235
|
);
|
|
181
|
-
-webkit-mask: radial-gradient(
|
|
182
|
-
farthest-side,
|
|
183
|
-
transparent calc(100% - var(--md-comp-progress-circular-thickness)),
|
|
184
|
-
#000 0
|
|
185
|
-
);
|
|
186
236
|
animation: preloader-rotate 1.4s linear infinite;
|
|
187
237
|
vertical-align: middle;
|
|
188
238
|
|
|
@@ -200,13 +250,66 @@ progress.progress:indeterminate {
|
|
|
200
250
|
}
|
|
201
251
|
}
|
|
202
252
|
|
|
253
|
+
// Wavy circular: the indicator is a wave round the ring, 10 waves of 1.5
|
|
254
|
+
// units in a 48-unit box, over a thin plain track. The element draws
|
|
255
|
+
// nothing itself; ::before is the indicator and ::after the determinate
|
|
256
|
+
// track, each masked to its own ring.
|
|
257
|
+
@function _wave-ring($waves: 10, $amplitude: 1.5, $radius: 20, $steps: 80) {
|
|
258
|
+
$path: "";
|
|
259
|
+
@for $i from 0 through $steps {
|
|
260
|
+
$angle: math.div($i, $steps) * 2 * math.$pi;
|
|
261
|
+
$r: $radius + $amplitude * math.sin($waves * $angle);
|
|
262
|
+
$x: math.div(math.round((24 + $r * math.cos($angle)) * 10), 10);
|
|
263
|
+
$y: math.div(math.round((24 + $r * math.sin($angle)) * 10), 10);
|
|
264
|
+
$command: "L";
|
|
265
|
+
@if $i == 0 {
|
|
266
|
+
$command: "M";
|
|
267
|
+
}
|
|
268
|
+
$path: "#{$path}#{$command}#{$x} #{$y}";
|
|
269
|
+
}
|
|
270
|
+
@return url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='#{$path}Z' fill='none' stroke='%23000' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.progress.circular.wavy {
|
|
274
|
+
position: relative;
|
|
275
|
+
// The pseudo-elements carry their own masks; a rounded clip as well
|
|
276
|
+
// leaves a hairline at the edge in WebKit.
|
|
277
|
+
overflow: visible;
|
|
278
|
+
background: none;
|
|
279
|
+
mask: none;
|
|
280
|
+
|
|
281
|
+
&::before,
|
|
282
|
+
&::after {
|
|
283
|
+
content: "";
|
|
284
|
+
position: absolute;
|
|
285
|
+
inset: 0;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
&::before {
|
|
289
|
+
background: conic-gradient(var(--md-comp-progress-indicator) 0 90deg, transparent 0);
|
|
290
|
+
mask: _wave-ring() center / 100% 100% no-repeat;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
&.determinate::before {
|
|
294
|
+
background: conic-gradient(var(--md-comp-progress-indicator) 0 var(--md-comp-progress-value, 0%), transparent 0);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// The track: a 2-unit ring through the middle of the wave, after the fill.
|
|
298
|
+
&.determinate::after {
|
|
299
|
+
background: conic-gradient(
|
|
300
|
+
transparent 0 var(--md-comp-progress-value, 0%),
|
|
301
|
+
color-mix(in oklab, var(--md-comp-progress-indicator) 20%, transparent) 0
|
|
302
|
+
);
|
|
303
|
+
mask: radial-gradient(farthest-side, transparent 79%, #000 79.5% 87%, transparent 87.5% 100%);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
203
307
|
@keyframes preloader-rotate {
|
|
204
308
|
to { transform: rotate(1turn); }
|
|
205
309
|
}
|
|
206
310
|
|
|
207
311
|
@media (forced-colors: active) {
|
|
208
|
-
.progress
|
|
209
|
-
.preloader {
|
|
312
|
+
.progress {
|
|
210
313
|
forced-color-adjust: none;
|
|
211
314
|
}
|
|
212
315
|
|
|
@@ -219,7 +322,7 @@ progress.progress:indeterminate {
|
|
|
219
322
|
.progress > .determinate,
|
|
220
323
|
.progress > .indeterminate::before,
|
|
221
324
|
.progress > .indeterminate::after,
|
|
222
|
-
|
|
325
|
+
#{$_bare}::after,
|
|
223
326
|
progress.progress:indeterminate::before,
|
|
224
327
|
progress.progress:indeterminate::after {
|
|
225
328
|
background-color: CanvasText;
|
|
@@ -235,16 +338,40 @@ progress.progress:indeterminate {
|
|
|
235
338
|
animation: none;
|
|
236
339
|
}
|
|
237
340
|
|
|
238
|
-
|
|
341
|
+
.progress.circular.wavy::before {
|
|
342
|
+
background: conic-gradient(CanvasText 0 90deg, transparent 0);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.progress.circular.wavy.determinate::before {
|
|
346
|
+
background: conic-gradient(CanvasText 0 var(--md-comp-progress-value, 0%), transparent 0);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.progress.circular.wavy.determinate::after {
|
|
350
|
+
background: conic-gradient(transparent 0 var(--md-comp-progress-value, 0%), GrayText 0);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.progress.circular {
|
|
239
354
|
background: conic-gradient(CanvasText 0 90deg, transparent 90deg 360deg);
|
|
240
355
|
|
|
356
|
+
// The value fills the ring and the track is a 2px line through its
|
|
357
|
+
// middle, so the two differ in shape and not only in GrayText against
|
|
358
|
+
// CanvasText, which a theme can set close together.
|
|
241
359
|
&.determinate {
|
|
242
|
-
background:
|
|
243
|
-
CanvasText 0 var(--md-comp-progress-value, 0%),
|
|
244
|
-
|
|
245
|
-
|
|
360
|
+
background:
|
|
361
|
+
conic-gradient(CanvasText 0 var(--md-comp-progress-value, 0%), transparent 0),
|
|
362
|
+
radial-gradient(
|
|
363
|
+
farthest-side,
|
|
364
|
+
transparent calc(100% - var(--md-comp-progress-circular-thickness) / 2 - 1px),
|
|
365
|
+
GrayText 0 calc(100% - var(--md-comp-progress-circular-thickness) / 2 + 1px),
|
|
366
|
+
transparent 0
|
|
367
|
+
);
|
|
246
368
|
}
|
|
247
369
|
}
|
|
370
|
+
|
|
371
|
+
// A wavy ring draws on its pseudo-elements, so the element stays empty here too.
|
|
372
|
+
.progress.circular.wavy {
|
|
373
|
+
background: none;
|
|
374
|
+
}
|
|
248
375
|
}
|
|
249
376
|
|
|
250
377
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -253,8 +380,8 @@ progress.progress:indeterminate {
|
|
|
253
380
|
.progress::after,
|
|
254
381
|
progress.progress:indeterminate::before,
|
|
255
382
|
progress.progress:indeterminate::after,
|
|
256
|
-
|
|
257
|
-
|
|
383
|
+
#{$_bare}:not([style*="--md-comp-progress-value"])::after,
|
|
384
|
+
.progress.circular {
|
|
258
385
|
animation: none;
|
|
259
386
|
}
|
|
260
387
|
|
|
@@ -262,14 +389,10 @@ progress.progress:indeterminate {
|
|
|
262
389
|
.progress > .indeterminate::after,
|
|
263
390
|
progress.progress:indeterminate::before,
|
|
264
391
|
progress.progress:indeterminate::after,
|
|
265
|
-
|
|
392
|
+
#{$_bare}:not([style*="--md-comp-progress-value"])::after {
|
|
266
393
|
width: 40%;
|
|
267
394
|
}
|
|
268
395
|
|
|
269
|
-
.preloader {
|
|
270
|
-
transform: none;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
396
|
progress.progress:indeterminate::-moz-progress-bar {
|
|
274
397
|
animation: none;
|
|
275
398
|
}
|