@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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Toolbars (M3 Expressive).
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A <div class="toolbar"> is the bar. Direct
|
|
6
|
-
// <button> / <a> children are the actions. An
|
|
6
|
+
// <button> / <a> children are the actions. An icon is a .material-symbols span; wrap a
|
|
7
7
|
// label in <span>. .active marks the selected action. A .filled action
|
|
8
8
|
// is the emphasized control (the in-bar FAB). Helpers are only for
|
|
9
9
|
// variants markup cannot express: .docked, .vibrant, .vertical, .fixed,
|
|
@@ -53,12 +53,11 @@
|
|
|
53
53
|
// form is the older markup and still works.
|
|
54
54
|
$_toolbar: ".toolbar";
|
|
55
55
|
|
|
56
|
-
// The two axes.
|
|
57
|
-
|
|
58
|
-
$
|
|
59
|
-
$
|
|
60
|
-
$
|
|
61
|
-
$_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
56
|
+
// The two axes.
|
|
57
|
+
$_floating: "#{$_toolbar}:is(.floating, :not(.docked))";
|
|
58
|
+
$_docked: "#{$_toolbar}.docked";
|
|
59
|
+
$_standard: "#{$_toolbar}:is(.standard, :not(.vibrant))";
|
|
60
|
+
$_vibrant: "#{$_toolbar}.vibrant";
|
|
62
61
|
|
|
63
62
|
#{$_toolbar} {
|
|
64
63
|
// Shared across all four variants. --md-comp-toolbar-color stands for
|
|
@@ -116,25 +115,23 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
116
115
|
|
|
117
116
|
> #{$icon} {
|
|
118
117
|
flex: 0 0 auto;
|
|
119
|
-
|
|
120
|
-
width: var(--md-comp-toolbar-icon-size);
|
|
121
|
-
height: var(--md-comp-toolbar-icon-size);
|
|
122
|
-
line-height: var(--md-comp-toolbar-icon-size);
|
|
118
|
+
@include icon-size(var(--md-comp-toolbar-icon-size));
|
|
123
119
|
}
|
|
124
120
|
|
|
125
121
|
// The state layer is the content color in both color sets, which is
|
|
126
122
|
// what currentColor already is on an action that has not been filled.
|
|
127
123
|
&:hover:not(.active, .filled) {
|
|
128
|
-
background-color:
|
|
124
|
+
background-color: state-layer(currentColor, "hover");
|
|
129
125
|
}
|
|
130
126
|
|
|
131
127
|
&:active:not(.active, .filled) {
|
|
132
|
-
background-color:
|
|
128
|
+
background-color: state-layer(currentColor, "pressed");
|
|
133
129
|
}
|
|
134
130
|
|
|
135
131
|
&.active {
|
|
136
132
|
background-color: var(--md-comp-toolbar-selected-container-color);
|
|
137
133
|
color: var(--md-comp-toolbar-selected-color);
|
|
134
|
+
@include forced-colors-selected;
|
|
138
135
|
}
|
|
139
136
|
|
|
140
137
|
&:disabled {
|
|
@@ -158,23 +155,15 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
158
155
|
> :is(a, button).filled:not(.extra, .icon-button) {
|
|
159
156
|
background-color: var(--md-sys-color-primary);
|
|
160
157
|
color: var(--md-sys-color-on-primary);
|
|
161
|
-
border-radius:
|
|
158
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
162
159
|
box-shadow: none;
|
|
163
160
|
|
|
164
161
|
&:hover {
|
|
165
|
-
background-color: color-
|
|
166
|
-
in oklab,
|
|
167
|
-
var(--md-sys-color-on-primary) state-opacity("hover"),
|
|
168
|
-
var(--md-sys-color-primary)
|
|
169
|
-
);
|
|
162
|
+
background-color: state-layer(var(--md-sys-color-on-primary), "hover", var(--md-sys-color-primary));
|
|
170
163
|
}
|
|
171
164
|
|
|
172
165
|
&:active {
|
|
173
|
-
background-color: color-
|
|
174
|
-
in oklab,
|
|
175
|
-
var(--md-sys-color-on-primary) state-opacity("pressed"),
|
|
176
|
-
var(--md-sys-color-primary)
|
|
177
|
-
);
|
|
166
|
+
background-color: state-layer(var(--md-sys-color-on-primary), "pressed", var(--md-sys-color-primary));
|
|
178
167
|
}
|
|
179
168
|
}
|
|
180
169
|
|
|
@@ -182,7 +171,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
182
171
|
height: 40px;
|
|
183
172
|
min-height: 40px;
|
|
184
173
|
padding: 0 24px;
|
|
185
|
-
border-radius:
|
|
174
|
+
border-radius: var(--md-sys-shape-corner-large-increased);
|
|
186
175
|
width: auto;
|
|
187
176
|
}
|
|
188
177
|
|
|
@@ -194,8 +183,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
194
183
|
margin: 0;
|
|
195
184
|
}
|
|
196
185
|
|
|
197
|
-
// Spacer between leading and trailing actions
|
|
198
|
-
// spacer; on the bar itself it is the docked alias.
|
|
186
|
+
// Spacer between leading and trailing actions: a `.max` child.
|
|
199
187
|
> .max {
|
|
200
188
|
flex: 1 1 auto;
|
|
201
189
|
align-self: stretch;
|
|
@@ -209,7 +197,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
209
197
|
// vertical bar the container is 64dp wide and arbitrarily tall, where 9999px
|
|
210
198
|
// would round the long edge into an oval.
|
|
211
199
|
#{$_floating} {
|
|
212
|
-
--md-comp-toolbar-container-shape:
|
|
200
|
+
--md-comp-toolbar-container-shape: var(--md-sys-shape-corner-extra-large-increased);
|
|
213
201
|
--md-comp-toolbar-leading-space: 8px;
|
|
214
202
|
--md-comp-toolbar-trailing-space: 8px;
|
|
215
203
|
--md-comp-toolbar-external-space: 16px;
|
|
@@ -302,33 +290,34 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
302
290
|
color: var(--md-comp-toolbar-floating-fab-icon-color);
|
|
303
291
|
@include z-depth("1");
|
|
304
292
|
|
|
293
|
+
// A disabled FAB without .circle misses the (0,3,0) FAB disabled arm in
|
|
294
|
+
// _buttons.scss, and this block's level 1 would win at rest. aria-disabled
|
|
295
|
+
// is included so the FAB's own focus tint does not show through.
|
|
296
|
+
&#{$expressive-disabled} {
|
|
297
|
+
@include btn-disabled;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// aria-disabled keeps pointer events so hover help still reaches it.
|
|
301
|
+
&[aria-disabled="true"] {
|
|
302
|
+
pointer-events: auto;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// State arms skip a disabled FAB, which they would otherwise outrank.
|
|
305
306
|
// One opacity per state. All three arms are needed, bare `:focus`
|
|
306
307
|
// included: .extra.circle draws its own `:active, :focus` tint over
|
|
307
308
|
// primary-container, and leaving either uncovered would flash the FAB's
|
|
308
309
|
// default colour through a click on this one.
|
|
309
|
-
&:hover {
|
|
310
|
-
background-color: color-
|
|
311
|
-
in oklab,
|
|
312
|
-
var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("hover"),
|
|
313
|
-
var(--md-comp-toolbar-floating-fab-container-color)
|
|
314
|
-
);
|
|
310
|
+
&:hover:not(:where(#{$expressive-disabled})) {
|
|
311
|
+
background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "hover", var(--md-comp-toolbar-floating-fab-container-color));
|
|
315
312
|
@include z-depth("2");
|
|
316
313
|
}
|
|
317
314
|
|
|
318
|
-
&:focus {
|
|
319
|
-
background-color: color-
|
|
320
|
-
in oklab,
|
|
321
|
-
var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("focus"),
|
|
322
|
-
var(--md-comp-toolbar-floating-fab-container-color)
|
|
323
|
-
);
|
|
315
|
+
&:focus:not(:where(#{$expressive-disabled})) {
|
|
316
|
+
background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "focus", var(--md-comp-toolbar-floating-fab-container-color));
|
|
324
317
|
}
|
|
325
318
|
|
|
326
|
-
&:active {
|
|
327
|
-
background-color: color-
|
|
328
|
-
in oklab,
|
|
329
|
-
var(--md-comp-toolbar-floating-fab-icon-color) state-opacity("pressed"),
|
|
330
|
-
var(--md-comp-toolbar-floating-fab-container-color)
|
|
331
|
-
);
|
|
319
|
+
&:active:not(:where(#{$expressive-disabled})) {
|
|
320
|
+
background-color: state-layer(var(--md-comp-toolbar-floating-fab-icon-color), "pressed", var(--md-comp-toolbar-floating-fab-container-color));
|
|
332
321
|
}
|
|
333
322
|
}
|
|
334
323
|
}
|
|
@@ -347,7 +336,7 @@ $_vibrant: "#{$_toolbar}:is(.vibrant, .filled)";
|
|
|
347
336
|
// has no rule - a bar naming it falls through to the one above.
|
|
348
337
|
#{$_toolbar}.fixed {
|
|
349
338
|
position: fixed;
|
|
350
|
-
z-index:
|
|
339
|
+
z-index: var(--expressive-z-toolbar);
|
|
351
340
|
inset: auto auto var(--md-comp-toolbar-external-space) 50%;
|
|
352
341
|
transform: translateX(-50%);
|
|
353
342
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Anatomy is the HTML. A child .tooltip is the bubble — no .tooltipped
|
|
6
6
|
// required. Helpers are only for placement and the rich variant:
|
|
7
|
-
// .top (default), .bottom, .left, .right, .rich
|
|
7
|
+
// .top (default), .bottom, .left, .right, .rich.
|
|
8
8
|
//
|
|
9
9
|
// Tokens follow https://m3.material.io/components/tooltips/specs
|
|
10
10
|
// plain inverse-surface / inverse-on-surface, 4dp, body-small
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
// gap 4dp from the activator
|
|
15
15
|
//
|
|
16
16
|
// The JS plugin still exists: .tooltipped + data-tooltip, AutoInit,
|
|
17
|
-
// class .tooltip appended to <body
|
|
17
|
+
// class .tooltip appended to <body>, or to the shadow root its trigger lives
|
|
18
|
+
// in. There is no data-html / unsafeHTML.
|
|
18
19
|
|
|
19
20
|
.tooltip {
|
|
20
21
|
--md-comp-plain-tooltip-container-color: var(--md-sys-color-inverse-surface);
|
|
21
22
|
--md-comp-plain-tooltip-supporting-text-color: var(--md-sys-color-inverse-on-surface);
|
|
22
|
-
--md-comp-plain-tooltip-container-shape:
|
|
23
|
+
--md-comp-plain-tooltip-container-shape: var(--md-sys-shape-corner-extra-small);
|
|
23
24
|
--md-comp-tooltip-anchor-gap: 4px;
|
|
24
25
|
|
|
25
26
|
box-sizing: border-box;
|
|
@@ -40,8 +41,15 @@
|
|
|
40
41
|
white-space: normal;
|
|
41
42
|
overflow-wrap: anywhere;
|
|
42
43
|
pointer-events: auto;
|
|
43
|
-
z-index:
|
|
44
|
+
z-index: var(--expressive-z-tooltip);
|
|
44
45
|
@include glass(var(--md-comp-plain-tooltip-container-color));
|
|
46
|
+
|
|
47
|
+
// Forced colors paint the fill as Canvas and drop the shadow, so the
|
|
48
|
+
// surface would blend into the page without an edge.
|
|
49
|
+
@media (forced-colors: active) {
|
|
50
|
+
outline: 1px solid CanvasText;
|
|
51
|
+
outline-offset: -1px;
|
|
52
|
+
}
|
|
45
53
|
}
|
|
46
54
|
|
|
47
55
|
// CSS-only: a child of the activator. Default sits above (M3 preferred).
|
|
@@ -52,7 +60,7 @@
|
|
|
52
60
|
// Only shrink-wrap typical activators. A stray .tooltip as a section
|
|
53
61
|
// child must not turn the section into inline-flex (invalid <p><div>
|
|
54
62
|
// gets hoisted and would match).
|
|
55
|
-
:is(button, a, span, label
|
|
63
|
+
:is(button, a, span, label):has(> .tooltip) {
|
|
56
64
|
display: inline-flex;
|
|
57
65
|
}
|
|
58
66
|
|
|
@@ -62,7 +70,7 @@
|
|
|
62
70
|
opacity: 0;
|
|
63
71
|
inset: 0 auto auto 50%;
|
|
64
72
|
transform: translate(-50%, calc(-100% - var(--md-comp-tooltip-anchor-gap))) scale(0.96);
|
|
65
|
-
transition: opacity
|
|
73
|
+
transition: opacity var(--md-sys-motion-duration-short3) ease-out, transform var(--md-sys-motion-duration-short3) ease-out, visibility 0s linear var(--md-sys-motion-duration-short3);
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
:not(body) > .tooltip.bottom {
|
|
@@ -107,9 +115,12 @@
|
|
|
107
115
|
transform: translate(calc(100% + var(--md-comp-tooltip-anchor-gap)), -50%) scale(1);
|
|
108
116
|
}
|
|
109
117
|
|
|
110
|
-
// JS plugin: appended to <body
|
|
111
|
-
// child-positioning rules; they would fight the inline transform.
|
|
112
|
-
|
|
118
|
+
// JS plugin: appended to <body> or a shadow root, top/left set in script. Do
|
|
119
|
+
// not use the child-positioning rules; they would fight the inline transform.
|
|
120
|
+
// A shadow root's top-level elements have no parent element, so neither
|
|
121
|
+
// `body >` nor `:not(body) >` reaches them; `:host >` does.
|
|
122
|
+
body > .tooltip,
|
|
123
|
+
:host > .tooltip {
|
|
113
124
|
position: absolute;
|
|
114
125
|
left: 0;
|
|
115
126
|
top: 0;
|
|
@@ -119,10 +130,9 @@ body > .tooltip {
|
|
|
119
130
|
}
|
|
120
131
|
|
|
121
132
|
// Rich tooltip — title, supporting text, optional action.
|
|
122
|
-
.tooltip.rich
|
|
123
|
-
.tooltip.max {
|
|
133
|
+
.tooltip.rich {
|
|
124
134
|
--md-comp-rich-tooltip-container-color: var(--md-sys-color-surface-container);
|
|
125
|
-
--md-comp-rich-tooltip-container-shape:
|
|
135
|
+
--md-comp-rich-tooltip-container-shape: var(--md-sys-shape-corner-medium);
|
|
126
136
|
|
|
127
137
|
display: flex;
|
|
128
138
|
flex-direction: column;
|
|
@@ -179,3 +189,6 @@ body > .tooltip {
|
|
|
179
189
|
.tooltip-content {
|
|
180
190
|
min-width: 0;
|
|
181
191
|
}
|
|
192
|
+
|
|
193
|
+
// Transient messages are not part of the page.
|
|
194
|
+
.tooltip { @include print-hidden; }
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
@use "../abstracts" as *;
|
|
2
|
+
|
|
3
|
+
// Tour. A card that walks people through an interface one step at a time,
|
|
4
|
+
// beside the element each step explains. The card is a .tour
|
|
5
|
+
// [popover="manual"] holding a <section> per step, an optional .tour-progress
|
|
6
|
+
// line, a .tour-actions row and an optional close .icon-button; the Tour
|
|
7
|
+
// behavior shows one section, writes the progress and gives the current
|
|
8
|
+
// target the anchor the card is placed against. The target gets .tour-target,
|
|
9
|
+
// a ring that marks what the step is about.
|
|
10
|
+
//
|
|
11
|
+
// Tokens:
|
|
12
|
+
// --md-comp-tour-container-color surface-container-high
|
|
13
|
+
// --md-comp-tour-shape 16px
|
|
14
|
+
// --md-comp-tour-max-width 360px
|
|
15
|
+
// --md-comp-tour-gap 12px (from the target)
|
|
16
|
+
|
|
17
|
+
.tour {
|
|
18
|
+
--md-comp-tour-container-color: var(--md-sys-color-surface-container-high);
|
|
19
|
+
--md-comp-tour-shape: var(--md-sys-shape-corner-large);
|
|
20
|
+
--md-comp-tour-max-width: 360px;
|
|
21
|
+
--md-comp-tour-gap: 12px;
|
|
22
|
+
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
inline-size: max-content;
|
|
25
|
+
max-inline-size: min(var(--md-comp-tour-max-width), calc(100vw - 32px));
|
|
26
|
+
inset: auto;
|
|
27
|
+
margin: var(--md-comp-tour-gap);
|
|
28
|
+
padding: 20px 24px 16px;
|
|
29
|
+
border: 0;
|
|
30
|
+
border-radius: var(--md-comp-tour-shape);
|
|
31
|
+
background-color: var(--md-comp-tour-container-color);
|
|
32
|
+
color: var(--md-sys-color-on-surface);
|
|
33
|
+
@include z-depth("3");
|
|
34
|
+
@include typescale("body-medium");
|
|
35
|
+
|
|
36
|
+
position-anchor: --tour-target;
|
|
37
|
+
position-area: block-end;
|
|
38
|
+
position-try-fallbacks: flip-block, inline-end, inline-start;
|
|
39
|
+
|
|
40
|
+
&:focus {
|
|
41
|
+
outline: none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// The behavior hides steps and buttons with the hidden attribute, which a
|
|
45
|
+
// button's own display rule would otherwise beat.
|
|
46
|
+
[hidden] {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
> section > :is(h1, h2, h3, h4, h5, h6) {
|
|
51
|
+
margin: 0 0 8px;
|
|
52
|
+
padding-inline-end: 32px;
|
|
53
|
+
@include typescale("title-medium");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
> section > p {
|
|
57
|
+
margin: 0;
|
|
58
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
> .tour-progress {
|
|
62
|
+
margin: 16px 0 0;
|
|
63
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
64
|
+
@include typescale("label-medium");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
> .tour-actions {
|
|
68
|
+
display: flex;
|
|
69
|
+
flex-wrap: wrap;
|
|
70
|
+
justify-content: flex-end;
|
|
71
|
+
gap: 8px;
|
|
72
|
+
margin-block-start: 12px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
> .icon-button:last-child {
|
|
76
|
+
position: absolute;
|
|
77
|
+
inset-block-start: 8px;
|
|
78
|
+
inset-inline-end: 8px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@media (forced-colors: active) {
|
|
82
|
+
border: 1px solid CanvasText;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.tour-target {
|
|
87
|
+
outline: 3px solid var(--md-sys-color-primary);
|
|
88
|
+
outline-offset: 4px;
|
|
89
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
@use "../abstracts" as *;
|
|
2
|
+
|
|
3
|
+
// Transfer list. Two lists of checkbox rows with the buttons that move rows
|
|
4
|
+
// between them in the middle. The rows are `.list` label rows, so a checked
|
|
5
|
+
// row already shows the selected pill.
|
|
6
|
+
//
|
|
7
|
+
// <div class="transfer-list" data-name="toppings">
|
|
8
|
+
// <ul class="list transfer-available" aria-label="Available toppings">
|
|
9
|
+
// <li><label><input type="checkbox" value="olives"> Olives</label></li>
|
|
10
|
+
// </ul>
|
|
11
|
+
// <div class="transfer-actions">
|
|
12
|
+
// <button type="button" class="icon-button" data-transfer="add" aria-label="Add checked toppings">…</button>
|
|
13
|
+
// </div>
|
|
14
|
+
// <ul class="list transfer-chosen" aria-label="Chosen toppings"></ul>
|
|
15
|
+
// </div>
|
|
16
|
+
//
|
|
17
|
+
// The grid follows the page direction, so the available list is at the
|
|
18
|
+
// inline start, and the icons flip in a right-to-left page to keep pointing
|
|
19
|
+
// at the list they move rows to. Below the medium window size the lists stack
|
|
20
|
+
// with the buttons in a row between them.
|
|
21
|
+
//
|
|
22
|
+
// Tokens:
|
|
23
|
+
// --md-comp-transfer-list-gap 16px between the lists and the buttons
|
|
24
|
+
// --md-comp-transfer-list-max-block-size 20rem a list scrolls past this height
|
|
25
|
+
// --md-comp-transfer-list-shape medium corner of each list's outline
|
|
26
|
+
|
|
27
|
+
.transfer-list {
|
|
28
|
+
--md-comp-transfer-list-gap: 16px;
|
|
29
|
+
--md-comp-transfer-list-max-block-size: #{rem(320px)};
|
|
30
|
+
--md-comp-transfer-list-shape: var(--md-sys-shape-corner-medium);
|
|
31
|
+
|
|
32
|
+
display: grid;
|
|
33
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
34
|
+
gap: var(--md-comp-transfer-list-gap);
|
|
35
|
+
align-items: center;
|
|
36
|
+
|
|
37
|
+
> .transfer-available,
|
|
38
|
+
> .transfer-chosen {
|
|
39
|
+
align-self: stretch;
|
|
40
|
+
min-block-size: rem(120px);
|
|
41
|
+
max-block-size: var(--md-comp-transfer-list-max-block-size);
|
|
42
|
+
margin: 0;
|
|
43
|
+
overflow-y: auto;
|
|
44
|
+
border: 1px solid var(--md-sys-color-outline-variant);
|
|
45
|
+
border-radius: var(--md-comp-transfer-list-shape);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
> .transfer-actions {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
gap: 4px;
|
|
52
|
+
|
|
53
|
+
.material-symbols:dir(rtl) {
|
|
54
|
+
scale: -1 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@include bp-down("medium") {
|
|
59
|
+
grid-template-columns: minmax(0, 1fr);
|
|
60
|
+
|
|
61
|
+
> .transfer-actions {
|
|
62
|
+
flex-direction: row;
|
|
63
|
+
justify-content: center;
|
|
64
|
+
|
|
65
|
+
// Down and up, toward the list each button moves rows to.
|
|
66
|
+
.material-symbols,
|
|
67
|
+
.material-symbols:dir(rtl) {
|
|
68
|
+
rotate: 90deg;
|
|
69
|
+
scale: none;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// !important because the class must replace the transition of whatever
|
|
2
|
+
// component it is added to (.button, .fab, ...), at any specificity.
|
|
3
3
|
.scale-transition {
|
|
4
|
-
transition: transform
|
|
4
|
+
transition: transform var(--md-sys-motion-duration-medium2) cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
|
|
5
5
|
|
|
6
6
|
&.scale-out {
|
|
7
7
|
transform: scale(0);
|
|
8
|
-
transition: transform
|
|
8
|
+
transition: transform var(--md-sys-motion-duration-short4) !important;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
&.scale-in {
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
// --md-comp-tree-guide-color outline-variant
|
|
16
16
|
// --md-comp-tree-selected-container-color secondary-container
|
|
17
17
|
|
|
18
|
-
$_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15.4 6 9.4 7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E");
|
|
19
|
-
|
|
20
18
|
.tree {
|
|
21
19
|
--md-comp-tree-row-height: 40px;
|
|
22
20
|
--md-comp-tree-row-shape: 100px;
|
|
@@ -31,12 +29,10 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
|
|
|
31
29
|
// Each level hangs a guide line from the centre of its parent's chevron
|
|
32
30
|
// (12px inset + half the 20px chevron) and indents past it.
|
|
33
31
|
ul {
|
|
34
|
-
|
|
32
|
+
@include list-reset;
|
|
35
33
|
margin-inline-start: 22px;
|
|
36
|
-
padding: 0;
|
|
37
34
|
padding-inline-start: 6px;
|
|
38
35
|
border-inline-start: 1px solid var(--md-comp-tree-guide-color);
|
|
39
|
-
list-style: none;
|
|
40
36
|
}
|
|
41
37
|
|
|
42
38
|
li {
|
|
@@ -58,7 +54,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
|
|
|
58
54
|
|
|
59
55
|
> #{$icon} {
|
|
60
56
|
flex: none;
|
|
61
|
-
font-size: 20px;
|
|
57
|
+
font-size: rem(20px);
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
60
|
|
|
@@ -71,14 +67,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
|
|
|
71
67
|
li > details > summary {
|
|
72
68
|
cursor: pointer;
|
|
73
69
|
@include focus-visible;
|
|
74
|
-
|
|
75
|
-
&:hover {
|
|
76
|
-
background-color: color-mix(
|
|
77
|
-
in oklab,
|
|
78
|
-
var(--md-sys-color-on-surface) state-opacity("hover"),
|
|
79
|
-
transparent
|
|
80
|
-
);
|
|
81
|
-
}
|
|
70
|
+
@include text-action;
|
|
82
71
|
}
|
|
83
72
|
|
|
84
73
|
li > details > summary {
|
|
@@ -91,14 +80,8 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
|
|
|
91
80
|
|
|
92
81
|
// Points to the end edge while closed and down once open.
|
|
93
82
|
&::before {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
width: 20px;
|
|
97
|
-
height: 20px;
|
|
98
|
-
background-color: currentColor;
|
|
99
|
-
mask: $_tree-chevron center / 20px no-repeat;
|
|
100
|
-
transform: rotate(-90deg);
|
|
101
|
-
transition: transform 150ms ease-out;
|
|
83
|
+
@include tree-chevron;
|
|
84
|
+
@include forced-colors-fill;
|
|
102
85
|
}
|
|
103
86
|
|
|
104
87
|
&:dir(rtl)::before {
|
|
@@ -125,15 +108,7 @@ $_tree-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg
|
|
|
125
108
|
}
|
|
126
109
|
}
|
|
127
110
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
forced-color-adjust: none;
|
|
131
|
-
background-color: CanvasText;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
[aria-current]:not([aria-current="false"]) {
|
|
135
|
-
outline: 2px solid Highlight;
|
|
136
|
-
outline-offset: -2px;
|
|
137
|
-
}
|
|
111
|
+
[aria-current]:not([aria-current="false"]) {
|
|
112
|
+
@include forced-colors-selected;
|
|
138
113
|
}
|
|
139
114
|
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
@use "../abstracts" as *;
|
|
2
|
+
|
|
3
|
+
// Treemap chart. The same <figure>, <figcaption> and <table> as a pie
|
|
4
|
+
// chart; TreemapChart draws each row of the first value column as a
|
|
5
|
+
// rectangle whose area is its share of the whole, filling the plot, the
|
|
6
|
+
// largest at the top inline-start corner. The plot and tooltip come from
|
|
7
|
+
// chart(). The script places each rectangle with inset-inline-start, top,
|
|
8
|
+
// width and height in percent, so a right-to-left page mirrors the layout.
|
|
9
|
+
//
|
|
10
|
+
// The fill is a ::before inset by half the gap, so the boxes still tile the
|
|
11
|
+
// plot and keep their areas. Each rectangle is a size
|
|
12
|
+
// container: its row name and cell show when there is room for them, and
|
|
13
|
+
// neither shows in a rectangle too small to hold them.
|
|
14
|
+
//
|
|
15
|
+
// Tokens:
|
|
16
|
+
// --md-comp-treemap-chart-height 240px
|
|
17
|
+
// --md-comp-treemap-chart-gap 4px between neighbours
|
|
18
|
+
// --md-comp-treemap-chart-color-1..6 primary, tertiary, secondary,
|
|
19
|
+
// on-surface-variant, then primary- and
|
|
20
|
+
// tertiary-container deepened toward
|
|
21
|
+
// on-surface, as in the pie chart
|
|
22
|
+
// --md-comp-treemap-chart-on-color-1..6 on-primary, on-tertiary,
|
|
23
|
+
// on-secondary, surface, surface,
|
|
24
|
+
// surface; the text in each
|
|
25
|
+
|
|
26
|
+
@include chart("treemap-chart", $colors: 6, $on-colors: true, $grid: false);
|
|
27
|
+
|
|
28
|
+
.treemap-chart {
|
|
29
|
+
--md-comp-treemap-chart-gap: 4px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.treemap-chart-boxes {
|
|
33
|
+
position: absolute;
|
|
34
|
+
inset: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.treemap-chart-box {
|
|
38
|
+
--treemap-chart-inset: calc(var(--md-comp-treemap-chart-gap) / 2);
|
|
39
|
+
|
|
40
|
+
position: absolute;
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: 2px;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
color: var(--treemap-chart-on-color);
|
|
46
|
+
container-type: size;
|
|
47
|
+
|
|
48
|
+
// The fill, inset by half the gap. A border or padding would give a
|
|
49
|
+
// rectangle thinner than them a larger area than its value.
|
|
50
|
+
&::before {
|
|
51
|
+
content: "";
|
|
52
|
+
position: absolute;
|
|
53
|
+
inset: var(--treemap-chart-inset);
|
|
54
|
+
border-radius: var(--md-sys-shape-corner-small);
|
|
55
|
+
background-color: var(--treemap-chart-color);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// The highlighted row's ring fills the gap round it.
|
|
59
|
+
&.active::before {
|
|
60
|
+
outline: var(--treemap-chart-inset) solid var(--md-sys-color-on-surface);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
> span {
|
|
64
|
+
position: relative;
|
|
65
|
+
@include ellipsis;
|
|
66
|
+
margin-inline: calc(var(--treemap-chart-inset) + 8px);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
> span:first-child {
|
|
70
|
+
margin-block-start: calc(var(--treemap-chart-inset) + 8px);
|
|
71
|
+
@include typescale("label-large");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
> span:last-child {
|
|
75
|
+
@include typescale("body-small");
|
|
76
|
+
font-variant-numeric: tabular-nums;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Room for both lines and a few letters of the name, inside the gap and margins.
|
|
81
|
+
@container (width < #{rem(60px)}) or (height < #{rem(56px)}) {
|
|
82
|
+
.treemap-chart-box > span {
|
|
83
|
+
display: none;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@media (forced-colors: active) {
|
|
88
|
+
// The fill is painted as Canvas, so an edge just inside it marks each one.
|
|
89
|
+
.treemap-chart-box::before {
|
|
90
|
+
outline: 1px solid CanvasText;
|
|
91
|
+
outline-offset: -1px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.treemap-chart-box.active::before {
|
|
95
|
+
outline: 2px solid Highlight;
|
|
96
|
+
outline-offset: -2px;
|
|
97
|
+
}
|
|
98
|
+
}
|