kemet-ui 2.0.3 → 3.0.1
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 +621 -692
- package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +3 -4
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +4 -3
- package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
- package/dist/components/kemet-accordion/kemet-accordion.d.ts +6 -5
- package/dist/components/kemet-accordion/kemet-accordion.js +14 -5
- package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
- package/dist/components/kemet-accordion/stories.d.ts +2 -0
- package/dist/components/kemet-accordion/stories.js +6 -3
- package/dist/components/kemet-accordion/stories.js.map +1 -1
- package/dist/components/kemet-accordion/styles.js +5 -5
- package/dist/components/kemet-accordion/styles.js.map +1 -1
- package/dist/components/kemet-alert/docs/stories.d.ts +12 -0
- package/dist/components/kemet-alert/docs/stories.js +180 -36
- package/dist/components/kemet-alert/docs/stories.js.map +1 -1
- package/dist/components/kemet-alert/kemet-alert.d.ts +6 -7
- package/dist/components/kemet-alert/kemet-alert.js +8 -5
- package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
- package/dist/components/kemet-alert/styles.js +10 -8
- package/dist/components/kemet-alert/styles.js.map +1 -1
- package/dist/components/kemet-alert/types.d.ts +0 -9
- package/dist/components/kemet-alert/types.js.map +1 -1
- package/dist/components/kemet-avatar/docs/stories.d.ts +4 -0
- package/dist/components/kemet-avatar/docs/stories.js +57 -35
- package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
- package/dist/components/kemet-avatar/kemet-avatar.d.ts +4 -4
- package/dist/components/kemet-avatar/kemet-avatar.js +4 -4
- package/dist/components/kemet-avatar/kemet-avatar.js.map +1 -1
- package/dist/components/kemet-avatar/styles.js +16 -9
- package/dist/components/kemet-avatar/styles.js.map +1 -1
- package/dist/components/kemet-badge/docs/stories.d.ts +6 -0
- package/dist/components/kemet-badge/docs/stories.js +52 -16
- package/dist/components/kemet-badge/docs/stories.js.map +1 -1
- package/dist/components/kemet-badge/kemet-badge.d.ts +2 -1
- package/dist/components/kemet-badge/kemet-badge.js +1 -1
- package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
- package/dist/components/kemet-badge/styles.js +11 -9
- package/dist/components/kemet-badge/styles.js.map +1 -1
- package/dist/components/kemet-badge/types.d.ts +1 -6
- package/dist/components/kemet-badge/types.js.map +1 -1
- package/dist/components/kemet-button/docs/stories.d.ts +12 -0
- package/dist/components/kemet-button/docs/stories.js +81 -20
- package/dist/components/kemet-button/docs/stories.js.map +1 -1
- package/dist/components/kemet-button/kemet-button.d.ts +23 -23
- package/dist/components/kemet-button/kemet-button.js +23 -23
- package/dist/components/kemet-button/kemet-button.js.map +1 -1
- package/dist/components/kemet-button/styles.js +46 -26
- package/dist/components/kemet-button/styles.js.map +1 -1
- package/dist/components/kemet-button/types.d.ts +1 -10
- package/dist/components/kemet-button/types.js.map +1 -1
- package/dist/components/kemet-card/docs/stories.d.ts +10 -0
- package/dist/components/kemet-card/docs/stories.js +78 -66
- package/dist/components/kemet-card/docs/stories.js.map +1 -1
- package/dist/components/kemet-card/kemet-card.d.ts +16 -16
- package/dist/components/kemet-card/kemet-card.js +16 -16
- package/dist/components/kemet-card/kemet-card.js.map +1 -1
- package/dist/components/kemet-card/styles.js +29 -14
- package/dist/components/kemet-card/styles.js.map +1 -1
- package/dist/components/kemet-carousel/docs/stories.d.ts +6 -0
- package/dist/components/kemet-carousel/docs/stories.js +72 -60
- package/dist/components/kemet-carousel/docs/stories.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +2 -2
- package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.js +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +2 -2
- package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel.d.ts +33 -29
- package/dist/components/kemet-carousel/kemet-carousel.js +47 -28
- package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
- package/dist/components/kemet-carousel/styles.js +31 -15
- package/dist/components/kemet-carousel/styles.js.map +1 -1
- package/dist/components/kemet-checkbox/docs/stories.d.ts +4 -0
- package/dist/components/kemet-checkbox/docs/stories.js +28 -28
- package/dist/components/kemet-checkbox/docs/stories.js.map +1 -1
- package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +8 -8
- package/dist/components/kemet-checkbox/kemet-checkbox.js +8 -8
- package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
- package/dist/components/kemet-checkbox/styles.js +20 -13
- package/dist/components/kemet-checkbox/styles.js.map +1 -1
- package/dist/components/kemet-combo/docs/stories.js +14 -12
- package/dist/components/kemet-combo/docs/stories.js.map +1 -1
- package/dist/components/kemet-combo/kemet-combo.d.ts +17 -17
- package/dist/components/kemet-combo/kemet-combo.js +22 -26
- package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
- package/dist/components/kemet-combo/styles.js +21 -9
- package/dist/components/kemet-combo/styles.js.map +1 -1
- package/dist/components/kemet-count/docs/stories.js +10 -25
- package/dist/components/kemet-count/docs/stories.js.map +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-draggable/docs/stories.d.ts +1 -0
- package/dist/components/kemet-draggable/docs/stories.js +8 -15
- package/dist/components/kemet-draggable/docs/stories.js.map +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-drawer/docs/stories.d.ts +6 -0
- package/dist/components/kemet-drawer/docs/stories.js +59 -60
- package/dist/components/kemet-drawer/docs/stories.js.map +1 -1
- package/dist/components/kemet-drawer/kemet-drawer.d.ts +7 -7
- package/dist/components/kemet-drawer/kemet-drawer.js +7 -7
- package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
- package/dist/components/kemet-drawer/styles.js +32 -25
- package/dist/components/kemet-drawer/styles.js.map +1 -1
- package/dist/components/kemet-drawer/types.d.ts +0 -6
- package/dist/components/kemet-drawer/types.js.map +1 -1
- package/dist/components/kemet-fab/docs/stories.d.ts +3 -0
- package/dist/components/kemet-fab/docs/stories.js +23 -32
- package/dist/components/kemet-fab/docs/stories.js.map +1 -1
- package/dist/components/kemet-fab/kemet-fab.d.ts +7 -7
- package/dist/components/kemet-fab/kemet-fab.js +7 -7
- package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
- package/dist/components/kemet-fab/styles.js +19 -10
- package/dist/components/kemet-fab/styles.js.map +1 -1
- package/dist/components/kemet-field/docs/stories.d.ts +1 -1
- package/dist/components/kemet-field/docs/stories.js +19 -69
- package/dist/components/kemet-field/docs/stories.js.map +1 -1
- package/dist/components/kemet-field/kemet-field.d.ts +12 -12
- 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/styles.js +6 -6
- package/dist/components/kemet-field/styles.js.map +1 -1
- package/dist/components/kemet-flipcard/docs/stories.d.ts +3 -0
- package/dist/components/kemet-flipcard/docs/stories.js +29 -78
- package/dist/components/kemet-flipcard/docs/stories.js.map +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 +9 -9
- package/dist/components/kemet-flipcard/kemet-flipcard.js +10 -12
- package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
- package/dist/components/kemet-flipcard/styles.js +20 -10
- package/dist/components/kemet-flipcard/styles.js.map +1 -1
- package/dist/components/kemet-icon/docs/stories.js +8 -15
- package/dist/components/kemet-icon/docs/stories.js.map +1 -1
- package/dist/components/kemet-input/docs/stories.d.ts +4 -0
- package/dist/components/kemet-input/docs/stories.js +54 -113
- package/dist/components/kemet-input/docs/stories.js.map +1 -1
- package/dist/components/kemet-input/kemet-input.d.ts +18 -37
- package/dist/components/kemet-input/kemet-input.js +18 -38
- package/dist/components/kemet-input/kemet-input.js.map +1 -1
- package/dist/components/kemet-input/styles.js +38 -21
- package/dist/components/kemet-input/styles.js.map +1 -1
- package/dist/components/kemet-modal/docs/stories.d.ts +2 -0
- package/dist/components/kemet-modal/docs/stories.js +25 -68
- package/dist/components/kemet-modal/docs/stories.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal-close.js +1 -1
- package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal.d.ts +20 -10
- package/dist/components/kemet-modal/kemet-modal.js +39 -20
- package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
- package/dist/components/kemet-modal/styles.js +77 -48
- package/dist/components/kemet-modal/styles.js.map +1 -1
- package/dist/components/kemet-password/docs/stories.js +10 -18
- package/dist/components/kemet-password/docs/stories.js.map +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/styles.js +7 -7
- package/dist/components/kemet-password/styles.js.map +1 -1
- package/dist/components/kemet-popper/docs/stories.d.ts +2 -0
- package/dist/components/kemet-popper/docs/stories.js +32 -39
- package/dist/components/kemet-popper/docs/stories.js.map +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 +19 -10
- package/dist/components/kemet-popper/kemet-popper.js +23 -32
- package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
- package/dist/components/kemet-popper/styles.js +14 -5
- package/dist/components/kemet-popper/styles.js.map +1 -1
- package/dist/components/kemet-radio/docs/stories.d.ts +2 -0
- package/dist/components/kemet-radio/docs/stories.js +24 -20
- package/dist/components/kemet-radio/docs/stories.js.map +1 -1
- package/dist/components/kemet-radio/kemet-radio.d.ts +7 -6
- package/dist/components/kemet-radio/kemet-radio.js +7 -6
- package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
- package/dist/components/kemet-radio/kemet-radios.d.ts +6 -5
- package/dist/components/kemet-radio/kemet-radios.js +11 -5
- package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
- package/dist/components/kemet-radio/styles.js +26 -16
- package/dist/components/kemet-radio/styles.js.map +1 -1
- package/dist/components/kemet-rotator/docs/stories.d.ts +1 -0
- package/dist/components/kemet-rotator/docs/stories.js +16 -28
- package/dist/components/kemet-rotator/docs/stories.js.map +1 -1
- package/dist/components/kemet-rotator/kemet-rotator.d.ts +3 -3
- package/dist/components/kemet-rotator/kemet-rotator.js +2 -3
- package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
- package/dist/components/kemet-rotator/styles.js +4 -2
- package/dist/components/kemet-rotator/styles.js.map +1 -1
- package/dist/components/kemet-scroll-link/docs/stories.js +2 -2
- package/dist/components/kemet-scroll-link/docs/stories.js.map +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.js +5 -5
- package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +7 -7
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +7 -12
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
- package/dist/components/kemet-scroll-nav/styles.js +10 -4
- package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
- package/dist/components/kemet-scroll-snap/docs/stories.d.ts +6 -0
- package/dist/components/kemet-scroll-snap/docs/stories.js +72 -82
- package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +8 -7
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +4 -4
- 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 +7 -6
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +6 -11
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
- package/dist/components/kemet-scroll-snap/styles.js +14 -6
- package/dist/components/kemet-scroll-snap/styles.js.map +1 -1
- package/dist/components/kemet-select/docs/stories.d.ts +3 -0
- package/dist/components/kemet-select/docs/stories.js +25 -33
- package/dist/components/kemet-select/docs/stories.js.map +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 +32 -23
- 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/styles.js +32 -16
- package/dist/components/kemet-select/styles.js.map +1 -1
- package/dist/components/kemet-sortable/docs/stories.js +5 -10
- package/dist/components/kemet-sortable/docs/stories.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-sortable/styles.js +1 -1
- package/dist/components/kemet-sortable/styles.js.map +1 -1
- package/dist/components/kemet-svgs/docs/stories.js +11 -11
- package/dist/components/kemet-svgs/docs/stories.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 +9 -0
- package/dist/components/kemet-tabs/docs/stories.js +78 -78
- package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +2 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js +4 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab.d.ts +3 -2
- package/dist/components/kemet-tabs/kemet-tab.js +6 -3
- package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +30 -21
- package/dist/components/kemet-tabs/kemet-tabs.js +12 -48
- package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
- package/dist/components/kemet-tabs/styles.js +12 -5
- package/dist/components/kemet-tabs/styles.js.map +1 -1
- package/dist/components/kemet-textarea/docs/stories.d.ts +3 -0
- package/dist/components/kemet-textarea/docs/stories.js +37 -67
- package/dist/components/kemet-textarea/docs/stories.js.map +1 -1
- package/dist/components/kemet-textarea/kemet-textarea.d.ts +12 -12
- package/dist/components/kemet-textarea/kemet-textarea.js +12 -12
- package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
- package/dist/components/kemet-textarea/styles.js +31 -16
- package/dist/components/kemet-textarea/styles.js.map +1 -1
- package/dist/components/kemet-toggle/docs/stories.d.ts +2 -0
- package/dist/components/kemet-toggle/docs/stories.js +21 -36
- package/dist/components/kemet-toggle/docs/stories.js.map +1 -1
- package/dist/components/kemet-toggle/kemet-toggle.d.ts +12 -12
- package/dist/components/kemet-toggle/kemet-toggle.js +12 -12
- package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
- package/dist/components/kemet-toggle/styles.js +12 -6
- package/dist/components/kemet-toggle/styles.js.map +1 -1
- package/dist/components/kemet-tooltip/docs/stories.d.ts +4 -0
- package/dist/components/kemet-tooltip/docs/stories.js +58 -33
- package/dist/components/kemet-tooltip/docs/stories.js.map +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/styles.js +2 -2
- package/dist/components/kemet-tooltip/styles.js.map +1 -1
- package/dist/components/kemet-tracker/docs/stories.d.ts +1 -0
- package/dist/components/kemet-tracker/docs/stories.js +18 -22
- package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
- package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +18 -18
- package/dist/components/kemet-tracker/kemet-tracker-step.js +18 -18
- 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-tracker/styles.js +23 -12
- package/dist/components/kemet-tracker/styles.js.map +1 -1
- package/dist/components/kemet-upload/docs/stories.js +17 -22
- package/dist/components/kemet-upload/docs/stories.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload-file.d.ts +3 -3
- package/dist/components/kemet-upload/kemet-upload-file.js +4 -5
- package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload.d.ts +7 -7
- package/dist/components/kemet-upload/kemet-upload.js +7 -12
- package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
- package/dist/components/kemet-upload/styles.js +27 -18
- package/dist/components/kemet-upload/styles.js.map +1 -1
- package/dist/kemet-components.bundle.js +98 -86
- package/dist/kemet-components.bundle.js.map +1 -1
- package/dist/kemet-components.cjs +3076 -2910
- package/dist/kemet-components.js +3076 -2910
- package/dist/styles/kemet.base.css +255 -78
- package/dist/styles/kemet.base.css.map +1 -1
- package/dist/styles/kemet.base.scss +6 -5
- package/dist/styles/kemet.components.css +1 -16
- package/dist/styles/kemet.components.css.map +1 -1
- package/dist/styles/kemet.components.scss +0 -2
- package/dist/styles/kemet.core.css +5554 -2122
- package/dist/styles/kemet.core.css.map +1 -1
- package/dist/styles/shared/_config.scss +306 -93
- package/dist/styles/shared/_helpers.scss +88 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -14
- package/dist/components/kemet-accordion/types.d.ts +0 -9
- package/dist/components/kemet-accordion/types.js +0 -2
- package/dist/components/kemet-accordion/types.js.map +0 -1
- package/dist/components/kemet-avatar/types.d.ts +0 -8
- package/dist/components/kemet-avatar/types.js +0 -2
- package/dist/components/kemet-avatar/types.js.map +0 -1
- package/dist/components/kemet-card/types.d.ts +0 -3
- package/dist/components/kemet-card/types.js +0 -2
- package/dist/components/kemet-card/types.js.map +0 -1
- package/dist/components/kemet-carousel/types.d.ts +0 -21
- package/dist/components/kemet-carousel/types.js +0 -2
- package/dist/components/kemet-carousel/types.js.map +0 -1
- package/dist/components/kemet-combo/types.d.ts +0 -5
- package/dist/components/kemet-combo/types.js +0 -2
- package/dist/components/kemet-combo/types.js.map +0 -1
- package/dist/components/kemet-draggable/types.d.ts +0 -6
- package/dist/components/kemet-draggable/types.js +0 -2
- package/dist/components/kemet-draggable/types.js.map +0 -1
- package/dist/styles/components/drawer.scss +0 -11
- package/dist/styles/components/modal.scss +0 -8
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
+
import KemetScrollSnapSlide from './kemet-scroll-snap-slide';
|
|
2
3
|
/**
|
|
3
4
|
* @since 1.0.0
|
|
4
5
|
* @status stable
|
|
@@ -14,16 +15,16 @@ import { LitElement } from 'lit';
|
|
|
14
15
|
* @prop {boolean} useNumberPages - If set to true, the pages in the pagination iterator will appear as a set of numbers.
|
|
15
16
|
* @prop {boolean} useLabelPages - If set to true, the pages in the pagination iterator will appear as the label set on the slide.
|
|
16
17
|
*
|
|
17
|
-
* @cssproperty --kemet-scroll-snap-paginator-padding - The padding on the container.
|
|
18
|
-
* @cssproperty --kemet-scroll-snap-paginator-gap - The space between pagination items.
|
|
19
|
-
* @cssproperty --kemet-scroll-snap-paginator-link-color - The color of a linkable pagination item.
|
|
18
|
+
* @cssproperty --kemet-scroll-snap-paginator-padding - The padding on the container.
|
|
19
|
+
* @cssproperty --kemet-scroll-snap-paginator-gap - The space between pagination items.
|
|
20
|
+
* @cssproperty --kemet-scroll-snap-paginator-link-color - The color of a linkable pagination item.
|
|
20
21
|
*
|
|
21
22
|
* @event kemet-scroll-snap-focus - Fires when a set of slides are focused on.
|
|
22
23
|
*
|
|
23
24
|
*/
|
|
24
25
|
export default class KemetScrollSnapPaginator extends LitElement {
|
|
25
26
|
static styles: import("lit").CSSResult[];
|
|
26
|
-
slides:
|
|
27
|
+
slides: KemetScrollSnapSlide[];
|
|
27
28
|
icon: string;
|
|
28
29
|
size: number;
|
|
29
30
|
center: boolean;
|
|
@@ -33,9 +34,9 @@ export default class KemetScrollSnapPaginator extends LitElement {
|
|
|
33
34
|
updated(): void;
|
|
34
35
|
render(): import("lit-html").TemplateResult<1>;
|
|
35
36
|
makePagination(): import("lit-html").TemplateResult<1>[];
|
|
36
|
-
pageDisplay(slide:
|
|
37
|
-
slideLink(index:
|
|
38
|
-
handleKeyboardInput(event:
|
|
37
|
+
pageDisplay(slide: KemetScrollSnapSlide, visibleIndex: number): string | number | import("lit-html").TemplateResult<1>;
|
|
38
|
+
slideLink(index: string): void;
|
|
39
|
+
handleKeyboardInput(event: KeyboardEvent, id: string): void;
|
|
39
40
|
}
|
|
40
41
|
declare global {
|
|
41
42
|
interface HTMLElementTagNameMap {
|
|
@@ -18,9 +18,9 @@ import { stylesScrollSnapPaginator } from './styles';
|
|
|
18
18
|
* @prop {boolean} useNumberPages - If set to true, the pages in the pagination iterator will appear as a set of numbers.
|
|
19
19
|
* @prop {boolean} useLabelPages - If set to true, the pages in the pagination iterator will appear as the label set on the slide.
|
|
20
20
|
*
|
|
21
|
-
* @cssproperty --kemet-scroll-snap-paginator-padding - The padding on the container.
|
|
22
|
-
* @cssproperty --kemet-scroll-snap-paginator-gap - The space between pagination items.
|
|
23
|
-
* @cssproperty --kemet-scroll-snap-paginator-link-color - The color of a linkable pagination item.
|
|
21
|
+
* @cssproperty --kemet-scroll-snap-paginator-padding - The padding on the container.
|
|
22
|
+
* @cssproperty --kemet-scroll-snap-paginator-gap - The space between pagination items.
|
|
23
|
+
* @cssproperty --kemet-scroll-snap-paginator-link-color - The color of a linkable pagination item.
|
|
24
24
|
*
|
|
25
25
|
* @event kemet-scroll-snap-focus - Fires when a set of slides are focused on.
|
|
26
26
|
*
|
|
@@ -63,7 +63,7 @@ let KemetScrollSnapPaginator = class KemetScrollSnapPaginator extends LitElement
|
|
|
63
63
|
class="link"
|
|
64
64
|
tabindex="0"
|
|
65
65
|
role="button"
|
|
66
|
-
@keyup="${event => this.handleKeyboardInput(event, slide.id)}"
|
|
66
|
+
@keyup="${(event) => this.handleKeyboardInput(event, slide.id)}"
|
|
67
67
|
@click=${() => this.slideLink(slide.id)}
|
|
68
68
|
aria-label="${slide.label}">
|
|
69
69
|
${this.pageDisplay(slide, counter)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-scroll-snap-paginator.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"kemet-scroll-snap-paginator.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesScrollSnapPaginator } from './styles';\nimport KemetScrollSnapSlide from './kemet-scroll-snap-slide';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-snap-paginator\n * @summary The scroll snap's pagination.\n *\n * @prop {array} slides - Information about each slide.\n * @prop {string} icon - A string representing which icon to use for pagination. Supports icons used in kemet-icon.\n * @prop {number} size - The size in pixels of the icons.\n * @prop {boolean} center - Determines whether to center the pagination items.\n * @prop {boolean} hideFocusedLinks - Will hide inactive pagination items if set to true.\n * @prop {boolean} useNumberPages - If set to true, the pages in the pagination iterator will appear as a set of numbers.\n * @prop {boolean} useLabelPages - If set to true, the pages in the pagination iterator will appear as the label set on the slide.\n *\n * @cssproperty --kemet-scroll-snap-paginator-padding - The padding on the container.\n * @cssproperty --kemet-scroll-snap-paginator-gap - The space between pagination items.\n * @cssproperty --kemet-scroll-snap-paginator-link-color - The color of a linkable pagination item.\n *\n * @event kemet-scroll-snap-focus - Fires when a set of slides are focused on.\n *\n */\n\n@customElement('kemet-scroll-snap-paginator')\nexport default class KemetScrollSnapPaginator extends LitElement {\n static styles = [stylesScrollSnapPaginator];\n\n @property({ type: Array })\n slides: KemetScrollSnapSlide[] = [];\n\n @property({ type: String })\n icon: string = 'circle-fill';\n\n @property({ type: Number })\n size: number = 16;\n\n @property({ type: Boolean, reflect: true })\n center: boolean;\n\n @property({ type: Boolean, attribute: 'hide-focused-links' })\n hideFocusedLinks: boolean = false;\n\n @property({ type: Boolean, reflect: true, attribute: 'use-number-pages' })\n useNumberPages: boolean = false;\n\n @property({ type: Boolean, reflect: true, attribute: 'use-label-pages' })\n useLabelPages: boolean = false;\n\n updated() {\n const scrollSnapElement = this.closest('kemet-scroll-snap');\n\n if (scrollSnapElement) {\n scrollSnapElement.addEventListener('kemet-scroll-snap-make-slides', (event: CustomEvent) => {\n this.slides = event.detail;\n });\n }\n }\n\n render() {\n return html`\n <nav part=\"nav\">${this.makePagination()}</nav>\n `;\n }\n\n makePagination() {\n let counter = 0;\n\n if (this.slides) {\n return this.slides.map((slide) => {\n counter = counter += 1;\n\n if (slide.focused) {\n return html`\n <span part=\"span\">${this.pageDisplay(slide, counter)}</span>\n `;\n }\n\n return html`\n <span\n class=\"link\"\n tabindex=\"0\"\n role=\"button\"\n @keyup=\"${(event: KeyboardEvent) => this.handleKeyboardInput(event, slide.id)}\"\n @click=${() => this.slideLink(slide.id)}\n aria-label=\"${slide.label}\">\n ${this.pageDisplay(slide, counter)}\n </span>\n `;\n });\n }\n\n return null;\n }\n\n pageDisplay(slide: KemetScrollSnapSlide, visibleIndex: number) {\n if (this.useNumberPages) {\n return visibleIndex;\n }\n\n if (this.useLabelPages) {\n return slide.label;\n }\n\n return html`<kemet-icon icon=${this.icon} size=${this.size}></kemet-icon>`;\n }\n\n slideLink(index: string) {\n emitEvent(this, 'kemet-scroll-snap-focus', index);\n }\n\n handleKeyboardInput(event: KeyboardEvent, id: string) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.slideLink(id);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-scroll-snap-paginator': KemetScrollSnapPaginator\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ import { LitElement } from 'lit';
|
|
|
6
6
|
* @tagname kemet-scroll-snap-slide
|
|
7
7
|
* @summary A slide in a scroll snap component.
|
|
8
8
|
*
|
|
9
|
-
* @prop {boolean} focused - Is true when the slide is fully visible in
|
|
9
|
+
* @prop {boolean} focused - Is true when the slide is fully visible in its container.
|
|
10
10
|
* @prop {number} index - Identifies the slide.
|
|
11
11
|
* @prop {string} label - Labels the slide.
|
|
12
12
|
*
|
|
@@ -8,7 +8,7 @@ import { customElement, property } from 'lit/decorators.js';
|
|
|
8
8
|
* @tagname kemet-scroll-snap-slide
|
|
9
9
|
* @summary A slide in a scroll snap component.
|
|
10
10
|
*
|
|
11
|
-
* @prop {boolean} focused - Is true when the slide is fully visible in
|
|
11
|
+
* @prop {boolean} focused - Is true when the slide is fully visible in its container.
|
|
12
12
|
* @prop {number} index - Identifies the slide.
|
|
13
13
|
* @prop {string} label - Labels the slide.
|
|
14
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-scroll-snap-slide.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap-slide.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AAGH,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,UAAU;IAmB1D,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AA/BQ,2BAAM,GAAG,CAAC,GAAG,CAAA;;;;;;;GAOnB,CAAC,CAAC;AAGH;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC5B;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC5B;AAjBK,oBAAoB;IADxC,aAAa,CAAC,yBAAyB,CAAC;GACpB,oBAAoB,CAgCxC;eAhCoB,oBAAoB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-snap-slide\n * @summary A slide in a scroll snap component.\n *\n * @prop {boolean} focused - Is true when the slide is fully visible in
|
|
1
|
+
{"version":3,"file":"kemet-scroll-snap-slide.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap-slide.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AAGH,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,UAAU;IAmB1D,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AA/BQ,2BAAM,GAAG,CAAC,GAAG,CAAA;;;;;;;GAOnB,CAAC,CAAC;AAGH;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC5B;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC5B;AAjBK,oBAAoB;IADxC,aAAa,CAAC,yBAAyB,CAAC;GACpB,oBAAoB,CAgCxC;eAhCoB,oBAAoB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-snap-slide\n * @summary A slide in a scroll snap component.\n *\n * @prop {boolean} focused - Is true when the slide is fully visible in its container.\n * @prop {number} index - Identifies the slide.\n * @prop {string} label - Labels the slide.\n *\n * @cssproperty --kemet-scroll-snap-slide-width - The width of the slide. Default: 100%.\n * @cssproperty --kemet-scroll-snap-slide-align - The slide alignment. Default: center.\n *\n */\n\n@customElement('kemet-scroll-snap-slide')\nexport default class KemetScrollSnapSlide extends LitElement {\n static styles = [css`\n :host {\n display: block;\n flex: 0 0 auto;\n width: var(--kemet-scroll-snap-slide-width, 100%);\n scroll-snap-align: var(--kemet-scroll-snap-slide-align, center);\n }\n `];\n\n @property({ type: Boolean, reflect: true })\n focused: boolean;\n\n @property({ type: Number, reflect: true })\n index: number;\n\n @property({ type: String, reflect: true })\n label: string;\n\n updated() {\n this.addTabIndex();\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n addTabIndex() {\n this.setAttribute('tabindex', '0');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-scroll-snap-slide': KemetScrollSnapSlide\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { TypeAxis, TypePagination } from './types';
|
|
3
|
+
import KemetScrollSnapSlide from './kemet-scroll-snap-slide';
|
|
3
4
|
/**
|
|
4
5
|
* @since 1.0.0
|
|
5
6
|
* @status stable
|
|
@@ -16,10 +17,10 @@ import { TypeAxis, TypePagination } from './types';
|
|
|
16
17
|
* @csspart slides - The slides container.
|
|
17
18
|
* @csspart pagination - The pagination element.
|
|
18
19
|
*
|
|
19
|
-
* @cssproperty --kemet-scroll-snap-gap - Space between the slides.
|
|
20
|
-
* @cssproperty --kemet-scroll-snap-horizontal-max-width - The horizontal max width of the container.
|
|
21
|
-
* @cssproperty --kemet-scroll-snap-vertical-height - The vertical height of the container.
|
|
22
|
-
* @cssproperty --kemet-scroll-snap-slides-vertical-padding - Padding on the vertical axis.
|
|
20
|
+
* @cssproperty --kemet-scroll-snap-gap - Space between the slides.
|
|
21
|
+
* @cssproperty --kemet-scroll-snap-horizontal-max-width - The horizontal max width of the container.
|
|
22
|
+
* @cssproperty --kemet-scroll-snap-vertical-height - The vertical height of the container.
|
|
23
|
+
* @cssproperty --kemet-scroll-snap-slides-vertical-padding - Padding on the vertical axis.
|
|
23
24
|
*
|
|
24
25
|
* @event kemet-scroll-snap-make-slides - Fires when slide data has been created.
|
|
25
26
|
*
|
|
@@ -29,14 +30,14 @@ export default class KemetScrollSnap extends LitElement {
|
|
|
29
30
|
axis: TypeAxis;
|
|
30
31
|
pagination: TypePagination;
|
|
31
32
|
isTouchDevice: boolean;
|
|
32
|
-
slides:
|
|
33
|
+
slides: KemetScrollSnapSlide[];
|
|
33
34
|
constructor();
|
|
34
35
|
firstUpdated(): void;
|
|
35
36
|
updated(): void;
|
|
36
37
|
render(): import("lit-html").TemplateResult<1>;
|
|
37
38
|
setFocusedSlides(): void;
|
|
38
39
|
makeSlides(): void;
|
|
39
|
-
focusSlide(index:
|
|
40
|
+
focusSlide(index: number): void;
|
|
40
41
|
setVerticalAttribute(): void;
|
|
41
42
|
}
|
|
42
43
|
declare global {
|
|
@@ -19,10 +19,10 @@ import { stylesScrollSnap } from './styles';
|
|
|
19
19
|
* @csspart slides - The slides container.
|
|
20
20
|
* @csspart pagination - The pagination element.
|
|
21
21
|
*
|
|
22
|
-
* @cssproperty --kemet-scroll-snap-gap - Space between the slides.
|
|
23
|
-
* @cssproperty --kemet-scroll-snap-horizontal-max-width - The horizontal max width of the container.
|
|
24
|
-
* @cssproperty --kemet-scroll-snap-vertical-height - The vertical height of the container.
|
|
25
|
-
* @cssproperty --kemet-scroll-snap-slides-vertical-padding - Padding on the vertical axis.
|
|
22
|
+
* @cssproperty --kemet-scroll-snap-gap - Space between the slides.
|
|
23
|
+
* @cssproperty --kemet-scroll-snap-horizontal-max-width - The horizontal max width of the container.
|
|
24
|
+
* @cssproperty --kemet-scroll-snap-vertical-height - The vertical height of the container.
|
|
25
|
+
* @cssproperty --kemet-scroll-snap-slides-vertical-padding - Padding on the vertical axis.
|
|
26
26
|
*
|
|
27
27
|
* @event kemet-scroll-snap-make-slides - Fires when slide data has been created.
|
|
28
28
|
*
|
|
@@ -63,13 +63,8 @@ let KemetScrollSnap = class KemetScrollSnap extends LitElement {
|
|
|
63
63
|
};
|
|
64
64
|
const callback = (entries) => {
|
|
65
65
|
entries.forEach((entry) => {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
target.focused = true;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
target.focused = false;
|
|
72
|
-
}
|
|
66
|
+
const target = entry.target;
|
|
67
|
+
target.focused = entry.intersectionRatio >= 0.5;
|
|
73
68
|
});
|
|
74
69
|
this.makeSlides();
|
|
75
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-scroll-snap.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"kemet-scroll-snap.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/kemet-scroll-snap.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesScrollSnap } from './styles';\nimport { KemetScrollSnapSlideInterface, TypeAxis, TypePagination } from './types';\nimport KemetScrollSnapSlide from './kemet-scroll-snap-slide';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-snap\n * @summary A scroll-snap implementation for responsive sliders.\n *\n * @prop {string} axis - Determines the direction the component flows. Values include: (horizontal | vertical)\n * @prop {string} pagination - Determines where to display the paginator. Values include: (top | right | bottom | left)\n *\n * @slot slides - Place your slides here.\n * @slot pagination - Place the paginator component here if you want one.\n *\n * @csspart slides - The slides container.\n * @csspart pagination - The pagination element.\n *\n * @cssproperty --kemet-scroll-snap-gap - Space between the slides.\n * @cssproperty --kemet-scroll-snap-horizontal-max-width - The horizontal max width of the container.\n * @cssproperty --kemet-scroll-snap-vertical-height - The vertical height of the container.\n * @cssproperty --kemet-scroll-snap-slides-vertical-padding - Padding on the vertical axis.\n *\n * @event kemet-scroll-snap-make-slides - Fires when slide data has been created.\n *\n */\n\n@customElement('kemet-scroll-snap')\nexport default class KemetScrollSnap extends LitElement {\n static styles = [stylesScrollSnap];\n\n @property({ type: String, reflect: true })\n axis: TypeAxis = 'horizontal';\n\n @property({ type: String, reflect: true })\n pagination: TypePagination = 'bottom';\n\n @state()\n isTouchDevice: boolean;\n\n @state()\n slides: KemetScrollSnapSlide[];\n\n constructor() {\n super();\n\n this.addEventListener('kemet-scroll-snap-focus', (event: CustomEvent) => {\n this.focusSlide(event.detail);\n });\n }\n\n firstUpdated() {\n // standard properties\n this.isTouchDevice = 'ontouchstart' in document.documentElement;\n this.slides = [];\n\n this.setFocusedSlides();\n }\n\n updated() {\n this.setVerticalAttribute();\n }\n\n render() {\n return html`\n <slot name=\"slides\"></slot>\n <slot name=\"pagination\"></slot>\n `;\n }\n\n setFocusedSlides() {\n // reference: https://24ways.org/2019/beautiful-scrolling-experiences-without-libraries/\n // reference: https://css-tricks.com/an-explanation-of-how-the-intersection-observer-watches/\n const slides = this.querySelectorAll('kemet-scroll-snap-slide');\n const container = this.querySelector('[slot=\"slides\"]');\n\n const options = {\n root: container,\n rootMargin: '0px',\n threshold: 0.5,\n };\n\n const callback = (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry: IntersectionObserverEntry) => {\n const target = entry.target as KemetScrollSnapSlide;\n target.focused = entry.intersectionRatio >= 0.5;\n });\n\n this.makeSlides();\n };\n\n const observer = new IntersectionObserver(callback, options);\n\n slides.forEach((slide) => {\n observer.observe(slide);\n });\n }\n\n makeSlides() {\n const slides = [];\n\n this.querySelectorAll('kemet-scroll-snap-slide').forEach((element, index) => {\n const slide = element as KemetScrollSnapSlideInterface;\n\n slide.index = index;\n slides.push({\n id: index,\n focused: slide.focused,\n label: slide.label,\n });\n });\n\n this.slides = slides;\n emitEvent(this, 'kemet-scroll-snap-make-slides', this.slides);\n }\n\n focusSlide(index: number) {\n const activeSlide = this.querySelector(`kemet-scroll-snap-slide[index=\"${index}\"]`);\n activeSlide.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n\n setVerticalAttribute() {\n if (this.axis === 'vertical') {\n document.querySelector('html').setAttribute('kemet-scroll-snap-axis', 'vertical');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-scroll-snap': KemetScrollSnap\n }\n}\n"]}
|
|
@@ -7,6 +7,10 @@ export const stylesScrollSnap = css `
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
:host {
|
|
10
|
+
--kemet-scroll-snap-horizontal-max-width: 1024px;
|
|
11
|
+
--kemet-scroll-snap-vertical-height: 100vh;
|
|
12
|
+
--kemet-scroll-snap-slides-vertical-padding: 0 2rem;
|
|
13
|
+
|
|
10
14
|
display: flex;
|
|
11
15
|
flex-direction: column;
|
|
12
16
|
width: 100%;
|
|
@@ -14,7 +18,7 @@ export const stylesScrollSnap = css `
|
|
|
14
18
|
|
|
15
19
|
:host([axis='horizontal']) {
|
|
16
20
|
margin: auto;
|
|
17
|
-
max-width: var(--kemet-scroll-snap-horizontal-max-width
|
|
21
|
+
max-width: var(--kemet-scroll-snap-horizontal-max-width);
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
:host([pagination="left"]),
|
|
@@ -41,25 +45,29 @@ export const stylesScrollSnap = css `
|
|
|
41
45
|
|
|
42
46
|
/* vertical */
|
|
43
47
|
:host([axis="vertical"]) {
|
|
44
|
-
height: var(--kemet-scroll-snap-vertical-height
|
|
48
|
+
height: var(--kemet-scroll-snap-vertical-height);
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
:host([axis="vertical"]) ::slotted([slot="slides"]) {
|
|
48
52
|
flex-direction: column;
|
|
49
53
|
overflow-x: hidden;
|
|
50
54
|
scroll-snap-type: y mandatory;
|
|
51
|
-
padding: var(--kemet-scroll-snap-slides-vertical-padding
|
|
55
|
+
padding: var(--kemet-scroll-snap-slides-vertical-padding);
|
|
52
56
|
}
|
|
53
57
|
`;
|
|
54
58
|
export const stylesScrollSnapPaginator = css `
|
|
55
59
|
:host {
|
|
60
|
+
--kemet-scroll-snap-paginator-padding: 1rem 0;
|
|
61
|
+
--kemet-scroll-snap-paginator-gap: 0.5rem;
|
|
62
|
+
--kemet-scroll-snap-paginator-link-color: rgb(var(--kemet-color-primary));
|
|
63
|
+
|
|
56
64
|
margin: auto;
|
|
57
|
-
padding: var(--kemet-scroll-snap-paginator-padding
|
|
65
|
+
padding: var(--kemet-scroll-snap-paginator-padding);
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
nav {
|
|
61
69
|
display: flex;
|
|
62
|
-
gap: var(--kemet-scroll-snap-paginator-gap
|
|
70
|
+
gap: var(--kemet-scroll-snap-paginator-gap);
|
|
63
71
|
}
|
|
64
72
|
|
|
65
73
|
:host([center]) nav {
|
|
@@ -68,7 +76,7 @@ export const stylesScrollSnapPaginator = css `
|
|
|
68
76
|
|
|
69
77
|
.link {
|
|
70
78
|
cursor: pointer;
|
|
71
|
-
color: var(--kemet-scroll-snap-paginator-link-color
|
|
79
|
+
color: var(--kemet-scroll-snap-paginator-link-color);
|
|
72
80
|
}
|
|
73
81
|
`;
|
|
74
82
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-snap/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDlC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;CAuB3C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesScrollSnap = css`\n *,\n *::after,\n *::before {\n box-sizing: border-box;\n }\n\n :host {\n --kemet-scroll-snap-horizontal-max-width: 1024px;\n --kemet-scroll-snap-vertical-height: 100vh;\n --kemet-scroll-snap-slides-vertical-padding: 0 2rem;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n :host([axis='horizontal']) {\n margin: auto;\n max-width: var(--kemet-scroll-snap-horizontal-max-width);\n }\n\n :host([pagination=\"left\"]),\n :host([pagination=\"right\"]) {\n flex-direction: row;\n }\n\n :host([pagination=\"none\"]) ::slotted([slot=\"pagination\"]) {\n display: none;\n }\n\n :host([pagination=\"top\"]) ::slotted([slot=\"pagination\"]),\n :host([pagination=\"left\"]) ::slotted([slot=\"pagination\"]) {\n order: -1;\n }\n\n\n ::slotted([slot=\"slides\"]) {\n display: flex;\n gap: var(--kemet-scroll-snap-gap, 1.5rem);\n scroll-snap-type: x mandatory;\n overflow-x: scroll;\n }\n\n /* vertical */\n :host([axis=\"vertical\"]) {\n height: var(--kemet-scroll-snap-vertical-height);\n }\n\n :host([axis=\"vertical\"]) ::slotted([slot=\"slides\"]) {\n flex-direction: column;\n overflow-x: hidden;\n scroll-snap-type: y mandatory;\n padding: var(--kemet-scroll-snap-slides-vertical-padding);\n }\n`;\n\nexport const stylesScrollSnapPaginator = css`\n :host {\n --kemet-scroll-snap-paginator-padding: 1rem 0;\n --kemet-scroll-snap-paginator-gap: 0.5rem;\n --kemet-scroll-snap-paginator-link-color: rgb(var(--kemet-color-primary));\n\n margin: auto;\n padding: var(--kemet-scroll-snap-paginator-padding);\n }\n\n nav {\n display: flex;\n gap: var(--kemet-scroll-snap-paginator-gap);\n }\n\n :host([center]) nav {\n justify-content: center;\n }\n\n .link {\n cursor: pointer;\n color: var(--kemet-scroll-snap-paginator-link-color);\n }\n`;\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
2
3
|
import '../kemet-select';
|
|
3
4
|
import '../kemet-option';
|
|
4
5
|
import '../../kemet-tabs/kemet-tabs';
|
|
@@ -7,10 +8,16 @@ import '../../kemet-tabs/kemet-tab-panel';
|
|
|
7
8
|
const meta = {
|
|
8
9
|
title: 'Components / Select',
|
|
9
10
|
component: 'kemet-select',
|
|
11
|
+
argTypes: {
|
|
12
|
+
status: {
|
|
13
|
+
control: { type: 'radio' },
|
|
14
|
+
options: ['standard', 'error', 'success', 'warning'],
|
|
15
|
+
},
|
|
16
|
+
}
|
|
10
17
|
};
|
|
11
18
|
export default meta;
|
|
12
|
-
const Template = (
|
|
13
|
-
<kemet-select status="${status}" ?required=${required} ?disabled=${disabled} icon=${icon} icon-size=${iconSize} ?filled=${filled} ?rounded=${rounded}>
|
|
19
|
+
const Template = (args) => html `
|
|
20
|
+
<kemet-select status="${ifDefined(args.status)}" ?required=${args.required} ?disabled=${args.disabled} icon=${ifDefined(args.icon)} icon-size=${ifDefined(args.iconSize)} ?filled=${args.filled} ?rounded=${args.rounded}>
|
|
14
21
|
<kemet-option label="Choose an Item" value=""></kemet-option>
|
|
15
22
|
<kemet-option label="Item 1" value="1"></kemet-option>
|
|
16
23
|
<kemet-option label="Item 2" value="2" selected></kemet-option>
|
|
@@ -20,38 +27,23 @@ const Template = ({ status = 'standard', required = true, disabled = false, icon
|
|
|
20
27
|
`;
|
|
21
28
|
export const Standard = {
|
|
22
29
|
render: args => Template(args),
|
|
30
|
+
};
|
|
31
|
+
export const Disabled = {
|
|
32
|
+
render: args => Template(args),
|
|
23
33
|
args: {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
disabled: true,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
export const Filled = {
|
|
38
|
+
render: args => Template(args),
|
|
39
|
+
args: {
|
|
40
|
+
filled: true,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
export const Rounded = {
|
|
44
|
+
render: args => Template(args),
|
|
45
|
+
args: {
|
|
46
|
+
rounded: true,
|
|
31
47
|
},
|
|
32
|
-
argTypes: {
|
|
33
|
-
status: {
|
|
34
|
-
control: { type: 'radio' },
|
|
35
|
-
options: ['standard', 'error', 'success', 'warning'],
|
|
36
|
-
},
|
|
37
|
-
required: {
|
|
38
|
-
control: { type: 'boolean' },
|
|
39
|
-
},
|
|
40
|
-
disabled: {
|
|
41
|
-
control: { type: 'boolean' },
|
|
42
|
-
},
|
|
43
|
-
icon: {
|
|
44
|
-
control: { type: 'text' },
|
|
45
|
-
},
|
|
46
|
-
iconSize: {
|
|
47
|
-
control: { type: 'number' },
|
|
48
|
-
},
|
|
49
|
-
filled: {
|
|
50
|
-
control: { type: 'boolean' },
|
|
51
|
-
},
|
|
52
|
-
rounded: {
|
|
53
|
-
control: { type: 'boolean' },
|
|
54
|
-
},
|
|
55
|
-
}
|
|
56
48
|
};
|
|
57
49
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-select/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-select/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AAEzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SACrD;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAKpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;wBACP,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,QAAQ,SAAS,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,OAAO;;;;;;;CAOvN,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-select';\nimport '../kemet-option';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Select',\n component: 'kemet-select',\n argTypes: {\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\n\nconst Template = (args) => html`\n<kemet-select status=\"${ifDefined(args.status)}\" ?required=${args.required} ?disabled=${args.disabled} icon=${ifDefined(args.icon)} icon-size=${ifDefined(args.iconSize)} ?filled=${args.filled} ?rounded=${args.rounded}>\n <kemet-option label=\"Choose an Item\" value=\"\"></kemet-option>\n <kemet-option label=\"Item 1\" value=\"1\"></kemet-option>\n <kemet-option label=\"Item 2\" value=\"2\" selected></kemet-option>\n <kemet-option label=\"Item 3\" value=\"3\"></kemet-option>\n <kemet-option label=\"Item 4\" value=\"4\" disabled></kemet-option>\n</kemet-select>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Disabled: Story = {\n render: args => Template(args),\n args: {\n disabled: true,\n },\n};\n\nexport const Filled: Story = {\n render: args => Template(args),\n args: {\n filled: true,\n },\n};\n\nexport const Rounded: Story = {\n render: args => Template(args),\n args: {\n rounded: true,\n },\n};\n"]}
|
|
@@ -34,7 +34,7 @@ __decorate([
|
|
|
34
34
|
], KemetOption.prototype, "value", void 0);
|
|
35
35
|
__decorate([
|
|
36
36
|
property({ type: Boolean })
|
|
37
|
-
], KemetOption.prototype, "
|
|
37
|
+
], KemetOption.prototype, "disabled", void 0);
|
|
38
38
|
__decorate([
|
|
39
39
|
property({ type: Boolean })
|
|
40
40
|
], KemetOption.prototype, "selected", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-option.js","sourceRoot":"","sources":["../../../src/components/kemet-select/kemet-option.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AAGH,IAAqB,WAAW,GAAhC,MAAqB,WAAY,SAAQ,UAAU;IAAnD;;QAKE,UAAK,GAAW,EAAE,CAAC;IAWrB,CAAC;IAHC,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF,CAAA;AAdC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACR;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"kemet-option.js","sourceRoot":"","sources":["../../../src/components/kemet-select/kemet-option.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AAGH,IAAqB,WAAW,GAAhC,MAAqB,WAAY,SAAQ,UAAU;IAAnD;;QAKE,UAAK,GAAW,EAAE,CAAC;IAWrB,CAAC;IAHC,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF,CAAA;AAdC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACR;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACV;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACV;AAXC,WAAW;IAD/B,aAAa,CAAC,cAAc,CAAC;GACT,WAAW,CAgB/B;eAhBoB,WAAW","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-option\n * @summary An option in a select.\n *\n * @prop {string} label - The label of the option\n * @prop {string} value - The value of the options\n * @prop {boolean} disabled - Determines whether to disable the option\n * @prop {boolean} selected - Selects the option if true\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\n *\n */\n\n@customElement('kemet-option')\nexport default class KemetOption extends LitElement {\n @property({ type: String })\n label: string;\n\n @property({ type: String })\n value: string = '';\n\n @property({ type: Boolean })\n disabled: boolean;\n\n @property({ type: Boolean })\n selected: boolean;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-option': KemetOption\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
2
|
import { FormSubmitController } from '../../utilities/controllers/forms';
|
|
3
3
|
import { KemetFieldInterface } from '../kemet-field/types';
|
|
4
|
+
import type KemetOption from './kemet-option';
|
|
4
5
|
/**
|
|
5
6
|
* @since 1.0.0
|
|
6
7
|
* @status stable
|
|
@@ -13,8 +14,8 @@ import { KemetFieldInterface } from '../kemet-field/types';
|
|
|
13
14
|
* @prop {string} value - The value of the select
|
|
14
15
|
* @prop {array} options - The options the select contains
|
|
15
16
|
* @prop {string} status - The status of the select
|
|
16
|
-
* @prop {boolean} required - Determines whether
|
|
17
|
-
* @prop {boolean} disabled - Determines whether
|
|
17
|
+
* @prop {boolean} required - Determines whether the field is required
|
|
18
|
+
* @prop {boolean} disabled - Determines whether the field is disabled
|
|
18
19
|
* @prop {boolean} multiple - Support of multiple choice selections
|
|
19
20
|
* @prop {string} icon - The dropdown icon
|
|
20
21
|
* @prop {number} iconSize - The dropdown icon size
|
|
@@ -23,31 +24,38 @@ import { KemetFieldInterface } from '../kemet-field/types';
|
|
|
23
24
|
*
|
|
24
25
|
* @csspart select
|
|
25
26
|
*
|
|
26
|
-
* @cssproperty --kemet-select-padding - The padding on the textarea.
|
|
27
|
-
* @cssproperty --kemet-select-border - The border of the textarea.
|
|
28
|
-
* @cssproperty --kemet-select-border-color-error - The border of the error state.
|
|
29
|
-
* @cssproperty --kemet-select-border-color-success - The border of the success state.
|
|
30
|
-
* @cssproperty --kemet-select-border-color-warning - The border of the warning state.
|
|
31
|
-
* @cssproperty --kemet-select-border-radius-rounded - The border radius on rounded.
|
|
32
|
-
* @cssproperty --kemet-select-border-filled - The border on filled.
|
|
33
|
-
* @cssproperty --kemet-select-color-filled - The color on filled.
|
|
34
|
-
* @cssproperty --kemet-select-background-color-filled - The background-color on filled.
|
|
35
|
-
* @cssproperty --kemet-select-background-color-error - The error state background color.
|
|
36
|
-
* @cssproperty --kemet-select-background-color-success - The success state background color.
|
|
37
|
-
* @cssproperty --kemet-select-background-color-warning - The warning state background color.
|
|
38
|
-
* @cssproperty --kemet-select-icon-right - The space on the right of the icon.
|
|
27
|
+
* @cssproperty --kemet-select-padding - The padding on the textarea.
|
|
28
|
+
* @cssproperty --kemet-select-border - The border of the textarea.
|
|
29
|
+
* @cssproperty --kemet-select-border-color-error - The border of the error state.
|
|
30
|
+
* @cssproperty --kemet-select-border-color-success - The border of the success state.
|
|
31
|
+
* @cssproperty --kemet-select-border-color-warning - The border of the warning state.
|
|
32
|
+
* @cssproperty --kemet-select-border-radius-rounded - The border radius on rounded.
|
|
33
|
+
* @cssproperty --kemet-select-border-filled - The border on filled.
|
|
34
|
+
* @cssproperty --kemet-select-color-filled - The color on filled.
|
|
35
|
+
* @cssproperty --kemet-select-background-color-filled - The background-color on filled.
|
|
36
|
+
* @cssproperty --kemet-select-background-color-error - The error state background color.
|
|
37
|
+
* @cssproperty --kemet-select-background-color-success - The success state background color.
|
|
38
|
+
* @cssproperty --kemet-select-background-color-warning - The warning state background color.
|
|
39
|
+
* @cssproperty --kemet-select-icon-right - The space on the right of the icon.
|
|
39
40
|
*
|
|
40
41
|
* @event kemet-input-focused - Fires when the input receives and loses focus
|
|
41
42
|
* @event kemet-input-status - Fires when there's a change in status
|
|
43
|
+
* @event kemet-input-change - Fires when the select input changes
|
|
42
44
|
*
|
|
43
45
|
*/
|
|
46
|
+
interface IOptions {
|
|
47
|
+
label: string;
|
|
48
|
+
value: string;
|
|
49
|
+
disabled: boolean;
|
|
50
|
+
selected: boolean;
|
|
51
|
+
}
|
|
44
52
|
export default class KemetSelect extends LitElement {
|
|
45
53
|
formSubmitController: FormSubmitController;
|
|
46
54
|
static styles: import("lit").CSSResult[];
|
|
47
55
|
slug: string;
|
|
48
56
|
name: string;
|
|
49
57
|
value: string;
|
|
50
|
-
options:
|
|
58
|
+
options: IOptions[];
|
|
51
59
|
status: string;
|
|
52
60
|
required: boolean;
|
|
53
61
|
disabled: boolean;
|
|
@@ -60,22 +68,22 @@ export default class KemetSelect extends LitElement {
|
|
|
60
68
|
control: KemetFieldInterface;
|
|
61
69
|
select: HTMLSelectElement;
|
|
62
70
|
selectedOption: HTMLOptionElement;
|
|
63
|
-
optionElements:
|
|
71
|
+
optionElements: NodeListOf<KemetOption>;
|
|
64
72
|
hasFocus: boolean;
|
|
65
73
|
constructor();
|
|
66
74
|
firstUpdated(): void;
|
|
67
|
-
render():
|
|
75
|
+
render(): TemplateResult<1>;
|
|
68
76
|
/**
|
|
69
77
|
* Generates the option elements
|
|
70
78
|
* @private
|
|
71
79
|
* @returns {TemplateResult} An option element
|
|
72
80
|
*/
|
|
73
|
-
makeOptions():
|
|
81
|
+
makeOptions(): TemplateResult<1>[];
|
|
74
82
|
/**
|
|
75
|
-
* Generates
|
|
83
|
+
* Generates a dropdown icon
|
|
76
84
|
* @private
|
|
77
85
|
*/
|
|
78
|
-
makeIcon():
|
|
86
|
+
makeIcon(): TemplateResult<1>;
|
|
79
87
|
/**
|
|
80
88
|
* Handles when the input receives focus
|
|
81
89
|
* @private
|
|
@@ -101,10 +109,11 @@ export default class KemetSelect extends LitElement {
|
|
|
101
109
|
* @public
|
|
102
110
|
* @returns {boolean}
|
|
103
111
|
*/
|
|
104
|
-
checkValidity():
|
|
112
|
+
checkValidity(): boolean;
|
|
105
113
|
}
|
|
106
114
|
declare global {
|
|
107
115
|
interface HTMLElementTagNameMap {
|
|
108
116
|
'kemet-select': KemetSelect;
|
|
109
117
|
}
|
|
110
118
|
}
|
|
119
|
+
export {};
|