kemet-ui 4.0.0 → 4.0.2
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/dist/chunk-32DYCJ46.mjs +53 -0
- package/dist/chunk-32DYCJ46.mjs.map +1 -0
- package/dist/chunk-42U43NKG.mjs +1 -0
- package/dist/chunk-42U43NKG.mjs.map +1 -0
- package/dist/chunk-4B5LWYUI.mjs +39 -0
- package/dist/chunk-4B5LWYUI.mjs.map +1 -0
- package/dist/chunk-4IBCDLVD.mjs +406 -0
- package/dist/chunk-4IBCDLVD.mjs.map +1 -0
- package/dist/chunk-4PCL2QJV.mjs +205 -0
- package/dist/chunk-4PCL2QJV.mjs.map +1 -0
- package/dist/chunk-5CL7F5XK.mjs +68 -0
- package/dist/chunk-5CL7F5XK.mjs.map +1 -0
- package/dist/chunk-5LCSEF3N.mjs +282 -0
- package/dist/chunk-5LCSEF3N.mjs.map +1 -0
- package/dist/chunk-5WUBMMWS.mjs +28 -0
- package/dist/chunk-5WUBMMWS.mjs.map +1 -0
- package/dist/chunk-6KGFENNL.mjs +74 -0
- package/dist/chunk-6KGFENNL.mjs.map +1 -0
- package/dist/chunk-6T73EOKO.mjs +138 -0
- package/dist/chunk-6T73EOKO.mjs.map +1 -0
- package/dist/chunk-6VG2IYDS.mjs +133 -0
- package/dist/chunk-6VG2IYDS.mjs.map +1 -0
- package/dist/chunk-7DJKARFX.mjs +132 -0
- package/dist/chunk-7DJKARFX.mjs.map +1 -0
- package/dist/chunk-7S4TQDFJ.mjs +270 -0
- package/dist/chunk-7S4TQDFJ.mjs.map +1 -0
- package/dist/chunk-7SD6A3KE.mjs +45 -0
- package/dist/chunk-7SD6A3KE.mjs.map +1 -0
- package/dist/chunk-AEMR7XYR.mjs +219 -0
- package/dist/chunk-AEMR7XYR.mjs.map +1 -0
- package/dist/chunk-AEOXLPN2.mjs +198 -0
- package/dist/chunk-AEOXLPN2.mjs.map +1 -0
- package/dist/chunk-AF3CJRDB.mjs +60 -0
- package/dist/chunk-AF3CJRDB.mjs.map +1 -0
- package/dist/chunk-AMTRXWZ7.mjs +41 -0
- package/dist/chunk-AMTRXWZ7.mjs.map +1 -0
- package/dist/chunk-ARM72B3S.mjs +65 -0
- package/dist/chunk-ARM72B3S.mjs.map +1 -0
- package/dist/chunk-ASA4GA5J.mjs +84 -0
- package/dist/chunk-ASA4GA5J.mjs.map +1 -0
- package/dist/chunk-BEBUXXOW.mjs +241 -0
- package/dist/chunk-BEBUXXOW.mjs.map +1 -0
- package/dist/chunk-BJ5CZRKZ.mjs +90 -0
- package/dist/chunk-BJ5CZRKZ.mjs.map +1 -0
- package/dist/chunk-CIZYNSL7.mjs +39 -0
- package/dist/chunk-CIZYNSL7.mjs.map +1 -0
- package/dist/chunk-CK7STPSD.mjs +18 -0
- package/dist/chunk-CK7STPSD.mjs.map +1 -0
- package/dist/chunk-CKCJX7GP.mjs +265 -0
- package/dist/chunk-CKCJX7GP.mjs.map +1 -0
- package/dist/chunk-CUZ6G5AK.mjs +330 -0
- package/dist/chunk-CUZ6G5AK.mjs.map +1 -0
- package/dist/chunk-CXKQSEE4.mjs +109 -0
- package/dist/chunk-CXKQSEE4.mjs.map +1 -0
- package/dist/chunk-DPI6H4CJ.mjs +53 -0
- package/dist/chunk-DPI6H4CJ.mjs.map +1 -0
- package/dist/chunk-DXRTO6DV.mjs +135 -0
- package/dist/chunk-DXRTO6DV.mjs.map +1 -0
- package/dist/chunk-ETLBNDW5.mjs +563 -0
- package/dist/chunk-ETLBNDW5.mjs.map +1 -0
- package/dist/chunk-F74NYUH5.mjs +90 -0
- package/dist/chunk-F74NYUH5.mjs.map +1 -0
- package/dist/chunk-FIFFC63Y.mjs +346 -0
- package/dist/chunk-FIFFC63Y.mjs.map +1 -0
- package/dist/chunk-G5OGR6EP.mjs +101 -0
- package/dist/chunk-G5OGR6EP.mjs.map +1 -0
- package/dist/chunk-GD6K7M4N.mjs +144 -0
- package/dist/chunk-GD6K7M4N.mjs.map +1 -0
- package/dist/chunk-GPBOM3MJ.mjs +118 -0
- package/dist/chunk-GPBOM3MJ.mjs.map +1 -0
- package/dist/chunk-H4D2CASA.mjs +48 -0
- package/dist/chunk-H4D2CASA.mjs.map +1 -0
- package/dist/chunk-HEJAQQFO.mjs +140 -0
- package/dist/chunk-HEJAQQFO.mjs.map +1 -0
- package/dist/chunk-IVO3EKSY.mjs +126 -0
- package/dist/chunk-IVO3EKSY.mjs.map +1 -0
- package/dist/chunk-JA5Z4MY5.mjs +39 -0
- package/dist/chunk-JA5Z4MY5.mjs.map +1 -0
- package/dist/chunk-JBDFJW7Y.mjs +50 -0
- package/dist/chunk-JBDFJW7Y.mjs.map +1 -0
- package/dist/chunk-JI5MHBCW.mjs +478 -0
- package/dist/chunk-JI5MHBCW.mjs.map +1 -0
- package/dist/chunk-JXKIXKVM.mjs +116 -0
- package/dist/chunk-JXKIXKVM.mjs.map +1 -0
- package/dist/chunk-L5NNYTOF.mjs +183 -0
- package/dist/chunk-L5NNYTOF.mjs.map +1 -0
- package/dist/chunk-LHEY3UOF.mjs +11 -0
- package/dist/chunk-LHEY3UOF.mjs.map +1 -0
- package/dist/chunk-LKIDBCVS.mjs +574 -0
- package/dist/chunk-LKIDBCVS.mjs.map +1 -0
- package/dist/chunk-MJLS4VOS.mjs +36 -0
- package/dist/chunk-MJLS4VOS.mjs.map +1 -0
- package/dist/chunk-MZO4Q7DU.mjs +88 -0
- package/dist/chunk-MZO4Q7DU.mjs.map +1 -0
- package/dist/chunk-NFIR3QAK.mjs +287 -0
- package/dist/chunk-NFIR3QAK.mjs.map +1 -0
- package/dist/chunk-NY2FTW7A.mjs +24 -0
- package/dist/chunk-NY2FTW7A.mjs.map +1 -0
- package/dist/chunk-OIGUEDIP.mjs +91 -0
- package/dist/chunk-OIGUEDIP.mjs.map +1 -0
- package/dist/chunk-OLDBGAR2.mjs +66 -0
- package/dist/chunk-OLDBGAR2.mjs.map +1 -0
- package/dist/chunk-OURZELWQ.mjs +207 -0
- package/dist/chunk-OURZELWQ.mjs.map +1 -0
- package/dist/chunk-P7GREIMJ.mjs +93 -0
- package/dist/chunk-P7GREIMJ.mjs.map +1 -0
- package/dist/chunk-PWWLC4X4.mjs +185 -0
- package/dist/chunk-PWWLC4X4.mjs.map +1 -0
- package/dist/chunk-Q3TV6JZX.mjs +162 -0
- package/dist/chunk-Q3TV6JZX.mjs.map +1 -0
- package/dist/chunk-QCMF4CCI.mjs +197 -0
- package/dist/chunk-QCMF4CCI.mjs.map +1 -0
- package/dist/chunk-QTA3KC7Q.mjs +53 -0
- package/dist/chunk-QTA3KC7Q.mjs.map +1 -0
- package/dist/chunk-RN4YODB5.mjs +30 -0
- package/dist/chunk-RN4YODB5.mjs.map +1 -0
- package/dist/chunk-SAWN7RJP.mjs +15 -0
- package/dist/chunk-SAWN7RJP.mjs.map +1 -0
- package/dist/chunk-SG6N234R.mjs +53 -0
- package/dist/chunk-SG6N234R.mjs.map +1 -0
- package/dist/chunk-T6PYRK57.mjs +465 -0
- package/dist/chunk-T6PYRK57.mjs.map +1 -0
- package/dist/chunk-T7FJ76DU.mjs +85 -0
- package/dist/chunk-T7FJ76DU.mjs.map +1 -0
- package/dist/chunk-TFESUHTA.mjs +48 -0
- package/dist/chunk-TFESUHTA.mjs.map +1 -0
- package/dist/chunk-U4JLLOLD.mjs +112 -0
- package/dist/chunk-U4JLLOLD.mjs.map +1 -0
- package/dist/chunk-VDX3OED3.mjs +102 -0
- package/dist/chunk-VDX3OED3.mjs.map +1 -0
- package/dist/chunk-VHOXQRZV.mjs +450 -0
- package/dist/chunk-VHOXQRZV.mjs.map +1 -0
- package/dist/chunk-WS2CRWKG.mjs +158 -0
- package/dist/chunk-WS2CRWKG.mjs.map +1 -0
- package/dist/chunk-YDPU6LZP.mjs +47 -0
- package/dist/chunk-YDPU6LZP.mjs.map +1 -0
- package/dist/chunk-YP7UN6IN.mjs +119 -0
- package/dist/chunk-YP7UN6IN.mjs.map +1 -0
- package/dist/chunk-YVOM5EV3.mjs +49 -0
- package/dist/chunk-YVOM5EV3.mjs.map +1 -0
- package/dist/chunk-ZBQXY2YN.mjs +88 -0
- package/dist/chunk-ZBQXY2YN.mjs.map +1 -0
- package/dist/constants-BEtO8uLN.d.mts +525 -0
- package/dist/constants-CcB9aXsT.d.ts +525 -0
- package/dist/elements/accordion-panel.d.mts +55 -0
- package/dist/elements/accordion-panel.d.ts +55 -0
- package/dist/elements/accordion-panel.js +188 -0
- package/dist/elements/accordion-panel.js.map +1 -0
- package/dist/elements/accordion-panel.mjs +10 -0
- package/dist/elements/accordion-panel.mjs.map +1 -0
- package/dist/elements/accordion.d.mts +53 -0
- package/dist/elements/accordion.d.ts +53 -0
- package/dist/elements/accordion.js +209 -0
- package/dist/elements/accordion.js.map +1 -0
- package/dist/elements/accordion.mjs +9 -0
- package/dist/elements/accordion.mjs.map +1 -0
- package/dist/elements/alert.d.mts +75 -0
- package/dist/elements/alert.d.ts +75 -0
- package/dist/elements/alert.js +302 -0
- package/dist/elements/alert.js.map +1 -0
- package/dist/elements/alert.mjs +14 -0
- package/dist/elements/alert.mjs.map +1 -0
- package/dist/elements/avatar.d.mts +49 -0
- package/dist/elements/avatar.d.ts +49 -0
- package/dist/elements/avatar.js +161 -0
- package/dist/elements/avatar.js.map +1 -0
- package/dist/elements/avatar.mjs +9 -0
- package/dist/elements/avatar.mjs.map +1 -0
- package/dist/elements/avatars.d.mts +25 -0
- package/dist/elements/avatars.d.ts +25 -0
- package/dist/elements/avatars.js +125 -0
- package/dist/elements/avatars.js.map +1 -0
- package/dist/elements/avatars.mjs +9 -0
- package/dist/elements/avatars.mjs.map +1 -0
- package/dist/elements/badge.d.mts +41 -0
- package/dist/elements/badge.d.ts +41 -0
- package/dist/elements/badge.js +185 -0
- package/dist/elements/badge.js.map +1 -0
- package/dist/elements/badge.mjs +9 -0
- package/dist/elements/badge.mjs.map +1 -0
- package/dist/elements/button.d.mts +124 -0
- package/dist/elements/button.d.ts +124 -0
- package/dist/elements/button.js +414 -0
- package/dist/elements/button.js.map +1 -0
- package/dist/elements/button.mjs +21 -0
- package/dist/elements/button.mjs.map +1 -0
- package/dist/elements/card.d.mts +52 -0
- package/dist/elements/card.d.ts +52 -0
- package/dist/elements/card.js +139 -0
- package/dist/elements/card.js.map +1 -0
- package/dist/elements/card.mjs +8 -0
- package/dist/elements/card.mjs.map +1 -0
- package/dist/elements/carousel-current.d.mts +33 -0
- package/dist/elements/carousel-current.d.ts +33 -0
- package/dist/elements/carousel-current.js +62 -0
- package/dist/elements/carousel-current.js.map +1 -0
- package/dist/elements/carousel-current.mjs +8 -0
- package/dist/elements/carousel-current.mjs.map +1 -0
- package/dist/elements/carousel-first.d.mts +31 -0
- package/dist/elements/carousel-first.d.ts +31 -0
- package/dist/elements/carousel-first.js +82 -0
- package/dist/elements/carousel-first.js.map +1 -0
- package/dist/elements/carousel-first.mjs +9 -0
- package/dist/elements/carousel-first.mjs.map +1 -0
- package/dist/elements/carousel-last.d.mts +31 -0
- package/dist/elements/carousel-last.d.ts +31 -0
- package/dist/elements/carousel-last.js +82 -0
- package/dist/elements/carousel-last.js.map +1 -0
- package/dist/elements/carousel-last.mjs +9 -0
- package/dist/elements/carousel-last.mjs.map +1 -0
- package/dist/elements/carousel-link.d.mts +37 -0
- package/dist/elements/carousel-link.d.ts +37 -0
- package/dist/elements/carousel-link.js +95 -0
- package/dist/elements/carousel-link.js.map +1 -0
- package/dist/elements/carousel-link.mjs +9 -0
- package/dist/elements/carousel-link.mjs.map +1 -0
- package/dist/elements/carousel-next.d.mts +31 -0
- package/dist/elements/carousel-next.d.ts +31 -0
- package/dist/elements/carousel-next.js +82 -0
- package/dist/elements/carousel-next.js.map +1 -0
- package/dist/elements/carousel-next.mjs +9 -0
- package/dist/elements/carousel-next.mjs.map +1 -0
- package/dist/elements/carousel-prev.d.mts +31 -0
- package/dist/elements/carousel-prev.d.ts +31 -0
- package/dist/elements/carousel-prev.js +82 -0
- package/dist/elements/carousel-prev.js.map +1 -0
- package/dist/elements/carousel-prev.mjs +9 -0
- package/dist/elements/carousel-prev.mjs.map +1 -0
- package/dist/elements/carousel-slide.d.mts +34 -0
- package/dist/elements/carousel-slide.d.ts +34 -0
- package/dist/elements/carousel-slide.js +72 -0
- package/dist/elements/carousel-slide.js.map +1 -0
- package/dist/elements/carousel-slide.mjs +8 -0
- package/dist/elements/carousel-slide.mjs.map +1 -0
- package/dist/elements/carousel-total.d.mts +33 -0
- package/dist/elements/carousel-total.d.ts +33 -0
- package/dist/elements/carousel-total.js +62 -0
- package/dist/elements/carousel-total.js.map +1 -0
- package/dist/elements/carousel-total.mjs +8 -0
- package/dist/elements/carousel-total.mjs.map +1 -0
- package/dist/elements/carousel.d.mts +123 -0
- package/dist/elements/carousel.d.ts +123 -0
- package/dist/elements/carousel.js +472 -0
- package/dist/elements/carousel.js.map +1 -0
- package/dist/elements/carousel.mjs +9 -0
- package/dist/elements/carousel.mjs.map +1 -0
- package/dist/elements/checkbox.d.mts +83 -0
- package/dist/elements/checkbox.d.ts +83 -0
- package/dist/elements/checkbox.js +387 -0
- package/dist/elements/checkbox.js.map +1 -0
- package/dist/elements/checkbox.mjs +11 -0
- package/dist/elements/checkbox.mjs.map +1 -0
- package/dist/elements/combo.d.mts +4 -0
- package/dist/elements/combo.d.ts +4 -0
- package/dist/elements/combo.js +232 -0
- package/dist/elements/combo.js.map +1 -0
- package/dist/elements/combo.mjs +9 -0
- package/dist/elements/combo.mjs.map +1 -0
- package/dist/elements/count.d.mts +4 -0
- package/dist/elements/count.d.ts +4 -0
- package/dist/elements/count.js +117 -0
- package/dist/elements/count.js.map +1 -0
- package/dist/elements/count.mjs +10 -0
- package/dist/elements/count.mjs.map +1 -0
- package/dist/elements/draggable.d.mts +54 -0
- package/dist/elements/draggable.d.ts +54 -0
- package/dist/elements/draggable.js +157 -0
- package/dist/elements/draggable.js.map +1 -0
- package/dist/elements/draggable.mjs +9 -0
- package/dist/elements/draggable.mjs.map +1 -0
- package/dist/elements/drawer.d.mts +62 -0
- package/dist/elements/drawer.d.ts +62 -0
- package/dist/elements/drawer.js +438 -0
- package/dist/elements/drawer.js.map +1 -0
- package/dist/elements/drawer.mjs +14 -0
- package/dist/elements/drawer.mjs.map +1 -0
- package/dist/elements/fab.d.mts +54 -0
- package/dist/elements/fab.d.ts +54 -0
- package/dist/elements/fab.js +206 -0
- package/dist/elements/fab.js.map +1 -0
- package/dist/elements/fab.mjs +8 -0
- package/dist/elements/fab.mjs.map +1 -0
- package/dist/elements/field.d.mts +4 -0
- package/dist/elements/field.d.ts +4 -0
- package/dist/elements/field.js +181 -0
- package/dist/elements/field.js.map +1 -0
- package/dist/elements/field.mjs +9 -0
- package/dist/elements/field.mjs.map +1 -0
- package/dist/elements/flipcard-trigger.d.mts +26 -0
- package/dist/elements/flipcard-trigger.d.ts +26 -0
- package/dist/elements/flipcard-trigger.js +70 -0
- package/dist/elements/flipcard-trigger.js.map +1 -0
- package/dist/elements/flipcard-trigger.mjs +9 -0
- package/dist/elements/flipcard-trigger.mjs.map +1 -0
- package/dist/elements/flipcard.d.mts +57 -0
- package/dist/elements/flipcard.d.ts +57 -0
- package/dist/elements/flipcard.js +225 -0
- package/dist/elements/flipcard.js.map +1 -0
- package/dist/elements/flipcard.mjs +8 -0
- package/dist/elements/flipcard.mjs.map +1 -0
- package/dist/elements/icon-bootstrap.d.mts +21 -0
- package/dist/elements/icon-bootstrap.d.ts +21 -0
- package/dist/elements/icon-bootstrap.js +155 -0
- package/dist/elements/icon-bootstrap.js.map +1 -0
- package/dist/elements/icon-bootstrap.mjs +8 -0
- package/dist/elements/icon-bootstrap.mjs.map +1 -0
- package/dist/elements/icon-lucide.d.mts +29 -0
- package/dist/elements/icon-lucide.d.ts +29 -0
- package/dist/elements/icon-lucide.js +113 -0
- package/dist/elements/icon-lucide.js.map +1 -0
- package/dist/elements/icon-lucide.mjs +8 -0
- package/dist/elements/icon-lucide.mjs.map +1 -0
- package/dist/elements/input.d.mts +4 -0
- package/dist/elements/input.d.ts +4 -0
- package/dist/elements/input.js +696 -0
- package/dist/elements/input.js.map +1 -0
- package/dist/elements/input.mjs +27 -0
- package/dist/elements/input.mjs.map +1 -0
- package/dist/elements/modal-close.d.mts +26 -0
- package/dist/elements/modal-close.d.ts +26 -0
- package/dist/elements/modal-close.js +68 -0
- package/dist/elements/modal-close.js.map +1 -0
- package/dist/elements/modal-close.mjs +9 -0
- package/dist/elements/modal-close.mjs.map +1 -0
- package/dist/elements/modal.d.mts +84 -0
- package/dist/elements/modal.d.ts +84 -0
- package/dist/elements/modal.js +492 -0
- package/dist/elements/modal.js.map +1 -0
- package/dist/elements/modal.mjs +13 -0
- package/dist/elements/modal.mjs.map +1 -0
- package/dist/elements/multi-input.d.mts +124 -0
- package/dist/elements/multi-input.d.ts +124 -0
- package/dist/elements/multi-input.js +368 -0
- package/dist/elements/multi-input.js.map +1 -0
- package/dist/elements/multi-input.mjs +10 -0
- package/dist/elements/multi-input.mjs.map +1 -0
- package/dist/elements/option.d.mts +30 -0
- package/dist/elements/option.d.ts +30 -0
- package/dist/elements/option.js +59 -0
- package/dist/elements/option.js.map +1 -0
- package/dist/elements/option.mjs +8 -0
- package/dist/elements/option.mjs.map +1 -0
- package/dist/elements/password.d.mts +90 -0
- package/dist/elements/password.d.ts +90 -0
- package/dist/elements/password.js +392 -0
- package/dist/elements/password.js.map +1 -0
- package/dist/elements/password.mjs +11 -0
- package/dist/elements/password.mjs.map +1 -0
- package/dist/elements/popper-close.d.mts +27 -0
- package/dist/elements/popper-close.d.ts +27 -0
- package/dist/elements/popper-close.js +76 -0
- package/dist/elements/popper-close.js.map +1 -0
- package/dist/elements/popper-close.mjs +9 -0
- package/dist/elements/popper-close.mjs.map +1 -0
- package/dist/elements/popper.d.mts +120 -0
- package/dist/elements/popper.d.ts +120 -0
- package/dist/elements/popper.js +597 -0
- package/dist/elements/popper.js.map +1 -0
- package/dist/elements/popper.mjs +25 -0
- package/dist/elements/popper.mjs.map +1 -0
- package/dist/elements/radio.d.mts +80 -0
- package/dist/elements/radio.d.ts +80 -0
- package/dist/elements/radio.js +265 -0
- package/dist/elements/radio.js.map +1 -0
- package/dist/elements/radio.mjs +10 -0
- package/dist/elements/radio.mjs.map +1 -0
- package/dist/elements/radios.d.mts +55 -0
- package/dist/elements/radios.d.ts +55 -0
- package/dist/elements/radios.js +372 -0
- package/dist/elements/radios.js.map +1 -0
- package/dist/elements/radios.mjs +12 -0
- package/dist/elements/radios.mjs.map +1 -0
- package/dist/elements/rotator.d.mts +56 -0
- package/dist/elements/rotator.d.ts +56 -0
- package/dist/elements/rotator.js +226 -0
- package/dist/elements/rotator.js.map +1 -0
- package/dist/elements/rotator.mjs +12 -0
- package/dist/elements/rotator.mjs.map +1 -0
- package/dist/elements/scroll-nav.d.mts +44 -0
- package/dist/elements/scroll-nav.d.ts +44 -0
- package/dist/elements/scroll-nav.js +121 -0
- package/dist/elements/scroll-nav.js.map +1 -0
- package/dist/elements/scroll-nav.mjs +12 -0
- package/dist/elements/scroll-nav.mjs.map +1 -0
- package/dist/elements/scroll-snap-paginator.d.mts +50 -0
- package/dist/elements/scroll-snap-paginator.d.ts +50 -0
- package/dist/elements/scroll-snap-paginator.js +342 -0
- package/dist/elements/scroll-snap-paginator.js.map +1 -0
- package/dist/elements/scroll-snap-paginator.mjs +11 -0
- package/dist/elements/scroll-snap-paginator.mjs.map +1 -0
- package/dist/elements/scroll-snap-slide.d.mts +35 -0
- package/dist/elements/scroll-snap-slide.d.ts +35 -0
- package/dist/elements/scroll-snap-slide.js +68 -0
- package/dist/elements/scroll-snap-slide.js.map +1 -0
- package/dist/elements/scroll-snap-slide.mjs +8 -0
- package/dist/elements/scroll-snap-slide.mjs.map +1 -0
- package/dist/elements/scroll-snap.d.mts +53 -0
- package/dist/elements/scroll-snap.d.ts +53 -0
- package/dist/elements/scroll-snap.js +210 -0
- package/dist/elements/scroll-snap.js.map +1 -0
- package/dist/elements/scroll-snap.mjs +11 -0
- package/dist/elements/scroll-snap.mjs.map +1 -0
- package/dist/elements/select.d.mts +124 -0
- package/dist/elements/select.d.ts +124 -0
- package/dist/elements/select.js +576 -0
- package/dist/elements/select.js.map +1 -0
- package/dist/elements/select.mjs +12 -0
- package/dist/elements/select.mjs.map +1 -0
- package/dist/elements/sortable-item.d.mts +26 -0
- package/dist/elements/sortable-item.d.ts +26 -0
- package/dist/elements/sortable-item.js +75 -0
- package/dist/elements/sortable-item.js.map +1 -0
- package/dist/elements/sortable-item.mjs +9 -0
- package/dist/elements/sortable-item.mjs.map +1 -0
- package/dist/elements/sortable.d.mts +37 -0
- package/dist/elements/sortable.d.ts +37 -0
- package/dist/elements/sortable.js +139 -0
- package/dist/elements/sortable.js.map +1 -0
- package/dist/elements/sortable.mjs +10 -0
- package/dist/elements/sortable.mjs.map +1 -0
- package/dist/elements/svg.d.mts +43 -0
- package/dist/elements/svg.d.ts +43 -0
- package/dist/elements/svg.js +108 -0
- package/dist/elements/svg.js.map +1 -0
- package/dist/elements/svg.mjs +8 -0
- package/dist/elements/svg.mjs.map +1 -0
- package/dist/elements/svgs.d.mts +32 -0
- package/dist/elements/svgs.d.ts +32 -0
- package/dist/elements/svgs.js +71 -0
- package/dist/elements/svgs.js.map +1 -0
- package/dist/elements/svgs.mjs +8 -0
- package/dist/elements/svgs.mjs.map +1 -0
- package/dist/elements/tab-panel.d.mts +33 -0
- package/dist/elements/tab-panel.d.ts +33 -0
- package/dist/elements/tab-panel.js +348 -0
- package/dist/elements/tab-panel.js.map +1 -0
- package/dist/elements/tab-panel.mjs +9 -0
- package/dist/elements/tab-panel.mjs.map +1 -0
- package/dist/elements/tab.d.mts +43 -0
- package/dist/elements/tab.d.ts +43 -0
- package/dist/elements/tab.js +500 -0
- package/dist/elements/tab.js.map +1 -0
- package/dist/elements/tab.mjs +11 -0
- package/dist/elements/tab.mjs.map +1 -0
- package/dist/elements/tabs.d.mts +128 -0
- package/dist/elements/tabs.d.ts +128 -0
- package/dist/elements/tabs.js +906 -0
- package/dist/elements/tabs.js.map +1 -0
- package/dist/elements/tabs.mjs +20 -0
- package/dist/elements/tabs.mjs.map +1 -0
- package/dist/elements/textarea.d.mts +4 -0
- package/dist/elements/textarea.d.ts +4 -0
- package/dist/elements/textarea.js +482 -0
- package/dist/elements/textarea.js.map +1 -0
- package/dist/elements/textarea.mjs +364 -0
- package/dist/elements/textarea.mjs.map +1 -0
- package/dist/elements/timer-display.d.mts +30 -0
- package/dist/elements/timer-display.d.ts +30 -0
- package/dist/elements/timer-display.js +103 -0
- package/dist/elements/timer-display.js.map +1 -0
- package/dist/elements/timer-display.mjs +9 -0
- package/dist/elements/timer-display.mjs.map +1 -0
- package/dist/elements/timer.d.mts +49 -0
- package/dist/elements/timer.d.ts +49 -0
- package/dist/elements/timer.js +156 -0
- package/dist/elements/timer.js.map +1 -0
- package/dist/elements/timer.mjs +14 -0
- package/dist/elements/timer.mjs.map +1 -0
- package/dist/elements/toggle.d.mts +65 -0
- package/dist/elements/toggle.d.ts +65 -0
- package/dist/elements/toggle.js +319 -0
- package/dist/elements/toggle.js.map +1 -0
- package/dist/elements/toggle.mjs +10 -0
- package/dist/elements/toggle.mjs.map +1 -0
- package/dist/elements/tooltip.d.mts +38 -0
- package/dist/elements/tooltip.d.ts +38 -0
- package/dist/elements/tooltip.js +654 -0
- package/dist/elements/tooltip.js.map +1 -0
- package/dist/elements/tooltip.mjs +10 -0
- package/dist/elements/tooltip.mjs.map +1 -0
- package/dist/elements/tracker-step.d.mts +3 -0
- package/dist/elements/tracker-step.d.ts +3 -0
- package/dist/elements/tracker-step.js +366 -0
- package/dist/elements/tracker-step.js.map +1 -0
- package/dist/elements/tracker-step.mjs +9 -0
- package/dist/elements/tracker-step.mjs.map +1 -0
- package/dist/elements/tracker.d.mts +3 -0
- package/dist/elements/tracker.d.ts +3 -0
- package/dist/elements/tracker.js +88 -0
- package/dist/elements/tracker.js.map +1 -0
- package/dist/elements/tracker.mjs +8 -0
- package/dist/elements/tracker.mjs.map +1 -0
- package/dist/elements/upload-file.d.mts +51 -0
- package/dist/elements/upload-file.d.ts +51 -0
- package/dist/elements/upload-file.js +415 -0
- package/dist/elements/upload-file.js.map +1 -0
- package/dist/elements/upload-file.mjs +10 -0
- package/dist/elements/upload-file.mjs.map +1 -0
- package/dist/elements/upload.d.mts +69 -0
- package/dist/elements/upload.d.ts +69 -0
- package/dist/elements/upload.js +464 -0
- package/dist/elements/upload.js.map +1 -0
- package/dist/elements/upload.mjs +11 -0
- package/dist/elements/upload.mjs.map +1 -0
- package/dist/form-controller-BR0gZhrG.d.mts +13 -0
- package/dist/form-controller-BR0gZhrG.d.ts +13 -0
- package/dist/tracker-step-DkA-T98W.d.mts +93 -0
- package/dist/tracker-step-DkA-T98W.d.ts +93 -0
- package/dist/wrappers/next.d.mts +127 -0
- package/dist/wrappers/next.d.ts +127 -0
- package/dist/wrappers/next.js +10629 -0
- package/dist/wrappers/next.js.map +1 -0
- package/dist/wrappers/next.mjs +198 -0
- package/dist/wrappers/next.mjs.map +1 -0
- package/dist/wrappers/react.d.mts +272 -0
- package/dist/wrappers/react.d.ts +272 -0
- package/dist/wrappers/react.js +9858 -0
- package/dist/wrappers/react.js.map +1 -0
- package/dist/wrappers/react.mjs +668 -0
- package/dist/wrappers/react.mjs.map +1 -0
- package/package.json +5 -3
- package/types/solid.d.ts +136 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/elements/tooltip.ts","../../src/styles/elements/tooltip.ts","../../src/styles/elements/popper.ts","../../src/elements/popper.ts","../../src/utilities/events.ts"],"sourcesContent":["import { html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { stylesTooltip } from '../styles/elements/tooltip';\nimport { stylesPopper } from '../styles/elements/popper';\nimport {\n stylesPopperFade,\n stylesPopperScale,\n stylesPopperSlide,\n stylesPopperFall,\n stylesPopperFlipHorizontal,\n stylesPopperFlipVertical,\n stylesPopperSign,\n stylesPopperSuperScaled,\n} from '../styles/elements/popper';\nimport KemetPopper from '../elements/popper';\n\n/**\n * @since 2.0.0\n * @status stable\n *\n * @tagname kemet-tooltip\n * @summary A tooltip is a Popper component that displays a dynamic arrow pointing to the trigger.\n *\n * @slot trigger - Controls opening and closing the tooltip.\n * @slot content - The contents of the tooltip.\n *\n * @csspart trigger - Contains the trigger for the tooltip.\n * @csspart content - Contains the content for the tooltip.\n *\n * @cssproperty --kemet-tooltip-content-height - The height of the content.\n * @cssproperty --kemet-tooltip-size - The width and height of arrow's container\n * @cssproperty --kemet-tooltip-border-size - The border size of the arrow\n * @cssproperty --kemet-tooltip-rounded-tip - How much rounding the tip of the arrow should be. Zero is pointy\n * @cssproperty --kemet-tooltip-background-color - The background color of the arrow\n * @cssproperty --kemet-tooltip-border-color - The border color of the arrow\n * @cssproperty --kemet-tooltip-placement-offset - The offset of the arrow from the trigger\n *\n */\n\n@customElement('kemet-tooltip')\nexport default class KemetTooltip extends KemetPopper {\n static styles = [stylesTooltip, stylesPopper, stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled];\n\n render() {\n return html`\n <div\n id=\"trigger\"\n part=\"trigger\"\n tabIndex=\"0\"\n @click=${this.fireOn === 'click' ? (event: MouseEvent) => this.toggle(event) : null}\n @keyup=${this.fireOn === 'click' ? (event: KeyboardEvent) => this.handleKeyUp(event) : null}\n @mouseover=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @focus=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @mouseout=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n @blur=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div\n id=\"content\"\n @mouseover=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @mouseout=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n >\n <slot name=\"content\" @slotchange=${() => { this.makePopper(); this.measureContent(); }}></slot>\n <div id=\"arrow-container\" part=\"arrow-container\" data-popper-arrow>\n <div id=\"arrow\" part=\"arrow\"></div>\n </div>\n </div>\n `;\n }\n\n measureContent() {\n const height = this.contentElement.offsetHeight;\n this.contentElement.style.setProperty('--kemet-tooltip-content-height', `${height}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tooltip': KemetTooltip\n }\n}\n","import { css } from 'lit';\n\nexport const stylesTooltip = css`\n :host {\n --kemet-tooltip-deg: -45deg;\n --kemet-tooltip-size: 22px;\n --kemet-tooltip-border-size: 1px;\n --kemet-tooltip-rounded-tip: 4px;\n --kemet-tooltip-background-color: rgb(var(--kemet-color-background));\n --kemet-tooltip-border-color: rgb(var(--kemet-color-foreground));\n --kemet-tooltip-placement-offset: calc(calc(var(--kemet-tooltip-size) / 2) * -1);\n }\n\n #arrow {\n content: '';\n width: var(--kemet-tooltip-size);\n height: var(--kemet-tooltip-size);\n position: relative;\n display: inline-block;\n background: linear-gradient(\n var(--kemet-tooltip-deg),\n transparent calc(var(--kemet-tooltip-size) / 1.5),\n var(--kemet-tooltip-background-color) 0\n )\n no-repeat;\n background-repeat: no-repeat;\n transform-origin: center center;\n border-top-left-radius: var(--kemet-tooltip-rounded-tip);\n border-left: var(--kemet-tooltip-border-size) solid var(--kemet-tooltip-border-color);\n border-top: var(--kemet-tooltip-border-size) solid var(--kemet-tooltip-border-color);\n }\n\n [data-popper-placement^=\"top\"] #arrow {\n top: var(--kemet-tooltip-placement-offset);\n transform: rotate(225deg);\n\n }\n\n [data-popper-placement^=\"bottom\"] #arrow-container {\n top: 0px;\n }\n\n [data-popper-placement^=\"bottom\"] #arrow {\n top: var(--kemet-tooltip-placement-offset);\n transform: rotate(45deg);\n }\n\n [data-popper-placement^=\"right\"] #arrow {\n left: var(--kemet-tooltip-placement-offset);\n transform: rotate(-45deg);\n }\n\n [data-popper-placement^=\"left\"] #arrow-container {\n right: 0;\n }\n\n [data-popper-placement^=\"left\"] #arrow {\n right: var(--kemet-tooltip-placement-offset);\n transform: rotate(135deg);\n }\n`;\n","import { css } from 'lit';\n\nexport const stylesPopper = css`\n :host {\n --kemet-popper-width: auto;\n --kemet-popper-height: auto;\n --kemet-popper-padding: 1rem;\n --kemet-popper-border-color: rgb(var(--kemet-color-foreground));\n --kemet-popper-background-color: rgb(var(--kemet-color-background));\n\n display: inline-block;\n }\n\n #content {\n visibility: hidden;\n pointer-events: none;\n width: var(--kemet-popper-width);\n height: var(--kemet-popper-height);\n position: absolute;\n z-index: -1;\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n }\n\n :host([opened]) #content {\n visibility: visible;\n z-index: 9;\n opacity: 1;\n pointer-events: auto;\n }\n\n ::slotted([slot=\"content\"]) {\n padding: var(--kemet-popper-padding);\n border: 1px solid var(--kemet-popper-border-color);\n background-color: var(--kemet-popper-background-color);\n }\n`;\n\nexport const stylesPopperFade = css`\n :host([effect=\"fade\"]) #content {\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n }\n\n :host([effect=\"fade\"][opened]) #content {\n opacity: 1;\n }\n`;\n\nexport const stylesPopperScale = css`\n :host([effect=\"scale\"]) #content {\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n }\n\n :host([effect=\"scale\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"scale\"][position=\"top\"]) #content,\n :host([effect=\"scale\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) scale(0.7);\n }\n\n :host([effect=\"scale\"][position=\"top\"][opened]) #content,\n :host([effect=\"scale\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) scale(1);\n }\n\n :host([effect=\"scale\"][position=\"left\"]) #content,\n :host([effect=\"scale\"][position=\"right\"]) #content {\n transform: translateY(-50%) scale(0.7);\n }\n\n :host([effect=\"scale\"][position=\"left\"][opened]) #content,\n :host([effect=\"scale\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) scale(1);\n }\n`;\n\nexport const stylesPopperSlide = css`\n :host([effect=\"slide\"]) #content {\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s) cubic-bezier(0.25, 0.5, 0.5, 0.9);\n }\n\n :host([effect=\"slide\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"slide\"][position=\"top\"]) #content {\n transform: translateX(-50%) translateY(20%);\n }\n\n :host([effect=\"slide\"][position=\"top\"][opened]) #content {\n transform: translateX(-50%) translateY(0);\n }\n\n :host([effect=\"slide\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) translateY(-20%);\n }\n\n :host([effect=\"slide\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) translateY(0);\n }\n\n :host([effect=\"slide\"][position=\"right\"]) #content {\n transform: translateY(-50%) translateX(-20%);\n }\n\n :host([effect=\"slide\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) translateX(0);\n }\n\n :host([effect=\"slide\"][position=\"left\"]) #content {\n transform: translateY(-50%) translateX(20%);\n }\n\n :host([effect=\"slide\"][position=\"left\"][opened]) #content {\n transform: translateY(-50%) translateX(0);\n }\n`;\n\nexport const stylesPopperFall = css`\n :host([effect=\"fall\"]) {\n perspective: 1300px;\n }\n\n :host([effect=\"fall\"]) #content {\n transform-style: preserve-3d;\n opacity: 0;\n }\n\n :host([effect=\"fall\"][opened]) #content {\n transition: all var(--kemet-popover-transition-speed, 0.3s) ease-in;\n opacity: 1;\n }\n\n :host([effect=\"fall\"][position=\"top\"]) #content {\n transform: translateX(-50%) translateZ(600px) rotateX(20deg);\n }\n\n :host([effect=\"fall\"][position=\"top\"][opened]) #content {\n transform: translateX(-50%) translateZ(0px) rotateX(0deg);\n }\n\n :host([effect=\"fall\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) translateZ(600px) rotateX(20deg);\n }\n\n :host([effect=\"fall\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) translateZ(0px) rotateX(0deg);\n }\n\n :host([effect=\"fall\"][position=\"right\"]) #content {\n transform: translateY(-50%) translateZ(600px) rotateX(20deg);\n }\n\n :host([effect=\"fall\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) translateZ(0px) rotateX(0deg);\n }\n\n :host([effect=\"fall\"][position=\"left\"]) #content {\n transform: translateY(-50%) translateZ(600px) rotateX(20deg);\n }\n\n :host([effect=\"fall\"][position=\"left\"][opened]) #content {\n transform: translateY(-50%) translateZ(0px) rotateX(0deg);\n }\n`;\n\nexport const stylesPopperFlipHorizontal = css`\n :host([effect=\"flip-horizontal\"]) {\n perspective: 1300px;\n }\n\n :host([effect=\"flip-horizontal\"]) #content {\n transform-style: preserve-3d;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n opacity: 0;\n }\n\n :host([effect=\"flip-horizontal\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"flip-horizontal\"][position=\"top\"]) #content {\n transform: translateX(-50%) rotateY(-70deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"top\"][opened]) #content {\n transform: translateX(-50%) rotateY(0deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) rotateY(-70deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) rotateY(0deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"right\"]) #content {\n transform: translateY(-50%) rotateY(-70deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) rotateY(0deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"left\"]) #content {\n transform: translateY(-50%) rotateY(-70deg);\n }\n\n :host([effect=\"flip-horizontal\"][position=\"left\"][opened]) #content {\n transform: translateY(-50%) rotateY(0deg);\n }\n`;\n\nexport const stylesPopperFlipVertical = css`\n :host([effect=\"flip-vertical\"]) {\n perspective: 1300px;\n }\n\n :host([effect=\"flip-vertical\"]) #content {\n transform-style: preserve-3d;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n opacity: 0;\n }\n\n :host([effect=\"flip-vertical\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"flip-vertical\"][position=\"top\"]) #content {\n transform: translateX(-50%) rotateX(-70deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"top\"][opened]) #content {\n transform: translateX(-50%) rotateX(0deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) rotateX(-70deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) rotateX(0deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"right\"]) #content {\n transform: translateY(-50%) rotateX(-70deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) rotateX(0deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"left\"]) #content {\n transform: translateY(-50%) rotateX(-70deg);\n }\n\n :host([effect=\"flip-vertical\"][position=\"left\"][opened]) #content {\n transform: translateY(-50%) rotateX(0deg);\n }\n`;\n\nexport const stylesPopperSign = css`\n :host([effect=\"sign\"]) {\n perspective: 1300px;\n }\n\n :host([effect=\"sign\"]) #content {\n transform-style: preserve-3d;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n opacity: 0;\n }\n\n :host([effect=\"sign\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"sign\"][position=\"top\"]) #content {\n transform-origin: 0 100%;\n transform: translateX(-50%) rotateX(90deg);\n }\n\n :host([effect=\"sign\"][position=\"top\"][opened]) #content {\n transform: translateX(-50%) rotateX(0deg);\n }\n\n :host([effect=\"sign\"][position=\"bottom\"]) #content {\n transform-origin: 100% 0;\n transform: translateX(-50%) rotateX(90deg);\n }\n\n :host([effect=\"sign\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) rotateX(0deg);\n }\n\n :host([effect=\"sign\"][position=\"right\"]) #content {\n transform-origin: 0 100%;\n transform: translateY(-50%) rotateY(90deg);\n }\n\n :host([effect=\"sign\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) rotateY(0deg);\n }\n\n :host([effect=\"sign\"][position=\"left\"]) #content {\n transform-origin: 100% 0;\n transform: translateY(-50%) rotateY(90deg);\n }\n\n :host([effect=\"sign\"][position=\"left\"][opened]) #content {\n transform: translateY(-50%) rotateY(0deg);\n }\n`;\n\nexport const stylesPopperSuperScaled = css`\n :host([effect=\"super-scaled\"]) #content {\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n }\n\n :host([effect=\"super-scaled\"][opened]) #content {\n opacity: 1;\n }\n\n :host([effect=\"super-scaled\"][position=\"top\"]) #content,\n :host([effect=\"super-scaled\"][position=\"bottom\"]) #content {\n transform: translateX(-50%) scale(2);\n }\n\n :host([effect=\"super-scaled\"][position=\"top\"][opened]) #content,\n :host([effect=\"super-scaled\"][position=\"bottom\"][opened]) #content {\n transform: translateX(-50%) scale(1);\n }\n\n :host([effect=\"super-scaled\"][position=\"left\"]) #content,\n :host([effect=\"super-scaled\"][position=\"right\"]) #content {\n transform: translateY(-50%) scale(2);\n }\n\n :host([effect=\"super-scaled\"][position=\"left\"][opened]) #content,\n :host([effect=\"super-scaled\"][position=\"right\"][opened]) #content {\n transform: translateY(-50%) scale(1);\n }\n`;\n","import { html, LitElement } from 'lit';\nimport {\n customElement, property, query, queryAll, state,\n} from 'lit/decorators.js';\nimport { createPopper } from '@popperjs/core/dist/esm';\nimport { emitEvent } from '../utilities/events';\nimport { stylesPopper } from '../styles/elements/popper';\n// import { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled } from './styles.effects';\n\nexport const placement = ['auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'] as const;\nexport enum EnumPlacement {\n AUTO = 'auto',\n AUTO_START = 'auto-start',\n AUTO_END = 'auto-end',\n TOP = 'top',\n TOP_START = 'top-start',\n TOP_END = 'top-end',\n BOTTOM = 'bottom',\n BOTTOM_START = 'bottom-start',\n BOTTOM_END = 'bottom-end',\n RIGHT = 'right',\n RIGHT_START = 'right-start',\n RIGHT_END = 'right-end',\n LEFT = 'left',\n LEFT_START = 'left-start',\n LEFT_END = 'left-end',\n}\nexport type TypePlacement = typeof placement[number];\n\n\nexport const fireEvents = ['click', 'hover'] as const;\nexport enum EnumFireEvents {\n CLICK = \"click\",\n HOVER = \"hover\",\n}\nexport type TypeFireEvents = typeof fireEvents[number];\n\n\nexport const effects = ['none', 'fade', 'scale', 'slide', 'fall', 'flip-horizontal', 'flip-vertical', 'sign', 'super-scaled'] as const;\nexport enum EnumEffects {\n NONE = \"none\",\n FADE = \"fade\",\n SCALE = \"scale\",\n SLIDE = \"slide\",\n FALL = \"fall\",\n FLIP_HORIZONTAL = \"flip-horizontal\",\n FLIP_VERTICAL = \"flip-vertical\",\n SIGN = \"sign\",\n SUPER_SCALED = \"super-scaled\",\n}\nexport type TypeEffects = typeof effects[number];\n\nexport const strategy = ['fixed', 'absolute'] as const;\nexport enum EnumStrategy {\n FIXED = \"fixed\",\n ABSOLUTE = \"absolute\",\n}\nexport type TypeStrategy = typeof strategy[number];\n\n\n/**\n * @since 2.0.0\n * @status stable\n *\n * @tagname kemet-popper\n * @summary A wrapper component for the popper.js lib.\n *\n * @event kemet-opened - Fires when the popper opens\n * @event kemet-closed - Fires when the popper closes\n *\n * @slot trigger - Controls opening and closing the popover.\n * @slot content - The contents of the popover.\n *\n * @csspart trigger - Contains the trigger for the popover.\n * @csspart content - Contains the content for the popover.\n *\n * @cssproperty --kemet-popper-padding - The padding in the content slot.\n * @cssproperty --kemet-popper-border-color - The border color of the content.\n * @cssproperty --kemet-popper-background-color - The background color of the content.\n *\n * @prop {TypePlacement} placement - The position of the popper over the trigger.\n * @prop {boolean} opened - Determines if the Popper is opened or closed\n * @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover\n * @prop {TypeStrategy} strategy - Sets the strategy option in Popper's api\n * @prop {number} skidding - Sets an offset to the Popper from the trigger\n * @prop {number} distance - Sets spacing between the Popper and the trigger\n *\n */\n\n@customElement('kemet-popper')\nexport default class KemetPopper extends LitElement {\n static styles = [stylesPopper];\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = EnumPlacement.TOP;\n\n @property({ type: Boolean, reflect: true })\n opened: boolean;\n\n @property({ type: String, attribute: 'fire-on' })\n fireOn: TypeFireEvents = EnumFireEvents.HOVER;\n\n @property({ type: String })\n strategy: TypeStrategy = EnumStrategy.FIXED;\n\n @property({ type: Number })\n skidding: number = 0;\n\n @property({ type: Number })\n distance: number = 0;\n\n /** @internal */\n @state()\n popperInstance: { setOptions: (arg0: { placement: TypePlacement; strategy: TypeStrategy; modifiers: { name: string; options: { offset: number[]; }; }[]; }) => void; };\n\n /** @internal */\n @query('#trigger')\n triggerElement: HTMLElement;\n\n /** @internal */\n @query('#content')\n contentElement: HTMLElement;\n\n /** @internal */\n @queryAll('body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable], kemet-popper-close')\n focusableElements: NodeListOf<Element>;\n\n constructor() {\n super();\n this.addEventListener('kemet-closed-pressed', () => { this.opened = false; });\n }\n\n firstUpdated() {\n if (this.fireOn === 'click') {\n this.focusableElements.forEach((element) => {\n element.addEventListener('keydown', (event: KeyboardEvent) => this.handleFocusableDown(event));\n });\n }\n }\n\n updated(prevProps: Map<string, never>) {\n this.refresh();\n\n if (!prevProps.get('opened') && this.opened === true) {\n emitEvent(this, 'kemet-opened', this);\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n emitEvent(this, 'kemet-closed', this);\n }\n }\n\n render() {\n return html`\n <div\n id=\"trigger\"\n part=\"trigger\"\n tabIndex=\"0\"\n @click=${this.fireOn === 'click' ? (event: MouseEvent) => this.toggle(event) : null}\n @keyup=${this.fireOn === 'click' ? (event: KeyboardEvent) => this.handleKeyUp(event) : null}\n @mouseover=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @focus=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @mouseout=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n @blur=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div\n id=\"content\"\n @mouseover=${this.fireOn !== 'click' ? () => { this.opened = true; } : null}\n @mouseout=${this.fireOn !== 'click' ? () => { this.opened = false; } : null}\n >\n <slot name=\"content\" @slotchange=${() => this.makePopper()}></slot>\n </div>\n `;\n }\n\n refresh() {\n this.popperInstance?.setOptions({\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] } },\n ],\n });\n }\n\n makePopper() {\n this.popperInstance = createPopper(this.triggerElement, this.contentElement, {\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] } },\n ],\n });\n }\n\n toggle(event: MouseEvent | KeyboardEvent) {\n const target = event.target as HTMLElement;\n const isSlotTrigger = target.getAttribute('slot') === 'trigger';\n const isPartTrigger = target.getAttribute('part') === 'trigger';\n\n if (isSlotTrigger || isPartTrigger) {\n this.opened = !this.opened;\n }\n }\n\n handleKeyUp(event: KeyboardEvent) {\n event.preventDefault();\n\n if (event.key === 'Escape') {\n this.opened = false;\n }\n\n if (event.key === 'Enter' || event.code === 'Space') {\n this.toggle(event);\n }\n }\n\n handleFocusableDown(event: KeyboardEvent) {\n const firstFocusable = this.focusableElements[0] as HTMLElement;\n const lastFocusable = this.focusableElements[this.focusableElements.length - 1] as HTMLElement;\n\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstFocusable) {\n event.preventDefault();\n lastFocusable.focus();\n } else if (!event.shiftKey && document.activeElement === lastFocusable) {\n event.preventDefault();\n firstFocusable.focus();\n }\n }\n }\n }\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-popper': KemetPopper\n }\n}\n","export const emitEvent = (element, name, detail, bubbles = true, composed = true) => {\n element.dispatchEvent(\n new CustomEvent(name, { bubbles, composed, detail }),\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,cAAqB;AACrB,IAAAC,qBAA8B;;;ACD9B,iBAAoB;AAEb,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACF7B,IAAAC,cAAoB;AAEb,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCrB,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWzB,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+B1B,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2C1B,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDzB,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDnC,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDjC,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoDzB,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC/TvC,IAAAC,cAAiC;AACjC,wBAEO;AACP,iBAA6B;;;ACJtB,IAAM,YAAY,CAAC,SAAS,MAAM,QAAQ,UAAU,MAAM,WAAW,SAAS;AACnF,UAAQ;AAAA,IACN,IAAI,YAAY,MAAM,EAAE,SAAS,UAAU,OAAO,CAAC;AAAA,EACrD;AACF;;;ADsFA,IAAqB,cAArB,cAAyC,uBAAW;AAAA,EAqClD,cAAc;AACZ,UAAM;AAlCR,qBAA2B;AAM3B,kBAAyB;AAGzB,oBAAyB;AAGzB,oBAAmB;AAGnB,oBAAmB;AAoBjB,SAAK,iBAAiB,wBAAwB,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,CAAC;AAAA,EAC9E;AAAA,EAEA,eAAe;AACb,QAAI,KAAK,WAAW,SAAS;AAC3B,WAAK,kBAAkB,QAAQ,CAAC,YAAY;AAC1C,gBAAQ,iBAAiB,WAAW,CAAC,UAAyB,KAAK,oBAAoB,KAAK,CAAC;AAAA,MAC/F,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,QAAQ,WAA+B;AACrC,SAAK,QAAQ;AAEb,QAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,KAAK,WAAW,MAAM;AACpD,gBAAU,MAAM,gBAAgB,IAAI;AAAA,IACtC;AAEA,QAAI,UAAU,IAAI,QAAQ,KAAK,KAAK,WAAW,OAAO;AACpD,gBAAU,MAAM,gBAAgB,IAAI;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKM,KAAK,WAAW,UAAU,CAAC,UAAsB,KAAK,OAAO,KAAK,IAAI,IAAI;AAAA,iBAC1E,KAAK,WAAW,UAAU,CAAC,UAAyB,KAAK,YAAY,KAAK,IAAI,IAAI;AAAA,qBAC9E,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,iBAClE,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,oBAC3D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA,gBACnE,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAM1D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,oBAC/D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA;AAAA,2CAExC,MAAM,KAAK,WAAW,CAAC;AAAA;AAAA;AAAA,EAGhE;AAAA,EAEA,UAAU;AACR,SAAK,gBAAgB,WAAW;AAAA,MAC9B,WAAW,KAAK;AAAA,MAChB,UAAU,KAAK;AAAA,MACf,WAAW;AAAA,QACT,EAAE,MAAM,UAAU,SAAS,EAAE,QAAQ,CAAC,KAAK,UAAU,KAAK,QAAQ,EAAE,EAAE;AAAA,MACxE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,aAAa;AACX,SAAK,qBAAiB,yBAAa,KAAK,gBAAgB,KAAK,gBAAgB;AAAA,MAC3E,WAAW,KAAK;AAAA,MAChB,UAAU,KAAK;AAAA,MACf,WAAW;AAAA,QACT,EAAE,MAAM,UAAU,SAAS,EAAE,QAAQ,CAAC,KAAK,UAAU,KAAK,QAAQ,EAAE,EAAE;AAAA,MACxE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,OAAmC;AACxC,UAAM,SAAS,MAAM;AACrB,UAAM,gBAAgB,OAAO,aAAa,MAAM,MAAM;AACtD,UAAM,gBAAgB,OAAO,aAAa,MAAM,MAAM;AAEtD,QAAI,iBAAiB,eAAe;AAClC,WAAK,SAAS,CAAC,KAAK;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,YAAY,OAAsB;AAChC,UAAM,eAAe;AAErB,QAAI,MAAM,QAAQ,UAAU;AAC1B,WAAK,SAAS;AAAA,IAChB;AAEA,QAAI,MAAM,QAAQ,WAAW,MAAM,SAAS,SAAS;AACnD,WAAK,OAAO,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,oBAAoB,OAAsB;AACxC,UAAM,iBAAiB,KAAK,kBAAkB,CAAC;AAC/C,UAAM,gBAAgB,KAAK,kBAAkB,KAAK,kBAAkB,SAAS,CAAC;AAE9E,QAAI,MAAM,QAAQ,OAAO;AACvB,UAAI,MAAM,YAAY,SAAS,kBAAkB,gBAAgB;AAC/D,cAAM,eAAe;AACrB,sBAAc,MAAM;AAAA,MACtB,WAAW,CAAC,MAAM,YAAY,SAAS,kBAAkB,eAAe;AACtE,cAAM,eAAe;AACrB,uBAAe,MAAM;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACD;AA/IoB,YACZ,SAAS,CAAC,YAAY;AAG7B;AAAA,MADC,4BAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GAHtB,YAInB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GANvB,YAOnB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,QAAQ,WAAW,UAAU,CAAC;AAAA,GAT7B,YAUnB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAZP,YAanB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAfP,YAgBnB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAlBP,YAmBnB;AAIA;AAAA,MADC,yBAAM;AAAA,GAtBY,YAuBnB;AAIA;AAAA,MADC,yBAAM,UAAU;AAAA,GA1BE,YA2BnB;AAIA;AAAA,MADC,yBAAM,UAAU;AAAA,GA9BE,YA+BnB;AAIA;AAAA,MADC,4BAAS,wMAAwM;AAAA,GAlC/L,YAmCnB;AAnCmB,cAArB;AAAA,MADC,iCAAc,cAAc;AAAA,GACR;;;AHlDrB,IAAqB,eAArB,cAA0C,YAAY;AAAA,EAGpD,SAAS;AACP,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKM,KAAK,WAAW,UAAU,CAAC,UAAsB,KAAK,OAAO,KAAK,IAAI,IAAI;AAAA,iBAC1E,KAAK,WAAW,UAAU,CAAC,UAAyB,KAAK,YAAY,KAAK,IAAI,IAAI;AAAA,qBAC9E,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,iBAClE,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,oBAC3D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA,gBACnE,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAM1D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAM,IAAI,IAAI;AAAA,oBAC/D,KAAK,WAAW,UAAU,MAAM;AAAE,WAAK,SAAS;AAAA,IAAO,IAAI,IAAI;AAAA;AAAA,2CAExC,MAAM;AAAE,WAAK,WAAW;AAAG,WAAK,eAAe;AAAA,IAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5F;AAAA,EAEA,iBAAiB;AACf,UAAM,SAAS,KAAK,eAAe;AACnC,SAAK,eAAe,MAAM,YAAY,kCAAkC,GAAG,MAAM,IAAI;AAAA,EACvF;AACF;AAnCqB,aACZ,SAAS,CAAC,eAAe,cAAc,kBAAkB,mBAAmB,mBAAmB,kBAAkB,4BAA4B,0BAA0B,kBAAkB,uBAAuB;AADpM,eAArB;AAAA,MADC,kCAAc,eAAe;AAAA,GACT;","names":["import_lit","import_decorators","import_lit","import_lit"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
19
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
20
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
21
|
+
if (decorator = decorators[i])
|
|
22
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
23
|
+
if (kind && result) __defProp(target, key, result);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/elements/tracker-step.ts
|
|
28
|
+
var tracker_step_exports = {};
|
|
29
|
+
__export(tracker_step_exports, {
|
|
30
|
+
default: () => KemetTrackerStep
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(tracker_step_exports);
|
|
33
|
+
var import_lit3 = require("lit");
|
|
34
|
+
var import_decorators2 = require("lit/decorators.js");
|
|
35
|
+
|
|
36
|
+
// src/styles/elements/tracker.ts
|
|
37
|
+
var import_lit = require("lit");
|
|
38
|
+
var stylesStep = import_lit.css`
|
|
39
|
+
:host {
|
|
40
|
+
--kemet-tracker-step-dot-size: 50px;
|
|
41
|
+
--kemet-tracker-step-dot-size-mobile: 25px;
|
|
42
|
+
--kemet-tracker-step-dot-gap: 4px;
|
|
43
|
+
--kemet-tracker-step-dot-transition: all 300ms ease-in-out;
|
|
44
|
+
--kemet-tracker-step-dot-font-size: 90%;
|
|
45
|
+
--kemet-tracker-step-dot-color: rgb(var(--kemet-color-primary));
|
|
46
|
+
--kemet-tracker-step-dot-background-color: rgb(var(--kemet-color-white));
|
|
47
|
+
--kemet-tracker-step-dot-border: 1px solid rgb(var(--kemet-color-primary));
|
|
48
|
+
--kemet-tracker-step-dot-fill-color: transparent;
|
|
49
|
+
--kemet-tracker-step-standard-line-weight: 1px;
|
|
50
|
+
--kemet-tracker-step-completed-line-weight: 3px;
|
|
51
|
+
--kemet-tracker-step-completed-color: rgb(var(--kemet-color-white));
|
|
52
|
+
--kemet-tracker-step-completed-fill-color: rgb(var(--kemet-color-success));
|
|
53
|
+
--kemet-tracker-step-current-color: rgb(var(--kemet-color-white));
|
|
54
|
+
--kemet-tracker-step-current-fill-color: rgb(var(--kemet-color-primary));
|
|
55
|
+
--kemet-tracker-step-line-color: rgb(var(--kemet-color-primary));
|
|
56
|
+
--kemet-tracker-step-completed-line-color: rgb(var(--kemet-color-primary));
|
|
57
|
+
|
|
58
|
+
position: relative;
|
|
59
|
+
width: 100%;
|
|
60
|
+
text-align: center;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.dot {
|
|
64
|
+
font-size: var(--kemet-tracker-step-dot-font-size);
|
|
65
|
+
color: var(--kemet-tracker-step-dot-color);
|
|
66
|
+
display: flex;
|
|
67
|
+
align-items: center;
|
|
68
|
+
justify-content: center;
|
|
69
|
+
margin: 0 auto;
|
|
70
|
+
position: relative;
|
|
71
|
+
z-index: 1;
|
|
72
|
+
width: var(--kemet-tracker-step-dot-size);
|
|
73
|
+
height: var(--kemet-tracker-step-dot-size);
|
|
74
|
+
border-radius: 100%;
|
|
75
|
+
transition: var(--kemet-tracker-step-dot-transition);
|
|
76
|
+
background-color: var(--kemet-tracker-step-dot-background-color);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.dot::after {
|
|
80
|
+
content: "";
|
|
81
|
+
width: unset;
|
|
82
|
+
height: unset;
|
|
83
|
+
position: absolute;
|
|
84
|
+
top: var(--kemet-tracker-step-dot-gap);
|
|
85
|
+
left: var(--kemet-tracker-step-dot-gap);
|
|
86
|
+
right: var(--kemet-tracker-step-dot-gap);
|
|
87
|
+
bottom: var(--kemet-tracker-step-dot-gap);
|
|
88
|
+
z-index: -1;
|
|
89
|
+
border-radius: 100%;
|
|
90
|
+
transition: var(--kemet-tracker-step-dot-transition);
|
|
91
|
+
border: var(--kemet-tracker-step-dot-border);
|
|
92
|
+
background-color: var(--kemet-tracker-step-dot-fill-color);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:host([completed]) .dot {
|
|
96
|
+
color: var(--kemet-tracker-step-completed-color);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
:host([completed]) .dot::after {
|
|
100
|
+
border: 0;
|
|
101
|
+
background-color: var(--kemet-tracker-step-completed-fill-color);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host([current]) .dot.animate {
|
|
105
|
+
color: var(--kemet-tracker-step-current-color);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
:host([current]) .dot.animate::after {
|
|
109
|
+
border: 0;
|
|
110
|
+
background-color: var(--kemet-tracker-step-current-fill-color);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:host([mobile]) .dot {
|
|
114
|
+
width: var(--kemet-tracker-step-dot-size-mobile);
|
|
115
|
+
height: var(--kemet-tracker-step-dot-size-mobile);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.line {
|
|
119
|
+
display: block;
|
|
120
|
+
position: absolute;
|
|
121
|
+
left: 50%;
|
|
122
|
+
right: 0;
|
|
123
|
+
bottom: 0;
|
|
124
|
+
width: 100%;
|
|
125
|
+
|
|
126
|
+
/* standard */
|
|
127
|
+
top: calc((var(--kemet-tracker-step-dot-size) - var(--kemet-tracker-step-standard-line-weight)) / 2);
|
|
128
|
+
height: var(--kemet-tracker-step-standard-line-weight);
|
|
129
|
+
background-color: var(--kemet-tracker-step-line-color);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.line.completed {
|
|
133
|
+
width: 100%;
|
|
134
|
+
transform: scaleX(0);
|
|
135
|
+
transform-origin: left center;
|
|
136
|
+
top: calc((var(--kemet-tracker-step-dot-size) - var(--kemet-tracker-step-completed-line-weight)) / 2);
|
|
137
|
+
height: var(--kemet-tracker-step-completed-line-weight);
|
|
138
|
+
background-color: var(--kemet-tracker-step-completed-line-color);
|
|
139
|
+
animation-name: grow;
|
|
140
|
+
animation-delay: 1s;
|
|
141
|
+
animation-duration: 600ms;
|
|
142
|
+
animation-fill-mode: forwards;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:host([mobile]) .line {
|
|
146
|
+
top: calc((var(--kemet-tracker-step-dot-size-mobile) - var(--kemet-tracker-step-standard-line-weight)) / 2);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
:host([mobile]) .line.completed {
|
|
150
|
+
top: calc((var(--kemet-tracker-step-dot-size-mobile) - var(--kemet-tracker-step-completed-line-weight)) / 2);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@keyframes grow {
|
|
154
|
+
from { transform: scaleX(0); }
|
|
155
|
+
to { transform: scaleX(1); }
|
|
156
|
+
}
|
|
157
|
+
`;
|
|
158
|
+
|
|
159
|
+
// src/elements/icon-bootstrap.ts
|
|
160
|
+
var import_lit2 = require("lit");
|
|
161
|
+
var import_decorators = require("lit/decorators.js");
|
|
162
|
+
var KemetIconBootstrap = class extends import_lit2.LitElement {
|
|
163
|
+
constructor() {
|
|
164
|
+
super(...arguments);
|
|
165
|
+
this.icon = "code";
|
|
166
|
+
this.version = "1.11.3";
|
|
167
|
+
this.size = 24;
|
|
168
|
+
this.stylesLoaded = false;
|
|
169
|
+
}
|
|
170
|
+
async connectedCallback() {
|
|
171
|
+
super.connectedCallback();
|
|
172
|
+
await this._loadBootstrapStyles();
|
|
173
|
+
}
|
|
174
|
+
async _resolveVersion(version) {
|
|
175
|
+
if (version !== "latest" && /^\d+\.\d+\.\d+/.test(version)) {
|
|
176
|
+
return version;
|
|
177
|
+
}
|
|
178
|
+
if (KemetIconBootstrap.resolvedVersions.has(version)) {
|
|
179
|
+
return KemetIconBootstrap.resolvedVersions.get(version);
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
const response = await fetch("https://unpkg.com/bootstrap-icons/package.json");
|
|
183
|
+
if (!response.ok) throw new Error("Failed to resolve version");
|
|
184
|
+
const pkg = await response.json();
|
|
185
|
+
const resolvedVersion = pkg.version;
|
|
186
|
+
KemetIconBootstrap.resolvedVersions.set(version, resolvedVersion);
|
|
187
|
+
return resolvedVersion;
|
|
188
|
+
} catch (error) {
|
|
189
|
+
console.warn("Failed to resolve Bootstrap Icons version, using 1.11.3:", error);
|
|
190
|
+
return "1.11.3";
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
async _loadBootstrapStyles() {
|
|
194
|
+
if (this.stylesLoaded) return;
|
|
195
|
+
try {
|
|
196
|
+
const resolvedVersion = await this._resolveVersion(this.version);
|
|
197
|
+
const cacheKey = resolvedVersion;
|
|
198
|
+
if (!KemetIconBootstrap.fontFaceLoaded.get(cacheKey)) {
|
|
199
|
+
await this._loadFontFaceInDocument(resolvedVersion);
|
|
200
|
+
KemetIconBootstrap.fontFaceLoaded.set(cacheKey, true);
|
|
201
|
+
}
|
|
202
|
+
let iconSheet = KemetIconBootstrap.iconStylesCache.get(cacheKey);
|
|
203
|
+
if (!iconSheet) {
|
|
204
|
+
const response = await fetch(
|
|
205
|
+
`https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/bootstrap-icons.min.css`
|
|
206
|
+
);
|
|
207
|
+
if (!response.ok) {
|
|
208
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
209
|
+
}
|
|
210
|
+
let cssText = await response.text();
|
|
211
|
+
cssText = cssText.replace(/@font-face\s*{[^}]*}/g, "");
|
|
212
|
+
iconSheet = new CSSStyleSheet();
|
|
213
|
+
await iconSheet.replace(cssText);
|
|
214
|
+
KemetIconBootstrap.iconStylesCache.set(cacheKey, iconSheet);
|
|
215
|
+
}
|
|
216
|
+
this.shadowRoot.adoptedStyleSheets = [
|
|
217
|
+
...this.shadowRoot.adoptedStyleSheets,
|
|
218
|
+
iconSheet
|
|
219
|
+
];
|
|
220
|
+
this.stylesLoaded = true;
|
|
221
|
+
this.requestUpdate();
|
|
222
|
+
} catch (error) {
|
|
223
|
+
console.error("Failed to load Bootstrap Icons:", error);
|
|
224
|
+
this.requestUpdate();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
async _loadFontFaceInDocument(resolvedVersion) {
|
|
228
|
+
try {
|
|
229
|
+
const response = await fetch(
|
|
230
|
+
`https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/bootstrap-icons.min.css`
|
|
231
|
+
);
|
|
232
|
+
if (!response.ok) {
|
|
233
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
234
|
+
}
|
|
235
|
+
const cssText = await response.text();
|
|
236
|
+
const fontFaceMatches = cssText.match(/@font-face\s*{[^}]*}/g);
|
|
237
|
+
if (!fontFaceMatches) return;
|
|
238
|
+
const baseUrl = `https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/`;
|
|
239
|
+
let fontFaceCss = fontFaceMatches.join("\n");
|
|
240
|
+
fontFaceCss = fontFaceCss.replace(/url\(["']?\.\/fonts\//g, `url("${baseUrl}fonts/`);
|
|
241
|
+
fontFaceCss = fontFaceCss.replace(/url\(["']?fonts\//g, `url("${baseUrl}fonts/`);
|
|
242
|
+
const styleId = `bootstrap-icons-fonts-${resolvedVersion}`;
|
|
243
|
+
if (!document.getElementById(styleId)) {
|
|
244
|
+
const style = document.createElement("style");
|
|
245
|
+
style.id = styleId;
|
|
246
|
+
style.textContent = fontFaceCss;
|
|
247
|
+
document.head.appendChild(style);
|
|
248
|
+
}
|
|
249
|
+
} catch (error) {
|
|
250
|
+
console.error("Failed to load Bootstrap Icons fonts:", error);
|
|
251
|
+
throw error;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
render() {
|
|
255
|
+
return import_lit2.html`
|
|
256
|
+
<i class="bi bi-${this.icon}" style="font-size: ${this.size}px;"></i>
|
|
257
|
+
`;
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
KemetIconBootstrap.fontFaceLoaded = /* @__PURE__ */ new Map();
|
|
261
|
+
KemetIconBootstrap.iconStylesCache = /* @__PURE__ */ new Map();
|
|
262
|
+
KemetIconBootstrap.resolvedVersions = /* @__PURE__ */ new Map();
|
|
263
|
+
KemetIconBootstrap.styles = import_lit2.css`
|
|
264
|
+
:host {
|
|
265
|
+
display: inline-flex;
|
|
266
|
+
align-items: center;
|
|
267
|
+
justify-content: center;
|
|
268
|
+
}
|
|
269
|
+
`;
|
|
270
|
+
__decorateClass([
|
|
271
|
+
(0, import_decorators.property)()
|
|
272
|
+
], KemetIconBootstrap.prototype, "icon", 2);
|
|
273
|
+
__decorateClass([
|
|
274
|
+
(0, import_decorators.property)()
|
|
275
|
+
], KemetIconBootstrap.prototype, "version", 2);
|
|
276
|
+
__decorateClass([
|
|
277
|
+
(0, import_decorators.property)()
|
|
278
|
+
], KemetIconBootstrap.prototype, "size", 2);
|
|
279
|
+
KemetIconBootstrap = __decorateClass([
|
|
280
|
+
(0, import_decorators.customElement)("kemet-icon-bootstrap")
|
|
281
|
+
], KemetIconBootstrap);
|
|
282
|
+
|
|
283
|
+
// src/elements/tracker-step.ts
|
|
284
|
+
var KemetTrackerStep = class extends import_lit3.LitElement {
|
|
285
|
+
constructor() {
|
|
286
|
+
super(...arguments);
|
|
287
|
+
this.completedSize = 16;
|
|
288
|
+
}
|
|
289
|
+
firstUpdated() {
|
|
290
|
+
this.tracker = this.closest("kemet-tracker");
|
|
291
|
+
}
|
|
292
|
+
render() {
|
|
293
|
+
return import_lit3.html`
|
|
294
|
+
${this.makeLine()}
|
|
295
|
+
${this.makeCompletedLine()}
|
|
296
|
+
<div class="dot" part="dot">${this.makeDotContent()}</div>
|
|
297
|
+
${this.makeSlotContent()}
|
|
298
|
+
`;
|
|
299
|
+
}
|
|
300
|
+
makeLine() {
|
|
301
|
+
if (!this.last) {
|
|
302
|
+
return import_lit3.html`<div class="line" part="line"></div>`;
|
|
303
|
+
}
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
makeCompletedLine() {
|
|
307
|
+
if (this.completed && !this.last) {
|
|
308
|
+
return import_lit3.html`<div class="line completed" part="completed-line" @animationend=${() => this.handleCompletedLineEnd()}></div>`;
|
|
309
|
+
}
|
|
310
|
+
return null;
|
|
311
|
+
}
|
|
312
|
+
makeDotContent() {
|
|
313
|
+
if (this.completed && !this.mobile && !this.hideDotContent) {
|
|
314
|
+
return import_lit3.html`
|
|
315
|
+
<kemet-icon-bootstrap icon="check2" size=${this.completedSize}></kemet-icon-bootstrap>
|
|
316
|
+
`;
|
|
317
|
+
}
|
|
318
|
+
if (!this.mobile && !this.hideDotContent) {
|
|
319
|
+
return import_lit3.html`
|
|
320
|
+
<span>${this.step}/${this.tracker?.total}</span>
|
|
321
|
+
`;
|
|
322
|
+
}
|
|
323
|
+
return null;
|
|
324
|
+
}
|
|
325
|
+
makeSlotContent() {
|
|
326
|
+
if (!this.mobile) {
|
|
327
|
+
return import_lit3.html`<slot></slot>`;
|
|
328
|
+
}
|
|
329
|
+
return null;
|
|
330
|
+
}
|
|
331
|
+
handleCompletedLineEnd() {
|
|
332
|
+
const currentDot = this.tracker.querySelector("[current]").shadowRoot.querySelector(".dot");
|
|
333
|
+
if (currentDot) {
|
|
334
|
+
currentDot.classList.add("animate");
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
KemetTrackerStep.styles = [stylesStep];
|
|
339
|
+
__decorateClass([
|
|
340
|
+
(0, import_decorators2.property)({ type: Number })
|
|
341
|
+
], KemetTrackerStep.prototype, "step", 2);
|
|
342
|
+
__decorateClass([
|
|
343
|
+
(0, import_decorators2.property)({ type: Boolean, reflect: true })
|
|
344
|
+
], KemetTrackerStep.prototype, "completed", 2);
|
|
345
|
+
__decorateClass([
|
|
346
|
+
(0, import_decorators2.property)({ type: Boolean, reflect: true })
|
|
347
|
+
], KemetTrackerStep.prototype, "current", 2);
|
|
348
|
+
__decorateClass([
|
|
349
|
+
(0, import_decorators2.property)({ type: Boolean, reflect: true })
|
|
350
|
+
], KemetTrackerStep.prototype, "last", 2);
|
|
351
|
+
__decorateClass([
|
|
352
|
+
(0, import_decorators2.property)({ type: Boolean, reflect: true })
|
|
353
|
+
], KemetTrackerStep.prototype, "mobile", 2);
|
|
354
|
+
__decorateClass([
|
|
355
|
+
(0, import_decorators2.property)({ type: Boolean, reflect: true, attribute: "hide-dot-content" })
|
|
356
|
+
], KemetTrackerStep.prototype, "hideDotContent", 2);
|
|
357
|
+
__decorateClass([
|
|
358
|
+
(0, import_decorators2.property)({ type: Number })
|
|
359
|
+
], KemetTrackerStep.prototype, "completedSize", 2);
|
|
360
|
+
__decorateClass([
|
|
361
|
+
(0, import_decorators2.state)()
|
|
362
|
+
], KemetTrackerStep.prototype, "tracker", 2);
|
|
363
|
+
KemetTrackerStep = __decorateClass([
|
|
364
|
+
(0, import_decorators2.customElement)("kemet-tracker-step")
|
|
365
|
+
], KemetTrackerStep);
|
|
366
|
+
//# sourceMappingURL=tracker-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/elements/tracker-step.ts","../../src/styles/elements/tracker.ts","../../src/elements/icon-bootstrap.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { stylesStep } from '../styles/elements/tracker';\nimport './icon-bootstrap';\nimport KemetTracker from './tracker';\n\n/**\n *\n * @since 1.2.0\n * @status stable\n *\n * @tagname kemet-tracker-step\n * @summary A step in the Tracker\n *\n * @prop {number} step - The current step number\n * @prop {boolean} completed - Determines whether a step renders as complete\n * @prop {boolean} current - Determines whether a step renders as the current step\n * @prop {boolean} last - Is automatically added to the last step\n * @prop {boolean} mobile - Determines if a step should render as mobile\n * @prop {boolean} hideDotContent - Hides the label inside of a dot\n * @prop {number} completedSize - The icon size for the completed check mark\n *\n * @cssproperty --kemet-tracker-step-dot-font-size - The font size.\n * @cssproperty --kemet-tracker-step-dot-color - The text color.\n * @cssproperty --kemet-tracker-step-dot-border - Border around a dot.\n * @cssproperty --kemet-tracker-step-dot-size - Width and height of a dot.\n * @cssproperty --kemet-tracker-step-dot-size-mobile - Mobile width and height of a dot.\n * @cssproperty --kemet-tracker-step-dot-gap - Space between a dot and connector line.\n * @cssproperty --kemet-tracker-step-dot-transition - Transition of a dot.\n * @cssproperty --kemet-tracker-step-dot-fill-color - Fill color of a dot.\n * @cssproperty --kemet-tracker-step-dot-background-color - Color of the background a dot is on.\n * @cssproperty --kemet-tracker-step-current-color - Current dot text color.\n * @cssproperty --kemet-tracker-step-current-fill-color - Current dot fill color.\n * @cssproperty --kemet-tracker-step-completed-color - Text color of a completed dot.\n * @cssproperty --kemet-tracker-step-completed-fill-color - Background color of a completed dot.\n * @cssproperty --kemet-tracker-step-completed-line-color - Completed connector line color.\n * @cssproperty --kemet-tracker-step-completed-line-weight - Completed line weight.\n * @cssproperty --kemet-tracker-step-standard-line-weight - Standard line weight.\n *\n * @csspart dot - The container for the dot.\n * @csspart line - A connector line from dot to dot.\n * @csspart completed-line - A completed connector line.\n *\n */\n\n@customElement('kemet-tracker-step')\nexport default class KemetTrackerStep extends LitElement {\n static styles = [stylesStep];\n\n @property({ type: Number })\n step: number;\n\n @property({ type: Boolean, reflect: true })\n completed: boolean;\n\n @property({ type: Boolean, reflect: true })\n current: boolean;\n\n @property({ type: Boolean, reflect: true })\n last: boolean;\n\n @property({ type: Boolean, reflect: true })\n mobile: boolean;\n\n @property({ type: Boolean, reflect: true, attribute: 'hide-dot-content' })\n hideDotContent: boolean;\n\n @property({ type: Number })\n completedSize: number = 16;\n\n @state()\n tracker: KemetTracker;\n\n firstUpdated() {\n this.tracker = this.closest('kemet-tracker');\n }\n\n render() {\n return html`\n ${this.makeLine()}\n ${this.makeCompletedLine()}\n <div class=\"dot\" part=\"dot\">${this.makeDotContent()}</div>\n ${this.makeSlotContent()}\n `;\n }\n\n makeLine() {\n if (!this.last) {\n return html`<div class=\"line\" part=\"line\"></div>`;\n }\n\n return null;\n }\n\n makeCompletedLine() {\n if (this.completed && !this.last) {\n return html`<div class=\"line completed\" part=\"completed-line\" @animationend=${() => this.handleCompletedLineEnd()}></div>`;\n }\n\n return null;\n }\n\n makeDotContent() {\n if (this.completed && !this.mobile && !this.hideDotContent) {\n return html`\n <kemet-icon-bootstrap icon=\"check2\" size=${this.completedSize}></kemet-icon-bootstrap>\n `;\n }\n\n if (!this.mobile && !this.hideDotContent) {\n return html`\n <span>${this.step}/${this.tracker?.total}</span>\n `;\n }\n\n return null;\n }\n\n makeSlotContent() {\n if (!this.mobile) {\n return html`<slot></slot>`;\n }\n\n return null;\n }\n\n handleCompletedLineEnd() {\n const currentDot = this.tracker.querySelector('[current]').shadowRoot.querySelector('.dot');\n\n if (currentDot) {\n currentDot.classList.add('animate');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tracker-step': KemetTrackerStep\n }\n}\n","import { css } from 'lit';\n\nexport const stylesStep = css`\n :host {\n --kemet-tracker-step-dot-size: 50px;\n --kemet-tracker-step-dot-size-mobile: 25px;\n --kemet-tracker-step-dot-gap: 4px;\n --kemet-tracker-step-dot-transition: all 300ms ease-in-out;\n --kemet-tracker-step-dot-font-size: 90%;\n --kemet-tracker-step-dot-color: rgb(var(--kemet-color-primary));\n --kemet-tracker-step-dot-background-color: rgb(var(--kemet-color-white));\n --kemet-tracker-step-dot-border: 1px solid rgb(var(--kemet-color-primary));\n --kemet-tracker-step-dot-fill-color: transparent;\n --kemet-tracker-step-standard-line-weight: 1px;\n --kemet-tracker-step-completed-line-weight: 3px;\n --kemet-tracker-step-completed-color: rgb(var(--kemet-color-white));\n --kemet-tracker-step-completed-fill-color: rgb(var(--kemet-color-success));\n --kemet-tracker-step-current-color: rgb(var(--kemet-color-white));\n --kemet-tracker-step-current-fill-color: rgb(var(--kemet-color-primary));\n --kemet-tracker-step-line-color: rgb(var(--kemet-color-primary));\n --kemet-tracker-step-completed-line-color: rgb(var(--kemet-color-primary));\n\n position: relative;\n width: 100%;\n text-align: center;\n }\n\n .dot {\n font-size: var(--kemet-tracker-step-dot-font-size);\n color: var(--kemet-tracker-step-dot-color);\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n position: relative;\n z-index: 1;\n width: var(--kemet-tracker-step-dot-size);\n height: var(--kemet-tracker-step-dot-size);\n border-radius: 100%;\n transition: var(--kemet-tracker-step-dot-transition);\n background-color: var(--kemet-tracker-step-dot-background-color);\n }\n\n .dot::after {\n content: \"\";\n width: unset;\n height: unset;\n position: absolute;\n top: var(--kemet-tracker-step-dot-gap);\n left: var(--kemet-tracker-step-dot-gap);\n right: var(--kemet-tracker-step-dot-gap);\n bottom: var(--kemet-tracker-step-dot-gap);\n z-index: -1;\n border-radius: 100%;\n transition: var(--kemet-tracker-step-dot-transition);\n border: var(--kemet-tracker-step-dot-border);\n background-color: var(--kemet-tracker-step-dot-fill-color);\n }\n\n :host([completed]) .dot {\n color: var(--kemet-tracker-step-completed-color);\n }\n\n :host([completed]) .dot::after {\n border: 0;\n background-color: var(--kemet-tracker-step-completed-fill-color);\n }\n\n :host([current]) .dot.animate {\n color: var(--kemet-tracker-step-current-color);\n }\n\n :host([current]) .dot.animate::after {\n border: 0;\n background-color: var(--kemet-tracker-step-current-fill-color);\n }\n\n :host([mobile]) .dot {\n width: var(--kemet-tracker-step-dot-size-mobile);\n height: var(--kemet-tracker-step-dot-size-mobile);\n }\n\n .line {\n display: block;\n position: absolute;\n left: 50%;\n right: 0;\n bottom: 0;\n width: 100%;\n\n /* standard */\n top: calc((var(--kemet-tracker-step-dot-size) - var(--kemet-tracker-step-standard-line-weight)) / 2);\n height: var(--kemet-tracker-step-standard-line-weight);\n background-color: var(--kemet-tracker-step-line-color);\n }\n\n .line.completed {\n width: 100%;\n transform: scaleX(0);\n transform-origin: left center;\n top: calc((var(--kemet-tracker-step-dot-size) - var(--kemet-tracker-step-completed-line-weight)) / 2);\n height: var(--kemet-tracker-step-completed-line-weight);\n background-color: var(--kemet-tracker-step-completed-line-color);\n animation-name: grow;\n animation-delay: 1s;\n animation-duration: 600ms;\n animation-fill-mode: forwards;\n }\n\n :host([mobile]) .line {\n top: calc((var(--kemet-tracker-step-dot-size-mobile) - var(--kemet-tracker-step-standard-line-weight)) / 2);\n }\n\n :host([mobile]) .line.completed {\n top: calc((var(--kemet-tracker-step-dot-size-mobile) - var(--kemet-tracker-step-completed-line-weight)) / 2);\n }\n\n @keyframes grow {\n from { transform: scaleX(0); }\n to { transform: scaleX(1); }\n }\n`;\n","import { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('kemet-icon-bootstrap')\nexport default class KemetIconBootstrap extends LitElement {\n @property() icon: string = 'code';\n @property() version: string = '1.11.3'; // Default to stable version\n @property() size: number = 24;\n\n private static fontFaceLoaded = new Map<string, boolean>();\n private static iconStylesCache = new Map<string, CSSStyleSheet>();\n private static resolvedVersions = new Map<string, string>();\n private stylesLoaded = false;\n\n async connectedCallback() {\n super.connectedCallback();\n await this._loadBootstrapStyles();\n }\n\n private async _resolveVersion(version: string): Promise<string> {\n // If it's already a specific version, return it\n if (version !== 'latest' && /^\\d+\\.\\d+\\.\\d+/.test(version)) {\n return version;\n }\n\n // Check cache\n if (KemetIconBootstrap.resolvedVersions.has(version)) {\n return KemetIconBootstrap.resolvedVersions.get(version)!;\n }\n\n try {\n // Fetch without version to get redirected to latest\n const response = await fetch('https://unpkg.com/bootstrap-icons/package.json');\n if (!response.ok) throw new Error('Failed to resolve version');\n\n const pkg = await response.json();\n const resolvedVersion = pkg.version;\n\n KemetIconBootstrap.resolvedVersions.set(version, resolvedVersion);\n return resolvedVersion;\n } catch (error) {\n console.warn('Failed to resolve Bootstrap Icons version, using 1.11.3:', error);\n return '1.11.3'; // Fallback to known stable version\n }\n }\n\n private async _loadBootstrapStyles() {\n if (this.stylesLoaded) return;\n\n try {\n // Resolve version if needed\n const resolvedVersion = await this._resolveVersion(this.version);\n const cacheKey = resolvedVersion;\n\n // Load font-face in light DOM (only once per version)\n if (!KemetIconBootstrap.fontFaceLoaded.get(cacheKey)) {\n await this._loadFontFaceInDocument(resolvedVersion);\n KemetIconBootstrap.fontFaceLoaded.set(cacheKey, true);\n }\n\n // Load icon classes in shadow DOM\n let iconSheet = KemetIconBootstrap.iconStylesCache.get(cacheKey);\n\n if (!iconSheet) {\n const response = await fetch(\n `https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/bootstrap-icons.min.css`\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n let cssText = await response.text();\n\n // Remove @font-face rules (already in light DOM)\n cssText = cssText.replace(/@font-face\\s*{[^}]*}/g, '');\n\n iconSheet = new CSSStyleSheet();\n await iconSheet.replace(cssText);\n KemetIconBootstrap.iconStylesCache.set(cacheKey, iconSheet);\n }\n\n this.shadowRoot!.adoptedStyleSheets = [\n ...this.shadowRoot!.adoptedStyleSheets,\n iconSheet\n ];\n\n this.stylesLoaded = true;\n this.requestUpdate();\n } catch (error) {\n console.error('Failed to load Bootstrap Icons:', error);\n this.requestUpdate();\n }\n }\n\n private async _loadFontFaceInDocument(resolvedVersion: string) {\n try {\n const response = await fetch(\n `https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/bootstrap-icons.min.css`\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const cssText = await response.text();\n\n // Extract ONLY @font-face rules\n const fontFaceMatches = cssText.match(/@font-face\\s*{[^}]*}/g);\n if (!fontFaceMatches) return;\n\n // Fix relative URLs to absolute\n const baseUrl = `https://unpkg.com/bootstrap-icons@${resolvedVersion}/font/`;\n let fontFaceCss = fontFaceMatches.join('\\n');\n fontFaceCss = fontFaceCss.replace(/url\\([\"']?\\.\\/fonts\\//g, `url(\"${baseUrl}fonts/`);\n fontFaceCss = fontFaceCss.replace(/url\\([\"']?fonts\\//g, `url(\"${baseUrl}fonts/`);\n\n // Add to document head\n const styleId = `bootstrap-icons-fonts-${resolvedVersion}`;\n if (!document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = fontFaceCss;\n document.head.appendChild(style);\n }\n } catch (error) {\n console.error('Failed to load Bootstrap Icons fonts:', error);\n throw error;\n }\n }\n\n static styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n `;\n\n render() {\n return html`\n <i class=\"bi bi-${this.icon}\" style=\"font-size: ${this.size}px;\"></i>\n `;\n }\n}\n"],"mappings":"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","names":["import_lit","import_decorators","import_lit"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
19
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
20
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
21
|
+
if (decorator = decorators[i])
|
|
22
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
23
|
+
if (kind && result) __defProp(target, key, result);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/elements/tracker.ts
|
|
28
|
+
var tracker_exports = {};
|
|
29
|
+
__export(tracker_exports, {
|
|
30
|
+
default: () => KemetTracker
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(tracker_exports);
|
|
33
|
+
var import_lit = require("lit");
|
|
34
|
+
var import_decorators = require("lit/decorators.js");
|
|
35
|
+
var KemetTracker = class extends import_lit.LitElement {
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
this.breakpoint = "767px";
|
|
39
|
+
}
|
|
40
|
+
firstUpdated() {
|
|
41
|
+
this.steps = this.querySelectorAll("kemet-tracker-step");
|
|
42
|
+
this.isMobile();
|
|
43
|
+
window.addEventListener("resize", () => {
|
|
44
|
+
this.isMobile();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
render() {
|
|
48
|
+
return import_lit.html`<slot @slotchange=${() => this.handleSlotChange()}></slot>`;
|
|
49
|
+
}
|
|
50
|
+
handleSlotChange() {
|
|
51
|
+
this.total = this.steps.length;
|
|
52
|
+
this.steps.forEach((step, index) => {
|
|
53
|
+
step.step = index + 1;
|
|
54
|
+
if (step.step === this.total) {
|
|
55
|
+
step.last = true;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
isMobile() {
|
|
60
|
+
const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);
|
|
61
|
+
this.steps.forEach((step) => {
|
|
62
|
+
step.mobile = mediaQuery.matches;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
KemetTracker.styles = [
|
|
67
|
+
import_lit.css`
|
|
68
|
+
:host {
|
|
69
|
+
display: flex;
|
|
70
|
+
justify-content: center;
|
|
71
|
+
align-items: flex-start;
|
|
72
|
+
width: 100%;
|
|
73
|
+
}
|
|
74
|
+
`
|
|
75
|
+
];
|
|
76
|
+
__decorateClass([
|
|
77
|
+
(0, import_decorators.property)({ type: Number })
|
|
78
|
+
], KemetTracker.prototype, "total", 2);
|
|
79
|
+
__decorateClass([
|
|
80
|
+
(0, import_decorators.property)({ type: String })
|
|
81
|
+
], KemetTracker.prototype, "breakpoint", 2);
|
|
82
|
+
__decorateClass([
|
|
83
|
+
(0, import_decorators.state)()
|
|
84
|
+
], KemetTracker.prototype, "steps", 2);
|
|
85
|
+
KemetTracker = __decorateClass([
|
|
86
|
+
(0, import_decorators.customElement)("kemet-tracker")
|
|
87
|
+
], KemetTracker);
|
|
88
|
+
//# sourceMappingURL=tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/elements/tracker.ts"],"sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport type KemetTrackerStep from './tracker-step';\n\n/**\n *\n * @since 1.2.0\n * @status stable\n *\n * @prop {number} total - The total number of steps\n * @prop {string} breakpoint - The point at which the tracker goes from mobile to standard\n *\n */\n\n@customElement('kemet-tracker')\nexport default class KemetTracker extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n justify-content: center;\n align-items: flex-start;\n width: 100%;\n }\n `,\n ];\n\n @property({ type: Number })\n total: number;\n\n @property({ type: String })\n breakpoint: string;\n\n @state()\n steps: NodeListOf<KemetTrackerStep>;\n\n constructor() {\n super();\n this.breakpoint = '767px';\n }\n\n firstUpdated() {\n // elements\n this.steps = this.querySelectorAll('kemet-tracker-step');\n\n // methods exe\n this.isMobile();\n\n // events\n window.addEventListener('resize', () => {\n this.isMobile();\n });\n }\n\n render() {\n return html`<slot @slotchange=${() => this.handleSlotChange()}></slot>`;\n }\n\n handleSlotChange() {\n this.total = this.steps.length;\n\n this.steps.forEach((step, index) => {\n step.step = index + 1;\n if (step.step === this.total) {\n step.last = true;\n }\n });\n }\n\n isMobile() {\n const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);\n\n this.steps.forEach((step) => {\n step.mobile = mediaQuery.matches;\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tracker': KemetTracker\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAsC;AACtC,wBAA+C;AAc/C,IAAqB,eAArB,cAA0C,sBAAW;AAAA,EAqBnD,cAAc;AACZ,UAAM;AACN,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,eAAe;AAEb,SAAK,QAAQ,KAAK,iBAAiB,oBAAoB;AAGvD,SAAK,SAAS;AAGd,WAAO,iBAAiB,UAAU,MAAM;AACtC,WAAK,SAAS;AAAA,IAChB,CAAC;AAAA,EACH;AAAA,EAEA,SAAS;AACP,WAAO,oCAAyB,MAAM,KAAK,iBAAiB,CAAC;AAAA,EAC/D;AAAA,EAEA,mBAAmB;AACjB,SAAK,QAAQ,KAAK,MAAM;AAExB,SAAK,MAAM,QAAQ,CAAC,MAAM,UAAU;AAClC,WAAK,OAAO,QAAQ;AACpB,UAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW;AACT,UAAM,aAAa,OAAO,WAAW,eAAe,KAAK,UAAU,GAAG;AAEtE,SAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,WAAK,SAAS,WAAW;AAAA,IAC3B,CAAC;AAAA,EACH;AACF;AA7DqB,aACZ,SAAS;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAZP,aAanB;AAGA;AAAA,MADC,4BAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAfP,aAgBnB;AAGA;AAAA,MADC,yBAAM;AAAA,GAlBY,aAmBnB;AAnBmB,eAArB;AAAA,MADC,iCAAc,eAAe;AAAA,GACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|