kemet-ui 4.0.2 → 5.0.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/custom-elements.json +6495 -6487
- package/dist/constants-W9QKPlZP.d.ts +563 -0
- package/dist/elements/accordion/index.d.ts +58 -0
- package/dist/elements/accordion/index.js +191 -0
- package/dist/elements/accordion/index.js.map +1 -0
- package/dist/elements/accordion/styles.css.d.ts +5 -0
- package/dist/elements/accordion/styles.css.js +10 -0
- package/dist/elements/accordion/styles.css.js.map +1 -0
- package/dist/elements/accordion-panel/index.d.ts +69 -0
- package/dist/elements/accordion-panel/index.js +186 -0
- package/dist/elements/accordion-panel/index.js.map +1 -0
- package/dist/elements/accordion-panel/styles.css.d.ts +5 -0
- package/dist/elements/accordion-panel/styles.css.js +40 -0
- package/dist/elements/accordion-panel/styles.css.js.map +1 -0
- package/dist/elements/alert/index.d.ts +90 -0
- package/dist/elements/alert/index.js +345 -0
- package/dist/elements/alert/index.js.map +1 -0
- package/dist/elements/alert/styles.css.d.ts +5 -0
- package/dist/elements/alert/styles.css.js +195 -0
- package/dist/elements/alert/styles.css.js.map +1 -0
- package/dist/elements/avatar/index.d.ts +50 -0
- package/dist/elements/avatar/index.js +157 -0
- package/dist/elements/avatar/index.js.map +1 -0
- package/dist/elements/avatar/styles.css.d.ts +5 -0
- package/dist/elements/avatar/styles.css.js +70 -0
- package/dist/elements/avatar/styles.css.js.map +1 -0
- package/dist/elements/avatars/index.d.ts +30 -0
- package/dist/elements/avatars/index.js +75 -0
- package/dist/elements/avatars/index.js.map +1 -0
- package/dist/elements/avatars/styles.css.d.ts +5 -0
- package/dist/elements/avatars/styles.css.js +22 -0
- package/dist/elements/avatars/styles.css.js.map +1 -0
- package/dist/elements/badge/index.d.ts +52 -0
- package/dist/elements/badge/index.js +193 -0
- package/dist/elements/badge/index.js.map +1 -0
- package/dist/elements/badge/styles.css.d.ts +5 -0
- package/dist/elements/badge/styles.css.js +98 -0
- package/dist/elements/badge/styles.css.js.map +1 -0
- package/dist/elements/button/index.d.ts +113 -0
- package/dist/elements/button/index.js +541 -0
- package/dist/elements/button/index.js.map +1 -0
- package/dist/elements/button/styles.css.d.ts +5 -0
- package/dist/elements/button/styles.css.js +310 -0
- package/dist/elements/button/styles.css.js.map +1 -0
- package/dist/elements/card/index.d.ts +76 -0
- package/dist/elements/card/index.js +238 -0
- package/dist/elements/card/index.js.map +1 -0
- package/dist/elements/card/styles.css.d.ts +5 -0
- package/dist/elements/card/styles.css.js +145 -0
- package/dist/elements/card/styles.css.js.map +1 -0
- package/dist/elements/checkbox/index.d.ts +96 -0
- package/dist/elements/checkbox/index.js +401 -0
- package/dist/elements/checkbox/index.js.map +1 -0
- package/dist/elements/checkbox/styles.css.d.ts +5 -0
- package/dist/elements/checkbox/styles.css.js +107 -0
- package/dist/elements/checkbox/styles.css.js.map +1 -0
- package/dist/elements/combo/index.d.ts +4 -0
- package/dist/elements/combo/index.js +220 -0
- package/dist/elements/combo/index.js.map +1 -0
- package/dist/elements/combo/styles.css.d.ts +5 -0
- package/dist/elements/combo/styles.css.js +62 -0
- package/dist/elements/combo/styles.css.js.map +1 -0
- package/dist/elements/count/index.d.ts +4 -0
- package/dist/elements/count/index.js +102 -0
- package/dist/elements/count/index.js.map +1 -0
- package/dist/elements/dialog/effects.css.d.ts +5 -0
- package/dist/elements/dialog/effects.css.js +221 -0
- package/dist/elements/dialog/effects.css.js.map +1 -0
- package/dist/elements/dialog/index.d.ts +86 -0
- package/dist/elements/dialog/index.js +489 -0
- package/dist/elements/dialog/index.js.map +1 -0
- package/dist/elements/dialog/styles.css.d.ts +5 -0
- package/dist/elements/dialog/styles.css.js +108 -0
- package/dist/elements/dialog/styles.css.js.map +1 -0
- package/dist/elements/dialog-close/index.d.ts +35 -0
- package/dist/elements/dialog-close/index.js +72 -0
- package/dist/elements/dialog-close/index.js.map +1 -0
- package/dist/elements/drawer/effects.d.ts +5 -0
- package/dist/elements/drawer/effects.js +220 -0
- package/dist/elements/drawer/effects.js.map +1 -0
- package/dist/elements/drawer/index.d.ts +69 -0
- package/dist/elements/drawer/index.js +436 -0
- package/dist/elements/drawer/index.js.map +1 -0
- package/dist/elements/drawer/styles.css.d.ts +5 -0
- package/dist/elements/drawer/styles.css.js +99 -0
- package/dist/elements/drawer/styles.css.js.map +1 -0
- package/dist/elements/fab/index.d.ts +62 -0
- package/dist/elements/fab/index.js +250 -0
- package/dist/elements/fab/index.js.map +1 -0
- package/dist/elements/fab/styles.css.d.ts +5 -0
- package/dist/elements/fab/styles.css.js +142 -0
- package/dist/elements/fab/styles.css.js.map +1 -0
- package/dist/elements/field/index.d.ts +4 -0
- package/dist/elements/field/index.js +183 -0
- package/dist/elements/field/index.js.map +1 -0
- package/dist/elements/field/styles.css.d.ts +5 -0
- package/dist/elements/field/styles.css.js +54 -0
- package/dist/elements/field/styles.css.js.map +1 -0
- package/dist/elements/flipcard/index.d.ts +66 -0
- package/dist/elements/flipcard/index.js +232 -0
- package/dist/elements/flipcard/index.js.map +1 -0
- package/dist/elements/flipcard/styles.css.d.ts +5 -0
- package/dist/elements/flipcard/styles.css.js +98 -0
- package/dist/elements/flipcard/styles.css.js.map +1 -0
- package/dist/elements/flipcard-trigger/index.d.ts +32 -0
- package/dist/elements/flipcard-trigger/index.js +77 -0
- package/dist/elements/flipcard-trigger/index.js.map +1 -0
- package/dist/elements/icon/index.d.ts +60 -0
- package/dist/elements/icon/index.js +241 -0
- package/dist/elements/icon/index.js.map +1 -0
- package/dist/elements/icon/styles.css.d.ts +5 -0
- package/dist/elements/icon/styles.css.js +13 -0
- package/dist/elements/icon/styles.css.js.map +1 -0
- package/dist/elements/input/index.d.ts +4 -0
- package/dist/elements/input/index.js +684 -0
- package/dist/elements/input/index.js.map +1 -0
- package/dist/elements/input/styles.css.d.ts +5 -0
- package/dist/elements/input/styles.css.js +169 -0
- package/dist/elements/input/styles.css.js.map +1 -0
- package/dist/elements/input-combo/index.d.ts +118 -0
- package/dist/elements/input-combo/index.js +416 -0
- package/dist/elements/input-combo/index.js.map +1 -0
- package/dist/elements/input-combo/styles.css.d.ts +5 -0
- package/dist/elements/input-combo/styles.css.js +189 -0
- package/dist/elements/input-combo/styles.css.js.map +1 -0
- package/dist/elements/input-file/index.d.ts +59 -0
- package/dist/elements/input-file/index.js +438 -0
- package/dist/elements/input-file/index.js.map +1 -0
- package/dist/elements/input-file/loaders.css.d.ts +5 -0
- package/dist/elements/input-file/loaders.css.js +56 -0
- package/dist/elements/input-file/loaders.css.js.map +1 -0
- package/dist/elements/input-file/styles.css.d.ts +5 -0
- package/dist/elements/input-file/styles.css.js +55 -0
- package/dist/elements/input-file/styles.css.js.map +1 -0
- package/dist/elements/input-files/index.d.ts +76 -0
- package/dist/elements/input-files/index.js +449 -0
- package/dist/elements/input-files/index.js.map +1 -0
- package/dist/elements/input-files/styles.css.d.ts +5 -0
- package/dist/elements/input-files/styles.css.js +79 -0
- package/dist/elements/input-files/styles.css.js.map +1 -0
- package/dist/elements/input-otp/index.d.ts +59 -0
- package/dist/elements/input-otp/index.js +205 -0
- package/dist/elements/input-otp/index.js.map +1 -0
- package/dist/elements/input-otp/styles.css.d.ts +5 -0
- package/dist/elements/input-otp/styles.css.js +49 -0
- package/dist/elements/input-otp/styles.css.js.map +1 -0
- package/dist/elements/loader/index.d.ts +44 -0
- package/dist/elements/loader/index.js +582 -0
- package/dist/elements/loader/index.js.map +1 -0
- package/dist/elements/loader/styles.css.d.ts +5 -0
- package/dist/elements/loader/styles.css.js +427 -0
- package/dist/elements/loader/styles.css.js.map +1 -0
- package/dist/elements/password/index.d.ts +91 -0
- package/dist/elements/password/index.js +468 -0
- package/dist/elements/password/index.js.map +1 -0
- package/dist/elements/password/styles.css.d.ts +5 -0
- package/dist/elements/password/styles.css.js +86 -0
- package/dist/elements/password/styles.css.js.map +1 -0
- package/dist/elements/radio/index.d.ts +87 -0
- package/dist/elements/radio/index.js +222 -0
- package/dist/elements/radio/index.js.map +1 -0
- package/dist/elements/radio/styles.css.d.ts +5 -0
- package/dist/elements/radio/styles.css.js +69 -0
- package/dist/elements/radio/styles.css.js.map +1 -0
- package/dist/elements/radios/index.d.ts +62 -0
- package/dist/elements/radios/index.js +296 -0
- package/dist/elements/radios/index.js.map +1 -0
- package/dist/elements/radios/styles.css.d.ts +5 -0
- package/dist/elements/radios/styles.css.js +39 -0
- package/dist/elements/radios/styles.css.js.map +1 -0
- package/dist/elements/rotator/index.d.ts +59 -0
- package/dist/elements/rotator/index.js +223 -0
- package/dist/elements/rotator/index.js.map +1 -0
- package/dist/elements/rotator/styles.css.d.ts +5 -0
- package/dist/elements/rotator/styles.css.js +76 -0
- package/dist/elements/rotator/styles.css.js.map +1 -0
- package/dist/elements/select/index.d.ts +131 -0
- package/dist/elements/select/index.js +689 -0
- package/dist/elements/select/index.js.map +1 -0
- package/dist/elements/select/styles.css.d.ts +5 -0
- package/dist/elements/select/styles.css.js +133 -0
- package/dist/elements/select/styles.css.js.map +1 -0
- package/dist/elements/select-option/index.d.ts +30 -0
- package/dist/elements/select-option/index.js +38 -0
- package/dist/elements/select-option/index.js.map +1 -0
- package/dist/elements/sortable/index.d.ts +45 -0
- package/dist/elements/sortable/index.js +126 -0
- package/dist/elements/sortable/index.js.map +1 -0
- package/dist/elements/sortable/styles.css.d.ts +5 -0
- package/dist/elements/sortable/styles.css.js +12 -0
- package/dist/elements/sortable/styles.css.js.map +1 -0
- package/dist/elements/sortable-item/index.d.ts +33 -0
- package/dist/elements/sortable-item/index.js +75 -0
- package/dist/elements/sortable-item/index.js.map +1 -0
- package/dist/elements/sortable-item/styles.css.d.ts +5 -0
- package/dist/elements/sortable-item/styles.css.js +18 -0
- package/dist/elements/sortable-item/styles.css.js.map +1 -0
- package/dist/elements/tab/index.d.ts +50 -0
- package/dist/elements/tab/index.js +337 -0
- package/dist/elements/tab/index.js.map +1 -0
- package/dist/elements/tab/styles.css.d.ts +5 -0
- package/dist/elements/tab/styles.css.js +28 -0
- package/dist/elements/tab/styles.css.js.map +1 -0
- package/dist/elements/tab-panel/index.d.ts +41 -0
- package/dist/elements/tab-panel/index.js +130 -0
- package/dist/elements/tab-panel/index.js.map +1 -0
- package/dist/elements/tab-panel/styles.css.d.ts +5 -0
- package/dist/elements/tab-panel/styles.css.js +54 -0
- package/dist/elements/tab-panel/styles.css.js.map +1 -0
- package/dist/elements/tabs/index.d.ts +132 -0
- package/dist/elements/tabs/index.js +930 -0
- package/dist/elements/tabs/index.js.map +1 -0
- package/dist/elements/tabs/styles.css.d.ts +5 -0
- package/dist/elements/tabs/styles.css.js +206 -0
- package/dist/elements/tabs/styles.css.js.map +1 -0
- package/dist/elements/textarea/index.d.ts +4 -0
- package/dist/elements/textarea/index.js +497 -0
- package/dist/elements/textarea/index.js.map +1 -0
- package/dist/elements/textarea/styles.css.d.ts +5 -0
- package/dist/elements/textarea/styles.css.js +123 -0
- package/dist/elements/textarea/styles.css.js.map +1 -0
- package/dist/elements/timer/index.d.ts +54 -0
- package/dist/elements/timer/index.js +141 -0
- package/dist/elements/timer/index.js.map +1 -0
- package/dist/elements/timer/styles.css.d.ts +5 -0
- package/dist/elements/timer/styles.css.js +10 -0
- package/dist/elements/timer/styles.css.js.map +1 -0
- package/dist/elements/timer-display/index.d.ts +38 -0
- package/dist/elements/timer-display/index.js +216 -0
- package/dist/elements/timer-display/index.js.map +1 -0
- package/dist/elements/timer-display/styles.css.d.ts +5 -0
- package/dist/elements/timer-display/styles.css.js +10 -0
- package/dist/elements/timer-display/styles.css.js.map +1 -0
- package/dist/elements/toggle/index.d.ts +73 -0
- package/dist/elements/toggle/index.js +318 -0
- package/dist/elements/toggle/index.js.map +1 -0
- package/dist/elements/toggle/styles.css.d.ts +5 -0
- package/dist/elements/toggle/styles.css.js +93 -0
- package/dist/elements/toggle/styles.css.js.map +1 -0
- package/dist/elements/tracker/index.d.ts +4 -0
- package/dist/elements/tracker/index.js +96 -0
- package/dist/elements/tracker/index.js.map +1 -0
- package/dist/elements/tracker/styles.css.d.ts +5 -0
- package/dist/elements/tracker/styles.css.js +13 -0
- package/dist/elements/tracker/styles.css.js.map +1 -0
- package/dist/elements/tracker-step/index.d.ts +4 -0
- package/dist/elements/tracker-step/index.js +460 -0
- package/dist/elements/tracker-step/index.js.map +1 -0
- package/dist/elements/tracker-step/styles.css.d.ts +5 -0
- package/dist/elements/tracker-step/styles.css.js +125 -0
- package/dist/elements/tracker-step/styles.css.js.map +1 -0
- package/dist/elements/typewriter/index.d.ts +48 -0
- package/dist/elements/typewriter/index.js +124 -0
- package/dist/elements/typewriter/index.js.map +1 -0
- package/dist/form-controller-3q581XcZ.d.ts +23 -0
- package/dist/index-h1DTXXCf.d.ts +108 -0
- package/dist/styles/article.css +73 -0
- package/dist/styles/borders.css +1537 -0
- package/dist/styles/breakpoints.css +3 -0
- package/dist/styles/button.css +242 -0
- package/dist/styles/colors.css +2329 -0
- package/dist/styles/elevation.css +41 -0
- package/dist/styles/native/button.css +228 -0
- package/dist/styles/native/button.css.map +1 -0
- package/dist/styles/native.css +228 -0
- package/dist/styles/native.css.map +1 -0
- package/dist/styles/shared/breakpoints.css +3 -0
- package/dist/styles/shared/breakpoints.css.map +1 -0
- package/dist/styles/shared/colors.css +3 -0
- package/dist/styles/shared/colors.css.map +1 -0
- package/dist/styles/spacing.css +2654 -0
- package/dist/styles/text.css +333 -0
- package/dist/styles/tokens.css +400 -0
- package/dist/styles/tokens.css.map +1 -0
- package/dist/styles/utilities/article.css +66 -0
- package/dist/styles/utilities/article.css.map +1 -0
- package/dist/styles/utilities/borders.css +1537 -0
- package/dist/styles/utilities/borders.css.map +1 -0
- package/dist/styles/utilities/colors.css +2329 -0
- package/dist/styles/utilities/colors.css.map +1 -0
- package/dist/styles/utilities/elevation.css +33 -0
- package/dist/styles/utilities/elevation.css.map +1 -0
- package/dist/styles/utilities/spacing.css +2654 -0
- package/dist/styles/utilities/spacing.css.map +1 -0
- package/dist/styles/utilities/text.css +333 -0
- package/dist/styles/utilities/text.css.map +1 -0
- package/dist/styles/utilities/visibility.css +167 -0
- package/dist/styles/utilities/visibility.css.map +1 -0
- package/dist/styles/utilities.css +7110 -0
- package/dist/styles/utilities.css.map +1 -0
- package/dist/styles/visibility.css +167 -0
- package/dist/wrappers/react.d.ts +70 -151
- package/dist/wrappers/react.js +6644 -7670
- package/dist/wrappers/react.js.map +1 -1
- package/package.json +229 -68
- package/types/global.d.ts +8 -2
- package/types/jsx.d.ts +22 -44
- package/types/solid.d.ts +24 -44
- package/types/typewriter-effect.d.ts +18 -0
- package/types/vite-env.d.ts +4 -0
- package/dist/chunk-32DYCJ46.mjs +0 -53
- package/dist/chunk-32DYCJ46.mjs.map +0 -1
- package/dist/chunk-42U43NKG.mjs +0 -1
- package/dist/chunk-42U43NKG.mjs.map +0 -1
- package/dist/chunk-4B5LWYUI.mjs +0 -39
- package/dist/chunk-4B5LWYUI.mjs.map +0 -1
- package/dist/chunk-4IBCDLVD.mjs +0 -406
- package/dist/chunk-4IBCDLVD.mjs.map +0 -1
- package/dist/chunk-4PCL2QJV.mjs +0 -205
- package/dist/chunk-4PCL2QJV.mjs.map +0 -1
- package/dist/chunk-5CL7F5XK.mjs +0 -68
- package/dist/chunk-5CL7F5XK.mjs.map +0 -1
- package/dist/chunk-5LCSEF3N.mjs +0 -282
- package/dist/chunk-5LCSEF3N.mjs.map +0 -1
- package/dist/chunk-5WUBMMWS.mjs +0 -28
- package/dist/chunk-5WUBMMWS.mjs.map +0 -1
- package/dist/chunk-6KGFENNL.mjs +0 -74
- package/dist/chunk-6KGFENNL.mjs.map +0 -1
- package/dist/chunk-6T73EOKO.mjs +0 -138
- package/dist/chunk-6T73EOKO.mjs.map +0 -1
- package/dist/chunk-6VG2IYDS.mjs +0 -133
- package/dist/chunk-6VG2IYDS.mjs.map +0 -1
- package/dist/chunk-7DJKARFX.mjs +0 -132
- package/dist/chunk-7DJKARFX.mjs.map +0 -1
- package/dist/chunk-7S4TQDFJ.mjs +0 -270
- package/dist/chunk-7S4TQDFJ.mjs.map +0 -1
- package/dist/chunk-7SD6A3KE.mjs +0 -45
- package/dist/chunk-7SD6A3KE.mjs.map +0 -1
- package/dist/chunk-AEMR7XYR.mjs +0 -219
- package/dist/chunk-AEMR7XYR.mjs.map +0 -1
- package/dist/chunk-AEOXLPN2.mjs +0 -198
- package/dist/chunk-AEOXLPN2.mjs.map +0 -1
- package/dist/chunk-AF3CJRDB.mjs +0 -60
- package/dist/chunk-AF3CJRDB.mjs.map +0 -1
- package/dist/chunk-AMTRXWZ7.mjs +0 -41
- package/dist/chunk-AMTRXWZ7.mjs.map +0 -1
- package/dist/chunk-ARM72B3S.mjs +0 -65
- package/dist/chunk-ARM72B3S.mjs.map +0 -1
- package/dist/chunk-ASA4GA5J.mjs +0 -84
- package/dist/chunk-ASA4GA5J.mjs.map +0 -1
- package/dist/chunk-BEBUXXOW.mjs +0 -241
- package/dist/chunk-BEBUXXOW.mjs.map +0 -1
- package/dist/chunk-BJ5CZRKZ.mjs +0 -90
- package/dist/chunk-BJ5CZRKZ.mjs.map +0 -1
- package/dist/chunk-CIZYNSL7.mjs +0 -39
- package/dist/chunk-CIZYNSL7.mjs.map +0 -1
- package/dist/chunk-CK7STPSD.mjs +0 -18
- package/dist/chunk-CK7STPSD.mjs.map +0 -1
- package/dist/chunk-CKCJX7GP.mjs +0 -265
- package/dist/chunk-CKCJX7GP.mjs.map +0 -1
- package/dist/chunk-CUZ6G5AK.mjs +0 -330
- package/dist/chunk-CUZ6G5AK.mjs.map +0 -1
- package/dist/chunk-CXKQSEE4.mjs +0 -109
- package/dist/chunk-CXKQSEE4.mjs.map +0 -1
- package/dist/chunk-DPI6H4CJ.mjs +0 -53
- package/dist/chunk-DPI6H4CJ.mjs.map +0 -1
- package/dist/chunk-DXRTO6DV.mjs +0 -135
- package/dist/chunk-DXRTO6DV.mjs.map +0 -1
- package/dist/chunk-ETLBNDW5.mjs +0 -563
- package/dist/chunk-ETLBNDW5.mjs.map +0 -1
- package/dist/chunk-F74NYUH5.mjs +0 -90
- package/dist/chunk-F74NYUH5.mjs.map +0 -1
- package/dist/chunk-FIFFC63Y.mjs +0 -346
- package/dist/chunk-FIFFC63Y.mjs.map +0 -1
- package/dist/chunk-G5OGR6EP.mjs +0 -101
- package/dist/chunk-G5OGR6EP.mjs.map +0 -1
- package/dist/chunk-GD6K7M4N.mjs +0 -144
- package/dist/chunk-GD6K7M4N.mjs.map +0 -1
- package/dist/chunk-GPBOM3MJ.mjs +0 -118
- package/dist/chunk-GPBOM3MJ.mjs.map +0 -1
- package/dist/chunk-H4D2CASA.mjs +0 -48
- package/dist/chunk-H4D2CASA.mjs.map +0 -1
- package/dist/chunk-HEJAQQFO.mjs +0 -140
- package/dist/chunk-HEJAQQFO.mjs.map +0 -1
- package/dist/chunk-IVO3EKSY.mjs +0 -126
- package/dist/chunk-IVO3EKSY.mjs.map +0 -1
- package/dist/chunk-JA5Z4MY5.mjs +0 -39
- package/dist/chunk-JA5Z4MY5.mjs.map +0 -1
- package/dist/chunk-JBDFJW7Y.mjs +0 -50
- package/dist/chunk-JBDFJW7Y.mjs.map +0 -1
- package/dist/chunk-JI5MHBCW.mjs +0 -478
- package/dist/chunk-JI5MHBCW.mjs.map +0 -1
- package/dist/chunk-JXKIXKVM.mjs +0 -116
- package/dist/chunk-JXKIXKVM.mjs.map +0 -1
- package/dist/chunk-L5NNYTOF.mjs +0 -183
- package/dist/chunk-L5NNYTOF.mjs.map +0 -1
- package/dist/chunk-LHEY3UOF.mjs +0 -11
- package/dist/chunk-LHEY3UOF.mjs.map +0 -1
- package/dist/chunk-LKIDBCVS.mjs +0 -574
- package/dist/chunk-LKIDBCVS.mjs.map +0 -1
- package/dist/chunk-MJLS4VOS.mjs +0 -36
- package/dist/chunk-MJLS4VOS.mjs.map +0 -1
- package/dist/chunk-MZO4Q7DU.mjs +0 -88
- package/dist/chunk-MZO4Q7DU.mjs.map +0 -1
- package/dist/chunk-NFIR3QAK.mjs +0 -287
- package/dist/chunk-NFIR3QAK.mjs.map +0 -1
- package/dist/chunk-NY2FTW7A.mjs +0 -24
- package/dist/chunk-NY2FTW7A.mjs.map +0 -1
- package/dist/chunk-OIGUEDIP.mjs +0 -91
- package/dist/chunk-OIGUEDIP.mjs.map +0 -1
- package/dist/chunk-OLDBGAR2.mjs +0 -66
- package/dist/chunk-OLDBGAR2.mjs.map +0 -1
- package/dist/chunk-OURZELWQ.mjs +0 -207
- package/dist/chunk-OURZELWQ.mjs.map +0 -1
- package/dist/chunk-P7GREIMJ.mjs +0 -93
- package/dist/chunk-P7GREIMJ.mjs.map +0 -1
- package/dist/chunk-PWWLC4X4.mjs +0 -185
- package/dist/chunk-PWWLC4X4.mjs.map +0 -1
- package/dist/chunk-Q3TV6JZX.mjs +0 -162
- package/dist/chunk-Q3TV6JZX.mjs.map +0 -1
- package/dist/chunk-QCMF4CCI.mjs +0 -197
- package/dist/chunk-QCMF4CCI.mjs.map +0 -1
- package/dist/chunk-QTA3KC7Q.mjs +0 -53
- package/dist/chunk-QTA3KC7Q.mjs.map +0 -1
- package/dist/chunk-RN4YODB5.mjs +0 -30
- package/dist/chunk-RN4YODB5.mjs.map +0 -1
- package/dist/chunk-SAWN7RJP.mjs +0 -15
- package/dist/chunk-SAWN7RJP.mjs.map +0 -1
- package/dist/chunk-SG6N234R.mjs +0 -53
- package/dist/chunk-SG6N234R.mjs.map +0 -1
- package/dist/chunk-T6PYRK57.mjs +0 -465
- package/dist/chunk-T6PYRK57.mjs.map +0 -1
- package/dist/chunk-T7FJ76DU.mjs +0 -85
- package/dist/chunk-T7FJ76DU.mjs.map +0 -1
- package/dist/chunk-TFESUHTA.mjs +0 -48
- package/dist/chunk-TFESUHTA.mjs.map +0 -1
- package/dist/chunk-U4JLLOLD.mjs +0 -112
- package/dist/chunk-U4JLLOLD.mjs.map +0 -1
- package/dist/chunk-VDX3OED3.mjs +0 -102
- package/dist/chunk-VDX3OED3.mjs.map +0 -1
- package/dist/chunk-VHOXQRZV.mjs +0 -450
- package/dist/chunk-VHOXQRZV.mjs.map +0 -1
- package/dist/chunk-WS2CRWKG.mjs +0 -158
- package/dist/chunk-WS2CRWKG.mjs.map +0 -1
- package/dist/chunk-YDPU6LZP.mjs +0 -47
- package/dist/chunk-YDPU6LZP.mjs.map +0 -1
- package/dist/chunk-YP7UN6IN.mjs +0 -119
- package/dist/chunk-YP7UN6IN.mjs.map +0 -1
- package/dist/chunk-YVOM5EV3.mjs +0 -49
- package/dist/chunk-YVOM5EV3.mjs.map +0 -1
- package/dist/chunk-ZBQXY2YN.mjs +0 -88
- package/dist/chunk-ZBQXY2YN.mjs.map +0 -1
- package/dist/constants-BEtO8uLN.d.mts +0 -525
- package/dist/constants-CcB9aXsT.d.ts +0 -525
- package/dist/elements/accordion-panel.d.mts +0 -55
- package/dist/elements/accordion-panel.d.ts +0 -55
- package/dist/elements/accordion-panel.js +0 -188
- package/dist/elements/accordion-panel.js.map +0 -1
- package/dist/elements/accordion-panel.mjs +0 -10
- package/dist/elements/accordion-panel.mjs.map +0 -1
- package/dist/elements/accordion.d.mts +0 -53
- package/dist/elements/accordion.d.ts +0 -53
- package/dist/elements/accordion.js +0 -209
- package/dist/elements/accordion.js.map +0 -1
- package/dist/elements/accordion.mjs +0 -9
- package/dist/elements/accordion.mjs.map +0 -1
- package/dist/elements/alert.d.mts +0 -75
- package/dist/elements/alert.d.ts +0 -75
- package/dist/elements/alert.js +0 -302
- package/dist/elements/alert.js.map +0 -1
- package/dist/elements/alert.mjs +0 -14
- package/dist/elements/alert.mjs.map +0 -1
- package/dist/elements/avatar.d.mts +0 -49
- package/dist/elements/avatar.d.ts +0 -49
- package/dist/elements/avatar.js +0 -161
- package/dist/elements/avatar.js.map +0 -1
- package/dist/elements/avatar.mjs +0 -9
- package/dist/elements/avatar.mjs.map +0 -1
- package/dist/elements/avatars.d.mts +0 -25
- package/dist/elements/avatars.d.ts +0 -25
- package/dist/elements/avatars.js +0 -125
- package/dist/elements/avatars.js.map +0 -1
- package/dist/elements/avatars.mjs +0 -9
- package/dist/elements/avatars.mjs.map +0 -1
- package/dist/elements/badge.d.mts +0 -41
- package/dist/elements/badge.d.ts +0 -41
- package/dist/elements/badge.js +0 -185
- package/dist/elements/badge.js.map +0 -1
- package/dist/elements/badge.mjs +0 -9
- package/dist/elements/badge.mjs.map +0 -1
- package/dist/elements/button.d.mts +0 -124
- package/dist/elements/button.d.ts +0 -124
- package/dist/elements/button.js +0 -414
- package/dist/elements/button.js.map +0 -1
- package/dist/elements/button.mjs +0 -21
- package/dist/elements/button.mjs.map +0 -1
- package/dist/elements/card.d.mts +0 -52
- package/dist/elements/card.d.ts +0 -52
- package/dist/elements/card.js +0 -139
- package/dist/elements/card.js.map +0 -1
- package/dist/elements/card.mjs +0 -8
- package/dist/elements/card.mjs.map +0 -1
- package/dist/elements/carousel-current.d.mts +0 -33
- package/dist/elements/carousel-current.d.ts +0 -33
- package/dist/elements/carousel-current.js +0 -62
- package/dist/elements/carousel-current.js.map +0 -1
- package/dist/elements/carousel-current.mjs +0 -8
- package/dist/elements/carousel-current.mjs.map +0 -1
- package/dist/elements/carousel-first.d.mts +0 -31
- package/dist/elements/carousel-first.d.ts +0 -31
- package/dist/elements/carousel-first.js +0 -82
- package/dist/elements/carousel-first.js.map +0 -1
- package/dist/elements/carousel-first.mjs +0 -9
- package/dist/elements/carousel-first.mjs.map +0 -1
- package/dist/elements/carousel-last.d.mts +0 -31
- package/dist/elements/carousel-last.d.ts +0 -31
- package/dist/elements/carousel-last.js +0 -82
- package/dist/elements/carousel-last.js.map +0 -1
- package/dist/elements/carousel-last.mjs +0 -9
- package/dist/elements/carousel-last.mjs.map +0 -1
- package/dist/elements/carousel-link.d.mts +0 -37
- package/dist/elements/carousel-link.d.ts +0 -37
- package/dist/elements/carousel-link.js +0 -95
- package/dist/elements/carousel-link.js.map +0 -1
- package/dist/elements/carousel-link.mjs +0 -9
- package/dist/elements/carousel-link.mjs.map +0 -1
- package/dist/elements/carousel-next.d.mts +0 -31
- package/dist/elements/carousel-next.d.ts +0 -31
- package/dist/elements/carousel-next.js +0 -82
- package/dist/elements/carousel-next.js.map +0 -1
- package/dist/elements/carousel-next.mjs +0 -9
- package/dist/elements/carousel-next.mjs.map +0 -1
- package/dist/elements/carousel-prev.d.mts +0 -31
- package/dist/elements/carousel-prev.d.ts +0 -31
- package/dist/elements/carousel-prev.js +0 -82
- package/dist/elements/carousel-prev.js.map +0 -1
- package/dist/elements/carousel-prev.mjs +0 -9
- package/dist/elements/carousel-prev.mjs.map +0 -1
- package/dist/elements/carousel-slide.d.mts +0 -34
- package/dist/elements/carousel-slide.d.ts +0 -34
- package/dist/elements/carousel-slide.js +0 -72
- package/dist/elements/carousel-slide.js.map +0 -1
- package/dist/elements/carousel-slide.mjs +0 -8
- package/dist/elements/carousel-slide.mjs.map +0 -1
- package/dist/elements/carousel-total.d.mts +0 -33
- package/dist/elements/carousel-total.d.ts +0 -33
- package/dist/elements/carousel-total.js +0 -62
- package/dist/elements/carousel-total.js.map +0 -1
- package/dist/elements/carousel-total.mjs +0 -8
- package/dist/elements/carousel-total.mjs.map +0 -1
- package/dist/elements/carousel.d.mts +0 -123
- package/dist/elements/carousel.d.ts +0 -123
- package/dist/elements/carousel.js +0 -472
- package/dist/elements/carousel.js.map +0 -1
- package/dist/elements/carousel.mjs +0 -9
- package/dist/elements/carousel.mjs.map +0 -1
- package/dist/elements/checkbox.d.mts +0 -83
- package/dist/elements/checkbox.d.ts +0 -83
- package/dist/elements/checkbox.js +0 -387
- package/dist/elements/checkbox.js.map +0 -1
- package/dist/elements/checkbox.mjs +0 -11
- package/dist/elements/checkbox.mjs.map +0 -1
- package/dist/elements/combo.d.mts +0 -4
- package/dist/elements/combo.d.ts +0 -4
- package/dist/elements/combo.js +0 -232
- package/dist/elements/combo.js.map +0 -1
- package/dist/elements/combo.mjs +0 -9
- package/dist/elements/combo.mjs.map +0 -1
- package/dist/elements/count.d.mts +0 -4
- package/dist/elements/count.d.ts +0 -4
- package/dist/elements/count.js +0 -117
- package/dist/elements/count.js.map +0 -1
- package/dist/elements/count.mjs +0 -10
- package/dist/elements/count.mjs.map +0 -1
- package/dist/elements/draggable.d.mts +0 -54
- package/dist/elements/draggable.d.ts +0 -54
- package/dist/elements/draggable.js +0 -157
- package/dist/elements/draggable.js.map +0 -1
- package/dist/elements/draggable.mjs +0 -9
- package/dist/elements/draggable.mjs.map +0 -1
- package/dist/elements/drawer.d.mts +0 -62
- package/dist/elements/drawer.d.ts +0 -62
- package/dist/elements/drawer.js +0 -438
- package/dist/elements/drawer.js.map +0 -1
- package/dist/elements/drawer.mjs +0 -14
- package/dist/elements/drawer.mjs.map +0 -1
- package/dist/elements/fab.d.mts +0 -54
- package/dist/elements/fab.d.ts +0 -54
- package/dist/elements/fab.js +0 -206
- package/dist/elements/fab.js.map +0 -1
- package/dist/elements/fab.mjs +0 -8
- package/dist/elements/fab.mjs.map +0 -1
- package/dist/elements/field.d.mts +0 -4
- package/dist/elements/field.d.ts +0 -4
- package/dist/elements/field.js +0 -181
- package/dist/elements/field.js.map +0 -1
- package/dist/elements/field.mjs +0 -9
- package/dist/elements/field.mjs.map +0 -1
- package/dist/elements/flipcard-trigger.d.mts +0 -26
- package/dist/elements/flipcard-trigger.d.ts +0 -26
- package/dist/elements/flipcard-trigger.js +0 -70
- package/dist/elements/flipcard-trigger.js.map +0 -1
- package/dist/elements/flipcard-trigger.mjs +0 -9
- package/dist/elements/flipcard-trigger.mjs.map +0 -1
- package/dist/elements/flipcard.d.mts +0 -57
- package/dist/elements/flipcard.d.ts +0 -57
- package/dist/elements/flipcard.js +0 -225
- package/dist/elements/flipcard.js.map +0 -1
- package/dist/elements/flipcard.mjs +0 -8
- package/dist/elements/flipcard.mjs.map +0 -1
- package/dist/elements/icon-bootstrap.d.mts +0 -21
- package/dist/elements/icon-bootstrap.d.ts +0 -21
- package/dist/elements/icon-bootstrap.js +0 -155
- package/dist/elements/icon-bootstrap.js.map +0 -1
- package/dist/elements/icon-bootstrap.mjs +0 -8
- package/dist/elements/icon-bootstrap.mjs.map +0 -1
- package/dist/elements/icon-lucide.d.mts +0 -29
- package/dist/elements/icon-lucide.d.ts +0 -29
- package/dist/elements/icon-lucide.js +0 -113
- package/dist/elements/icon-lucide.js.map +0 -1
- package/dist/elements/icon-lucide.mjs +0 -8
- package/dist/elements/icon-lucide.mjs.map +0 -1
- package/dist/elements/input.d.mts +0 -4
- package/dist/elements/input.d.ts +0 -4
- package/dist/elements/input.js +0 -696
- package/dist/elements/input.js.map +0 -1
- package/dist/elements/input.mjs +0 -27
- package/dist/elements/input.mjs.map +0 -1
- package/dist/elements/modal-close.d.mts +0 -26
- package/dist/elements/modal-close.d.ts +0 -26
- package/dist/elements/modal-close.js +0 -68
- package/dist/elements/modal-close.js.map +0 -1
- package/dist/elements/modal-close.mjs +0 -9
- package/dist/elements/modal-close.mjs.map +0 -1
- package/dist/elements/modal.d.mts +0 -84
- package/dist/elements/modal.d.ts +0 -84
- package/dist/elements/modal.js +0 -492
- package/dist/elements/modal.js.map +0 -1
- package/dist/elements/modal.mjs +0 -13
- package/dist/elements/modal.mjs.map +0 -1
- package/dist/elements/multi-input.d.mts +0 -124
- package/dist/elements/multi-input.d.ts +0 -124
- package/dist/elements/multi-input.js +0 -368
- package/dist/elements/multi-input.js.map +0 -1
- package/dist/elements/multi-input.mjs +0 -10
- package/dist/elements/multi-input.mjs.map +0 -1
- package/dist/elements/option.d.mts +0 -30
- package/dist/elements/option.d.ts +0 -30
- package/dist/elements/option.js +0 -59
- package/dist/elements/option.js.map +0 -1
- package/dist/elements/option.mjs +0 -8
- package/dist/elements/option.mjs.map +0 -1
- package/dist/elements/password.d.mts +0 -90
- package/dist/elements/password.d.ts +0 -90
- package/dist/elements/password.js +0 -392
- package/dist/elements/password.js.map +0 -1
- package/dist/elements/password.mjs +0 -11
- package/dist/elements/password.mjs.map +0 -1
- package/dist/elements/popper-close.d.mts +0 -27
- package/dist/elements/popper-close.d.ts +0 -27
- package/dist/elements/popper-close.js +0 -76
- package/dist/elements/popper-close.js.map +0 -1
- package/dist/elements/popper-close.mjs +0 -9
- package/dist/elements/popper-close.mjs.map +0 -1
- package/dist/elements/popper.d.mts +0 -120
- package/dist/elements/popper.d.ts +0 -120
- package/dist/elements/popper.js +0 -597
- package/dist/elements/popper.js.map +0 -1
- package/dist/elements/popper.mjs +0 -25
- package/dist/elements/popper.mjs.map +0 -1
- package/dist/elements/radio.d.mts +0 -80
- package/dist/elements/radio.d.ts +0 -80
- package/dist/elements/radio.js +0 -265
- package/dist/elements/radio.js.map +0 -1
- package/dist/elements/radio.mjs +0 -10
- package/dist/elements/radio.mjs.map +0 -1
- package/dist/elements/radios.d.mts +0 -55
- package/dist/elements/radios.d.ts +0 -55
- package/dist/elements/radios.js +0 -372
- package/dist/elements/radios.js.map +0 -1
- package/dist/elements/radios.mjs +0 -12
- package/dist/elements/radios.mjs.map +0 -1
- package/dist/elements/rotator.d.mts +0 -56
- package/dist/elements/rotator.d.ts +0 -56
- package/dist/elements/rotator.js +0 -226
- package/dist/elements/rotator.js.map +0 -1
- package/dist/elements/rotator.mjs +0 -12
- package/dist/elements/rotator.mjs.map +0 -1
- package/dist/elements/scroll-nav.d.mts +0 -44
- package/dist/elements/scroll-nav.d.ts +0 -44
- package/dist/elements/scroll-nav.js +0 -121
- package/dist/elements/scroll-nav.js.map +0 -1
- package/dist/elements/scroll-nav.mjs +0 -12
- package/dist/elements/scroll-nav.mjs.map +0 -1
- package/dist/elements/scroll-snap-paginator.d.mts +0 -50
- package/dist/elements/scroll-snap-paginator.d.ts +0 -50
- package/dist/elements/scroll-snap-paginator.js +0 -342
- package/dist/elements/scroll-snap-paginator.js.map +0 -1
- package/dist/elements/scroll-snap-paginator.mjs +0 -11
- package/dist/elements/scroll-snap-paginator.mjs.map +0 -1
- package/dist/elements/scroll-snap-slide.d.mts +0 -35
- package/dist/elements/scroll-snap-slide.d.ts +0 -35
- package/dist/elements/scroll-snap-slide.js +0 -68
- package/dist/elements/scroll-snap-slide.js.map +0 -1
- package/dist/elements/scroll-snap-slide.mjs +0 -8
- package/dist/elements/scroll-snap-slide.mjs.map +0 -1
- package/dist/elements/scroll-snap.d.mts +0 -53
- package/dist/elements/scroll-snap.d.ts +0 -53
- package/dist/elements/scroll-snap.js +0 -210
- package/dist/elements/scroll-snap.js.map +0 -1
- package/dist/elements/scroll-snap.mjs +0 -11
- package/dist/elements/scroll-snap.mjs.map +0 -1
- package/dist/elements/select.d.mts +0 -124
- package/dist/elements/select.d.ts +0 -124
- package/dist/elements/select.js +0 -576
- package/dist/elements/select.js.map +0 -1
- package/dist/elements/select.mjs +0 -12
- package/dist/elements/select.mjs.map +0 -1
- package/dist/elements/sortable-item.d.mts +0 -26
- package/dist/elements/sortable-item.d.ts +0 -26
- package/dist/elements/sortable-item.js +0 -75
- package/dist/elements/sortable-item.js.map +0 -1
- package/dist/elements/sortable-item.mjs +0 -9
- package/dist/elements/sortable-item.mjs.map +0 -1
- package/dist/elements/sortable.d.mts +0 -37
- package/dist/elements/sortable.d.ts +0 -37
- package/dist/elements/sortable.js +0 -139
- package/dist/elements/sortable.js.map +0 -1
- package/dist/elements/sortable.mjs +0 -10
- package/dist/elements/sortable.mjs.map +0 -1
- package/dist/elements/svg.d.mts +0 -43
- package/dist/elements/svg.d.ts +0 -43
- package/dist/elements/svg.js +0 -108
- package/dist/elements/svg.js.map +0 -1
- package/dist/elements/svg.mjs +0 -8
- package/dist/elements/svg.mjs.map +0 -1
- package/dist/elements/svgs.d.mts +0 -32
- package/dist/elements/svgs.d.ts +0 -32
- package/dist/elements/svgs.js +0 -71
- package/dist/elements/svgs.js.map +0 -1
- package/dist/elements/svgs.mjs +0 -8
- package/dist/elements/svgs.mjs.map +0 -1
- package/dist/elements/tab-panel.d.mts +0 -33
- package/dist/elements/tab-panel.d.ts +0 -33
- package/dist/elements/tab-panel.js +0 -348
- package/dist/elements/tab-panel.js.map +0 -1
- package/dist/elements/tab-panel.mjs +0 -9
- package/dist/elements/tab-panel.mjs.map +0 -1
- package/dist/elements/tab.d.mts +0 -43
- package/dist/elements/tab.d.ts +0 -43
- package/dist/elements/tab.js +0 -500
- package/dist/elements/tab.js.map +0 -1
- package/dist/elements/tab.mjs +0 -11
- package/dist/elements/tab.mjs.map +0 -1
- package/dist/elements/tabs.d.mts +0 -128
- package/dist/elements/tabs.d.ts +0 -128
- package/dist/elements/tabs.js +0 -906
- package/dist/elements/tabs.js.map +0 -1
- package/dist/elements/tabs.mjs +0 -20
- package/dist/elements/tabs.mjs.map +0 -1
- package/dist/elements/textarea.d.mts +0 -4
- package/dist/elements/textarea.d.ts +0 -4
- package/dist/elements/textarea.js +0 -482
- package/dist/elements/textarea.js.map +0 -1
- package/dist/elements/textarea.mjs +0 -364
- package/dist/elements/textarea.mjs.map +0 -1
- package/dist/elements/timer-display.d.mts +0 -30
- package/dist/elements/timer-display.d.ts +0 -30
- package/dist/elements/timer-display.js +0 -103
- package/dist/elements/timer-display.js.map +0 -1
- package/dist/elements/timer-display.mjs +0 -9
- package/dist/elements/timer-display.mjs.map +0 -1
- package/dist/elements/timer.d.mts +0 -49
- package/dist/elements/timer.d.ts +0 -49
- package/dist/elements/timer.js +0 -156
- package/dist/elements/timer.js.map +0 -1
- package/dist/elements/timer.mjs +0 -14
- package/dist/elements/timer.mjs.map +0 -1
- package/dist/elements/toggle.d.mts +0 -65
- package/dist/elements/toggle.d.ts +0 -65
- package/dist/elements/toggle.js +0 -319
- package/dist/elements/toggle.js.map +0 -1
- package/dist/elements/toggle.mjs +0 -10
- package/dist/elements/toggle.mjs.map +0 -1
- package/dist/elements/tooltip.d.mts +0 -38
- package/dist/elements/tooltip.d.ts +0 -38
- package/dist/elements/tooltip.js +0 -654
- package/dist/elements/tooltip.js.map +0 -1
- package/dist/elements/tooltip.mjs +0 -10
- package/dist/elements/tooltip.mjs.map +0 -1
- package/dist/elements/tracker-step.d.mts +0 -3
- package/dist/elements/tracker-step.d.ts +0 -3
- package/dist/elements/tracker-step.js +0 -366
- package/dist/elements/tracker-step.js.map +0 -1
- package/dist/elements/tracker-step.mjs +0 -9
- package/dist/elements/tracker-step.mjs.map +0 -1
- package/dist/elements/tracker.d.mts +0 -3
- package/dist/elements/tracker.d.ts +0 -3
- package/dist/elements/tracker.js +0 -88
- package/dist/elements/tracker.js.map +0 -1
- package/dist/elements/tracker.mjs +0 -8
- package/dist/elements/tracker.mjs.map +0 -1
- package/dist/elements/upload-file.d.mts +0 -51
- package/dist/elements/upload-file.d.ts +0 -51
- package/dist/elements/upload-file.js +0 -415
- package/dist/elements/upload-file.js.map +0 -1
- package/dist/elements/upload-file.mjs +0 -10
- package/dist/elements/upload-file.mjs.map +0 -1
- package/dist/elements/upload.d.mts +0 -69
- package/dist/elements/upload.d.ts +0 -69
- package/dist/elements/upload.js +0 -464
- package/dist/elements/upload.js.map +0 -1
- package/dist/elements/upload.mjs +0 -11
- package/dist/elements/upload.mjs.map +0 -1
- package/dist/form-controller-BR0gZhrG.d.mts +0 -13
- package/dist/form-controller-BR0gZhrG.d.ts +0 -13
- package/dist/styles/core/attributes.scss +0 -38
- package/dist/styles/core/layout.scss +0 -169
- package/dist/styles/elements/accordion.ts +0 -43
- package/dist/styles/elements/alert.ts +0 -156
- package/dist/styles/elements/avatar.ts +0 -79
- package/dist/styles/elements/badge.ts +0 -92
- package/dist/styles/elements/button.ts +0 -112
- package/dist/styles/elements/card.ts +0 -78
- package/dist/styles/elements/carousel.ts +0 -82
- package/dist/styles/elements/checkbox.ts +0 -90
- package/dist/styles/elements/combo.ts +0 -56
- package/dist/styles/elements/drawer.ts +0 -323
- package/dist/styles/elements/fab.ts +0 -104
- package/dist/styles/elements/field.ts +0 -49
- package/dist/styles/elements/flipcard.ts +0 -95
- package/dist/styles/elements/icon-lucide.ts +0 -7
- package/dist/styles/elements/input.ts +0 -156
- package/dist/styles/elements/modal.ts +0 -317
- package/dist/styles/elements/multi-input.ts +0 -125
- package/dist/styles/elements/password.ts +0 -80
- package/dist/styles/elements/popper.ts +0 -349
- package/dist/styles/elements/radio.ts +0 -113
- package/dist/styles/elements/rotator.ts +0 -74
- package/dist/styles/elements/scroll-nav.ts +0 -33
- package/dist/styles/elements/scroll-snap.ts +0 -83
- package/dist/styles/elements/select.ts +0 -113
- package/dist/styles/elements/sortable.ts +0 -23
- package/dist/styles/elements/tabs.ts +0 -277
- package/dist/styles/elements/textarea.ts +0 -109
- package/dist/styles/elements/timer.ts +0 -13
- package/dist/styles/elements/toggle.ts +0 -90
- package/dist/styles/elements/tooltip.ts +0 -61
- package/dist/styles/elements/tracker.ts +0 -122
- package/dist/styles/elements/upload.ts +0 -180
- package/dist/styles/kemet.base.css +0 -306
- package/dist/styles/kemet.base.css.map +0 -1
- package/dist/styles/kemet.base.scss +0 -29
- package/dist/styles/kemet.core.css +0 -10022
- package/dist/styles/kemet.core.css.map +0 -1
- package/dist/styles/kemet.core.scss +0 -2
- package/dist/styles/shared/_config.scss +0 -595
- package/dist/styles/shared/_helpers.scss +0 -531
- package/dist/tracker-step-DkA-T98W.d.mts +0 -93
- package/dist/tracker-step-DkA-T98W.d.ts +0 -93
- package/dist/wrappers/next.d.mts +0 -127
- package/dist/wrappers/next.d.ts +0 -127
- package/dist/wrappers/next.js +0 -10629
- package/dist/wrappers/next.js.map +0 -1
- package/dist/wrappers/next.mjs +0 -198
- package/dist/wrappers/next.mjs.map +0 -1
- package/dist/wrappers/react.d.mts +0 -272
- package/dist/wrappers/react.mjs +0 -668
- package/dist/wrappers/react.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/checkbox/index.ts","../../../src/utilities/form-controller.ts","../../../src/utilities/events.ts","../../../src/elements/checkbox/styles.css.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/form-controller';\nimport { emitEvent } from '../../utilities/events';\nimport { EnumAppearances } from '../../utilities/constants';\nimport styles from './styles.css.ts';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-checkbox\n * @summary An enhanced checkbox.\n *\n * @prop {string} label - Label text for the checkbox\n * @prop {boolean} checked - Determines if the checkbox is selected\n * @prop {boolean} indeterminate - An indeterminate selection status\n * @prop {string} name - Name of the checkbox\n * @prop {string} value - Value of the checkbox\n * @prop {boolean} disabled - Determines if a checkbox is disabled\n * @prop {boolean} required - Determines if a checkbox is required\n * @prop {boolean} focused - Is true when the checkbox is focused\n * @prop {boolean} rounded - Gives the checkbox rounded edges\n * @prop {boolean} filled - Fills the checkbox with color\n * @prop {EnumAppearances} appearance - The status of the checkbox\n * @prop {string} message - Message associated with checkbox status\n * @prop {'light' | 'dark'} polarity - Determines if the component has a dark or light background\n * @prop {string} dom - The status of dom initalization.\n *\n * @csspart label - The label element.\n * @csspart text - The label's text.\n * @csspart mark - The icon of the check mark.\n *\n * @cssproperty --kemet-checkbox-size - The width and height of the checkbox.\n * @cssproperty --kemet-checkbox-color - The color of the checkbox mark.\n * @cssproperty --kemet-checkbox-border - The border of the checkbox.\n * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox.\n * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox mark.\n * @cssproperty --kemet-checkbox-filled-background-color - The filled background color.\n *\n * @fires kemet-change - Fires when the state of the checkbox changes\n * @details {KemetCheckbox} element - The checkbox element\n *\n * @fires kemet-focus - Fires when the checkbox receives focus\n * @details {KemetCheckbox} element - The checkbox element\n *\n * @fires kemet-blur - Fires when the checkbox loses focus\n * @details {KemetCheckbox} element - The checkbox element\n *\n * @fires kemet-checkbox-mounted - Fires when the checkbox is mounted to the dom\n * @details {KemetCheckbox} element -The checkbox element\n *\n */\n\n@customElement('kemet-checkbox')\nexport default class KemetCheckbox extends LitElement {\n /** @internal */\n formSubmitController: FormSubmitController;\n\n static styles = [styles];\n\n @property({ type: String })\n label: string = '';\n\n @property({ type: Boolean, reflect: true })\n checked: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n indeterminate: boolean = false;\n\n @property({ type: String })\n name: string = 'checkbox';\n\n @property({ type: Boolean })\n value: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n required: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean = false;\n\n @property({ type: String, reflect: true })\n appearance!: EnumAppearances;\n\n @property({ type: String })\n message: string = '';\n\n @property({ type: String, reflect: true })\n polarity?: 'light' | 'dark';\n\n @property({ type: String, reflect: true })\n dom: string = 'initializing';\n\n @query('input')\n input!: HTMLInputElement;\n\n firstUpdated() {\n emitEvent(this, 'kemet-checkbox-mounted', {\n bubbles: true,\n composed: true,\n detail: {\n element: this,\n },\n });\n this.dom = 'mounted';\n }\n\n constructor() {\n super();\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n render() {\n return html`\n <label part=\"label\">\n <input\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n .value=${this.value}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${() => this.handleClick()}\n @blur=${() => this.handleBlur()}\n @focus=${() => this.handleFocus()}\n @change=${() => this.handleChange()}\n />\n <button part=\"checkbox\" aria-label=${this.label}>\n ${this.makeCheckMark()}\n </button>\n <span part=\"text\">${this.label}</span>\n </label>\n ${this.makeMessage()}\n `;\n }\n\n /**\n * Simulates a click on the input element.\n * @public\n * @method click\n * @returns {void}\n */\n click(): void {\n this.input.click();\n }\n\n handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n emitEvent(this, 'kemet-change', { element: this });\n }\n\n handleBlur() {\n this.focused = false;\n emitEvent(this, 'kemet-blur', { element: this });\n }\n\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-focus', { element: this });\n }\n\n handleChange() {\n this.value = this.checked;\n }\n\n makeMessage() {\n if (this.appearance === EnumAppearances.Error || this.appearance === EnumAppearances.Warning) {\n return html`<span part=\"message\">${this.message}</span>`;\n }\n\n return null;\n }\n\n makeCheckMark() {\n if (this.checked) {\n return html`\n <span part=\"mark\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n `;\n }\n\n if (!this.checked && this.indeterminate) {\n return html`\n <span part=\"mark\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n `;\n }\n\n return null;\n }\n\n checkValidity() {\n return this.input.checkValidity();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-checkbox': KemetCheckbox\n }\n}\n","export class FormSubmitController {\n host: any;\n form: HTMLFormElement | null | undefined;\n options: {\n form: (input: any) => HTMLFormElement | null | undefined;\n name: (input: any) => string;\n value: (input: any) => any;\n disabled: (input: any) => boolean;\n };\n\n constructor(host: any, options: Partial<{\n form: (input: any) => HTMLFormElement | null | undefined;\n name: (input: any) => string;\n value: (input: any) => any;\n disabled: (input: any) => boolean;\n }> = {}) {\n (this.host = host).addController(this);\n\n this.options = {\n form: (input: any) => input.closest('form'),\n name: (input: any) => input.name,\n value: (input: any) => input.value,\n disabled: (input: any) => input.disabled,\n ...options,\n };\n\n this.handleFormData = this.handleFormData.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n }\n\n hostConnected() {\n this.form = this.options.form(this.host);\n\n if (this.form) {\n this.form.addEventListener('formdata', this.handleFormData);\n this.form.addEventListener('submit', this.handleFormSubmit);\n }\n }\n\n hostDisconnected() {\n if (this.form) {\n this.form.removeEventListener('formdata', this.handleFormData);\n this.form.removeEventListener('submit', this.handleFormSubmit);\n this.form = undefined;\n }\n }\n\n handleFormData(event: FormDataEvent) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n\n if (!disabled && typeof name === 'string' && typeof value !== 'undefined') {\n // TODO recreate a scenario where value will be an array\n // if (Array.isArray(value)) {\n // value.forEach((val) => {\n // event.formData?.append(name, val.toString());\n // });\n // } else {\n // event.formData?.append(name, value.toString());\n // }\n event.formData?.append(name, value.toString());\n }\n }\n\n handleFormSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n const disabled = this.options.disabled(this.host);\n this.form = this.options.form(this.host);\n\n if (this.form && !disabled) {\n const components = this.form.querySelectorAll('kemet-input, kemet-textarea, kemet-select, kemet-checkbox, kemet-radios');\n\n components.forEach((component: any) => {\n if (component.checkValidity) {\n component.checkValidity();\n\n if (!component.checkValidity()) {\n component.status = 'error';\n component.invalid = true;\n\n component.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'error',\n validity: component.validity ? component.validity : {},\n element: component,\n },\n }),\n );\n }\n\n if (component.checkLimitValidity && !component.checkLimitValidity()) {\n component.status = 'error';\n component.invalid = true;\n\n component.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'error',\n validity: { passedLimit: true },\n element: component,\n },\n }),\n );\n }\n }\n });\n }\n }\n\n submit() {\n const button = document.createElement('button');\n\n if (this.form) {\n button.type = 'submit';\n button.style.position = 'absolute';\n button.style.width = '0';\n button.style.height = '0';\n button.style.clip = 'rect(0 0 0 0)';\n button.style.clipPath = 'inset(50%)';\n button.style.overflow = 'hidden';\n button.style.whiteSpace = 'nowrap';\n this.form.append(button);\n button.click();\n button.remove();\n }\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","import { css } from 'lit';\n\nexport default css`:host {\n /* public */\n --kemet-checkbox-size: 18px;\n --kemet-checkbox-color: var(--kemet-color-background-inverse);\n --kemet-checkbox-mark-color: var(--kemet-checkbox-color);\n --kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);\n --kemet-checkbox-border-radius: 0;\n\n /* private */\n --_kemet-checkbox-background-color: transparent;\n\n display: inline-block;\n}\n\n:host([disabled]) {\n --kemet-checkbox-color: var(--kemet-color-background-disabled)\n}\n\nlabel {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n}\n\ninput {\n cursor: pointer;\n margin: 0;\n padding: 0;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n position: relative;\n z-index: 99;\n opacity: 0;\n}\n\nbutton {\n margin: 0;\n border: none;\n background: none;\n}\n\n[part=checkbox] {\n color: var(--kemet-checkbox-mark-color);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n border: var(--kemet-checkbox-border);\n border-radius: var(--kemet-checkbox-border-radius);\n background-color: var(--_kemet-checkbox-background-color);\n position: absolute;\n}\n\n:host([rounded]) [part=checkbox] {\n --kemet-checkbox-border-radius: var(--kemet-border-radius-sm);\n}\n\n:host([filled]) {\n --kemet-checkbox-mark-color: var(--kemet-color-font-inverse-base);\n --kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);\n --_kemet-checkbox-background-color: var(--kemet-checkbox-color);\n}\n\n\n[part=mark] {\n display: flex;\n width: calc(var(--kemet-checkbox-size) - 4px);\n height: calc(var(--kemet-checkbox-size) - 4px);\n}\n\n:host([filled][checked]) [part=mark],\n:host([filled][indeterminate]) [part=mark] {\n --kemet-checkbox-mark-color: var(--kemet-color-font-base-inverse);\n}\n\n[part=message] {\n display: block;\n margin-top: 0.5rem;\n}\n\n:host([appearance=brand]) {\n --kemet-checkbox-color: var(--kemet-color-brand-primary-base);\n}\n\n:host([appearance=error]) {\n --kemet-checkbox-color: var(--kemet-color-background-error);\n}\n\n:host([appearance=warning]) {\n --kemet-checkbox-color: var(--kemet-color-background-warning);\n}\n\n:host([appearance=info]) {\n --kemet-checkbox-color: var(--kemet-color-background-info);\n}\n\n:host([appearance=link]) {\n --kemet-checkbox-color: var(--kemet-color-background-link);\n}\n`;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// src/elements/checkbox/styles.css.ts
|
|
2
|
+
import { css } from "lit";
|
|
3
|
+
var styles_css_default = css`:host {
|
|
4
|
+
/* public */
|
|
5
|
+
--kemet-checkbox-size: 18px;
|
|
6
|
+
--kemet-checkbox-color: var(--kemet-color-background-inverse);
|
|
7
|
+
--kemet-checkbox-mark-color: var(--kemet-checkbox-color);
|
|
8
|
+
--kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);
|
|
9
|
+
--kemet-checkbox-border-radius: 0;
|
|
10
|
+
|
|
11
|
+
/* private */
|
|
12
|
+
--_kemet-checkbox-background-color: transparent;
|
|
13
|
+
|
|
14
|
+
display: inline-block;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
:host([disabled]) {
|
|
18
|
+
--kemet-checkbox-color: var(--kemet-color-background-disabled)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
label {
|
|
22
|
+
display: inline-flex;
|
|
23
|
+
gap: 0.5rem;
|
|
24
|
+
align-items: center;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
input {
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
margin: 0;
|
|
30
|
+
padding: 0;
|
|
31
|
+
width: var(--kemet-checkbox-size);
|
|
32
|
+
height: var(--kemet-checkbox-size);
|
|
33
|
+
position: relative;
|
|
34
|
+
z-index: 99;
|
|
35
|
+
opacity: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
button {
|
|
39
|
+
margin: 0;
|
|
40
|
+
border: none;
|
|
41
|
+
background: none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[part=checkbox] {
|
|
45
|
+
color: var(--kemet-checkbox-mark-color);
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
justify-content: center;
|
|
49
|
+
width: var(--kemet-checkbox-size);
|
|
50
|
+
height: var(--kemet-checkbox-size);
|
|
51
|
+
border: var(--kemet-checkbox-border);
|
|
52
|
+
border-radius: var(--kemet-checkbox-border-radius);
|
|
53
|
+
background-color: var(--_kemet-checkbox-background-color);
|
|
54
|
+
position: absolute;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([rounded]) [part=checkbox] {
|
|
58
|
+
--kemet-checkbox-border-radius: var(--kemet-border-radius-sm);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:host([filled]) {
|
|
62
|
+
--kemet-checkbox-mark-color: var(--kemet-color-font-inverse-base);
|
|
63
|
+
--kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);
|
|
64
|
+
--_kemet-checkbox-background-color: var(--kemet-checkbox-color);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
[part=mark] {
|
|
69
|
+
display: flex;
|
|
70
|
+
width: calc(var(--kemet-checkbox-size) - 4px);
|
|
71
|
+
height: calc(var(--kemet-checkbox-size) - 4px);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:host([filled][checked]) [part=mark],
|
|
75
|
+
:host([filled][indeterminate]) [part=mark] {
|
|
76
|
+
--kemet-checkbox-mark-color: var(--kemet-color-font-base-inverse);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[part=message] {
|
|
80
|
+
display: block;
|
|
81
|
+
margin-top: 0.5rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
:host([appearance=brand]) {
|
|
85
|
+
--kemet-checkbox-color: var(--kemet-color-brand-primary-base);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host([appearance=error]) {
|
|
89
|
+
--kemet-checkbox-color: var(--kemet-color-background-error);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:host([appearance=warning]) {
|
|
93
|
+
--kemet-checkbox-color: var(--kemet-color-background-warning);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
:host([appearance=info]) {
|
|
97
|
+
--kemet-checkbox-color: var(--kemet-color-background-info);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
:host([appearance=link]) {
|
|
101
|
+
--kemet-checkbox-color: var(--kemet-color-background-link);
|
|
102
|
+
}
|
|
103
|
+
`;
|
|
104
|
+
export {
|
|
105
|
+
styles_css_default as default
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=styles.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/checkbox/styles.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport default css`:host {\n /* public */\n --kemet-checkbox-size: 18px;\n --kemet-checkbox-color: var(--kemet-color-background-inverse);\n --kemet-checkbox-mark-color: var(--kemet-checkbox-color);\n --kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);\n --kemet-checkbox-border-radius: 0;\n\n /* private */\n --_kemet-checkbox-background-color: transparent;\n\n display: inline-block;\n}\n\n:host([disabled]) {\n --kemet-checkbox-color: var(--kemet-color-background-disabled)\n}\n\nlabel {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n}\n\ninput {\n cursor: pointer;\n margin: 0;\n padding: 0;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n position: relative;\n z-index: 99;\n opacity: 0;\n}\n\nbutton {\n margin: 0;\n border: none;\n background: none;\n}\n\n[part=checkbox] {\n color: var(--kemet-checkbox-mark-color);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n border: var(--kemet-checkbox-border);\n border-radius: var(--kemet-checkbox-border-radius);\n background-color: var(--_kemet-checkbox-background-color);\n position: absolute;\n}\n\n:host([rounded]) [part=checkbox] {\n --kemet-checkbox-border-radius: var(--kemet-border-radius-sm);\n}\n\n:host([filled]) {\n --kemet-checkbox-mark-color: var(--kemet-color-font-inverse-base);\n --kemet-checkbox-border: 1px solid var(--kemet-checkbox-color);\n --_kemet-checkbox-background-color: var(--kemet-checkbox-color);\n}\n\n\n[part=mark] {\n display: flex;\n width: calc(var(--kemet-checkbox-size) - 4px);\n height: calc(var(--kemet-checkbox-size) - 4px);\n}\n\n:host([filled][checked]) [part=mark],\n:host([filled][indeterminate]) [part=mark] {\n --kemet-checkbox-mark-color: var(--kemet-color-font-base-inverse);\n}\n\n[part=message] {\n display: block;\n margin-top: 0.5rem;\n}\n\n:host([appearance=brand]) {\n --kemet-checkbox-color: var(--kemet-color-brand-primary-base);\n}\n\n:host([appearance=error]) {\n --kemet-checkbox-color: var(--kemet-color-background-error);\n}\n\n:host([appearance=warning]) {\n --kemet-checkbox-color: var(--kemet-color-background-warning);\n}\n\n:host([appearance=info]) {\n --kemet-checkbox-color: var(--kemet-color-background-info);\n}\n\n:host([appearance=link]) {\n --kemet-checkbox-color: var(--kemet-color-background-link);\n}\n`;\n"],"mappings":";AAAA,SAAS,WAAW;AAEpB,IAAO,qBAAQ;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;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;","names":[]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// src/elements/combo/index.ts
|
|
13
|
+
import { html, LitElement } from "lit";
|
|
14
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
15
|
+
|
|
16
|
+
// src/utilities/events.ts
|
|
17
|
+
var emitEvent = (element, name, detail, bubbles = true, composed = true) => {
|
|
18
|
+
element.dispatchEvent(
|
|
19
|
+
new CustomEvent(name, { bubbles, composed, detail })
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/elements/combo/styles.css.ts
|
|
24
|
+
import { css } from "lit";
|
|
25
|
+
var styles_css_default = css`:host {
|
|
26
|
+
--kemet-combo-width: calc(100% - 2px);
|
|
27
|
+
--kemet-combo-margin: 1rem auto;
|
|
28
|
+
--kemet-combo-max-height: calc(5 * 3rem);
|
|
29
|
+
--kemet-combo-border: 1px solid;
|
|
30
|
+
--kemet-combo-border-radius: var(--kemet-border-radius-md);
|
|
31
|
+
--kemet-combo-shadow: var(--kemet-elevation-layer-5);
|
|
32
|
+
--kemet-combo-font-color: var(--kemet-color-font-base);
|
|
33
|
+
--kemet-combo-background-color: var(--kemet-color-background-base);
|
|
34
|
+
--kemet-combo-item-background-color: var(--kemet-color-background-base);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
opacity: 0;
|
|
38
|
+
width: var(--kemet-combo-width);
|
|
39
|
+
margin: var(--kemet-combo-margin);
|
|
40
|
+
pointer-events: none;
|
|
41
|
+
display: block;
|
|
42
|
+
position: relative;
|
|
43
|
+
transition: opacity 0.3s ease-in-out;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([show]) {
|
|
47
|
+
opacity: 1;
|
|
48
|
+
pointer-events: auto;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
ul {
|
|
52
|
+
width: 100%;
|
|
53
|
+
max-height: var(--kemet-combo-max-height);
|
|
54
|
+
position: absolute;
|
|
55
|
+
z-index: 1;
|
|
56
|
+
list-style: none;
|
|
57
|
+
margin: 0;
|
|
58
|
+
padding: 0;
|
|
59
|
+
overflow-y: auto;
|
|
60
|
+
border: var(--kemet-combo-border);
|
|
61
|
+
border-radius: var(--kemet-combo-border-radius);
|
|
62
|
+
box-shadow: var(--kemet-combo-shadow);
|
|
63
|
+
background-color: var(--kemet-combo-background-color);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
li {
|
|
67
|
+
color: var(--kemet-combo-font-color);
|
|
68
|
+
line-height: 3rem;
|
|
69
|
+
padding: 0 1.5rem;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
background-color: var(--kemet-combo-item-background-color);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
li:hover,
|
|
75
|
+
li:focus {
|
|
76
|
+
--kemet-combo-font-color: var(--kemet-color-font-inverse-base);
|
|
77
|
+
--kemet-combo-item-background-color: var(--kemet-color-background-inverse);
|
|
78
|
+
outline: none;
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
// src/elements/combo/index.ts
|
|
83
|
+
var KemetCombo = class extends LitElement {
|
|
84
|
+
constructor() {
|
|
85
|
+
super(...arguments);
|
|
86
|
+
this.options = [];
|
|
87
|
+
this.filteredOptions = [];
|
|
88
|
+
}
|
|
89
|
+
firstUpdated() {
|
|
90
|
+
this.field = this.closest("kemet-field");
|
|
91
|
+
this.input = this.field.querySelector('[slot="input"]');
|
|
92
|
+
this.slug = this.field.slug || "slug";
|
|
93
|
+
this.input.addEventListener("kemet-input-input", this.handleInput.bind(this));
|
|
94
|
+
this.input.addEventListener("kemet-input-focus", this.handleFocus.bind(this));
|
|
95
|
+
this.input.addEventListener("kemet-input-combo-input", this.handleInput.bind(this));
|
|
96
|
+
this.input.addEventListener("kemet-input-combo-focus", this.handleFocus.bind(this));
|
|
97
|
+
this.input.addEventListener("keydown", (event) => this.handleInputKeyDown(event));
|
|
98
|
+
}
|
|
99
|
+
render() {
|
|
100
|
+
return html`
|
|
101
|
+
<div
|
|
102
|
+
role="combobox"
|
|
103
|
+
part="combobox"
|
|
104
|
+
aria-expanded=${this.show}
|
|
105
|
+
aria-controls="${this.slug}-listbox"
|
|
106
|
+
aria-haspopup="listbox"
|
|
107
|
+
id="${this.slug}-combobox"
|
|
108
|
+
aria-label="${this.field?.label}"
|
|
109
|
+
>
|
|
110
|
+
<ul role="listbox" aria-labelledby="${this.slug}-label" id="${this.slug}-listbox" part="listbox">
|
|
111
|
+
${this.makeOptions()}
|
|
112
|
+
</ul>
|
|
113
|
+
</div>
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
makeOptions() {
|
|
117
|
+
if (this.input) {
|
|
118
|
+
this.filteredOptions = this.options.filter(
|
|
119
|
+
(option) => option.toLowerCase().indexOf(this.input.value?.toLowerCase()) !== -1
|
|
120
|
+
);
|
|
121
|
+
if (this.filteredOptions.length < 1) {
|
|
122
|
+
this.show = false;
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
return this.filteredOptions.map(
|
|
126
|
+
(option, index) => html`<li
|
|
127
|
+
id="${this.slug}-option-${index}"
|
|
128
|
+
role="option"
|
|
129
|
+
tabindex="0"
|
|
130
|
+
aria-selected="false"
|
|
131
|
+
@click=${(event) => this.handleSelection(event)}
|
|
132
|
+
@keydown=${(event) => this.handleOptionKeyDown(event)}
|
|
133
|
+
>
|
|
134
|
+
${option}
|
|
135
|
+
</li>`
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
handleInput(event) {
|
|
141
|
+
this.makeOptions();
|
|
142
|
+
this.show = event.detail.value.length > 0;
|
|
143
|
+
}
|
|
144
|
+
handleFocus() {
|
|
145
|
+
this.makeOptions();
|
|
146
|
+
this.show = true;
|
|
147
|
+
}
|
|
148
|
+
handleSelection(event) {
|
|
149
|
+
const target = event.target;
|
|
150
|
+
this.input.value = target.innerText;
|
|
151
|
+
this.show = false;
|
|
152
|
+
emitEvent(this, "kemet-combo-selection", {
|
|
153
|
+
element: target,
|
|
154
|
+
text: target.innerText,
|
|
155
|
+
id: target.getAttribute("id")
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
handleOptionKeyDown(event) {
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
const target = event.target;
|
|
161
|
+
if (event.code === "ArrowDown") {
|
|
162
|
+
const next = target.nextElementSibling;
|
|
163
|
+
if (next) {
|
|
164
|
+
next.focus();
|
|
165
|
+
} else {
|
|
166
|
+
this.shadowRoot?.querySelector("li")?.focus();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (event.code === "ArrowUp") {
|
|
170
|
+
const previous = target.previousElementSibling;
|
|
171
|
+
const lastChild = this.shadowRoot?.querySelector("li:last-child");
|
|
172
|
+
if (previous) {
|
|
173
|
+
previous.focus();
|
|
174
|
+
} else {
|
|
175
|
+
lastChild.focus();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (event.code === "Escape" || event.code === "Tab") {
|
|
179
|
+
this.show = false;
|
|
180
|
+
this.input.focus();
|
|
181
|
+
}
|
|
182
|
+
if (event.code === "Enter" || event.code === "Space") {
|
|
183
|
+
this.handleSelection(event);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
handleInputKeyDown(event) {
|
|
187
|
+
if (event.code === "ArrowDown") {
|
|
188
|
+
this.shadowRoot?.querySelector("li")?.focus();
|
|
189
|
+
}
|
|
190
|
+
if (event.code === "Escape") {
|
|
191
|
+
this.show = false;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
KemetCombo.styles = [styles_css_default];
|
|
196
|
+
__decorateClass([
|
|
197
|
+
property({ type: String })
|
|
198
|
+
], KemetCombo.prototype, "slug", 2);
|
|
199
|
+
__decorateClass([
|
|
200
|
+
property({ type: Array })
|
|
201
|
+
], KemetCombo.prototype, "options", 2);
|
|
202
|
+
__decorateClass([
|
|
203
|
+
property({ type: Boolean, reflect: true })
|
|
204
|
+
], KemetCombo.prototype, "show", 2);
|
|
205
|
+
__decorateClass([
|
|
206
|
+
state()
|
|
207
|
+
], KemetCombo.prototype, "filteredOptions", 2);
|
|
208
|
+
__decorateClass([
|
|
209
|
+
state()
|
|
210
|
+
], KemetCombo.prototype, "field", 2);
|
|
211
|
+
__decorateClass([
|
|
212
|
+
state()
|
|
213
|
+
], KemetCombo.prototype, "input", 2);
|
|
214
|
+
KemetCombo = __decorateClass([
|
|
215
|
+
customElement("kemet-combo")
|
|
216
|
+
], KemetCombo);
|
|
217
|
+
export {
|
|
218
|
+
KemetCombo as default
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/combo/index.ts","../../../src/utilities/events.ts","../../../src/elements/combo/styles.css.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/events';\nimport type HTMLKemetFieldElement from '../field';\nimport styles from './styles.css.ts';\n\nexport interface InterfaceKemetSelectionEvent {\n element: KemetCombo;\n text: string;\n id: string;\n}\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-combo\n * @summary Allows the user to select a choice filtered through an Input. May only be used as a component of Field.\n *\n * @prop {string} slug - Uniquely identifies the component. Should match the slug used in a control.\n * @prop {array} options - An array of items listed for the combo box\n * @prop {boolean} show - Controls the display of the combo box\n *\n * @csspart combobox - The combo's container element.\n * @csspart listbox - The list element in the combo.\n *\n * @cssproperty --kemet-combo-width - The width of the combo box.\n * @cssproperty --kemet-combo-margin - The margins on the combo box.\n * @cssproperty --kemet-combo-max-height - The max height of the combo box.\n * @cssproperty --kemet-combo-border - The border of the combo box.\n * @cssproperty --kemet-combo-border-radius - The border radius of the combo box.\n * @cssproperty --kemet-combo-background-color - The background color of the combo box.\n * @cssproperty --kemet-combo-shadow - The shadow of the combo box.\n * @cssproperty --kemet-combo-hover-color - The hover item's text color.\n * @cssproperty --kemet-combo-hover-background-color - The hover item's background color.\n *\n * @event kemet-combo-selection - Fires when a selection has been made\n *\n */\n\n\n@customElement('kemet-combo')\nexport default class KemetCombo extends LitElement {\n static styles = [styles];\n\n @property({ type: String })\n slug?: string;\n\n @property({ type: Array })\n options: string[] = [];\n\n @property({ type: Boolean, reflect: true })\n show!: boolean;\n\n @state()\n filteredOptions: string[] = [];\n\n @state()\n field!: HTMLKemetFieldElement;\n\n @state()\n input!: HTMLInputElement;\n\n firstUpdated() {\n // standard properties\n this.field = this.closest('kemet-field') as HTMLKemetFieldElement;\n this.input = this.field.querySelector('[slot=\"input\"]') as HTMLInputElement;\n\n // managed properties\n this.slug = this.field.slug || 'slug';\n\n // events listeners\n this.input.addEventListener('kemet-input-input', this.handleInput.bind(this));\n this.input.addEventListener('kemet-input-focus', this.handleFocus.bind(this));\n this.input.addEventListener('kemet-input-combo-input', this.handleInput.bind(this));\n this.input.addEventListener('kemet-input-combo-focus', this.handleFocus.bind(this));\n this.input.addEventListener('keydown', event => this.handleInputKeyDown(event));\n }\n\n render() {\n return html`\n <div\n role=\"combobox\"\n part=\"combobox\"\n aria-expanded=${this.show}\n aria-controls=\"${this.slug}-listbox\"\n aria-haspopup=\"listbox\"\n id=\"${this.slug}-combobox\"\n aria-label=\"${this.field?.label}\"\n >\n <ul role=\"listbox\" aria-labelledby=\"${this.slug}-label\" id=\"${this.slug}-listbox\" part=\"listbox\">\n ${this.makeOptions()}\n </ul>\n </div>\n `;\n }\n\n makeOptions() {\n if (this.input) {\n this.filteredOptions = this.options.filter(\n option => option.toLowerCase().indexOf(this.input.value?.toLowerCase()) !== -1,\n );\n\n if (this.filteredOptions.length < 1) {\n this.show = false;\n return null;\n }\n\n return this.filteredOptions.map(\n (option, index) => html`<li\n id=\"${this.slug}-option-${index}\"\n role=\"option\"\n tabindex=\"0\"\n aria-selected=\"false\"\n @click=${(event: KeyboardEvent) => this.handleSelection(event)}\n @keydown=${(event: KeyboardEvent) => this.handleOptionKeyDown(event)}\n >\n ${option}\n </li>`,\n );\n }\n\n return null;\n }\n\n handleInput(event: Event) {\n this.makeOptions();\n this.show = (event as CustomEvent).detail.value.length > 0;\n }\n\n handleFocus() {\n this.makeOptions();\n this.show = true;\n }\n\n handleSelection(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n this.input.value = target.innerText;\n this.show = false;\n\n emitEvent(this, 'kemet-combo-selection', {\n element: target,\n text: target.innerText,\n id: target.getAttribute('id'),\n });\n }\n\n handleOptionKeyDown(event: KeyboardEvent) {\n event.preventDefault();\n const target = event.target as HTMLElement;\n\n if (event.code === 'ArrowDown') {\n const next = target.nextElementSibling as HTMLElement;\n\n if (next) {\n next.focus();\n } else {\n this.shadowRoot?.querySelector('li')?.focus();\n }\n }\n\n if (event.code === 'ArrowUp') {\n const previous = target.previousElementSibling as HTMLElement;\n const lastChild = this.shadowRoot?.querySelector('li:last-child') as HTMLElement;\n\n if (previous) {\n previous.focus();\n } else {\n lastChild.focus();\n }\n }\n\n if (event.code === 'Escape' || event.code === 'Tab') {\n this.show = false;\n this.input.focus();\n }\n\n if (event.code === 'Enter' || event.code === 'Space') {\n this.handleSelection(event);\n }\n }\n\n handleInputKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown') {\n this.shadowRoot?.querySelector('li')?.focus();\n }\n\n if (event.code === 'Escape') {\n this.show = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-combo': KemetCombo\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","import { css } from 'lit';\n\nexport default css`:host {\n --kemet-combo-width: calc(100% - 2px);\n --kemet-combo-margin: 1rem auto;\n --kemet-combo-max-height: calc(5 * 3rem);\n --kemet-combo-border: 1px solid;\n --kemet-combo-border-radius: var(--kemet-border-radius-md);\n --kemet-combo-shadow: var(--kemet-elevation-layer-5);\n --kemet-combo-font-color: var(--kemet-color-font-base);\n --kemet-combo-background-color: var(--kemet-color-background-base);\n --kemet-combo-item-background-color: var(--kemet-color-background-base);\n\n\n opacity: 0;\n width: var(--kemet-combo-width);\n margin: var(--kemet-combo-margin);\n pointer-events: none;\n display: block;\n position: relative;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([show]) {\n opacity: 1;\n pointer-events: auto;\n}\n\nul {\n width: 100%;\n max-height: var(--kemet-combo-max-height);\n position: absolute;\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n border: var(--kemet-combo-border);\n border-radius: var(--kemet-combo-border-radius);\n box-shadow: var(--kemet-combo-shadow);\n background-color: var(--kemet-combo-background-color);\n}\n\nli {\n color: var(--kemet-combo-font-color);\n line-height: 3rem;\n padding: 0 1.5rem;\n cursor: pointer;\n background-color: var(--kemet-combo-item-background-color);\n}\n\nli:hover,\nli:focus {\n --kemet-combo-font-color: var(--kemet-color-font-inverse-base);\n --kemet-combo-item-background-color: var(--kemet-color-background-inverse);\n outline: none;\n}\n`;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// src/elements/combo/styles.css.ts
|
|
2
|
+
import { css } from "lit";
|
|
3
|
+
var styles_css_default = css`:host {
|
|
4
|
+
--kemet-combo-width: calc(100% - 2px);
|
|
5
|
+
--kemet-combo-margin: 1rem auto;
|
|
6
|
+
--kemet-combo-max-height: calc(5 * 3rem);
|
|
7
|
+
--kemet-combo-border: 1px solid;
|
|
8
|
+
--kemet-combo-border-radius: var(--kemet-border-radius-md);
|
|
9
|
+
--kemet-combo-shadow: var(--kemet-elevation-layer-5);
|
|
10
|
+
--kemet-combo-font-color: var(--kemet-color-font-base);
|
|
11
|
+
--kemet-combo-background-color: var(--kemet-color-background-base);
|
|
12
|
+
--kemet-combo-item-background-color: var(--kemet-color-background-base);
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
opacity: 0;
|
|
16
|
+
width: var(--kemet-combo-width);
|
|
17
|
+
margin: var(--kemet-combo-margin);
|
|
18
|
+
pointer-events: none;
|
|
19
|
+
display: block;
|
|
20
|
+
position: relative;
|
|
21
|
+
transition: opacity 0.3s ease-in-out;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host([show]) {
|
|
25
|
+
opacity: 1;
|
|
26
|
+
pointer-events: auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ul {
|
|
30
|
+
width: 100%;
|
|
31
|
+
max-height: var(--kemet-combo-max-height);
|
|
32
|
+
position: absolute;
|
|
33
|
+
z-index: 1;
|
|
34
|
+
list-style: none;
|
|
35
|
+
margin: 0;
|
|
36
|
+
padding: 0;
|
|
37
|
+
overflow-y: auto;
|
|
38
|
+
border: var(--kemet-combo-border);
|
|
39
|
+
border-radius: var(--kemet-combo-border-radius);
|
|
40
|
+
box-shadow: var(--kemet-combo-shadow);
|
|
41
|
+
background-color: var(--kemet-combo-background-color);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
li {
|
|
45
|
+
color: var(--kemet-combo-font-color);
|
|
46
|
+
line-height: 3rem;
|
|
47
|
+
padding: 0 1.5rem;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
background-color: var(--kemet-combo-item-background-color);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
li:hover,
|
|
53
|
+
li:focus {
|
|
54
|
+
--kemet-combo-font-color: var(--kemet-color-font-inverse-base);
|
|
55
|
+
--kemet-combo-item-background-color: var(--kemet-color-background-inverse);
|
|
56
|
+
outline: none;
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
export {
|
|
60
|
+
styles_css_default as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=styles.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/combo/styles.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport default css`:host {\n --kemet-combo-width: calc(100% - 2px);\n --kemet-combo-margin: 1rem auto;\n --kemet-combo-max-height: calc(5 * 3rem);\n --kemet-combo-border: 1px solid;\n --kemet-combo-border-radius: var(--kemet-border-radius-md);\n --kemet-combo-shadow: var(--kemet-elevation-layer-5);\n --kemet-combo-font-color: var(--kemet-color-font-base);\n --kemet-combo-background-color: var(--kemet-color-background-base);\n --kemet-combo-item-background-color: var(--kemet-color-background-base);\n\n\n opacity: 0;\n width: var(--kemet-combo-width);\n margin: var(--kemet-combo-margin);\n pointer-events: none;\n display: block;\n position: relative;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([show]) {\n opacity: 1;\n pointer-events: auto;\n}\n\nul {\n width: 100%;\n max-height: var(--kemet-combo-max-height);\n position: absolute;\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n border: var(--kemet-combo-border);\n border-radius: var(--kemet-combo-border-radius);\n box-shadow: var(--kemet-combo-shadow);\n background-color: var(--kemet-combo-background-color);\n}\n\nli {\n color: var(--kemet-combo-font-color);\n line-height: 3rem;\n padding: 0 1.5rem;\n cursor: pointer;\n background-color: var(--kemet-combo-item-background-color);\n}\n\nli:hover,\nli:focus {\n --kemet-combo-font-color: var(--kemet-color-font-inverse-base);\n --kemet-combo-item-background-color: var(--kemet-color-background-inverse);\n outline: none;\n}\n`;\n"],"mappings":";AAAA,SAAS,WAAW;AAEpB,IAAO,qBAAQ;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;","names":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// src/elements/count/index.ts
|
|
13
|
+
import { html, css, LitElement } from "lit";
|
|
14
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
15
|
+
|
|
16
|
+
// src/utilities/events.ts
|
|
17
|
+
var emitEvent = (element, name, detail, bubbles = true, composed = true) => {
|
|
18
|
+
element.dispatchEvent(
|
|
19
|
+
new CustomEvent(name, { bubbles, composed, detail })
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/elements/count/index.ts
|
|
24
|
+
var KemetCount = class extends LitElement {
|
|
25
|
+
firstUpdated() {
|
|
26
|
+
this.field = this.closest("kemet-field");
|
|
27
|
+
this.inputSlot = this.field.querySelector('[slot="input"]');
|
|
28
|
+
this.remaining = this.limit - this.field.length;
|
|
29
|
+
this.field.addEventListener("kemet-input-input", (event) => this.handleInput(event));
|
|
30
|
+
this.field.addEventListener("kemet-textarea-input", (event) => this.handleInput(event));
|
|
31
|
+
this.input = this.inputSlot?.shadowRoot?.querySelector("input") || null;
|
|
32
|
+
this.textarea = this.inputSlot?.shadowRoot?.querySelector("textarea") || null;
|
|
33
|
+
}
|
|
34
|
+
render() {
|
|
35
|
+
return html`${this.remaining} ${this.message}`;
|
|
36
|
+
}
|
|
37
|
+
handleInput(event) {
|
|
38
|
+
this.remaining = this.limit - event.detail.value.length;
|
|
39
|
+
const nativeElement = this.input || this.textarea;
|
|
40
|
+
if (nativeElement) {
|
|
41
|
+
if (this.remaining < 0) {
|
|
42
|
+
if (this.validateImmediately) {
|
|
43
|
+
this.inputSlot.appearance = "error" /* Error */;
|
|
44
|
+
this.inputSlot.invalid = true;
|
|
45
|
+
emitEvent(this, "kemet-count-appearance-change", {
|
|
46
|
+
status: "error" /* Error */,
|
|
47
|
+
validity: nativeElement.validity,
|
|
48
|
+
element: this.inputSlot
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
this.inputSlot.appearance = "neutral" /* Neutral */;
|
|
53
|
+
nativeElement.checkValidity();
|
|
54
|
+
emitEvent(this, "kemet-count-appearance-change", {
|
|
55
|
+
appearance: "neutral" /* Neutral */,
|
|
56
|
+
validity: nativeElement.validity,
|
|
57
|
+
element: this.inputSlot
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
KemetCount.styles = [
|
|
64
|
+
css`
|
|
65
|
+
:host {
|
|
66
|
+
display: block;
|
|
67
|
+
font-size: var(--kemet-count-font-size, 90%);
|
|
68
|
+
margin-top: 0.8rem;
|
|
69
|
+
}
|
|
70
|
+
`
|
|
71
|
+
];
|
|
72
|
+
__decorateClass([
|
|
73
|
+
property({ type: String })
|
|
74
|
+
], KemetCount.prototype, "message", 2);
|
|
75
|
+
__decorateClass([
|
|
76
|
+
property({ type: Number })
|
|
77
|
+
], KemetCount.prototype, "limit", 2);
|
|
78
|
+
__decorateClass([
|
|
79
|
+
property({ type: Boolean, attribute: "validate-immediately" })
|
|
80
|
+
], KemetCount.prototype, "validateImmediately", 2);
|
|
81
|
+
__decorateClass([
|
|
82
|
+
state()
|
|
83
|
+
], KemetCount.prototype, "remaining", 2);
|
|
84
|
+
__decorateClass([
|
|
85
|
+
state()
|
|
86
|
+
], KemetCount.prototype, "field", 2);
|
|
87
|
+
__decorateClass([
|
|
88
|
+
state()
|
|
89
|
+
], KemetCount.prototype, "inputSlot", 2);
|
|
90
|
+
__decorateClass([
|
|
91
|
+
state()
|
|
92
|
+
], KemetCount.prototype, "input", 2);
|
|
93
|
+
__decorateClass([
|
|
94
|
+
state()
|
|
95
|
+
], KemetCount.prototype, "textarea", 2);
|
|
96
|
+
KemetCount = __decorateClass([
|
|
97
|
+
customElement("kemet-count")
|
|
98
|
+
], KemetCount);
|
|
99
|
+
export {
|
|
100
|
+
KemetCount as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/count/index.ts","../../../src/utilities/events.ts"],"sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/events';\nimport HTMLKemetFieldElement from '../field';\nimport HTMLKemetInputElement from '../input';\nimport HTMLKemetTextareaElement from '../textarea';\nimport { EnumAppearances } from '../../utilities/constants';\n\nexport interface InterfaceAppearanceChangeEvent {\n appearance: EnumAppearances;\n validity: ValidityState;\n element: HTMLKemetFieldElement;\n}\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-count\n * @summary Maintains a character count for an input field. Is to be used only in the component slot of a Field component.\n *\n * @prop {string} message - The text label shown to users\n * @prop {number} remaining - The number of characters remaining\n * @prop {number} limit - The maximum number of characters allowed\n * @prop {boolean} validateImmediately - Set to true if the field should validate as soon as the character limit is reached\n *\n * @cssproperty --kemet-count-font-size - The font size. Default: 90%.\n *\n * @fires kemet-count-appearance-change - Fires when there's a change in status.\n *\n */\n\n@customElement('kemet-count')\nexport default class KemetCount extends LitElement {\n static styles = [\n css`\n :host {\n display: block;\n font-size: var(--kemet-count-font-size, 90%);\n margin-top: 0.8rem;\n }\n `,\n ];\n\n @property({ type: String })\n message!: string;\n\n @property({ type: Number })\n limit!: number;\n\n @property({ type: Boolean, attribute: 'validate-immediately' })\n validateImmediately!: boolean;\n\n @state()\n remaining!: number;\n\n @state()\n field!: HTMLKemetFieldElement;\n\n @state()\n inputSlot!: HTMLKemetInputElement | HTMLKemetTextareaElement;\n\n @state()\n input!: HTMLInputElement | null;\n\n @state()\n textarea!: HTMLTextAreaElement | null;\n\n firstUpdated() {\n this.field = this.closest('kemet-field') as HTMLKemetFieldElement;\n this.inputSlot = this.field.querySelector('[slot=\"input\"]') as HTMLKemetInputElement | HTMLKemetTextareaElement;\n this.remaining = this.limit - this.field.length;\n\n this.field.addEventListener('kemet-input-input', (event: Event) => this.handleInput(event));\n this.field.addEventListener('kemet-textarea-input', (event: Event) => this.handleInput(event));\n\n this.input = this.inputSlot?.shadowRoot?.querySelector('input') || null;\n this.textarea = this.inputSlot?.shadowRoot?.querySelector('textarea') || null;\n }\n\n render() {\n return html`${this.remaining} ${this.message}`;\n }\n\n handleInput(event: Event) {\n this.remaining = this.limit - (event as CustomEvent).detail.value.length;\n\n const nativeElement = this.input || this.textarea;\n\n if (nativeElement) {\n if (this.remaining < 0) {\n if (this.validateImmediately) {\n (this.inputSlot as any).appearance = EnumAppearances.Error;\n (this.inputSlot as any).invalid = true;\n\n emitEvent(this, 'kemet-count-appearance-change', {\n status: EnumAppearances.Error,\n validity: nativeElement.validity,\n element: this.inputSlot,\n });\n }\n } else {\n (this.inputSlot as any).appearance = EnumAppearances.Neutral;\n nativeElement.checkValidity();\n\n emitEvent(this, 'kemet-count-appearance-change', {\n appearance: EnumAppearances.Neutral,\n validity: nativeElement.validity,\n element: this.inputSlot,\n });\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-count': KemetCount\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,SAAS,MAAM,KAAK,kBAAkB;AACtC,SAAS,eAAe,UAAU,aAAa;;;ACDxC,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;;;AD6BA,IAAqB,aAArB,cAAwC,WAAW;AAAA,EAmCjD,eAAe;AACb,SAAK,QAAQ,KAAK,QAAQ,aAAa;AACvC,SAAK,YAAY,KAAK,MAAM,cAAc,gBAAgB;AAC1D,SAAK,YAAY,KAAK,QAAQ,KAAK,MAAM;AAEzC,SAAK,MAAM,iBAAiB,qBAAqB,CAAC,UAAiB,KAAK,YAAY,KAAK,CAAC;AAC1F,SAAK,MAAM,iBAAiB,wBAAwB,CAAC,UAAiB,KAAK,YAAY,KAAK,CAAC;AAE7F,SAAK,QAAQ,KAAK,WAAW,YAAY,cAAc,OAAO,KAAK;AACnE,SAAK,WAAW,KAAK,WAAW,YAAY,cAAc,UAAU,KAAK;AAAA,EAC3E;AAAA,EAEA,SAAS;AACP,WAAO,OAAO,KAAK,SAAS,IAAI,KAAK,OAAO;AAAA,EAC9C;AAAA,EAEA,YAAY,OAAc;AACxB,SAAK,YAAY,KAAK,QAAS,MAAsB,OAAO,MAAM;AAElE,UAAM,gBAAgB,KAAK,SAAS,KAAK;AAEzC,QAAI,eAAe;AACjB,UAAI,KAAK,YAAY,GAAG;AACtB,YAAI,KAAK,qBAAqB;AAC5B,UAAC,KAAK,UAAkB;AACxB,UAAC,KAAK,UAAkB,UAAU;AAElC,oBAAU,MAAM,iCAAiC;AAAA,YAC/C;AAAA,YACA,UAAU,cAAc;AAAA,YACxB,SAAS,KAAK;AAAA,UAChB,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,QAAC,KAAK,UAAkB;AACxB,sBAAc,cAAc;AAE5B,kBAAU,MAAM,iCAAiC;AAAA,UAC/C;AAAA,UACA,UAAU,cAAc;AAAA,UACxB,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;AAhFqB,WACZ,SAAS;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOF;AAGA;AAAA,EADC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAXP,WAYnB;AAGA;AAAA,EADC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAdP,WAenB;AAGA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,WAAW,uBAAuB,CAAC;AAAA,GAjB3C,WAkBnB;AAGA;AAAA,EADC,MAAM;AAAA,GApBY,WAqBnB;AAGA;AAAA,EADC,MAAM;AAAA,GAvBY,WAwBnB;AAGA;AAAA,EADC,MAAM;AAAA,GA1BY,WA2BnB;AAGA;AAAA,EADC,MAAM;AAAA,GA7BY,WA8BnB;AAGA;AAAA,EADC,MAAM;AAAA,GAhCY,WAiCnB;AAjCmB,aAArB;AAAA,EADC,cAAc,aAAa;AAAA,GACP;","names":[]}
|