@expressivecss/expressive 0.14.1 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1589 -1
- package/README.md +9 -8
- package/dist/css/expressive.css +19304 -12021
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
- package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
- package/dist/fonts/LICENSE-noto-sans-thai +93 -0
- package/dist/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/fonts/material-symbols-rounded.woff2 +0 -0
- package/dist/fonts/material-symbols-sharp.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-A7ALMYUR.mjs → chunk-4QUCNFSD.mjs} +68 -125
- package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-4TKTLGEM.mjs → chunk-4TRZ2AER.mjs} +35 -41
- package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
- package/dist/js/chunks/{chunk-BG6ZRB5H.mjs → chunk-5KIHWJI2.mjs} +40 -26
- package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
- package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-67ZPPKXS.mjs} +20 -33
- package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-6FSEUFVW.mjs} +40 -29
- package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GVGT6MIU.mjs → chunk-75E5EDJF.mjs} +3 -11
- package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-TBM3FT7G.mjs → chunk-7NLUI3RR.mjs} +148 -78
- package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
- package/dist/js/chunks/{chunk-NS2UMNZV.mjs → chunk-ANKFWNWT.mjs} +21 -45
- package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GIW4K4SE.mjs → chunk-B7DQFHA5.mjs} +37 -53
- package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GUB3TNO2.mjs → chunk-BPF3I2MN.mjs} +109 -27
- package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-JIDMQGK6.mjs → chunk-CSYWKEK3.mjs} +322 -223
- package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
- package/dist/js/chunks/{chunk-QDAL4IYN.mjs → chunk-EC26RU2D.mjs} +11 -29
- package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
- package/dist/js/chunks/{chunk-3GVFZ4XO.mjs → chunk-EVCVFEV3.mjs} +238 -152
- package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
- package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
- package/dist/js/chunks/{chunk-ZAS25YFD.mjs → chunk-ILDRRG7T.mjs} +21 -23
- package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KHV6DZXX.mjs → chunk-KZPSAXIU.mjs} +156 -46
- package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
- package/dist/js/chunks/{chunk-Z2NRKI7R.mjs → chunk-OP43LLIC.mjs} +44 -73
- package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
- package/dist/js/chunks/{chunk-PM655FXL.mjs → chunk-OYNUDOHR.mjs} +20 -48
- package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-P6DRQ6KS.mjs} +36 -31
- package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-5HQSGDZ5.mjs → chunk-QXKWVHBD.mjs} +286 -203
- package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-DAIU5SLG.mjs → chunk-ROH2HDB4.mjs} +7 -6
- package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
- package/dist/js/chunks/{chunk-FS7XY3HT.mjs → chunk-SPPHF7YZ.mjs} +36 -29
- package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-4HZMB7LI.mjs → chunk-VGY4M57S.mjs} +281 -135
- package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-S3XDFGSZ.mjs → chunk-VMY55K2X.mjs} +92 -141
- package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UEXCIMJZ.mjs → chunk-VR3L2WN5.mjs} +11 -17
- package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
- package/dist/js/chunks/{chunk-MZ6Z24BX.mjs → chunk-ZJNLAGY5.mjs} +19 -34
- package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
- package/dist/js/expressive.cjs +10333 -4070
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +10333 -4070
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +23 -25
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +184 -69
- package/dist/js/expressive.mjs.map +2 -2
- package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
- package/dist/js/internal/behaviors/copy.mjs +9 -0
- package/dist/js/internal/behaviors/copy.mjs.map +7 -0
- package/dist/js/internal/behaviors/dataTables.mjs +10 -0
- package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
- package/dist/js/internal/behaviors/dialogs.mjs +2 -2
- package/dist/js/internal/behaviors/forms.mjs +2 -2
- package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
- package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
- package/dist/js/internal/behaviors/lists.mjs +8 -0
- package/dist/js/internal/behaviors/lists.mjs.map +7 -0
- package/dist/js/internal/behaviors/paneResize.mjs +8 -0
- package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
- package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
- package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
- package/dist/js/internal/behaviors/sortable.mjs +8 -0
- package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
- package/dist/js/internal/behaviors/theme.mjs +8 -0
- package/dist/js/internal/behaviors/theme.mjs.map +7 -0
- package/dist/js/internal/behaviors/tour.mjs +8 -0
- package/dist/js/internal/behaviors/tour.mjs.map +7 -0
- package/dist/js/internal/behaviors/transferList.mjs +8 -0
- package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
- package/dist/js/internal/components/appBar.mjs +3 -2
- package/dist/js/internal/components/autocomplete.mjs +4 -4
- package/dist/js/internal/components/backToTop.mjs +9 -0
- package/dist/js/internal/components/backToTop.mjs.map +7 -0
- package/dist/js/internal/components/barChart.mjs +5 -4
- package/dist/js/internal/components/buttonGroup.mjs +3 -2
- package/dist/js/internal/components/buttons.mjs +3 -3
- package/dist/js/internal/components/cards.mjs +3 -3
- package/dist/js/internal/components/carousel.mjs +3 -3
- package/dist/js/internal/components/cascader.mjs +10 -0
- package/dist/js/internal/components/cascader.mjs.map +7 -0
- package/dist/js/internal/components/characterCounter.mjs +3 -2
- package/dist/js/internal/components/chips.mjs +6 -5
- package/dist/js/internal/components/colorPicker.mjs +9 -0
- package/dist/js/internal/components/colorPicker.mjs.map +7 -0
- package/dist/js/internal/components/columnChart.mjs +4 -3
- package/dist/js/internal/components/commandPalette.mjs +3 -3
- package/dist/js/internal/components/confetti.mjs +3 -2
- package/dist/js/internal/components/currencyInput.mjs +9 -0
- package/dist/js/internal/components/currencyInput.mjs.map +7 -0
- package/dist/js/internal/components/datepicker.mjs +11 -8
- package/dist/js/internal/components/expandingCard.mjs +3 -3
- package/dist/js/internal/components/funnelChart.mjs +10 -0
- package/dist/js/internal/components/funnelChart.mjs.map +7 -0
- package/dist/js/internal/components/heatmapChart.mjs +4 -3
- package/dist/js/internal/components/hoverCard.mjs +9 -0
- package/dist/js/internal/components/hoverCard.mjs.map +7 -0
- package/dist/js/internal/components/index.mjs +133 -64
- package/dist/js/internal/components/inputMask.mjs +9 -0
- package/dist/js/internal/components/inputMask.mjs.map +7 -0
- package/dist/js/internal/components/keypad.mjs +9 -0
- package/dist/js/internal/components/keypad.mjs.map +7 -0
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/lineChart.mjs +29 -4
- package/dist/js/internal/components/loadingOverlay.mjs +9 -0
- package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
- package/dist/js/internal/components/mapView.mjs +3 -3
- package/dist/js/internal/components/menu.mjs +3 -3
- package/dist/js/internal/components/menubar.mjs +10 -0
- package/dist/js/internal/components/menubar.mjs.map +7 -0
- package/dist/js/internal/components/messageScroller.mjs +3 -3
- package/dist/js/internal/components/mixedChart.mjs +5 -4
- package/dist/js/internal/components/navigationRail.mjs +3 -2
- package/dist/js/internal/components/particles.mjs +3 -2
- package/dist/js/internal/components/pieChart.mjs +4 -3
- package/dist/js/internal/components/pullToRefresh.mjs +9 -0
- package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
- package/dist/js/internal/components/questionnaire.mjs +3 -3
- package/dist/js/internal/components/radarChart.mjs +4 -3
- package/dist/js/internal/components/radialChart.mjs +4 -3
- package/dist/js/internal/components/registry.mjs +59 -40
- package/dist/js/internal/components/richTextEditor.mjs +3 -3
- package/dist/js/internal/components/sankeyChart.mjs +10 -0
- package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
- package/dist/js/internal/components/scatterChart.mjs +10 -0
- package/dist/js/internal/components/scatterChart.mjs.map +7 -0
- package/dist/js/internal/components/scrollspy.mjs +3 -2
- package/dist/js/internal/components/select.mjs +4 -4
- package/dist/js/internal/components/showMore.mjs +9 -0
- package/dist/js/internal/components/showMore.mjs.map +7 -0
- package/dist/js/internal/components/slider.mjs +3 -3
- package/dist/js/internal/components/snackbar.mjs +2 -2
- package/dist/js/internal/components/swipeActions.mjs +9 -0
- package/dist/js/internal/components/swipeActions.mjs.map +7 -0
- package/dist/js/internal/components/tabs.mjs +3 -4
- package/dist/js/internal/components/timepicker.mjs +5 -4
- package/dist/js/internal/components/tooltip.mjs +3 -3
- package/dist/js/internal/components/treeSelect.mjs +13 -0
- package/dist/js/internal/components/treeSelect.mjs.map +7 -0
- package/dist/js/internal/components/treemapChart.mjs +10 -0
- package/dist/js/internal/components/treemapChart.mjs.map +7 -0
- package/dist/js/internal/core/component.mjs +2 -1
- package/dist/js/internal/core/formControl.mjs +12 -0
- package/dist/js/internal/core/formControl.mjs.map +7 -0
- package/dist/js/internal/core/spring.mjs +11 -0
- package/dist/js/internal/core/spring.mjs.map +7 -0
- package/dist/js/internal/core/utils.mjs +11 -3
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
- package/dist/js/modular.mjs +175 -69
- package/dist/types/behaviors/bottomSheets.d.ts +19 -3
- package/dist/types/behaviors/copy.d.ts +18 -0
- package/dist/types/behaviors/dataTables.d.ts +129 -0
- package/dist/types/behaviors/dialogs.d.ts +27 -1
- package/dist/types/behaviors/forms.d.ts +68 -2
- package/dist/types/behaviors/imageCompare.d.ts +12 -0
- package/dist/types/behaviors/lists.d.ts +12 -0
- package/dist/types/behaviors/paneResize.d.ts +29 -0
- package/dist/types/behaviors/sheetDrag.d.ts +18 -0
- package/dist/types/behaviors/sideSheets.d.ts +1 -1
- package/dist/types/behaviors/sortable.d.ts +28 -0
- package/dist/types/behaviors/theme.d.ts +22 -0
- package/dist/types/behaviors/tour.d.ts +36 -0
- package/dist/types/behaviors/transferList.d.ts +51 -0
- package/dist/types/components/appBar.d.ts +5 -6
- package/dist/types/components/autocomplete.d.ts +92 -17
- package/dist/types/components/backToTop.d.ts +36 -0
- package/dist/types/components/barChart.d.ts +3 -6
- package/dist/types/components/buttonGroup.d.ts +2 -4
- package/dist/types/components/buttons.d.ts +5 -5
- package/dist/types/components/cards.d.ts +3 -16
- package/dist/types/components/carousel.d.ts +9 -15
- package/dist/types/components/cascader.d.ts +130 -0
- package/dist/types/components/characterCounter.d.ts +2 -15
- package/dist/types/components/chips.d.ts +65 -19
- package/dist/types/components/colorPicker.d.ts +42 -0
- package/dist/types/components/columnChart.d.ts +23 -10
- package/dist/types/components/commandPalette.d.ts +11 -16
- package/dist/types/components/confetti.d.ts +2 -4
- package/dist/types/components/currencyInput.d.ts +59 -0
- package/dist/types/components/datepicker.d.ts +59 -36
- package/dist/types/components/expandingCard.d.ts +6 -6
- package/dist/types/components/funnelChart.d.ts +38 -0
- package/dist/types/components/heatmapChart.d.ts +39 -8
- package/dist/types/components/hoverCard.d.ts +58 -0
- package/dist/types/components/index.d.ts +17 -1
- package/dist/types/components/inputMask.d.ts +30 -0
- package/dist/types/components/keypad.d.ts +66 -0
- package/dist/types/components/lightbox.d.ts +17 -25
- package/dist/types/components/lineChart.d.ts +176 -10
- package/dist/types/components/loadingOverlay.d.ts +42 -0
- package/dist/types/components/mapView.d.ts +26 -17
- package/dist/types/components/menu.d.ts +61 -22
- package/dist/types/components/menubar.d.ts +37 -0
- package/dist/types/components/messageScroller.d.ts +2 -14
- package/dist/types/components/mixedChart.d.ts +15 -6
- package/dist/types/components/navigationRail.d.ts +16 -5
- package/dist/types/components/particles.d.ts +8 -4
- package/dist/types/components/pieChart.d.ts +32 -7
- package/dist/types/components/pullToRefresh.d.ts +80 -0
- package/dist/types/components/questionnaire.d.ts +58 -16
- package/dist/types/components/radarChart.d.ts +10 -6
- package/dist/types/components/radialChart.d.ts +58 -8
- package/dist/types/components/registry.d.ts +77 -3
- package/dist/types/components/richTextEditor.d.ts +6 -14
- package/dist/types/components/sankeyChart.d.ts +72 -0
- package/dist/types/components/scatterChart.d.ts +102 -0
- package/dist/types/components/scrollspy.d.ts +3 -5
- package/dist/types/components/select.d.ts +43 -30
- package/dist/types/components/showMore.d.ts +51 -0
- package/dist/types/components/slider.d.ts +5 -15
- package/dist/types/components/snackbar.d.ts +62 -0
- package/dist/types/components/swipeActions.d.ts +81 -0
- package/dist/types/components/tabs.d.ts +93 -27
- package/dist/types/components/timepicker.d.ts +114 -20
- package/dist/types/components/tooltip.d.ts +56 -20
- package/dist/types/components/treeSelect.d.ts +106 -0
- package/dist/types/components/treemapChart.d.ts +56 -0
- package/dist/types/core/component.d.ts +43 -25
- package/dist/types/core/formControl.d.ts +21 -0
- package/dist/types/core/spring.d.ts +20 -0
- package/dist/types/core/utils.d.ts +85 -72
- package/dist/types/modular.d.ts +33 -1
- package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -7
- package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
- package/package.json +10 -8
- package/src/sass/README.md +27 -18
- package/src/sass/abstracts/_breakpoints.scss +0 -1
- package/src/sass/abstracts/_elevation.scss +13 -7
- package/src/sass/abstracts/_index.scss +1 -0
- package/src/sass/abstracts/_mixins.scss +438 -92
- package/src/sass/abstracts/_spring.scss +63 -0
- package/src/sass/abstracts/_variables.scss +43 -15
- package/src/sass/base/_fonts.scss +61 -48
- package/src/sass/base/_global.scss +105 -34
- package/src/sass/base/_index.scss +3 -1
- package/src/sass/base/_normalize.scss +59 -114
- package/src/sass/base/_print.scss +21 -0
- package/src/sass/base/_prose.scss +68 -0
- package/src/sass/base/_typography.scss +9 -5
- package/src/sass/components/_accordion.scss +9 -16
- package/src/sass/components/_alert.scss +102 -0
- package/src/sass/components/_aura.scss +8 -3
- package/src/sass/components/_avatar.scss +3 -3
- package/src/sass/components/_back-to-top.scss +38 -0
- package/src/sass/components/_badges.scss +7 -13
- package/src/sass/components/_bar-chart.scss +41 -19
- package/src/sass/components/_bottom-sheet.scss +44 -16
- package/src/sass/components/_breadcrumb.scss +8 -1
- package/src/sass/components/_button-groups.scss +44 -89
- package/src/sass/components/_buttons.scss +156 -63
- package/src/sass/components/_calendar.scss +246 -0
- package/src/sass/components/_cards.scss +41 -68
- package/src/sass/components/_carousel.scss +43 -158
- package/src/sass/components/_cascader.scss +142 -0
- package/src/sass/components/_chips.scss +36 -52
- package/src/sass/components/_column-chart.scss +19 -12
- package/src/sass/components/_command-palette.scss +4 -7
- package/src/sass/components/_confetti.scss +0 -2
- package/src/sass/components/_countdown.scss +1 -1
- package/src/sass/components/_data-table.scss +162 -27
- package/src/sass/components/_datepicker.scss +57 -62
- package/src/sass/components/_description-list.scss +85 -0
- package/src/sass/components/_dialog.scss +42 -44
- package/src/sass/components/_docked-display.scss +1 -3
- package/src/sass/components/_drag-handle.scss +16 -20
- package/src/sass/components/_expanding-card.scss +20 -9
- package/src/sass/components/_fab-menu.scss +44 -32
- package/src/sass/components/_funnel-chart.scss +124 -0
- package/src/sass/components/_heatmap-chart.scss +113 -24
- package/src/sass/components/_icon-buttons.scss +7 -8
- package/src/sass/components/_icons-material-design.scss +2 -2
- package/src/sass/components/_image-compare.scss +108 -0
- package/src/sass/components/_index.scss +21 -0
- package/src/sass/components/_keypad.scss +182 -0
- package/src/sass/components/_kpi.scss +6 -11
- package/src/sass/components/_lightbox.scss +26 -20
- package/src/sass/components/_line-chart.scss +16 -2
- package/src/sass/components/_list.scss +59 -14
- package/src/sass/components/_loading-indicator.scss +1 -0
- package/src/sass/components/_loading-overlay.scss +105 -0
- package/src/sass/components/_map.scss +35 -13
- package/src/sass/components/_marquee.scss +3 -2
- package/src/sass/components/_mega-menu.scss +137 -0
- package/src/sass/components/_menu.scss +159 -182
- package/src/sass/components/_menubar.scss +59 -0
- package/src/sass/components/_message-scroller.scss +2 -2
- package/src/sass/components/_message.scss +3 -3
- package/src/sass/components/_mixed-chart.scss +37 -9
- package/src/sass/components/_modal-display.scss +21 -0
- package/src/sass/components/_navbar.scss +43 -65
- package/src/sass/components/_navigation-bar.scss +15 -77
- package/src/sass/components/_navigation-rail.scss +171 -121
- package/src/sass/components/_org-chart.scss +192 -0
- package/src/sass/components/_page-footer.scss +16 -13
- package/src/sass/components/_pagination.scss +6 -13
- package/src/sass/components/_panes.scss +33 -31
- package/src/sass/components/_particles.scss +0 -2
- package/src/sass/components/_pie-chart.scss +91 -11
- package/src/sass/components/_popover.scss +18 -5
- package/src/sass/components/_progress.scss +158 -35
- package/src/sass/components/_pull-to-refresh.scss +90 -0
- package/src/sass/components/_questionnaire.scss +74 -3
- package/src/sass/components/_radar-chart.scss +38 -10
- package/src/sass/components/_radial-chart.scss +113 -5
- package/src/sass/components/_rich-text-editor.scss +2 -2
- package/src/sass/components/_sankey-chart.scss +114 -0
- package/src/sass/components/_scatter-chart.scss +153 -0
- package/src/sass/components/_scrim.scss +0 -2
- package/src/sass/components/_scrollspy.scss +0 -2
- package/src/sass/components/_search.scss +26 -22
- package/src/sass/components/_show-more.scss +8 -0
- package/src/sass/components/_side-sheet.scss +23 -40
- package/src/sass/components/_skeleton.scss +2 -4
- package/src/sass/components/_snackbar.scss +27 -21
- package/src/sass/components/_split-button.scss +5 -5
- package/src/sass/components/_stat.scss +3 -8
- package/src/sass/components/_stepper.scss +1 -5
- package/src/sass/components/_swipe-actions.scss +71 -0
- package/src/sass/components/_tabs.scss +51 -32
- package/src/sass/components/_timeline.scss +12 -12
- package/src/sass/components/_timepicker.scss +111 -112
- package/src/sass/components/_toolbar.scss +35 -47
- package/src/sass/components/_tooltip.scss +21 -12
- package/src/sass/components/_tour.scss +89 -0
- package/src/sass/components/_transfer-list.scss +73 -0
- package/src/sass/components/_transitions.scss +4 -4
- package/src/sass/components/_tree.scss +3 -16
- package/src/sass/components/_treemap-chart.scss +122 -0
- package/src/sass/components/forms/_checkboxes.scss +140 -86
- package/src/sass/components/forms/_color-picker.scss +135 -0
- package/src/sass/components/forms/_color-swatches.scss +85 -0
- package/src/sass/components/forms/_drop-zone.scss +15 -9
- package/src/sass/components/forms/_fieldset.scss +10 -10
- package/src/sass/components/forms/_file-input.scss +6 -9
- package/src/sass/components/forms/_index.scss +3 -1
- package/src/sass/components/forms/_input-fields.scss +254 -90
- package/src/sass/components/forms/_radio-buttons.scss +40 -127
- package/src/sass/components/forms/_rating.scss +2 -32
- package/src/sass/components/forms/_select.scss +199 -23
- package/src/sass/components/forms/_slider.scss +140 -330
- package/src/sass/components/forms/_switches.scss +53 -164
- package/src/sass/custom.scss +10 -1
- package/src/sass/expressive.scss +3 -63
- package/src/sass/tokens/_contrast.scss +94 -0
- package/src/sass/tokens/_elevation.scss +16 -0
- package/src/sass/tokens/_index.scss +5 -0
- package/src/sass/tokens/_motion.scss +109 -0
- package/src/sass/tokens/_reference.scss +72 -141
- package/src/sass/tokens/_shape.scss +38 -0
- package/src/sass/tokens/_stacking.scss +27 -0
- package/src/sass/tokens/_state.scss +2 -4
- package/src/sass/tokens/_theme.scss +11 -2
- package/src/sass/tokens/_vibrant.scss +2 -5
- package/src/sass/utilities/_colors.scss +6 -1
- package/src/sass/utilities/_defer-render.scss +17 -0
- package/src/sass/utilities/_helpers.scss +183 -26
- package/src/sass/utilities/_index.scss +2 -1
- package/src/sass/utilities/_scroll-area.scss +0 -2
- package/src/sass/utilities/_spacing.scss +52 -34
- package/src/sass/utilities/_typescale.scss +8 -1
- package/src/sass/utilities/_visibility.scss +47 -76
- package/src/sass/utilities/_z-depth.scss +7 -4
- package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
- package/dist/js/chunks/chunk-3GVFZ4XO.mjs.map +0 -7
- package/dist/js/chunks/chunk-4HZMB7LI.mjs.map +0 -7
- package/dist/js/chunks/chunk-4KMNFIFZ.mjs +0 -270
- package/dist/js/chunks/chunk-4KMNFIFZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-4TKTLGEM.mjs.map +0 -7
- package/dist/js/chunks/chunk-5BKHWHYY.mjs +0 -292
- package/dist/js/chunks/chunk-5BKHWHYY.mjs.map +0 -7
- package/dist/js/chunks/chunk-5HQSGDZ5.mjs.map +0 -7
- package/dist/js/chunks/chunk-6N2XAEFK.mjs +0 -125
- package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
- package/dist/js/chunks/chunk-A7ALMYUR.mjs.map +0 -7
- package/dist/js/chunks/chunk-BG6ZRB5H.mjs.map +0 -7
- package/dist/js/chunks/chunk-CUQPB25U.mjs +0 -55
- package/dist/js/chunks/chunk-CUQPB25U.mjs.map +0 -7
- package/dist/js/chunks/chunk-DAIU5SLG.mjs.map +0 -7
- package/dist/js/chunks/chunk-FS7XY3HT.mjs.map +0 -7
- package/dist/js/chunks/chunk-GIW4K4SE.mjs.map +0 -7
- package/dist/js/chunks/chunk-GUB3TNO2.mjs.map +0 -7
- package/dist/js/chunks/chunk-GVGT6MIU.mjs.map +0 -7
- package/dist/js/chunks/chunk-GZKEFWPM.mjs +0 -181
- package/dist/js/chunks/chunk-GZKEFWPM.mjs.map +0 -7
- package/dist/js/chunks/chunk-HKT2S7VM.mjs +0 -48
- package/dist/js/chunks/chunk-HKT2S7VM.mjs.map +0 -7
- package/dist/js/chunks/chunk-ILP3PDTL.mjs +0 -187
- package/dist/js/chunks/chunk-ILP3PDTL.mjs.map +0 -7
- package/dist/js/chunks/chunk-JIDMQGK6.mjs.map +0 -7
- package/dist/js/chunks/chunk-KBNN3QDH.mjs +0 -7
- package/dist/js/chunks/chunk-KBNN3QDH.mjs.map +0 -7
- package/dist/js/chunks/chunk-KHV6DZXX.mjs.map +0 -7
- package/dist/js/chunks/chunk-KY6U46SM.mjs +0 -345
- package/dist/js/chunks/chunk-KY6U46SM.mjs.map +0 -7
- package/dist/js/chunks/chunk-LRZMJZ3T.mjs +0 -291
- package/dist/js/chunks/chunk-LRZMJZ3T.mjs.map +0 -7
- package/dist/js/chunks/chunk-LTWPGFBR.mjs +0 -59
- package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
- package/dist/js/chunks/chunk-MNPROCZF.mjs +0 -328
- package/dist/js/chunks/chunk-MNPROCZF.mjs.map +0 -7
- package/dist/js/chunks/chunk-MZ6Z24BX.mjs.map +0 -7
- package/dist/js/chunks/chunk-NS2UMNZV.mjs.map +0 -7
- package/dist/js/chunks/chunk-O5XPWXIQ.mjs +0 -406
- package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
- package/dist/js/chunks/chunk-PM655FXL.mjs.map +0 -7
- package/dist/js/chunks/chunk-QDAL4IYN.mjs.map +0 -7
- package/dist/js/chunks/chunk-QERLECVU.mjs +0 -572
- package/dist/js/chunks/chunk-QERLECVU.mjs.map +0 -7
- package/dist/js/chunks/chunk-QJABDLSD.mjs +0 -112
- package/dist/js/chunks/chunk-QJABDLSD.mjs.map +0 -7
- package/dist/js/chunks/chunk-RHRQKTTX.mjs +0 -139
- package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
- package/dist/js/chunks/chunk-S3XDFGSZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-SPETGK25.mjs +0 -59
- package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
- package/dist/js/chunks/chunk-TBM3FT7G.mjs.map +0 -7
- package/dist/js/chunks/chunk-UEXCIMJZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGZSAFTX.mjs +0 -173
- package/dist/js/chunks/chunk-VGZSAFTX.mjs.map +0 -7
- package/dist/js/chunks/chunk-X7OCHZVF.mjs +0 -76
- package/dist/js/chunks/chunk-X7OCHZVF.mjs.map +0 -7
- package/dist/js/chunks/chunk-YDCS5S3J.mjs.map +0 -7
- package/dist/js/chunks/chunk-YMSXJON6.mjs +0 -79
- package/dist/js/chunks/chunk-YMSXJON6.mjs.map +0 -7
- package/dist/js/chunks/chunk-Z2NRKI7R.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZAS25YFD.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZKZKNSLC.mjs +0 -1
- /package/dist/js/chunks/{chunk-ZKZKNSLC.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
|
@@ -1,30 +1,63 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LineChart
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZM3XBHWV.mjs";
|
|
4
4
|
|
|
5
5
|
// src/ts/components/heatmapChart.ts
|
|
6
|
+
function band(level, steps) {
|
|
7
|
+
return Math.sign(level) * Math.min(steps - 1, Math.floor(Math.abs(level) * steps)) / (steps - 1);
|
|
8
|
+
}
|
|
6
9
|
var HeatmapChart = class extends LineChart {
|
|
7
10
|
get _type() {
|
|
8
11
|
return "heatmap-chart";
|
|
9
12
|
}
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
/** Color carries the value, so there is no value axis. */
|
|
14
|
+
get _axis() {
|
|
15
|
+
return false;
|
|
12
16
|
}
|
|
13
|
-
|
|
14
|
-
return
|
|
17
|
+
get _count() {
|
|
18
|
+
return this.labels.length * this.series.length;
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
/** Redraws the grid, scrolled where it was. */
|
|
21
|
+
update() {
|
|
22
|
+
const left = this._scroll?.scrollLeft;
|
|
23
|
+
super.update();
|
|
24
|
+
if (this._scroll && left) this._scroll.scrollLeft = left;
|
|
18
25
|
}
|
|
19
26
|
/** Highlights one cell, numbered row by row. Pass -1 to hide the tooltip. */
|
|
20
27
|
show(index) {
|
|
21
28
|
if (!this._tooltip || index === this.activeIndex) return;
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
this._activate(this._cells[index], index);
|
|
30
|
+
}
|
|
31
|
+
_activate(cell, index) {
|
|
32
|
+
const box = cell ? this._box(cell) : null;
|
|
24
33
|
this._cells[this.activeIndex]?.classList.remove("active");
|
|
25
34
|
this.activeIndex = index;
|
|
26
|
-
this._tooltip.hidden = !
|
|
35
|
+
this._tooltip.hidden = !box;
|
|
36
|
+
if (box) this._fill(cell, index, box);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A cell's left, top and width in the plot, past any scrolling of the
|
|
40
|
+
* grid, and the plot's width. A key can move to a cell scrolled out of a
|
|
41
|
+
* wide grid, so it scrolls into view first.
|
|
42
|
+
*/
|
|
43
|
+
_box(cell) {
|
|
44
|
+
if (this._plot.matches(":focus-visible")) cell.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
45
|
+
return this._measure(cell);
|
|
46
|
+
}
|
|
47
|
+
_measure(cell) {
|
|
48
|
+
const [box, plot] = [cell.getBoundingClientRect(), this._plot.getBoundingClientRect()];
|
|
49
|
+
return [box.left - plot.left, box.top - plot.top, box.width, this._plot.clientWidth];
|
|
50
|
+
}
|
|
51
|
+
/** Keeps the tooltip on its cell as the grid scrolls, and hides it once the cell scrolls out. */
|
|
52
|
+
_follow(scroll) {
|
|
53
|
+
const cell = this._cells[this.activeIndex];
|
|
27
54
|
if (!cell) return;
|
|
55
|
+
const [view, box] = [scroll.getBoundingClientRect(), cell.getBoundingClientRect()];
|
|
56
|
+
if (box.right <= view.left || box.left >= view.right) this.show(-1);
|
|
57
|
+
else this._position(this._measure(cell));
|
|
58
|
+
}
|
|
59
|
+
/** Marks the cell and fills the tooltip beside it, on the side with more room. */
|
|
60
|
+
_fill(cell, index, [left, top, width, plotWidth]) {
|
|
28
61
|
cell.classList.add("active");
|
|
29
62
|
const columns = this.series.length;
|
|
30
63
|
const [row, series] = [Math.floor(index / columns), this.series[index % columns]];
|
|
@@ -36,6 +69,9 @@ var HeatmapChart = class extends LineChart {
|
|
|
36
69
|
else name.style.setProperty("--level", String(this._levels[index]));
|
|
37
70
|
text.textContent = series.text[row];
|
|
38
71
|
this._tooltip.replaceChildren(title, name, text);
|
|
72
|
+
this._position([left, top, width, plotWidth]);
|
|
73
|
+
}
|
|
74
|
+
_position([left, top, width, plotWidth]) {
|
|
39
75
|
const end = left + width / 2 > plotWidth / 2;
|
|
40
76
|
this._tooltip.classList.toggle("end", end);
|
|
41
77
|
this._tooltip.style.left = `${left + (end ? 0 : width)}px`;
|
|
@@ -73,10 +109,15 @@ var HeatmapChart = class extends LineChart {
|
|
|
73
109
|
const last = this._cells[this._cells.length - 1].getBoundingClientRect();
|
|
74
110
|
const [left, right] = [Math.min(first.left, last.left), Math.max(first.right, last.right)];
|
|
75
111
|
const [x, y] = [e.clientX, e.clientY];
|
|
76
|
-
if (x
|
|
77
|
-
const
|
|
78
|
-
const column =
|
|
79
|
-
return
|
|
112
|
+
if (this._off(x, y, [left, right, first.top, last.bottom])) return -1;
|
|
113
|
+
const band2 = (offset, size, count) => Math.min(count - 1, Math.floor(offset / (size || 1) * count));
|
|
114
|
+
const column = band2(x - left, right - left, columns);
|
|
115
|
+
return band2(y - first.top, last.bottom - first.top, rows) * columns + (this._reversed ? columns - 1 - column : column);
|
|
116
|
+
}
|
|
117
|
+
/** Whether a point is off the cells, or on cells scrolled out of view under the row labels. */
|
|
118
|
+
_off(x, y, [left, right, top, bottom]) {
|
|
119
|
+
const view = this._scroll.getBoundingClientRect();
|
|
120
|
+
return x < Math.max(left, view.left) || x > Math.min(right, view.right) || y < top || y > bottom;
|
|
80
121
|
}
|
|
81
122
|
/**
|
|
82
123
|
* The legend: a gradient from the lowest cell's shade to the highest's,
|
|
@@ -91,11 +132,43 @@ var HeatmapChart = class extends LineChart {
|
|
|
91
132
|
[low.textContent, high.textContent] = this._ends;
|
|
92
133
|
scale.className = "heatmap-chart-scale";
|
|
93
134
|
if (this._reversed) scale.style.setProperty("--heatmap-chart-to", "left");
|
|
94
|
-
|
|
95
|
-
scale.style.setProperty("--
|
|
135
|
+
const [from, to] = this._endLevels;
|
|
136
|
+
scale.style.setProperty("--low", String(from));
|
|
137
|
+
scale.style.setProperty("--high", String(to));
|
|
138
|
+
scale.classList.toggle("diverging", from < 0 && to > 0);
|
|
139
|
+
scale.style.setProperty("--mid", `${-from / (to - from || 1) * 100}%`);
|
|
140
|
+
scale.append(...this._bands().filter((level) => level >= from && level <= to).map((level) => {
|
|
141
|
+
const swatch = document.createElement("span");
|
|
142
|
+
swatch.style.setProperty("--level", String(level));
|
|
143
|
+
return swatch;
|
|
144
|
+
}));
|
|
96
145
|
legend.append(low, scale, high);
|
|
97
146
|
return [legend];
|
|
98
147
|
}
|
|
148
|
+
/** With data-steps, every band's shade from the lowest to the highest; otherwise none. */
|
|
149
|
+
_bands() {
|
|
150
|
+
const steps = this._steps;
|
|
151
|
+
if (!steps) return [];
|
|
152
|
+
return Array.from({ length: 2 * steps - 1 }, (_, k) => (k - steps + 1) / (steps - 1));
|
|
153
|
+
}
|
|
154
|
+
/** The number of bands data-steps asks for, or 0 for a smooth scale. */
|
|
155
|
+
get _steps() {
|
|
156
|
+
const steps = Math.round(this._number("steps") ?? 0);
|
|
157
|
+
return steps > 1 ? steps : 0;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* How a value shades its cell: from 0 at the scale's low end to 1 at its
|
|
161
|
+
* high end, or with data-mid from -1 to 1 either side of that midpoint,
|
|
162
|
+
* as far as the further end. With data-steps the shades fall into bands.
|
|
163
|
+
*/
|
|
164
|
+
_shade(low, high) {
|
|
165
|
+
const option = (name, fallback) => this._number(name) ?? this.options[name] ?? fallback;
|
|
166
|
+
const [min, max, mid] = [option("min", low), option("max", high), this._number("mid")];
|
|
167
|
+
const clamp = (value, floor) => Math.min(1, Math.max(floor, value));
|
|
168
|
+
const level = mid === null ? (value) => clamp((value - min) / (max - min || 1), 0) : (value) => clamp((Math.min(max, Math.max(min, value)) - mid) / (Math.max(max - mid, mid - min) || 1), -1);
|
|
169
|
+
const steps = this._steps;
|
|
170
|
+
return steps ? (value) => band(level(value), steps) : level;
|
|
171
|
+
}
|
|
99
172
|
/**
|
|
100
173
|
* A grid of the row headers and cells, row by row, with the column headers
|
|
101
174
|
* below. Each cell's --level shades it in CSS.
|
|
@@ -109,12 +182,7 @@ var HeatmapChart = class extends LineChart {
|
|
|
109
182
|
if (value < low) [low, this._ends[0]] = [value, series.text[row]];
|
|
110
183
|
if (value > high) [high, this._ends[1]] = [value, series.text[row]];
|
|
111
184
|
}));
|
|
112
|
-
const
|
|
113
|
-
const value = parseFloat(this.el.dataset[name] ?? "");
|
|
114
|
-
return Number.isFinite(value) ? value : this.options[name];
|
|
115
|
-
};
|
|
116
|
-
const [min, max] = [option("min") ?? low, option("max") ?? high];
|
|
117
|
-
const shade = (value) => Math.min(1, Math.max(0, (value - min) / (max - min || 1)));
|
|
185
|
+
const shade = this._shade(low, high);
|
|
118
186
|
this._endLevels = [shade(low), shade(high)];
|
|
119
187
|
const grid = document.createElement("div");
|
|
120
188
|
grid.className = "heatmap-chart-grid";
|
|
@@ -131,8 +199,11 @@ var HeatmapChart = class extends LineChart {
|
|
|
131
199
|
const values = this.el.classList.contains("values");
|
|
132
200
|
this._cells = [];
|
|
133
201
|
this._levels = [];
|
|
202
|
+
const [rows, cells] = [document.createElement("div"), document.createElement("div")];
|
|
203
|
+
rows.className = "heatmap-chart-rows";
|
|
204
|
+
cells.className = "heatmap-chart-cells";
|
|
134
205
|
this.labels.forEach((_, row) => {
|
|
135
|
-
|
|
206
|
+
rows.append(span("heatmap-chart-row", label(this._rows[row].cells[0])));
|
|
136
207
|
this.series.forEach((series) => {
|
|
137
208
|
const value = series.values[row];
|
|
138
209
|
const level = value === null ? null : shade(value);
|
|
@@ -141,24 +212,35 @@ var HeatmapChart = class extends LineChart {
|
|
|
141
212
|
else cell.style.setProperty("--level", String(level));
|
|
142
213
|
this._cells.push(cell);
|
|
143
214
|
this._levels.push(level);
|
|
144
|
-
|
|
215
|
+
cells.append(cell);
|
|
145
216
|
});
|
|
146
217
|
});
|
|
147
218
|
const labels = this._header.slice(1, columns + 1).map(label);
|
|
219
|
+
const columnLabels = [];
|
|
148
220
|
labels.forEach((text, column) => {
|
|
149
221
|
if (!text) return;
|
|
150
222
|
let end = column + 1;
|
|
151
223
|
while (end < columns && !labels[end]) end++;
|
|
152
224
|
const element = span("heatmap-chart-column", text);
|
|
153
225
|
element.classList.toggle("run", end > column + 1);
|
|
154
|
-
element.style.gridArea = `${this.labels.length + 1} / ${column +
|
|
155
|
-
|
|
226
|
+
element.style.gridArea = `${this.labels.length + 1} / ${column + 1} / auto / ${end + 1}`;
|
|
227
|
+
cells.append(element);
|
|
228
|
+
columnLabels.push(element);
|
|
156
229
|
});
|
|
230
|
+
this._observeLabels(cells, columnLabels.some((element) => element.classList.contains("run")) ? [] : columnLabels);
|
|
231
|
+
const scroll = this._scroll = document.createElement("div");
|
|
232
|
+
scroll.className = "heatmap-chart-scroll";
|
|
233
|
+
scroll.tabIndex = -1;
|
|
234
|
+
scroll.addEventListener("focus", () => this._plot.focus());
|
|
235
|
+
scroll.addEventListener("scroll", () => this._follow(scroll), { passive: true });
|
|
236
|
+
scroll.append(cells);
|
|
237
|
+
grid.append(rows, scroll);
|
|
157
238
|
return grid;
|
|
158
239
|
}
|
|
159
240
|
};
|
|
241
|
+
HeatmapChart.key = "Expressive_HeatmapChart";
|
|
160
242
|
|
|
161
243
|
export {
|
|
162
244
|
HeatmapChart
|
|
163
245
|
};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
246
|
+
//# sourceMappingURL=chunk-BPF3I2MN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ts/components/heatmapChart.ts"],
|
|
4
|
+
"sourcesContent": ["import { LineChart, LineChartOptions } from './lineChart';\n\nexport type HeatmapChartOptions = LineChartOptions;\n\n/**\n * A shade in one of `steps` bands, each side of zero on a diverging scale:\n * the lowest band is the empty color, and the highest is the full color.\n */\nfunction band(level: number, steps: number) {\n return (Math.sign(level) * Math.min(steps - 1, Math.floor(Math.abs(level) * steps))) / (steps - 1);\n}\n\n/**\n * Heatmap chart. It reads its <table> like LineChart, but draws every cell\n * as a square of the grid, shaded from the lowest value to the highest, with\n * the row headers beside it and the column headers below. A `data-label` on\n * a header cell replaces its text on the grid; an empty one hides it. The\n * tooltip shows one cell, and the arrow keys move round the grid. With\n * `data-mid` the scale diverges either side of that value, and with\n * `data-steps` the shades fall into that many bands.\n *\n * Call `update()` after changing the table, or start it with `watch` or\n * `data-watch`.\n */\nexport class HeatmapChart extends LineChart {\n // No initializers: LineChart's constructor draws before they would run.\n /** Every cell, row by row. */\n private _cells: HTMLElement[];\n /** Each cell's shade from 0 to 1, or -1 to 1 on a diverging scale, or null for a gap. */\n private _levels: (number | null)[];\n /** The text of the lowest and highest cells, for the legend. */\n private _ends: [string, string];\n /** The shades of the lowest and highest cells, where the legend's gradient runs. */\n private _endLevels: [number, number];\n /** The box the cells scroll in, beside the row labels. */\n private _scroll: HTMLElement;\n\n protected get _type() {\n return 'heatmap-chart';\n }\n\n /** Color carries the value, so there is no value axis. */\n protected get _axis() {\n return false;\n }\n\n static key = 'Expressive_HeatmapChart';\n\n protected get _count() {\n return this.labels.length * this.series.length;\n }\n\n /** Redraws the grid, scrolled where it was. */\n update() {\n const left = this._scroll?.scrollLeft;\n super.update();\n if (this._scroll && left) this._scroll.scrollLeft = left;\n }\n\n /** Highlights one cell, numbered row by row. Pass -1 to hide the tooltip. */\n show(index: number) {\n if (!this._tooltip || index === this.activeIndex) return;\n this._activate(this._cells[index], index);\n }\n\n private _activate(cell: HTMLElement | undefined, index: number) {\n // Measure before the writes below, which would otherwise force a layout.\n const box = cell ? this._box(cell) : null;\n this._cells[this.activeIndex]?.classList.remove('active');\n this.activeIndex = index;\n this._tooltip.hidden = !box;\n if (box) this._fill(cell!, index, box);\n }\n\n /**\n * A cell's left, top and width in the plot, past any scrolling of the\n * grid, and the plot's width. A key can move to a cell scrolled out of a\n * wide grid, so it scrolls into view first.\n */\n private _box(cell: HTMLElement) {\n if (this._plot.matches(':focus-visible')) cell.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n return this._measure(cell);\n }\n\n private _measure(cell: HTMLElement) {\n const [box, plot] = [cell.getBoundingClientRect(), this._plot.getBoundingClientRect()];\n return [box.left - plot.left, box.top - plot.top, box.width, this._plot.clientWidth];\n }\n\n /** Keeps the tooltip on its cell as the grid scrolls, and hides it once the cell scrolls out. */\n private _follow(scroll: HTMLElement) {\n const cell = this._cells[this.activeIndex];\n if (!cell) return;\n const [view, box] = [scroll.getBoundingClientRect(), cell.getBoundingClientRect()];\n if (box.right <= view.left || box.left >= view.right) this.show(-1);\n else this._position(this._measure(cell));\n }\n\n /** Marks the cell and fills the tooltip beside it, on the side with more room. */\n private _fill(cell: HTMLElement, index: number, [left, top, width, plotWidth]: number[]) {\n cell.classList.add('active');\n const columns = this.series.length;\n const [row, series] = [Math.floor(index / columns), this.series[index % columns]];\n const title = document.createElement('strong');\n title.textContent = this.labels[row];\n const [name, text] = [document.createElement('span'), document.createElement('span')];\n name.textContent = series.name;\n // A gap's swatch is outlined like its cell.\n if (this._levels[index] === null) name.className = 'gap';\n else name.style.setProperty('--level', String(this._levels[index]));\n text.textContent = series.text[row];\n this._tooltip.replaceChildren(title, name, text);\n this._position([left, top, width, plotWidth]);\n }\n\n private _position([left, top, width, plotWidth]: number[]) {\n const end = left + width / 2 > plotWidth / 2;\n this._tooltip.classList.toggle('end', end);\n this._tooltip.style.left = `${left + (end ? 0 : width)}px`;\n this._tooltip.style.top = `${top}px`;\n }\n\n /** Arrows move the way they point, so left and right swap in RTL. */\n protected _keyTarget(key: string): number | undefined {\n // With nothing shown, Escape is left to a dialog or sheet around the chart.\n if (key === 'Escape') return this.activeIndex < 0 ? undefined : -1;\n const [columns, last] = [this.series.length, this.labels.length - 1];\n const index = Math.max(0, this.activeIndex);\n const [row, column] = [Math.floor(index / columns), index % columns];\n const [next, back] = this._reversed ? ['ArrowLeft', 'ArrowRight'] : ['ArrowRight', 'ArrowLeft'];\n const to = {\n [next]: [row, column + 1],\n [back]: [row, column - 1],\n ArrowDown: [row + 1, column],\n ArrowUp: [row - 1, column],\n Home: [row, 0],\n End: [row, columns - 1]\n }[key];\n if (!to) return undefined;\n // The first key after focus or Escape shows the first cell.\n if (this.activeIndex < 0) return 0;\n const clamp = (value: number, max: number) => Math.min(max, Math.max(0, value));\n return clamp(to[0], last) * columns + clamp(to[1], columns - 1);\n }\n\n /**\n * The cell under the pointer by its position, or -1 off the grid. A touch\n * keeps its first target while it drags, so the target cannot be used. The\n * cells and gaps are even, so each band's edge falls in a gap and a gap\n * counts as the nearer cell.\n */\n protected _indexAt(e: PointerEvent) {\n const [columns, rows] = [this.series.length, this.labels.length];\n const first = this._cells[0].getBoundingClientRect();\n const last = this._cells[this._cells.length - 1].getBoundingClientRect();\n const [left, right] = [Math.min(first.left, last.left), Math.max(first.right, last.right)];\n const [x, y] = [e.clientX, e.clientY];\n if (this._off(x, y, [left, right, first.top, last.bottom])) return -1;\n const band = (offset: number, size: number, count: number) =>\n Math.min(count - 1, Math.floor((offset / (size || 1)) * count));\n const column = band(x - left, right - left, columns);\n return band(y - first.top, last.bottom - first.top, rows) * columns + (this._reversed ? columns - 1 - column : column);\n }\n\n /** Whether a point is off the cells, or on cells scrolled out of view under the row labels. */\n private _off(x: number, y: number, [left, right, top, bottom]: number[]) {\n const view = this._scroll.getBoundingClientRect();\n return x < Math.max(left, view.left) || x > Math.min(right, view.right) || y < top || y > bottom;\n }\n\n /**\n * The legend: a gradient from the lowest cell's shade to the highest's,\n * labelled with their text. A fixed scale wider than the data shows only\n * the part the data uses.\n */\n protected _guides(): Element[] {\n const legend = document.createElement('div');\n legend.className = 'heatmap-chart-legend';\n legend.setAttribute('aria-hidden', 'true');\n const [low, scale, high] = ['span', 'span', 'span'].map((tag) => document.createElement(tag));\n [low.textContent, high.textContent] = this._ends;\n scale.className = 'heatmap-chart-scale';\n if (this._reversed) scale.style.setProperty('--heatmap-chart-to', 'left');\n const [from, to] = this._endLevels;\n scale.style.setProperty('--low', String(from));\n scale.style.setProperty('--high', String(to));\n // A diverging scale whose data crosses the midpoint passes its empty color.\n scale.classList.toggle('diverging', from < 0 && to > 0);\n scale.style.setProperty('--mid', `${(-from / (to - from || 1)) * 100}%`);\n scale.append(...this._bands().filter((level) => level >= from && level <= to).map((level) => {\n const swatch = document.createElement('span');\n swatch.style.setProperty('--level', String(level));\n return swatch;\n }));\n legend.append(low, scale, high);\n return [legend];\n }\n\n /** With data-steps, every band's shade from the lowest to the highest; otherwise none. */\n private _bands() {\n const steps = this._steps;\n if (!steps) return [];\n return Array.from({ length: 2 * steps - 1 }, (_, k) => (k - steps + 1) / (steps - 1));\n }\n\n /** The number of bands data-steps asks for, or 0 for a smooth scale. */\n private get _steps() {\n const steps = Math.round(this._number('steps') ?? 0);\n return steps > 1 ? steps : 0;\n }\n\n /**\n * How a value shades its cell: from 0 at the scale's low end to 1 at its\n * high end, or with data-mid from -1 to 1 either side of that midpoint,\n * as far as the further end. With data-steps the shades fall into bands.\n */\n private _shade(low: number, high: number) {\n const option = (name: 'min' | 'max', fallback: number) => this._number(name) ?? this.options[name] ?? fallback;\n const [min, max, mid] = [option('min', low), option('max', high), this._number('mid')];\n const clamp = (value: number, floor: number) => Math.min(1, Math.max(floor, value));\n const level = mid === null\n ? (value: number) => clamp((value - min) / (max - min || 1), 0)\n : (value: number) => clamp((Math.min(max, Math.max(min, value)) - mid) / (Math.max(max - mid, mid - min) || 1), -1);\n const steps = this._steps;\n return steps ? (value: number) => band(level(value), steps) : level;\n }\n\n /**\n * A grid of the row headers and cells, row by row, with the column headers\n * below. Each cell's --level shades it in CSS.\n */\n protected _draw(): Element {\n const columns = this.series.length;\n let [low, high] = [Infinity, -Infinity];\n this._ends = ['', ''];\n this.series.forEach((series) => series.values.forEach((value, row) => {\n if (value === null) return;\n if (value < low) [low, this._ends[0]] = [value, series.text[row]];\n if (value > high) [high, this._ends[1]] = [value, series.text[row]];\n }));\n const shade = this._shade(low, high);\n this._endLevels = [shade(low), shade(high)];\n\n const grid = document.createElement('div');\n grid.className = 'heatmap-chart-grid';\n grid.setAttribute('aria-hidden', 'true');\n grid.style.setProperty('--columns', String(columns));\n grid.style.setProperty('--rows', String(this.labels.length));\n const span = (className: string, text = '') => {\n const element = document.createElement('span');\n element.className = className;\n element.textContent = text;\n return element;\n };\n const label = (cell: HTMLTableCellElement | undefined) =>\n cell?.dataset.label ?? cell?.textContent.trim() ?? '';\n const values = this.el.classList.contains('values');\n\n this._cells = [];\n this._levels = [];\n // The row labels stay put beside the cells, which scroll when they are too narrow.\n const [rows, cells] = [document.createElement('div'), document.createElement('div')];\n rows.className = 'heatmap-chart-rows';\n cells.className = 'heatmap-chart-cells';\n this.labels.forEach((_, row) => {\n rows.append(span('heatmap-chart-row', label(this._rows[row].cells[0])));\n this.series.forEach((series) => {\n const value = series.values[row];\n const level = value === null ? null : shade(value);\n const cell = span('heatmap-chart-cell', values ? series.text[row] : '');\n if (level === null) cell.classList.add('gap');\n else cell.style.setProperty('--level', String(level));\n this._cells.push(cell);\n this._levels.push(level);\n cells.append(cell);\n });\n });\n\n // A column label runs on over the empty labels after it.\n const labels = this._header.slice(1, columns + 1).map(label);\n const columnLabels: HTMLElement[] = [];\n labels.forEach((text, column) => {\n if (!text) return;\n let end = column + 1;\n while (end < columns && !labels[end]) end++;\n const element = span('heatmap-chart-column', text);\n element.classList.toggle('run', end > column + 1);\n element.style.gridArea = `${this.labels.length + 1} / ${column + 1} / auto / ${end + 1}`;\n cells.append(element);\n columnLabels.push(element);\n });\n // Labels the author already spaced out with empty ones are left as written.\n this._observeLabels(cells, columnLabels.some((element) => element.classList.contains('run')) ? [] : columnLabels);\n\n // The plot is the one Tab stop, so the scroll box is not another, and a\n // press that focuses it hands focus on to the plot.\n const scroll = (this._scroll = document.createElement('div'));\n scroll.className = 'heatmap-chart-scroll';\n scroll.tabIndex = -1;\n scroll.addEventListener('focus', () => this._plot.focus());\n scroll.addEventListener('scroll', () => this._follow(scroll), { passive: true });\n scroll.append(cells);\n grid.append(rows, scroll);\n return grid;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["band"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Utils,
|
|
3
|
+
controllerFor
|
|
4
|
+
} from "./chunk-ZVLOUDIJ.mjs";
|
|
5
|
+
|
|
6
|
+
// src/ts/core/component.ts
|
|
7
|
+
var Component = class {
|
|
8
|
+
/**
|
|
9
|
+
* Destroys any instance already on `el`, then spreads `options` over the
|
|
10
|
+
* class defaults, and `options.i18n` over the default strings, so passing
|
|
11
|
+
* one string keeps the rest. A subclass passes options it reads from
|
|
12
|
+
* markup in `options`.
|
|
13
|
+
*/
|
|
14
|
+
constructor(el, options) {
|
|
15
|
+
if (!(el instanceof HTMLElement)) {
|
|
16
|
+
console.error(Error(el + " is not an HTML Element"));
|
|
17
|
+
}
|
|
18
|
+
new.target.getInstance(el)?.destroy();
|
|
19
|
+
this.el = el;
|
|
20
|
+
const defaults = new.target.defaults;
|
|
21
|
+
const i18n = defaults.i18n && { i18n: { ...defaults.i18n, ...options?.i18n } };
|
|
22
|
+
this.options = { ...defaults, ...options, ...i18n };
|
|
23
|
+
this._events = controllerFor(el);
|
|
24
|
+
el[new.target.key] = this;
|
|
25
|
+
}
|
|
26
|
+
static init(els, options = {}) {
|
|
27
|
+
const create = (el) => new this(el, options);
|
|
28
|
+
if (els instanceof Element) return create(els);
|
|
29
|
+
return els ? Array.from(els, create) : null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @returns default options for component instance.
|
|
33
|
+
*/
|
|
34
|
+
static get defaults() {
|
|
35
|
+
return {};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the instance of the class it is called on for the given element.
|
|
39
|
+
* @param el Associated HTML Element.
|
|
40
|
+
*/
|
|
41
|
+
static getInstance(el) {
|
|
42
|
+
return el[this.key];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Runs an `on…` option callback, then fires `expressive:<type>` from the
|
|
46
|
+
* element, so pages can listen instead of passing options. The callback gets
|
|
47
|
+
* `args` (the element by default) and the event carries `detail`.
|
|
48
|
+
*
|
|
49
|
+
* A callback or listener may close, reopen or destroy the component. Pass
|
|
50
|
+
* `current` to tell whether the state `type` names still holds; the event
|
|
51
|
+
* is skipped once it does not, or once the instance is destroyed, and the
|
|
52
|
+
* result says whether to carry on.
|
|
53
|
+
*/
|
|
54
|
+
_notify(type, callback, { args = [this.el], detail, current = () => true } = {}) {
|
|
55
|
+
const live = () => this.constructor.getInstance(this.el) === this && current();
|
|
56
|
+
if (typeof callback === "function") callback.apply(this, args);
|
|
57
|
+
if (!live()) return false;
|
|
58
|
+
Utils.emit(this.el, type, detail);
|
|
59
|
+
return live();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Destroy plugin instance and teardown. A subclass tears down its own state
|
|
63
|
+
* and calls this to remove its listeners and release the element.
|
|
64
|
+
*/
|
|
65
|
+
destroy() {
|
|
66
|
+
this._events.abort();
|
|
67
|
+
this.el[this.constructor.key] = void 0;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
Component
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-CMGXGYUC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ts/core/component.ts"],
|
|
4
|
+
"sourcesContent": ["import { Utils, controllerFor } from './utils';\n\n/**\n * Base options for component initialization.\n */\nexport interface BaseOptions {}\n\nexport type InitElement = HTMLElement | Element;\nexport type InitElements<T extends InitElement> = NodeListOf<T> | HTMLCollectionOf<T>;\n/** Any component class; `init` reads its element, options and instance types. */\ntype ComponentClass = (new (el: never, options: never) => Component<BaseOptions>) & { key: string };\n/** The element a component class is constructed on. */\ntype ElementOf<C extends ComponentClass> = C extends new (el: infer E, options: never) => unknown ? E : never;\n/** The options `init` accepts for a component class. */\ntype InitOptions<C extends ComponentClass> = Partial<InstanceType<C>['options']>;\n\nexport interface I18nOptions {\n cancel: string;\n clear: string;\n done: string;\n}\n\n/** What {@link Component._notify} passes on, and when it stops. */\nexport interface NotifyOptions {\n args?: unknown[];\n detail?: unknown;\n current?: () => boolean;\n}\n\n/**\n * Base class implementation for Expressive components.\n */\nexport class Component<O extends BaseOptions> {\n /**\n * The element property that holds an instance, `Expressive_<Name>`, so page\n * code can read `el.Expressive_Tabs` as well as call `Tabs.getInstance(el)`.\n */\n static key: string;\n /**\n * The DOM element the plugin was initialized with.\n */\n el: HTMLElement;\n /**\n * The options the instance was initialized with.\n */\n options: O;\n /** Aborted by destroy(), which removes every listener added with its signal. */\n protected _events: AbortController;\n\n /**\n * Destroys any instance already on `el`, then spreads `options` over the\n * class defaults, and `options.i18n` over the default strings, so passing\n * one string keeps the rest. A subclass passes options it reads from\n * markup in `options`.\n */\n constructor(el: HTMLElement, options: Partial<O>) {\n // Display error if el is not a valid HTML Element\n if (!(el instanceof HTMLElement)) {\n console.error(Error(el + ' is not an HTML Element'));\n }\n new.target.getInstance(el)?.destroy();\n this.el = el;\n const defaults: Partial<O> & { i18n?: object } = new.target.defaults;\n const i18n: object = defaults.i18n && { i18n: { ...defaults.i18n, ...(options as typeof defaults)?.i18n } };\n this.options = { ...defaults, ...options, ...i18n } as O;\n this._events = controllerFor(el);\n el[new.target.key] = this;\n }\n\n /**\n * Initializes an instance of the class it is called on.\n * @param el HTML element.\n * @param options Component options.\n */\n static init<C extends ComponentClass>(this: C, el: ElementOf<C>, options?: InitOptions<C>): InstanceType<C>;\n /**\n * Initializes an instance of the class it is called on for each element.\n * @param els HTML elements.\n * @param options Component options.\n */\n static init<C extends ComponentClass>(\n this: C,\n els: InitElements<InitElement>,\n options?: InitOptions<C>\n ): InstanceType<C>[];\n static init<C extends ComponentClass>(\n this: C,\n els: ElementOf<C> | InitElements<InitElement>,\n options: InitOptions<C> = {}\n ): InstanceType<C> | InstanceType<C>[] {\n const create = (el: unknown) => new this(el as never, options as never) as InstanceType<C>;\n if (els instanceof Element) return create(els);\n return els ? Array.from(els as InitElements<InitElement>, create) : null;\n }\n\n /**\n * @returns default options for component instance.\n */\n static get defaults(): BaseOptions {\n return {};\n }\n\n /**\n * Retrieves the instance of the class it is called on for the given element.\n * @param el Associated HTML Element.\n */\n static getInstance<C extends ComponentClass>(this: C, el: HTMLElement): InstanceType<C> {\n return el[this.key];\n }\n\n /**\n * Runs an `on\u2026` option callback, then fires `expressive:<type>` from the\n * element, so pages can listen instead of passing options. The callback gets\n * `args` (the element by default) and the event carries `detail`.\n *\n * A callback or listener may close, reopen or destroy the component. Pass\n * `current` to tell whether the state `type` names still holds; the event\n * is skipped once it does not, or once the instance is destroyed, and the\n * result says whether to carry on.\n */\n protected _notify(\n type: string,\n callback?: Function | null,\n { args = [this.el], detail, current = () => true }: NotifyOptions = {}\n ): boolean {\n const live = () => (this.constructor as typeof Component).getInstance(this.el) === this && current();\n if (typeof callback === 'function') callback.apply(this, args);\n if (!live()) return false;\n Utils.emit(this.el, type, detail);\n return live();\n }\n\n /**\n * Destroy plugin instance and teardown. A subclass tears down its own state\n * and calls this to remove its listeners and release the element.\n */\n destroy(): void {\n this._events.abort();\n this.el[(this.constructor as typeof Component).key] = undefined;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAgCO,IAAM,YAAN,MAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuB5C,YAAY,IAAiB,SAAqB;AAEhD,QAAI,EAAE,cAAc,cAAc;AAChC,cAAQ,MAAM,MAAM,KAAK,yBAAyB,CAAC;AAAA,IACrD;AACA,eAAW,YAAY,EAAE,GAAG,QAAQ;AACpC,SAAK,KAAK;AACV,UAAM,WAA2C,WAAW;AAC5D,UAAM,OAAe,SAAS,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,GAAI,SAA6B,KAAK,EAAE;AAC1G,SAAK,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK;AAClD,SAAK,UAAU,cAAc,EAAE;AAC/B,OAAG,WAAW,GAAG,IAAI;AAAA,EACvB;AAAA,EAkBA,OAAO,KAEL,KACA,UAA0B,CAAC,GACU;AACrC,UAAM,SAAS,CAAC,OAAgB,IAAI,KAAK,IAAa,OAAgB;AACtE,QAAI,eAAe,QAAS,QAAO,OAAO,GAAG;AAC7C,WAAO,MAAM,MAAM,KAAK,KAAkC,MAAM,IAAI;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,WAAwB;AACjC,WAAO,CAAC;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,YAA+C,IAAkC;AACtF,WAAO,GAAG,KAAK,GAAG;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYU,QACR,MACA,UACA,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,QAAQ,UAAU,MAAM,KAAK,IAAmB,CAAC,GAC5D;AACT,UAAM,OAAO,MAAO,KAAK,YAAiC,YAAY,KAAK,EAAE,MAAM,QAAQ,QAAQ;AACnG,QAAI,OAAO,aAAa,WAAY,UAAS,MAAM,MAAM,IAAI;AAC7D,QAAI,CAAC,KAAK,EAAG,QAAO;AACpB,UAAM,KAAK,KAAK,IAAI,MAAM,MAAM;AAChC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAgB;AACd,SAAK,QAAQ,MAAM;AACnB,SAAK,GAAI,KAAK,YAAiC,GAAG,IAAI;AAAA,EACxD;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|