kemet-ui 3.1.0 → 4.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 +2144 -1522
- package/dist/{components/kemet-accordion/styles.js → styles/elements/accordion.ts} +4 -3
- package/dist/{components/kemet-alert/styles.js → styles/elements/alert.ts} +53 -3
- package/dist/{components/kemet-avatar/styles.js → styles/elements/avatar.ts} +26 -12
- package/dist/styles/elements/badge.ts +92 -0
- package/dist/{components/kemet-button/styles.js → styles/elements/button.ts} +32 -13
- package/dist/{components/kemet-card/styles.js → styles/elements/card.ts} +3 -3
- package/dist/{components/kemet-carousel/styles.js → styles/elements/carousel.ts} +2 -2
- package/dist/{components/kemet-checkbox/styles.js → styles/elements/checkbox.ts} +2 -2
- package/dist/{components/kemet-combo/styles.js → styles/elements/combo.ts} +2 -2
- package/dist/{components/kemet-drawer/styles.js → styles/elements/drawer.ts} +5 -3
- package/dist/{components/kemet-fab/styles.js → styles/elements/fab.ts} +2 -2
- package/dist/{components/kemet-field/styles.js → styles/elements/field.ts} +2 -14
- package/dist/{components/kemet-flipcard/styles.js → styles/elements/flipcard.ts} +2 -2
- package/dist/styles/elements/icon-lucide.ts +7 -0
- package/dist/{components/kemet-input/styles.js → styles/elements/input.ts} +36 -12
- package/dist/{components/kemet-modal/styles.js → styles/elements/modal.ts} +27 -6
- package/dist/{components/kemet-multi-input/styles.js → styles/elements/multi-input.ts} +41 -3
- package/dist/{components/kemet-password/styles.js → styles/elements/password.ts} +3 -3
- package/dist/{components/kemet-popper/styles.effects.js → styles/elements/popper.ts} +52 -9
- package/dist/{components/kemet-radio/styles.js → styles/elements/radio.ts} +4 -3
- package/dist/{components/kemet-rotator/styles.js → styles/elements/rotator.ts} +2 -2
- package/dist/{components/kemet-scroll-nav/styles.js → styles/elements/scroll-nav.ts} +2 -2
- package/dist/{components/kemet-scroll-snap/styles.js → styles/elements/scroll-snap.ts} +4 -3
- package/dist/{components/kemet-select/styles.js → styles/elements/select.ts} +34 -10
- package/dist/{components/kemet-sortable/styles.js → styles/elements/sortable.ts} +4 -3
- package/dist/{components/kemet-tabs/styles.js → styles/elements/tabs.ts} +7 -5
- package/dist/{components/kemet-textarea/styles.js → styles/elements/textarea.ts} +29 -4
- package/dist/{components/kemet-timer/styles.js → styles/elements/timer.ts} +4 -3
- package/dist/{components/kemet-toggle/styles.js → styles/elements/toggle.ts} +2 -2
- package/dist/{components/kemet-tooltip/styles.js → styles/elements/tooltip.ts} +2 -2
- package/dist/{components/kemet-tracker/styles.js → styles/elements/tracker.ts} +2 -2
- package/dist/{components/kemet-upload/styles.js → styles/elements/upload.ts} +6 -4
- package/dist/styles/kemet.base.css +1 -1
- package/dist/styles/kemet.base.css.map +1 -1
- package/dist/styles/kemet.core.css +1 -1
- package/dist/styles/kemet.core.css.map +1 -1
- package/dist/styles/shared/_helpers.scss +19 -18
- package/package.json +71 -88
- package/types/global.d.ts +3 -0
- package/types/jsx.d.ts +140 -0
- package/dist/components/kemet-accordion/docs/stories.d.ts +0 -12
- package/dist/components/kemet-accordion/docs/stories.js +0 -99
- package/dist/components/kemet-accordion/docs/stories.js.map +0 -1
- package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +0 -50
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +0 -137
- package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +0 -1
- package/dist/components/kemet-accordion/kemet-accordion.d.ts +0 -38
- package/dist/components/kemet-accordion/kemet-accordion.js +0 -138
- package/dist/components/kemet-accordion/kemet-accordion.js.map +0 -1
- package/dist/components/kemet-accordion/spec.d.ts +0 -2
- package/dist/components/kemet-accordion/spec.js +0 -132
- package/dist/components/kemet-accordion/spec.js.map +0 -1
- package/dist/components/kemet-accordion/styles.d.ts +0 -2
- package/dist/components/kemet-accordion/styles.js.map +0 -1
- package/dist/components/kemet-alert/docs/stories.d.ts +0 -21
- package/dist/components/kemet-alert/docs/stories.js +0 -222
- package/dist/components/kemet-alert/docs/stories.js.map +0 -1
- package/dist/components/kemet-alert/kemet-alert.d.ts +0 -51
- package/dist/components/kemet-alert/kemet-alert.js +0 -111
- package/dist/components/kemet-alert/kemet-alert.js.map +0 -1
- package/dist/components/kemet-alert/spec.d.ts +0 -1
- package/dist/components/kemet-alert/spec.js +0 -35
- package/dist/components/kemet-alert/spec.js.map +0 -1
- package/dist/components/kemet-alert/styles.d.ts +0 -1
- package/dist/components/kemet-alert/styles.js.map +0 -1
- package/dist/components/kemet-alert/types.d.ts +0 -1
- package/dist/components/kemet-alert/types.js +0 -2
- package/dist/components/kemet-alert/types.js.map +0 -1
- package/dist/components/kemet-avatar/docs/stories.d.ts +0 -15
- package/dist/components/kemet-avatar/docs/stories.js +0 -108
- package/dist/components/kemet-avatar/docs/stories.js.map +0 -1
- package/dist/components/kemet-avatar/kemet-avatar.d.ts +0 -43
- package/dist/components/kemet-avatar/kemet-avatar.js +0 -78
- package/dist/components/kemet-avatar/kemet-avatar.js.map +0 -1
- package/dist/components/kemet-avatar/kemet-avatars.d.ts +0 -20
- package/dist/components/kemet-avatar/kemet-avatars.js +0 -25
- package/dist/components/kemet-avatar/kemet-avatars.js.map +0 -1
- package/dist/components/kemet-avatar/spec.d.ts +0 -1
- package/dist/components/kemet-avatar/spec.js +0 -26
- package/dist/components/kemet-avatar/spec.js.map +0 -1
- package/dist/components/kemet-avatar/styles.d.ts +0 -2
- package/dist/components/kemet-avatar/styles.js.map +0 -1
- package/dist/components/kemet-badge/docs/stories.d.ts +0 -15
- package/dist/components/kemet-badge/docs/stories.js +0 -76
- package/dist/components/kemet-badge/docs/stories.js.map +0 -1
- package/dist/components/kemet-badge/kemet-badge.d.ts +0 -31
- package/dist/components/kemet-badge/kemet-badge.js +0 -55
- package/dist/components/kemet-badge/kemet-badge.js.map +0 -1
- package/dist/components/kemet-badge/spec.d.ts +0 -1
- package/dist/components/kemet-badge/spec.js +0 -21
- package/dist/components/kemet-badge/spec.js.map +0 -1
- package/dist/components/kemet-badge/styles.d.ts +0 -1
- package/dist/components/kemet-badge/styles.js +0 -42
- package/dist/components/kemet-badge/styles.js.map +0 -1
- package/dist/components/kemet-badge/types.d.ts +0 -1
- package/dist/components/kemet-badge/types.js +0 -2
- package/dist/components/kemet-badge/types.js.map +0 -1
- package/dist/components/kemet-button/docs/stories.d.ts +0 -21
- package/dist/components/kemet-button/docs/stories.js +0 -112
- package/dist/components/kemet-button/docs/stories.js.map +0 -1
- package/dist/components/kemet-button/kemet-button.d.ts +0 -89
- package/dist/components/kemet-button/kemet-button.js +0 -155
- package/dist/components/kemet-button/kemet-button.js.map +0 -1
- package/dist/components/kemet-button/spec.d.ts +0 -1
- package/dist/components/kemet-button/spec.js +0 -49
- package/dist/components/kemet-button/spec.js.map +0 -1
- package/dist/components/kemet-button/styles.d.ts +0 -1
- package/dist/components/kemet-button/styles.js.map +0 -1
- package/dist/components/kemet-button/types.d.ts +0 -1
- package/dist/components/kemet-button/types.js +0 -2
- package/dist/components/kemet-button/types.js.map +0 -1
- package/dist/components/kemet-card/docs/stories.d.ts +0 -19
- package/dist/components/kemet-card/docs/stories.js +0 -120
- package/dist/components/kemet-card/docs/stories.js.map +0 -1
- package/dist/components/kemet-card/kemet-card.d.ts +0 -47
- package/dist/components/kemet-card/kemet-card.js +0 -65
- package/dist/components/kemet-card/kemet-card.js.map +0 -1
- package/dist/components/kemet-card/spec.d.ts +0 -1
- package/dist/components/kemet-card/spec.js +0 -31
- package/dist/components/kemet-card/spec.js.map +0 -1
- package/dist/components/kemet-card/styles.d.ts +0 -1
- package/dist/components/kemet-card/styles.js.map +0 -1
- package/dist/components/kemet-carousel/docs/stories.d.ts +0 -23
- package/dist/components/kemet-carousel/docs/stories.js +0 -180
- package/dist/components/kemet-carousel/docs/stories.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-current.js +0 -44
- package/dist/components/kemet-carousel/kemet-carousel-current.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-first.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-first.js +0 -57
- package/dist/components/kemet-carousel/kemet-carousel-first.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-last.js +0 -57
- package/dist/components/kemet-carousel/kemet-carousel-last.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-link.d.ts +0 -32
- package/dist/components/kemet-carousel/kemet-carousel-link.js +0 -74
- package/dist/components/kemet-carousel/kemet-carousel-link.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-next.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-next.js +0 -57
- package/dist/components/kemet-carousel/kemet-carousel-next.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-prev.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-prev.js +0 -57
- package/dist/components/kemet-carousel/kemet-carousel-prev.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-slide.d.ts +0 -29
- package/dist/components/kemet-carousel/kemet-carousel-slide.js +0 -53
- package/dist/components/kemet-carousel/kemet-carousel-slide.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +0 -26
- package/dist/components/kemet-carousel/kemet-carousel-total.js +0 -44
- package/dist/components/kemet-carousel/kemet-carousel-total.js.map +0 -1
- package/dist/components/kemet-carousel/kemet-carousel.d.ts +0 -118
- package/dist/components/kemet-carousel/kemet-carousel.js +0 -429
- package/dist/components/kemet-carousel/kemet-carousel.js.map +0 -1
- package/dist/components/kemet-carousel/spec.d.ts +0 -10
- package/dist/components/kemet-carousel/spec.js +0 -168
- package/dist/components/kemet-carousel/spec.js.map +0 -1
- package/dist/components/kemet-carousel/styles.d.ts +0 -1
- package/dist/components/kemet-carousel/styles.js.map +0 -1
- package/dist/components/kemet-checkbox/docs/stories.d.ts +0 -13
- package/dist/components/kemet-checkbox/docs/stories.js +0 -45
- package/dist/components/kemet-checkbox/docs/stories.js.map +0 -1
- package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +0 -71
- package/dist/components/kemet-checkbox/kemet-checkbox.js +0 -192
- package/dist/components/kemet-checkbox/kemet-checkbox.js.map +0 -1
- package/dist/components/kemet-checkbox/spec.d.ts +0 -1
- package/dist/components/kemet-checkbox/spec.js +0 -33
- package/dist/components/kemet-checkbox/spec.js.map +0 -1
- package/dist/components/kemet-checkbox/styles.d.ts +0 -1
- package/dist/components/kemet-checkbox/styles.js.map +0 -1
- package/dist/components/kemet-checkbox/types.d.ts +0 -15
- package/dist/components/kemet-checkbox/types.js +0 -2
- package/dist/components/kemet-checkbox/types.js.map +0 -1
- package/dist/components/kemet-combo/docs/stories.d.ts +0 -11
- package/dist/components/kemet-combo/docs/stories.js +0 -32
- package/dist/components/kemet-combo/docs/stories.js.map +0 -1
- package/dist/components/kemet-combo/kemet-combo.d.ts +0 -51
- package/dist/components/kemet-combo/kemet-combo.js +0 -163
- package/dist/components/kemet-combo/kemet-combo.js.map +0 -1
- package/dist/components/kemet-combo/spec.d.ts +0 -3
- package/dist/components/kemet-combo/spec.js +0 -46
- package/dist/components/kemet-combo/spec.js.map +0 -1
- package/dist/components/kemet-combo/styles.d.ts +0 -1
- package/dist/components/kemet-combo/styles.js.map +0 -1
- package/dist/components/kemet-count/docs/stories.d.ts +0 -11
- package/dist/components/kemet-count/docs/stories.js +0 -36
- package/dist/components/kemet-count/docs/stories.js.map +0 -1
- package/dist/components/kemet-count/kemet-count.d.ts +0 -39
- package/dist/components/kemet-count/kemet-count.js +0 -98
- package/dist/components/kemet-count/kemet-count.js.map +0 -1
- package/dist/components/kemet-count/spec.d.ts +0 -4
- package/dist/components/kemet-count/spec.js +0 -45
- package/dist/components/kemet-count/spec.js.map +0 -1
- package/dist/components/kemet-draggable/docs/stories.d.ts +0 -10
- package/dist/components/kemet-draggable/docs/stories.js +0 -25
- package/dist/components/kemet-draggable/docs/stories.js.map +0 -1
- package/dist/components/kemet-draggable/kemet-draggable.d.ts +0 -49
- package/dist/components/kemet-draggable/kemet-draggable.js +0 -138
- package/dist/components/kemet-draggable/kemet-draggable.js.map +0 -1
- package/dist/components/kemet-draggable/spec.d.ts +0 -1
- package/dist/components/kemet-draggable/spec.js +0 -30
- package/dist/components/kemet-draggable/spec.js.map +0 -1
- package/dist/components/kemet-drawer/docs/stories.d.ts +0 -16
- package/dist/components/kemet-drawer/docs/stories.js +0 -90
- package/dist/components/kemet-drawer/docs/stories.js.map +0 -1
- package/dist/components/kemet-drawer/kemet-drawer.d.ts +0 -48
- package/dist/components/kemet-drawer/kemet-drawer.js +0 -95
- package/dist/components/kemet-drawer/kemet-drawer.js.map +0 -1
- package/dist/components/kemet-drawer/spec.d.ts +0 -1
- package/dist/components/kemet-drawer/spec.js +0 -21
- package/dist/components/kemet-drawer/spec.js.map +0 -1
- package/dist/components/kemet-drawer/styles.d.ts +0 -2
- package/dist/components/kemet-drawer/styles.js.map +0 -1
- package/dist/components/kemet-drawer/types.d.ts +0 -2
- package/dist/components/kemet-drawer/types.js +0 -2
- package/dist/components/kemet-drawer/types.js.map +0 -1
- package/dist/components/kemet-fab/docs/stories.d.ts +0 -14
- package/dist/components/kemet-fab/docs/stories.js +0 -78
- package/dist/components/kemet-fab/docs/stories.js.map +0 -1
- package/dist/components/kemet-fab/kemet-fab.d.ts +0 -49
- package/dist/components/kemet-fab/kemet-fab.js +0 -101
- package/dist/components/kemet-fab/kemet-fab.js.map +0 -1
- package/dist/components/kemet-fab/spec.d.ts +0 -2
- package/dist/components/kemet-fab/spec.js +0 -43
- package/dist/components/kemet-fab/spec.js.map +0 -1
- package/dist/components/kemet-fab/styles.d.ts +0 -1
- package/dist/components/kemet-fab/styles.js.map +0 -1
- package/dist/components/kemet-fab/types.d.ts +0 -8
- package/dist/components/kemet-fab/types.js +0 -2
- package/dist/components/kemet-fab/types.js.map +0 -1
- package/dist/components/kemet-field/docs/stories.d.ts +0 -15
- package/dist/components/kemet-field/docs/stories.js +0 -55
- package/dist/components/kemet-field/docs/stories.js.map +0 -1
- package/dist/components/kemet-field/kemet-field.d.ts +0 -61
- package/dist/components/kemet-field/kemet-field.js +0 -139
- package/dist/components/kemet-field/kemet-field.js.map +0 -1
- package/dist/components/kemet-field/spec.d.ts +0 -2
- package/dist/components/kemet-field/spec.js +0 -38
- package/dist/components/kemet-field/spec.js.map +0 -1
- package/dist/components/kemet-field/styles.d.ts +0 -1
- package/dist/components/kemet-field/styles.js.map +0 -1
- package/dist/components/kemet-field/types.d.ts +0 -13
- package/dist/components/kemet-field/types.js +0 -2
- package/dist/components/kemet-field/types.js.map +0 -1
- package/dist/components/kemet-flipcard/docs/stories.d.ts +0 -14
- package/dist/components/kemet-flipcard/docs/stories.js +0 -60
- package/dist/components/kemet-flipcard/docs/stories.js.map +0 -1
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +0 -21
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +0 -41
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +0 -1
- package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +0 -52
- package/dist/components/kemet-flipcard/kemet-flipcard.js +0 -129
- package/dist/components/kemet-flipcard/kemet-flipcard.js.map +0 -1
- package/dist/components/kemet-flipcard/spec.d.ts +0 -3
- package/dist/components/kemet-flipcard/spec.js +0 -38
- package/dist/components/kemet-flipcard/spec.js.map +0 -1
- package/dist/components/kemet-flipcard/styles.d.ts +0 -1
- package/dist/components/kemet-flipcard/styles.js.map +0 -1
- package/dist/components/kemet-flipcard/types.d.ts +0 -7
- package/dist/components/kemet-flipcard/types.js +0 -2
- package/dist/components/kemet-flipcard/types.js.map +0 -1
- package/dist/components/kemet-icon/docs/stories.d.ts +0 -9
- package/dist/components/kemet-icon/docs/stories.js +0 -27
- package/dist/components/kemet-icon/docs/stories.js.map +0 -1
- package/dist/components/kemet-icon/kemet-icon.d.ts +0 -28
- package/dist/components/kemet-icon/kemet-icon.js +0 -114
- package/dist/components/kemet-icon/kemet-icon.js.map +0 -1
- package/dist/components/kemet-icon/spec.d.ts +0 -1
- package/dist/components/kemet-icon/spec.js +0 -69
- package/dist/components/kemet-icon/spec.js.map +0 -1
- package/dist/components/kemet-icon/styles.d.ts +0 -1
- package/dist/components/kemet-icon/styles.js +0 -9
- package/dist/components/kemet-icon/styles.js.map +0 -1
- package/dist/components/kemet-icon/types.d.ts +0 -5
- package/dist/components/kemet-icon/types.js +0 -2
- package/dist/components/kemet-icon/types.js.map +0 -1
- package/dist/components/kemet-input/docs/stories.d.ts +0 -13
- package/dist/components/kemet-input/docs/stories.js +0 -83
- package/dist/components/kemet-input/docs/stories.js.map +0 -1
- package/dist/components/kemet-input/kemet-input.d.ts +0 -174
- package/dist/components/kemet-input/kemet-input.js +0 -397
- package/dist/components/kemet-input/kemet-input.js.map +0 -1
- package/dist/components/kemet-input/spec.d.ts +0 -1
- package/dist/components/kemet-input/spec.js +0 -83
- package/dist/components/kemet-input/spec.js.map +0 -1
- package/dist/components/kemet-input/styles.d.ts +0 -1
- package/dist/components/kemet-input/styles.js.map +0 -1
- package/dist/components/kemet-input/types.d.ts +0 -35
- package/dist/components/kemet-input/types.js +0 -2
- package/dist/components/kemet-input/types.js.map +0 -1
- package/dist/components/kemet-modal/docs/stories.d.ts +0 -12
- package/dist/components/kemet-modal/docs/stories.js +0 -58
- package/dist/components/kemet-modal/docs/stories.js.map +0 -1
- package/dist/components/kemet-modal/kemet-modal-close.d.ts +0 -21
- package/dist/components/kemet-modal/kemet-modal-close.js +0 -40
- package/dist/components/kemet-modal/kemet-modal-close.js.map +0 -1
- package/dist/components/kemet-modal/kemet-modal.d.ts +0 -59
- package/dist/components/kemet-modal/kemet-modal.js +0 -150
- package/dist/components/kemet-modal/kemet-modal.js.map +0 -1
- package/dist/components/kemet-modal/styles.d.ts +0 -2
- package/dist/components/kemet-modal/styles.js.map +0 -1
- package/dist/components/kemet-modal/types.d.ts +0 -8
- package/dist/components/kemet-modal/types.js +0 -2
- package/dist/components/kemet-modal/types.js.map +0 -1
- package/dist/components/kemet-multi-input/docs/stories.d.ts +0 -8
- package/dist/components/kemet-multi-input/docs/stories.js +0 -33
- package/dist/components/kemet-multi-input/docs/stories.js.map +0 -1
- package/dist/components/kemet-multi-input/kemet-multi-input.d.ts +0 -116
- package/dist/components/kemet-multi-input/kemet-multi-input.js +0 -193
- package/dist/components/kemet-multi-input/kemet-multi-input.js.map +0 -1
- package/dist/components/kemet-multi-input/styles.d.ts +0 -1
- package/dist/components/kemet-multi-input/styles.js.map +0 -1
- package/dist/components/kemet-multi-input/types.d.ts +0 -5
- package/dist/components/kemet-multi-input/types.js +0 -2
- package/dist/components/kemet-multi-input/types.js.map +0 -1
- package/dist/components/kemet-password/docs/stories.d.ts +0 -10
- package/dist/components/kemet-password/docs/stories.js +0 -29
- package/dist/components/kemet-password/docs/stories.js.map +0 -1
- package/dist/components/kemet-password/kemet-password.d.ts +0 -83
- package/dist/components/kemet-password/kemet-password.js +0 -155
- package/dist/components/kemet-password/kemet-password.js.map +0 -1
- package/dist/components/kemet-password/styles.d.ts +0 -1
- package/dist/components/kemet-password/styles.js.map +0 -1
- package/dist/components/kemet-password/types.d.ts +0 -10
- package/dist/components/kemet-password/types.js +0 -2
- package/dist/components/kemet-password/types.js.map +0 -1
- package/dist/components/kemet-popper/docs/stories.d.ts +0 -12
- package/dist/components/kemet-popper/docs/stories.js +0 -65
- package/dist/components/kemet-popper/docs/stories.js.map +0 -1
- package/dist/components/kemet-popper/kemet-popper-close.d.ts +0 -22
- package/dist/components/kemet-popper/kemet-popper-close.js +0 -48
- package/dist/components/kemet-popper/kemet-popper-close.js.map +0 -1
- package/dist/components/kemet-popper/kemet-popper.d.ts +0 -72
- package/dist/components/kemet-popper/kemet-popper.js +0 -173
- package/dist/components/kemet-popper/kemet-popper.js.map +0 -1
- package/dist/components/kemet-popper/styles.d.ts +0 -1
- package/dist/components/kemet-popper/styles.effects.d.ts +0 -8
- package/dist/components/kemet-popper/styles.effects.js.map +0 -1
- package/dist/components/kemet-popper/styles.js +0 -37
- package/dist/components/kemet-popper/styles.js.map +0 -1
- package/dist/components/kemet-popper/types.d.ts +0 -3
- package/dist/components/kemet-popper/types.js +0 -2
- package/dist/components/kemet-popper/types.js.map +0 -1
- package/dist/components/kemet-radio/docs/stories.d.ts +0 -12
- package/dist/components/kemet-radio/docs/stories.js +0 -44
- package/dist/components/kemet-radio/docs/stories.js.map +0 -1
- package/dist/components/kemet-radio/kemet-radio.d.ts +0 -57
- package/dist/components/kemet-radio/kemet-radio.js +0 -130
- package/dist/components/kemet-radio/kemet-radio.js.map +0 -1
- package/dist/components/kemet-radio/kemet-radios.d.ts +0 -50
- package/dist/components/kemet-radio/kemet-radios.js +0 -149
- package/dist/components/kemet-radio/kemet-radios.js.map +0 -1
- package/dist/components/kemet-radio/spec.d.ts +0 -3
- package/dist/components/kemet-radio/spec.js +0 -67
- package/dist/components/kemet-radio/spec.js.map +0 -1
- package/dist/components/kemet-radio/styles.d.ts +0 -2
- package/dist/components/kemet-radio/styles.js.map +0 -1
- package/dist/components/kemet-radio/types.d.ts +0 -20
- package/dist/components/kemet-radio/types.js +0 -2
- package/dist/components/kemet-radio/types.js.map +0 -1
- package/dist/components/kemet-rotator/docs/stories.d.ts +0 -10
- package/dist/components/kemet-rotator/docs/stories.js +0 -34
- package/dist/components/kemet-rotator/docs/stories.js.map +0 -1
- package/dist/components/kemet-rotator/kemet-rotator.d.ts +0 -40
- package/dist/components/kemet-rotator/kemet-rotator.js +0 -121
- package/dist/components/kemet-rotator/kemet-rotator.js.map +0 -1
- package/dist/components/kemet-rotator/styles.d.ts +0 -1
- package/dist/components/kemet-rotator/styles.js.map +0 -1
- package/dist/components/kemet-rotator/types.d.ts +0 -9
- package/dist/components/kemet-rotator/types.js +0 -2
- package/dist/components/kemet-rotator/types.js.map +0 -1
- package/dist/components/kemet-scroll-link/docs/stories.d.ts +0 -9
- package/dist/components/kemet-scroll-link/docs/stories.js +0 -97
- package/dist/components/kemet-scroll-link/docs/stories.js.map +0 -1
- package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +0 -31
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js +0 -83
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +0 -1
- package/dist/components/kemet-scroll-link/types.d.ts +0 -6
- package/dist/components/kemet-scroll-link/types.js +0 -2
- package/dist/components/kemet-scroll-link/types.js.map +0 -1
- package/dist/components/kemet-scroll-nav/docs/stories.d.ts +0 -10
- package/dist/components/kemet-scroll-nav/docs/stories.js +0 -162
- package/dist/components/kemet-scroll-nav/docs/stories.js.map +0 -1
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +0 -34
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +0 -65
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +0 -1
- package/dist/components/kemet-scroll-nav/styles.d.ts +0 -1
- package/dist/components/kemet-scroll-nav/styles.js.map +0 -1
- package/dist/components/kemet-scroll-nav/types.d.ts +0 -6
- package/dist/components/kemet-scroll-nav/types.js +0 -2
- package/dist/components/kemet-scroll-nav/types.js.map +0 -1
- package/dist/components/kemet-scroll-snap/docs/stories.d.ts +0 -17
- package/dist/components/kemet-scroll-snap/docs/stories.js +0 -121
- package/dist/components/kemet-scroll-snap/docs/stories.js.map +0 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +0 -45
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +0 -120
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +0 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +0 -30
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +0 -53
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +0 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +0 -47
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +0 -117
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +0 -1
- package/dist/components/kemet-scroll-snap/styles.d.ts +0 -2
- package/dist/components/kemet-scroll-snap/styles.js.map +0 -1
- package/dist/components/kemet-scroll-snap/types.d.ts +0 -20
- package/dist/components/kemet-scroll-snap/types.js +0 -2
- package/dist/components/kemet-scroll-snap/types.js.map +0 -1
- package/dist/components/kemet-select/docs/stories.d.ts +0 -13
- package/dist/components/kemet-select/docs/stories.js +0 -49
- package/dist/components/kemet-select/docs/stories.js.map +0 -1
- package/dist/components/kemet-select/kemet-option.d.ts +0 -29
- package/dist/components/kemet-select/kemet-option.js +0 -45
- package/dist/components/kemet-select/kemet-option.js.map +0 -1
- package/dist/components/kemet-select/kemet-select.d.ts +0 -119
- package/dist/components/kemet-select/kemet-select.js +0 -198
- package/dist/components/kemet-select/kemet-select.js.map +0 -1
- package/dist/components/kemet-select/spec.d.ts +0 -3
- package/dist/components/kemet-select/spec.js +0 -53
- package/dist/components/kemet-select/spec.js.map +0 -1
- package/dist/components/kemet-select/styles.d.ts +0 -1
- package/dist/components/kemet-select/styles.js.map +0 -1
- package/dist/components/kemet-select/types.d.ts +0 -20
- package/dist/components/kemet-select/types.js +0 -2
- package/dist/components/kemet-select/types.js.map +0 -1
- package/dist/components/kemet-sortable/docs/stories.d.ts +0 -10
- package/dist/components/kemet-sortable/docs/stories.js +0 -29
- package/dist/components/kemet-sortable/docs/stories.js.map +0 -1
- package/dist/components/kemet-sortable/kemet-sortable-item.d.ts +0 -21
- package/dist/components/kemet-sortable/kemet-sortable-item.js +0 -30
- package/dist/components/kemet-sortable/kemet-sortable-item.js.map +0 -1
- package/dist/components/kemet-sortable/kemet-sortable.d.ts +0 -25
- package/dist/components/kemet-sortable/kemet-sortable.js +0 -77
- package/dist/components/kemet-sortable/kemet-sortable.js.map +0 -1
- package/dist/components/kemet-sortable/styles.d.ts +0 -2
- package/dist/components/kemet-sortable/styles.js.map +0 -1
- package/dist/components/kemet-sortable/types.d.ts +0 -3
- package/dist/components/kemet-sortable/types.js +0 -2
- package/dist/components/kemet-sortable/types.js.map +0 -1
- package/dist/components/kemet-svgs/docs/stories.d.ts +0 -10
- package/dist/components/kemet-svgs/docs/stories.js +0 -67
- package/dist/components/kemet-svgs/docs/stories.js.map +0 -1
- package/dist/components/kemet-svgs/kemet-svg.d.ts +0 -38
- package/dist/components/kemet-svgs/kemet-svg.js +0 -97
- package/dist/components/kemet-svgs/kemet-svg.js.map +0 -1
- package/dist/components/kemet-svgs/kemet-svgs.d.ts +0 -27
- package/dist/components/kemet-svgs/kemet-svgs.js +0 -51
- package/dist/components/kemet-svgs/kemet-svgs.js.map +0 -1
- package/dist/components/kemet-svgs/types.d.ts +0 -10
- package/dist/components/kemet-svgs/types.js +0 -2
- package/dist/components/kemet-svgs/types.js.map +0 -1
- package/dist/components/kemet-tabs/docs/stories.d.ts +0 -18
- package/dist/components/kemet-tabs/docs/stories.js +0 -142
- package/dist/components/kemet-tabs/docs/stories.js.map +0 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +0 -28
- package/dist/components/kemet-tabs/kemet-tab-panel.js +0 -55
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +0 -1
- package/dist/components/kemet-tabs/kemet-tab.d.ts +0 -38
- package/dist/components/kemet-tabs/kemet-tab.js +0 -82
- package/dist/components/kemet-tabs/kemet-tab.js.map +0 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +0 -100
- package/dist/components/kemet-tabs/kemet-tabs.js +0 -487
- package/dist/components/kemet-tabs/kemet-tabs.js.map +0 -1
- package/dist/components/kemet-tabs/styles.d.ts +0 -3
- package/dist/components/kemet-tabs/styles.js.map +0 -1
- package/dist/components/kemet-tabs/types.d.ts +0 -27
- package/dist/components/kemet-tabs/types.js +0 -2
- package/dist/components/kemet-tabs/types.js.map +0 -1
- package/dist/components/kemet-textarea/docs/stories.d.ts +0 -12
- package/dist/components/kemet-textarea/docs/stories.js +0 -58
- package/dist/components/kemet-textarea/docs/stories.js.map +0 -1
- package/dist/components/kemet-textarea/kemet-textarea.d.ts +0 -123
- package/dist/components/kemet-textarea/kemet-textarea.js +0 -293
- package/dist/components/kemet-textarea/kemet-textarea.js.map +0 -1
- package/dist/components/kemet-textarea/spec.d.ts +0 -3
- package/dist/components/kemet-textarea/spec.js +0 -69
- package/dist/components/kemet-textarea/spec.js.map +0 -1
- package/dist/components/kemet-textarea/styles.d.ts +0 -1
- package/dist/components/kemet-textarea/styles.js.map +0 -1
- package/dist/components/kemet-textarea/types.d.ts +0 -20
- package/dist/components/kemet-textarea/types.js +0 -2
- package/dist/components/kemet-textarea/types.js.map +0 -1
- package/dist/components/kemet-timer/docs/stories.d.ts +0 -10
- package/dist/components/kemet-timer/docs/stories.js +0 -40
- package/dist/components/kemet-timer/docs/stories.js.map +0 -1
- package/dist/components/kemet-timer/kemet-timer-display.d.ts +0 -25
- package/dist/components/kemet-timer/kemet-timer-display.js +0 -65
- package/dist/components/kemet-timer/kemet-timer-display.js.map +0 -1
- package/dist/components/kemet-timer/kemet-timer.d.ts +0 -36
- package/dist/components/kemet-timer/kemet-timer.js +0 -103
- package/dist/components/kemet-timer/kemet-timer.js.map +0 -1
- package/dist/components/kemet-timer/styles.d.ts +0 -2
- package/dist/components/kemet-timer/styles.js.map +0 -1
- package/dist/components/kemet-timer/types.d.ts +0 -1
- package/dist/components/kemet-timer/types.js +0 -2
- package/dist/components/kemet-timer/types.js.map +0 -1
- package/dist/components/kemet-toggle/docs/stories.d.ts +0 -11
- package/dist/components/kemet-toggle/docs/stories.js +0 -43
- package/dist/components/kemet-toggle/docs/stories.js.map +0 -1
- package/dist/components/kemet-toggle/kemet-toggle.d.ts +0 -60
- package/dist/components/kemet-toggle/kemet-toggle.js +0 -130
- package/dist/components/kemet-toggle/kemet-toggle.js.map +0 -1
- package/dist/components/kemet-toggle/spec.d.ts +0 -1
- package/dist/components/kemet-toggle/spec.js +0 -46
- package/dist/components/kemet-toggle/spec.js.map +0 -1
- package/dist/components/kemet-toggle/styles.d.ts +0 -1
- package/dist/components/kemet-toggle/styles.js.map +0 -1
- package/dist/components/kemet-toggle/types.d.ts +0 -10
- package/dist/components/kemet-toggle/types.js +0 -2
- package/dist/components/kemet-toggle/types.js.map +0 -1
- package/dist/components/kemet-tooltip/docs/stories.d.ts +0 -14
- package/dist/components/kemet-tooltip/docs/stories.js +0 -97
- package/dist/components/kemet-tooltip/docs/stories.js.map +0 -1
- package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +0 -33
- package/dist/components/kemet-tooltip/kemet-tooltip.js +0 -69
- package/dist/components/kemet-tooltip/kemet-tooltip.js.map +0 -1
- package/dist/components/kemet-tooltip/styles.d.ts +0 -1
- package/dist/components/kemet-tooltip/styles.js.map +0 -1
- package/dist/components/kemet-tooltip/types.d.ts +0 -3
- package/dist/components/kemet-tooltip/types.js +0 -2
- package/dist/components/kemet-tooltip/types.js.map +0 -1
- package/dist/components/kemet-tracker/docs/stories.d.ts +0 -11
- package/dist/components/kemet-tracker/docs/stories.js +0 -42
- package/dist/components/kemet-tracker/docs/stories.js.map +0 -1
- package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +0 -63
- package/dist/components/kemet-tracker/kemet-tracker-step.js +0 -127
- package/dist/components/kemet-tracker/kemet-tracker-step.js.map +0 -1
- package/dist/components/kemet-tracker/kemet-tracker.d.ts +0 -27
- package/dist/components/kemet-tracker/kemet-tracker.js +0 -70
- package/dist/components/kemet-tracker/kemet-tracker.js.map +0 -1
- package/dist/components/kemet-tracker/styles.d.ts +0 -1
- package/dist/components/kemet-tracker/styles.js.map +0 -1
- package/dist/components/kemet-tracker/types.d.ts +0 -13
- package/dist/components/kemet-tracker/types.js +0 -2
- package/dist/components/kemet-tracker/types.js.map +0 -1
- package/dist/components/kemet-upload/docs/stories.d.ts +0 -10
- package/dist/components/kemet-upload/docs/stories.js +0 -52
- package/dist/components/kemet-upload/docs/stories.js.map +0 -1
- package/dist/components/kemet-upload/kemet-upload-file.d.ts +0 -46
- package/dist/components/kemet-upload/kemet-upload-file.js +0 -109
- package/dist/components/kemet-upload/kemet-upload-file.js.map +0 -1
- package/dist/components/kemet-upload/kemet-upload.d.ts +0 -58
- package/dist/components/kemet-upload/kemet-upload.js +0 -149
- package/dist/components/kemet-upload/kemet-upload.js.map +0 -1
- package/dist/components/kemet-upload/styles.d.ts +0 -3
- package/dist/components/kemet-upload/styles.js.map +0 -1
- package/dist/components/kemet-upload/types.d.ts +0 -21
- package/dist/components/kemet-upload/types.js +0 -2
- package/dist/components/kemet-upload/types.js.map +0 -1
- package/dist/kemet-components.bundle.js +0 -83
- package/dist/kemet-components.bundle.js.map +0 -1
- package/dist/kemet-components.cjs +0 -12149
- package/dist/kemet-components.js +0 -12147
- package/dist/styles/components/_config.scss +0 -4
- package/dist/styles/components/accordion.scss +0 -9
- package/dist/styles/components/scrollsnap.scss +0 -11
- package/dist/styles/kemet.components.css +0 -23
- package/dist/styles/kemet.components.css.map +0 -1
- package/dist/styles/kemet.components.scss +0 -2
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utilities/controllers/forms.d.ts +0 -11
- package/dist/utilities/controllers/forms.js +0 -100
- package/dist/utilities/controllers/forms.js.map +0 -1
- package/dist/utilities/controllers/forms.spec.d.ts +0 -2
- package/dist/utilities/controllers/forms.spec.js +0 -36
- package/dist/utilities/controllers/forms.spec.js.map +0 -1
- package/dist/utilities/misc/constants.d.ts +0 -5
- package/dist/utilities/misc/constants.js +0 -6
- package/dist/utilities/misc/constants.js.map +0 -1
- package/dist/utilities/misc/drag.d.ts +0 -6
- package/dist/utilities/misc/drag.js +0 -63
- package/dist/utilities/misc/drag.js.map +0 -1
- package/dist/utilities/misc/events.d.ts +0 -1
- package/dist/utilities/misc/events.js +0 -4
- package/dist/utilities/misc/events.js.map +0 -1
- package/index.js +0 -1
|
@@ -1,397 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
|
4
|
-
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
5
|
-
import { live } from 'lit/directives/live.js';
|
|
6
|
-
import { FormSubmitController } from '../../utilities/controllers/forms';
|
|
7
|
-
import { emitEvent } from '../../utilities/misc/events';
|
|
8
|
-
import { stylesBase } from './styles';
|
|
9
|
-
/**
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
* @status stable
|
|
12
|
-
*
|
|
13
|
-
* @tagname kemet-input
|
|
14
|
-
* @summary An enhanced input element.
|
|
15
|
-
*
|
|
16
|
-
* @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.
|
|
17
|
-
* @prop {string} name - The name of the input
|
|
18
|
-
* @prop {string} placeholder - The placeholder attribute
|
|
19
|
-
* @prop {string} minlength - The minlength attribute
|
|
20
|
-
* @prop {string} maxlength - The maxlength attribute
|
|
21
|
-
* @prop {string} min - The min attribute
|
|
22
|
-
* @prop {string} max - The max attribute
|
|
23
|
-
* @prop {string} step - The step attribute
|
|
24
|
-
* @prop {string} autocomplete - The autocomplete attribute
|
|
25
|
-
* @prop {string} pattern - The pattern attribute
|
|
26
|
-
* @prop {string} inputmode - The input mode attribute
|
|
27
|
-
* @prop {boolean} autofocus - The autofocus attribute
|
|
28
|
-
* @prop {boolean} disabled - The disable attribute
|
|
29
|
-
* @prop {boolean} readonly - The readonly attribute
|
|
30
|
-
* @prop {boolean} required - The required attribute
|
|
31
|
-
* @prop {string} type - The type of input
|
|
32
|
-
* @prop {string} value - The input's value
|
|
33
|
-
* @prop {boolean} invalid - States whether the input is invalid
|
|
34
|
-
* @prop {string} status - The status of the input
|
|
35
|
-
* @prop {boolean} validateOnBlur - Activates validation on blur
|
|
36
|
-
* @prop {string} ariaAutoComplete - Aria Autocomplete
|
|
37
|
-
* @prop {string} ariaControls - Aria Controls
|
|
38
|
-
* @prop {string} ariaActiveDescendant - Aria Active Descendant
|
|
39
|
-
* @prop {boolean} rounded - Displays rounded corners
|
|
40
|
-
* @prop {boolean} filled - Displays a filled input box
|
|
41
|
-
* @prop {string} iconRight - Custom Icon to the right of the input
|
|
42
|
-
* @prop {string} iconLeft - Custom Icon to the left of the input
|
|
43
|
-
* @prop {number} iconSize - Size of the icons
|
|
44
|
-
* @prop {object} validity - The HTML5 validity object.
|
|
45
|
-
* @prop {boolean} isPasswordVisible - Manages password visibility
|
|
46
|
-
* @prop {string} inputType - Input Type of keypress handled through handleInput(e)
|
|
47
|
-
* @prop {boolean} focused - Determines if the input is focused
|
|
48
|
-
*
|
|
49
|
-
* @csspart input
|
|
50
|
-
*
|
|
51
|
-
* @cssproperty --kemet-input-height - The height of the input.
|
|
52
|
-
* @cssproperty --kemet-input-padding - The padding on the input.
|
|
53
|
-
* @cssproperty --kemet-input-border - The border of the input.
|
|
54
|
-
* @cssproperty --kemet-input-border-color-error - The border of the error state.
|
|
55
|
-
* @cssproperty --kemet-input-border-color-success - The border of the success state.
|
|
56
|
-
* @cssproperty --kemet-input-border-color-warning - The border of the warning state.
|
|
57
|
-
* @cssproperty --kemet-input-icon-left-padding - The icon-left padding.
|
|
58
|
-
* @cssproperty --kemet-input-icon-right-padding - The icon-right padding.
|
|
59
|
-
* @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.
|
|
60
|
-
* @cssproperty --kemet-input-border-filled - The border on filled.
|
|
61
|
-
* @cssproperty --kemet-input-color-filled - The color on filled.
|
|
62
|
-
* @cssproperty --kemet-input-background-color-filled - The background-color on filled.
|
|
63
|
-
* @cssproperty --kemet-input-background-color-error - The error state background color.
|
|
64
|
-
* @cssproperty --kemet-input-background-color-success - The success state background color.
|
|
65
|
-
* @cssproperty --kemet-input-background-color-warning - The warning state background color.
|
|
66
|
-
*
|
|
67
|
-
* @event kemet-input-focused - Fires when the input receives and loses focus
|
|
68
|
-
* @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.
|
|
69
|
-
* Use the validity object to support custom validation messages.
|
|
70
|
-
* @event kemet-input-input - Fires when the input receives input
|
|
71
|
-
*
|
|
72
|
-
*/
|
|
73
|
-
let KemetInput = class KemetInput extends LitElement {
|
|
74
|
-
constructor() {
|
|
75
|
-
super();
|
|
76
|
-
this.name = 'input';
|
|
77
|
-
this.type = 'text';
|
|
78
|
-
this.value = '';
|
|
79
|
-
this.status = 'standard';
|
|
80
|
-
this.validateOnBlur = false;
|
|
81
|
-
this.iconSize = 20;
|
|
82
|
-
this.isPasswordVisible = false;
|
|
83
|
-
this.focused = false;
|
|
84
|
-
/** @internal */
|
|
85
|
-
this.formSubmitController = new FormSubmitController(this);
|
|
86
|
-
}
|
|
87
|
-
firstUpdated() {
|
|
88
|
-
// elements
|
|
89
|
-
this.input = this.shadowRoot.querySelector('input');
|
|
90
|
-
this.field = this.closest('kemet-field');
|
|
91
|
-
this.form = this.closest('form');
|
|
92
|
-
this.slug = this.field ? this.field.slug : 'input';
|
|
93
|
-
if (this.field) {
|
|
94
|
-
this.field.addEventListener('kemet-password-status', (event) => this.handleStatus(event));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
render() {
|
|
98
|
-
return html `
|
|
99
|
-
<div>
|
|
100
|
-
${this.makeIconLeft()}
|
|
101
|
-
<input
|
|
102
|
-
part="input"
|
|
103
|
-
id=${this.slug}
|
|
104
|
-
name=${this.name}
|
|
105
|
-
placeholder=${ifDefined(this.placeholder)}
|
|
106
|
-
minlength=${ifDefined(this.minlength)}
|
|
107
|
-
maxlength=${ifDefined(this.maxlength)}
|
|
108
|
-
min=${ifDefined(this.min)}
|
|
109
|
-
max=${ifDefined(this.max)}
|
|
110
|
-
step=${ifDefined(this.step)}
|
|
111
|
-
autocomplete=${ifDefined(this.autocomplete)}
|
|
112
|
-
aria-autocomplete=${ifDefined(this.ariaAutoComplete)}
|
|
113
|
-
aria-controls=${ifDefined(this.ariaControls)}
|
|
114
|
-
aria-activedescendant=${ifDefined(this.ariaActiveDescendant)}
|
|
115
|
-
pattern=${ifDefined(this.pattern)}
|
|
116
|
-
inputmode=${ifDefined(this.inputmode)}
|
|
117
|
-
aria-invalid=${this.invalid ? 'true' : 'false'}
|
|
118
|
-
?autofocus=${this.autofocus}
|
|
119
|
-
?disabled=${this.disabled}
|
|
120
|
-
?readonly=${this.readonly}
|
|
121
|
-
?required=${this.required}
|
|
122
|
-
.type="${this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}"
|
|
123
|
-
.value=${live(this.value)}
|
|
124
|
-
@change=${this.handleChange}
|
|
125
|
-
@input=${this.handleInput}
|
|
126
|
-
@invalid=${this.handleInvalid}
|
|
127
|
-
@focus=${this.handleFocus}
|
|
128
|
-
@blur=${this.handleBlur}
|
|
129
|
-
/>
|
|
130
|
-
${this.makeIconRight()} ${this.makeIconClear()} ${this.makeVisibilityToggle()}
|
|
131
|
-
</div>
|
|
132
|
-
`;
|
|
133
|
-
}
|
|
134
|
-
makeIconRight() {
|
|
135
|
-
if (this.iconRight) {
|
|
136
|
-
return html `
|
|
137
|
-
<kemet-icon class="right" icon="${this.iconRight}" size="${this.iconSize ? this.iconSize : 20}"></kemet-icon>
|
|
138
|
-
`;
|
|
139
|
-
}
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
makeIconLeft() {
|
|
143
|
-
if (this.iconLeft) {
|
|
144
|
-
return html `
|
|
145
|
-
<kemet-icon class="left" icon="${this.iconLeft}" size="${this.iconSize ? this.iconSize : 16}"></kemet-icon>
|
|
146
|
-
`;
|
|
147
|
-
}
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
makeIconClear() {
|
|
151
|
-
if (this.type === 'search' && this.value !== '') {
|
|
152
|
-
return html `
|
|
153
|
-
<kemet-icon class="search right" icon="x-lg" size="${this.iconSize}" @click=${() => this.handleClear()}></kemet-icon>
|
|
154
|
-
`;
|
|
155
|
-
}
|
|
156
|
-
return null;
|
|
157
|
-
}
|
|
158
|
-
makeVisibilityToggle() {
|
|
159
|
-
if (this.type === 'password') {
|
|
160
|
-
return html `<kemet-icon
|
|
161
|
-
class="eye right"
|
|
162
|
-
icon="${this.setPasswordIcon()}"
|
|
163
|
-
@click=${() => this.togglePasswordVisibility()}
|
|
164
|
-
></kemet-icon>`;
|
|
165
|
-
}
|
|
166
|
-
return null;
|
|
167
|
-
}
|
|
168
|
-
setPasswordIcon() {
|
|
169
|
-
if (this.isPasswordVisible) {
|
|
170
|
-
return 'eye';
|
|
171
|
-
}
|
|
172
|
-
return 'eye-slash';
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Handles when the input receives focus
|
|
176
|
-
* @private
|
|
177
|
-
*/
|
|
178
|
-
handleFocus() {
|
|
179
|
-
this.focused = true;
|
|
180
|
-
emitEvent(this, 'kemet-input-focused', true);
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Handles when the input loses focus
|
|
184
|
-
* @private
|
|
185
|
-
*/
|
|
186
|
-
handleBlur() {
|
|
187
|
-
var _a, _b;
|
|
188
|
-
if (this.validateOnBlur && this.form && !this.form.noValidate) {
|
|
189
|
-
(_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity();
|
|
190
|
-
this.validity = (_b = this.input) === null || _b === void 0 ? void 0 : _b.validity;
|
|
191
|
-
}
|
|
192
|
-
this.focused = false;
|
|
193
|
-
emitEvent(this, 'kemet-input-focused', false);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Handles when the input changes value
|
|
197
|
-
* @private
|
|
198
|
-
*/
|
|
199
|
-
handleChange() {
|
|
200
|
-
this.value = this.input.value;
|
|
201
|
-
if (this.input.checkValidity() && this.checkLimitValidity() && this.status !== 'success') {
|
|
202
|
-
this.invalid = false;
|
|
203
|
-
this.status = 'standard';
|
|
204
|
-
this.validity = this.input.validity;
|
|
205
|
-
emitEvent(this, 'kemet-input-status', {
|
|
206
|
-
status: 'standard',
|
|
207
|
-
validity: this.input.validity,
|
|
208
|
-
element: this,
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Handles when the input receives input
|
|
214
|
-
* @private
|
|
215
|
-
*/
|
|
216
|
-
handleInput() {
|
|
217
|
-
this.value = this.input.value;
|
|
218
|
-
emitEvent(this, 'kemet-input-input', this.value);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Handles when the input has an error
|
|
222
|
-
* @private
|
|
223
|
-
*/
|
|
224
|
-
handleInvalid() {
|
|
225
|
-
var _a, _b;
|
|
226
|
-
this.validity = (_a = this.input) === null || _a === void 0 ? void 0 : _a.validity;
|
|
227
|
-
if (this.validateOnBlur) {
|
|
228
|
-
this.invalid = true;
|
|
229
|
-
this.status = 'error';
|
|
230
|
-
emitEvent(this, 'kemet-input-status', {
|
|
231
|
-
status: 'error',
|
|
232
|
-
validity: (_b = this.input) === null || _b === void 0 ? void 0 : _b.validity,
|
|
233
|
-
element: this,
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
handleStatus(event) {
|
|
238
|
-
this.status = event.detail.status;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Toggles password visibility
|
|
242
|
-
* @private
|
|
243
|
-
*/
|
|
244
|
-
togglePasswordVisibility() {
|
|
245
|
-
this.isPasswordVisible = !this.isPasswordVisible;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Handles the clear button for search
|
|
249
|
-
* @private
|
|
250
|
-
*/
|
|
251
|
-
handleClear() {
|
|
252
|
-
this.value = '';
|
|
253
|
-
emitEvent(this, 'kemet-input-input', this.value);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Checks the validity of the character limit for the count component
|
|
257
|
-
* @public
|
|
258
|
-
* @returns {boolean}
|
|
259
|
-
*/
|
|
260
|
-
checkLimitValidity() {
|
|
261
|
-
if (this.field) {
|
|
262
|
-
const count = this.field.querySelector('kemet-count');
|
|
263
|
-
if (count) {
|
|
264
|
-
return this.value.length < count.limit;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return true;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Checks the validity of the standard input
|
|
271
|
-
* @public
|
|
272
|
-
* @returns {boolean}
|
|
273
|
-
*/
|
|
274
|
-
checkValidity() {
|
|
275
|
-
var _a;
|
|
276
|
-
return (_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity();
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Focuses the standard input
|
|
280
|
-
* @public
|
|
281
|
-
*/
|
|
282
|
-
focus() {
|
|
283
|
-
var _a;
|
|
284
|
-
(_a = this.input) === null || _a === void 0 ? void 0 : _a.focus();
|
|
285
|
-
}
|
|
286
|
-
};
|
|
287
|
-
KemetInput.styles = [stylesBase];
|
|
288
|
-
__decorate([
|
|
289
|
-
property({ type: String })
|
|
290
|
-
], KemetInput.prototype, "slug", void 0);
|
|
291
|
-
__decorate([
|
|
292
|
-
property({ type: String })
|
|
293
|
-
], KemetInput.prototype, "name", void 0);
|
|
294
|
-
__decorate([
|
|
295
|
-
property({ type: String })
|
|
296
|
-
], KemetInput.prototype, "placeholder", void 0);
|
|
297
|
-
__decorate([
|
|
298
|
-
property({ type: Number })
|
|
299
|
-
], KemetInput.prototype, "minlength", void 0);
|
|
300
|
-
__decorate([
|
|
301
|
-
property({ type: Number })
|
|
302
|
-
], KemetInput.prototype, "maxlength", void 0);
|
|
303
|
-
__decorate([
|
|
304
|
-
property({ type: String })
|
|
305
|
-
], KemetInput.prototype, "min", void 0);
|
|
306
|
-
__decorate([
|
|
307
|
-
property({ type: String })
|
|
308
|
-
], KemetInput.prototype, "max", void 0);
|
|
309
|
-
__decorate([
|
|
310
|
-
property({ type: Number })
|
|
311
|
-
], KemetInput.prototype, "step", void 0);
|
|
312
|
-
__decorate([
|
|
313
|
-
property({ type: String })
|
|
314
|
-
], KemetInput.prototype, "autocomplete", void 0);
|
|
315
|
-
__decorate([
|
|
316
|
-
property({ type: String })
|
|
317
|
-
], KemetInput.prototype, "pattern", void 0);
|
|
318
|
-
__decorate([
|
|
319
|
-
property({ type: String })
|
|
320
|
-
], KemetInput.prototype, "inputmode", void 0);
|
|
321
|
-
__decorate([
|
|
322
|
-
property({ type: Boolean })
|
|
323
|
-
], KemetInput.prototype, "autofocus", void 0);
|
|
324
|
-
__decorate([
|
|
325
|
-
property({ type: Boolean, reflect: true })
|
|
326
|
-
], KemetInput.prototype, "disabled", void 0);
|
|
327
|
-
__decorate([
|
|
328
|
-
property({ type: Boolean })
|
|
329
|
-
], KemetInput.prototype, "readonly", void 0);
|
|
330
|
-
__decorate([
|
|
331
|
-
property({ type: Boolean, reflect: true })
|
|
332
|
-
], KemetInput.prototype, "required", void 0);
|
|
333
|
-
__decorate([
|
|
334
|
-
property({ type: String })
|
|
335
|
-
], KemetInput.prototype, "type", void 0);
|
|
336
|
-
__decorate([
|
|
337
|
-
property({ type: String, reflect: true })
|
|
338
|
-
], KemetInput.prototype, "value", void 0);
|
|
339
|
-
__decorate([
|
|
340
|
-
property({ type: Boolean, reflect: true })
|
|
341
|
-
], KemetInput.prototype, "invalid", void 0);
|
|
342
|
-
__decorate([
|
|
343
|
-
property({ type: String, reflect: true })
|
|
344
|
-
], KemetInput.prototype, "status", void 0);
|
|
345
|
-
__decorate([
|
|
346
|
-
property({ type: Boolean, attribute: 'validate-on-blur' })
|
|
347
|
-
], KemetInput.prototype, "validateOnBlur", void 0);
|
|
348
|
-
__decorate([
|
|
349
|
-
property({ type: String, attribute: 'aria-autocomplete' })
|
|
350
|
-
], KemetInput.prototype, "ariaAutoComplete", void 0);
|
|
351
|
-
__decorate([
|
|
352
|
-
property({ type: String, attribute: 'aria-controls' })
|
|
353
|
-
], KemetInput.prototype, "ariaControls", void 0);
|
|
354
|
-
__decorate([
|
|
355
|
-
property({ type: String, attribute: 'aria-activedescendant' })
|
|
356
|
-
], KemetInput.prototype, "ariaActiveDescendant", void 0);
|
|
357
|
-
__decorate([
|
|
358
|
-
property({ type: Boolean, reflect: true })
|
|
359
|
-
], KemetInput.prototype, "rounded", void 0);
|
|
360
|
-
__decorate([
|
|
361
|
-
property({ type: Boolean, reflect: true })
|
|
362
|
-
], KemetInput.prototype, "filled", void 0);
|
|
363
|
-
__decorate([
|
|
364
|
-
property({ type: String, reflect: true, attribute: 'icon-right' })
|
|
365
|
-
], KemetInput.prototype, "iconRight", void 0);
|
|
366
|
-
__decorate([
|
|
367
|
-
property({ type: String, reflect: true, attribute: 'icon-left' })
|
|
368
|
-
], KemetInput.prototype, "iconLeft", void 0);
|
|
369
|
-
__decorate([
|
|
370
|
-
property({ type: Number })
|
|
371
|
-
], KemetInput.prototype, "iconSize", void 0);
|
|
372
|
-
__decorate([
|
|
373
|
-
property({ type: Object })
|
|
374
|
-
], KemetInput.prototype, "validity", void 0);
|
|
375
|
-
__decorate([
|
|
376
|
-
property({ type: Boolean })
|
|
377
|
-
], KemetInput.prototype, "isPasswordVisible", void 0);
|
|
378
|
-
__decorate([
|
|
379
|
-
property({ type: String })
|
|
380
|
-
], KemetInput.prototype, "inputType", void 0);
|
|
381
|
-
__decorate([
|
|
382
|
-
property({ type: Boolean, reflect: true })
|
|
383
|
-
], KemetInput.prototype, "focused", void 0);
|
|
384
|
-
__decorate([
|
|
385
|
-
state()
|
|
386
|
-
], KemetInput.prototype, "field", void 0);
|
|
387
|
-
__decorate([
|
|
388
|
-
state()
|
|
389
|
-
], KemetInput.prototype, "form", void 0);
|
|
390
|
-
__decorate([
|
|
391
|
-
state()
|
|
392
|
-
], KemetInput.prototype, "input", void 0);
|
|
393
|
-
KemetInput = __decorate([
|
|
394
|
-
customElement('kemet-input')
|
|
395
|
-
], KemetInput);
|
|
396
|
-
export default KemetInput;
|
|
397
|
-
//# sourceMappingURL=kemet-input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-input.js","sourceRoot":"","sources":["../../../src/components/kemet-input/kemet-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesBase } from './styles';\nimport { TypeAriaAutoComplete, TypeAutoComplete, TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-input\n * @summary An enhanced input element.\n *\n * @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.\n * @prop {string} name - The name of the input\n * @prop {string} placeholder - The placeholder attribute\n * @prop {string} minlength - The minlength attribute\n * @prop {string} maxlength - The maxlength attribute\n * @prop {string} min - The min attribute\n * @prop {string} max - The max attribute\n * @prop {string} step - The step attribute\n * @prop {string} autocomplete - The autocomplete attribute\n * @prop {string} pattern - The pattern attribute\n * @prop {string} inputmode - The input mode attribute\n * @prop {boolean} autofocus - The autofocus attribute\n * @prop {boolean} disabled - The disable attribute\n * @prop {boolean} readonly - The readonly attribute\n * @prop {boolean} required - The required attribute\n * @prop {string} type - The type of input\n * @prop {string} value - The input's value\n * @prop {boolean} invalid - States whether the input is invalid\n * @prop {string} status - The status of the input\n * @prop {boolean} validateOnBlur - Activates validation on blur\n * @prop {string} ariaAutoComplete - Aria Autocomplete\n * @prop {string} ariaControls - Aria Controls\n * @prop {string} ariaActiveDescendant - Aria Active Descendant\n * @prop {boolean} rounded - Displays rounded corners\n * @prop {boolean} filled - Displays a filled input box\n * @prop {string} iconRight - Custom Icon to the right of the input\n * @prop {string} iconLeft - Custom Icon to the left of the input\n * @prop {number} iconSize - Size of the icons\n * @prop {object} validity - The HTML5 validity object.\n * @prop {boolean} isPasswordVisible - Manages password visibility\n * @prop {string} inputType - Input Type of keypress handled through handleInput(e)\n * @prop {boolean} focused - Determines if the input is focused\n *\n * @csspart input\n *\n * @cssproperty --kemet-input-height - The height of the input.\n * @cssproperty --kemet-input-padding - The padding on the input.\n * @cssproperty --kemet-input-border - The border of the input.\n * @cssproperty --kemet-input-border-color-error - The border of the error state.\n * @cssproperty --kemet-input-border-color-success - The border of the success state.\n * @cssproperty --kemet-input-border-color-warning - The border of the warning state.\n * @cssproperty --kemet-input-icon-left-padding - The icon-left padding.\n * @cssproperty --kemet-input-icon-right-padding - The icon-right padding.\n * @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.\n * @cssproperty --kemet-input-border-filled - The border on filled.\n * @cssproperty --kemet-input-color-filled - The color on filled.\n * @cssproperty --kemet-input-background-color-filled - The background-color on filled.\n * @cssproperty --kemet-input-background-color-error - The error state background color.\n * @cssproperty --kemet-input-background-color-success - The success state background color.\n * @cssproperty --kemet-input-background-color-warning - The warning state background color.\n *\n * @event kemet-input-focused - Fires when the input receives and loses focus\n * @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.\n * Use the validity object to support custom validation messages.\n * @event kemet-input-input - Fires when the input receives input\n *\n */\n\n@customElement('kemet-input')\nexport default class KemetInput extends LitElement {\n /** @internal */\n formSubmitController: FormSubmitController;\n\n static styles = [stylesBase];\n\n @property({ type: String })\n slug: string;\n\n @property({ type: String })\n name: string = 'input';\n\n @property({ type: String })\n placeholder: string;\n\n @property({ type: Number })\n minlength: number;\n\n @property({ type: Number })\n maxlength: number;\n\n @property({ type: String })\n min: string;\n\n @property({ type: String })\n max: string;\n\n @property({ type: Number })\n step: number;\n\n @property({ type: String })\n autocomplete: TypeAutoComplete;\n\n @property({ type: String })\n pattern: string;\n\n @property({ type: String })\n inputmode: string;\n\n @property({ type: Boolean })\n autofocus: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n readonly: boolean;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: String })\n type: string = 'text';\n\n @property({ type: String, reflect: true })\n value: string = '';\n\n @property({ type: Boolean, reflect: true })\n invalid: boolean;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: Boolean, attribute: 'validate-on-blur' })\n validateOnBlur: boolean = false;\n\n @property({ type: String, attribute: 'aria-autocomplete' })\n ariaAutoComplete: TypeAriaAutoComplete;\n\n @property({ type: String, attribute: 'aria-controls' })\n ariaControls: string;\n\n @property({ type: String, attribute: 'aria-activedescendant' })\n ariaActiveDescendant: string;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: String, reflect: true, attribute: 'icon-right' })\n iconRight: string;\n\n @property({ type: String, reflect: true, attribute: 'icon-left' })\n iconLeft: string;\n\n @property({ type: Number })\n iconSize: number = 20;\n\n @property({ type: Object })\n validity: object;\n\n @property({ type: Boolean })\n isPasswordVisible: boolean = false;\n\n @property({ type: String })\n inputType: string;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean = false;\n\n @state()\n field: KemetFieldInterface;\n\n @state()\n form: HTMLFormElement;\n\n @state()\n input: HTMLInputElement;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n // elements\n this.input = this.shadowRoot.querySelector('input');\n this.field = this.closest('kemet-field');\n this.form = this.closest('form');\n this.slug = this.field ? this.field.slug : 'input';\n\n if (this.field) {\n this.field.addEventListener('kemet-password-status', (event: CustomEvent) => this.handleStatus(event));\n }\n }\n\n render() {\n return html`\n <div>\n ${this.makeIconLeft()}\n <input\n part=\"input\"\n id=${this.slug}\n name=${this.name}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-autocomplete=${ifDefined(this.ariaAutoComplete)}\n aria-controls=${ifDefined(this.ariaControls)}\n aria-activedescendant=${ifDefined(this.ariaActiveDescendant)}\n pattern=${ifDefined(this.pattern)}\n inputmode=${ifDefined(this.inputmode)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .type=\"${this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}\"\n .value=${live(this.value)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${this.makeIconRight()} ${this.makeIconClear()} ${this.makeVisibilityToggle()}\n </div>\n `;\n }\n\n makeIconRight() {\n if (this.iconRight) {\n return html`\n <kemet-icon class=\"right\" icon=\"${this.iconRight}\" size=\"${this.iconSize ? this.iconSize : 20}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeIconLeft() {\n if (this.iconLeft) {\n return html`\n <kemet-icon class=\"left\" icon=\"${this.iconLeft}\" size=\"${this.iconSize ? this.iconSize : 16}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeIconClear() {\n if (this.type === 'search' && this.value !== '') {\n return html`\n <kemet-icon class=\"search right\" icon=\"x-lg\" size=\"${this.iconSize}\" @click=${() => this.handleClear()}></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeVisibilityToggle() {\n if (this.type === 'password') {\n return html`<kemet-icon\n class=\"eye right\"\n icon=\"${this.setPasswordIcon()}\"\n @click=${() => this.togglePasswordVisibility()}\n ></kemet-icon>`;\n }\n\n return null;\n }\n\n setPasswordIcon() {\n if (this.isPasswordVisible) {\n return 'eye';\n }\n\n return 'eye-slash';\n }\n\n /**\n * Handles when the input receives focus\n * @private\n */\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-input-focused', true);\n }\n\n /**\n * Handles when the input loses focus\n * @private\n */\n handleBlur() {\n if (this.validateOnBlur && this.form && !this.form.noValidate) {\n this.input?.checkValidity();\n this.validity = this.input?.validity;\n }\n\n this.focused = false;\n emitEvent(this, 'kemet-input-focused', false);\n }\n\n /**\n * Handles when the input changes value\n * @private\n */\n handleChange() {\n this.value = this.input.value;\n\n if (this.input.checkValidity() && this.checkLimitValidity() && this.status !== 'success') {\n this.invalid = false;\n this.status = 'standard';\n this.validity = this.input.validity;\n\n emitEvent(this, 'kemet-input-status', {\n status: 'standard',\n validity: this.input.validity,\n element: this,\n });\n }\n }\n\n /**\n * Handles when the input receives input\n * @private\n */\n handleInput() {\n this.value = this.input.value;\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Handles when the input has an error\n * @private\n */\n handleInvalid() {\n this.validity = this.input?.validity;\n\n if (this.validateOnBlur) {\n this.invalid = true;\n this.status = 'error';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'error',\n validity: this.input?.validity,\n element: this,\n });\n }\n }\n\n handleStatus(event: CustomEvent) {\n this.status = event.detail.status;\n }\n\n /**\n * Toggles password visibility\n * @private\n */\n togglePasswordVisibility() {\n this.isPasswordVisible = !this.isPasswordVisible;\n }\n\n /**\n * Handles the clear button for search\n * @private\n */\n handleClear() {\n this.value = '';\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Checks the validity of the character limit for the count component\n * @public\n * @returns {boolean}\n */\n checkLimitValidity(): boolean {\n if (this.field) {\n const count = this.field.querySelector('kemet-count');\n if (count) {\n return this.value.length < count.limit;\n }\n }\n\n return true;\n }\n\n /**\n * Checks the validity of the standard input\n * @public\n * @returns {boolean}\n */\n checkValidity(): boolean {\n return this.input?.checkValidity();\n }\n\n /**\n * Focuses the standard input\n * @public\n */\n focus() {\n this.input?.focus();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-input': KemetInput\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './kemet-input';
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { html, render } from 'lit';
|
|
2
|
-
import { expect } from '@wdio/globals';
|
|
3
|
-
import userEvent from '@testing-library/user-event';
|
|
4
|
-
import { fireEvent, waitFor } from '@testing-library/dom';
|
|
5
|
-
import './kemet-input';
|
|
6
|
-
describe('Input', () => {
|
|
7
|
-
const templates = {
|
|
8
|
-
default: html `<kemet-input></kemet-input>`,
|
|
9
|
-
disabled: html `<kemet-input disabled></kemet-input>`,
|
|
10
|
-
search: html `<kemet-input type="search"></kemet-input>`,
|
|
11
|
-
icons: html `<kemet-input icon-left="chevron-left" icon-right="chevron-right"></kemet-input>`,
|
|
12
|
-
validateImmediately: html `<kemet-input required validate-on-blur pattern="^[a-zA-Z0-9]*$"></kemet-input>`,
|
|
13
|
-
password: html `
|
|
14
|
-
<kemet-field slug="field" label="Password">
|
|
15
|
-
<kemet-input type="password" pattern="^[a-zA-Z0-9]*$" required validate-on-blur placeholder="Password"></kemet-input>
|
|
16
|
-
</kemet-field>
|
|
17
|
-
`,
|
|
18
|
-
};
|
|
19
|
-
it('handles changes to the input properly', async () => {
|
|
20
|
-
render(templates.default, document.body);
|
|
21
|
-
const kemetInput = document.querySelector('kemet-input');
|
|
22
|
-
await waitFor(async () => {
|
|
23
|
-
const input = kemetInput.shadowRoot.querySelector('input');
|
|
24
|
-
// TODO figure out why useEvent is not generating code coverage
|
|
25
|
-
fireEvent.change(input, { target: { value: 'test' } });
|
|
26
|
-
fireEvent.blur(input);
|
|
27
|
-
expect(kemetInput.status).toBe('standard');
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
it('focuses correctly', async () => {
|
|
31
|
-
render(templates.default, document.body);
|
|
32
|
-
const kemetInput = document.querySelector('kemet-input');
|
|
33
|
-
await waitFor(async () => {
|
|
34
|
-
kemetInput.focus();
|
|
35
|
-
fireEvent.focus(kemetInput.shadowRoot.querySelector('input'));
|
|
36
|
-
expect(kemetInput.focused).toBe(true);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
it('renders a left and right icon', async () => {
|
|
40
|
-
render(templates.icons, document.body);
|
|
41
|
-
});
|
|
42
|
-
it('should not set a value when user types into a disabled field', async () => {
|
|
43
|
-
render(templates.disabled, document.body);
|
|
44
|
-
const kemetInput = document.querySelector('kemet-input');
|
|
45
|
-
await waitFor(async () => {
|
|
46
|
-
await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');
|
|
47
|
-
await userEvent.click(document.body);
|
|
48
|
-
expect(kemetInput.value).toBeFalsy();
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
it('should error on blur when validate-on-blur is set and invalid value is entered', async () => {
|
|
52
|
-
render(templates.validateImmediately, document.body);
|
|
53
|
-
const kemetInput = document.querySelector('kemet-input');
|
|
54
|
-
await waitFor(async () => {
|
|
55
|
-
const input = kemetInput.shadowRoot.querySelector('input');
|
|
56
|
-
fireEvent.change(input, 'te$t');
|
|
57
|
-
fireEvent.blur(input);
|
|
58
|
-
expect(kemetInput.status).toBe('error');
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
it('should display a visibility icon and toggle it on a password input', async () => {
|
|
62
|
-
render(templates.password, document.body);
|
|
63
|
-
const passwordInput = document.querySelector('[type="password"]');
|
|
64
|
-
await waitFor(async () => {
|
|
65
|
-
const visibilityIcon = passwordInput.shadowRoot.querySelector('kemet-icon');
|
|
66
|
-
if (visibilityIcon)
|
|
67
|
-
await userEvent.click(visibilityIcon);
|
|
68
|
-
expect(visibilityIcon.getAttribute('icon')).toBe('eye');
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
it('should clear user text when close button is clicked on search type', async () => {
|
|
72
|
-
render(templates.search, document.body);
|
|
73
|
-
const kemetInput = document.querySelector('kemet-input');
|
|
74
|
-
await waitFor(async () => {
|
|
75
|
-
await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');
|
|
76
|
-
expect(kemetInput.value).toBe('random text');
|
|
77
|
-
const closeIcon = kemetInput.shadowRoot.querySelector('kemet-icon');
|
|
78
|
-
await userEvent.click(closeIcon);
|
|
79
|
-
expect(kemetInput.value).toBe('');
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/components/kemet-input/spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, render } from 'lit';\nimport { expect } from '@wdio/globals';\nimport userEvent from '@testing-library/user-event';\nimport { fireEvent, waitFor } from '@testing-library/dom';\n\nimport KemetIcon from '../kemet-icon/kemet-icon';\nimport './kemet-input';\n\ndescribe('Input', () => {\n const templates = {\n default: html`<kemet-input></kemet-input>`,\n disabled: html`<kemet-input disabled></kemet-input>`,\n search: html`<kemet-input type=\"search\"></kemet-input>`,\n icons: html`<kemet-input icon-left=\"chevron-left\" icon-right=\"chevron-right\"></kemet-input>`,\n validateImmediately: html`<kemet-input required validate-on-blur pattern=\"^[a-zA-Z0-9]*$\"></kemet-input>`,\n password: html`\n <kemet-field slug=\"field\" label=\"Password\">\n <kemet-input type=\"password\" pattern=\"^[a-zA-Z0-9]*$\" required validate-on-blur placeholder=\"Password\"></kemet-input>\n </kemet-field>\n `,\n };\n\n it('handles changes to the input properly', async () => {\n render(templates.default, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n const input = kemetInput.shadowRoot.querySelector('input');\n // TODO figure out why useEvent is not generating code coverage\n fireEvent.change(input, { target: { value: 'test' } });\n fireEvent.blur(input);\n expect(kemetInput.status).toBe('standard');\n });\n });\n\n it('focuses correctly', async () => {\n render(templates.default, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n kemetInput.focus();\n fireEvent.focus(kemetInput.shadowRoot.querySelector('input'));\n expect(kemetInput.focused).toBe(true);\n });\n });\n\n it('renders a left and right icon', async () => {\n render(templates.icons, document.body);\n });\n\n it('should not set a value when user types into a disabled field', async () => {\n render(templates.disabled, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');\n await userEvent.click(document.body);\n expect(kemetInput.value).toBeFalsy();\n });\n });\n\n it('should error on blur when validate-on-blur is set and invalid value is entered', async () => {\n render(templates.validateImmediately, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n const input = kemetInput.shadowRoot.querySelector('input');\n fireEvent.change(input, 'te$t');\n fireEvent.blur(input);\n expect(kemetInput.status).toBe('error');\n });\n });\n\n it('should display a visibility icon and toggle it on a password input', async () => {\n render(templates.password, document.body);\n const passwordInput = document.querySelector('[type=\"password\"]');\n\n await waitFor(async () => {\n const visibilityIcon = passwordInput.shadowRoot.querySelector('kemet-icon') as KemetIcon;\n if (visibilityIcon) await userEvent.click(visibilityIcon);\n expect(visibilityIcon.getAttribute('icon')).toBe('eye');\n });\n });\n\n it('should clear user text when close button is clicked on search type', async () => {\n render(templates.search, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');\n expect(kemetInput.value).toBe('random text');\n const closeIcon = kemetInput.shadowRoot.querySelector('kemet-icon') as KemetIcon;\n await userEvent.click(closeIcon);\n expect(kemetInput.value).toBe('');\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const stylesBase: import("lit").CSSResult;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiI5B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n :host {\n --kemet-input-height: 50px;\n --kemet-input-padding: 0.5rem 1rem;\n --kemet-input-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-input-border-color-error: 1px solid rgb(var(--kemet-color-error));\n --kemet-input-border-color-success: 1px solid rgb(var(--kemet-color-success));\n --kemet-input-border-color-warning: 1px solid rgb(var(--kemet-color-warning));\n --kemet-input-icon-left-padding: 3rem;\n --kemet-input-icon-right-padding: 3rem;\n --kemet-input-border-radius-rounded: var(--kemet-border-radius-md);\n --kemet-input-border-filled: none;\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-filled: rgb(var(--kemet-color-primary));\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-error: rgb(var(--kemet-color-error));\n --kemet-input-background-color-success: rgb(var(--kemet-color-success));\n --kemet-input-background-color-warning: rgb(var(--kemet-color-warning));\n\n position: relative;\n display: block;\n }\n\n input {\n color: rgb(var(--kemet-color-text));\n display: block;\n font-size: 1rem;\n width: 100%;\n height: var(--kemet-input-height);\n padding: var(--kemet-input-padding);\n border: var(--kemet-input-border);\n appearance: none;\n box-sizing: border-box;\n background-color: transparent;\n }\n\n input[type='color'] {\n min-width: 10rem;\n }\n\n input[type='search']::-webkit-search-decoration,\n input[type='search']::-webkit-search-cancel-button,\n input[type='search']::-webkit-search-results-button,\n input[type='search']::-webkit-search-results-decoration {\n display: none;\n }\n\n :host([status='error']) input {\n border: var(--kemet-input-border-color-error);\n }\n\n :host([status='success']) input {\n border: var(--kemet-input-border-color-success);\n }\n\n :host([status='warning']) input {\n border: var(--kemet-input-border-color-warning);\n }\n\n :host([disabled]) input {\n opacity: 0.5;\n }\n\n :host([icon-left]) input {\n padding-left: var(--kemet-input-icon-left-padding);\n }\n\n :host([icon-right]) input {\n padding-right: var(--kemet-input-icon-right-padding);\n }\n\n :host([rounded]) input {\n border-radius: var(--kemet-input-border-radius-rounded);\n }\n\n :host([filled]) input {\n border: var(--kemet-input-border-filled);\n color: var(--kemet-input-color-filled);\n background-color: var(--kemet-input-background-color-filled);\n }\n\n :host([filled]) kemet-icon,\n :host([filled]) input::placeholder {\n color: var(--kemet-input-color-filled);\n }\n\n :host([status='error'][filled]) input {\n background-color: var(--kemet-input-background-color-error);\n }\n\n :host([status='success'][filled]) input {\n background-color: var(--kemet-input-background-color-success);\n }\n\n :host([status='warning'][filled]) input {\n background-color: var(--kemet-input-background-color-warning);\n }\n\n kemet-icon {\n color: rgb(var(--kemet-color-text));\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n kemet-icon.left {\n left: 1rem;\n }\n\n kemet-icon.right {\n right: 1rem;\n }\n\n kemet-icon.eye,\n kemet-icon.search {\n cursor: pointer;\n }\n\n :host([status='error']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='warning']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='success']) kemet-icon {\n color: rgb(var(--kemet-color-success));\n }\n`;\n"]}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export type TypeStatus = 'standard' | 'error' | 'success' | 'warning';
|
|
2
|
-
export type TypeAriaAutoComplete = 'inline' | 'list' | 'both' | 'none';
|
|
3
|
-
export type TypeAutoComplete = 'on' | 'off' | 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-year' | 'bday-day' | 'bday-month' | 'billing' | 'cc-additional-name';
|
|
4
|
-
export interface KemetInputInterface extends HTMLElement {
|
|
5
|
-
slug?: string;
|
|
6
|
-
name?: string;
|
|
7
|
-
placeholder?: string;
|
|
8
|
-
minlength?: string;
|
|
9
|
-
maxlength?: string;
|
|
10
|
-
min?: string;
|
|
11
|
-
max?: string;
|
|
12
|
-
step?: string;
|
|
13
|
-
autocomplete?: string;
|
|
14
|
-
pattern?: string;
|
|
15
|
-
inputmode?: string;
|
|
16
|
-
disabled?: boolean;
|
|
17
|
-
readonly?: boolean;
|
|
18
|
-
required?: boolean;
|
|
19
|
-
type?: string;
|
|
20
|
-
value?: string;
|
|
21
|
-
invalid?: boolean;
|
|
22
|
-
status?: string;
|
|
23
|
-
validateOnBlur?: boolean;
|
|
24
|
-
ariaControls?: string;
|
|
25
|
-
ariaActiveDescendant?: string;
|
|
26
|
-
rounded?: boolean;
|
|
27
|
-
filled?: boolean;
|
|
28
|
-
iconRight?: string;
|
|
29
|
-
iconLeft?: string;
|
|
30
|
-
iconSize?: number;
|
|
31
|
-
validity?: object;
|
|
32
|
-
isPasswordVisible?: boolean;
|
|
33
|
-
inputType?: string;
|
|
34
|
-
focused?: boolean;
|
|
35
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/kemet-input/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TypeStatus = 'standard' | 'error' | 'success' | 'warning';\nexport type TypeAriaAutoComplete = 'inline' | 'list' | 'both' | 'none';\nexport type TypeAutoComplete = 'on' | 'off' | 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-year' | 'bday-day' | 'bday-month' | 'billing' | 'cc-additional-name';\n\nexport interface KemetInputInterface extends HTMLElement {\n slug?: string;\n name?: string;\n placeholder?: string;\n minlength?: string;\n maxlength?: string;\n min?: string;\n max?: string;\n step?: string;\n autocomplete?: string;\n pattern?: string;\n inputmode?: string;\n // autofocus?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n required?: boolean;\n type?: string;\n value?: string;\n invalid?: boolean;\n status?: string;\n validateOnBlur?: boolean;\n // ariaAutoComplete?: string;\n ariaControls?: string;\n ariaActiveDescendant?: string;\n rounded?: boolean;\n filled?: boolean;\n iconRight?: string;\n iconLeft?: string;\n iconSize?: number;\n validity?: object;\n isPasswordVisible?: boolean;\n inputType?: string;\n focused?: boolean;\n}\n\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
-
import '../kemet-modal';
|
|
3
|
-
import '../kemet-modal-close';
|
|
4
|
-
import '../../kemet-tabs/kemet-tabs';
|
|
5
|
-
import '../../kemet-tabs/kemet-tab';
|
|
6
|
-
import '../../kemet-tabs/kemet-tab-panel';
|
|
7
|
-
import '../../kemet-button/kemet-button';
|
|
8
|
-
declare const meta: Meta;
|
|
9
|
-
export default meta;
|
|
10
|
-
type Story = StoryObj;
|
|
11
|
-
export declare const Standard: Story;
|
|
12
|
-
export declare const Rounded: Story;
|