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
|
@@ -3,13 +3,28 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
3
3
|
import '../kemet-tabs';
|
|
4
4
|
import '../kemet-tab';
|
|
5
5
|
import '../kemet-tab-panel';
|
|
6
|
+
import '../../kemet-icon/kemet-icon';
|
|
6
7
|
const meta = {
|
|
7
8
|
title: 'Components / Tabs',
|
|
8
9
|
component: 'kemet-tabs',
|
|
10
|
+
argTypes: {
|
|
11
|
+
panelEffect: {
|
|
12
|
+
control: { type: 'select' },
|
|
13
|
+
options: ['none', 'slide', 'fade'],
|
|
14
|
+
},
|
|
15
|
+
tabsAlign: {
|
|
16
|
+
control: { type: 'select' },
|
|
17
|
+
options: ['center', 'between', 'around', 'evenly', 'start', 'end'],
|
|
18
|
+
},
|
|
19
|
+
placement: {
|
|
20
|
+
control: { type: 'select' },
|
|
21
|
+
options: ['top', 'right', 'bottom', 'left'],
|
|
22
|
+
},
|
|
23
|
+
}
|
|
9
24
|
};
|
|
10
25
|
export default meta;
|
|
11
|
-
const NamedTemplate = (
|
|
12
|
-
<kemet-tabs selected="${selected}" panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>
|
|
26
|
+
const NamedTemplate = (args) => html `
|
|
27
|
+
<kemet-tabs selected="${ifDefined(args.selected)}" panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>
|
|
13
28
|
<kemet-tab slot="tab" link="account">
|
|
14
29
|
<kemet-icon icon="person-circle"></kemet-icon> Account
|
|
15
30
|
</kemet-tab>
|
|
@@ -20,28 +35,28 @@ const NamedTemplate = ({ selected = 'settings', panelEffect = 'slide', swipe = t
|
|
|
20
35
|
<kemet-icon icon="columns-gap"></kemet-icon> Dashboard
|
|
21
36
|
</kemet-tab>
|
|
22
37
|
<kemet-tab-panel panel="account" slot="panel">
|
|
23
|
-
<h3 kemet-margin-top="
|
|
38
|
+
<h3 kemet-margin-top="none">Account</h3>
|
|
24
39
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
25
40
|
</kemet-tab-panel>
|
|
26
41
|
<kemet-tab-panel panel="settings" slot="panel">
|
|
27
|
-
<h3 kemet-margin-top="
|
|
42
|
+
<h3 kemet-margin-top="none">Settings</h3>
|
|
28
43
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
29
44
|
</kemet-tab-panel>
|
|
30
45
|
<kemet-tab-panel panel="dashboard" slot="panel">
|
|
31
|
-
<h3 kemet-margin-top="
|
|
46
|
+
<h3 kemet-margin-top="none">Dashboard</h3>
|
|
32
47
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
33
48
|
<p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>
|
|
34
49
|
</kemet-tab-panel>
|
|
35
50
|
</kemet-tabs>
|
|
36
51
|
<hr />
|
|
37
52
|
`;
|
|
38
|
-
const IndexTemplate = (
|
|
53
|
+
const IndexTemplate = (args) => {
|
|
39
54
|
const tabs = [];
|
|
40
55
|
const panels = [];
|
|
41
|
-
for (let i = 0; i < numOfTabs; i += 1) {
|
|
42
|
-
tabs.push(html `<kemet-tab slot="tab" ?closable=${closable}>This is tab ${i + 1}.</kemet-tab>`);
|
|
56
|
+
for (let i = 0; i < args.numOfTabs; i += 1) {
|
|
57
|
+
tabs.push(html `<kemet-tab slot="tab" ?closable=${args.closable}>This is tab ${i + 1}.</kemet-tab>`);
|
|
43
58
|
}
|
|
44
|
-
for (let i = 0; i < numOfTabs; i += 1) {
|
|
59
|
+
for (let i = 0; i < args.numOfTabs; i += 1) {
|
|
45
60
|
panels.push(html `
|
|
46
61
|
<kemet-tab-panel slot="panel">
|
|
47
62
|
<h3>Panel ${i + 1}</h3>
|
|
@@ -50,7 +65,7 @@ const IndexTemplate = ({ panelEffect = 'slide', swipe = true, divider = true, ta
|
|
|
50
65
|
`);
|
|
51
66
|
}
|
|
52
67
|
return html `
|
|
53
|
-
<kemet-tabs panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>
|
|
68
|
+
<kemet-tabs panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>
|
|
54
69
|
${tabs}
|
|
55
70
|
${panels}
|
|
56
71
|
</kemet-tabs>
|
|
@@ -60,83 +75,68 @@ export const SelectByName = {
|
|
|
60
75
|
render: (args) => NamedTemplate(args),
|
|
61
76
|
args: {
|
|
62
77
|
selected: 'settings',
|
|
63
|
-
panelEffect: 'slide',
|
|
64
|
-
swipe: true,
|
|
65
|
-
divider: true,
|
|
66
|
-
tabsAlign: 'center',
|
|
67
|
-
hideInk: false,
|
|
68
|
-
placement: 'top',
|
|
69
78
|
},
|
|
70
|
-
argTypes: {
|
|
71
|
-
panelEffect: {
|
|
72
|
-
control: { type: 'select' },
|
|
73
|
-
options: ['none', 'slide', 'fade'],
|
|
74
|
-
},
|
|
75
|
-
swipe: {
|
|
76
|
-
control: { type: 'boolean' },
|
|
77
|
-
},
|
|
78
|
-
divider: {
|
|
79
|
-
control: { type: 'boolean' },
|
|
80
|
-
},
|
|
81
|
-
tabsAlign: {
|
|
82
|
-
control: { type: 'select' },
|
|
83
|
-
options: ['center', 'between', 'around', 'evenly', 'start', 'end'],
|
|
84
|
-
},
|
|
85
|
-
hideInk: {
|
|
86
|
-
control: { type: 'boolean' },
|
|
87
|
-
},
|
|
88
|
-
placement: {
|
|
89
|
-
control: { type: 'select' },
|
|
90
|
-
options: ['top', 'right', 'bottom', 'left'],
|
|
91
|
-
},
|
|
92
|
-
measureHeightOffset: {
|
|
93
|
-
control: { type: 'number' },
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
79
|
};
|
|
97
80
|
export const SelectByIndex = {
|
|
81
|
+
render: (args) => IndexTemplate(args),
|
|
82
|
+
args: {
|
|
83
|
+
numOfTabs: 5,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
export const Closable = {
|
|
98
87
|
render: (args) => IndexTemplate(args),
|
|
99
88
|
args: {
|
|
100
89
|
numOfTabs: 5,
|
|
101
90
|
closable: true,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
export const Fade = {
|
|
94
|
+
render: (args) => IndexTemplate(args),
|
|
95
|
+
args: {
|
|
96
|
+
numOfTabs: 5,
|
|
97
|
+
panelEffect: 'fade',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
export const Slide = {
|
|
101
|
+
render: (args) => IndexTemplate(args),
|
|
102
|
+
args: {
|
|
103
|
+
numOfTabs: 5,
|
|
102
104
|
panelEffect: 'slide',
|
|
103
|
-
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
export const Divider = {
|
|
108
|
+
render: (args) => IndexTemplate(args),
|
|
109
|
+
args: {
|
|
110
|
+
numOfTabs: 5,
|
|
104
111
|
divider: true,
|
|
105
|
-
tabsAlign: 'center',
|
|
106
|
-
hideInk: false,
|
|
107
|
-
placement: 'top',
|
|
108
112
|
},
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
measureHeightOffset: {
|
|
138
|
-
control: { type: 'number' },
|
|
139
|
-
},
|
|
140
|
-
}
|
|
113
|
+
};
|
|
114
|
+
export const NoInk = {
|
|
115
|
+
render: (args) => IndexTemplate(args),
|
|
116
|
+
args: {
|
|
117
|
+
numOfTabs: 5,
|
|
118
|
+
hideInk: true,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
export const Right = {
|
|
122
|
+
render: (args) => IndexTemplate(args),
|
|
123
|
+
args: {
|
|
124
|
+
numOfTabs: 3,
|
|
125
|
+
placement: 'right',
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
export const Bottom = {
|
|
129
|
+
render: (args) => IndexTemplate(args),
|
|
130
|
+
args: {
|
|
131
|
+
numOfTabs: 3,
|
|
132
|
+
placement: 'bottom',
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
export const Left = {
|
|
136
|
+
render: (args) => IndexTemplate(args),
|
|
137
|
+
args: {
|
|
138
|
+
numOfTabs: 3,
|
|
139
|
+
placement: 'left',
|
|
140
|
+
},
|
|
141
141
|
};
|
|
142
142
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-tabs/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-tabs';\nimport '../kemet-tab';\nimport '../kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Tabs',\n component: 'kemet-tabs',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst NamedTemplate = ({\n selected = 'settings',\n panelEffect = 'slide',\n swipe = true,\n divider = true,\n tabsAlign = 'center',\n hideInk = false,\n placement = 'top',\n measureHeightOffset,\n}) => html`\n <kemet-tabs selected=\"${selected}\" panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>\n <kemet-tab slot=\"tab\" link=\"account\">\n <kemet-icon icon=\"person-circle\"></kemet-icon> Account\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"settings\">\n <kemet-icon icon=\"gear\"></kemet-icon> Settings\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"dashboard\">\n <kemet-icon icon=\"columns-gap\"></kemet-icon> Dashboard\n </kemet-tab>\n <kemet-tab-panel panel=\"account\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Account</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"settings\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Settings</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"dashboard\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Dashboard</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n <p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>\n </kemet-tab-panel>\n </kemet-tabs>\n <hr />\n`;\n\nconst IndexTemplate = ({\n panelEffect = 'slide',\n swipe = true,\n divider = true,\n tabsAlign = 'center',\n hideInk = false,\n placement = 'top',\n numOfTabs = 5,\n closable = true,\n measureHeightOffset,\n}) => {\n const tabs = [];\n const panels = [];\n\n for (let i = 0; i < numOfTabs; i += 1) {\n tabs.push(html`<kemet-tab slot=\"tab\" ?closable=${closable}>This is tab ${i + 1}.</kemet-tab>`);\n }\n\n for (let i = 0; i < numOfTabs; i += 1) {\n panels.push(html`\n <kemet-tab-panel slot=\"panel\">\n <h3>Panel ${i + 1}</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n `);\n }\n\n return html`\n <kemet-tabs panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>\n ${tabs}\n ${panels}\n </kemet-tabs>\n `;\n};\n\nexport const SelectByName: Story = {\n render: (args: any) => NamedTemplate(args),\n args: {\n selected: 'settings',\n panelEffect: 'slide',\n swipe: true,\n divider: true,\n tabsAlign: 'center',\n hideInk: false,\n placement: 'top',\n },\n argTypes: {\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n swipe: {\n control: { type: 'boolean' },\n },\n divider: {\n control: { type: 'boolean' },\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n hideInk: {\n control: { type: 'boolean' },\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n measureHeightOffset: {\n control: { type: 'number' },\n },\n }\n};\n\nexport const SelectByIndex: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n closable: true,\n panelEffect: 'slide',\n swipe: true,\n divider: true,\n tabsAlign: 'center',\n hideInk: false,\n placement: 'top',\n },\n argTypes: {\n numOfTabs: {\n control: { type: 'number' },\n },\n closable: {\n control: { type: 'boolean' },\n },\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n swipe: {\n control: { type: 'boolean' },\n },\n divider: {\n control: { type: 'boolean' },\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n hideInk: {\n control: { type: 'boolean' },\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n measureHeightOffset: {\n control: { type: 'number' },\n },\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-tabs/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,oBAAoB,CAAC;AAE5B,OAAO,6BAA6B,CAAC;AAErC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;SACnC;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;SACnE;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;SAC5C;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;0BACV,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,eAAe,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,OAAO,cAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlT,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA,mCAAmC,IAAI,CAAC,QAAQ,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACrG;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;;oBAEA,CAAC,GAAG,CAAC;;;KAGpB,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAA;+BACkB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,eAAe,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,OAAO,cAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACtQ,IAAI;QACJ,MAAM;;GAEX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,OAAO;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,MAAM;KAClB;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-tabs';\nimport '../kemet-tab';\nimport '../kemet-tab-panel';\n\nimport '../../kemet-icon/kemet-icon';\n\nconst meta: Meta = {\n title: 'Components / Tabs',\n component: 'kemet-tabs',\n argTypes: {\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst NamedTemplate = (args) => html`\n <kemet-tabs selected=\"${ifDefined(args.selected)}\" panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>\n <kemet-tab slot=\"tab\" link=\"account\">\n <kemet-icon icon=\"person-circle\"></kemet-icon> Account\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"settings\">\n <kemet-icon icon=\"gear\"></kemet-icon> Settings\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"dashboard\">\n <kemet-icon icon=\"columns-gap\"></kemet-icon> Dashboard\n </kemet-tab>\n <kemet-tab-panel panel=\"account\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Account</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"settings\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Settings</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"dashboard\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Dashboard</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n <p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>\n </kemet-tab-panel>\n </kemet-tabs>\n <hr />\n`;\n\nconst IndexTemplate = (args) => {\n const tabs = [];\n const panels = [];\n\n for (let i = 0; i < args.numOfTabs; i += 1) {\n tabs.push(html`<kemet-tab slot=\"tab\" ?closable=${args.closable}>This is tab ${i + 1}.</kemet-tab>`);\n }\n\n for (let i = 0; i < args.numOfTabs; i += 1) {\n panels.push(html`\n <kemet-tab-panel slot=\"panel\">\n <h3>Panel ${i + 1}</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n `);\n }\n\n return html`\n <kemet-tabs panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>\n ${tabs}\n ${panels}\n </kemet-tabs>\n `;\n};\n\nexport const SelectByName: Story = {\n render: (args: any) => NamedTemplate(args),\n args: {\n selected: 'settings',\n },\n};\n\nexport const SelectByIndex: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n },\n};\n\nexport const Closable: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n closable: true,\n },\n};\n\nexport const Fade: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n panelEffect: 'fade',\n },\n};\n\nexport const Slide: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n panelEffect: 'slide',\n },\n};\n\nexport const Divider: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n divider: true,\n },\n};\n\nexport const NoInk: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n hideInk: true,\n },\n};\n\nexport const Right: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'right',\n },\n};\n\nexport const Bottom: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'bottom',\n },\n};\n\nexport const Left: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'left',\n },\n};\n"]}
|
|
@@ -9,13 +9,14 @@ import { LitElement } from 'lit';
|
|
|
9
9
|
* @prop {boolean} selected - Is true when a panel is selected
|
|
10
10
|
* @prop {string} panel - Identifies the panel to be linked by a tab
|
|
11
11
|
*
|
|
12
|
-
* @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
|
|
12
|
+
* @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
|
|
13
13
|
*
|
|
14
14
|
*/
|
|
15
15
|
export default class KemetTabPanel extends LitElement {
|
|
16
16
|
static styles: import("lit").CSSResult[];
|
|
17
17
|
selected: boolean;
|
|
18
18
|
panel: string;
|
|
19
|
+
index: number;
|
|
19
20
|
updated(): void;
|
|
20
21
|
render(): import("lit-html").TemplateResult<1>;
|
|
21
22
|
a11y(): void;
|
|
@@ -12,7 +12,7 @@ import { stylesKemetTabPanel } from './styles';
|
|
|
12
12
|
* @prop {boolean} selected - Is true when a panel is selected
|
|
13
13
|
* @prop {string} panel - Identifies the panel to be linked by a tab
|
|
14
14
|
*
|
|
15
|
-
* @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
|
|
15
|
+
* @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
|
|
16
16
|
*
|
|
17
17
|
*/
|
|
18
18
|
let KemetTabPanel = class KemetTabPanel extends LitElement {
|
|
@@ -45,6 +45,9 @@ __decorate([
|
|
|
45
45
|
__decorate([
|
|
46
46
|
property({ type: String })
|
|
47
47
|
], KemetTabPanel.prototype, "panel", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
property({ type: Number })
|
|
50
|
+
], KemetTabPanel.prototype, "index", void 0);
|
|
48
51
|
KemetTabPanel = __decorate([
|
|
49
52
|
customElement('kemet-tab-panel')
|
|
50
53
|
], KemetTabPanel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-tab-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IAArD;;QAIE,aAAQ,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"kemet-tab-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IAArD;;QAIE,aAAQ,GAAY,KAAK,CAAC;IA2B5B,CAAC;IAnBC,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;CACF,CAAA;AA9BQ,oBAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAGtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACb;AAVK,aAAa;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACZ,aAAa,CA+BjC;eA/BoB,aAAa","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesKemetTabPanel } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab-panel\n * @summary A panel in a set of tabs.\n *\n * @prop {boolean} selected - Is true when a panel is selected\n * @prop {string} panel - Identifies the panel to be linked by a tab\n *\n * @cssproperty --kemet-tab-panel-fade-speed - The fade speed.\n *\n */\n\n@customElement('kemet-tab-panel')\nexport default class KemetTabPanel extends LitElement {\n static styles = [stylesKemetTabPanel];\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n panel: string;\n\n @property({ type: Number })\n index: number;\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n a11y() {\n this.setAttribute('role', 'tabpanel');\n\n if (this.selected) {\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('tabindex', '-1');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab-panel': KemetTabPanel\n }\n}\n"]}
|
|
@@ -10,8 +10,8 @@ import { LitElement } from 'lit';
|
|
|
10
10
|
* @prop {string} link - Links to a panel name
|
|
11
11
|
* @prop {boolean} closable - Determines if the tab can be closed
|
|
12
12
|
*
|
|
13
|
-
* @cssproperty --kemet-tab-padding - The padding of the tab.
|
|
14
|
-
* @cssproperty --kemet-tab-color - The color of the selected tab.
|
|
13
|
+
* @cssproperty --kemet-tab-padding - The padding of the tab.
|
|
14
|
+
* @cssproperty --kemet-tab-color - The color of the selected tab.
|
|
15
15
|
*
|
|
16
16
|
* @event kemet-tab-selected - Fires when a tab is selected
|
|
17
17
|
* @event kemet-tab-close - Fires when the tab should close
|
|
@@ -19,6 +19,7 @@ import { LitElement } from 'lit';
|
|
|
19
19
|
*/
|
|
20
20
|
export default class KemetTab extends LitElement {
|
|
21
21
|
static styles: import("lit").CSSResult[];
|
|
22
|
+
index: number;
|
|
22
23
|
selected: boolean;
|
|
23
24
|
link: string;
|
|
24
25
|
closable: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { LitElement, html } from 'lit';
|
|
3
|
-
import { emitEvent } from '../../utilities/misc/events';
|
|
4
3
|
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { emitEvent } from '../../utilities/misc/events';
|
|
5
5
|
import { stylesKemetTab } from './styles';
|
|
6
6
|
/**
|
|
7
7
|
* @since 1.0.0
|
|
@@ -14,8 +14,8 @@ import { stylesKemetTab } from './styles';
|
|
|
14
14
|
* @prop {string} link - Links to a panel name
|
|
15
15
|
* @prop {boolean} closable - Determines if the tab can be closed
|
|
16
16
|
*
|
|
17
|
-
* @cssproperty --kemet-tab-padding - The padding of the tab.
|
|
18
|
-
* @cssproperty --kemet-tab-color - The color of the selected tab.
|
|
17
|
+
* @cssproperty --kemet-tab-padding - The padding of the tab.
|
|
18
|
+
* @cssproperty --kemet-tab-color - The color of the selected tab.
|
|
19
19
|
*
|
|
20
20
|
* @event kemet-tab-selected - Fires when a tab is selected
|
|
21
21
|
* @event kemet-tab-close - Fires when the tab should close
|
|
@@ -63,6 +63,9 @@ let KemetTab = class KemetTab extends LitElement {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
KemetTab.styles = [stylesKemetTab];
|
|
66
|
+
__decorate([
|
|
67
|
+
property({ type: Number })
|
|
68
|
+
], KemetTab.prototype, "index", void 0);
|
|
66
69
|
__decorate([
|
|
67
70
|
property({ type: Boolean, reflect: true })
|
|
68
71
|
], KemetTab.prototype, "selected", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-tab.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"kemet-tab.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,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,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AAGH,IAAqB,QAAQ,GAA7B,MAAqB,QAAS,SAAQ,UAAU;IAAhD;;QAOE,aAAQ,GAAY,KAAK,CAAC;IAkD5B,CAAC;IA1CC,YAAY;QACV,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,aAAa,EAAE;KACvB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,SAAS,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAA,kCAAkC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;SAC1F;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAxDQ,eAAM,GAAG,CAAC,cAAc,CAAC,CAAC;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACd;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACV;AAbC,QAAQ;IAD5B,aAAa,CAAC,WAAW,CAAC;GACN,QAAQ,CAyD5B;eAzDoB,QAAQ","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesKemetTab } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab\n * @summary A tab in a set of tabs.\n *\n * @prop {boolean} selected - Is true when the tab is selected\n * @prop {string} link - Links to a panel name\n * @prop {boolean} closable - Determines if the tab can be closed\n *\n * @cssproperty --kemet-tab-padding - The padding of the tab.\n * @cssproperty --kemet-tab-color - The color of the selected tab.\n *\n * @event kemet-tab-selected - Fires when a tab is selected\n * @event kemet-tab-close - Fires when the tab should close\n *\n */\n\n@customElement('kemet-tab')\nexport default class KemetTab extends LitElement {\n static styles = [stylesKemetTab];\n\n @property({ type: Number })\n index: number;\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n link: string;\n\n @property({ type: Boolean })\n closable: boolean;\n\n firstUpdated() {\n this.addEventListener('click', this.select.bind(this));\n }\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n ${this.makeCloseable()}\n `;\n }\n\n select() {\n emitEvent(this, 'kemet-tab-selected', this);\n }\n\n a11y() {\n this.setAttribute('role', 'tab');\n\n if (this.selected) {\n this.setAttribute('aria-selected', 'true');\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('aria-selected', 'false');\n this.setAttribute('tabindex', '-1');\n }\n }\n\n makeCloseable() {\n if (this.closable) {\n return html`<kemet-icon icon=\"x-lg\" @click=${() => this.handleClosable()}></kemet-icon>`;\n }\n\n return null;\n }\n\n handleClosable() {\n emitEvent(this, 'kemet-tab-close', this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab': KemetTab\n }\n}\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
|
|
3
|
+
import type KemetTab from './kemet-tab';
|
|
4
|
+
import type KemetTabPanel from './kemet-tab-panel';
|
|
3
5
|
/**
|
|
4
6
|
* @since 1.0.0
|
|
5
7
|
* @status stable
|
|
@@ -11,12 +13,12 @@ import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
|
|
|
11
13
|
* @prop {number} selectedIndex - The selected tab by index
|
|
12
14
|
* @prop {number} panelPosition - Positions the current panel
|
|
13
15
|
* @prop {string} panelEffect - The transition effect for panels
|
|
14
|
-
* @prop {boolean} swipe - Determines whether
|
|
16
|
+
* @prop {boolean} swipe - Determines whether to enable swipe behavior
|
|
15
17
|
* @prop {string} placement - Places the tabs to the top, right, bottom, or left
|
|
16
|
-
* @prop {boolean} divider - Determines whether
|
|
18
|
+
* @prop {boolean} divider - Determines whether to show a divider line
|
|
17
19
|
* @prop {string} tabsAlign - Spacing alignment of the tabs
|
|
18
20
|
* @prop {object} ink - An object that contains information about the ink
|
|
19
|
-
* @prop {boolean} hideInk - Determines whether
|
|
21
|
+
* @prop {boolean} hideInk - Determines whether to hide the ink
|
|
20
22
|
* @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
|
|
21
23
|
*
|
|
22
24
|
* @slot tab - Place the tabs here.
|
|
@@ -28,17 +30,23 @@ import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
|
|
|
28
30
|
* @csspart ink - The ink element.
|
|
29
31
|
* @csspart divider - The divider element.
|
|
30
32
|
*
|
|
31
|
-
* @cssproperty --kemet-tabs-ink-size - The thickness of the ink.
|
|
32
|
-
* @cssproperty --kemet-tabs-ink-radius - The radius on the ink.
|
|
33
|
-
* @cssproperty --kemet-tabs-ink-color - The color of the ink.
|
|
34
|
-
* @cssproperty --kemet-tabs-divider-size - The thickness of the divider.
|
|
35
|
-
* @cssproperty --kemet-tabs-divider-color - The color of the divider.
|
|
36
|
-
* @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels.
|
|
37
|
-
* @cssproperty --kemet-tabs-spacer - The space between tabs and panels.
|
|
33
|
+
* @cssproperty --kemet-tabs-ink-size - The thickness of the ink.
|
|
34
|
+
* @cssproperty --kemet-tabs-ink-radius - The radius on the ink.
|
|
35
|
+
* @cssproperty --kemet-tabs-ink-color - The color of the ink.
|
|
36
|
+
* @cssproperty --kemet-tabs-divider-size - The thickness of the divider.
|
|
37
|
+
* @cssproperty --kemet-tabs-divider-color - The color of the divider.
|
|
38
|
+
* @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels.
|
|
39
|
+
* @cssproperty --kemet-tabs-spacer - The space between tabs and panels.
|
|
38
40
|
*
|
|
39
41
|
* @event kemet-tab-changed - Fires when a tab is changed
|
|
40
42
|
*
|
|
41
43
|
*/
|
|
44
|
+
interface Iink {
|
|
45
|
+
width: string;
|
|
46
|
+
height: string;
|
|
47
|
+
positionX: string;
|
|
48
|
+
positionY: string;
|
|
49
|
+
}
|
|
42
50
|
export default class KemetTabs extends LitElement {
|
|
43
51
|
static styles: import("lit").CSSResult[];
|
|
44
52
|
selected: string;
|
|
@@ -49,11 +57,11 @@ export default class KemetTabs extends LitElement {
|
|
|
49
57
|
placement: TypePlacement;
|
|
50
58
|
divider: boolean;
|
|
51
59
|
tabsAlign: TypeTabsAlign;
|
|
52
|
-
ink:
|
|
60
|
+
ink: Iink;
|
|
53
61
|
hideInk: boolean;
|
|
54
62
|
overflow: boolean;
|
|
55
|
-
tabs:
|
|
56
|
-
panels:
|
|
63
|
+
tabs: KemetTab[];
|
|
64
|
+
panels: KemetTabPanel[];
|
|
57
65
|
xDown: number | null;
|
|
58
66
|
yDown: number | null;
|
|
59
67
|
links: HTMLElement;
|
|
@@ -61,31 +69,32 @@ export default class KemetTabs extends LitElement {
|
|
|
61
69
|
constructor();
|
|
62
70
|
firstUpdated(): void;
|
|
63
71
|
render(): import("lit-html").TemplateResult<1>;
|
|
64
|
-
updated(): void;
|
|
72
|
+
updated(prevProps: Map<string, never>): void;
|
|
65
73
|
handleLinksSlotChange(): void;
|
|
66
74
|
handlePanelsSlotChange(): void;
|
|
67
75
|
handleLeftArrow(): void;
|
|
68
76
|
handleRightArrow(): void;
|
|
69
|
-
handleTabClose(event:
|
|
70
|
-
makeInk(location:
|
|
77
|
+
handleTabClose(event: CustomEvent): void;
|
|
78
|
+
makeInk(location: string): import("lit-html").TemplateResult<1>;
|
|
71
79
|
makeDivider(): import("lit-html").TemplateResult<1>;
|
|
72
80
|
makeLeftArrow(): import("lit-html").TemplateResult<1>;
|
|
73
81
|
makeRightArrow(): import("lit-html").TemplateResult<1>;
|
|
74
82
|
selectTab(): void;
|
|
75
83
|
selectPanel(): void;
|
|
76
84
|
dispatchTabChange(): void;
|
|
77
|
-
tabSelectedChange(event:
|
|
85
|
+
tabSelectedChange(event: CustomEvent): void;
|
|
78
86
|
determineFade(): void;
|
|
79
87
|
determineStacked(): void;
|
|
80
88
|
determineOverflow(): void;
|
|
81
89
|
handleResize(): void;
|
|
82
|
-
animatePanel(panelName:
|
|
83
|
-
handleTabKeydown(event:
|
|
84
|
-
handleTouchStart(event:
|
|
85
|
-
handleTouchMove(event:
|
|
90
|
+
animatePanel(panelName: string, panelIndex: number): void;
|
|
91
|
+
handleTabKeydown(event: KeyboardEvent): void;
|
|
92
|
+
handleTouchStart(event: TouchEvent): void;
|
|
93
|
+
handleTouchMove(event: TouchEvent): void;
|
|
86
94
|
}
|
|
87
95
|
declare global {
|
|
88
96
|
interface HTMLElementTagNameMap {
|
|
89
97
|
'kemet-tabs': KemetTabs;
|
|
90
98
|
}
|
|
91
99
|
}
|
|
100
|
+
export {};
|
|
@@ -2,48 +2,9 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
/* eslint-disable no-lonely-if */
|
|
3
3
|
/* eslint-disable no-case-declarations */
|
|
4
4
|
import { LitElement, html } from 'lit';
|
|
5
|
-
import {
|
|
5
|
+
import { customElement, property, query, state, } from 'lit/decorators.js';
|
|
6
6
|
import { emitEvent } from '../../utilities/misc/events';
|
|
7
|
-
import {
|
|
8
|
-
/**
|
|
9
|
-
* @since 1.0.0
|
|
10
|
-
* @status stable
|
|
11
|
-
*
|
|
12
|
-
* @tagname kemet-tabs
|
|
13
|
-
* @summary A group of tabs and panels.
|
|
14
|
-
*
|
|
15
|
-
* @prop {string} selected - The selected tab by name
|
|
16
|
-
* @prop {number} selectedIndex - The selected tab by index
|
|
17
|
-
* @prop {number} panelPosition - Positions the current panel
|
|
18
|
-
* @prop {string} panelEffect - The transition effect for panels
|
|
19
|
-
* @prop {boolean} swipe - Determines whether or not to enable swipe behavior
|
|
20
|
-
* @prop {string} placement - Places the tabs to the top, right, bottom, or left
|
|
21
|
-
* @prop {boolean} divider - Determines whether or not to show a divider line
|
|
22
|
-
* @prop {string} tabsAlign - Spacing alignment of the tabs
|
|
23
|
-
* @prop {object} ink - An object that contains information about the ink
|
|
24
|
-
* @prop {boolean} hideInk - Determines whether or not to hide the ink
|
|
25
|
-
* @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
|
|
26
|
-
*
|
|
27
|
-
* @slot tab - Place the tabs here.
|
|
28
|
-
* @slot panel - Place the panels here.
|
|
29
|
-
*
|
|
30
|
-
* @csspart links - The container for the tablist.
|
|
31
|
-
* @csspart tablist - Contains the tabs.
|
|
32
|
-
* @csspart panels - Contains the panels.
|
|
33
|
-
* @csspart ink - The ink element.
|
|
34
|
-
* @csspart divider - The divider element.
|
|
35
|
-
*
|
|
36
|
-
* @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.
|
|
37
|
-
* @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.
|
|
38
|
-
* @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).
|
|
39
|
-
* @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.
|
|
40
|
-
* @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).
|
|
41
|
-
* @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.
|
|
42
|
-
* @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.
|
|
43
|
-
*
|
|
44
|
-
* @event kemet-tab-changed - Fires when a tab is changed
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
7
|
+
import { stylesKemetTabs } from './styles';
|
|
47
8
|
let KemetTabs = class KemetTabs extends LitElement {
|
|
48
9
|
constructor() {
|
|
49
10
|
super();
|
|
@@ -84,9 +45,17 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
84
45
|
</section>
|
|
85
46
|
`;
|
|
86
47
|
}
|
|
87
|
-
updated() {
|
|
48
|
+
updated(prevProps) {
|
|
88
49
|
this.determineFade();
|
|
89
50
|
this.determineStacked();
|
|
51
|
+
if (prevProps.get('selected') && prevProps.get('selected') !== this.selected) {
|
|
52
|
+
this.selectTab();
|
|
53
|
+
this.selectPanel();
|
|
54
|
+
}
|
|
55
|
+
if (typeof prevProps.get('selectedIndex') === 'number' && prevProps.get('selectedIndex') !== this.selected) {
|
|
56
|
+
this.selectTab();
|
|
57
|
+
this.selectPanel();
|
|
58
|
+
}
|
|
90
59
|
}
|
|
91
60
|
handleLinksSlotChange() {
|
|
92
61
|
const tabs = this.querySelectorAll('kemet-tab');
|
|
@@ -323,12 +292,7 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
323
292
|
tabElements.forEach((tab) => {
|
|
324
293
|
totalTabsWidth += tab.offsetWidth;
|
|
325
294
|
});
|
|
326
|
-
|
|
327
|
-
this.overflow = true;
|
|
328
|
-
}
|
|
329
|
-
else {
|
|
330
|
-
this.overflow = false;
|
|
331
|
-
}
|
|
295
|
+
this.overflow = totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom');
|
|
332
296
|
}
|
|
333
297
|
handleResize() {
|
|
334
298
|
if (this.tabs && this.panels) {
|