@expressivecss/expressive 0.15.0 → 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 +1502 -1
- package/README.md +9 -8
- package/dist/css/expressive.css +19247 -11923
- 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-KVJAVDBC.mjs → chunk-4QUCNFSD.mjs} +64 -113
- package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-4TRZ2AER.mjs} +35 -41
- package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
- package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-5KIHWJI2.mjs} +40 -26
- package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
- package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-67ZPPKXS.mjs} +20 -33
- package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-6FSEUFVW.mjs} +39 -26
- 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-CK2XCICY.mjs → chunk-75E5EDJF.mjs} +3 -11
- package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-7NLUI3RR.mjs} +139 -66
- 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-LQWUDNHZ.mjs → chunk-ANKFWNWT.mjs} +21 -45
- package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
- package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-B7DQFHA5.mjs} +30 -47
- 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-VGNYF6FB.mjs → chunk-BPF3I2MN.mjs} +109 -24
- 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-NUHMOAOY.mjs → chunk-CSYWKEK3.mjs} +310 -196
- 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-74MXKKLN.mjs → chunk-EC26RU2D.mjs} +11 -29
- package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
- package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-EVCVFEV3.mjs} +235 -146
- 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-PDG64UHF.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-BGZLF6JZ.mjs → chunk-KZPSAXIU.mjs} +142 -32
- 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-DXGRXYYL.mjs → chunk-OP43LLIC.mjs} +28 -45
- 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-TSZYSW7F.mjs → chunk-OYNUDOHR.mjs} +19 -47
- package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UAZSDUVP.mjs → chunk-P6DRQ6KS.mjs} +36 -30
- 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-GJL6GCIU.mjs → chunk-QXKWVHBD.mjs} +265 -161
- package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-X4ISMKE2.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-SMY7GJSS.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-ZX6M7SWO.mjs → chunk-VGY4M57S.mjs} +266 -120
- 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-SFI2U4YW.mjs → chunk-VMY55K2X.mjs} +76 -109
- package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KUFHW3DS.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-FM5CZOUB.mjs → chunk-ZJNLAGY5.mjs} +19 -30
- 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 +10613 -4327
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +10613 -4327
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +23 -22
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +182 -71
- 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 +131 -66
- 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 +3 -3
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/lineChart.mjs +25 -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 -41
- 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 +173 -71
- 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 +91 -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 +56 -32
- package/dist/types/components/expandingCard.d.ts +4 -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 +16 -1
- package/dist/types/components/inputMask.d.ts +30 -0
- package/dist/types/components/keypad.d.ts +38 -6
- package/dist/types/components/lightbox.d.ts +14 -20
- package/dist/types/components/lineChart.d.ts +172 -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 +60 -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 -7
- package/dist/types/components/registry.d.ts +73 -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 +3 -15
- package/dist/types/components/snackbar.d.ts +61 -0
- package/dist/types/components/swipeActions.d.ts +81 -0
- package/dist/types/components/tabs.d.ts +89 -27
- package/dist/types/components/timepicker.d.ts +113 -21
- 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 -8
- 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/_elevation.scss +13 -7
- package/src/sass/abstracts/_index.scss +1 -0
- package/src/sass/abstracts/_mixins.scss +422 -36
- package/src/sass/abstracts/_spring.scss +63 -0
- package/src/sass/abstracts/_variables.scss +39 -21
- package/src/sass/base/_fonts.scss +61 -48
- package/src/sass/base/_global.scss +104 -24
- package/src/sass/base/_index.scss +2 -0
- 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 +6 -5
- 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 +15 -25
- package/src/sass/components/_buttons.scss +156 -63
- package/src/sass/components/_calendar.scss +246 -0
- package/src/sass/components/_cards.scss +36 -44
- package/src/sass/components/_carousel.scss +27 -103
- package/src/sass/components/_cascader.scss +142 -0
- package/src/sass/components/_chips.scss +36 -46
- 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 -25
- package/src/sass/components/_datepicker.scss +54 -40
- package/src/sass/components/_description-list.scss +85 -0
- package/src/sass/components/_dialog.scss +42 -41
- 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 +111 -22
- package/src/sass/components/_icon-buttons.scss +7 -7
- 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 +20 -0
- package/src/sass/components/_keypad.scss +39 -19
- package/src/sass/components/_kpi.scss +6 -11
- package/src/sass/components/_lightbox.scss +24 -13
- 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 +33 -11
- package/src/sass/components/_marquee.scss +3 -2
- package/src/sass/components/_mega-menu.scss +137 -0
- package/src/sass/components/_menu.scss +143 -123
- 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 +34 -20
- package/src/sass/components/_navigation-bar.scss +15 -77
- package/src/sass/components/_navigation-rail.scss +151 -92
- package/src/sass/components/_org-chart.scss +192 -0
- package/src/sass/components/_page-footer.scss +1 -1
- package/src/sass/components/_pagination.scss +6 -13
- package/src/sass/components/_panes.scss +32 -26
- 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 +152 -31
- 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 -37
- 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 -1
- 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 +109 -78
- package/src/sass/components/_toolbar.scss +35 -43
- 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 +106 -24
- 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 +7 -7
- package/src/sass/components/forms/_file-input.scss +6 -8
- 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 +33 -94
- package/src/sass/components/forms/_rating.scss +2 -32
- package/src/sass/components/forms/_select.scss +199 -20
- package/src/sass/components/forms/_slider.scss +91 -94
- 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 +0 -2
- package/src/sass/tokens/_theme.scss +10 -1
- package/src/sass/tokens/_vibrant.scss +2 -5
- package/src/sass/utilities/_defer-render.scss +17 -0
- package/src/sass/utilities/_helpers.scss +183 -26
- package/src/sass/utilities/_index.scss +1 -0
- 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-33QVDDGR.mjs +0 -270
- package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
- package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
- package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
- package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
- package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
- package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
- package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
- package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
- package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
- package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
- package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
- package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
- package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
- package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
- package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
- package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
- package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
- package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
- package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
- package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
- package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
- package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
- package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
- package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
- package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
- package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
- package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
- package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
- package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
- package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
- package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
- package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
- package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
- package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
- package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
- package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
- package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
- package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
- package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
- package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
- package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
- package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
- package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
- package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
- package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
- package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
- package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
- package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
- package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
- package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
- package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
- package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
- package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
- package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
- package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
- package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
- package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
- package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
- package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
- package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
- package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
- package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
- /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
// Sliders.
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. An <input type="range"> is the control. A wrapping
|
|
6
|
-
// .slider is the host
|
|
7
|
-
// The plugin is Expressive.Slider
|
|
6
|
+
// .slider is the host, or a <label> wrapping the input.
|
|
7
|
+
// The plugin is Expressive.Slider.
|
|
8
8
|
//
|
|
9
9
|
// Variants (M3 Expressive):
|
|
10
10
|
// standard default. Active from the start to the handle.
|
|
11
11
|
// .centered active grows from the midpoint to the handle.
|
|
12
|
-
// dual two inputs in one .
|
|
12
|
+
// dual two inputs in one .slider; active is between the handles.
|
|
13
13
|
//
|
|
14
14
|
// Orientation: horizontal (default) or .vertical.
|
|
15
15
|
// Size on the host: default XS, .s / .small, .m / .medium, .l / .large, .xl.
|
|
16
|
-
// Optional: a leading
|
|
16
|
+
// Optional: a leading icon (inset), .stops (discrete ticks), value
|
|
17
17
|
// label (JS .thumb).
|
|
18
18
|
//
|
|
19
19
|
// Tokens follow https://m3.material.io/components/sliders/specs
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
// M3 calls this component "Slider", so `.slider` is the name. It was the image
|
|
33
33
|
// slideshow's host before 0.8.0. The slideshow is gone in 0.8.0, so the class
|
|
34
34
|
// belongs to this component and nothing else.
|
|
35
|
-
$_host: ".slider,
|
|
35
|
+
$_host: ".slider, label:has(> [type='range'])";
|
|
36
36
|
|
|
37
37
|
:is(#{$_host}),
|
|
38
38
|
input[type="range"] {
|
|
@@ -43,7 +43,7 @@ input[type="range"] {
|
|
|
43
43
|
--md-comp-slider-gap: 6px;
|
|
44
44
|
--md-comp-slider-stop-size: 2px;
|
|
45
45
|
--md-comp-slider-stop-inset: 8px;
|
|
46
|
-
--md-comp-slider-icon-size: 24px;
|
|
46
|
+
--md-comp-slider-icon-size: #{rem(24px)};
|
|
47
47
|
--md-comp-slider-active-track-color: var(--md-sys-color-primary);
|
|
48
48
|
--md-comp-slider-inactive-track-color: var(--md-sys-color-secondary-container);
|
|
49
49
|
--md-comp-slider-handle-color: var(--md-sys-color-primary);
|
|
@@ -78,28 +78,28 @@ input[type="range"] {
|
|
|
78
78
|
:is(#{$_host}).medium,
|
|
79
79
|
:is(#{$_host}).m [type="range"],
|
|
80
80
|
:is(#{$_host}).medium [type="range"] {
|
|
81
|
-
--md-comp-slider-track-height: 40px;
|
|
82
|
-
--md-comp-slider-handle-height: 52px;
|
|
81
|
+
--md-comp-slider-track-height: #{rem(40px)};
|
|
82
|
+
--md-comp-slider-handle-height: #{rem(52px)};
|
|
83
83
|
--md-comp-slider-stop-inset: 12px;
|
|
84
|
-
--md-comp-slider-icon-size: 24px;
|
|
84
|
+
--md-comp-slider-icon-size: #{rem(24px)};
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
:is(#{$_host}).l,
|
|
88
88
|
:is(#{$_host}).large,
|
|
89
89
|
:is(#{$_host}).l [type="range"],
|
|
90
90
|
:is(#{$_host}).large [type="range"] {
|
|
91
|
-
--md-comp-slider-track-height: 56px;
|
|
92
|
-
--md-comp-slider-handle-height: 68px;
|
|
91
|
+
--md-comp-slider-track-height: #{rem(56px)};
|
|
92
|
+
--md-comp-slider-handle-height: #{rem(68px)};
|
|
93
93
|
--md-comp-slider-stop-inset: 16px;
|
|
94
|
-
--md-comp-slider-icon-size: 24px;
|
|
94
|
+
--md-comp-slider-icon-size: #{rem(24px)};
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
:is(#{$_host}).xl,
|
|
98
98
|
:is(#{$_host}).xl [type="range"] {
|
|
99
|
-
--md-comp-slider-track-height: 96px;
|
|
100
|
-
--md-comp-slider-handle-height: 108px;
|
|
99
|
+
--md-comp-slider-track-height: #{rem(96px)};
|
|
100
|
+
--md-comp-slider-handle-height: #{rem(108px)};
|
|
101
101
|
--md-comp-slider-stop-inset: 28px;
|
|
102
|
-
--md-comp-slider-icon-size: 32px;
|
|
102
|
+
--md-comp-slider-icon-size: #{rem(32px)};
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
:is(#{$_host}):dir(rtl),
|
|
@@ -198,92 +198,54 @@ $_active: var(--md-comp-slider-active-track-color);
|
|
|
198
198
|
$_inactive: var(--md-comp-slider-inactive-track-color);
|
|
199
199
|
$_active-pos: var(--md-comp-slider-active-position, var(--md-comp-slider-active-fraction));
|
|
200
200
|
|
|
201
|
-
// Gap around the handle so the tracks do not run under it.
|
|
202
|
-
@mixin range-track-fill {
|
|
203
|
-
background-image:
|
|
204
|
-
_stop(end),
|
|
205
|
-
linear-gradient(var(--md-comp-slider-gradient), _handle-gap($_active, $_active-pos, $_inactive));
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
@mixin range-track-fill-centered {
|
|
209
|
-
background-image:
|
|
210
|
-
_stop(start),
|
|
211
|
-
_stop(end),
|
|
212
|
-
linear-gradient(
|
|
213
|
-
var(--md-comp-slider-gradient),
|
|
214
|
-
_handle-gap($_inactive, min(50%, $_active-pos), $_active),
|
|
215
|
-
_handle-gap($_active, max(50%, $_active-pos), $_inactive)
|
|
216
|
-
);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
@mixin range-track-fill-dual {
|
|
220
|
-
background-image:
|
|
221
|
-
_stop(start),
|
|
222
|
-
_stop(end),
|
|
223
|
-
linear-gradient(
|
|
224
|
-
var(--md-comp-slider-gradient),
|
|
225
|
-
_handle-gap($_inactive, var(--md-comp-slider-start-position, var(--md-comp-slider-start-fraction)), $_active),
|
|
226
|
-
_handle-gap($_active, var(--md-comp-slider-end-position, var(--md-comp-slider-end-fraction)), $_inactive)
|
|
227
|
-
);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
@mixin range-track {
|
|
231
|
-
box-sizing: border-box;
|
|
232
|
-
width: 100%;
|
|
233
|
-
height: var(--md-comp-slider-track-height);
|
|
234
|
-
border: none;
|
|
235
|
-
border-radius: calc(var(--md-comp-slider-track-height) / 2);
|
|
236
|
-
background-color: transparent;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
@mixin range-track-vertical {
|
|
240
|
-
width: var(--md-comp-slider-track-height);
|
|
241
|
-
height: 100%;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
@mixin range-thumb {
|
|
245
|
-
appearance: none;
|
|
246
|
-
-webkit-appearance: none;
|
|
247
|
-
box-sizing: border-box;
|
|
248
|
-
border: none;
|
|
249
|
-
width: var(--md-comp-slider-handle-width);
|
|
250
|
-
height: var(--md-comp-slider-handle-height);
|
|
251
|
-
border-radius: calc(var(--md-comp-slider-handle-width) / 2);
|
|
252
|
-
background: var(--md-comp-slider-handle-color);
|
|
253
|
-
box-shadow: none;
|
|
254
|
-
cursor: grab;
|
|
255
|
-
transition: box-shadow 0.2s ease, width 0.15s ease, height 0.15s ease;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
@mixin range-thumb-vertical {
|
|
259
|
-
width: var(--md-comp-slider-handle-height);
|
|
260
|
-
height: var(--md-comp-slider-handle-width);
|
|
261
|
-
border-radius: calc(var(--md-comp-slider-handle-width) / 2);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
201
|
// One set of rules per engine: a browser drops a whole rule with a pseudo-element
|
|
265
202
|
// it does not know, so the two cannot share a selector list.
|
|
266
203
|
@each $track, $thumb in ("::-webkit-slider-runnable-track" "::-webkit-slider-thumb", "::-moz-range-track" "::-moz-range-thumb") {
|
|
267
204
|
$webkit: $thumb == "::-webkit-slider-thumb";
|
|
268
205
|
|
|
269
206
|
input[type="range"]#{$track} {
|
|
270
|
-
|
|
271
|
-
|
|
207
|
+
box-sizing: border-box;
|
|
208
|
+
width: 100%;
|
|
209
|
+
height: var(--md-comp-slider-track-height);
|
|
210
|
+
border: none;
|
|
211
|
+
border-radius: calc(var(--md-comp-slider-track-height) / 2);
|
|
212
|
+
background-color: transparent;
|
|
213
|
+
// Gap around the handle so the tracks do not run under it.
|
|
214
|
+
background-image:
|
|
215
|
+
_stop(end),
|
|
216
|
+
linear-gradient(var(--md-comp-slider-gradient), _handle-gap($_active, $_active-pos, $_inactive));
|
|
272
217
|
}
|
|
273
218
|
|
|
274
219
|
input[type="range"]#{$thumb} {
|
|
275
|
-
|
|
220
|
+
appearance: none;
|
|
221
|
+
box-sizing: border-box;
|
|
222
|
+
border: none;
|
|
223
|
+
width: var(--md-comp-slider-handle-width);
|
|
224
|
+
height: var(--md-comp-slider-handle-height);
|
|
225
|
+
border-radius: calc(var(--md-comp-slider-handle-width) / 2);
|
|
226
|
+
background: var(--md-comp-slider-handle-color);
|
|
227
|
+
box-shadow: none;
|
|
228
|
+
cursor: grab;
|
|
229
|
+
transition: box-shadow var(--md-sys-motion-duration-short4) ease, width var(--md-sys-motion-duration-short3) ease, height var(--md-sys-motion-duration-short3) ease;
|
|
230
|
+
|
|
231
|
+
@media (prefers-reduced-motion: reduce) {
|
|
232
|
+
transition: none;
|
|
233
|
+
}
|
|
234
|
+
|
|
276
235
|
@if $webkit {
|
|
277
236
|
margin-top: calc((var(--md-comp-slider-track-height) - var(--md-comp-slider-handle-height)) / 2);
|
|
278
237
|
}
|
|
279
238
|
}
|
|
280
239
|
|
|
281
240
|
input[type="range"]:hover:not(:disabled)#{$thumb} {
|
|
282
|
-
box-shadow: 0 0 0 18px
|
|
241
|
+
box-shadow: 0 0 0 18px state-layer(var(--md-comp-slider-handle-color), "hover");
|
|
283
242
|
}
|
|
284
243
|
|
|
244
|
+
// The tint alone was about 1.1:1 against the surface, so the handle also
|
|
245
|
+
// takes the shared focus ring.
|
|
285
246
|
input[type="range"]:focus-visible:not(:disabled)#{$thumb} {
|
|
286
|
-
box-shadow: 0 0 0 18px
|
|
247
|
+
box-shadow: 0 0 0 18px state-layer(var(--md-comp-slider-handle-color), "focus");
|
|
248
|
+
@include focus-ring;
|
|
287
249
|
}
|
|
288
250
|
|
|
289
251
|
input[type="range"]:active:not(:disabled)#{$thumb} {
|
|
@@ -291,16 +253,26 @@ $_active-pos: var(--md-comp-slider-active-position, var(--md-comp-slider-active-
|
|
|
291
253
|
}
|
|
292
254
|
|
|
293
255
|
:is(#{$_host}).centered [type="range"]#{$track} {
|
|
294
|
-
|
|
256
|
+
background-image:
|
|
257
|
+
_stop(start),
|
|
258
|
+
_stop(end),
|
|
259
|
+
linear-gradient(
|
|
260
|
+
var(--md-comp-slider-gradient),
|
|
261
|
+
_handle-gap($_inactive, min(50%, $_active-pos), $_active),
|
|
262
|
+
_handle-gap($_active, max(50%, $_active-pos), $_inactive)
|
|
263
|
+
);
|
|
295
264
|
}
|
|
296
265
|
|
|
297
266
|
:is(#{$_host}).vertical > [type="range"]#{$track} {
|
|
298
|
-
|
|
267
|
+
width: var(--md-comp-slider-track-height);
|
|
268
|
+
height: 100%;
|
|
299
269
|
margin-left: calc((var(--md-comp-slider-handle-height) - var(--md-comp-slider-track-height)) / 2);
|
|
300
270
|
}
|
|
301
271
|
|
|
302
272
|
:is(#{$_host}).vertical > [type="range"]#{$thumb} {
|
|
303
|
-
|
|
273
|
+
width: var(--md-comp-slider-handle-height);
|
|
274
|
+
height: var(--md-comp-slider-handle-width);
|
|
275
|
+
border-radius: calc(var(--md-comp-slider-handle-width) / 2);
|
|
304
276
|
@if $webkit {
|
|
305
277
|
margin-top: 0;
|
|
306
278
|
}
|
|
@@ -326,7 +298,14 @@ $_active-pos: var(--md-comp-slider-active-position, var(--md-comp-slider-active-
|
|
|
326
298
|
height: var(--md-comp-slider-track-height);
|
|
327
299
|
border-radius: calc(var(--md-comp-slider-track-height) / 2);
|
|
328
300
|
pointer-events: none;
|
|
329
|
-
|
|
301
|
+
background-image:
|
|
302
|
+
_stop(start),
|
|
303
|
+
_stop(end),
|
|
304
|
+
linear-gradient(
|
|
305
|
+
var(--md-comp-slider-gradient),
|
|
306
|
+
_handle-gap($_inactive, var(--md-comp-slider-start-position, var(--md-comp-slider-start-fraction)), $_active),
|
|
307
|
+
_handle-gap($_active, var(--md-comp-slider-end-position, var(--md-comp-slider-end-fraction)), $_inactive)
|
|
308
|
+
);
|
|
330
309
|
}
|
|
331
310
|
|
|
332
311
|
> [type="range"]:first-of-type {
|
|
@@ -427,7 +406,7 @@ $_active-pos: var(--md-comp-slider-active-position, var(--md-comp-slider-active-
|
|
|
427
406
|
pointer-events: none;
|
|
428
407
|
background: radial-gradient(
|
|
429
408
|
circle var(--md-comp-slider-stop-size) at var(--_dot) 50%,
|
|
430
|
-
var(--md-sys-color-on-primary) 99%,
|
|
409
|
+
var(--_stop, var(--md-sys-color-on-primary)) 99%,
|
|
431
410
|
transparent
|
|
432
411
|
)
|
|
433
412
|
0 0 / var(--md-comp-slider-stop-spacing, 0px) 100% repeat-x;
|
|
@@ -465,18 +444,22 @@ input[type="range"] + .thumb {
|
|
|
465
444
|
display: flex;
|
|
466
445
|
align-items: center;
|
|
467
446
|
justify-content: center;
|
|
468
|
-
min-width: 40px;
|
|
469
|
-
height: 40px;
|
|
447
|
+
min-width: rem(40px);
|
|
448
|
+
height: rem(40px);
|
|
470
449
|
padding: 0 12px;
|
|
471
450
|
border: none;
|
|
472
|
-
border-radius:
|
|
451
|
+
border-radius: var(--md-sys-shape-corner-large-increased);
|
|
473
452
|
background-color: var(--md-sys-color-inverse-surface);
|
|
474
453
|
color: var(--md-sys-color-inverse-on-surface);
|
|
475
454
|
pointer-events: none;
|
|
476
455
|
opacity: 0;
|
|
477
456
|
transform: translate(-50%, calc(-100% - 4px)) scale(0.9);
|
|
478
457
|
transform-origin: center bottom;
|
|
479
|
-
transition: opacity
|
|
458
|
+
transition: opacity var(--md-sys-motion-duration-short3) ease, transform var(--md-sys-motion-duration-short3) ease;
|
|
459
|
+
|
|
460
|
+
@media (prefers-reduced-motion: reduce) {
|
|
461
|
+
transition: none;
|
|
462
|
+
}
|
|
480
463
|
@include typescale("body-small");
|
|
481
464
|
|
|
482
465
|
.value {
|
|
@@ -500,12 +483,21 @@ input[type="range"] + .thumb {
|
|
|
500
483
|
}
|
|
501
484
|
}
|
|
502
485
|
|
|
486
|
+
// GrayText is the disabled color here, so the inactive track is CanvasText
|
|
487
|
+
// and a disabled slider is GrayText throughout. The stops are a gradient,
|
|
488
|
+
// which forced colors drop unless the layer opts out.
|
|
503
489
|
@media (forced-colors: active) {
|
|
504
490
|
:is(#{$_host}), input[type="range"] {
|
|
505
491
|
--md-comp-slider-active-track-color: Highlight;
|
|
506
|
-
--md-comp-slider-inactive-track-color:
|
|
492
|
+
--md-comp-slider-inactive-track-color: CanvasText;
|
|
507
493
|
--md-comp-slider-handle-color: CanvasText;
|
|
508
|
-
--md-comp-slider-stop-color:
|
|
494
|
+
--md-comp-slider-stop-color: Canvas;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
:is(#{$_host}):has(> [type="range"]:disabled),
|
|
498
|
+
input[type="range"]:disabled {
|
|
499
|
+
--md-comp-slider-active-track-color: GrayText;
|
|
500
|
+
--md-comp-slider-inactive-track-color: GrayText;
|
|
509
501
|
}
|
|
510
502
|
|
|
511
503
|
input[type="range"],
|
|
@@ -513,6 +505,11 @@ input[type="range"] + .thumb {
|
|
|
513
505
|
forced-color-adjust: none;
|
|
514
506
|
}
|
|
515
507
|
|
|
508
|
+
:is(#{$_host}).stops::after {
|
|
509
|
+
--_stop: HighlightText;
|
|
510
|
+
forced-color-adjust: none;
|
|
511
|
+
}
|
|
512
|
+
|
|
516
513
|
input[type="range"]:focus-visible {
|
|
517
514
|
outline: 2px solid Highlight;
|
|
518
515
|
outline-offset: 4px;
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A <label class="switch"> wrapping
|
|
6
6
|
// <input type="checkbox"> is the control. The label text is a sibling of
|
|
7
|
-
// the input — no .lever required.
|
|
8
|
-
// work (legacy).
|
|
7
|
+
// the input — no .lever required.
|
|
9
8
|
//
|
|
10
9
|
// Tokens follow https://m3.material.io/components/switch/specs
|
|
11
10
|
// track 52×32dp, 16dp corners
|
|
12
|
-
// unselected surface-
|
|
11
|
+
// unselected surface-container-highest + 2dp outline, 16dp handle
|
|
13
12
|
// selected primary track, 24dp on-primary handle
|
|
14
13
|
// state layer 40dp, 8% hover / 10% focus
|
|
15
14
|
// touch target 48dp
|
|
@@ -18,46 +17,22 @@
|
|
|
18
17
|
|
|
19
18
|
.switch {
|
|
20
19
|
--md-comp-switch-track-width: 52px;
|
|
20
|
+
// The handle slides and grows on the fast spatial spring; colors keep
|
|
21
|
+
// their short ease.
|
|
22
|
+
--md-comp-switch-motion: var(--md-sys-motion-spring-fast-spatial);
|
|
23
|
+
--md-comp-switch-motion-duration: var(--md-sys-motion-spring-fast-spatial-duration);
|
|
21
24
|
--md-comp-switch-track-height: 32px;
|
|
22
25
|
--md-comp-switch-handle-unselected: 16px;
|
|
23
26
|
--md-comp-switch-handle-selected: 24px;
|
|
24
27
|
|
|
25
|
-
display: inline-flex;
|
|
26
|
-
align-items: center;
|
|
27
|
-
gap: 12px;
|
|
28
|
-
min-height: 48px;
|
|
29
|
-
margin: 0;
|
|
30
|
-
cursor: pointer;
|
|
31
|
-
user-select: none;
|
|
32
28
|
-webkit-tap-highlight-color: transparent;
|
|
33
|
-
|
|
34
|
-
@include typescale("body-large");
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.switch label {
|
|
38
|
-
display: inline-flex;
|
|
39
|
-
align-items: center;
|
|
40
|
-
gap: 12px;
|
|
41
|
-
cursor: pointer;
|
|
42
|
-
user-select: none;
|
|
29
|
+
@include selection-control-label(inline-flex);
|
|
43
30
|
}
|
|
44
31
|
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
.switch [type="checkbox"]
|
|
48
|
-
position: absolute;
|
|
49
|
-
opacity: 0;
|
|
50
|
-
width: 0;
|
|
51
|
-
height: 0;
|
|
52
|
-
pointer-events: none;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Paint the switch on the checkbox when there is no lever/span.
|
|
56
|
-
.switch [type="checkbox"]:not(:has(+ .lever)):not(:has(+ span)) {
|
|
32
|
+
// Paint the switch on the checkbox. The class goes on the <label> that wraps
|
|
33
|
+
// it; a checkbox nested deeper is an ordinary checkbox.
|
|
34
|
+
.switch > [type="checkbox"] {
|
|
57
35
|
appearance: none;
|
|
58
|
-
position: static;
|
|
59
|
-
opacity: 1;
|
|
60
|
-
pointer-events: auto;
|
|
61
36
|
flex: 0 0 var(--md-comp-switch-track-width);
|
|
62
37
|
box-sizing: border-box;
|
|
63
38
|
width: var(--md-comp-switch-track-width);
|
|
@@ -65,8 +40,8 @@
|
|
|
65
40
|
margin: 0;
|
|
66
41
|
padding: 0;
|
|
67
42
|
border: 2px solid var(--md-sys-color-outline);
|
|
68
|
-
border-radius:
|
|
69
|
-
background-color: var(--md-sys-color-surface-
|
|
43
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
44
|
+
background-color: var(--md-sys-color-surface-container-highest);
|
|
70
45
|
// Size the image to the handle. A 100% gradient keeps the circle in
|
|
71
46
|
// the middle of the track, so background-position cannot put off on
|
|
72
47
|
// the start and on on the end.
|
|
@@ -83,8 +58,13 @@
|
|
|
83
58
|
// thumb on the start and it only grows.
|
|
84
59
|
background-position: 6px 50%;
|
|
85
60
|
cursor: pointer;
|
|
86
|
-
transition: background-color
|
|
87
|
-
background-
|
|
61
|
+
transition: background-color var(--md-sys-motion-duration-short4) ease,
|
|
62
|
+
background-position var(--md-comp-switch-motion-duration) var(--md-comp-switch-motion),
|
|
63
|
+
background-size var(--md-comp-switch-motion-duration) var(--md-comp-switch-motion), border-color var(--md-sys-motion-duration-short4) ease, box-shadow var(--md-sys-motion-duration-short4) ease;
|
|
64
|
+
|
|
65
|
+
@media (prefers-reduced-motion: reduce) {
|
|
66
|
+
transition: none;
|
|
67
|
+
}
|
|
88
68
|
|
|
89
69
|
&:checked {
|
|
90
70
|
border-color: var(--md-sys-color-primary);
|
|
@@ -103,16 +83,15 @@
|
|
|
103
83
|
}
|
|
104
84
|
|
|
105
85
|
&:hover {
|
|
106
|
-
box-shadow: 0 0 0 8px
|
|
86
|
+
box-shadow: 0 0 0 8px state-layer(var(--md-sys-color-on-surface), "hover");
|
|
107
87
|
}
|
|
108
88
|
|
|
109
89
|
&:checked:hover {
|
|
110
|
-
box-shadow: 0 0 0 8px
|
|
90
|
+
box-shadow: 0 0 0 8px state-layer(var(--md-sys-color-primary), "hover");
|
|
111
91
|
}
|
|
112
92
|
|
|
113
|
-
&:focus-visible
|
|
114
|
-
|
|
115
|
-
box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-sys-color-primary) state-opacity("focus"), transparent);
|
|
93
|
+
&:focus-visible {
|
|
94
|
+
box-shadow: 0 0 0 8px state-layer(var(--md-sys-color-primary), "focus");
|
|
116
95
|
outline: none;
|
|
117
96
|
}
|
|
118
97
|
|
|
@@ -123,129 +102,39 @@
|
|
|
123
102
|
}
|
|
124
103
|
}
|
|
125
104
|
|
|
126
|
-
.switch:has(> [type="checkbox"]:disabled)
|
|
127
|
-
.switch:has([type="checkbox"]:disabled) label {
|
|
105
|
+
.switch:has(> [type="checkbox"]:disabled) {
|
|
128
106
|
color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
|
|
129
107
|
cursor: default;
|
|
130
108
|
}
|
|
131
109
|
|
|
132
|
-
//
|
|
133
|
-
.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
&::after {
|
|
164
|
-
background-color: var(--md-sys-color-outline);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
.switch [type="checkbox"]:checked + .lever,
|
|
169
|
-
.switch [type="checkbox"]:checked + span {
|
|
170
|
-
border-color: var(--md-sys-color-primary);
|
|
171
|
-
background-color: var(--md-sys-color-primary);
|
|
172
|
-
|
|
173
|
-
&::before,
|
|
174
|
-
&::after {
|
|
175
|
-
top: 2px;
|
|
176
|
-
left: 22px;
|
|
177
|
-
width: 24px;
|
|
178
|
-
height: 24px;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
&::after {
|
|
182
|
-
background-color: var(--md-sys-color-on-primary);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
.switch [type="checkbox"]:hover + .lever,
|
|
187
|
-
.switch [type="checkbox"]:hover + span {
|
|
188
|
-
box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
.switch [type="checkbox"]:checked:hover + .lever,
|
|
192
|
-
.switch [type="checkbox"]:checked:hover + span {
|
|
193
|
-
box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-sys-color-primary) state-opacity("hover"), transparent);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.switch [type="checkbox"]:focus-visible + .lever,
|
|
197
|
-
.switch [type="checkbox"].tabbed:focus + .lever,
|
|
198
|
-
.switch [type="checkbox"]:focus-visible + span,
|
|
199
|
-
.switch [type="checkbox"].tabbed:focus + span {
|
|
200
|
-
box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-sys-color-primary) state-opacity("focus"), transparent);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
.switch [type="checkbox"]:disabled + .lever,
|
|
204
|
-
.switch [type="checkbox"]:disabled + span {
|
|
205
|
-
opacity: 0.38;
|
|
206
|
-
box-shadow: none;
|
|
207
|
-
cursor: default;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// The span holds the label text as well as the track.
|
|
211
|
-
.switch [type="checkbox"] + span:not(.lever):not(:empty) {
|
|
212
|
-
width: auto;
|
|
213
|
-
min-width: var(--md-comp-switch-track-width);
|
|
214
|
-
height: auto;
|
|
215
|
-
min-height: var(--md-comp-switch-track-height);
|
|
216
|
-
padding-left: calc(var(--md-comp-switch-track-width) + 12px);
|
|
217
|
-
border: 0;
|
|
218
|
-
background-color: transparent;
|
|
219
|
-
border-radius: 0;
|
|
220
|
-
|
|
221
|
-
&::before {
|
|
222
|
-
border: 2px solid var(--md-sys-color-outline);
|
|
223
|
-
background-color: var(--md-sys-color-surface-variant);
|
|
224
|
-
box-sizing: border-box;
|
|
225
|
-
width: var(--md-comp-switch-track-width);
|
|
226
|
-
height: var(--md-comp-switch-track-height);
|
|
227
|
-
border-radius: 16px;
|
|
228
|
-
top: 0;
|
|
229
|
-
left: 0;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
&::after {
|
|
233
|
-
top: 8px;
|
|
234
|
-
left: 8px;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.switch [type="checkbox"]:checked + span:not(.lever):not(:empty) {
|
|
239
|
-
background-color: transparent;
|
|
240
|
-
border-color: transparent;
|
|
241
|
-
|
|
242
|
-
&::before {
|
|
243
|
-
border-color: var(--md-sys-color-primary);
|
|
244
|
-
background-color: var(--md-sys-color-primary);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
&::after {
|
|
248
|
-
top: 4px;
|
|
249
|
-
left: 24px;
|
|
110
|
+
// Forced colors drop the gradient handle, so a switch shows only an empty
|
|
111
|
+
// track whatever its state. Repaint the whole control in system colors.
|
|
112
|
+
@media (forced-colors: active) {
|
|
113
|
+
.switch > [type="checkbox"] {
|
|
114
|
+
forced-color-adjust: none;
|
|
115
|
+
border-color: CanvasText;
|
|
116
|
+
background-color: Canvas;
|
|
117
|
+
background-image: radial-gradient(circle closest-side, CanvasText 100%, transparent 101%);
|
|
118
|
+
|
|
119
|
+
&:checked {
|
|
120
|
+
border-color: Highlight;
|
|
121
|
+
background-color: Highlight;
|
|
122
|
+
background-image: radial-gradient(circle closest-side, HighlightText 100%, transparent 101%);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&:disabled {
|
|
126
|
+
border-color: GrayText;
|
|
127
|
+
background-image: radial-gradient(circle closest-side, GrayText 100%, transparent 101%);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&:disabled:checked {
|
|
131
|
+
background-color: GrayText;
|
|
132
|
+
background-image: radial-gradient(circle closest-side, Canvas 100%, transparent 101%);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
&:focus-visible {
|
|
136
|
+
outline: 2px solid CanvasText;
|
|
137
|
+
outline-offset: 2px;
|
|
138
|
+
}
|
|
250
139
|
}
|
|
251
140
|
}
|
package/src/sass/custom.scss
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
|
+
|
|
3
|
+
// The only place cascade order is decided; expressive.scss forwards this file
|
|
4
|
+
// with its defaults. See README.md for why each layer sits where it does.
|
|
5
|
+
// abstracts emits no CSS and is forwarded for the Sass API. @forward cannot
|
|
6
|
+
// appear inside @layer, so each layer is loaded with meta.load-css().
|
|
2
7
|
@use "sass:meta";
|
|
3
|
-
|
|
8
|
+
// The destination and fieldset mixins only serve the partials that share them.
|
|
9
|
+
@forward "abstracts" hide nav-destination, nav-destination-row, choice-fieldset;
|
|
4
10
|
|
|
5
11
|
$components: null !default;
|
|
6
12
|
$utilities: null !default;
|
|
7
13
|
|
|
14
|
+
// @font-face must stay unlayered. A face declared inside @layer base can
|
|
15
|
+
// lose to any unlayered consumer face, or be ignored by engines that still
|
|
16
|
+
// treat layered faces as experimental.
|
|
8
17
|
@include meta.load-css("base/fonts");
|
|
9
18
|
|
|
10
19
|
@layer tokens, base, components, utilities;
|
package/src/sass/expressive.scss
CHANGED
|
@@ -1,65 +1,5 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
|
|
3
|
-
// ExpressiveCSS entry point.
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
// always answerable from this file. Layers:
|
|
7
|
-
//
|
|
8
|
-
// abstracts - variables, functions, mixins. Emits nothing, so it is not a
|
|
9
|
-
// cascade layer at all; partials pull it in with
|
|
10
|
-
// `@use "../abstracts" as *;`. Forwarded below so that
|
|
11
|
-
// downstream projects consuming this file keep access to the
|
|
12
|
-
// breakpoint mixins, z-depth() and btn-*.
|
|
13
|
-
// tokens - :root custom properties (M3 reference palette + theme).
|
|
14
|
-
// base - normalize, element defaults, typography, grid.
|
|
15
|
-
// components - widgets.
|
|
16
|
-
// utilities - helper classes.
|
|
17
|
-
//
|
|
18
|
-
// Order used to be expressed purely as @forward order, with utilities emitted
|
|
19
|
-
// before components so a component rule would win at equal specificity. It is
|
|
20
|
-
// now a real @layer list, which changes three things:
|
|
21
|
-
//
|
|
22
|
-
// 1. Utilities moved after components. Layer order beats specificity
|
|
23
|
-
// outright, so a helper class now wins over a component rule without
|
|
24
|
-
// needing to out-specify it.
|
|
25
|
-
// 2. Unlayered CSS beats every layer. A consumer can override any component
|
|
26
|
-
// with a plain `.btn { ... }` - no specificity war, no load-order
|
|
27
|
-
// dependence on where the framework sits in their bundle.
|
|
28
|
-
// 3. !important is NOT dropped from utilities. Layer order reverses for
|
|
29
|
-
// important declarations, so an important rule inside `utilities` would
|
|
30
|
-
// also beat a consumer's own !important - but a *normal* rule in a layer
|
|
31
|
-
// loses to any unlayered consumer rule. Since `.hide`, `.m-3` and the
|
|
32
|
-
// palette classes exist precisely to be unconditional, they keep their
|
|
33
|
-
// flags and keep winning. Dropping them would silently make `.hide` lose
|
|
34
|
-
// to any unlayered `display` the consumer had already written.
|
|
35
|
-
//
|
|
36
|
-
// @forward cannot appear inside @layer, so each layer is pulled in with
|
|
37
|
-
// meta.load-css() instead. abstracts emits no CSS, so loading it separately
|
|
38
|
-
// below duplicates nothing.
|
|
39
|
-
|
|
40
|
-
@use "sass:meta";
|
|
41
|
-
|
|
42
|
-
@forward "abstracts";
|
|
43
|
-
|
|
44
|
-
// @font-face must stay unlayered. A face declared inside @layer base can
|
|
45
|
-
// lose to any unlayered consumer face, or be ignored by engines that still
|
|
46
|
-
// treat layered faces as experimental.
|
|
47
|
-
@include meta.load-css("base/fonts");
|
|
48
|
-
|
|
49
|
-
@layer tokens, base, components, utilities;
|
|
50
|
-
|
|
51
|
-
@layer tokens {
|
|
52
|
-
@include meta.load-css("tokens");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@layer base {
|
|
56
|
-
@include meta.load-css("base");
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
@layer components {
|
|
60
|
-
@include meta.load-css("components");
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@layer utilities {
|
|
64
|
-
@include meta.load-css("utilities");
|
|
65
|
-
}
|
|
3
|
+
// ExpressiveCSS entry point: custom.scss with every component and utility.
|
|
4
|
+
// Cascade order is decided there; see README.md for the layer rules.
|
|
5
|
+
@forward "custom" hide $components, $utilities;
|