@expressivecss/expressive 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1807 -1
- package/README.md +9 -8
- package/dist/css/expressive.css +19176 -11958
- 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-26VUH75M.mjs +102 -0
- package/dist/js/chunks/chunk-26VUH75M.mjs.map +7 -0
- package/dist/js/chunks/chunk-2LFCOGC3.mjs +233 -0
- package/dist/js/chunks/chunk-2LFCOGC3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-36GELQGX.mjs} +29 -46
- package/dist/js/chunks/chunk-36GELQGX.mjs.map +7 -0
- package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-3FKWIRHW.mjs} +15 -29
- package/dist/js/chunks/chunk-3FKWIRHW.mjs.map +7 -0
- package/dist/js/chunks/chunk-3KF65KGL.mjs +209 -0
- package/dist/js/chunks/chunk-3KF65KGL.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-3KLZRQZI.mjs} +88 -116
- package/dist/js/chunks/chunk-3KLZRQZI.mjs.map +7 -0
- package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-3XORNED5.mjs} +3 -11
- package/dist/js/chunks/chunk-3XORNED5.mjs.map +7 -0
- package/dist/js/chunks/chunk-4WBGAQN3.mjs +113 -0
- package/dist/js/chunks/chunk-4WBGAQN3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-5F4URJHL.mjs} +19 -30
- package/dist/js/chunks/chunk-5F4URJHL.mjs.map +7 -0
- package/dist/js/chunks/chunk-67UNY7RH.mjs +299 -0
- package/dist/js/chunks/chunk-67UNY7RH.mjs.map +7 -0
- package/dist/js/chunks/chunk-7CXNATJS.mjs +97 -0
- package/dist/js/chunks/chunk-7CXNATJS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-7X44MKEQ.mjs} +43 -48
- package/dist/js/chunks/chunk-7X44MKEQ.mjs.map +7 -0
- package/dist/js/chunks/chunk-7ZAMOMGY.mjs +440 -0
- package/dist/js/chunks/chunk-7ZAMOMGY.mjs.map +7 -0
- package/dist/js/chunks/chunk-AEG6LOAJ.mjs +54 -0
- package/dist/js/chunks/chunk-AEG6LOAJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-AQNFCJJ5.mjs +135 -0
- package/dist/js/chunks/chunk-AQNFCJJ5.mjs.map +7 -0
- package/dist/js/chunks/chunk-B55LWKBM.mjs +75 -0
- package/dist/js/chunks/chunk-B55LWKBM.mjs.map +7 -0
- package/dist/js/chunks/chunk-BB5VXYXT.mjs +28 -0
- package/dist/js/chunks/chunk-BB5VXYXT.mjs.map +7 -0
- package/dist/js/chunks/chunk-BDATLH3H.mjs +108 -0
- package/dist/js/chunks/chunk-BDATLH3H.mjs.map +7 -0
- package/dist/js/chunks/chunk-CWMQOT4O.mjs +232 -0
- package/dist/js/chunks/chunk-CWMQOT4O.mjs.map +7 -0
- package/dist/js/chunks/chunk-CY2CTOVM.mjs +81 -0
- package/dist/js/chunks/chunk-CY2CTOVM.mjs.map +7 -0
- package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-DWA5UYLJ.mjs} +363 -218
- package/dist/js/chunks/chunk-DWA5UYLJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-EB2V4OKL.mjs +79 -0
- package/dist/js/chunks/chunk-EB2V4OKL.mjs.map +7 -0
- package/dist/js/chunks/chunk-EWO662ZC.mjs +188 -0
- package/dist/js/chunks/chunk-EWO662ZC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-F7LAKFMX.mjs} +320 -141
- package/dist/js/chunks/chunk-F7LAKFMX.mjs.map +7 -0
- package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-FNIIH2LU.mjs} +20 -33
- package/dist/js/chunks/chunk-FNIIH2LU.mjs.map +7 -0
- package/dist/js/chunks/chunk-GE3YMFS6.mjs +15 -0
- package/dist/js/chunks/chunk-GE3YMFS6.mjs.map +7 -0
- package/dist/js/chunks/chunk-GFWYMWYN.mjs +125 -0
- package/dist/js/chunks/chunk-GFWYMWYN.mjs.map +7 -0
- package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
- package/dist/js/chunks/chunk-H5ISU45X.mjs +87 -0
- package/dist/js/chunks/chunk-H5ISU45X.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-H6YIKFAQ.mjs} +311 -186
- package/dist/js/chunks/chunk-H6YIKFAQ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-HEH7E3KO.mjs} +155 -35
- package/dist/js/chunks/chunk-HEH7E3KO.mjs.map +7 -0
- package/dist/js/chunks/chunk-HQRLBTNM.mjs +152 -0
- package/dist/js/chunks/chunk-HQRLBTNM.mjs.map +7 -0
- package/dist/js/chunks/chunk-I2F7MLUU.mjs +137 -0
- package/dist/js/chunks/chunk-I2F7MLUU.mjs.map +7 -0
- package/dist/js/chunks/chunk-IQOTGGHX.mjs +797 -0
- package/dist/js/chunks/chunk-IQOTGGHX.mjs.map +7 -0
- package/dist/js/chunks/chunk-JH3YWKA6.mjs +225 -0
- package/dist/js/chunks/chunk-JH3YWKA6.mjs.map +7 -0
- package/dist/js/chunks/chunk-JOLJAYIJ.mjs +7 -0
- package/dist/js/chunks/chunk-JOLJAYIJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-KOTGMCMI.mjs} +116 -24
- package/dist/js/chunks/chunk-KOTGMCMI.mjs.map +7 -0
- package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-LC4O5LFS.mjs} +21 -45
- package/dist/js/chunks/chunk-LC4O5LFS.mjs.map +7 -0
- package/dist/js/chunks/chunk-LEF33SCP.mjs +127 -0
- package/dist/js/chunks/chunk-LEF33SCP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-LFORZRPH.mjs} +21 -23
- package/dist/js/chunks/chunk-LFORZRPH.mjs.map +7 -0
- package/dist/js/chunks/chunk-LWLNV5EC.mjs +451 -0
- package/dist/js/chunks/chunk-LWLNV5EC.mjs.map +7 -0
- package/dist/js/chunks/chunk-LXRHUQAX.mjs +491 -0
- package/dist/js/chunks/chunk-LXRHUQAX.mjs.map +7 -0
- package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-MA2SZZFB.mjs} +82 -111
- package/dist/js/chunks/chunk-MA2SZZFB.mjs.map +7 -0
- package/dist/js/chunks/chunk-MDBZAMIV.mjs +121 -0
- package/dist/js/chunks/chunk-MDBZAMIV.mjs.map +7 -0
- package/dist/js/chunks/chunk-NODZ5VAD.mjs +75 -0
- package/dist/js/chunks/chunk-NODZ5VAD.mjs.map +7 -0
- package/dist/js/chunks/chunk-O2WJB6TH.mjs +365 -0
- package/dist/js/chunks/chunk-O2WJB6TH.mjs.map +7 -0
- package/dist/js/chunks/chunk-PCABY5BN.mjs +35 -0
- package/dist/js/chunks/chunk-PCABY5BN.mjs.map +7 -0
- package/dist/js/chunks/chunk-PWKYVMND.mjs +120 -0
- package/dist/js/chunks/chunk-PWKYVMND.mjs.map +7 -0
- package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-QHZZT7YO.mjs} +66 -38
- package/dist/js/chunks/chunk-QHZZT7YO.mjs.map +7 -0
- package/dist/js/chunks/chunk-QND56EW2.mjs +439 -0
- package/dist/js/chunks/chunk-QND56EW2.mjs.map +7 -0
- package/dist/js/chunks/chunk-QNODAANY.mjs +376 -0
- package/dist/js/chunks/chunk-QNODAANY.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-QRO5FV3I.mjs} +156 -73
- package/dist/js/chunks/chunk-QRO5FV3I.mjs.map +7 -0
- package/dist/js/chunks/chunk-R7A7JRC5.mjs +440 -0
- package/dist/js/chunks/chunk-R7A7JRC5.mjs.map +7 -0
- package/dist/js/chunks/chunk-RKG2CBFE.mjs +74 -0
- package/dist/js/chunks/chunk-RKG2CBFE.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-RSNS5OYS.mjs} +38 -25
- package/dist/js/chunks/chunk-RSNS5OYS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-RUDYMEJ3.mjs} +7 -6
- package/dist/js/chunks/chunk-RUDYMEJ3.mjs.map +7 -0
- package/dist/js/chunks/chunk-STJR62SU.mjs +161 -0
- package/dist/js/chunks/chunk-STJR62SU.mjs.map +7 -0
- package/dist/js/chunks/chunk-SUSD4UTN.mjs +220 -0
- package/dist/js/chunks/chunk-SUSD4UTN.mjs.map +7 -0
- package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-SYBOA5HC.mjs} +26 -48
- package/dist/js/chunks/chunk-SYBOA5HC.mjs.map +7 -0
- package/dist/js/chunks/chunk-T4MOBP3J.mjs +108 -0
- package/dist/js/chunks/chunk-T4MOBP3J.mjs.map +7 -0
- package/dist/js/chunks/chunk-TM7HPGTV.mjs +342 -0
- package/dist/js/chunks/chunk-TM7HPGTV.mjs.map +7 -0
- package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-TMQDZSDC.mjs} +71 -35
- package/dist/js/chunks/chunk-TMQDZSDC.mjs.map +7 -0
- package/dist/js/chunks/chunk-TVSX5YA2.mjs +48 -0
- package/dist/js/chunks/chunk-TVSX5YA2.mjs.map +7 -0
- package/dist/js/chunks/chunk-UHO5CV6K.mjs +80 -0
- package/dist/js/chunks/chunk-UHO5CV6K.mjs.map +7 -0
- package/dist/js/chunks/chunk-UKCNELUN.mjs +223 -0
- package/dist/js/chunks/chunk-UKCNELUN.mjs.map +7 -0
- package/dist/js/chunks/chunk-UKQK5GWR.mjs +167 -0
- package/dist/js/chunks/chunk-UKQK5GWR.mjs.map +7 -0
- package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-UTSLYQ65.mjs} +21 -48
- package/dist/js/chunks/chunk-UTSLYQ65.mjs.map +7 -0
- package/dist/js/chunks/chunk-VS5OJBOD.mjs +108 -0
- package/dist/js/chunks/chunk-VS5OJBOD.mjs.map +7 -0
- package/dist/js/chunks/chunk-VZMROW5A.mjs +759 -0
- package/dist/js/chunks/chunk-VZMROW5A.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-XB6Y7P5W.mjs +69 -0
- package/dist/js/chunks/chunk-XB6Y7P5W.mjs.map +7 -0
- package/dist/js/chunks/chunk-XDAMOMVD.mjs +226 -0
- package/dist/js/chunks/chunk-XDAMOMVD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-XJPMW5SP.mjs} +247 -172
- package/dist/js/chunks/chunk-XJPMW5SP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-YKANQILZ.mjs} +16 -21
- package/dist/js/chunks/chunk-YKANQILZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-YLZOJLDI.mjs +175 -0
- package/dist/js/chunks/chunk-YLZOJLDI.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZK7YY322.mjs +514 -0
- package/dist/js/chunks/chunk-ZK7YY322.mjs.map +7 -0
- package/dist/js/expressive.cjs +10266 -3628
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +10266 -3628
- 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 +181 -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 +8 -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 +5 -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 +7 -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 +12 -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 -65
- 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 +41 -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 +60 -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 +5 -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 +14 -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 +6 -3
- package/dist/js/internal/core/formControl.mjs +12 -0
- package/dist/js/internal/core/formControl.mjs.map +7 -0
- package/dist/js/internal/core/imageURL.mjs +7 -0
- package/dist/js/internal/core/imageURL.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 +21 -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 +172 -69
- package/dist/types/behaviors/bottomSheets.d.ts +23 -5
- package/dist/types/behaviors/copy.d.ts +18 -0
- package/dist/types/behaviors/dataTables.d.ts +125 -0
- package/dist/types/behaviors/dialogs.d.ts +27 -1
- package/dist/types/behaviors/forms.d.ts +70 -4
- package/dist/types/behaviors/imageCompare.d.ts +13 -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 +53 -0
- package/dist/types/components/appBar.d.ts +5 -6
- package/dist/types/components/autocomplete.d.ts +105 -20
- 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 +16 -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 +80 -19
- package/dist/types/components/colorPicker.d.ts +56 -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 +60 -0
- package/dist/types/components/datepicker.d.ts +107 -56
- package/dist/types/components/expandingCard.d.ts +4 -6
- package/dist/types/components/funnelChart.d.ts +35 -0
- package/dist/types/components/heatmapChart.d.ts +42 -8
- package/dist/types/components/hoverCard.d.ts +59 -0
- package/dist/types/components/index.d.ts +16 -1
- package/dist/types/components/inputMask.d.ts +28 -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 +212 -12
- package/dist/types/components/loadingOverlay.d.ts +42 -0
- package/dist/types/components/mapView.d.ts +138 -27
- package/dist/types/components/menu.d.ts +74 -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 +22 -5
- package/dist/types/components/pieChart.d.ts +33 -9
- 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 +45 -22
- 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 +44 -33
- package/dist/types/components/showMore.d.ts +53 -0
- package/dist/types/components/slider.d.ts +2 -15
- package/dist/types/components/snackbar.d.ts +68 -1
- package/dist/types/components/swipeActions.d.ts +81 -0
- package/dist/types/components/tabs.d.ts +92 -30
- package/dist/types/components/timepicker.d.ts +128 -27
- package/dist/types/components/tooltip.d.ts +57 -21
- 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 +49 -25
- package/dist/types/core/formControl.d.ts +21 -0
- package/dist/types/core/imageURL.d.ts +2 -0
- package/dist/types/core/spring.d.ts +20 -0
- package/dist/types/core/utils.d.ts +123 -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 +39 -0
- package/package.json +17 -13
- 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 +864 -78
- package/src/sass/abstracts/_spring.scss +63 -0
- package/src/sass/abstracts/_variables.scss +64 -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 +10 -19
- package/src/sass/components/_alert.scss +102 -0
- package/src/sass/components/_aura.scss +9 -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 +31 -90
- package/src/sass/components/_bottom-sheet.scss +51 -16
- package/src/sass/components/_breadcrumb.scss +8 -7
- package/src/sass/components/_button-groups.scss +30 -63
- package/src/sass/components/_buttons.scss +137 -94
- package/src/sass/components/_calendar.scss +244 -0
- package/src/sass/components/_cards.scss +36 -44
- package/src/sass/components/_carousel.scss +37 -113
- package/src/sass/components/_cascader.scss +131 -0
- package/src/sass/components/_chips.scss +36 -46
- package/src/sass/components/_column-chart.scss +15 -26
- package/src/sass/components/_command-palette.scss +4 -7
- package/src/sass/components/_confetti.scss +1 -4
- package/src/sass/components/_countdown.scss +1 -1
- package/src/sass/components/_data-table.scss +172 -25
- package/src/sass/components/_datepicker.scss +54 -40
- package/src/sass/components/_description-list.scss +85 -0
- package/src/sass/components/_dialog.scss +48 -55
- 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 +21 -14
- package/src/sass/components/_fab-menu.scss +43 -39
- package/src/sass/components/_funnel-chart.scss +63 -0
- package/src/sass/components/_heatmap-chart.scss +114 -29
- package/src/sass/components/_icon-buttons.scss +8 -11
- 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 +9 -63
- 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 +37 -11
- package/src/sass/components/_marquee.scss +4 -3
- package/src/sass/components/_mega-menu.scss +128 -0
- package/src/sass/components/_menu.scss +146 -127
- package/src/sass/components/_menubar.scss +47 -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 +27 -35
- package/src/sass/components/_modal-display.scss +21 -0
- package/src/sass/components/_navbar.scss +45 -36
- package/src/sass/components/_navigation-bar.scss +12 -77
- package/src/sass/components/_navigation-rail.scss +161 -92
- package/src/sass/components/_org-chart.scss +192 -0
- package/src/sass/components/_page-footer.scss +2 -4
- package/src/sass/components/_pagination.scss +9 -27
- package/src/sass/components/_panes.scss +35 -42
- package/src/sass/components/_particles.scss +1 -4
- package/src/sass/components/_pie-chart.scss +86 -68
- package/src/sass/components/_popover.scss +18 -5
- package/src/sass/components/_progress.scss +183 -44
- 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 +40 -42
- package/src/sass/components/_radial-chart.scss +108 -46
- package/src/sass/components/_rich-text-editor.scss +2 -2
- package/src/sass/components/_sankey-chart.scss +91 -0
- package/src/sass/components/_scatter-chart.scss +144 -0
- package/src/sass/components/_scrim.scss +0 -2
- package/src/sass/components/_scrollspy.scss +0 -2
- package/src/sass/components/_search.scss +27 -26
- package/src/sass/components/_show-more.scss +8 -0
- package/src/sass/components/_side-sheet.scss +32 -51
- package/src/sass/components/_skeleton.scss +26 -19
- package/src/sass/components/_snackbar.scss +25 -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/_table_of_contents.scss +1 -3
- package/src/sass/components/_tabs.scss +49 -46
- package/src/sass/components/_timeline.scss +12 -12
- package/src/sass/components/_timepicker.scss +111 -79
- package/src/sass/components/_toolbar.scss +36 -47
- package/src/sass/components/_tooltip.scss +25 -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 +7 -32
- package/src/sass/components/_treemap-chart.scss +98 -0
- package/src/sass/components/forms/_checkboxes.scss +107 -44
- 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 +16 -13
- package/src/sass/components/forms/_fieldset.scss +4 -7
- package/src/sass/components/forms/_file-input.scss +12 -8
- package/src/sass/components/forms/_index.scss +3 -1
- package/src/sass/components/forms/_input-fields.scss +271 -90
- package/src/sass/components/forms/_radio-buttons.scss +34 -117
- package/src/sass/components/forms/_rating.scss +2 -32
- package/src/sass/components/forms/_select.scss +198 -20
- package/src/sass/components/forms/_slider.scss +92 -98
- package/src/sass/components/forms/_switches.scss +62 -180
- 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 +184 -27
- 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 +46 -77
- 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 +0 -90
- 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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A `<search class="search-bar">` is the bar - an
|
|
6
6
|
// optional leading icon or icon button, an `<input type="search">`, and
|
|
7
|
-
// optional trailing actions.
|
|
7
|
+
// optional trailing actions.
|
|
8
8
|
//
|
|
9
9
|
// `.search-view` is the surface the bar expands into, and it is two different
|
|
10
10
|
// native elements because the two variants want two different behaviours:
|
|
@@ -46,17 +46,17 @@
|
|
|
46
46
|
// a bare list interpolated into `.search-view > #{$_bar}` breaks out of its
|
|
47
47
|
// context and emits a top-level rule.
|
|
48
48
|
|
|
49
|
-
$_bar: "
|
|
49
|
+
$_bar: ".search-bar";
|
|
50
50
|
|
|
51
51
|
#{$_bar} {
|
|
52
52
|
--md-comp-search-bar-container-color: var(--md-sys-color-surface-container-high);
|
|
53
|
-
--md-comp-search-bar-container-height: 56px;
|
|
54
|
-
--md-comp-search-bar-container-shape:
|
|
53
|
+
--md-comp-search-bar-container-height: #{rem(56px)};
|
|
54
|
+
--md-comp-search-bar-container-shape: var(--md-sys-shape-corner-full);
|
|
55
55
|
--md-comp-search-bar-leading-space: 16px;
|
|
56
56
|
--md-comp-search-bar-trailing-space: 16px;
|
|
57
57
|
--md-comp-search-bar-icon-label-space: 16px;
|
|
58
|
-
--md-comp-search-bar-icon-size: 24px;
|
|
59
|
-
--md-comp-search-bar-avatar-size: 30px;
|
|
58
|
+
--md-comp-search-bar-icon-size: #{rem(24px)};
|
|
59
|
+
--md-comp-search-bar-avatar-size: #{rem(30px)};
|
|
60
60
|
|
|
61
61
|
position: relative;
|
|
62
62
|
box-sizing: border-box;
|
|
@@ -102,10 +102,7 @@ $_bar: ":is(.search-bar, .searchbar)";
|
|
|
102
102
|
|
|
103
103
|
> #{$icon} {
|
|
104
104
|
flex: 0 0 auto;
|
|
105
|
-
|
|
106
|
-
width: var(--md-comp-search-bar-icon-size);
|
|
107
|
-
height: var(--md-comp-search-bar-icon-size);
|
|
108
|
-
line-height: var(--md-comp-search-bar-icon-size);
|
|
105
|
+
@include icon-size(var(--md-comp-search-bar-icon-size));
|
|
109
106
|
color: var(--md-sys-color-on-surface);
|
|
110
107
|
}
|
|
111
108
|
|
|
@@ -151,26 +148,11 @@ $_bar: ":is(.search-bar, .searchbar)";
|
|
|
151
148
|
appearance: none;
|
|
152
149
|
}
|
|
153
150
|
}
|
|
154
|
-
|
|
155
|
-
// Pre-1.0 `.searchbar` sat in a navbar beside a fixed drawer.
|
|
156
|
-
&.has-sidebar {
|
|
157
|
-
margin-inline-start: 0;
|
|
158
|
-
|
|
159
|
-
@include bp-up("expanded") {
|
|
160
|
-
// `width: auto`, because the margin sits *outside* the base bar's
|
|
161
|
-
// `width: 100%`: the two together make the bar 100% + 300px wide and
|
|
162
|
-
// push its trailing edge past the viewport, on exactly the fixed-drawer
|
|
163
|
-
// layout this rule exists to preserve. The legacy bar had no width of
|
|
164
|
-
// its own, so the margin shrank it.
|
|
165
|
-
width: auto;
|
|
166
|
-
margin-inline-start: 300px;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
151
|
}
|
|
170
152
|
|
|
171
153
|
.search-view {
|
|
172
154
|
--md-comp-search-view-container-color: var(--md-sys-color-surface-container-high);
|
|
173
|
-
--md-comp-search-view-container-shape:
|
|
155
|
+
--md-comp-search-view-container-shape: var(--md-sys-shape-corner-medium);
|
|
174
156
|
--md-comp-search-view-header-height: 56px;
|
|
175
157
|
--md-comp-search-view-divider-color: var(--md-sys-color-outline);
|
|
176
158
|
--md-comp-search-view-bar-results-gap: 2px;
|
|
@@ -258,3 +240,22 @@ $_bar: ":is(.search-bar, .searchbar)";
|
|
|
258
240
|
backdrop-filter: none;
|
|
259
241
|
}
|
|
260
242
|
}
|
|
243
|
+
|
|
244
|
+
// The input inside clears its own focus ring, so the bar shows it.
|
|
245
|
+
:is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
|
|
246
|
+
@include focus-ring;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// Both surfaces are fills and shadows, which forced colors paint as Canvas and
|
|
250
|
+
// drop. A bar inside the view is part of the view's surface.
|
|
251
|
+
@media (forced-colors: active) {
|
|
252
|
+
:is(#{$_bar}):not(.search-view *),
|
|
253
|
+
.search-view {
|
|
254
|
+
outline: 1px solid CanvasText;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// The input inside clears its own focus ring.
|
|
258
|
+
:is(#{$_bar}):not(.search-view *):has(input:focus-visible) {
|
|
259
|
+
outline: 2px solid Highlight;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
@use "../abstracts" as *;
|
|
2
|
+
|
|
3
|
+
// Show more. Clamped text and the <button> that shows all of it; the ShowMore
|
|
4
|
+
// component hides the button with the hidden attribute while the text fits,
|
|
5
|
+
// which the button's own display rule would otherwise beat.
|
|
6
|
+
.show-more > button[hidden] {
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// Side sheets.
|
|
4
4
|
//
|
|
5
|
-
// Anatomy is the HTML. A dialog.side-sheet
|
|
5
|
+
// Anatomy is the HTML. A dialog.side-sheet is the
|
|
6
6
|
// surface, docked to the trailing edge by default. showModal() is the
|
|
7
7
|
// modal variant (scrim, rounded inner corners). show() is the standard
|
|
8
8
|
// variant (no scrim, a divider on the inner edge, page stays interactive).
|
|
@@ -21,38 +21,52 @@
|
|
|
21
21
|
// Standard is for large windows next to the main pane. Modal is for
|
|
22
22
|
// compact/medium, or whenever the sheet should interrupt.
|
|
23
23
|
|
|
24
|
-
$_sheet: "dialog.side-sheet
|
|
24
|
+
$_sheet: "dialog.side-sheet";
|
|
25
25
|
|
|
26
26
|
#{$_sheet} {
|
|
27
27
|
--md-comp-side-sheet-container-color: var(--md-sys-color-surface-container-low);
|
|
28
|
-
--md-comp-side-sheet-container-shape:
|
|
28
|
+
--md-comp-side-sheet-container-shape: var(--md-sys-shape-corner-extra-large);
|
|
29
29
|
--md-comp-side-sheet-container-width: 400px;
|
|
30
30
|
--md-comp-side-sheet-shift: 0px;
|
|
31
|
+
// Entry and drag snap-back run on the default spatial spring, which follows
|
|
32
|
+
// the motion="expressive" switch.
|
|
33
|
+
--md-comp-side-sheet-motion: var(--md-sys-motion-spring-default-spatial);
|
|
34
|
+
--md-comp-side-sheet-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
|
|
35
|
+
// A spatial spring overshoots, so the sheet runs on past its docked edge by
|
|
36
|
+
// this much, padded, and the overshoot never uncovers the page there.
|
|
37
|
+
--_bleed: 24px;
|
|
31
38
|
|
|
32
39
|
box-sizing: border-box;
|
|
33
40
|
position: fixed;
|
|
34
|
-
float: none !important;
|
|
35
41
|
inset-block: 0;
|
|
36
42
|
inset-inline-start: auto;
|
|
37
|
-
inset-inline-end:
|
|
38
|
-
width: min(var(--md-comp-side-sheet-container-width), 85%);
|
|
39
|
-
max-width: var(--md-comp-side-sheet-container-width);
|
|
43
|
+
inset-inline-end: calc(-1 * var(--_bleed));
|
|
44
|
+
width: calc(min(var(--md-comp-side-sheet-container-width), 85%) + var(--_bleed));
|
|
45
|
+
max-width: calc(var(--md-comp-side-sheet-container-width) + var(--_bleed));
|
|
40
46
|
height: auto;
|
|
41
47
|
max-height: none;
|
|
42
48
|
min-width: 0;
|
|
43
49
|
min-height: 0;
|
|
44
50
|
margin: 0;
|
|
45
51
|
padding: 0;
|
|
52
|
+
padding-inline-end: var(--_bleed);
|
|
46
53
|
border: none;
|
|
47
54
|
background-color: var(--md-comp-side-sheet-container-color);
|
|
48
55
|
color: var(--md-sys-color-on-surface);
|
|
49
56
|
outline: none;
|
|
50
57
|
translate: var(--md-comp-side-sheet-shift) 0;
|
|
51
|
-
transition: translate
|
|
58
|
+
transition: translate var(--md-comp-side-sheet-motion-duration) var(--md-comp-side-sheet-motion), border-radius var(--md-sys-motion-duration-short4) ease;
|
|
52
59
|
@include glass(var(--md-comp-side-sheet-container-color));
|
|
53
60
|
|
|
61
|
+
// Forced colors paint the fill as Canvas and drop the shadow, so the
|
|
62
|
+
// surface would blend into the page without an edge.
|
|
63
|
+
@media (forced-colors: active) {
|
|
64
|
+
outline: 1px solid CanvasText;
|
|
65
|
+
outline-offset: -1px;
|
|
66
|
+
}
|
|
67
|
+
|
|
54
68
|
&:not(:modal) {
|
|
55
|
-
z-index:
|
|
69
|
+
z-index: var(--expressive-z-sheet);
|
|
56
70
|
border-radius: 0;
|
|
57
71
|
box-shadow: none;
|
|
58
72
|
// Standard: attached to the page, inner edge is a divider.
|
|
@@ -72,11 +86,10 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
72
86
|
}
|
|
73
87
|
|
|
74
88
|
// Leading-edge dock.
|
|
75
|
-
&.left,
|
|
76
|
-
&.left-sheet,
|
|
77
89
|
&.start {
|
|
78
|
-
inset-inline-start:
|
|
90
|
+
inset-inline-start: calc(-1 * var(--_bleed));
|
|
79
91
|
inset-inline-end: auto;
|
|
92
|
+
padding-inline: var(--_bleed) 0;
|
|
80
93
|
|
|
81
94
|
&:not(:modal) {
|
|
82
95
|
border-inline-start: 0;
|
|
@@ -92,17 +105,12 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
92
105
|
}
|
|
93
106
|
|
|
94
107
|
> header {
|
|
95
|
-
|
|
96
|
-
align-items: center;
|
|
97
|
-
gap: 12px;
|
|
98
|
-
flex: 0 0 auto;
|
|
99
|
-
box-sizing: border-box;
|
|
100
|
-
min-height: 64px;
|
|
101
|
-
margin: 0;
|
|
108
|
+
@include header-bar(12px);
|
|
102
109
|
padding-block: 8px;
|
|
103
110
|
padding-inline: 24px 12px;
|
|
104
|
-
|
|
105
|
-
|
|
111
|
+
// A horizontal touch drag here dismisses the sheet; the browser would
|
|
112
|
+
// otherwise take it as a pan and cancel the pointer.
|
|
113
|
+
touch-action: pan-y;
|
|
106
114
|
}
|
|
107
115
|
|
|
108
116
|
> header:has(> :is(button, a):first-child) {
|
|
@@ -110,12 +118,8 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
110
118
|
}
|
|
111
119
|
|
|
112
120
|
> header > :is(h1, h2, h3, h4, h5, h6) {
|
|
113
|
-
|
|
114
|
-
min-width: 0;
|
|
115
|
-
margin: 0;
|
|
121
|
+
@include header-bar-headline;
|
|
116
122
|
padding: 0;
|
|
117
|
-
color: var(--md-sys-color-on-surface);
|
|
118
|
-
@include typescale("title-large");
|
|
119
123
|
}
|
|
120
124
|
|
|
121
125
|
> header > form {
|
|
@@ -130,30 +134,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
130
134
|
}
|
|
131
135
|
|
|
132
136
|
> header :is(button, a.button) {
|
|
133
|
-
|
|
134
|
-
box-sizing: border-box;
|
|
135
|
-
width: 48px;
|
|
136
|
-
height: 48px;
|
|
137
|
-
min-width: 48px;
|
|
138
|
-
padding: 0;
|
|
139
|
-
border: none;
|
|
140
|
-
border-radius: 50%;
|
|
141
|
-
background-color: transparent;
|
|
142
|
-
color: var(--md-sys-color-on-surface-variant);
|
|
143
|
-
box-shadow: none;
|
|
144
|
-
|
|
145
|
-
> #{$icon} {
|
|
146
|
-
font-size: 24px;
|
|
147
|
-
width: 24px;
|
|
148
|
-
height: 24px;
|
|
149
|
-
line-height: 24px;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
&:hover {
|
|
153
|
-
background-color: color-mix(in oklab, var(--md-sys-color-on-surface) state-opacity("hover"), transparent);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
@include focus-visible;
|
|
137
|
+
@include header-icon-action;
|
|
157
138
|
}
|
|
158
139
|
|
|
159
140
|
> :is(form, nav):last-child {
|
|
@@ -184,7 +165,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
184
165
|
translate: -100% 0;
|
|
185
166
|
}
|
|
186
167
|
|
|
187
|
-
|
|
168
|
+
&.start {
|
|
188
169
|
translate: -100% 0;
|
|
189
170
|
|
|
190
171
|
&:dir(rtl) {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@use "../abstracts" as *;
|
|
2
|
-
|
|
3
1
|
// Skeleton. An empty block that holds the place of content still loading,
|
|
4
2
|
// with a shimmer passing across it. The block has no text and nothing to
|
|
5
3
|
// announce: mark the region being filled with aria-busy="true", and report
|
|
@@ -25,29 +23,36 @@
|
|
|
25
23
|
var(--md-sys-color-surface) 50%,
|
|
26
24
|
transparent
|
|
27
25
|
);
|
|
28
|
-
--md-comp-skeleton-shape:
|
|
26
|
+
--md-comp-skeleton-shape: var(--md-sys-shape-corner-small);
|
|
29
27
|
--md-comp-skeleton-circle-size: 40px;
|
|
30
28
|
|
|
31
29
|
display: block;
|
|
30
|
+
position: relative;
|
|
31
|
+
overflow: clip;
|
|
32
32
|
box-sizing: border-box;
|
|
33
33
|
border-radius: var(--md-comp-skeleton-shape);
|
|
34
34
|
background-color: var(--md-comp-skeleton-color);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
// Transforming the gradient lets the compositor move it without repainting the fill.
|
|
36
|
+
&::before {
|
|
37
|
+
content: "";
|
|
38
|
+
position: absolute;
|
|
39
|
+
inset: 0 auto 0 0;
|
|
40
|
+
width: 50%;
|
|
41
|
+
background-image: linear-gradient(
|
|
42
|
+
90deg,
|
|
43
|
+
transparent 0%,
|
|
44
|
+
var(--md-comp-skeleton-shimmer-color) 50%,
|
|
45
|
+
transparent 100%
|
|
46
|
+
);
|
|
47
|
+
animation: skeleton-shimmer 1.5s linear infinite;
|
|
48
|
+
}
|
|
44
49
|
|
|
45
|
-
&:dir(rtl) {
|
|
50
|
+
&:dir(rtl)::before {
|
|
46
51
|
animation-direction: reverse;
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
&.text {
|
|
50
|
-
--md-comp-skeleton-shape:
|
|
55
|
+
--md-comp-skeleton-shape: var(--md-sys-shape-corner-extra-small);
|
|
51
56
|
|
|
52
57
|
width: 100%;
|
|
53
58
|
height: 1em;
|
|
@@ -65,9 +70,11 @@
|
|
|
65
70
|
border-radius: 50%;
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
@media (prefers-reduced-motion: reduce) {
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
|
|
74
|
+
&::before {
|
|
75
|
+
animation: none;
|
|
76
|
+
background-image: none;
|
|
77
|
+
}
|
|
71
78
|
}
|
|
72
79
|
|
|
73
80
|
@media (forced-colors: active) {
|
|
@@ -76,6 +83,6 @@
|
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
@keyframes skeleton-shimmer {
|
|
79
|
-
from {
|
|
80
|
-
to {
|
|
86
|
+
from { transform: translateX(-100%); }
|
|
87
|
+
to { transform: translateX(200%); }
|
|
81
88
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// Anatomy is the HTML. A .snackbar is the container. A <p> (or <span>,
|
|
6
6
|
// or loose text) is the supporting text. A trailing <button> is the
|
|
7
7
|
// action; a .circle button is the optional close. An optional leading
|
|
8
|
-
//
|
|
8
|
+
// icon comes first.
|
|
9
9
|
//
|
|
10
10
|
// Tokens follow https://m3.material.io/components/snackbar/specs
|
|
11
11
|
// container inverse-surface, 4dp corners, elevation 3, min 48dp
|
|
@@ -35,10 +35,9 @@ $_bar: ".snackbar";
|
|
|
35
35
|
align-items: stretch;
|
|
36
36
|
gap: 8px;
|
|
37
37
|
position: fixed;
|
|
38
|
-
z-index:
|
|
39
|
-
inset: auto var(--md-comp-snackbar-container-margin-
|
|
40
|
-
|
|
41
|
-
var(--md-comp-snackbar-container-margin-leading);
|
|
38
|
+
z-index: var(--expressive-z-snackbar);
|
|
39
|
+
inset-block: auto max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px));
|
|
40
|
+
inset-inline: var(--md-comp-snackbar-container-margin-leading) var(--md-comp-snackbar-container-margin-trailing);
|
|
42
41
|
width: auto;
|
|
43
42
|
max-width: calc(100% - var(--md-comp-snackbar-container-margin-leading) - var(--md-comp-snackbar-container-margin-trailing));
|
|
44
43
|
// The page stays browsable — only the bar itself receives pointer events.
|
|
@@ -72,7 +71,7 @@ $_bar: ".snackbar";
|
|
|
72
71
|
|
|
73
72
|
#{$_bar} {
|
|
74
73
|
--md-comp-snackbar-container-color: var(--md-sys-color-inverse-surface);
|
|
75
|
-
--md-comp-snackbar-container-shape:
|
|
74
|
+
--md-comp-snackbar-container-shape: var(--md-sys-shape-corner-extra-small);
|
|
76
75
|
--md-comp-snackbar-supporting-text-color: var(--md-sys-color-inverse-on-surface);
|
|
77
76
|
--md-comp-snackbar-action-label-text-color: var(--md-sys-color-inverse-primary);
|
|
78
77
|
--md-comp-snackbar-icon-color: var(--md-sys-color-inverse-on-surface);
|
|
@@ -91,7 +90,8 @@ $_bar: ".snackbar";
|
|
|
91
90
|
max-width: 672px;
|
|
92
91
|
min-height: 48px;
|
|
93
92
|
margin: 0;
|
|
94
|
-
padding: 4px
|
|
93
|
+
padding-block: 4px;
|
|
94
|
+
padding-inline: 16px 8px;
|
|
95
95
|
border: none;
|
|
96
96
|
border-radius: var(--md-comp-snackbar-container-shape);
|
|
97
97
|
background-color: var(--md-comp-snackbar-container-color);
|
|
@@ -101,6 +101,13 @@ $_bar: ".snackbar";
|
|
|
101
101
|
cursor: default;
|
|
102
102
|
@include glass(var(--md-comp-snackbar-container-color));
|
|
103
103
|
|
|
104
|
+
// Forced colors paint the fill as Canvas and drop the shadow, so the
|
|
105
|
+
// surface would blend into the page without an edge.
|
|
106
|
+
@media (forced-colors: active) {
|
|
107
|
+
outline: 1px solid CanvasText;
|
|
108
|
+
outline-offset: -1px;
|
|
109
|
+
}
|
|
110
|
+
|
|
104
111
|
@include bp-up("medium") {
|
|
105
112
|
width: max-content;
|
|
106
113
|
min-width: min(344px, 100%);
|
|
@@ -124,10 +131,7 @@ $_bar: ".snackbar";
|
|
|
124
131
|
// Optional leading icon. M3 snackbars have no leading icon.
|
|
125
132
|
> #{$icon}:first-child {
|
|
126
133
|
flex: 0 0 auto;
|
|
127
|
-
|
|
128
|
-
width: 24px;
|
|
129
|
-
height: 24px;
|
|
130
|
-
line-height: 24px;
|
|
134
|
+
@include icon-size(rem(24px));
|
|
131
135
|
color: var(--md-comp-snackbar-icon-color);
|
|
132
136
|
}
|
|
133
137
|
|
|
@@ -158,19 +162,19 @@ $_bar: ".snackbar";
|
|
|
158
162
|
min-width: 48px;
|
|
159
163
|
padding: 0 12px;
|
|
160
164
|
border: none;
|
|
161
|
-
border-radius:
|
|
165
|
+
border-radius: var(--md-sys-shape-corner-large-increased);
|
|
162
166
|
background-color: transparent;
|
|
163
167
|
color: var(--md-comp-snackbar-action-label-text-color);
|
|
164
168
|
box-shadow: none;
|
|
165
169
|
@include typescale("label-large");
|
|
166
170
|
|
|
167
171
|
&:hover {
|
|
168
|
-
background-color:
|
|
172
|
+
background-color: state-layer(var(--md-sys-color-inverse-primary), "hover");
|
|
169
173
|
}
|
|
170
174
|
|
|
171
175
|
&:active,
|
|
172
176
|
&:focus {
|
|
173
|
-
background-color:
|
|
177
|
+
background-color: state-layer(var(--md-sys-color-inverse-primary), "focus");
|
|
174
178
|
}
|
|
175
179
|
|
|
176
180
|
&:focus-visible {
|
|
@@ -193,19 +197,16 @@ $_bar: ".snackbar";
|
|
|
193
197
|
box-shadow: none;
|
|
194
198
|
|
|
195
199
|
> #{$icon} {
|
|
196
|
-
|
|
197
|
-
width: 24px;
|
|
198
|
-
height: 24px;
|
|
199
|
-
line-height: 24px;
|
|
200
|
+
@include icon-size(rem(24px));
|
|
200
201
|
}
|
|
201
202
|
|
|
202
203
|
&:hover {
|
|
203
|
-
background-color:
|
|
204
|
+
background-color: state-layer(var(--md-sys-color-inverse-on-surface), "hover");
|
|
204
205
|
}
|
|
205
206
|
|
|
206
207
|
&:active,
|
|
207
208
|
&:focus {
|
|
208
|
-
background-color:
|
|
209
|
+
background-color: state-layer(var(--md-sys-color-inverse-on-surface), "focus");
|
|
209
210
|
}
|
|
210
211
|
|
|
211
212
|
&:focus-visible {
|
|
@@ -235,7 +236,7 @@ $_bar: ".snackbar";
|
|
|
235
236
|
// Default: bottom of the UI, centered from the Medium breakpoint.
|
|
236
237
|
#{$_bar}.active {
|
|
237
238
|
position: fixed;
|
|
238
|
-
z-index:
|
|
239
|
+
z-index: var(--expressive-z-snackbar);
|
|
239
240
|
left: 50%;
|
|
240
241
|
right: auto;
|
|
241
242
|
bottom: 24px;
|
|
@@ -264,3 +265,6 @@ $_bar: ".snackbar";
|
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
}
|
|
268
|
+
|
|
269
|
+
// Transient messages are not part of the page.
|
|
270
|
+
#snackbar-container { @include print-hidden; }
|
|
@@ -85,14 +85,14 @@ $_sizes: (
|
|
|
85
85
|
|
|
86
86
|
--md-comp-split-button-leading-button-trailing-space: #{map.get($s, lead-end)};
|
|
87
87
|
--md-comp-split-button-trailing-button-space: #{map.get($s, trail-space)};
|
|
88
|
-
--md-comp-split-button-trailing-icon-size: #{map.get($s, trail-icon)};
|
|
88
|
+
--md-comp-split-button-trailing-icon-size: #{rem(map.get($s, trail-icon))};
|
|
89
89
|
--md-comp-split-button-inner-corner-corner-size: #{map.get($s, inner)};
|
|
90
90
|
--md-comp-split-button-inner-pressed-corner-corner-size: #{map.get($s, swollen)};
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.split-button {
|
|
94
94
|
--md-comp-split-button-between-space: 2px;
|
|
95
|
-
--md-comp-split-button-container-shape:
|
|
95
|
+
--md-comp-split-button-container-shape: var(--md-sys-shape-corner-full);
|
|
96
96
|
|
|
97
97
|
@include button-size("small");
|
|
98
98
|
@include _split-size("small");
|
|
@@ -128,8 +128,8 @@ $_sizes: (
|
|
|
128
128
|
// property list replaces it wholesale, so both have to be named again or
|
|
129
129
|
// an `.elevated` split button snaps its shadow where every other elevated
|
|
130
130
|
// button eases it.
|
|
131
|
-
transition: border-radius
|
|
132
|
-
box-shadow
|
|
131
|
+
transition: border-radius var(--md-sys-motion-duration-short4) ease-out, background-color var(--md-sys-motion-duration-short4) ease-out,
|
|
132
|
+
box-shadow var(--md-sys-motion-duration-short4) ease-out;
|
|
133
133
|
|
|
134
134
|
// M3 gives hovered and pressed the same swollen corner.
|
|
135
135
|
&:hover,
|
|
@@ -178,7 +178,7 @@ $_sizes: (
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
> #{$icon} {
|
|
181
|
-
transition: transform
|
|
181
|
+
transition: transform var(--md-sys-motion-duration-short4) ease-out;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
&[aria-expanded="true"] > #{$icon} {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
.stats {
|
|
18
18
|
--md-comp-stat-container-color: var(--md-sys-color-surface-container-low);
|
|
19
|
-
--md-comp-stat-shape:
|
|
20
|
-
--md-comp-stat-min-width: 160px;
|
|
19
|
+
--md-comp-stat-shape: var(--md-sys-shape-corner-large);
|
|
20
|
+
--md-comp-stat-min-width: #{rem(160px)};
|
|
21
21
|
|
|
22
22
|
display: grid;
|
|
23
23
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--md-comp-stat-min-width)), 1fr));
|
|
@@ -56,12 +56,7 @@
|
|
|
56
56
|
@include typescale("label-large");
|
|
57
57
|
|
|
58
58
|
&:is(.up, .down)::before {
|
|
59
|
-
|
|
60
|
-
flex: none;
|
|
61
|
-
width: 18px;
|
|
62
|
-
height: 18px;
|
|
63
|
-
background-color: currentColor;
|
|
64
|
-
mask: $trend-arrow center / 18px no-repeat;
|
|
59
|
+
@include trend-arrow;
|
|
65
60
|
}
|
|
66
61
|
|
|
67
62
|
&.down::before {
|
|
@@ -97,7 +97,7 @@ $_stepper-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/sv
|
|
|
97
97
|
|
|
98
98
|
> a {
|
|
99
99
|
color: inherit;
|
|
100
|
-
border-radius:
|
|
100
|
+
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
101
101
|
text-decoration: underline;
|
|
102
102
|
text-underline-offset: 2px;
|
|
103
103
|
@include focus-visible;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@use "../abstracts" as *;
|
|
2
|
+
|
|
3
|
+
// Swipe actions. A touch swipe toward a row's inline start slides the row and
|
|
4
|
+
// brings its `.swipe-actions` group in from the inline end. The
|
|
5
|
+
// `[data-swipe-toggle]` button does the same without a swipe.
|
|
6
|
+
//
|
|
7
|
+
// <ul class="list swipeable" aria-label="Inbox">
|
|
8
|
+
// <li>
|
|
9
|
+
// Label
|
|
10
|
+
// <button type="button" class="icon-button" data-swipe-toggle aria-label="Actions for Label">…</button>
|
|
11
|
+
// <span class="swipe-actions">
|
|
12
|
+
// <button type="button" class="icon-button" aria-label="Archive Label">…</button>
|
|
13
|
+
// </span>
|
|
14
|
+
// </li>
|
|
15
|
+
// </ul>
|
|
16
|
+
//
|
|
17
|
+
// The group waits just past the row's inline end and slides with it, so the
|
|
18
|
+
// two never overlap. The script sets `--swipe-offset` on the row, adds
|
|
19
|
+
// `.swiping` while a finger is down and `.swipe-open` while it is open.
|
|
20
|
+
//
|
|
21
|
+
// Tokens:
|
|
22
|
+
// --md-comp-swipe-actions-gap 4px between the actions
|
|
23
|
+
// --md-comp-swipe-actions-motion default spatial spring, for opening and closing
|
|
24
|
+
// --md-comp-swipe-actions-motion-duration its duration
|
|
25
|
+
|
|
26
|
+
.list.swipeable {
|
|
27
|
+
--md-comp-swipe-actions-gap: 4px;
|
|
28
|
+
--md-comp-swipe-actions-motion: var(--md-sys-motion-spring-default-spatial);
|
|
29
|
+
--md-comp-swipe-actions-motion-duration: var(--md-sys-motion-spring-default-spatial-duration);
|
|
30
|
+
|
|
31
|
+
// Clip, not hidden: a hidden list would scroll to an action that takes
|
|
32
|
+
// focus, and the row opening is what brings it into view.
|
|
33
|
+
overflow-x: clip;
|
|
34
|
+
|
|
35
|
+
> li:has(> .swipe-actions) {
|
|
36
|
+
position: relative;
|
|
37
|
+
translate: var(--swipe-offset, 0px) 0;
|
|
38
|
+
transition:
|
|
39
|
+
background-color var(--md-sys-motion-duration-short4) ease-out,
|
|
40
|
+
translate var(--md-comp-swipe-actions-motion-duration) var(--md-comp-swipe-actions-motion);
|
|
41
|
+
|
|
42
|
+
// The row follows the finger.
|
|
43
|
+
&.swiping {
|
|
44
|
+
transition: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// The toggle is the trailing action, though the group comes after it.
|
|
48
|
+
> [data-swipe-toggle] {
|
|
49
|
+
grid-column: 3;
|
|
50
|
+
grid-row: 1 / -1;
|
|
51
|
+
justify-self: end;
|
|
52
|
+
align-self: center;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
> .swipe-actions {
|
|
56
|
+
position: absolute;
|
|
57
|
+
inset-block: 0;
|
|
58
|
+
inset-inline-start: 100%;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
gap: var(--md-comp-swipe-actions-gap);
|
|
62
|
+
padding-inline: var(--md-comp-swipe-actions-gap);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@media (prefers-reduced-motion: reduce) {
|
|
68
|
+
.list.swipeable > li:has(> .swipe-actions) {
|
|
69
|
+
transition: none;
|
|
70
|
+
}
|
|
71
|
+
}
|