kemet-ui 3.0.0 → 3.1.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 +1588 -871
- package/dist/components/kemet-accordion/docs/stories.d.ts +12 -0
- package/dist/components/kemet-accordion/docs/stories.js +99 -0
- package/dist/components/kemet-accordion/docs/stories.js.map +1 -0
- package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +2 -2
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +1 -1
- package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
- package/dist/components/kemet-accordion/kemet-accordion.d.ts +3 -3
- package/dist/components/kemet-accordion/kemet-accordion.js +2 -1
- package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
- package/dist/components/kemet-accordion/spec.d.ts +2 -0
- package/dist/components/kemet-accordion/spec.js +132 -0
- package/dist/components/kemet-accordion/spec.js.map +1 -0
- package/dist/components/kemet-alert/docs/stories.d.ts +1 -1
- package/dist/components/kemet-alert/docs/stories.js +20 -19
- package/dist/components/kemet-alert/docs/stories.js.map +1 -1
- package/dist/components/kemet-alert/kemet-alert.d.ts +2 -2
- package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
- package/dist/components/kemet-alert/spec.d.ts +1 -0
- package/dist/components/kemet-alert/spec.js +35 -0
- package/dist/components/kemet-alert/spec.js.map +1 -0
- package/dist/components/kemet-alert/types.d.ts +1 -1
- package/dist/components/kemet-avatar/docs/stories.d.ts +1 -1
- package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
- package/dist/components/kemet-avatar/kemet-avatar.js.map +1 -1
- package/dist/components/kemet-avatar/kemet-avatars.js.map +1 -1
- package/dist/components/kemet-avatar/spec.d.ts +1 -0
- package/dist/components/kemet-avatar/spec.js +26 -0
- package/dist/components/kemet-avatar/spec.js.map +1 -0
- package/dist/components/kemet-badge/docs/stories.d.ts +1 -1
- package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
- package/dist/components/kemet-badge/spec.d.ts +1 -0
- package/dist/components/kemet-badge/spec.js +21 -0
- package/dist/components/kemet-badge/spec.js.map +1 -0
- package/dist/components/kemet-badge/types.d.ts +1 -1
- package/dist/components/kemet-button/docs/stories.d.ts +1 -1
- package/dist/components/kemet-button/kemet-button.d.ts +2 -2
- package/dist/components/kemet-button/kemet-button.js +10 -8
- package/dist/components/kemet-button/kemet-button.js.map +1 -1
- package/dist/components/kemet-button/spec.d.ts +1 -0
- package/dist/components/kemet-button/spec.js +49 -0
- package/dist/components/kemet-button/spec.js.map +1 -0
- package/dist/components/kemet-button/types.d.ts +1 -1
- package/dist/components/kemet-card/docs/stories.d.ts +1 -1
- package/dist/components/kemet-card/docs/stories.js.map +1 -1
- package/dist/components/kemet-card/kemet-card.d.ts +1 -1
- package/dist/components/kemet-card/kemet-card.js +1 -1
- package/dist/components/kemet-card/kemet-card.js.map +1 -1
- package/dist/components/kemet-card/spec.d.ts +1 -0
- package/dist/components/kemet-card/spec.js +31 -0
- package/dist/components/kemet-card/spec.js.map +1 -0
- package/dist/components/kemet-carousel/docs/stories.d.ts +1 -1
- package/dist/components/kemet-carousel/docs/stories.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-first.d.ts +1 -0
- package/dist/components/kemet-carousel/kemet-carousel-first.js +11 -4
- package/dist/components/kemet-carousel/kemet-carousel-first.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +2 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.js +12 -5
- package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-link.d.ts +1 -0
- package/dist/components/kemet-carousel/kemet-carousel-link.js +14 -4
- package/dist/components/kemet-carousel/kemet-carousel-link.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-next.d.ts +1 -0
- package/dist/components/kemet-carousel/kemet-carousel-next.js +11 -4
- package/dist/components/kemet-carousel/kemet-carousel-next.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-prev.d.ts +1 -0
- package/dist/components/kemet-carousel/kemet-carousel-prev.js +11 -4
- package/dist/components/kemet-carousel/kemet-carousel-prev.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-slide.js +5 -5
- package/dist/components/kemet-carousel/kemet-carousel-slide.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel.d.ts +18 -14
- package/dist/components/kemet-carousel/kemet-carousel.js +32 -13
- package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
- package/dist/components/kemet-carousel/spec.d.ts +10 -0
- package/dist/components/kemet-carousel/spec.js +168 -0
- package/dist/components/kemet-carousel/spec.js.map +1 -0
- package/dist/components/kemet-checkbox/docs/stories.d.ts +1 -1
- package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +4 -4
- package/dist/components/kemet-checkbox/kemet-checkbox.js +4 -4
- package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
- package/dist/components/kemet-checkbox/spec.d.ts +1 -0
- package/dist/components/kemet-checkbox/spec.js +33 -0
- package/dist/components/kemet-checkbox/spec.js.map +1 -0
- package/dist/components/kemet-checkbox/types.d.ts +1 -1
- package/dist/components/kemet-combo/docs/stories.d.ts +1 -1
- package/dist/components/kemet-combo/kemet-combo.d.ts +9 -8
- package/dist/components/kemet-combo/kemet-combo.js +18 -17
- package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
- package/dist/components/kemet-combo/spec.d.ts +3 -0
- package/dist/components/kemet-combo/spec.js +46 -0
- package/dist/components/kemet-combo/spec.js.map +1 -0
- package/dist/components/kemet-count/docs/stories.d.ts +1 -1
- package/dist/components/kemet-count/kemet-count.d.ts +1 -1
- package/dist/components/kemet-count/kemet-count.js +1 -1
- package/dist/components/kemet-count/kemet-count.js.map +1 -1
- package/dist/components/kemet-count/spec.d.ts +4 -0
- package/dist/components/kemet-count/spec.js +45 -0
- package/dist/components/kemet-count/spec.js.map +1 -0
- package/dist/components/kemet-draggable/docs/stories.d.ts +1 -1
- package/dist/components/kemet-draggable/kemet-draggable.d.ts +3 -3
- package/dist/components/kemet-draggable/kemet-draggable.js +6 -5
- package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
- package/dist/components/kemet-draggable/spec.d.ts +1 -0
- package/dist/components/kemet-draggable/spec.js +30 -0
- package/dist/components/kemet-draggable/spec.js.map +1 -0
- package/dist/components/kemet-drawer/docs/stories.d.ts +1 -1
- package/dist/components/kemet-drawer/kemet-drawer.d.ts +2 -2
- package/dist/components/kemet-drawer/kemet-drawer.js +2 -2
- package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
- package/dist/components/kemet-drawer/spec.d.ts +1 -0
- package/dist/components/kemet-drawer/spec.js +21 -0
- package/dist/components/kemet-drawer/spec.js.map +1 -0
- package/dist/components/kemet-drawer/styles.js +1 -0
- package/dist/components/kemet-drawer/styles.js.map +1 -1
- package/dist/components/kemet-drawer/types.d.ts +2 -2
- package/dist/components/kemet-fab/docs/stories.d.ts +1 -1
- package/dist/components/kemet-fab/kemet-fab.d.ts +1 -1
- package/dist/components/kemet-fab/kemet-fab.js +4 -10
- package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
- package/dist/components/kemet-fab/spec.d.ts +2 -0
- package/dist/components/kemet-fab/spec.js +43 -0
- package/dist/components/kemet-fab/spec.js.map +1 -0
- package/dist/components/kemet-field/docs/stories.d.ts +1 -1
- package/dist/components/kemet-field/kemet-field.d.ts +7 -7
- package/dist/components/kemet-field/kemet-field.js +9 -14
- package/dist/components/kemet-field/kemet-field.js.map +1 -1
- package/dist/components/kemet-field/spec.d.ts +2 -0
- package/dist/components/kemet-field/spec.js +38 -0
- package/dist/components/kemet-field/spec.js.map +1 -0
- package/dist/components/kemet-field/types.d.ts +1 -1
- package/dist/components/kemet-flipcard/docs/stories.d.ts +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +2 -3
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +2 -2
- package/dist/components/kemet-flipcard/kemet-flipcard.js +3 -5
- package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
- package/dist/components/kemet-flipcard/spec.d.ts +3 -0
- package/dist/components/kemet-flipcard/spec.js +38 -0
- package/dist/components/kemet-flipcard/spec.js.map +1 -0
- package/dist/components/kemet-icon/docs/stories.d.ts +1 -1
- package/dist/components/kemet-icon/kemet-icon.js +1 -1
- package/dist/components/kemet-icon/kemet-icon.js.map +1 -1
- package/dist/components/kemet-icon/spec.d.ts +1 -0
- package/dist/components/kemet-icon/spec.js +69 -0
- package/dist/components/kemet-icon/spec.js.map +1 -0
- package/dist/components/kemet-input/docs/stories.d.ts +1 -1
- package/dist/components/kemet-input/kemet-input.d.ts +3 -22
- package/dist/components/kemet-input/kemet-input.js +3 -23
- package/dist/components/kemet-input/kemet-input.js.map +1 -1
- package/dist/components/kemet-input/spec.d.ts +1 -0
- package/dist/components/kemet-input/spec.js +83 -0
- package/dist/components/kemet-input/spec.js.map +1 -0
- package/dist/components/kemet-input/types.d.ts +3 -3
- package/dist/components/kemet-modal/docs/stories.d.ts +1 -1
- package/dist/components/kemet-modal/docs/stories.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal.d.ts +4 -4
- package/dist/components/kemet-modal/kemet-modal.js +3 -3
- package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
- package/dist/components/kemet-modal/types.d.ts +1 -1
- package/dist/components/kemet-multi-input/docs/stories.d.ts +8 -0
- package/dist/components/kemet-multi-input/docs/stories.js +33 -0
- package/dist/components/kemet-multi-input/docs/stories.js.map +1 -0
- package/dist/components/kemet-multi-input/kemet-multi-input.d.ts +116 -0
- package/dist/components/kemet-multi-input/kemet-multi-input.js +193 -0
- package/dist/components/kemet-multi-input/kemet-multi-input.js.map +1 -0
- package/dist/components/kemet-multi-input/styles.d.ts +1 -0
- package/dist/components/kemet-multi-input/styles.js +87 -0
- package/dist/components/kemet-multi-input/styles.js.map +1 -0
- package/dist/components/kemet-multi-input/types.d.ts +5 -0
- package/dist/components/kemet-multi-input/types.js +2 -0
- package/dist/components/kemet-multi-input/types.js.map +1 -0
- package/dist/components/kemet-password/docs/stories.d.ts +1 -1
- package/dist/components/kemet-password/kemet-password.d.ts +14 -8
- package/dist/components/kemet-password/kemet-password.js +4 -33
- package/dist/components/kemet-password/kemet-password.js.map +1 -1
- package/dist/components/kemet-password/types.d.ts +1 -1
- package/dist/components/kemet-popper/docs/stories.d.ts +1 -1
- package/dist/components/kemet-popper/kemet-popper-close.d.ts +1 -1
- package/dist/components/kemet-popper/kemet-popper-close.js +2 -3
- package/dist/components/kemet-popper/kemet-popper-close.js.map +1 -1
- package/dist/components/kemet-popper/kemet-popper.d.ts +18 -7
- package/dist/components/kemet-popper/kemet-popper.js +21 -25
- package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
- package/dist/components/kemet-popper/types.d.ts +3 -3
- package/dist/components/kemet-radio/docs/stories.d.ts +1 -1
- package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
- package/dist/components/kemet-radio/kemet-radios.d.ts +5 -4
- package/dist/components/kemet-radio/kemet-radios.js +10 -4
- package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
- package/dist/components/kemet-radio/spec.d.ts +3 -0
- package/dist/components/kemet-radio/spec.js +67 -0
- package/dist/components/kemet-radio/spec.js.map +1 -0
- package/dist/components/kemet-radio/types.d.ts +2 -2
- package/dist/components/kemet-rotator/docs/stories.d.ts +1 -1
- package/dist/components/kemet-rotator/kemet-rotator.d.ts +1 -1
- package/dist/components/kemet-rotator/kemet-rotator.js +1 -2
- package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
- package/dist/components/kemet-rotator/types.d.ts +1 -1
- package/dist/components/kemet-scroll-link/docs/stories.d.ts +1 -1
- package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +2 -2
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js +11 -10
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +1 -1
- package/dist/components/kemet-scroll-nav/docs/stories.d.ts +1 -1
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +2 -2
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +2 -7
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
- package/dist/components/kemet-scroll-nav/types.d.ts +1 -1
- package/dist/components/kemet-scroll-snap/docs/stories.d.ts +1 -1
- package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +5 -4
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +3 -2
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +2 -7
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
- package/dist/components/kemet-scroll-snap/types.d.ts +2 -2
- package/dist/components/kemet-select/docs/stories.d.ts +1 -1
- package/dist/components/kemet-select/kemet-option.d.ts +1 -1
- package/dist/components/kemet-select/kemet-option.js +1 -1
- package/dist/components/kemet-select/kemet-option.js.map +1 -1
- package/dist/components/kemet-select/kemet-select.d.ts +19 -10
- package/dist/components/kemet-select/kemet-select.js +3 -44
- package/dist/components/kemet-select/kemet-select.js.map +1 -1
- package/dist/components/kemet-select/spec.d.ts +3 -0
- package/dist/components/kemet-select/spec.js +53 -0
- package/dist/components/kemet-select/spec.js.map +1 -0
- package/dist/components/kemet-sortable/docs/stories.d.ts +1 -1
- package/dist/components/kemet-sortable/docs/stories.js.map +1 -1
- package/dist/components/kemet-sortable/kemet-sortable-item.js.map +1 -1
- package/dist/components/kemet-sortable/kemet-sortable.d.ts +5 -5
- package/dist/components/kemet-sortable/kemet-sortable.js +5 -5
- package/dist/components/kemet-sortable/kemet-sortable.js.map +1 -1
- package/dist/components/kemet-svgs/docs/stories.d.ts +1 -1
- package/dist/components/kemet-svgs/docs/stories.js.map +1 -1
- package/dist/components/kemet-svgs/kemet-svg.js.map +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.d.ts +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.js +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.js.map +1 -1
- package/dist/components/kemet-tabs/docs/stories.d.ts +1 -1
- package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +1 -0
- package/dist/components/kemet-tabs/kemet-tab-panel.js +3 -0
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab.d.ts +1 -0
- package/dist/components/kemet-tabs/kemet-tab.js +4 -1
- package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +23 -14
- package/dist/components/kemet-tabs/kemet-tabs.js +3 -47
- package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
- package/dist/components/kemet-tabs/types.d.ts +3 -3
- package/dist/components/kemet-textarea/docs/stories.d.ts +1 -1
- package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
- package/dist/components/kemet-textarea/spec.d.ts +3 -0
- package/dist/components/kemet-textarea/spec.js +69 -0
- package/dist/components/kemet-textarea/spec.js.map +1 -0
- package/dist/components/kemet-textarea/types.d.ts +1 -1
- package/dist/components/kemet-timer/docs/stories.d.ts +10 -0
- package/dist/components/kemet-timer/docs/stories.js +40 -0
- package/dist/components/kemet-timer/docs/stories.js.map +1 -0
- package/dist/components/kemet-timer/kemet-timer-display.d.ts +25 -0
- package/dist/components/kemet-timer/kemet-timer-display.js +65 -0
- package/dist/components/kemet-timer/kemet-timer-display.js.map +1 -0
- package/dist/components/kemet-timer/kemet-timer.d.ts +36 -0
- package/dist/components/kemet-timer/kemet-timer.js +103 -0
- package/dist/components/kemet-timer/kemet-timer.js.map +1 -0
- package/dist/components/kemet-timer/styles.d.ts +2 -0
- package/dist/components/kemet-timer/styles.js +12 -0
- package/dist/components/kemet-timer/styles.js.map +1 -0
- package/dist/components/kemet-timer/types.d.ts +1 -0
- package/dist/components/kemet-timer/types.js +2 -0
- package/dist/components/kemet-timer/types.js.map +1 -0
- package/dist/components/kemet-toggle/docs/stories.d.ts +1 -1
- package/dist/components/kemet-toggle/kemet-toggle.d.ts +3 -3
- package/dist/components/kemet-toggle/kemet-toggle.js +3 -3
- package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
- package/dist/components/kemet-toggle/spec.d.ts +1 -0
- package/dist/components/kemet-toggle/spec.js +46 -0
- package/dist/components/kemet-toggle/spec.js.map +1 -0
- package/dist/components/kemet-tooltip/docs/stories.d.ts +1 -1
- package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +2 -2
- package/dist/components/kemet-tooltip/kemet-tooltip.js +13 -12
- package/dist/components/kemet-tooltip/kemet-tooltip.js.map +1 -1
- package/dist/components/kemet-tooltip/types.d.ts +3 -3
- package/dist/components/kemet-tracker/docs/stories.d.ts +1 -1
- package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
- package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +2 -2
- package/dist/components/kemet-tracker/kemet-tracker-step.js +2 -2
- package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
- package/dist/components/kemet-tracker/kemet-tracker.d.ts +2 -1
- package/dist/components/kemet-tracker/kemet-tracker.js.map +1 -1
- package/dist/components/kemet-upload/docs/stories.d.ts +1 -1
- package/dist/components/kemet-upload/kemet-upload-file.js +1 -2
- package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload.d.ts +3 -3
- package/dist/components/kemet-upload/kemet-upload.js +3 -8
- package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
- package/dist/kemet-components.bundle.js +82 -86
- package/dist/kemet-components.bundle.js.map +1 -1
- package/dist/kemet-components.cjs +3320 -2985
- package/dist/kemet-components.js +3320 -2985
- package/dist/styles/kemet.base.css +24 -2
- package/dist/styles/kemet.base.css.map +1 -1
- package/dist/styles/kemet.core.css +266 -562
- package/dist/styles/kemet.core.css.map +1 -1
- package/dist/styles/shared/_config.scss +25 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/controllers/forms.js +16 -18
- package/dist/utilities/controllers/forms.js.map +1 -1
- package/dist/utilities/controllers/forms.spec.d.ts +2 -0
- package/dist/utilities/controllers/forms.spec.js +36 -0
- package/dist/utilities/controllers/forms.spec.js.map +1 -0
- package/dist/utilities/misc/drag.d.ts +6 -0
- package/dist/utilities/misc/drag.js +63 -0
- package/dist/utilities/misc/drag.js.map +1 -0
- package/package.json +50 -35
- package/dist/components/kemet-accordion/stories.d.ts +0 -12
- package/dist/components/kemet-accordion/stories.js +0 -47
- package/dist/components/kemet-accordion/stories.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-modal.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"kemet-modal.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport {\n customElement, property, query, state,\n} from 'lit/decorators.js';\nimport { stylesBase, stylesEffects } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-modal\n * @summary A dialog that has many built-in effects and flexible styles.\n *\n * @prop {boolean} opened\n * @prop {string} effect\n * @prop {boolean} closeOnClick\n * @prop {string} breakpoint\n * @prop {boolean} mobile\n *\n * @csspart dialog - The main contents of the modal.\n * @csspart overlay - The surrounding scrim of the modal.\n *\n * @cssproperty --kemet-modal-radius - The mount of rounding for rounded corners\n * @cssproperty --kemet-modal-dialog-min-width - The minimum width of the dialog.\n * @cssproperty --kemet-modal-dialog-max-width - The maximum width of the dialog.\n * @cssproperty --kemet-modal-dialog-background-color - The background color of the dialog.\n * @cssproperty --kemet-modal-dialog-mobile-width - The width of the mobile dialog.\n * @cssproperty --kemet-modal-dialog-mobile-margin - The margins of the mobile dialog.\n * @cssproperty --kemet-modal-dialog-mobile-padding - The padding of the mobile dialog.\n * @cssproperty --kemet-modal-overlay-background-color - The color of the backdrop overlay.\n *\n * @event kemet-modal-opened - Fires when the modal opens\n * @event kemet-modal-closed - Fires when the modal closes\n *\n */\n\n@customElement('kemet-modal')\nexport default class KemetModal extends LitElement {\n static styles = [stylesBase, stylesEffects];\n\n @property({ type: Boolean, reflect: true })\n opened: boolean = false;\n\n @property({ type: String, reflect: true })\n effect: TypeEffect;\n\n @property({ type: Boolean, attribute: 'close-on-click' })\n closeOnClick: boolean = false;\n\n @property({ type: String })\n breakpoint: string = '600px';\n\n @property({ type: Boolean, reflect: true })\n mobile: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n /** @internal */\n @query('dialog')\n dialogElement: HTMLDialogElement;\n\n /** @internal */\n @state()\n focusableSelector: string;\n\n /** @internal */\n @state()\n focusableElements: NodeListOf<Element>;\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-modal-close-pressed', () => { this.handleClose(); });\n }\n\n firstUpdated() {\n // standard properties\n /** @internal */\n this.focusableSelector = 'body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]';\n this.focusableElements = this.querySelectorAll(this.focusableSelector);\n\n // events\n this.addEventListener('keyup', (event) => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n });\n\n this.addEventListener('click', (event) => {\n const targetElement = event.target as HTMLElement;\n if (this.opened && this.closeOnClick && targetElement.tagName.toLowerCase() === 'kemet-modal') {\n this.handleClose();\n }\n });\n\n window.addEventListener('resize', () => {\n this.isMobile();\n });\n\n this.focusableElements.forEach((element) => {\n element.addEventListener('keydown', (event: KeyboardEvent) => this.handleFocusableDown(event));\n });\n }\n\n updated(prevProps: Map<string, never>) {\n if (!prevProps.get('opened') && this.opened === true) {\n this.handleOpen();\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n this.handleClose();\n }\n\n this.isMobile();\n }\n\n render() {\n return html`\n <dialog part=\"dialog\" @close=${() => this.handleClose()}>\n <slot></slot>\n </dialog>\n <div class=\"overlay\" part=\"overlay\"></div>\n `;\n }\n\n isMobile() {\n const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);\n this.mobile = mediaQuery.matches;\n }\n\n handleOpen() {\n this.opened = true;\n if (this.dialogElement?.showModal) this.dialogElement.showModal();\n emitEvent(this, 'kemet-modal-opened', this);\n }\n\n handleClose() {\n this.opened = false;\n if (this.dialogElement?.close) this.dialogElement.close();\n emitEvent(this, 'kemet-modal-closed', this);\n }\n\n handleFocusableDown(event: KeyboardEvent) {\n const firstFocusable = this.focusableElements[0] as HTMLElement;\n const lastFocusable = this.focusableElements[this.focusableElements.length - 1] as HTMLElement;\n\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstFocusable) {\n event.preventDefault();\n lastFocusable.focus();\n } else if (!event.shiftKey && document.activeElement === lastFocusable) {\n event.preventDefault();\n firstFocusable.focus();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-modal': KemetModal\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type TypeEffect = 'fadein-scaleup' | 'slide-right' | 'slide-bottom' | 'newspaper' | 'fall' | 'side-fall' | 'flip-horizontal' | 'flip-vertical' | 'sign-3d' | 'super-scaled' | 'slit' | 'rotate-bottom' | 'rotate-left';
|
|
2
2
|
export interface KemetModalInterface extends HTMLElement {
|
|
3
3
|
opened?: boolean;
|
|
4
4
|
effect?: TypeEffect;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
import '../kemet-multi-input';
|
|
3
|
+
import '../../kemet-field/kemet-field';
|
|
4
|
+
import '../../kemet-combo/kemet-combo';
|
|
5
|
+
declare const meta: Meta;
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj;
|
|
8
|
+
export declare const Standard: Story;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import '../kemet-multi-input';
|
|
3
|
+
import '../../kemet-field/kemet-field';
|
|
4
|
+
import '../../kemet-combo/kemet-combo';
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Components / Multi Input',
|
|
7
|
+
component: 'kemet-multi-input',
|
|
8
|
+
args: {
|
|
9
|
+
options: [
|
|
10
|
+
'Art',
|
|
11
|
+
'Automotive',
|
|
12
|
+
'Bar',
|
|
13
|
+
'Beauty',
|
|
14
|
+
'Contractor',
|
|
15
|
+
'Finance',
|
|
16
|
+
'Market',
|
|
17
|
+
'Medical',
|
|
18
|
+
'Restaurant',
|
|
19
|
+
'Technology',
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export default meta;
|
|
24
|
+
const Template = args => html `
|
|
25
|
+
<kemet-field slug="categories" label="Categories">
|
|
26
|
+
<kemet-multi-input slot="input" name="categories" rounded></kemet-multi-input>
|
|
27
|
+
<kemet-combo slot="component" .options=${args.options}></kemet-combo>
|
|
28
|
+
</kemet-field>
|
|
29
|
+
`;
|
|
30
|
+
export const Standard = {
|
|
31
|
+
render: args => Template(args),
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-multi-input/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AAEvC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,KAAK;YACL,YAAY;YACZ,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,SAAS;YACT,YAAY;YACZ,YAAY;SACb;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;;6CAGgB,IAAI,CAAC,OAAO;;CAExD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-multi-input';\nimport '../../kemet-field/kemet-field';\nimport '../../kemet-combo/kemet-combo';\n\nconst meta: Meta = {\n title: 'Components / Multi Input',\n component: 'kemet-multi-input',\n args: {\n options: [\n 'Art',\n 'Automotive',\n 'Bar',\n 'Beauty',\n 'Contractor',\n 'Finance',\n 'Market',\n 'Medical',\n 'Restaurant',\n 'Technology',\n ],\n },\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = args => html`\n <kemet-field slug=\"categories\" label=\"Categories\">\n <kemet-multi-input slot=\"input\" name=\"categories\" rounded></kemet-multi-input>\n <kemet-combo slot=\"component\" .options=${args.options}></kemet-combo>\n </kemet-field>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { IComboSelection } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* @since 3.1.0
|
|
5
|
+
* @status stable
|
|
6
|
+
*
|
|
7
|
+
* @tagname kemet-multi-input
|
|
8
|
+
* @summary An input element that accepts multiple items from a combo.
|
|
9
|
+
*
|
|
10
|
+
* @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.
|
|
11
|
+
* @prop {string} name - The name of the input
|
|
12
|
+
* @prop {string} placeholder - The placeholder attribute
|
|
13
|
+
* @prop {string} minlength - The minlength attribute
|
|
14
|
+
* @prop {string} maxlength - The maxlength attribute
|
|
15
|
+
* @prop {string} min - The min attribute
|
|
16
|
+
* @prop {string} max - The max attribute
|
|
17
|
+
* @prop {string} step - The step attribute
|
|
18
|
+
* @prop {string} autocomplete - The autocomplete attribute
|
|
19
|
+
* @prop {string} pattern - The pattern attribute
|
|
20
|
+
* @prop {string} inputmode - The input mode attribute
|
|
21
|
+
* @prop {boolean} autofocus - The autofocus attribute
|
|
22
|
+
* @prop {boolean} disabled - The disable attribute
|
|
23
|
+
* @prop {boolean} readonly - The readonly attribute
|
|
24
|
+
* @prop {boolean} required - The required attribute
|
|
25
|
+
* @prop {string} type - The type of input
|
|
26
|
+
* @prop {string} value - The input's value
|
|
27
|
+
* @prop {boolean} invalid - States whether the input is invalid
|
|
28
|
+
* @prop {string} status - The status of the input
|
|
29
|
+
* @prop {boolean} validateOnBlur - Activates validation on blur
|
|
30
|
+
* @prop {string} ariaAutoComplete - Aria Autocomplete
|
|
31
|
+
* @prop {string} ariaControls - Aria Controls
|
|
32
|
+
* @prop {string} ariaActiveDescendant - Aria Active Descendant
|
|
33
|
+
* @prop {boolean} rounded - Displays rounded corners
|
|
34
|
+
* @prop {boolean} filled - Displays a filled input box
|
|
35
|
+
* @prop {string} iconRight - Custom Icon to the right of the input
|
|
36
|
+
* @prop {string} iconLeft - Custom Icon to the left of the input
|
|
37
|
+
* @prop {number} iconSize - Size of the icons
|
|
38
|
+
* @prop {object} validity - The HTML5 validity object.
|
|
39
|
+
* @prop {boolean} isPasswordVisible - Manages password visibility
|
|
40
|
+
* @prop {string} inputType - Input Type of keypress handled through handleInput(e)
|
|
41
|
+
* @prop {boolean} focused - Determines if the input is focused
|
|
42
|
+
*
|
|
43
|
+
* @csspart input
|
|
44
|
+
*
|
|
45
|
+
* @cssproperty --kemet-input-height - The height of the input.
|
|
46
|
+
* @cssproperty --kemet-input-padding - The padding on the input.
|
|
47
|
+
* @cssproperty --kemet-input-border - The border of the input.
|
|
48
|
+
* @cssproperty --kemet-input-border-color-error - The border of the error state.
|
|
49
|
+
* @cssproperty --kemet-input-border-color-success - The border of the success state.
|
|
50
|
+
* @cssproperty --kemet-input-border-color-warning - The border of the warning state.
|
|
51
|
+
* @cssproperty --kemet-input-icon-left-padding - The icon-left padding.
|
|
52
|
+
* @cssproperty --kemet-input-icon-right-padding - The icon-right padding.
|
|
53
|
+
* @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.
|
|
54
|
+
* @cssproperty --kemet-input-border-filled - The border on filled.
|
|
55
|
+
* @cssproperty --kemet-input-color-filled - The color on filled.
|
|
56
|
+
* @cssproperty --kemet-input-background-color-filled - The background-color on filled.
|
|
57
|
+
* @cssproperty --kemet-input-background-color-error - The error state background color.
|
|
58
|
+
* @cssproperty --kemet-input-background-color-success - The success state background color.
|
|
59
|
+
* @cssproperty --kemet-input-background-color-warning - The warning state background color.
|
|
60
|
+
*
|
|
61
|
+
* @event kemet-input-focused - Fires when the input receives and loses focus
|
|
62
|
+
* @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.
|
|
63
|
+
* Use the validity object to support custom validation messages.
|
|
64
|
+
* @event kemet-input-input - Fires when the input receives input
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
export default class KemetMultiInput extends LitElement {
|
|
68
|
+
/** @internal */
|
|
69
|
+
static styles: import("lit").CSSResult[];
|
|
70
|
+
rounded: boolean;
|
|
71
|
+
name: string;
|
|
72
|
+
value: string;
|
|
73
|
+
selections: IComboSelection[];
|
|
74
|
+
paddingLeft: number;
|
|
75
|
+
field: any;
|
|
76
|
+
combo: any;
|
|
77
|
+
chips: any;
|
|
78
|
+
firstUpdated(): void;
|
|
79
|
+
updated(): void;
|
|
80
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
81
|
+
/**
|
|
82
|
+
* Handles when a selection is made from a combo
|
|
83
|
+
* @private
|
|
84
|
+
* @param event
|
|
85
|
+
*/
|
|
86
|
+
addComboItem(event: CustomEvent): void;
|
|
87
|
+
/**
|
|
88
|
+
* Handles when the input receives input
|
|
89
|
+
* @private
|
|
90
|
+
*/
|
|
91
|
+
handleInput(event: any): void;
|
|
92
|
+
/**
|
|
93
|
+
* Handles when the input is focused
|
|
94
|
+
*/
|
|
95
|
+
handleFocus(event: any): void;
|
|
96
|
+
/**
|
|
97
|
+
* Renders the chips from the selections of the combo
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
makeSelections(): import("lit-html").TemplateResult<1>;
|
|
101
|
+
/**
|
|
102
|
+
* calculates padding to properly place the cursor of the input
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
calculatePadding(): void;
|
|
106
|
+
/**
|
|
107
|
+
* handle removing a chip from the selections
|
|
108
|
+
* @private
|
|
109
|
+
*/
|
|
110
|
+
handleRemoveChip(event: any): void;
|
|
111
|
+
}
|
|
112
|
+
declare global {
|
|
113
|
+
interface HTMLElementTagNameMap {
|
|
114
|
+
'kemet-multi-input': KemetMultiInput;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, property, query, state, } from 'lit/decorators.js';
|
|
4
|
+
import { live } from 'lit/directives/live.js';
|
|
5
|
+
import { stylesBase } from './styles';
|
|
6
|
+
import { emitEvent } from '../../utilities/misc/events';
|
|
7
|
+
/**
|
|
8
|
+
* @since 3.1.0
|
|
9
|
+
* @status stable
|
|
10
|
+
*
|
|
11
|
+
* @tagname kemet-multi-input
|
|
12
|
+
* @summary An input element that accepts multiple items from a combo.
|
|
13
|
+
*
|
|
14
|
+
* @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.
|
|
15
|
+
* @prop {string} name - The name of the input
|
|
16
|
+
* @prop {string} placeholder - The placeholder attribute
|
|
17
|
+
* @prop {string} minlength - The minlength attribute
|
|
18
|
+
* @prop {string} maxlength - The maxlength attribute
|
|
19
|
+
* @prop {string} min - The min attribute
|
|
20
|
+
* @prop {string} max - The max attribute
|
|
21
|
+
* @prop {string} step - The step attribute
|
|
22
|
+
* @prop {string} autocomplete - The autocomplete attribute
|
|
23
|
+
* @prop {string} pattern - The pattern attribute
|
|
24
|
+
* @prop {string} inputmode - The input mode attribute
|
|
25
|
+
* @prop {boolean} autofocus - The autofocus attribute
|
|
26
|
+
* @prop {boolean} disabled - The disable attribute
|
|
27
|
+
* @prop {boolean} readonly - The readonly attribute
|
|
28
|
+
* @prop {boolean} required - The required attribute
|
|
29
|
+
* @prop {string} type - The type of input
|
|
30
|
+
* @prop {string} value - The input's value
|
|
31
|
+
* @prop {boolean} invalid - States whether the input is invalid
|
|
32
|
+
* @prop {string} status - The status of the input
|
|
33
|
+
* @prop {boolean} validateOnBlur - Activates validation on blur
|
|
34
|
+
* @prop {string} ariaAutoComplete - Aria Autocomplete
|
|
35
|
+
* @prop {string} ariaControls - Aria Controls
|
|
36
|
+
* @prop {string} ariaActiveDescendant - Aria Active Descendant
|
|
37
|
+
* @prop {boolean} rounded - Displays rounded corners
|
|
38
|
+
* @prop {boolean} filled - Displays a filled input box
|
|
39
|
+
* @prop {string} iconRight - Custom Icon to the right of the input
|
|
40
|
+
* @prop {string} iconLeft - Custom Icon to the left of the input
|
|
41
|
+
* @prop {number} iconSize - Size of the icons
|
|
42
|
+
* @prop {object} validity - The HTML5 validity object.
|
|
43
|
+
* @prop {boolean} isPasswordVisible - Manages password visibility
|
|
44
|
+
* @prop {string} inputType - Input Type of keypress handled through handleInput(e)
|
|
45
|
+
* @prop {boolean} focused - Determines if the input is focused
|
|
46
|
+
*
|
|
47
|
+
* @csspart input
|
|
48
|
+
*
|
|
49
|
+
* @cssproperty --kemet-input-height - The height of the input.
|
|
50
|
+
* @cssproperty --kemet-input-padding - The padding on the input.
|
|
51
|
+
* @cssproperty --kemet-input-border - The border of the input.
|
|
52
|
+
* @cssproperty --kemet-input-border-color-error - The border of the error state.
|
|
53
|
+
* @cssproperty --kemet-input-border-color-success - The border of the success state.
|
|
54
|
+
* @cssproperty --kemet-input-border-color-warning - The border of the warning state.
|
|
55
|
+
* @cssproperty --kemet-input-icon-left-padding - The icon-left padding.
|
|
56
|
+
* @cssproperty --kemet-input-icon-right-padding - The icon-right padding.
|
|
57
|
+
* @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.
|
|
58
|
+
* @cssproperty --kemet-input-border-filled - The border on filled.
|
|
59
|
+
* @cssproperty --kemet-input-color-filled - The color on filled.
|
|
60
|
+
* @cssproperty --kemet-input-background-color-filled - The background-color on filled.
|
|
61
|
+
* @cssproperty --kemet-input-background-color-error - The error state background color.
|
|
62
|
+
* @cssproperty --kemet-input-background-color-success - The success state background color.
|
|
63
|
+
* @cssproperty --kemet-input-background-color-warning - The warning state background color.
|
|
64
|
+
*
|
|
65
|
+
* @event kemet-input-focused - Fires when the input receives and loses focus
|
|
66
|
+
* @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.
|
|
67
|
+
* Use the validity object to support custom validation messages.
|
|
68
|
+
* @event kemet-input-input - Fires when the input receives input
|
|
69
|
+
*
|
|
70
|
+
*/
|
|
71
|
+
let KemetMultiInput = class KemetMultiInput extends LitElement {
|
|
72
|
+
constructor() {
|
|
73
|
+
/** @internal */
|
|
74
|
+
// formSubmitController: FormSubmitController;
|
|
75
|
+
super(...arguments);
|
|
76
|
+
this.rounded = false;
|
|
77
|
+
this.name = 'input';
|
|
78
|
+
this.value = '';
|
|
79
|
+
this.selections = [];
|
|
80
|
+
}
|
|
81
|
+
firstUpdated() {
|
|
82
|
+
// elements
|
|
83
|
+
this.field = this.closest('kemet-field');
|
|
84
|
+
this.combo = this.field.querySelector('kemet-combo');
|
|
85
|
+
if (this.combo) {
|
|
86
|
+
this.combo.addEventListener('kemet-combo-selection', (event) => this.addComboItem(event));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
updated() {
|
|
90
|
+
if (this.chips)
|
|
91
|
+
this.calculatePadding();
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
return html `
|
|
95
|
+
<div>
|
|
96
|
+
<input
|
|
97
|
+
part="input"
|
|
98
|
+
id="input"
|
|
99
|
+
name=${this.name}
|
|
100
|
+
@input=${this.handleInput}
|
|
101
|
+
@focus=${this.handleFocus}
|
|
102
|
+
.value=${live(this.value)}
|
|
103
|
+
/>
|
|
104
|
+
${this.makeSelections()}
|
|
105
|
+
</div>
|
|
106
|
+
`;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Handles when a selection is made from a combo
|
|
110
|
+
* @private
|
|
111
|
+
* @param event
|
|
112
|
+
*/
|
|
113
|
+
addComboItem(event) {
|
|
114
|
+
this.value = '';
|
|
115
|
+
const isPresent = this.selections.find(selection => selection.id === event.detail.id);
|
|
116
|
+
if (!isPresent)
|
|
117
|
+
this.selections = [...this.selections, event.detail];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Handles when the input receives input
|
|
121
|
+
* @private
|
|
122
|
+
*/
|
|
123
|
+
handleInput(event) {
|
|
124
|
+
emitEvent(this, 'kemet-input-input', event.target.value);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Handles when the input is focused
|
|
128
|
+
*/
|
|
129
|
+
handleFocus(event) {
|
|
130
|
+
emitEvent(this, 'kemet-multi-input-focus', event.target.value);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Renders the chips from the selections of the combo
|
|
134
|
+
* @private
|
|
135
|
+
*/
|
|
136
|
+
makeSelections() {
|
|
137
|
+
const selections = this.selections.map(selection => html `
|
|
138
|
+
<li part="chip">
|
|
139
|
+
<span>${selection.text}</span>
|
|
140
|
+
<button @click=${this.handleRemoveChip}>×</button>
|
|
141
|
+
</li>
|
|
142
|
+
`);
|
|
143
|
+
if (this.selections) {
|
|
144
|
+
return html `<ul part="chips">${selections}</ul>`;
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* calculates padding to properly place the cursor of the input
|
|
150
|
+
* @private
|
|
151
|
+
*/
|
|
152
|
+
calculatePadding() {
|
|
153
|
+
this.paddingLeft = this.chips.offsetWidth + 16;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* handle removing a chip from the selections
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
handleRemoveChip(event) {
|
|
160
|
+
const text = event.target.closest('[part=chip]').querySelector('span').innerText;
|
|
161
|
+
this.selections = this.selections.filter(selection => selection.text !== text);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
KemetMultiInput.styles = [stylesBase];
|
|
165
|
+
__decorate([
|
|
166
|
+
property({ type: Boolean })
|
|
167
|
+
], KemetMultiInput.prototype, "rounded", void 0);
|
|
168
|
+
__decorate([
|
|
169
|
+
property({ type: String })
|
|
170
|
+
], KemetMultiInput.prototype, "name", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
state()
|
|
173
|
+
], KemetMultiInput.prototype, "value", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
state()
|
|
176
|
+
], KemetMultiInput.prototype, "selections", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
state()
|
|
179
|
+
], KemetMultiInput.prototype, "paddingLeft", void 0);
|
|
180
|
+
__decorate([
|
|
181
|
+
state()
|
|
182
|
+
], KemetMultiInput.prototype, "field", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
state()
|
|
185
|
+
], KemetMultiInput.prototype, "combo", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
query('[part=chips]')
|
|
188
|
+
], KemetMultiInput.prototype, "chips", void 0);
|
|
189
|
+
KemetMultiInput = __decorate([
|
|
190
|
+
customElement('kemet-multi-input')
|
|
191
|
+
], KemetMultiInput);
|
|
192
|
+
export default KemetMultiInput;
|
|
193
|
+
//# sourceMappingURL=kemet-multi-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kemet-multi-input.js","sourceRoot":"","sources":["../../../src/components/kemet-multi-input/kemet-multi-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport {\n customElement, property, query, state,\n} from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport { stylesBase } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { IComboSelection } from './types';\n\n/**\n * @since 3.1.0\n * @status stable\n *\n * @tagname kemet-multi-input\n * @summary An input element that accepts multiple items from a combo.\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-multi-input')\nexport default class KemetMultiInput extends LitElement {\n /** @internal */\n // formSubmitController: FormSubmitController;\n\n static styles = [stylesBase];\n\n @property({ type: Boolean })\n rounded: boolean = false;\n\n @property({ type: String })\n name: string = 'input';\n\n @state()\n value: string = '';\n\n @state()\n selections: IComboSelection[] = [];\n\n @state()\n paddingLeft: number;\n\n @state()\n field;\n\n @state()\n combo;\n\n @query('[part=chips]')\n chips;\n\n firstUpdated() {\n // elements\n this.field = this.closest('kemet-field');\n this.combo = this.field.querySelector('kemet-combo');\n\n if (this.combo) {\n this.combo.addEventListener('kemet-combo-selection', (event: CustomEvent) => this.addComboItem(event));\n }\n }\n\n updated() {\n if (this.chips) this.calculatePadding();\n }\n\n render() {\n return html`\n <div>\n <input\n part=\"input\"\n id=\"input\"\n name=${this.name}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n .value=${live(this.value)}\n />\n ${this.makeSelections()}\n </div>\n `;\n }\n\n /**\n * Handles when a selection is made from a combo\n * @private\n * @param event\n */\n\n addComboItem(event: CustomEvent) {\n this.value = '';\n const isPresent = this.selections.find(selection => selection.id === event.detail.id);\n if (!isPresent) this.selections = [...this.selections, event.detail];\n }\n\n /**\n * Handles when the input receives input\n * @private\n */\n handleInput(event) {\n emitEvent(this, 'kemet-input-input', event.target.value);\n }\n\n /**\n * Handles when the input is focused\n */\n handleFocus(event) {\n emitEvent(this, 'kemet-multi-input-focus', event.target.value);\n }\n\n /**\n * Renders the chips from the selections of the combo\n * @private\n */\n makeSelections() {\n const selections = this.selections.map(selection => html`\n <li part=\"chip\">\n <span>${selection.text}</span>\n <button @click=${this.handleRemoveChip}>×</button>\n </li>\n `);\n\n if (this.selections) {\n return html`<ul part=\"chips\">${selections}</ul>`;\n }\n\n return null;\n }\n\n /**\n * calculates padding to properly place the cursor of the input\n * @private\n */\n calculatePadding() {\n this.paddingLeft = this.chips.offsetWidth + 16;\n }\n\n /**\n * handle removing a chip from the selections\n * @private\n */\n handleRemoveChip(event) {\n const text = event.target.closest('[part=chip]').querySelector('span').innerText;\n this.selections = this.selections.filter(selection => selection.text !== text);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-multi-input': KemetMultiInput\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const stylesBase: import("lit").CSSResult;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const stylesBase = css `
|
|
3
|
+
:host {
|
|
4
|
+
--kemet-input-height: 50px;
|
|
5
|
+
--kemet-input-padding: 0.5rem 1rem;
|
|
6
|
+
--kemet-input-border: 1px solid rgb(var(--kemet-color-foreground));
|
|
7
|
+
--kemet-input-border-radius-rounded: var(--kemet-border-radius-lg);
|
|
8
|
+
--kemet-input-border-filled: none;
|
|
9
|
+
--kemet-input-color-filled: rgb(var(--kemet-color-white));
|
|
10
|
+
--kemet-input-background-color-filled: rgb(var(--kemet-color-primary));
|
|
11
|
+
--kemet-input-color-filled: rgb(var(--kemet-color-white));
|
|
12
|
+
--kemet-input-background-color-error: rgb(var(--kemet-color-error));
|
|
13
|
+
--kemet-input-background-color-success: rgb(var(--kemet-color-success));
|
|
14
|
+
--kemet-input-background-color-warning: rgb(var(--kemet-color-warning));
|
|
15
|
+
|
|
16
|
+
--kemet-multi-input-chip-color: rgb(var(--kemet-color-background));
|
|
17
|
+
--kemet-multi-input-chip-background: rgb(var(--kemet-color-foreground));
|
|
18
|
+
|
|
19
|
+
position: relative;
|
|
20
|
+
display: block;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
input {
|
|
24
|
+
color: rgb(var(--kemet-color-text));
|
|
25
|
+
display: block;
|
|
26
|
+
font-size: 1rem;
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: var(--kemet-input-height);
|
|
29
|
+
padding: var(--kemet-input-padding);
|
|
30
|
+
border: var(--kemet-input-border);
|
|
31
|
+
appearance: none;
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
background-color: transparent;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host([disabled]) input {
|
|
37
|
+
opacity: 0.5;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:host([rounded]) input {
|
|
41
|
+
border-radius: var(--kemet-input-border-radius-rounded);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:host([filled]) input {
|
|
45
|
+
border: var(--kemet-input-border-filled);
|
|
46
|
+
color: var(--kemet-input-color-filled);
|
|
47
|
+
background-color: var(--kemet-input-background-color-filled);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
div {
|
|
51
|
+
display: flex;
|
|
52
|
+
gap: 1rem;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
ul {
|
|
57
|
+
display: flex;
|
|
58
|
+
gap: 0.5rem;
|
|
59
|
+
margin: 0;
|
|
60
|
+
padding: 0;
|
|
61
|
+
list-style: none;
|
|
62
|
+
flex-wrap: wrap;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
li {
|
|
66
|
+
display: flex;
|
|
67
|
+
gap: 0.5rem;
|
|
68
|
+
align-items: center;
|
|
69
|
+
padding: 0.25rem 0.5rem;
|
|
70
|
+
color: var(--kemet-multi-input-chip-color);
|
|
71
|
+
background-color: var(--kemet-multi-input-chip-background);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:host([rounded]) li {
|
|
75
|
+
border-radius: var(--kemet-input-border-radius-rounded);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
button {
|
|
79
|
+
color: inherit;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
font-size: 1.25rem;
|
|
82
|
+
padding: 0;
|
|
83
|
+
border: 0;
|
|
84
|
+
background-color: transparent
|
|
85
|
+
}
|
|
86
|
+
`;
|
|
87
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-multi-input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoF5B,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-radius-rounded: var(--kemet-border-radius-lg);\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 --kemet-multi-input-chip-color: rgb(var(--kemet-color-background));\n --kemet-multi-input-chip-background: rgb(var(--kemet-color-foreground));\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 :host([disabled]) input {\n opacity: 0.5;\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 div {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n }\n\n ul {\n display: flex;\n gap: 0.5rem;\n margin: 0;\n padding: 0;\n list-style: none;\n flex-wrap: wrap;\n }\n\n li {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n padding: 0.25rem 0.5rem;\n color: var(--kemet-multi-input-chip-color);\n background-color: var(--kemet-multi-input-chip-background);\n }\n\n :host([rounded]) li {\n border-radius: var(--kemet-input-border-radius-rounded);\n }\n\n button {\n color: inherit;\n cursor: pointer;\n font-size: 1.25rem;\n padding: 0;\n border: 0;\n background-color: transparent\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/kemet-multi-input/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface IComboSelection {\n element: HTMLUListElement;\n text: string;\n id: string;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
2
|
import { KemetFieldInterface } from '../kemet-field/types';
|
|
3
3
|
import { KemetInputInterface } from '../kemet-input/types';
|
|
4
4
|
import { KemetTextareaInterface } from '../kemet-textarea/types';
|
|
@@ -26,9 +26,14 @@ import { TypeStatus } from './types';
|
|
|
26
26
|
* @csspart rules - A description of rules to follow.
|
|
27
27
|
*
|
|
28
28
|
*/
|
|
29
|
+
interface IOptions {
|
|
30
|
+
pattern: string;
|
|
31
|
+
message: string;
|
|
32
|
+
meetsCriteria?: boolean;
|
|
33
|
+
}
|
|
29
34
|
export default class KemetPassword extends LitElement {
|
|
30
35
|
static styles: import("lit").CSSResult[];
|
|
31
|
-
rules:
|
|
36
|
+
rules: IOptions[];
|
|
32
37
|
show: boolean;
|
|
33
38
|
value: string;
|
|
34
39
|
message: string;
|
|
@@ -39,26 +44,26 @@ export default class KemetPassword extends LitElement {
|
|
|
39
44
|
field: KemetFieldInterface;
|
|
40
45
|
input: KemetInputInterface | KemetTextareaInterface;
|
|
41
46
|
firstUpdated(): void;
|
|
42
|
-
render():
|
|
47
|
+
render(): TemplateResult<1>;
|
|
43
48
|
/**
|
|
44
49
|
* Makes the list of rules
|
|
45
50
|
* @private
|
|
46
|
-
* @returns {
|
|
51
|
+
* @returns {TemplateResult<1>[]} the criteria rules
|
|
47
52
|
*/
|
|
48
|
-
makeRules():
|
|
53
|
+
makeRules(): TemplateResult<1>[];
|
|
49
54
|
/**
|
|
50
55
|
* Makes the check icon if the criteria has been met
|
|
51
56
|
* @param {boolean} meetsCriteria
|
|
52
57
|
* @private
|
|
53
|
-
* @returns {
|
|
58
|
+
* @returns {TemplateResult} an icon component
|
|
54
59
|
*/
|
|
55
|
-
makeCheckIcon(meetsCriteria:
|
|
60
|
+
makeCheckIcon(meetsCriteria: boolean): TemplateResult;
|
|
56
61
|
/**
|
|
57
62
|
* Handles the kemet-input-input event
|
|
58
63
|
* @param {*} event
|
|
59
64
|
* @private
|
|
60
65
|
*/
|
|
61
|
-
handleInput(event:
|
|
66
|
+
handleInput(event: CustomEvent): void;
|
|
62
67
|
/**
|
|
63
68
|
* Determines the strength of the password
|
|
64
69
|
* @private
|
|
@@ -75,3 +80,4 @@ declare global {
|
|
|
75
80
|
'kemet-password': KemetPassword;
|
|
76
81
|
}
|
|
77
82
|
}
|
|
83
|
+
export {};
|