@expressivecss/expressive 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1502 -1
- package/README.md +9 -8
- package/dist/css/expressive.css +19247 -11923
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
- package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
- package/dist/fonts/LICENSE-noto-sans-thai +93 -0
- package/dist/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/fonts/material-symbols-rounded.woff2 +0 -0
- package/dist/fonts/material-symbols-sharp.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
- package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
- package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
- package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
- package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
- package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-700.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-700.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
- package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
- package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
- package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
- package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
- package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
- package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
- package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-4QUCNFSD.mjs} +64 -113
- package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-4TRZ2AER.mjs} +35 -41
- package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
- package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-5KIHWJI2.mjs} +40 -26
- package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
- package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-67ZPPKXS.mjs} +20 -33
- package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
- package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-6FSEUFVW.mjs} +39 -26
- package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
- package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
- package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-75E5EDJF.mjs} +3 -11
- package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-7NLUI3RR.mjs} +139 -66
- package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
- package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
- package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
- package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
- package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
- package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-ANKFWNWT.mjs} +21 -45
- package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
- package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-B7DQFHA5.mjs} +30 -47
- package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
- package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
- package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-BPF3I2MN.mjs} +109 -24
- package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
- package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-CSYWKEK3.mjs} +310 -196
- package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
- package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
- package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
- package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-EC26RU2D.mjs} +11 -29
- package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
- package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-EVCVFEV3.mjs} +235 -146
- package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
- package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
- package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
- package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
- package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
- package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
- package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-ILDRRG7T.mjs} +21 -23
- package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
- package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
- package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
- package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
- package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-KZPSAXIU.mjs} +142 -32
- package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
- package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
- package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
- package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
- package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
- package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
- package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-OP43LLIC.mjs} +28 -45
- package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
- package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
- package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-OYNUDOHR.mjs} +19 -47
- package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
- package/dist/js/chunks/{chunk-UAZSDUVP.mjs → chunk-P6DRQ6KS.mjs} +36 -30
- package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
- package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
- package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
- package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-QXKWVHBD.mjs} +265 -161
- package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
- package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-ROH2HDB4.mjs} +7 -6
- package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
- package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
- package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-SPPHF7YZ.mjs} +36 -29
- package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
- package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
- package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
- package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
- package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
- package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
- package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-VGY4M57S.mjs} +266 -120
- package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
- package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
- package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
- package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-VMY55K2X.mjs} +76 -109
- package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
- package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-VR3L2WN5.mjs} +11 -17
- package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
- package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
- package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
- package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
- package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
- package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
- package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
- package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
- package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-ZJNLAGY5.mjs} +19 -30
- package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
- package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
- package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
- package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
- package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
- package/dist/js/expressive.cjs +10613 -4327
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +10613 -4327
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +23 -22
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +182 -71
- package/dist/js/expressive.mjs.map +2 -2
- package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
- package/dist/js/internal/behaviors/copy.mjs +9 -0
- package/dist/js/internal/behaviors/copy.mjs.map +7 -0
- package/dist/js/internal/behaviors/dataTables.mjs +10 -0
- package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
- package/dist/js/internal/behaviors/dialogs.mjs +2 -2
- package/dist/js/internal/behaviors/forms.mjs +2 -2
- package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
- package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
- package/dist/js/internal/behaviors/lists.mjs +8 -0
- package/dist/js/internal/behaviors/lists.mjs.map +7 -0
- package/dist/js/internal/behaviors/paneResize.mjs +8 -0
- package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
- package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
- package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
- package/dist/js/internal/behaviors/sortable.mjs +8 -0
- package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
- package/dist/js/internal/behaviors/theme.mjs +8 -0
- package/dist/js/internal/behaviors/theme.mjs.map +7 -0
- package/dist/js/internal/behaviors/tour.mjs +8 -0
- package/dist/js/internal/behaviors/tour.mjs.map +7 -0
- package/dist/js/internal/behaviors/transferList.mjs +8 -0
- package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
- package/dist/js/internal/components/appBar.mjs +3 -2
- package/dist/js/internal/components/autocomplete.mjs +4 -4
- package/dist/js/internal/components/backToTop.mjs +9 -0
- package/dist/js/internal/components/backToTop.mjs.map +7 -0
- package/dist/js/internal/components/barChart.mjs +5 -4
- package/dist/js/internal/components/buttonGroup.mjs +3 -2
- package/dist/js/internal/components/buttons.mjs +3 -3
- package/dist/js/internal/components/cards.mjs +3 -3
- package/dist/js/internal/components/carousel.mjs +3 -3
- package/dist/js/internal/components/cascader.mjs +10 -0
- package/dist/js/internal/components/cascader.mjs.map +7 -0
- package/dist/js/internal/components/characterCounter.mjs +3 -2
- package/dist/js/internal/components/chips.mjs +6 -5
- package/dist/js/internal/components/colorPicker.mjs +9 -0
- package/dist/js/internal/components/colorPicker.mjs.map +7 -0
- package/dist/js/internal/components/columnChart.mjs +4 -3
- package/dist/js/internal/components/commandPalette.mjs +3 -3
- package/dist/js/internal/components/confetti.mjs +3 -2
- package/dist/js/internal/components/currencyInput.mjs +9 -0
- package/dist/js/internal/components/currencyInput.mjs.map +7 -0
- package/dist/js/internal/components/datepicker.mjs +11 -8
- package/dist/js/internal/components/expandingCard.mjs +3 -3
- package/dist/js/internal/components/funnelChart.mjs +10 -0
- package/dist/js/internal/components/funnelChart.mjs.map +7 -0
- package/dist/js/internal/components/heatmapChart.mjs +4 -3
- package/dist/js/internal/components/hoverCard.mjs +9 -0
- package/dist/js/internal/components/hoverCard.mjs.map +7 -0
- package/dist/js/internal/components/index.mjs +131 -66
- package/dist/js/internal/components/inputMask.mjs +9 -0
- package/dist/js/internal/components/inputMask.mjs.map +7 -0
- package/dist/js/internal/components/keypad.mjs +3 -3
- package/dist/js/internal/components/lightbox.mjs +3 -3
- package/dist/js/internal/components/lineChart.mjs +25 -4
- package/dist/js/internal/components/loadingOverlay.mjs +9 -0
- package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
- package/dist/js/internal/components/mapView.mjs +3 -3
- package/dist/js/internal/components/menu.mjs +3 -3
- package/dist/js/internal/components/menubar.mjs +10 -0
- package/dist/js/internal/components/menubar.mjs.map +7 -0
- package/dist/js/internal/components/messageScroller.mjs +3 -3
- package/dist/js/internal/components/mixedChart.mjs +5 -4
- package/dist/js/internal/components/navigationRail.mjs +3 -2
- package/dist/js/internal/components/particles.mjs +3 -2
- package/dist/js/internal/components/pieChart.mjs +4 -3
- package/dist/js/internal/components/pullToRefresh.mjs +9 -0
- package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
- package/dist/js/internal/components/questionnaire.mjs +3 -3
- package/dist/js/internal/components/radarChart.mjs +4 -3
- package/dist/js/internal/components/radialChart.mjs +4 -3
- package/dist/js/internal/components/registry.mjs +59 -41
- package/dist/js/internal/components/richTextEditor.mjs +3 -3
- package/dist/js/internal/components/sankeyChart.mjs +10 -0
- package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
- package/dist/js/internal/components/scatterChart.mjs +10 -0
- package/dist/js/internal/components/scatterChart.mjs.map +7 -0
- package/dist/js/internal/components/scrollspy.mjs +3 -2
- package/dist/js/internal/components/select.mjs +4 -4
- package/dist/js/internal/components/showMore.mjs +9 -0
- package/dist/js/internal/components/showMore.mjs.map +7 -0
- package/dist/js/internal/components/slider.mjs +3 -3
- package/dist/js/internal/components/snackbar.mjs +2 -2
- package/dist/js/internal/components/swipeActions.mjs +9 -0
- package/dist/js/internal/components/swipeActions.mjs.map +7 -0
- package/dist/js/internal/components/tabs.mjs +3 -4
- package/dist/js/internal/components/timepicker.mjs +5 -4
- package/dist/js/internal/components/tooltip.mjs +3 -3
- package/dist/js/internal/components/treeSelect.mjs +13 -0
- package/dist/js/internal/components/treeSelect.mjs.map +7 -0
- package/dist/js/internal/components/treemapChart.mjs +10 -0
- package/dist/js/internal/components/treemapChart.mjs.map +7 -0
- package/dist/js/internal/core/component.mjs +2 -1
- package/dist/js/internal/core/formControl.mjs +12 -0
- package/dist/js/internal/core/formControl.mjs.map +7 -0
- package/dist/js/internal/core/spring.mjs +11 -0
- package/dist/js/internal/core/spring.mjs.map +7 -0
- package/dist/js/internal/core/utils.mjs +11 -3
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
- package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
- package/dist/js/modular.mjs +173 -71
- package/dist/types/behaviors/bottomSheets.d.ts +19 -3
- package/dist/types/behaviors/copy.d.ts +18 -0
- package/dist/types/behaviors/dataTables.d.ts +129 -0
- package/dist/types/behaviors/dialogs.d.ts +27 -1
- package/dist/types/behaviors/forms.d.ts +68 -2
- package/dist/types/behaviors/imageCompare.d.ts +12 -0
- package/dist/types/behaviors/lists.d.ts +12 -0
- package/dist/types/behaviors/paneResize.d.ts +29 -0
- package/dist/types/behaviors/sheetDrag.d.ts +18 -0
- package/dist/types/behaviors/sideSheets.d.ts +1 -1
- package/dist/types/behaviors/sortable.d.ts +28 -0
- package/dist/types/behaviors/theme.d.ts +22 -0
- package/dist/types/behaviors/tour.d.ts +36 -0
- package/dist/types/behaviors/transferList.d.ts +51 -0
- package/dist/types/components/appBar.d.ts +5 -6
- package/dist/types/components/autocomplete.d.ts +91 -17
- package/dist/types/components/backToTop.d.ts +36 -0
- package/dist/types/components/barChart.d.ts +3 -6
- package/dist/types/components/buttonGroup.d.ts +2 -4
- package/dist/types/components/buttons.d.ts +5 -5
- package/dist/types/components/cards.d.ts +3 -16
- package/dist/types/components/carousel.d.ts +9 -15
- package/dist/types/components/cascader.d.ts +130 -0
- package/dist/types/components/characterCounter.d.ts +2 -15
- package/dist/types/components/chips.d.ts +65 -19
- package/dist/types/components/colorPicker.d.ts +42 -0
- package/dist/types/components/columnChart.d.ts +23 -10
- package/dist/types/components/commandPalette.d.ts +11 -16
- package/dist/types/components/confetti.d.ts +2 -4
- package/dist/types/components/currencyInput.d.ts +59 -0
- package/dist/types/components/datepicker.d.ts +56 -32
- package/dist/types/components/expandingCard.d.ts +4 -6
- package/dist/types/components/funnelChart.d.ts +38 -0
- package/dist/types/components/heatmapChart.d.ts +39 -8
- package/dist/types/components/hoverCard.d.ts +58 -0
- package/dist/types/components/index.d.ts +16 -1
- package/dist/types/components/inputMask.d.ts +30 -0
- package/dist/types/components/keypad.d.ts +38 -6
- package/dist/types/components/lightbox.d.ts +14 -20
- package/dist/types/components/lineChart.d.ts +172 -10
- package/dist/types/components/loadingOverlay.d.ts +42 -0
- package/dist/types/components/mapView.d.ts +26 -17
- package/dist/types/components/menu.d.ts +60 -22
- package/dist/types/components/menubar.d.ts +37 -0
- package/dist/types/components/messageScroller.d.ts +2 -14
- package/dist/types/components/mixedChart.d.ts +15 -6
- package/dist/types/components/navigationRail.d.ts +16 -5
- package/dist/types/components/particles.d.ts +8 -4
- package/dist/types/components/pieChart.d.ts +32 -7
- package/dist/types/components/pullToRefresh.d.ts +80 -0
- package/dist/types/components/questionnaire.d.ts +58 -16
- package/dist/types/components/radarChart.d.ts +10 -6
- package/dist/types/components/radialChart.d.ts +58 -7
- package/dist/types/components/registry.d.ts +73 -3
- package/dist/types/components/richTextEditor.d.ts +6 -14
- package/dist/types/components/sankeyChart.d.ts +72 -0
- package/dist/types/components/scatterChart.d.ts +102 -0
- package/dist/types/components/scrollspy.d.ts +3 -5
- package/dist/types/components/select.d.ts +43 -30
- package/dist/types/components/showMore.d.ts +51 -0
- package/dist/types/components/slider.d.ts +3 -15
- package/dist/types/components/snackbar.d.ts +61 -0
- package/dist/types/components/swipeActions.d.ts +81 -0
- package/dist/types/components/tabs.d.ts +89 -27
- package/dist/types/components/timepicker.d.ts +113 -21
- package/dist/types/components/tooltip.d.ts +56 -20
- package/dist/types/components/treeSelect.d.ts +106 -0
- package/dist/types/components/treemapChart.d.ts +56 -0
- package/dist/types/core/component.d.ts +43 -25
- package/dist/types/core/formControl.d.ts +21 -0
- package/dist/types/core/spring.d.ts +20 -0
- package/dist/types/core/utils.d.ts +85 -72
- package/dist/types/modular.d.ts +33 -1
- package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
- package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
- package/package.json +10 -8
- package/src/sass/README.md +27 -18
- package/src/sass/abstracts/_elevation.scss +13 -7
- package/src/sass/abstracts/_index.scss +1 -0
- package/src/sass/abstracts/_mixins.scss +422 -36
- package/src/sass/abstracts/_spring.scss +63 -0
- package/src/sass/abstracts/_variables.scss +39 -21
- package/src/sass/base/_fonts.scss +61 -48
- package/src/sass/base/_global.scss +104 -24
- package/src/sass/base/_index.scss +2 -0
- package/src/sass/base/_normalize.scss +59 -114
- package/src/sass/base/_print.scss +21 -0
- package/src/sass/base/_prose.scss +68 -0
- package/src/sass/base/_typography.scss +9 -5
- package/src/sass/components/_accordion.scss +9 -16
- package/src/sass/components/_alert.scss +102 -0
- package/src/sass/components/_aura.scss +8 -3
- package/src/sass/components/_avatar.scss +3 -3
- package/src/sass/components/_back-to-top.scss +38 -0
- package/src/sass/components/_badges.scss +6 -5
- package/src/sass/components/_bar-chart.scss +41 -19
- package/src/sass/components/_bottom-sheet.scss +44 -16
- package/src/sass/components/_breadcrumb.scss +8 -1
- package/src/sass/components/_button-groups.scss +15 -25
- package/src/sass/components/_buttons.scss +156 -63
- package/src/sass/components/_calendar.scss +246 -0
- package/src/sass/components/_cards.scss +36 -44
- package/src/sass/components/_carousel.scss +27 -103
- package/src/sass/components/_cascader.scss +142 -0
- package/src/sass/components/_chips.scss +36 -46
- package/src/sass/components/_column-chart.scss +19 -12
- package/src/sass/components/_command-palette.scss +4 -7
- package/src/sass/components/_confetti.scss +0 -2
- package/src/sass/components/_countdown.scss +1 -1
- package/src/sass/components/_data-table.scss +162 -25
- package/src/sass/components/_datepicker.scss +54 -40
- package/src/sass/components/_description-list.scss +85 -0
- package/src/sass/components/_dialog.scss +42 -41
- package/src/sass/components/_docked-display.scss +1 -3
- package/src/sass/components/_drag-handle.scss +16 -20
- package/src/sass/components/_expanding-card.scss +20 -9
- package/src/sass/components/_fab-menu.scss +44 -32
- package/src/sass/components/_funnel-chart.scss +124 -0
- package/src/sass/components/_heatmap-chart.scss +111 -22
- package/src/sass/components/_icon-buttons.scss +7 -7
- package/src/sass/components/_icons-material-design.scss +2 -2
- package/src/sass/components/_image-compare.scss +108 -0
- package/src/sass/components/_index.scss +20 -0
- package/src/sass/components/_keypad.scss +39 -19
- package/src/sass/components/_kpi.scss +6 -11
- package/src/sass/components/_lightbox.scss +24 -13
- package/src/sass/components/_line-chart.scss +16 -2
- package/src/sass/components/_list.scss +59 -14
- package/src/sass/components/_loading-indicator.scss +1 -0
- package/src/sass/components/_loading-overlay.scss +105 -0
- package/src/sass/components/_map.scss +33 -11
- package/src/sass/components/_marquee.scss +3 -2
- package/src/sass/components/_mega-menu.scss +137 -0
- package/src/sass/components/_menu.scss +143 -123
- package/src/sass/components/_menubar.scss +59 -0
- package/src/sass/components/_message-scroller.scss +2 -2
- package/src/sass/components/_message.scss +3 -3
- package/src/sass/components/_mixed-chart.scss +37 -9
- package/src/sass/components/_modal-display.scss +21 -0
- package/src/sass/components/_navbar.scss +34 -20
- package/src/sass/components/_navigation-bar.scss +15 -77
- package/src/sass/components/_navigation-rail.scss +151 -92
- package/src/sass/components/_org-chart.scss +192 -0
- package/src/sass/components/_page-footer.scss +1 -1
- package/src/sass/components/_pagination.scss +6 -13
- package/src/sass/components/_panes.scss +32 -26
- package/src/sass/components/_particles.scss +0 -2
- package/src/sass/components/_pie-chart.scss +91 -11
- package/src/sass/components/_popover.scss +18 -5
- package/src/sass/components/_progress.scss +152 -31
- package/src/sass/components/_pull-to-refresh.scss +90 -0
- package/src/sass/components/_questionnaire.scss +74 -3
- package/src/sass/components/_radar-chart.scss +38 -10
- package/src/sass/components/_radial-chart.scss +113 -5
- package/src/sass/components/_rich-text-editor.scss +2 -2
- package/src/sass/components/_sankey-chart.scss +114 -0
- package/src/sass/components/_scatter-chart.scss +153 -0
- package/src/sass/components/_scrim.scss +0 -2
- package/src/sass/components/_scrollspy.scss +0 -2
- package/src/sass/components/_search.scss +26 -22
- package/src/sass/components/_show-more.scss +8 -0
- package/src/sass/components/_side-sheet.scss +23 -37
- package/src/sass/components/_skeleton.scss +2 -4
- package/src/sass/components/_snackbar.scss +27 -21
- package/src/sass/components/_split-button.scss +5 -5
- package/src/sass/components/_stat.scss +3 -8
- package/src/sass/components/_stepper.scss +1 -1
- package/src/sass/components/_swipe-actions.scss +71 -0
- package/src/sass/components/_tabs.scss +51 -32
- package/src/sass/components/_timeline.scss +12 -12
- package/src/sass/components/_timepicker.scss +109 -78
- package/src/sass/components/_toolbar.scss +35 -43
- package/src/sass/components/_tooltip.scss +21 -12
- package/src/sass/components/_tour.scss +89 -0
- package/src/sass/components/_transfer-list.scss +73 -0
- package/src/sass/components/_transitions.scss +4 -4
- package/src/sass/components/_tree.scss +3 -16
- package/src/sass/components/_treemap-chart.scss +122 -0
- package/src/sass/components/forms/_checkboxes.scss +106 -24
- package/src/sass/components/forms/_color-picker.scss +135 -0
- package/src/sass/components/forms/_color-swatches.scss +85 -0
- package/src/sass/components/forms/_drop-zone.scss +15 -9
- package/src/sass/components/forms/_fieldset.scss +7 -7
- package/src/sass/components/forms/_file-input.scss +6 -8
- package/src/sass/components/forms/_index.scss +3 -1
- package/src/sass/components/forms/_input-fields.scss +254 -90
- package/src/sass/components/forms/_radio-buttons.scss +33 -94
- package/src/sass/components/forms/_rating.scss +2 -32
- package/src/sass/components/forms/_select.scss +199 -20
- package/src/sass/components/forms/_slider.scss +91 -94
- package/src/sass/components/forms/_switches.scss +53 -164
- package/src/sass/custom.scss +10 -1
- package/src/sass/expressive.scss +3 -63
- package/src/sass/tokens/_contrast.scss +94 -0
- package/src/sass/tokens/_elevation.scss +16 -0
- package/src/sass/tokens/_index.scss +5 -0
- package/src/sass/tokens/_motion.scss +109 -0
- package/src/sass/tokens/_reference.scss +72 -141
- package/src/sass/tokens/_shape.scss +38 -0
- package/src/sass/tokens/_stacking.scss +27 -0
- package/src/sass/tokens/_state.scss +0 -2
- package/src/sass/tokens/_theme.scss +10 -1
- package/src/sass/tokens/_vibrant.scss +2 -5
- package/src/sass/utilities/_defer-render.scss +17 -0
- package/src/sass/utilities/_helpers.scss +183 -26
- package/src/sass/utilities/_index.scss +1 -0
- package/src/sass/utilities/_scroll-area.scss +0 -2
- package/src/sass/utilities/_spacing.scss +52 -34
- package/src/sass/utilities/_typescale.scss +8 -1
- package/src/sass/utilities/_visibility.scss +47 -76
- package/src/sass/utilities/_z-depth.scss +7 -4
- package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
- package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
- package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
- package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
- package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
- package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
- package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
- package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
- package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
- package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
- package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
- package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
- package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
- package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
- package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
- package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
- package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
- package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
- package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
- package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
- package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
- package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
- package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
- package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
- package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
- package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
- package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
- package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
- package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
- package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
- package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
- package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
- package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
- package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
- package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
- package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
- package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
- package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
- package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
- package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
- package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
- package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
- package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
- package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
- package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
- package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
- package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
- package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
- package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
- package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
- package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
- package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
- package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
- package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
- package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
- package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
- package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
- package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
- package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
- package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
- package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
- package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
- package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
- package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
- package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
- package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
- /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Component, BaseOptions, InitElements, InitElement } from '../core/component';
|
|
1
|
+
import { Component, BaseOptions } from '../core/component';
|
|
3
2
|
export interface TabsOptions extends BaseOptions {
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Indicator transition duration in milliseconds, on an ease-out curve. The
|
|
5
|
+
* default, null, follows the --md-comp-tabs-indicator-duration and
|
|
6
|
+
* --md-comp-tabs-indicator-easing spring tokens instead.
|
|
7
|
+
* @default null
|
|
7
8
|
*/
|
|
8
|
-
duration: number;
|
|
9
|
+
duration: number | null;
|
|
9
10
|
/**
|
|
10
11
|
* Callback for when a new tab content is shown.
|
|
11
12
|
* @default null
|
|
12
13
|
*/
|
|
13
14
|
onShow: (newContent: Element) => void;
|
|
14
15
|
/**
|
|
15
|
-
* Set to true to
|
|
16
|
+
* Set to true to swipe between panels. The panels move into a full-width
|
|
17
|
+
* scroll-snap track, so touch and trackpad swipes are native scrolling.
|
|
16
18
|
* This also uses the responsiveThreshold option.
|
|
17
19
|
* @default false
|
|
18
20
|
*/
|
|
@@ -30,56 +32,116 @@ export declare class Tabs extends Component<TabsOptions> {
|
|
|
30
32
|
_indicator: HTMLElement;
|
|
31
33
|
_tabWidth: number;
|
|
32
34
|
_tabsWidth: number;
|
|
33
|
-
|
|
35
|
+
_track: HTMLElement;
|
|
36
|
+
private _panels;
|
|
37
|
+
private _scrollTarget;
|
|
38
|
+
private _scrollTimer;
|
|
39
|
+
private _trackObserver;
|
|
40
|
+
private _trackWidth;
|
|
34
41
|
_activeTabLink: HTMLAnchorElement;
|
|
35
42
|
_content: HTMLElement;
|
|
36
43
|
private _originalPanels;
|
|
37
44
|
private _originalLinks;
|
|
38
|
-
constructor(el: HTMLElement, options: Partial<TabsOptions>);
|
|
39
|
-
static get defaults(): TabsOptions;
|
|
40
|
-
/**
|
|
41
|
-
* Initializes instance of Tabs.
|
|
42
|
-
* @param el HTML element.
|
|
43
|
-
* @param options Component options.
|
|
44
|
-
*/
|
|
45
|
-
static init(el: HTMLElement, options?: Partial<TabsOptions>): Tabs;
|
|
46
45
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
46
|
+
* Whether the page made the strip a tablist. The roles are the author's;
|
|
47
|
+
* in that mode the component keeps aria-selected and a roving tabindex, and
|
|
48
|
+
* the arrow keys select as they move, as the ARIA tabs pattern asks.
|
|
50
49
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
private _tablist;
|
|
51
|
+
/** The bar's own tabindex as the page wrote it, put back on destroy. */
|
|
52
|
+
private _barTabindex;
|
|
53
|
+
/** Re-chooses a tablist's Tab stop when the strip is shown, hidden or resized. */
|
|
54
|
+
private _stripObserver;
|
|
55
|
+
constructor(el: HTMLElement, options: Partial<TabsOptions>);
|
|
56
|
+
private _setupTablist;
|
|
57
|
+
static get defaults(): TabsOptions;
|
|
58
|
+
static key: string;
|
|
53
59
|
destroy(): void;
|
|
54
60
|
/**
|
|
55
61
|
* The index of tab that is currently shown.
|
|
56
62
|
*/
|
|
57
63
|
get index(): number;
|
|
58
64
|
_setupEventHandlers(): void;
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Left and Right move focus to the next tab, wrapping at the ends, and
|
|
67
|
+
* Home and End to the first and last; disabled tabs are skipped. In link
|
|
68
|
+
* tabs focus moves without choosing, and Enter follows the link. In a
|
|
69
|
+
* tablist the tab that takes focus is selected too, the ARIA pattern's
|
|
70
|
+
* automatic activation, since a panel here shows at once.
|
|
71
|
+
*/
|
|
72
|
+
_handleKeydown: (e: KeyboardEvent) => void;
|
|
73
|
+
/**
|
|
74
|
+
* In a tablist the tab that takes focus is selected; link tabs wait for
|
|
75
|
+
* Enter. The page's focus handlers run inside focus(), and one may have
|
|
76
|
+
* destroyed or replaced the tabs, which then are no longer this instance's.
|
|
77
|
+
*/
|
|
78
|
+
private _followFocus;
|
|
79
|
+
private _remeasure;
|
|
61
80
|
_queryTabLinks(): NodeListOf<HTMLAnchorElement>;
|
|
62
81
|
_handleTabClick: (e: MouseEvent) => void;
|
|
82
|
+
private _select;
|
|
83
|
+
private _clickSwipeable;
|
|
84
|
+
private _clickTab;
|
|
85
|
+
/** Shows the active panel, hides the old one, then reports the change. */
|
|
86
|
+
private _swapPanels;
|
|
63
87
|
_createIndicator(): void;
|
|
64
88
|
/** Reads both positions before writing either. */
|
|
65
89
|
private _positionIndicator;
|
|
66
90
|
/** The panel a link shows, or null for a `target` link or one without a hash. */
|
|
67
91
|
private _panelFor;
|
|
92
|
+
/**
|
|
93
|
+
* The id a hash names. `a.hash` and `location.hash` come back
|
|
94
|
+
* percent-encoded, so a non-ASCII id would never match without this. A
|
|
95
|
+
* malformed escape throws, and is then taken as written.
|
|
96
|
+
*/
|
|
97
|
+
private static _decodeHash;
|
|
68
98
|
/**
|
|
69
99
|
* Which tab is current, for the eye and for assistive technology.
|
|
70
100
|
*
|
|
71
|
-
* The class alone is a colour. `aria-current`
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
101
|
+
* The class alone is a colour. Link tabs are navigation, so `aria-current`
|
|
102
|
+
* is the part a screen reader reads. A strip the page made a tablist reads
|
|
103
|
+
* `aria-selected` instead, with the keyboard model rule 2 asks of a
|
|
104
|
+
* composite role. Either value changes as the user picks, which makes
|
|
105
|
+
* keeping it the component's job, not the author's - see CONTEXT.md on
|
|
76
106
|
* static semantics versus dynamic state. Writing it once in the markup and
|
|
77
107
|
* never moving it left the old tab announcing itself as current.
|
|
78
108
|
*/
|
|
79
109
|
private _setActiveTabLink;
|
|
110
|
+
/** A tablist says selected and keeps one Tab stop; link tabs say current. */
|
|
111
|
+
private _mark;
|
|
112
|
+
/**
|
|
113
|
+
* The tablist's one Tab stop: the selected tab, or the first usable one
|
|
114
|
+
* when the selected tab is disabled or hidden. The arrow keys skip both,
|
|
115
|
+
* so a Tab stop on one would leave every other panel out of reach.
|
|
116
|
+
*/
|
|
117
|
+
private _tabStop;
|
|
118
|
+
/** Showing or hiding the strip or a tab moves the Tab stop to a usable tab. */
|
|
119
|
+
private _refreshTabStop;
|
|
120
|
+
/**
|
|
121
|
+
* Scrolls an overflowing bar, and only the bar, so the tab is in view.
|
|
122
|
+
* Measured as a visual offset, so it holds in a right-to-left bar too.
|
|
123
|
+
*/
|
|
124
|
+
private _reveal;
|
|
80
125
|
_setupActiveTabLink(): void;
|
|
81
126
|
_setupSwipeableTabs(): void;
|
|
82
127
|
_teardownSwipeableTabs(): void;
|
|
128
|
+
/** Only the shown panel is reachable; the others are off to the side. */
|
|
129
|
+
private _syncPanels;
|
|
130
|
+
/** The panel the track is mostly showing. Panels are exactly one track wide. */
|
|
131
|
+
private _trackIndex;
|
|
132
|
+
/**
|
|
133
|
+
* Whether panel `index` fills the track. Compare positions, not rounded
|
|
134
|
+
* indexes: a scroll still on its way to another panel can already round to
|
|
135
|
+
* this one. Measured rather than computed from clientWidth, which rounds a
|
|
136
|
+
* fractional track width, while the mandatory snap lands on the real edge.
|
|
137
|
+
*/
|
|
138
|
+
private _trackAt;
|
|
139
|
+
private _scrollToActivePanel;
|
|
140
|
+
private _waitForScroll;
|
|
141
|
+
_releaseScrollTarget: () => void;
|
|
142
|
+
_handleTrackScroll: () => void;
|
|
143
|
+
private _showPanel;
|
|
144
|
+
private _notifyShow;
|
|
83
145
|
_setupNormalTabs(): void;
|
|
84
146
|
_setTabsAndTabWidth(): void;
|
|
85
147
|
_calcRightPos(el: any): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, BaseOptions,
|
|
1
|
+
import { Component, BaseOptions, I18nOptions } from '../core/component';
|
|
2
2
|
export type Views = 'hours' | 'minutes';
|
|
3
3
|
export interface TimepickerOptions extends BaseOptions {
|
|
4
4
|
/**
|
|
@@ -58,12 +58,31 @@ export interface TimepickerOptions extends BaseOptions {
|
|
|
58
58
|
i18n: Partial<I18nOptions & {
|
|
59
59
|
hours: string;
|
|
60
60
|
minutes: string;
|
|
61
|
+
seconds: string;
|
|
61
62
|
}>;
|
|
62
63
|
/**
|
|
63
64
|
* Use 12 hour AM/PM clock instead of 24 hour clock.
|
|
64
|
-
* @default true
|
|
65
|
+
* @default true, or the clock the input's `lang` uses
|
|
65
66
|
*/
|
|
66
67
|
twelveHour: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Add a seconds field after the minutes, and write `HH:MM:SS`. The dial
|
|
70
|
+
* still sets hours and minutes only.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
showSeconds: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* The earliest time a person can choose, as 24-hour `'HH:MM'` or
|
|
76
|
+
* `'HH:MM:SS'`. Without `showSeconds` it rounds up to a whole minute.
|
|
77
|
+
* @default null
|
|
78
|
+
*/
|
|
79
|
+
minTime: string | null;
|
|
80
|
+
/**
|
|
81
|
+
* The latest time a person can choose, as 24-hour `'HH:MM'` or
|
|
82
|
+
* `'HH:MM:SS'`. Without `showSeconds` it rounds down to a whole minute.
|
|
83
|
+
* @default null
|
|
84
|
+
*/
|
|
85
|
+
maxTime: string | null;
|
|
67
86
|
/**
|
|
68
87
|
* Vibrate device when dragging clock hand.
|
|
69
88
|
* @default true
|
|
@@ -90,7 +109,9 @@ export interface TimepickerOptions extends BaseOptions {
|
|
|
90
109
|
*/
|
|
91
110
|
onCancel: (() => void) | null;
|
|
92
111
|
/**
|
|
93
|
-
* Display plugin
|
|
112
|
+
* Display plugin: 'docked' for a popover under the input, or 'modal' for a
|
|
113
|
+
* dialog with Cancel and Ok. A modal picker writes the input only on Ok,
|
|
114
|
+
* so it clears `autoSubmit`.
|
|
94
115
|
*/
|
|
95
116
|
displayPlugin: string;
|
|
96
117
|
/**
|
|
@@ -106,11 +127,15 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
106
127
|
digitalClock: HTMLElement;
|
|
107
128
|
inputHours: HTMLInputElement;
|
|
108
129
|
inputMinutes: HTMLInputElement;
|
|
130
|
+
/** The seconds field, or null without `showSeconds`. */
|
|
131
|
+
inputSeconds: HTMLInputElement | null;
|
|
109
132
|
x0: number;
|
|
110
133
|
y0: number;
|
|
111
134
|
moved: boolean;
|
|
112
135
|
/** Which pointer is dragging the clock hand; a second finger is ignored. */
|
|
113
136
|
private _dragPointerId;
|
|
137
|
+
/** Removes the document listeners of the drag in progress. */
|
|
138
|
+
private _drag;
|
|
114
139
|
dx: number;
|
|
115
140
|
dy: number;
|
|
116
141
|
/**
|
|
@@ -122,6 +147,7 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
122
147
|
minutesView: HTMLElement;
|
|
123
148
|
hours: number;
|
|
124
149
|
minutes: number;
|
|
150
|
+
seconds: number;
|
|
125
151
|
/** The selected time. */
|
|
126
152
|
time: string;
|
|
127
153
|
/**
|
|
@@ -139,7 +165,6 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
139
165
|
private _amBtn;
|
|
140
166
|
private _pmBtn;
|
|
141
167
|
bg: Element;
|
|
142
|
-
bearing: Element;
|
|
143
168
|
g: Element;
|
|
144
169
|
toggleViewTimer: ReturnType<typeof setTimeout>;
|
|
145
170
|
vibrateTimer: ReturnType<typeof setTimeout>;
|
|
@@ -148,32 +173,22 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
148
173
|
private displayPlugin;
|
|
149
174
|
/** Whether the dial (ticks + SVG + AM/PM buttons) has been built yet. */
|
|
150
175
|
private _clockBuilt;
|
|
176
|
+
/** Whether the pointer last pointed at a value outside the range. */
|
|
177
|
+
private _handRefused;
|
|
178
|
+
/** The first and last allowed second of the day. */
|
|
179
|
+
private _limits;
|
|
151
180
|
constructor(el: HTMLInputElement, options: Partial<TimepickerOptions>);
|
|
152
181
|
static get defaults(): TimepickerOptions;
|
|
153
|
-
|
|
154
|
-
* Initializes instance of Timepicker.
|
|
155
|
-
* @param el HTML element.
|
|
156
|
-
* @param options Component options.
|
|
157
|
-
*/
|
|
158
|
-
static init(el: HTMLInputElement, options?: Partial<TimepickerOptions>): Timepicker;
|
|
159
|
-
/**
|
|
160
|
-
* Initializes instances of Timepicker.
|
|
161
|
-
* @param els HTML elements.
|
|
162
|
-
* @param options Component options.
|
|
163
|
-
*/
|
|
164
|
-
static init(els: InitElements<HTMLInputElement | InitElement>, options?: Partial<TimepickerOptions>): Timepicker[];
|
|
165
|
-
static _addLeadingZero(num: number): string;
|
|
166
|
-
static _createSVGEl(name: string): SVGElement;
|
|
167
|
-
static getInstance(el: HTMLElement): Timepicker;
|
|
182
|
+
static key: string;
|
|
168
183
|
destroy(): void;
|
|
169
184
|
_setupEventHandlers(): void;
|
|
170
|
-
_removeEventHandlers(): void;
|
|
171
|
-
private _removeDragListeners;
|
|
172
185
|
_handleInputClick: () => void;
|
|
173
186
|
_handleInputKeydown: (e: KeyboardEvent) => void;
|
|
174
187
|
_handleClockClickStart: (e: PointerEvent) => void;
|
|
175
188
|
_handleDocumentClickMove: (e: PointerEvent) => void;
|
|
176
189
|
_handleDocumentClickEnd: (e: PointerEvent) => void;
|
|
190
|
+
/** Take the value under the hand: move on to the minutes, or submit. */
|
|
191
|
+
private _chooseHand;
|
|
177
192
|
/**
|
|
178
193
|
* A cancelled pointer is not a completed selection. The browser or the OS
|
|
179
194
|
* took the gesture over, so this only lets go of the drag - it must not run
|
|
@@ -181,8 +196,21 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
181
196
|
* and under `autoSubmit` closes the picker on a time the user never chose.
|
|
182
197
|
*/
|
|
183
198
|
_handleDocumentClickCancel: (e: PointerEvent) => void;
|
|
199
|
+
/**
|
|
200
|
+
* Read `minTime` and `maxTime` as seconds of the day. Without a seconds
|
|
201
|
+
* field the picker writes whole minutes, so the bounds round inward to a
|
|
202
|
+
* whole minute: `maxTime` takes in every second of its minute, and the
|
|
203
|
+
* hidden seconds never clamp.
|
|
204
|
+
*/
|
|
205
|
+
private _readLimits;
|
|
184
206
|
_insertHTMLIntoDOM(): void;
|
|
185
207
|
_setupVariables(): void;
|
|
208
|
+
private _removeSecondsField;
|
|
209
|
+
private _input;
|
|
210
|
+
/** The units that have a field. */
|
|
211
|
+
private _units;
|
|
212
|
+
/** Which unit's field `target` is, if any. */
|
|
213
|
+
private _unitOf;
|
|
186
214
|
_pickerSetup(): void;
|
|
187
215
|
/**
|
|
188
216
|
* Build the dial, once. Cheap to call repeatedly - every entry point that
|
|
@@ -200,6 +228,23 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
200
228
|
_handleAmPmInteraction: (e: HTMLElement) => void;
|
|
201
229
|
_updateAmPmView(): void;
|
|
202
230
|
_updateTimeFromInput(): void;
|
|
231
|
+
/** Show the time in every field but `except`, which the person is typing in. */
|
|
232
|
+
private _writeFields;
|
|
233
|
+
/** After a change to the time: keep it in range and update what depends on it. */
|
|
234
|
+
private _afterChange;
|
|
235
|
+
/**
|
|
236
|
+
* Give each field the allowed range of values, and disable a period with
|
|
237
|
+
* no allowed time.
|
|
238
|
+
*/
|
|
239
|
+
private _updateRanges;
|
|
240
|
+
/** Mark the ticks of a dial view that are outside the range. */
|
|
241
|
+
private _disableTicks;
|
|
242
|
+
/** The hour on the 24-hour clock, setting AM or PM on a 12-hour one. */
|
|
243
|
+
private _setHours24;
|
|
244
|
+
/** The time as seconds of the day. */
|
|
245
|
+
private _time;
|
|
246
|
+
/** Move the time to the nearest allowed time, and say whether it moved. */
|
|
247
|
+
private _clamp;
|
|
203
248
|
/**
|
|
204
249
|
* Show hours or minutes view on timepicker.
|
|
205
250
|
* @param view The name of the view you want to switch to, 'hours' or 'minutes'.
|
|
@@ -208,14 +253,61 @@ export declare class Timepicker extends Component<TimepickerOptions> {
|
|
|
208
253
|
showView: (view: Views, delay?: number) => void;
|
|
209
254
|
private _cancelClockReset;
|
|
210
255
|
resetClock(delay: any): void;
|
|
256
|
+
/**
|
|
257
|
+
* Enter in the hour or minute field commits the typed time. The dial ticks
|
|
258
|
+
* are pointer targets only, and under `autoSubmit` there is no Ok button,
|
|
259
|
+
* so without this a keyboard user could type a time but never set it.
|
|
260
|
+
* Cancelling also keeps Enter from submitting a surrounding form. The
|
|
261
|
+
* listener's column holds only the fields; AM/PM is a separate column.
|
|
262
|
+
*/
|
|
263
|
+
_handleDigitalKeydown: (e: KeyboardEvent) => void;
|
|
264
|
+
/** The lowest and highest value a field can show. */
|
|
265
|
+
private _bounds;
|
|
266
|
+
/** The lowest and highest allowed value of a field, given the others. */
|
|
267
|
+
private _range;
|
|
268
|
+
/**
|
|
269
|
+
* The first and last allowed value of a field, given the fields before it,
|
|
270
|
+
* with hours on the 24-hour clock. An hour is allowed when any second of
|
|
271
|
+
* it is, and so is a minute.
|
|
272
|
+
*/
|
|
273
|
+
private _dayRange;
|
|
274
|
+
/** A field's value with hours on the 24-hour clock. */
|
|
275
|
+
private _dayValue;
|
|
276
|
+
/** Whether a field can take `value` within the range. */
|
|
277
|
+
private _allows;
|
|
278
|
+
/** The whole number typed in a field, or NaN when the field can't take it. */
|
|
279
|
+
private _fieldValue;
|
|
280
|
+
/** Whether a field can show `value` and the range allows it. */
|
|
281
|
+
private _takes;
|
|
282
|
+
/** Point the hand at an hour or minute. Seconds have no dial view. */
|
|
283
|
+
private _moveHand;
|
|
284
|
+
/**
|
|
285
|
+
* Up and Down step a field by one, Page Up and Page Down by five, round
|
|
286
|
+
* the dial: past 59 minutes comes 00. The hand follows hours and minutes.
|
|
287
|
+
* Hours step round the day, so in 12-hour time passing 12 switches AM and
|
|
288
|
+
* PM. Minutes and seconds wrap without carrying. With `minTime` or
|
|
289
|
+
* `maxTime`, a field that is not wholly allowed stops at its last allowed
|
|
290
|
+
* value instead of wrapping.
|
|
291
|
+
*/
|
|
292
|
+
private _step;
|
|
293
|
+
/** A field's value `step` on, with hours on the 24-hour clock. */
|
|
294
|
+
private _stepValue;
|
|
211
295
|
_inputFromTextField: (event: Event) => void;
|
|
212
296
|
drawClockFromTimeInput(value: any, isHours: any): void;
|
|
213
297
|
setHand(x: any, y: any, roundBy5?: boolean): void;
|
|
298
|
+
/** The hour at a dial position, 0 to 12 from the top. */
|
|
299
|
+
private _hourAt;
|
|
214
300
|
setClockAttributes(radian: number, radius: number): void;
|
|
215
301
|
formatHours(): void;
|
|
216
302
|
formatMinutes(): void;
|
|
303
|
+
formatSeconds(): void;
|
|
304
|
+
/** Normalize every field, as leaving it would. */
|
|
305
|
+
private _formatFields;
|
|
217
306
|
setHoursDefault(): void;
|
|
218
307
|
done: (clearValue?: any) => void;
|
|
308
|
+
/** `HH:MM` for the given hour, or `HH:MM:SS` with a seconds field. */
|
|
309
|
+
private _clockTime;
|
|
310
|
+
private _inputValue;
|
|
219
311
|
confirm: () => void;
|
|
220
312
|
cancel: () => void;
|
|
221
313
|
clear: () => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, BaseOptions
|
|
1
|
+
import { Component, BaseOptions } from '../core/component';
|
|
2
2
|
export type TooltipPosition = 'top' | 'right' | 'bottom' | 'left';
|
|
3
3
|
export interface TooltipOptions extends BaseOptions {
|
|
4
4
|
/**
|
|
@@ -7,7 +7,8 @@ export interface TooltipOptions extends BaseOptions {
|
|
|
7
7
|
*/
|
|
8
8
|
exitDelay: number;
|
|
9
9
|
/**
|
|
10
|
-
* Delay time before tooltip appears.
|
|
10
|
+
* Delay time before tooltip appears. Skipped while a tooltip is closing
|
|
11
|
+
* and for 300ms after its exitDelay ends.
|
|
11
12
|
* @default 0
|
|
12
13
|
*/
|
|
13
14
|
enterDelay: number;
|
|
@@ -52,6 +53,13 @@ export interface TooltipOptions extends BaseOptions {
|
|
|
52
53
|
* @default 10
|
|
53
54
|
*/
|
|
54
55
|
transitionMovement: number;
|
|
56
|
+
/**
|
|
57
|
+
* Open on a click instead of hover and focus. A second click, Escape, a
|
|
58
|
+
* click elsewhere or focus on another element closes it. On touch a tap
|
|
59
|
+
* is the click, so the long press is off.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
openOnClick: boolean;
|
|
55
63
|
}
|
|
56
64
|
export declare class Tooltip extends Component<TooltipOptions> {
|
|
57
65
|
/**
|
|
@@ -70,30 +78,29 @@ export declare class Tooltip extends Component<TooltipOptions> {
|
|
|
70
78
|
private _exitDelayTimeout;
|
|
71
79
|
private _enterDelayTimeout;
|
|
72
80
|
private _animationTimeout;
|
|
81
|
+
private _pressTimeout;
|
|
82
|
+
private _lingerTimeout;
|
|
83
|
+
private _outsideTimeout;
|
|
84
|
+
/** The last click on the trigger or inside the tooltip, which the document listener leaves alone. */
|
|
85
|
+
private _insideClick;
|
|
86
|
+
/** When the last touch began or ended, to tell its mouse events from a mouse. */
|
|
87
|
+
private _lastTouch;
|
|
88
|
+
/** Whether a long press showed the tooltip, until it closes or a mouse hovers. */
|
|
89
|
+
private _touchShown;
|
|
90
|
+
/** Until when a click is the release of a long press, not a tap. */
|
|
91
|
+
private _swallowClickUntil;
|
|
92
|
+
private _shown;
|
|
73
93
|
private _originalContent;
|
|
74
94
|
xMovement: number;
|
|
75
95
|
yMovement: number;
|
|
76
96
|
constructor(el: HTMLElement, options: Partial<TooltipOptions>);
|
|
77
97
|
static get defaults(): TooltipOptions;
|
|
78
|
-
|
|
79
|
-
* Initializes instance of Tooltip.
|
|
80
|
-
* @param el HTML element.
|
|
81
|
-
* @param options Component options.
|
|
82
|
-
*/
|
|
83
|
-
static init(el: HTMLElement, options?: Partial<TooltipOptions>): Tooltip;
|
|
84
|
-
/**
|
|
85
|
-
* Initializes instances of Tooltip.
|
|
86
|
-
* @param els HTML elements.
|
|
87
|
-
* @param options Component options.
|
|
88
|
-
*/
|
|
89
|
-
static init(els: InitElements<InitElement>, options?: Partial<TooltipOptions>): Tooltip[];
|
|
90
|
-
static getInstance(el: HTMLElement): Tooltip;
|
|
98
|
+
static key: string;
|
|
91
99
|
destroy(): void;
|
|
92
100
|
_appendTooltipEl(): void;
|
|
93
101
|
_setTooltipContent(tooltipContentEl: HTMLElement): void;
|
|
94
102
|
_updateTooltipContent(): void;
|
|
95
103
|
_setupEventHandlers(): void;
|
|
96
|
-
_removeEventHandlers(): void;
|
|
97
104
|
/**
|
|
98
105
|
* Show tooltip.
|
|
99
106
|
*/
|
|
@@ -102,20 +109,49 @@ export declare class Tooltip extends Component<TooltipOptions> {
|
|
|
102
109
|
* Hide tooltip.
|
|
103
110
|
*/
|
|
104
111
|
close: () => void;
|
|
112
|
+
/** Show at once, without enterDelay, for a request that is its own delay: a long press or a click. */
|
|
113
|
+
private _showNow;
|
|
114
|
+
/** Hide at once, without exitDelay, for an explicit dismissal. */
|
|
115
|
+
private _hideNow;
|
|
105
116
|
_setExitDelayTimeout(): void;
|
|
106
117
|
_setEnterDelayTimeout(isManual: any): void;
|
|
107
118
|
_positionTooltip(): void;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
y: number;
|
|
111
|
-
};
|
|
119
|
+
_place(): void;
|
|
120
|
+
_anchorTooltip(): void;
|
|
112
121
|
_animateIn(): void;
|
|
113
122
|
_animateOut(): void;
|
|
114
123
|
_animate(show: boolean): void;
|
|
124
|
+
private _reportShown;
|
|
115
125
|
_handleMouseEnter: () => void;
|
|
126
|
+
/** Whether an event is a touch, noting when, so the mouse events that echo it are ignored. */
|
|
127
|
+
private _touched;
|
|
128
|
+
/** Whether an event is a touch for the long press, which a click tooltip does without. */
|
|
129
|
+
private _longPress;
|
|
130
|
+
_handlePointerEnter: (e: PointerEvent) => void;
|
|
131
|
+
/** A touch held for LONG_PRESS shows the tooltip, unless it turns into a scroll first. */
|
|
132
|
+
_handlePointerDown: (e: PointerEvent) => void;
|
|
133
|
+
/** The finger lifted: a press too short stays a tap, and a tooltip it showed lingers for TOUCH_LINGER. */
|
|
134
|
+
_handlePointerEnd: (e: PointerEvent) => void;
|
|
135
|
+
/**
|
|
136
|
+
* A click tooltip toggles. Otherwise the click a long press's release sends
|
|
137
|
+
* would press the button or follow the link, so it is consumed.
|
|
138
|
+
*/
|
|
139
|
+
_handleClick: (e: MouseEvent) => void;
|
|
140
|
+
/** A click tooltip toggles on what shows: one open() still holds back for enterDelay shows at once. */
|
|
141
|
+
private _toggle;
|
|
142
|
+
_handleTooltipClick: (e: MouseEvent) => void;
|
|
143
|
+
_handleDocumentClick: (e: MouseEvent) => void;
|
|
144
|
+
/**
|
|
145
|
+
* The browser took the touch to scroll: no tooltip opens, not even one
|
|
146
|
+
* waiting out enterDelay, and one the touch showed closes at once.
|
|
147
|
+
*/
|
|
148
|
+
_handlePointerCancel: (e: PointerEvent) => void;
|
|
149
|
+
/** Whether a node is the trigger or the tooltip, or inside either. */
|
|
150
|
+
private _holds;
|
|
116
151
|
_handleMouseLeave: (event: MouseEvent) => void;
|
|
117
152
|
_handleKeydown: (event: KeyboardEvent) => void;
|
|
118
153
|
_handleFocus: (event: FocusEvent) => void;
|
|
119
154
|
_handleBlur: (event: FocusEvent) => void;
|
|
155
|
+
private _blurClickTooltip;
|
|
120
156
|
_getAttributeOptions(): Partial<TooltipOptions>;
|
|
121
157
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { FormSelect, FormSelectOptions } from './select';
|
|
2
|
+
/** An option and the options that name it as their parent. */
|
|
3
|
+
export interface OptionNode {
|
|
4
|
+
option: HTMLOptionElement;
|
|
5
|
+
children: OptionNode[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Turns flat options into a tree. An option sits under the first option whose
|
|
9
|
+
* value its `data-parent` names. It is a root when that is empty, names no
|
|
10
|
+
* option, or starts a chain of parents that comes back to the option itself;
|
|
11
|
+
* its own children stay under it. Siblings keep document order.
|
|
12
|
+
*/
|
|
13
|
+
export declare function optionTree(options: HTMLOptionElement[]): OptionNode[];
|
|
14
|
+
export declare class TreeSelect extends FormSelect {
|
|
15
|
+
/**
|
|
16
|
+
* The role="tree" list inside the Menu surface. Menu styles the rows of its
|
|
17
|
+
* <menu> directly, so the tree keeps its rows one list further down.
|
|
18
|
+
*/
|
|
19
|
+
tree: HTMLUListElement;
|
|
20
|
+
/** Each branch row and the option it stands for. */
|
|
21
|
+
private _branches;
|
|
22
|
+
/** Branch options this disabled, so the form never submits one. */
|
|
23
|
+
private _disabledBranches;
|
|
24
|
+
/** While refresh() rebuilds the rows, the values of the branches left open. */
|
|
25
|
+
private _keepOpen;
|
|
26
|
+
/** Expansion before the first nonempty query, retained across query edits. */
|
|
27
|
+
private _searchOpen;
|
|
28
|
+
/** What typeahead has read so far, and the timer that clears it. */
|
|
29
|
+
private _typed;
|
|
30
|
+
private _typedTimer;
|
|
31
|
+
constructor(el: HTMLSelectElement, options: Partial<FormSelectOptions>);
|
|
32
|
+
static key: string;
|
|
33
|
+
_setValueToInput(): void;
|
|
34
|
+
protected _canSearch(): boolean;
|
|
35
|
+
protected _searchList(): HTMLUListElement;
|
|
36
|
+
protected _searchRows(): HTMLElement[];
|
|
37
|
+
protected _filterSearch(query: string): void;
|
|
38
|
+
private _matchingRows;
|
|
39
|
+
private _searchExpansion;
|
|
40
|
+
protected _searchNavigate(e: KeyboardEvent): void;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Rebuilds the tree from the native options, keeping open each branch whose
|
|
44
|
+
* value is still there and, while the popup is open, focus on the same row.
|
|
45
|
+
*/
|
|
46
|
+
refresh(): void;
|
|
47
|
+
private _restoreOpenFocus;
|
|
48
|
+
/** The option whose row has focus, if one does. */
|
|
49
|
+
private _focusedOption;
|
|
50
|
+
/** The values of the open branches. */
|
|
51
|
+
private _openValues;
|
|
52
|
+
/** Focuses the row for `option` again, or the first enabled row once it is gone or disabled, or the field. */
|
|
53
|
+
private _restoreFocus;
|
|
54
|
+
/** Names the tree as the field is named: aria-labelledby, then aria-label, then its labels. */
|
|
55
|
+
private _nameTree;
|
|
56
|
+
private _labelTree;
|
|
57
|
+
protected _setupOptionHandlers(): void;
|
|
58
|
+
protected _buildOptions(): void;
|
|
59
|
+
/**
|
|
60
|
+
* A select with no selected option picks its first one, which is often a
|
|
61
|
+
* branch, and disabling the branch does not move the selection. Unless the
|
|
62
|
+
* markup selected it, move to the option a form reset would pick now that
|
|
63
|
+
* branches are disabled: the first enabled leaf, or none. Only on start:
|
|
64
|
+
* after that a selected branch is one a script chose.
|
|
65
|
+
*/
|
|
66
|
+
private _leaveImplicitBranch;
|
|
67
|
+
/** Whether the selection is a branch this disabled, which the markup did not select. */
|
|
68
|
+
private _browserPickedBranch;
|
|
69
|
+
private _row;
|
|
70
|
+
private _branch;
|
|
71
|
+
private _leaf;
|
|
72
|
+
private _restoreBranches;
|
|
73
|
+
private _setExpanded;
|
|
74
|
+
/** The rows not inside a closed branch, in document order. */
|
|
75
|
+
_visibleRows(): HTMLElement[];
|
|
76
|
+
private _enabledRows;
|
|
77
|
+
_focusRow(row: HTMLElement | null | undefined): void;
|
|
78
|
+
/** Opens the chosen leaf's branches and focuses it, or the first row a person can choose or open. */
|
|
79
|
+
protected _focusSelected(): void;
|
|
80
|
+
/** Opens every branch around `row`. */
|
|
81
|
+
private _expandTo;
|
|
82
|
+
/** The branch row holding `row`, never an element outside the tree. */
|
|
83
|
+
private _parentRow;
|
|
84
|
+
private _optionOf;
|
|
85
|
+
private _rowOf;
|
|
86
|
+
/** Chooses a leaf, or opens or closes a branch. */
|
|
87
|
+
_activate(row: HTMLElement): void;
|
|
88
|
+
/** Opens a closed branch, or moves into an open one. */
|
|
89
|
+
_openOrEnter(row: HTMLElement): void;
|
|
90
|
+
/** Closes an open branch, or moves to the parent row. */
|
|
91
|
+
_closeOrLeave(row: HTMLElement): void;
|
|
92
|
+
/** Opens every branch beside `row`. */
|
|
93
|
+
_openSiblings(row: HTMLElement): void;
|
|
94
|
+
/**
|
|
95
|
+
* Moves to the next row whose text starts with the characters typed in the
|
|
96
|
+
* last second, as Menu's typeahead does. A repeated search starts on the
|
|
97
|
+
* focused row, so typing more of its text keeps it.
|
|
98
|
+
*/
|
|
99
|
+
_typeahead(row: HTMLElement, key: string): void;
|
|
100
|
+
private _toggle;
|
|
101
|
+
private _keyFor;
|
|
102
|
+
/** The key as in a left-to-right tree. */
|
|
103
|
+
private _logicalKey;
|
|
104
|
+
private _handleTreeKeydown;
|
|
105
|
+
private _handleTreeClick;
|
|
106
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { LineChart, LineChartOptions } from './lineChart';
|
|
2
|
+
export type TreemapChartOptions = LineChartOptions;
|
|
3
|
+
/**
|
|
4
|
+
* Treemap chart. It reads its <table> like LineChart, but draws each row of
|
|
5
|
+
* the first value column as a rectangle whose area is its share of the
|
|
6
|
+
* whole, filling the plot, the largest at the top inline-start corner. Rows
|
|
7
|
+
* with no positive value draw nothing. Further columns show in the tooltip.
|
|
8
|
+
*
|
|
9
|
+
* Call `update()` after changing the table, or start it with `watch` or
|
|
10
|
+
* `data-watch`.
|
|
11
|
+
*/
|
|
12
|
+
export declare class TreemapChart extends LineChart {
|
|
13
|
+
/** Each row's positive value, or 0 for a row with no rectangle. */
|
|
14
|
+
private _values;
|
|
15
|
+
/** Each row's rectangle, or null. */
|
|
16
|
+
private _boxes;
|
|
17
|
+
/** Each drawn row's place as fractions of the plot. */
|
|
18
|
+
private _places;
|
|
19
|
+
/** Lays the rectangles out again when the plot changes shape. */
|
|
20
|
+
private _sizes;
|
|
21
|
+
protected get _type(): string;
|
|
22
|
+
/** Area carries the value, so there is no value axis. */
|
|
23
|
+
protected get _axis(): boolean;
|
|
24
|
+
protected get _points(): boolean;
|
|
25
|
+
static key: string;
|
|
26
|
+
/**
|
|
27
|
+
* Highlights one row: outlines its rectangle and fills the tooltip, with
|
|
28
|
+
* the row's share. A row with no rectangle passes to the next one with
|
|
29
|
+
* one, as when focus asks for the first row. Pass -1 to hide them.
|
|
30
|
+
*/
|
|
31
|
+
show(index: number): void;
|
|
32
|
+
/** The first row from `index` on with a rectangle, or -1. */
|
|
33
|
+
private _drawnFrom;
|
|
34
|
+
/** Adds the row's share of the whole to its cell in the tooltip, as the pie chart writes it. */
|
|
35
|
+
private _share;
|
|
36
|
+
/**
|
|
37
|
+
* Opens the tooltip from the middle of the row's rectangle toward the
|
|
38
|
+
* middle of the plot.
|
|
39
|
+
*/
|
|
40
|
+
protected _place(index: number): void;
|
|
41
|
+
/** The row whose rectangle is under the pointer, or -1. */
|
|
42
|
+
protected _indexAt(e: PointerEvent): number;
|
|
43
|
+
/**
|
|
44
|
+
* The arrows step through the rows with a rectangle in table order, which
|
|
45
|
+
* runs in no one direction on screen, so they do not swap in a
|
|
46
|
+
* right-to-left page. Home and End go to the first and last of them.
|
|
47
|
+
*/
|
|
48
|
+
protected _keyTarget(key: string): number | undefined;
|
|
49
|
+
destroy(): void;
|
|
50
|
+
/** Neither row labels nor a legend: each rectangle carries its name. */
|
|
51
|
+
protected _guides(): Element[];
|
|
52
|
+
/** One rectangle per positive row, in table order, placed by _layout(). */
|
|
53
|
+
protected _draw(): Element;
|
|
54
|
+
/** Squarifies the positive rows, largest first, equal values in table order, and places their rectangles. */
|
|
55
|
+
private _layout;
|
|
56
|
+
}
|