kemet-ui 2.0.0 → 2.0.2
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 +305 -305
- package/dist/components/kemet-alert/docs/stories.js.map +1 -1
- package/dist/components/kemet-avatar/docs/stories.d.ts +1 -0
- package/dist/components/kemet-avatar/docs/stories.js +5 -4
- package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
- package/dist/components/kemet-card/docs/stories.js.map +1 -0
- package/dist/components/kemet-carousel/docs/stories.js.map +1 -0
- package/dist/components/kemet-carousel/kemet-carousel.d.ts +13 -0
- package/dist/components/kemet-carousel/kemet-carousel.js +2 -0
- package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
- package/dist/components/kemet-checkbox/docs/stories.js.map +1 -0
- package/dist/components/kemet-combo/docs/stories.js.map +1 -0
- package/dist/components/kemet-count/docs/stories.js.map +1 -0
- package/dist/components/kemet-draggable/docs/stories.js.map +1 -0
- package/dist/components/kemet-draggable/kemet-draggable.d.ts +7 -0
- package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
- package/dist/components/kemet-drawer/docs/stories.js.map +1 -0
- package/dist/components/kemet-fab/docs/stories.js.map +1 -0
- package/dist/components/kemet-field/docs/stories.js.map +1 -0
- package/dist/components/kemet-flipcard/docs/stories.js.map +1 -0
- package/dist/components/kemet-icon/docs/stories.js.map +1 -0
- package/dist/components/kemet-input/docs/stories.js.map +1 -0
- package/dist/components/kemet-modal/docs/stories.js.map +1 -0
- package/dist/components/kemet-password/docs/stories.js.map +1 -0
- package/dist/components/kemet-popper/docs/stories.js.map +1 -0
- package/dist/components/kemet-radio/docs/stories.js.map +1 -0
- package/dist/components/kemet-rotator/docs/stories.js.map +1 -0
- package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -0
- package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -0
- package/dist/components/kemet-scroll-nav/styles.js +1 -0
- package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
- package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -0
- package/dist/components/kemet-select/docs/stories.js.map +1 -0
- package/dist/components/kemet-sortable/docs/stories.js.map +1 -0
- package/dist/components/kemet-svgs/docs/stories.js.map +1 -0
- package/dist/components/kemet-tabs/docs/stories.js.map +1 -0
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +1 -5
- package/dist/components/kemet-tabs/kemet-tabs.js +8 -27
- package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
- package/dist/components/kemet-tabs/styles.js +14 -0
- package/dist/components/kemet-tabs/styles.js.map +1 -1
- package/dist/components/kemet-tabs/types.d.ts +1 -3
- package/dist/components/kemet-tabs/types.js.map +1 -1
- package/dist/components/kemet-textarea/docs/stories.js.map +1 -0
- package/dist/components/kemet-toggle/docs/stories.js.map +1 -0
- package/dist/components/kemet-tooltip/docs/stories.js.map +1 -0
- package/dist/components/kemet-tracker/docs/stories.js.map +1 -0
- package/dist/components/kemet-upload/docs/stories.js.map +1 -0
- package/dist/kemet-components.bundle.js +7 -7
- package/dist/kemet-components.bundle.js.map +1 -1
- package/dist/kemet-components.cjs +1802 -1804
- package/dist/kemet-components.js +1802 -1804
- package/dist/styles/components/_config.scss +4 -0
- package/dist/styles/components/accordion.scss +9 -0
- package/dist/styles/components/drawer.scss +11 -0
- package/dist/styles/components/modal.scss +8 -0
- package/dist/styles/components/scrollsnap.scss +11 -0
- package/dist/styles/core/attributes.scss +38 -0
- package/dist/styles/core/layout.scss +169 -0
- package/dist/styles/kemet.base.css +1 -0
- package/dist/styles/kemet.base.scss +28 -0
- package/dist/styles/kemet.components.scss +4 -0
- package/dist/styles/kemet.core.css +155 -154
- package/dist/styles/kemet.core.css.map +1 -1
- package/dist/styles/kemet.core.scss +2 -0
- package/dist/styles/shared/_config.scss +358 -0
- package/dist/styles/shared/_helpers.scss +458 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/.storybook/decorators.d.ts +0 -2
- package/dist/.storybook/decorators.js +0 -28
- package/dist/.storybook/decorators.js.map +0 -1
- package/dist/components/kemet-alert/stories.d.ts +0 -9
- package/dist/components/kemet-alert/stories.js +0 -77
- package/dist/components/kemet-alert/stories.js.map +0 -1
- package/dist/components/kemet-avatar/stories.d.ts +0 -10
- package/dist/components/kemet-avatar/stories.js +0 -85
- package/dist/components/kemet-avatar/stories.js.map +0 -1
- package/dist/src/components/kemet-accordion/kemet-accordion-panel.d.ts +0 -51
- package/dist/src/components/kemet-accordion/kemet-accordion-panel.js +0 -136
- package/dist/src/components/kemet-accordion/kemet-accordion-panel.js.map +0 -1
- package/dist/src/components/kemet-accordion/kemet-accordion.d.ts +0 -37
- package/dist/src/components/kemet-accordion/kemet-accordion.js +0 -129
- package/dist/src/components/kemet-accordion/kemet-accordion.js.map +0 -1
- package/dist/src/components/kemet-accordion/stories.d.ts +0 -10
- package/dist/src/components/kemet-accordion/stories.js +0 -44
- package/dist/src/components/kemet-accordion/stories.js.map +0 -1
- package/dist/src/components/kemet-accordion/styles.d.ts +0 -2
- package/dist/src/components/kemet-accordion/styles.js +0 -42
- package/dist/src/components/kemet-accordion/styles.js.map +0 -1
- package/dist/src/components/kemet-accordion/types.d.ts +0 -9
- package/dist/src/components/kemet-accordion/types.js +0 -2
- package/dist/src/components/kemet-accordion/types.js.map +0 -1
- package/dist/src/components/kemet-alert/docs/stories.d.ts +0 -9
- package/dist/src/components/kemet-alert/docs/stories.js +0 -77
- package/dist/src/components/kemet-alert/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-alert/kemet-alert.d.ts +0 -52
- package/dist/src/components/kemet-alert/kemet-alert.js +0 -108
- package/dist/src/components/kemet-alert/kemet-alert.js.map +0 -1
- package/dist/src/components/kemet-alert/styles.d.ts +0 -1
- package/dist/src/components/kemet-alert/styles.js +0 -104
- package/dist/src/components/kemet-alert/styles.js.map +0 -1
- package/dist/src/components/kemet-alert/types.d.ts +0 -10
- package/dist/src/components/kemet-alert/types.js +0 -2
- package/dist/src/components/kemet-alert/types.js.map +0 -1
- package/dist/src/components/kemet-avatar/docs/stories.d.ts +0 -11
- package/dist/src/components/kemet-avatar/docs/stories.js +0 -86
- package/dist/src/components/kemet-avatar/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-avatar/kemet-avatar.d.ts +0 -43
- package/dist/src/components/kemet-avatar/kemet-avatar.js +0 -78
- package/dist/src/components/kemet-avatar/kemet-avatar.js.map +0 -1
- package/dist/src/components/kemet-avatar/kemet-avatars.d.ts +0 -20
- package/dist/src/components/kemet-avatar/kemet-avatars.js +0 -25
- package/dist/src/components/kemet-avatar/kemet-avatars.js.map +0 -1
- package/dist/src/components/kemet-avatar/styles.d.ts +0 -2
- package/dist/src/components/kemet-avatar/styles.js +0 -58
- package/dist/src/components/kemet-avatar/styles.js.map +0 -1
- package/dist/src/components/kemet-avatar/types.d.ts +0 -8
- package/dist/src/components/kemet-avatar/types.js +0 -2
- package/dist/src/components/kemet-avatar/types.js.map +0 -1
- package/dist/src/components/kemet-badge/docs/stories.d.ts +0 -9
- package/dist/src/components/kemet-badge/docs/stories.js +0 -40
- package/dist/src/components/kemet-badge/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-badge/kemet-badge.d.ts +0 -30
- package/dist/src/components/kemet-badge/kemet-badge.js +0 -55
- package/dist/src/components/kemet-badge/kemet-badge.js.map +0 -1
- package/dist/src/components/kemet-badge/styles.d.ts +0 -1
- package/dist/src/components/kemet-badge/styles.js +0 -40
- package/dist/src/components/kemet-badge/styles.js.map +0 -1
- package/dist/src/components/kemet-badge/types.d.ts +0 -6
- package/dist/src/components/kemet-badge/types.js +0 -2
- package/dist/src/components/kemet-badge/types.js.map +0 -1
- package/dist/src/components/kemet-button/docs/stories.d.ts +0 -9
- package/dist/src/components/kemet-button/docs/stories.js +0 -51
- package/dist/src/components/kemet-button/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-button/kemet-button.d.ts +0 -89
- package/dist/src/components/kemet-button/kemet-button.js +0 -153
- package/dist/src/components/kemet-button/kemet-button.js.map +0 -1
- package/dist/src/components/kemet-button/styles.d.ts +0 -1
- package/dist/src/components/kemet-button/styles.js +0 -73
- package/dist/src/components/kemet-button/styles.js.map +0 -1
- package/dist/src/components/kemet-button/types.d.ts +0 -10
- package/dist/src/components/kemet-button/types.js +0 -2
- package/dist/src/components/kemet-button/types.js.map +0 -1
- package/dist/src/components/kemet-card/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-card/kemet-card.d.ts +0 -47
- package/dist/src/components/kemet-card/kemet-card.js +0 -65
- package/dist/src/components/kemet-card/kemet-card.js.map +0 -1
- package/dist/src/components/kemet-card/styles.d.ts +0 -1
- package/dist/src/components/kemet-card/styles.js +0 -63
- package/dist/src/components/kemet-card/styles.js.map +0 -1
- package/dist/src/components/kemet-card/types.d.ts +0 -3
- package/dist/src/components/kemet-card/types.js +0 -2
- package/dist/src/components/kemet-card/types.js.map +0 -1
- package/dist/src/components/kemet-carousel/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-current.d.ts +0 -26
- package/dist/src/components/kemet-carousel/kemet-carousel-current.js +0 -44
- package/dist/src/components/kemet-carousel/kemet-carousel-current.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-first.d.ts +0 -25
- package/dist/src/components/kemet-carousel/kemet-carousel-first.js +0 -50
- package/dist/src/components/kemet-carousel/kemet-carousel-first.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-last.d.ts +0 -25
- package/dist/src/components/kemet-carousel/kemet-carousel-last.js +0 -50
- package/dist/src/components/kemet-carousel/kemet-carousel-last.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-link.d.ts +0 -31
- package/dist/src/components/kemet-carousel/kemet-carousel-link.js +0 -64
- package/dist/src/components/kemet-carousel/kemet-carousel-link.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-next.d.ts +0 -25
- package/dist/src/components/kemet-carousel/kemet-carousel-next.js +0 -50
- package/dist/src/components/kemet-carousel/kemet-carousel-next.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-prev.d.ts +0 -25
- package/dist/src/components/kemet-carousel/kemet-carousel-prev.js +0 -50
- package/dist/src/components/kemet-carousel/kemet-carousel-prev.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-slide.d.ts +0 -29
- package/dist/src/components/kemet-carousel/kemet-carousel-slide.js +0 -53
- package/dist/src/components/kemet-carousel/kemet-carousel-slide.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel-total.d.ts +0 -26
- package/dist/src/components/kemet-carousel/kemet-carousel-total.js +0 -44
- package/dist/src/components/kemet-carousel/kemet-carousel-total.js.map +0 -1
- package/dist/src/components/kemet-carousel/kemet-carousel.d.ts +0 -114
- package/dist/src/components/kemet-carousel/kemet-carousel.js +0 -410
- package/dist/src/components/kemet-carousel/kemet-carousel.js.map +0 -1
- package/dist/src/components/kemet-carousel/styles.d.ts +0 -1
- package/dist/src/components/kemet-carousel/styles.js +0 -66
- package/dist/src/components/kemet-carousel/styles.js.map +0 -1
- package/dist/src/components/kemet-carousel/types.d.ts +0 -21
- package/dist/src/components/kemet-carousel/types.js +0 -2
- package/dist/src/components/kemet-carousel/types.js.map +0 -1
- package/dist/src/components/kemet-checkbox/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-checkbox/kemet-checkbox.d.ts +0 -71
- package/dist/src/components/kemet-checkbox/kemet-checkbox.js +0 -192
- package/dist/src/components/kemet-checkbox/kemet-checkbox.js.map +0 -1
- package/dist/src/components/kemet-checkbox/styles.d.ts +0 -1
- package/dist/src/components/kemet-checkbox/styles.js +0 -83
- package/dist/src/components/kemet-checkbox/styles.js.map +0 -1
- package/dist/src/components/kemet-checkbox/types.d.ts +0 -15
- package/dist/src/components/kemet-checkbox/types.js +0 -2
- package/dist/src/components/kemet-checkbox/types.js.map +0 -1
- package/dist/src/components/kemet-combo/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-combo/kemet-combo.d.ts +0 -50
- package/dist/src/components/kemet-combo/kemet-combo.js +0 -162
- package/dist/src/components/kemet-combo/kemet-combo.js.map +0 -1
- package/dist/src/components/kemet-combo/styles.d.ts +0 -1
- package/dist/src/components/kemet-combo/styles.js +0 -44
- package/dist/src/components/kemet-combo/styles.js.map +0 -1
- package/dist/src/components/kemet-combo/types.d.ts +0 -5
- package/dist/src/components/kemet-combo/types.js +0 -2
- package/dist/src/components/kemet-combo/types.js.map +0 -1
- package/dist/src/components/kemet-count/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-count/kemet-count.d.ts +0 -39
- package/dist/src/components/kemet-count/kemet-count.js +0 -98
- package/dist/src/components/kemet-count/kemet-count.js.map +0 -1
- package/dist/src/components/kemet-draggable/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-draggable/kemet-draggable.d.ts +0 -49
- package/dist/src/components/kemet-draggable/kemet-draggable.js +0 -137
- package/dist/src/components/kemet-draggable/kemet-draggable.js.map +0 -1
- package/dist/src/components/kemet-draggable/types.d.ts +0 -6
- package/dist/src/components/kemet-draggable/types.js +0 -2
- package/dist/src/components/kemet-draggable/types.js.map +0 -1
- package/dist/src/components/kemet-drawer/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-drawer/kemet-drawer.d.ts +0 -48
- package/dist/src/components/kemet-drawer/kemet-drawer.js +0 -95
- package/dist/src/components/kemet-drawer/kemet-drawer.js.map +0 -1
- package/dist/src/components/kemet-drawer/styles.d.ts +0 -2
- package/dist/src/components/kemet-drawer/styles.js +0 -314
- package/dist/src/components/kemet-drawer/styles.js.map +0 -1
- package/dist/src/components/kemet-drawer/types.d.ts +0 -8
- package/dist/src/components/kemet-drawer/types.js +0 -2
- package/dist/src/components/kemet-drawer/types.js.map +0 -1
- package/dist/src/components/kemet-fab/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-fab/kemet-fab.d.ts +0 -49
- package/dist/src/components/kemet-fab/kemet-fab.js +0 -107
- package/dist/src/components/kemet-fab/kemet-fab.js.map +0 -1
- package/dist/src/components/kemet-fab/styles.d.ts +0 -1
- package/dist/src/components/kemet-fab/styles.js +0 -95
- package/dist/src/components/kemet-fab/styles.js.map +0 -1
- package/dist/src/components/kemet-fab/types.d.ts +0 -8
- package/dist/src/components/kemet-fab/types.js +0 -2
- package/dist/src/components/kemet-fab/types.js.map +0 -1
- package/dist/src/components/kemet-field/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-field/kemet-field.d.ts +0 -61
- package/dist/src/components/kemet-field/kemet-field.js +0 -144
- package/dist/src/components/kemet-field/kemet-field.js.map +0 -1
- package/dist/src/components/kemet-field/styles.d.ts +0 -1
- package/dist/src/components/kemet-field/styles.js +0 -61
- package/dist/src/components/kemet-field/styles.js.map +0 -1
- package/dist/src/components/kemet-field/types.d.ts +0 -13
- package/dist/src/components/kemet-field/types.js +0 -2
- package/dist/src/components/kemet-field/types.js.map +0 -1
- package/dist/src/components/kemet-flipcard/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +0 -21
- package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.js +0 -42
- package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.js.map +0 -1
- package/dist/src/components/kemet-flipcard/kemet-flipcard.d.ts +0 -52
- package/dist/src/components/kemet-flipcard/kemet-flipcard.js +0 -131
- package/dist/src/components/kemet-flipcard/kemet-flipcard.js.map +0 -1
- package/dist/src/components/kemet-flipcard/styles.d.ts +0 -1
- package/dist/src/components/kemet-flipcard/styles.js +0 -85
- package/dist/src/components/kemet-flipcard/styles.js.map +0 -1
- package/dist/src/components/kemet-flipcard/types.d.ts +0 -7
- package/dist/src/components/kemet-flipcard/types.js +0 -2
- package/dist/src/components/kemet-flipcard/types.js.map +0 -1
- package/dist/src/components/kemet-icon/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-icon/kemet-icon.d.ts +0 -28
- package/dist/src/components/kemet-icon/kemet-icon.js +0 -114
- package/dist/src/components/kemet-icon/kemet-icon.js.map +0 -1
- package/dist/src/components/kemet-icon/styles.d.ts +0 -1
- package/dist/src/components/kemet-icon/styles.js +0 -9
- package/dist/src/components/kemet-icon/styles.js.map +0 -1
- package/dist/src/components/kemet-icon/types.d.ts +0 -5
- package/dist/src/components/kemet-icon/types.js +0 -2
- package/dist/src/components/kemet-icon/types.js.map +0 -1
- package/dist/src/components/kemet-input/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-input/kemet-input.d.ts +0 -193
- package/dist/src/components/kemet-input/kemet-input.js +0 -417
- package/dist/src/components/kemet-input/kemet-input.js.map +0 -1
- package/dist/src/components/kemet-input/styles.d.ts +0 -1
- package/dist/src/components/kemet-input/styles.js +0 -115
- package/dist/src/components/kemet-input/styles.js.map +0 -1
- package/dist/src/components/kemet-input/types.d.ts +0 -35
- package/dist/src/components/kemet-input/types.js +0 -2
- package/dist/src/components/kemet-input/types.js.map +0 -1
- package/dist/src/components/kemet-modal/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-modal/kemet-modal-close.d.ts +0 -21
- package/dist/src/components/kemet-modal/kemet-modal-close.js +0 -40
- package/dist/src/components/kemet-modal/kemet-modal-close.js.map +0 -1
- package/dist/src/components/kemet-modal/kemet-modal.d.ts +0 -49
- package/dist/src/components/kemet-modal/kemet-modal.js +0 -131
- package/dist/src/components/kemet-modal/kemet-modal.js.map +0 -1
- package/dist/src/components/kemet-modal/styles.d.ts +0 -2
- package/dist/src/components/kemet-modal/styles.js +0 -267
- package/dist/src/components/kemet-modal/styles.js.map +0 -1
- package/dist/src/components/kemet-modal/types.d.ts +0 -8
- package/dist/src/components/kemet-modal/types.js +0 -2
- package/dist/src/components/kemet-modal/types.js.map +0 -1
- package/dist/src/components/kemet-password/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-password/kemet-password.d.ts +0 -77
- package/dist/src/components/kemet-password/kemet-password.js +0 -184
- package/dist/src/components/kemet-password/kemet-password.js.map +0 -1
- package/dist/src/components/kemet-password/styles.d.ts +0 -1
- package/dist/src/components/kemet-password/styles.js +0 -80
- package/dist/src/components/kemet-password/styles.js.map +0 -1
- package/dist/src/components/kemet-password/types.d.ts +0 -10
- package/dist/src/components/kemet-password/types.js +0 -2
- package/dist/src/components/kemet-password/types.js.map +0 -1
- package/dist/src/components/kemet-popper/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-popper/kemet-popper-close.d.ts +0 -22
- package/dist/src/components/kemet-popper/kemet-popper-close.js +0 -49
- package/dist/src/components/kemet-popper/kemet-popper-close.js.map +0 -1
- package/dist/src/components/kemet-popper/kemet-popper.d.ts +0 -63
- package/dist/src/components/kemet-popper/kemet-popper.js +0 -182
- package/dist/src/components/kemet-popper/kemet-popper.js.map +0 -1
- package/dist/src/components/kemet-popper/styles.d.ts +0 -1
- package/dist/src/components/kemet-popper/styles.effects.d.ts +0 -8
- package/dist/src/components/kemet-popper/styles.effects.js +0 -306
- package/dist/src/components/kemet-popper/styles.effects.js.map +0 -1
- package/dist/src/components/kemet-popper/styles.js +0 -28
- package/dist/src/components/kemet-popper/styles.js.map +0 -1
- package/dist/src/components/kemet-popper/types.d.ts +0 -3
- package/dist/src/components/kemet-popper/types.js +0 -2
- package/dist/src/components/kemet-popper/types.js.map +0 -1
- package/dist/src/components/kemet-radio/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-radio/kemet-radio.d.ts +0 -56
- package/dist/src/components/kemet-radio/kemet-radio.js +0 -129
- package/dist/src/components/kemet-radio/kemet-radio.js.map +0 -1
- package/dist/src/components/kemet-radio/kemet-radios.d.ts +0 -49
- package/dist/src/components/kemet-radio/kemet-radios.js +0 -143
- package/dist/src/components/kemet-radio/kemet-radios.js.map +0 -1
- package/dist/src/components/kemet-radio/styles.d.ts +0 -2
- package/dist/src/components/kemet-radio/styles.js +0 -102
- package/dist/src/components/kemet-radio/styles.js.map +0 -1
- package/dist/src/components/kemet-radio/types.d.ts +0 -20
- package/dist/src/components/kemet-radio/types.js +0 -2
- package/dist/src/components/kemet-radio/types.js.map +0 -1
- package/dist/src/components/kemet-rotator/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-rotator/kemet-rotator.d.ts +0 -40
- package/dist/src/components/kemet-rotator/kemet-rotator.js +0 -122
- package/dist/src/components/kemet-rotator/kemet-rotator.js.map +0 -1
- package/dist/src/components/kemet-rotator/styles.d.ts +0 -1
- package/dist/src/components/kemet-rotator/styles.js +0 -72
- package/dist/src/components/kemet-rotator/styles.js.map +0 -1
- package/dist/src/components/kemet-rotator/types.d.ts +0 -9
- package/dist/src/components/kemet-rotator/types.js +0 -2
- package/dist/src/components/kemet-rotator/types.js.map +0 -1
- package/dist/src/components/kemet-scroll-link/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-scroll-link/kemet-scroll-link.d.ts +0 -31
- package/dist/src/components/kemet-scroll-link/kemet-scroll-link.js +0 -82
- package/dist/src/components/kemet-scroll-link/kemet-scroll-link.js.map +0 -1
- package/dist/src/components/kemet-scroll-link/types.d.ts +0 -6
- package/dist/src/components/kemet-scroll-link/types.js +0 -2
- package/dist/src/components/kemet-scroll-link/types.js.map +0 -1
- package/dist/src/components/kemet-scroll-nav/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +0 -34
- package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.js +0 -70
- package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.js.map +0 -1
- package/dist/src/components/kemet-scroll-nav/styles.d.ts +0 -1
- package/dist/src/components/kemet-scroll-nav/styles.js +0 -27
- package/dist/src/components/kemet-scroll-nav/styles.js.map +0 -1
- package/dist/src/components/kemet-scroll-nav/types.d.ts +0 -6
- package/dist/src/components/kemet-scroll-nav/types.js +0 -2
- package/dist/src/components/kemet-scroll-nav/types.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +0 -44
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +0 -120
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +0 -30
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +0 -53
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +0 -46
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.js +0 -122
- package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/styles.d.ts +0 -2
- package/dist/src/components/kemet-scroll-snap/styles.js +0 -74
- package/dist/src/components/kemet-scroll-snap/styles.js.map +0 -1
- package/dist/src/components/kemet-scroll-snap/types.d.ts +0 -20
- package/dist/src/components/kemet-scroll-snap/types.js +0 -2
- package/dist/src/components/kemet-scroll-snap/types.js.map +0 -1
- package/dist/src/components/kemet-select/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-select/kemet-option.d.ts +0 -29
- package/dist/src/components/kemet-select/kemet-option.js +0 -45
- package/dist/src/components/kemet-select/kemet-option.js.map +0 -1
- package/dist/src/components/kemet-select/kemet-select.d.ts +0 -110
- package/dist/src/components/kemet-select/kemet-select.js +0 -239
- package/dist/src/components/kemet-select/kemet-select.js.map +0 -1
- package/dist/src/components/kemet-select/styles.d.ts +0 -1
- package/dist/src/components/kemet-select/styles.js +0 -73
- package/dist/src/components/kemet-select/styles.js.map +0 -1
- package/dist/src/components/kemet-select/types.d.ts +0 -20
- package/dist/src/components/kemet-select/types.js +0 -2
- package/dist/src/components/kemet-select/types.js.map +0 -1
- package/dist/src/components/kemet-sortable/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-sortable/kemet-sortable-item.d.ts +0 -21
- package/dist/src/components/kemet-sortable/kemet-sortable-item.js +0 -30
- package/dist/src/components/kemet-sortable/kemet-sortable-item.js.map +0 -1
- package/dist/src/components/kemet-sortable/kemet-sortable.d.ts +0 -25
- package/dist/src/components/kemet-sortable/kemet-sortable.js +0 -77
- package/dist/src/components/kemet-sortable/kemet-sortable.js.map +0 -1
- package/dist/src/components/kemet-sortable/styles.d.ts +0 -2
- package/dist/src/components/kemet-sortable/styles.js +0 -22
- package/dist/src/components/kemet-sortable/styles.js.map +0 -1
- package/dist/src/components/kemet-sortable/types.d.ts +0 -3
- package/dist/src/components/kemet-sortable/types.js +0 -2
- package/dist/src/components/kemet-sortable/types.js.map +0 -1
- package/dist/src/components/kemet-svgs/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-svgs/kemet-svg.d.ts +0 -38
- package/dist/src/components/kemet-svgs/kemet-svg.js +0 -97
- package/dist/src/components/kemet-svgs/kemet-svg.js.map +0 -1
- package/dist/src/components/kemet-svgs/kemet-svgs.d.ts +0 -27
- package/dist/src/components/kemet-svgs/kemet-svgs.js +0 -51
- package/dist/src/components/kemet-svgs/kemet-svgs.js.map +0 -1
- package/dist/src/components/kemet-svgs/types.d.ts +0 -10
- package/dist/src/components/kemet-svgs/types.js +0 -2
- package/dist/src/components/kemet-svgs/types.js.map +0 -1
- package/dist/src/components/kemet-tabs/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-tabs/kemet-tab-panel.d.ts +0 -27
- package/dist/src/components/kemet-tabs/kemet-tab-panel.js +0 -52
- package/dist/src/components/kemet-tabs/kemet-tab-panel.js.map +0 -1
- package/dist/src/components/kemet-tabs/kemet-tab.d.ts +0 -37
- package/dist/src/components/kemet-tabs/kemet-tab.js +0 -79
- package/dist/src/components/kemet-tabs/kemet-tab.js.map +0 -1
- package/dist/src/components/kemet-tabs/kemet-tabs.d.ts +0 -91
- package/dist/src/components/kemet-tabs/kemet-tabs.js +0 -523
- package/dist/src/components/kemet-tabs/kemet-tabs.js.map +0 -1
- package/dist/src/components/kemet-tabs/styles.d.ts +0 -3
- package/dist/src/components/kemet-tabs/styles.js +0 -268
- package/dist/src/components/kemet-tabs/styles.js.map +0 -1
- package/dist/src/components/kemet-tabs/types.d.ts +0 -27
- package/dist/src/components/kemet-tabs/types.js +0 -2
- package/dist/src/components/kemet-tabs/types.js.map +0 -1
- package/dist/src/components/kemet-textarea/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-textarea/kemet-textarea.d.ts +0 -123
- package/dist/src/components/kemet-textarea/kemet-textarea.js +0 -293
- package/dist/src/components/kemet-textarea/kemet-textarea.js.map +0 -1
- package/dist/src/components/kemet-textarea/styles.d.ts +0 -1
- package/dist/src/components/kemet-textarea/styles.js +0 -69
- package/dist/src/components/kemet-textarea/styles.js.map +0 -1
- package/dist/src/components/kemet-textarea/types.d.ts +0 -20
- package/dist/src/components/kemet-textarea/types.js +0 -2
- package/dist/src/components/kemet-textarea/types.js.map +0 -1
- package/dist/src/components/kemet-toggle/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-toggle/kemet-toggle.d.ts +0 -60
- package/dist/src/components/kemet-toggle/kemet-toggle.js +0 -130
- package/dist/src/components/kemet-toggle/kemet-toggle.js.map +0 -1
- package/dist/src/components/kemet-toggle/styles.d.ts +0 -1
- package/dist/src/components/kemet-toggle/styles.js +0 -84
- package/dist/src/components/kemet-toggle/styles.js.map +0 -1
- package/dist/src/components/kemet-toggle/types.d.ts +0 -10
- package/dist/src/components/kemet-toggle/types.js +0 -2
- package/dist/src/components/kemet-toggle/types.js.map +0 -1
- package/dist/src/components/kemet-tooltip/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-tooltip/kemet-tooltip.d.ts +0 -33
- package/dist/src/components/kemet-tooltip/kemet-tooltip.js +0 -68
- package/dist/src/components/kemet-tooltip/kemet-tooltip.js.map +0 -1
- package/dist/src/components/kemet-tooltip/styles.d.ts +0 -1
- package/dist/src/components/kemet-tooltip/styles.js +0 -61
- package/dist/src/components/kemet-tooltip/styles.js.map +0 -1
- package/dist/src/components/kemet-tooltip/types.d.ts +0 -3
- package/dist/src/components/kemet-tooltip/types.js +0 -2
- package/dist/src/components/kemet-tooltip/types.js.map +0 -1
- package/dist/src/components/kemet-tracker/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-tracker/kemet-tracker-step.d.ts +0 -63
- package/dist/src/components/kemet-tracker/kemet-tracker-step.js +0 -127
- package/dist/src/components/kemet-tracker/kemet-tracker-step.js.map +0 -1
- package/dist/src/components/kemet-tracker/kemet-tracker.d.ts +0 -26
- package/dist/src/components/kemet-tracker/kemet-tracker.js +0 -70
- package/dist/src/components/kemet-tracker/kemet-tracker.js.map +0 -1
- package/dist/src/components/kemet-tracker/styles.d.ts +0 -1
- package/dist/src/components/kemet-tracker/styles.js +0 -111
- package/dist/src/components/kemet-tracker/styles.js.map +0 -1
- package/dist/src/components/kemet-tracker/types.d.ts +0 -13
- package/dist/src/components/kemet-tracker/types.js +0 -2
- package/dist/src/components/kemet-tracker/types.js.map +0 -1
- package/dist/src/components/kemet-upload/docs/stories.js.map +0 -1
- package/dist/src/components/kemet-upload/kemet-upload-file.d.ts +0 -46
- package/dist/src/components/kemet-upload/kemet-upload-file.js +0 -110
- package/dist/src/components/kemet-upload/kemet-upload-file.js.map +0 -1
- package/dist/src/components/kemet-upload/kemet-upload.d.ts +0 -58
- package/dist/src/components/kemet-upload/kemet-upload.js +0 -154
- package/dist/src/components/kemet-upload/kemet-upload.js.map +0 -1
- package/dist/src/components/kemet-upload/styles.d.ts +0 -3
- package/dist/src/components/kemet-upload/styles.js +0 -169
- package/dist/src/components/kemet-upload/styles.js.map +0 -1
- package/dist/src/components/kemet-upload/types.d.ts +0 -21
- package/dist/src/components/kemet-upload/types.js +0 -2
- package/dist/src/components/kemet-upload/types.js.map +0 -1
- package/dist/src/stories/styles/borders/borders.stories.d.ts +0 -5
- package/dist/src/stories/styles/borders/borders.stories.js +0 -46
- package/dist/src/stories/styles/borders/borders.stories.js.map +0 -1
- package/dist/src/stories/styles/borders/stories.d.ts +0 -5
- package/dist/src/stories/styles/borders/stories.js +0 -46
- package/dist/src/stories/styles/borders/stories.js.map +0 -1
- package/dist/src/stories/styles/borders.stories.d.ts +0 -5
- package/dist/src/stories/styles/borders.stories.js +0 -46
- package/dist/src/stories/styles/borders.stories.js.map +0 -1
- package/dist/src/stories/styles/elevation/elevation.stories.d.ts +0 -1
- package/dist/src/stories/styles/elevation/elevation.stories.js +0 -15
- package/dist/src/stories/styles/elevation/elevation.stories.js.map +0 -1
- package/dist/src/stories/styles/elevation/stories.d.ts +0 -5
- package/dist/src/stories/styles/elevation/stories.js +0 -21
- package/dist/src/stories/styles/elevation/stories.js.map +0 -1
- package/dist/src/stories/styles/flexcolumn/stories.d.ts +0 -6
- package/dist/src/stories/styles/flexcolumn/stories.js +0 -44
- package/dist/src/stories/styles/flexcolumn/stories.js.map +0 -1
- package/dist/src/stories/styles/flexgrid/stories.d.ts +0 -6
- package/dist/src/stories/styles/flexgrid/stories.js +0 -44
- package/dist/src/stories/styles/flexgrid/stories.js.map +0 -1
- package/dist/src/stories/styles/flexlist/stories.d.ts +0 -7
- package/dist/src/stories/styles/flexlist/stories.js +0 -45
- package/dist/src/stories/styles/flexlist/stories.js.map +0 -1
- package/dist/src/stories/styles/flexrow/stories.d.ts +0 -10
- package/dist/src/stories/styles/flexrow/stories.js +0 -77
- package/dist/src/stories/styles/flexrow/stories.js.map +0 -1
- package/dist/src/stories/styles/spacing/stories.d.ts +0 -6
- package/dist/src/stories/styles/spacing/stories.js +0 -49
- package/dist/src/stories/styles/spacing/stories.js.map +0 -1
- package/dist/src/stories/styles/typealignment/stories.d.ts +0 -5
- package/dist/src/stories/styles/typealignment/stories.js +0 -14
- package/dist/src/stories/styles/typealignment/stories.js.map +0 -1
- package/dist/src/stories/styles/typography/stories.d.ts +0 -6
- package/dist/src/stories/styles/typography/stories.js +0 -41
- package/dist/src/stories/styles/typography/stories.js.map +0 -1
- package/dist/src/stories/styles/visibility/stories.d.ts +0 -6
- package/dist/src/stories/styles/visibility/stories.js +0 -60
- package/dist/src/stories/styles/visibility/stories.js.map +0 -1
- package/dist/src/stories/templates/bootstrap/stories.d.ts +0 -6
- package/dist/src/stories/templates/bootstrap/stories.js +0 -159
- package/dist/src/stories/templates/bootstrap/stories.js.map +0 -1
- package/dist/src/stories/templates/foundation/stories.d.ts +0 -8
- package/dist/src/stories/templates/foundation/stories.js +0 -911
- package/dist/src/stories/templates/foundation/stories.js.map +0 -1
- package/dist/src/utilities/controllers/forms.d.ts +0 -11
- package/dist/src/utilities/controllers/forms.js +0 -102
- package/dist/src/utilities/controllers/forms.js.map +0 -1
- package/dist/src/utilities/misc/constants.d.ts +0 -5
- package/dist/src/utilities/misc/constants.js +0 -6
- package/dist/src/utilities/misc/constants.js.map +0 -1
- package/dist/src/utilities/misc/events.d.ts +0 -1
- package/dist/src/utilities/misc/events.js +0 -4
- package/dist/src/utilities/misc/events.js.map +0 -1
- package/dist/utilities/misc/decorators.d.ts +0 -1
- package/dist/utilities/misc/decorators.js +0 -5
- package/dist/utilities/misc/decorators.js.map +0 -1
- /package/dist/{src/components → components}/kemet-card/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-card/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-carousel/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-carousel/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-checkbox/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-checkbox/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-combo/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-combo/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-count/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-count/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-draggable/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-draggable/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-drawer/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-drawer/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-fab/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-fab/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-field/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-field/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-flipcard/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-flipcard/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-icon/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-icon/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-input/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-input/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-modal/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-modal/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-password/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-password/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-popper/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-popper/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-radio/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-radio/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-rotator/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-rotator/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-scroll-link/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-scroll-link/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-scroll-nav/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-scroll-nav/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-scroll-snap/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-scroll-snap/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-select/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-select/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-sortable/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-sortable/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-svgs/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-svgs/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-tabs/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-tabs/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-textarea/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-textarea/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-toggle/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-toggle/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-tooltip/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-tooltip/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-tracker/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-tracker/docs/stories.js +0 -0
- /package/dist/{src/components → components}/kemet-upload/docs/stories.d.ts +0 -0
- /package/dist/{src/components → components}/kemet-upload/docs/stories.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-link/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAG1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAElD,WAAW,CAAC,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;CACzB,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\nimport { KemetScrollLinkInterface } from '../types';\n\nimport '../kemet-scroll-link';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\n\nconst meta: Meta = {\n title: 'Components / Scroll Link',\n component: 'kemet-scroll-link',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = () => {\n const scrollLinks = document.querySelectorAll('nav > kemet-scroll-link');\n const article = document.querySelector('article');\n\n scrollLinks.forEach((link: KemetScrollLinkInterface) => {\n link.yOffset = -72;\n link.target = article.querySelector(`#${link.dataset.target}`);\n });\n\n return html`\n <style>\n body {\n --nav-height: 72px;\n line-height: 1.5;\n }\n\n nav {\n position: fixed;\n top: 0;\n left: 0;\n padding: 0 2rem;\n display: flex;\n gap: 2rem;\n align-items: center;\n width: 100%;\n height: var(--nav-height);\n border-bottom: 1px solid gray;\n background-color: var(--kemet-color-white-to-black);\n }\n\n article {\n margin-top: var(--nav-height);\n }\n\n kemet-scroll-link {\n color: var(--kemet-color-background);\n }\n\n .docs-story nav {\n display: none;\n }\n </style>\n\n <nav>\n <kemet-scroll-link data-target=\"heading-1\">Heading 1</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-2\">Heading 2</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-3\">Heading 3</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-4\">Heading 4</kemet-scroll-link>\n </nav>\n\n <article>\n <h2 id=\"heading-1\">Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-2\">Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-3\">Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-4\">Heading 4</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n\n <kemet-scroll-link>\n <kemet-button>Scroll to Top</kemet-button>\n </kemet-scroll-link>\n `;\n};\n\nexport const Standard: Story = {\n render: () => Template(),\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-nav/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,qBAAqB,CAAC;AAE7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-scroll-nav';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Scroll Nav',\n component: 'kemet-scroll-nav',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst TemplateResize = () => html`\n <style>\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: var(--kemet-color-primary);\n padding-top: 400px; /* should be the height of kemet-scroll-nav */\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo resize\">\n <kemet-scroll-nav effect=\"resize\" offset=\"-250\">\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\nconst TemplateSticky = () => html`\n <style>\n header,\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo sticky\">\n <header>\n <h1 kemet-type-size=\"plus-6\">Kemet Scroll Nav</h1>\n <aside>\n <p>Scroll down to see this nav stick to the top! This is the default behavior.</p>\n </aside>\n </header>\n\n <kemet-scroll-nav>\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\n\nexport const Resize: Story = {\n render: () => TemplateResize(),\n};\n\nexport const Sticky: Story = {\n render: () => TemplateSticky(),\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesScrollNav = css`\n :host {\n display: block;\n box-sizing: border-box;\n padding: var(--kemet-scroll-nav-padding, 1rem 2rem);\n background-color: var(--kemet-scroll-nav-background, #fafafa);\n transition: all var(--kemet-scroll-nav-transition, 300ms) ease;\n }\n\n :host([transform]),\n :host([effect=\"resize\"]) {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n }\n\n :host([effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height, 400px);\n }\n\n :host([transform][effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height-transformed, 100px);\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-snap/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-scroll-snap';\nimport '../kemet-scroll-snap-slide';\nimport '../kemet-scroll-snap-paginator';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Scroll Snap',\n component: 'kemet-scroll-snap',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n showPagination = true,\n numberOfSlides = 5,\n gap = '1.5rem',\n axis = 'horizontal',\n pagination = 'bottom',\n paginationIcon = 'circle-fill',\n paginationSize = 16,\n paginationUseNumbers = false,\n paginationUseLabels = false,\n paginationCenter = true,\n paginationGap = '0.5rem',\n slideWidth = '44vw',\n horizontalMaxWidth = '90%',\n}) => {\n const makeSlides = (numberOfSlides) => {\n const slides = [];\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < numberOfSlides; i++) {\n slides.push(html`\n <kemet-scroll-snap-slide label=\"Heading ${i + 1}\" kemet-margin-top=\"tiny:normal\">\n <h3 kemet-type-size=\"plus-6\">Heading ${i + 1}</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n <img src=\"https://via.placeholder.com/1920x1080\" alt=\"A placeholder\" />\n </kemet-scroll-snap-slide>\n `);\n }\n\n return slides;\n };\n\n const makePagination = (display, icon, size, useNumbers, useLabels, center) => {\n if (display) {\n return html`\n <kemet-scroll-snap-paginator\n slot=\"pagination\"\n icon=\"${icon}\"\n size=\"${size}\"\n ?use-number-pages=${useNumbers}\n ?use-label-pages=${useLabels}\n ?center=${center}>\n </kemet-scroll-snap-paginator>\n `;\n }\n\n return null;\n };\n\n return html`\n <style>\n img {\n max-width: 100%;\n }\n\n kemet-scroll-snap {\n --kemet-scroll-snap-gap: ${gap};\n --kemet-scroll-snap-horizontal-max-width: ${horizontalMaxWidth};\n }\n\n kemet-scroll-snap-slide {\n --kemet-scroll-snap-slide-width: ${slideWidth};\n }\n\n kemet-scroll-snap-paginator {\n --kemet-scroll-snap-paginator-gap: ${paginationGap};\n }\n </style>\n <kemet-scroll-snap axis=\"${axis}\" pagination=\"${pagination}\">\n <div slot=\"slides\">\n ${makeSlides(numberOfSlides)}\n </div>\n ${makePagination(showPagination, paginationIcon, paginationSize, paginationUseNumbers, paginationUseLabels, paginationCenter)}\n </kemet-scroll-snap>\n `;\n}\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n showPagination: true,\n numberOfSlides: 5,\n gap: '1.5rem',\n axis: 'horizontal',\n pagination: 'bottom',\n paginationIcon: 'circle-fill',\n paginationSize: 16,\n paginationUseNumbers: false,\n paginationUseLabels: false,\n paginationCenter: true,\n paginationGap: '0.5rem',\n slideWidth: '44vw',\n horizontalMaxWidth: '90%',\n },\n argTypes: {\n showPagination: {\n control: { type: 'boolean' },\n },\n numberOfSlides: {\n control: { type: 'number' },\n },\n gap: {\n control: { type: 'text' },\n },\n axis: {\n control: { type: 'select' },\n options: ['horizontal', 'vertical'],\n },\n pagination: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n paginationIcon: {\n control: { type: 'text' },\n },\n paginationSize: {\n control: { type: 'number' },\n },\n paginationUseNumbers: {\n control: { type: 'boolean' },\n },\n paginationUseLabels: {\n control: { type: 'boolean' },\n },\n paginationCenter: {\n control: { type: 'boolean' },\n },\n paginationGap: {\n control: { type: 'text' },\n },\n slideWidth: {\n control: { type: 'text' },\n },\n horizontalMaxWidth: {\n control: { type: 'text' },\n },\n }\n};\n"]}
|
|
@@ -0,0 +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;AAG3B,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;CAC1B,CAAC;AACF,eAAe,IAAI,CAAC;AAKpB,MAAM,QAAQ,GAAG,CAAC,EAChB,MAAM,GAAG,UAAU,EACnB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,cAAc,EACrB,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,GAChB,EAAE,EAAE,CAAC,IAAI,CAAA;wBACc,MAAM,eAAe,QAAQ,cAAc,QAAQ,SAAS,IAAI,cAAc,QAAQ,YAAY,MAAM,aAAa,OAAO;;;;;;;CAOnJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;KACf;IACD,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;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;KACF;CACF,CAAC","sourcesContent":["import { html } from 'lit';\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};\nexport default meta;\n\ntype Story = StoryObj;\n\n\nconst Template = ({\n status = 'standard',\n required = true,\n disabled = false,\n icon = 'chevron-down',\n iconSize = 16,\n filled = false,\n rounded = false,\n}) => html`\n<kemet-select status=\"${status}\" ?required=${required} ?disabled=${disabled} icon=${icon} icon-size=${iconSize} ?filled=${filled} ?rounded=${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 args: {\n status: 'standard',\n required: true,\n disabled: false,\n icon: 'chevron-down',\n iconSize: 16,\n filled: false,\n rounded: false,\n },\n argTypes: {\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n required: {\n control: { type: 'boolean' },\n },\n disabled: {\n control: { type: 'boolean' },\n },\n icon: {\n control: { type: 'text' },\n },\n iconSize: {\n control: { type: 'number' },\n },\n filled: {\n control: { type: 'boolean' },\n },\n rounded: {\n control: { type: 'boolean' },\n },\n }\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-sortable/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,CAAC;AAEhC,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;QACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,6BAA6B,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;KAC5E;IAED,OAAO,IAAI,CAAA;;QAEL,KAAK;;GAEV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;KACZ;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACF;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-sortable';\nimport '../kemet-sortable-item';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Sortable',\n component: 'kemet-sortable',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({ numItems = 3 }) => {\n const items = [];\n\n for (let i = 0; i < numItems; i += 1) {\n items.push(html`<kemet-sortable-item>Item ${i + 1}</kemet-sortable-item>`);\n }\n\n return html`\n <kemet-sortable>\n ${items}\n </kemet-sortable>\n `;\n};\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n numItems: 3,\n },\n argTypes: {\n numItems: {\n control: { type: 'number' },\n },\n }\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-svgs/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AAEvB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,YAAY;CACxB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,GAAG,QAAQ,GACf,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC;QAEZ,QAAQ,GAAG,EAAE;YACX,KAAK,QAAQ;gBAAE,OAAO,GAAG,aAAa,CAAC;gBACrC,MAAM;YACR,KAAK,KAAK;gBAAE,OAAO,GAAG,aAAa,CAAC;gBAClC,MAAM;YACR,KAAK,OAAO;gBAAE,OAAO,GAAG,iBAAiB,CAAC;gBACxC,MAAM;YACR,OAAO,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC;SAClC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;iCAuBoB,GAAG,cAAc,UAAU,CAAC,GAAG,CAAC;GAC9D,CAAC;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,GAAG,EAAE,QAAQ;KACd;IACD,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;SACpC;KACF;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-svg';\nimport '../kemet-svgs';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / SVGs',\n component: 'kemet-svgs',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n svg = 'anubis',\n}) => {\n const getViewBox = (svg) => {\n let viewBox;\n\n switch (svg) {\n case 'anubis': viewBox = '0 0 512 512';\n break;\n case 'eye': viewBox = '0 0 706 500';\n break;\n case 'horus': viewBox = '0 0 1359.5 1027';\n break;\n default: viewBox = '0 0 512 512';\n }\n\n return viewBox;\n };\n\n return html`\n <kemet-svgs set=\"svgs\">\n <svg>\n <defs>\n <g id=\"anubis\">\n <path d=\"M201 5.5c-1.5 1.8-.9 5.6 2.7 17.5 2.5 8.4 2.7 8.5 12 17.4 32.9 31.1 53.3 67.7 56.8 101.9l.7 6.8 6.6 3c3.6 1.6 6.7 2.8 6.9 2.6.5-.5-7-26.4-11-38.2-6-17.4-10.6-28.5-19.2-46-12.9-26.2-26.8-46.2-41.6-59.9-7.4-6.9-11.3-8.3-13.9-5.1z\"></path><path d=\"M168.5 17c-.3.6 5.9 20.5 13.9 44.3 20.3 60.4 26.1 82 27.3 100.8.5 8.6.3 10.2-1.6 14-5 10.2-14.4 17.3-40.8 30.8-15.4 7.8-21.1 11.2-23.5 14.1-1.8 2.1-7.3 10.5-12.3 18.6-12.6 20.7-22.5 34.4-31.9 44.2-6.5 6.7-12.2 11.1-28.1 21.7-31.3 20.6-41.1 29.4-40.3 36.2.2 2.2 1.8 3.8 7.3 7.5C48.6 356.1 61 362 65 362c2 0 8.8-2.3 15.5-5.1 28.4-12.1 63.7-25 75.5-27.5 5.6-1.2 8.3-1.1 20 .2 15.1 1.8 27.1 1.4 34.2-1.1 5.3-1.9 11.8-7.6 14.5-12.9l1.8-3.4 6 8.9c3.3 4.8 6.4 8.7 6.9 8.6.5-.2 1.5-1.2 2.2-2.3 1.2-1.7.5-3.7-6-16.6-10.1-20-12.1-26.2-10.7-33 .7-2.9 3.4-9.4 6.1-14.3 11.1-20 16.2-33.1 23-59.7 9.8-38.7 10.5-56.5 2.9-81.6-6.8-22.5-29.7-55-60.9-86.3-15.5-15.5-25.4-22.3-27.5-18.9zm58 174c0 3-31.3 27.8-41.5 33-3 1.5-8.2 3.5-11.4 4.5-13.1 3.7-21.8 10.1-26.5 19.4-2.4 4.5-3.8 5.8-5.3 4.3-2.5-2.5 8.6-17 16.8-21.8 2.3-1.4 8.8-4 14.4-5.8 12.8-4.3 27.6-14.2 47.5-32 4-3.5 6-4.1 6-1.6zm-3.1 14.6c4.7 1.8-2 8-29.2 26.5-11.1 7.6-11.6 8.1-14.9 14.9-4.6 9.4-8.3 11.9-19 12.9-7 .6-8.5 1.1-13 4.4-5.6 4.1-6.5 4.4-8.3 2.2-1-1.2-.7-1.9 1.6-4 1.6-1.5 4.1-3.4 5.6-4.3 1.5-.9 3.3-3 4-4.6 3.2-7.8 13-14.8 25.3-18 6.4-1.7 14.1-6.5 34-21.5 6.6-5 12.1-9.1 12.2-9.1.1 0 .8.3 1.7.6z\"></path><path d=\"M273.2 175.2c-5 36.6-15.3 69-27.4 86.6-3.6 5.3-7.9 15.5-8 19.1-.1 1.5 2.1 7.6 4.7 13.6 9.6 22.1 11.2 29.3 7.6 35.1-2.1 3.4-7.4 7.8-10.6 8.8-1.4.4-2.7 2.7-4.3 7.3-3.5 10.1-12.2 27.8-17.6 36.1-2.7 4-7.7 10.4-11.1 14.1-12.1 13.2-24.6 41-41.6 92.1l-5.8 17.5 17.7.3c9.7.1 18.1.1 18.8-.2.6-.2 1.4-4.6 1.8-10.8 2.3-35.4 11.5-71.4 22.3-87.1 6.9-10 37.7-27.5 72.3-41.2 36.2-14.2 73.2-23.6 111-28.1 15.8-1.8 55.2-2.5 67.7-1.1l7.2.8-1.1-3.2c-2.2-6.4-11.5-23.6-18.1-33.6-27-40.9-69.6-79.1-125.2-112.3-11.7-7-55.8-30-57.5-30-.3 0-1.6 7.3-2.8 16.2zm28.8 23.4c54.2 30 97.6 68.3 126.6 111.9 4 6.1 7.4 11.5 7.4 11.8 0 .4-3.4.7-7.5.7h-7.4l-5-7.3c-26.3-39-68.4-75.9-119.1-104.6-6.9-3.8-13-7.4-13.6-7.8-1.5-1 .4-13.3 2-13.3.6 0 8.1 3.9 16.6 8.6zm-11.5 31.7c34.3 22.8 63.8 50.8 89.8 85.4 4.2 5.6 7.7 10.4 7.7 10.6 0 .3-3.2 1.1-7.1 1.7-6.9 1.2-7.1 1.2-8.7-1.1-4.1-5.9-16.2-20.4-25.5-30.7-17.3-19.2-41.7-40.1-63.6-54.7l-9.9-6.6 2.1-6.4c2.4-7.4 1.1-7.6 15.2 1.8zm-11.9 36.4c14.8 12.3 34.8 32 45.1 44.3 8.1 9.8 18.5 24.1 17.9 24.7-.2.2-3.1 1.2-6.5 2.3l-6 1.8-6.6-8.8c-13.4-18-35.4-40.3-56.4-57.3l-7.8-6.3 3.1-5.7c1.7-3.1 3.4-5.7 3.7-5.7.3 0 6.4 4.8 13.5 10.7zm-5.6 50.5c8.2 12.2 19.5 33.7 18.2 34.8-.9.8-11.5 5.1-11.7 4.8 0-.2-1-2.3-2-4.7-1.1-2.4-4.3-8.7-7.2-13.9-4.8-8.7-5.3-10.2-5.3-15.8 0-4.3-.9-9-3-15.1l-2.9-8.8 2.9 3.5c1.7 1.9 6.6 8.8 11 15.2zm-20.6 38.5c1.1 13.6 1.4 12.8-5.7 16.8-3.5 1.9-6.7 3.5-7 3.5-1.6 0-.5-5.2 2.7-12.6 1.9-4.3 4.1-9.6 5-11.7 2.5-6.1 4.2-4.8 5 4z\"></path><path d=\"M442.4 354.8c-.6.4-2.3 4.5-3.7 9.2-11.4 37.3-41.5 70.3-83.3 91.3-33.7 16.9-69.6 25.6-128.9 31.3l-5.1.5.8 9.6c.4 5.3.9 9.7 1 9.9.8.7 22.9 3.4 33.3 3.9 29.8 1.7 68.8-4.9 98.2-16.6 38.7-15.3 78.3-45 99.6-74.6 13.9-19.4 23.7-44.8 23.7-61.4V354h-17.2c-9.5 0-17.8.4-18.4.8z\"></path><path d=\"M414.5 356.8c-7.5.7-33 4.5-42 6.3-46.6 9.3-85.6 24.5-117.3 45.6-14.9 9.9-20.8 15.8-25.5 25.4-4.1 8.3-7.7 21.1-7.7 27.1v3.8h4.8c13 0 47.6-5.3 68.2-10.5 24.4-6.1 49.1-16.1 65.9-26.6 24.5-15.4 43.6-36.6 53.3-59.1 4.5-10.5 4.6-12.4.3-12z\"></path>\n </g>\n <g id=\"eye\">\n <defs id=\"defs2214\"/>\n <path d=\"M 482.47122,483.65668 C 482.09821,481.16923 482.00349,468.19138 482.26073,454.81702 C 482.85598,423.86986 485.74029,409.33575 508.02304,325 C 517.97202,287.34512 518.96876,261.67667 510.62952,257.87706 C 503.22084,254.50144 495.51948,258.76554 483.33874,272.98748 C 444.87758,317.89379 384.416,371.63828 336.592,403.43111 C 234.38064,471.38003 125.75165,495.91654 61.5,465.56738 C 14.135995,443.19507 -9.4559604,386.23292 7.5301438,335.2586 C 23.728797,286.64738 86.775557,268.60992 123.4217,302.10244 C 141.67589,318.78573 137.19751,348.25122 114.70406,359.46018 C 96.526568,368.51841 73.570329,349.94535 79.65551,331.10368 C 81.787859,324.50125 81.436951,324.28716 72.953651,327.0149 C 23.293219,342.98286 33.831342,415.54173 88.682829,435.31611 C 152.06988,458.16762 251.76781,426.54376 351.5,351.95135 C 391.05504,322.36706 438.67015,273.24845 433.13368,267.73999 C 431.50743,266.12196 409.19769,266.53511 388,268.57582 C 325.73643,274.56995 251.40446,262.42665 164,231.98188 C 152.725,228.05456 136.525,222.43341 128,219.49042 C 109.63237,213.14958 75.226122,204.4179 51.5,200.07611 C 42.15,198.3651 33.478754,196.73725 32.230564,196.45866 L 29.961129,195.95214 L 30.230564,174.3183 L 30.5,152.68446 L 39,150.74391 C 72.50072,143.09568 128.76294,128.99955 175,116.66999 C 278.32991,89.11608 289.32495,86.38305 310.5,82.98883 C 383.04703,71.36 422.7219,78.62443 574.31118,131.29245 C 602.82103,141.19788 634.45188,143.67699 662.03604,138.16802 C 668.38086,136.90086 675.54332,136.00717 677.95262,136.18205 L 682.33316,136.5 L 691.61566,157 C 696.72104,168.275 700.92108,177.75395 700.94908,178.06434 C 700.97709,178.37472 694.8125,179.42018 687.25,180.38758 C 628.89838,187.85196 595.69886,201.31776 576.89325,225.14854 C 562.86714,242.92267 559.1993,250.80358 556.38741,269.20848 C 552.05483,297.56695 558.59871,307.69047 590.22312,321.55294 C 598.33549,325.10898 598.36533,325.2104 591.75,326.74292 C 566.33045,332.63166 554.58404,346.42334 542.01437,385.13842 C 521.75002,447.55347 501.97616,483.58514 485.82472,487.52648 C 483.28485,488.14627 483.11511,487.95039 482.47122,483.65668 z M 424.2218,225.63181 C 474.97905,220.35891 533.69333,201.01428 568.3406,178.14891 L 572.18119,175.61432 L 564.6736,171.83682 C 544.62325,161.74834 515.9203,151.09439 477.85766,139.61248 C 468.37374,136.75158 435.02218,129.50425 417.73035,126.54674 L 413.96069,125.902 L 414.73035,130.201 C 421.33896,167.11429 399.13266,191.38005 360.2101,189.77757 C 325.46755,188.34718 305.90676,167.5813 310.49936,137.00427 C 311.3496,131.34347 311.86562,126.53229 311.64607,126.31274 C 310.91615,125.58281 254.01865,138.94051 216.75536,148.59001 C 184.37601,156.9748 143.86144,166.87973 118,172.73355 L 109.5,174.65755 L 123,178.84822 C 130.425,181.15309 154.725,189.0744 177,196.45112 C 234.90395,215.62695 267.37147,222.92242 312.89555,226.98694 C 328.35761,228.36743 407.1171,227.40873 424.2218,225.63181 z M 35.354897,110.38623 C 35.716536,99.99881 36.572127,87.9 37.256211,83.5 L 38.5,75.5 L 56.5,75.47117 C 89.061602,75.41901 105.13604,71.29991 198.5,39.083437 C 273.3851,13.243341 349.47211,3.065576 403.05014,11.721825 C 448.7358,19.102957 499.55051,32.310146 558,51.99465 C 615.37673,71.31787 646.14746,74.42614 681.5,64.46987 C 684.63769,63.58621 703.5919,96.68847 701.36023,99.15444 C 699.55859,101.14524 692.34416,104.11236 682,107.11686 C 671.59412,110.13927 628.62391,111.07697 614.24412,108.59543 C 603.42274,106.72796 561.07836,94.69295 532.5,85.36232 C 458.57731,61.22709 370.02847,49.18587 319,56.32973 C 273.61484,62.68354 255.87256,67.04951 198.71398,85.92932 C 131.51605,108.12519 72.656502,123.90207 39.598686,128.57904 L 34.697371,129.27247 L 35.354897,110.38623 z\" />\n </g>\n <g id=\"horus\">\n <style type=\"text/css\">.st0{fill:currentColor;} .st2{fill:currentColor;} .st3{fill:var(--kemet-color-white-to-black);}</style>\n <path class=\"st0\" d=\"M1049.5,304.2c0,0,167.6,67.4,115.3,92.3C1112.5,421.5,1055.4,406.6,1049.5,304.2z M708.9,21.3 c0,0-18,79.6,26.9,155.4c0,0-222.2-27-446.9,36c0,0-28.3,60.4,5.1,133.6c0,0-195.3,74.5-289,170.8c0,0,219.6,41.1,197.9,258.2 c0,0,232.5-33.4,521.5,251.7c88.6-475.4,426.2-668.3,625.5-450.8c0,0,60.4-133.6-122-231.2c0,0-19.3-93.7-187.5-132.3 c0,0-66.8-28.3-100.2-98.9c0,0-10.3,12.9-14.2,51.4C925.9,165.2,764.2,36.7,708.9,21.3L708.9,21.3z\"/>\n <path class=\"st1\" d=\"M509.8,4.6c0,0-61.6,77.1-77,129.6L737.2,345l-1.5,1.3L409.6,192.2c0,0-18,27-29.6,111.7 c0,0,186.5,81.4,326.4,96.1c-0.2,1-0.3,2.1-0.5,3.1c-38,2.1-138.1,2.7-331.1-27.3c0,0-16.7,107.9,27,178.5 c0,0,199.8-88.8,306.2-114.8c0.4,1.4,0.8,2.9,1.3,4.3C662.1,470.7,495.9,567.1,430,627.5c0,0,30.8,89.9,97.7,128.5 c0,0,147.5-222.4,199.3-280l2.3,2.5c-18.1,32.4-162,289.5-164.4,317.3c0,0,78.4,69.4,163.1,92.5c0,0-39.4-246.4,63.8-379.3 c2.3,0.2,4.5,0.3,6.8,0.3c22.4,0,44.1-8.1,61.1-22.8c8.7-6.7,15.8-15.3,20.7-25.1c16.7-29.8,15.9-66.3-2.1-95.3 c-11.2-22-32.1-37.3-56.4-41.3c-17.4-4.6-35.9-4-52.9,1.9C767.9,325.8,549.5,127.6,509.8,4.6L509.8,4.6z\"/>\n <path class=\"st2\" d=\"M1159.9,487.1c0,0-198-10.1-346.9,64.4c0,0-49.1,101.7-34.5,185.3C778.4,736.9,938.2,510.7,1159.9,487.1z M1164.4,367.2c0,0-56.3-67.2-137.1-101.7c0,0,19.1,56.3,26.4,74.5l1-30.6C1054.6,309.3,1108,324.5,1164.4,367.2z\"/>\n <g>\n <path class=\"st3\" d=\"M769.1,326.8L475.5,52.1l34.3-47.5C509.8,4.6,516.6,58.2,769.1,326.8z M735.6,346.5l-326-154.3 c-8.9,17-15.1,35.4-18.3,54.3L735.6,346.5z M706,403.2c0,0-128.4,7.1-331.1-27.3c0,0-8.4,66.4,0.2,100L706,403.2z M709.5,443.9 c0,0-210.2,117.8-279.3,183.7c0,0,15.3,39.8,27.6,56.6L709.5,443.9z M729.4,478.5c0,0-122.2,215.4-164.4,317.3 c0,0,33,27.9,59.4,44.1L729.4,478.5z M813.2,340.1C856,363.2,872,416.6,849,459.4c-8.2,15.2-20.6,27.6-35.8,35.8 c42.8-4,74.3-42,70.2-84.8C879.9,373.1,850.4,343.6,813.2,340.1z\"/>\n </g>\n </g>\n </defs>\n </svg>\n </kemet-svgs>\n <kemet-svg set=\"svgs\" svg=\"${svg}\" viewbox=\"${getViewBox(svg)}\"></kemet-svg>\n `;\n}\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n svg: 'anubis',\n },\n argTypes: {\n svg: {\n control: { type: 'select' },\n options: ['anubis', 'eye', 'horus'],\n },\n }\n};\n"]}
|
|
@@ -0,0 +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 +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,
|
|
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;IAwB5B,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;AA3BQ,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;AAPK,aAAa;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACZ,aAAa,CA4BjC;eA5BoB,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. Default: 0.5s.\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 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\n"]}
|
|
@@ -18,8 +18,6 @@ import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
|
|
|
18
18
|
* @prop {object} ink - An object that contains information about the ink
|
|
19
19
|
* @prop {boolean} hideInk - Determines whether or not to hide the ink
|
|
20
20
|
* @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
|
|
21
|
-
* @prop {number} measureHeight - If set to anything greater than 1, will measure the height of the panels and dynamically change the height of the tabs given the size
|
|
22
|
-
* @prop {number} measureHeightOffset - Adds spacing to the calculated height from measureHeight
|
|
23
21
|
*
|
|
24
22
|
* @slot tab - Place the tabs here.
|
|
25
23
|
* @slot panel - Place the panels here.
|
|
@@ -54,8 +52,6 @@ export default class KemetTabs extends LitElement {
|
|
|
54
52
|
ink: any;
|
|
55
53
|
hideInk: boolean;
|
|
56
54
|
overflow: boolean;
|
|
57
|
-
measureHeight: number;
|
|
58
|
-
measureHeightOffset: number;
|
|
59
55
|
tabs: any[];
|
|
60
56
|
panels: any[];
|
|
61
57
|
xDown: number | null;
|
|
@@ -79,8 +75,8 @@ export default class KemetTabs extends LitElement {
|
|
|
79
75
|
selectPanel(): void;
|
|
80
76
|
dispatchTabChange(): void;
|
|
81
77
|
tabSelectedChange(event: any): void;
|
|
82
|
-
measure(): void;
|
|
83
78
|
determineFade(): void;
|
|
79
|
+
determineStacked(): void;
|
|
84
80
|
determineOverflow(): void;
|
|
85
81
|
handleResize(): void;
|
|
86
82
|
animatePanel(panelName: any, panelIndex: any): void;
|
|
@@ -23,8 +23,6 @@ import { customElement, property, query, state } from 'lit/decorators.js';
|
|
|
23
23
|
* @prop {object} ink - An object that contains information about the ink
|
|
24
24
|
* @prop {boolean} hideInk - Determines whether or not to hide the ink
|
|
25
25
|
* @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
|
|
26
|
-
* @prop {number} measureHeight - If set to anything greater than 1, will measure the height of the panels and dynamically change the height of the tabs given the size
|
|
27
|
-
* @prop {number} measureHeightOffset - Adds spacing to the calculated height from measureHeight
|
|
28
26
|
*
|
|
29
27
|
* @slot tab - Place the tabs here.
|
|
30
28
|
* @slot panel - Place the panels here.
|
|
@@ -55,8 +53,6 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
55
53
|
this.placement = 'top';
|
|
56
54
|
this.tabsAlign = 'center';
|
|
57
55
|
this.hideInk = false;
|
|
58
|
-
this.measureHeight = 1;
|
|
59
|
-
this.measureHeightOffset = 48;
|
|
60
56
|
this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));
|
|
61
57
|
this.addEventListener('kemet-tab-close', this.handleTabClose.bind(this));
|
|
62
58
|
window.addEventListener('resize', this.handleResize.bind(this));
|
|
@@ -68,7 +64,6 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
68
64
|
this.xDown = null;
|
|
69
65
|
this.yDown = null;
|
|
70
66
|
this.links = this.shadowRoot.getElementById('links');
|
|
71
|
-
setTimeout(() => this.measure(), this.measureHeight);
|
|
72
67
|
}
|
|
73
68
|
render() {
|
|
74
69
|
return html `
|
|
@@ -91,6 +86,7 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
91
86
|
}
|
|
92
87
|
updated() {
|
|
93
88
|
this.determineFade();
|
|
89
|
+
this.determineStacked();
|
|
94
90
|
}
|
|
95
91
|
handleLinksSlotChange() {
|
|
96
92
|
const tabs = this.querySelectorAll('kemet-tab');
|
|
@@ -305,22 +301,6 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
305
301
|
this.selectTab();
|
|
306
302
|
this.selectPanel();
|
|
307
303
|
this.dispatchTabChange();
|
|
308
|
-
setTimeout(() => this.measure());
|
|
309
|
-
}
|
|
310
|
-
measure() {
|
|
311
|
-
if (this.measureHeight > 1) {
|
|
312
|
-
const currentPanel = this.selected ? this.querySelector(`kemet-tab-panel[selected]`) : this.panels[this.selectedIndex];
|
|
313
|
-
const clone = currentPanel.cloneNode(true);
|
|
314
|
-
clone.style.display = 'block';
|
|
315
|
-
clone.style.visibility = 'hidden';
|
|
316
|
-
clone.style.pointerEvents = 'none';
|
|
317
|
-
document.body.appendChild(clone);
|
|
318
|
-
setTimeout(() => {
|
|
319
|
-
const panelHeight = clone.offsetHeight;
|
|
320
|
-
this.panelsElement.style.maxHeight = `${panelHeight + this.measureHeightOffset}px`;
|
|
321
|
-
document.body.removeChild(clone);
|
|
322
|
-
}, 1);
|
|
323
|
-
}
|
|
324
304
|
}
|
|
325
305
|
determineFade() {
|
|
326
306
|
this.panels.forEach((panel) => {
|
|
@@ -329,6 +309,13 @@ let KemetTabs = class KemetTabs extends LitElement {
|
|
|
329
309
|
panel.classList.add('fade');
|
|
330
310
|
});
|
|
331
311
|
}
|
|
312
|
+
determineStacked() {
|
|
313
|
+
this.panels.forEach((panel) => {
|
|
314
|
+
// add fade class if panel effect is fade
|
|
315
|
+
if (this.panelEffect === 'stacked')
|
|
316
|
+
panel.classList.add('stacked');
|
|
317
|
+
});
|
|
318
|
+
}
|
|
332
319
|
determineOverflow() {
|
|
333
320
|
const tabsContainerWidth = this.offsetWidth;
|
|
334
321
|
const tabElements = this.querySelectorAll('kemet-tab');
|
|
@@ -511,12 +498,6 @@ __decorate([
|
|
|
511
498
|
__decorate([
|
|
512
499
|
property({ type: Boolean, reflect: true })
|
|
513
500
|
], KemetTabs.prototype, "overflow", void 0);
|
|
514
|
-
__decorate([
|
|
515
|
-
property({ type: Number, attribute: 'measure-height' })
|
|
516
|
-
], KemetTabs.prototype, "measureHeight", void 0);
|
|
517
|
-
__decorate([
|
|
518
|
-
property({ type: Number, attribute: 'measure-height-offset' })
|
|
519
|
-
], KemetTabs.prototype, "measureHeightOffset", void 0);
|
|
520
501
|
__decorate([
|
|
521
502
|
state()
|
|
522
503
|
], KemetTabs.prototype, "tabs", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-tabs.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-lonely-if */\n/* eslint-disable no-case-declarations */\nimport { LitElement, html } from 'lit';\nimport { stylesKemetTabs } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { KemetTabInterface, KemetTabPanelInterface, TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tabs\n * @summary A group of tabs and panels.\n *\n * @prop {string} selected - The selected tab by name\n * @prop {number} selectedIndex - The selected tab by index\n * @prop {number} panelPosition - Positions the current panel\n * @prop {string} panelEffect - The transition effect for panels\n * @prop {boolean} swipe - Determines whether or not to enable swipe behavior\n * @prop {string} placement - Places the tabs to the top, right, bottom, or left\n * @prop {boolean} divider - Determines whether or not to show a divider line\n * @prop {string} tabsAlign - Spacing alignment of the tabs\n * @prop {object} ink - An object that contains information about the ink\n * @prop {boolean} hideInk - Determines whether or not to hide the ink\n * @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container\n * @prop {number} measureHeight - If set to anything greater than 1, will measure the height of the panels and dynamically change the height of the tabs given the size\n * @prop {number} measureHeightOffset - Adds spacing to the calculated height from measureHeight\n *\n * @slot tab - Place the tabs here.\n * @slot panel - Place the panels here.\n *\n * @csspart links - The container for the tablist.\n * @csspart tablist - Contains the tabs.\n * @csspart panels - Contains the panels.\n * @csspart ink - The ink element.\n * @csspart divider - The divider element.\n *\n * @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).\n * @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.\n * @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).\n * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.\n * @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.\n *\n * @event kemet-tab-changed - Fires when a tab is changed\n *\n */\n\n@customElement('kemet-tabs')\nexport default class KemetTabs extends LitElement {\n static styles = [stylesKemetTabs];\n\n @property({ type: String, reflect: true })\n selected: string;\n\n @property({ type: Number })\n selectedIndex: number = 0;\n\n @property({ type: Number })\n panelPosition: number = 0;\n\n @property({ type: String, reflect: true, attribute: 'panel-effect' })\n panelEffect: TypePanelEffect = 'none';\n\n @property({ type: Boolean })\n swipe: boolean;\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = 'top';\n\n @property({ type: Boolean })\n divider: boolean;\n\n @property({ type: String, reflect: true, attribute: 'tabs-align' })\n tabsAlign: TypeTabsAlign = 'center';\n\n @property({ type: Object })\n ink: any;\n\n @property({ type: Boolean, attribute: 'hide-ink' })\n hideInk: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n overflow: boolean;\n\n @property({ type: Number, attribute: 'measure-height' })\n measureHeight: number = 1;\n\n @property({ type: Number, attribute: 'measure-height-offset' })\n measureHeightOffset: number = 48;\n\n @state()\n tabs: any[];\n\n @state()\n panels: any[];\n\n @state()\n xDown: number | null;\n\n @state()\n yDown: number | null;\n\n @state()\n links: HTMLElement;\n\n @query('#panels')\n panelsElement: HTMLElement;\n\n\n constructor() {\n super();\n\n this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));\n this.addEventListener('kemet-tab-close', this.handleTabClose.bind(this));\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n firstUpdated() {\n // standard properties\n this.tabs = [];\n this.panels = [];\n this.xDown = null;\n this.yDown = null;\n\n this.links = this.shadowRoot.getElementById('links');\n setTimeout(() => this.measure(), this.measureHeight);\n }\n\n render() {\n return html`\n ${this.makeLeftArrow()}\n ${this.makeRightArrow()}\n <div id=\"links\" part=\"links\">\n <div part='tablist' role=\"tablist\">\n <slot name=\"tab\" @slotchange=${() => this.handleLinksSlotChange()}></slot>\n </div>\n ${this.makeInk('links')}\n </div>\n ${this.makeInk('host')}\n ${this.makeDivider()}\n <section id=\"panels\" part=\"panels\" style=\"transform:translateX(${this.panelPosition}px);\">\n <div>\n <slot name=\"panel\" @slotchange=${() => this.handlePanelsSlotChange()}></slot>\n </div>\n </section>\n `;\n }\n\n updated() {\n this.determineFade();\n }\n\n handleLinksSlotChange() {\n const tabs = this.querySelectorAll('kemet-tab');\n let index = 0;\n\n tabs.forEach((tab: KemetTabInterface) => {\n // give each tab an index to select by if link/panel is not used\n tab.index = index;\n index += 1;\n\n // store the list of tabs\n this.tabs = this.tabs.concat(tab);\n\n // add keyboard support\n tab.addEventListener('keydown', event => this.handleTabKeydown(event));\n });\n\n // default to the first tab/panel selected\n if (this.tabs.length > 0) this.tabs[0].selected = true;\n\n setTimeout(() => {\n this.selectTab();\n }, 1);\n this.determineOverflow();\n }\n\n handlePanelsSlotChange() {\n const panels = this.querySelectorAll('kemet-tab-panel');\n const panelElement = this.shadowRoot.getElementById('panels');\n let index = 0;\n\n panels.forEach((panel: KemetTabPanelInterface) => {\n // give each panel an index to select by if link/panel is not used\n panel.index = index;\n index += 1;\n\n // store the list of panels\n this.panels = this.panels.concat(panel);\n });\n\n // default to the first tab/panel selected\n if (this.panels.length > 0) this.panels[0].selected = true;\n\n // add swipe support\n if (this.swipe) {\n panelElement.addEventListener('touchstart', event => this.handleTouchStart(event), false);\n panelElement.addEventListener('touchmove', event => this.handleTouchMove(event), false);\n }\n\n this.selectPanel();\n }\n\n handleLeftArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[0];\n const previousElement = selectedElement.previousElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = previousElement ? previousElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex > 0 ? selectedIndex - 1 : 0;\n }\n\n if (previousElement) {\n this.links.scrollLeft = previousElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleRightArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[this.tabs.length - 1];\n const nextElement = selectedElement.nextElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = nextElement ? nextElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex < this.tabs.length - 1\n ? selectedIndex + 1\n : this.tabs.length - 1;\n }\n\n if (nextElement) {\n this.links.scrollLeft = nextElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleTabClose(event) {\n const tab = event.detail;\n const panel = this.panels[tab.index];\n\n this.selected = this.tabs[0].link;\n this.selectedIndex = 0;\n\n panel.remove();\n tab.remove();\n }\n\n makeInk(location) {\n if (this.hideInk) {\n return null;\n }\n\n if ((this.placement === 'top' || this.placement === 'bottom') && this.ink && location === 'links') {\n return html`<div part=\"ink\" style=\"width:${this.ink.width}; transform:translateX(${this.ink.positionX})\"></div>`;\n }\n\n if ((this.placement === 'left' || this.placement === 'right') && this.ink && location === 'host') {\n return html`<div part=\"ink\" style=\"height:${this.ink.height}; transform:translateY(${this.ink.positionY})\"></div>`;\n }\n\n return null;\n }\n\n makeDivider() {\n if (this.divider) {\n return html`<div part=\"divider\"></div>`;\n }\n\n return null;\n }\n\n makeLeftArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-left' size=\"20\" @click=${() => this.handleLeftArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n makeRightArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-right' size=\"20\" @click=${() => this.handleRightArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n selectTab() {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.tabs.forEach((tab) => {\n const tabName = tab.getAttribute('link');\n\n if (tabName === this.selected) {\n tab.selected = true;\n this.selected = tabName;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.tabs.forEach((tab) => {\n if (this.selectedIndex === tab.index) {\n tab.selected = true;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n }\n }\n\n selectPanel() {\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.panels.forEach((panel) => {\n const panelName = panel.getAttribute('panel');\n\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (panelName === this.selected) {\n panel.selected = true;\n this.animatePanel(panelName, null);\n } else {\n panel.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.panels.forEach((panel) => {\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (this.selectedIndex === panel.index) {\n panel.selected = true;\n this.animatePanel(null, panel.index);\n } else {\n panel.selected = false;\n }\n });\n }\n }\n\n dispatchTabChange() {\n const details = {\n currentTabName: this.selected,\n currentTabIndex: this.selectedIndex,\n };\n\n emitEvent(this, 'kemet-tab-changed', details);\n }\n\n tabSelectedChange(event) {\n if (this.selected) {\n // if selected has been set, use the string attribute\n this.selected = event.detail.getAttribute('link');\n } else {\n // otherwise use the generated index\n this.selectedIndex = event.detail.index;\n }\n\n this.selectTab();\n this.selectPanel();\n this.dispatchTabChange();\n setTimeout(() => this.measure());\n }\n\n measure() {\n if (this.measureHeight > 1) {\n const currentPanel = this.selected ? this.querySelector(`kemet-tab-panel[selected]`) : this.panels[this.selectedIndex];\n const clone = currentPanel.cloneNode(true);\n\n clone.style.display = 'block';\n clone.style.visibility = 'hidden';\n clone.style.pointerEvents = 'none';\n\n document.body.appendChild(clone);\n\n setTimeout(() => {\n const panelHeight = clone.offsetHeight;\n\n this.panelsElement.style.maxHeight = `${panelHeight + this.measureHeightOffset}px`;\n document.body.removeChild(clone);\n }, 1);\n }\n }\n\n determineFade() {\n this.panels.forEach((panel) => {\n // add fade class if panel effect is fade\n if (this.panelEffect === 'fade') panel.classList.add('fade');\n });\n }\n\n determineOverflow() {\n const tabsContainerWidth = this.offsetWidth;\n const tabElements = this.querySelectorAll('kemet-tab');\n\n let totalTabsWidth = 0;\n\n tabElements.forEach((tab) => {\n totalTabsWidth += tab.offsetWidth;\n });\n\n if (totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom')) {\n this.overflow = true;\n } else {\n this.overflow = false;\n }\n }\n\n handleResize() {\n if (this.tabs && this.panels) {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n const selectedElement = this.tabs.find(tab => tab.selected);\n\n if (selectedElement) {\n this.ink = {\n width: `${selectedElement.offsetWidth}px`,\n height: `${selectedElement.offsetHeight}px`,\n positionX: `${selectedElement.offsetLeft - overflowOffset}px`,\n positionY: `${selectedElement.offsetTop}px`,\n };\n }\n\n this.determineOverflow();\n\n if (this.selected) {\n this.animatePanel(this.selected, null);\n } else {\n this.animatePanel(null, this.selectedIndex);\n }\n }\n }\n\n animatePanel(panelName, panelIndex) {\n if (panelName) {\n const selectedPanel = this.querySelector(`[panel=\"${panelName}\"]`) as KemetTabPanelInterface;\n if (selectedPanel) this.panelPosition = selectedPanel.offsetLeft * -1;\n } else {\n if (this.panels[panelIndex]) this.panelPosition = this.panels[panelIndex].offsetLeft * -1;\n }\n }\n\n handleTabKeydown(event) {\n if (this.selected) {\n switch (event.key) {\n case 'Home':\n this.selected = this.tabs[0].getAttribute('link');\n break;\n case 'End':\n this.selected = this.tabs[this.tabs.length - 1].getAttribute('link');\n break;\n case 'ArrowRight':\n const nextLinkElement = this.querySelector('kemet-tab[selected]').nextElementSibling;\n const nextLink = nextLinkElement ? nextLinkElement.getAttribute('link') : false;\n\n if (nextLink) {\n this.selected = nextLink;\n }\n break;\n case 'ArrowLeft':\n const previousLinkElement = this.querySelector('kemet-tab[selected]').previousElementSibling;\n const previousLink = previousLinkElement ? previousLinkElement.getAttribute('link') : false;\n\n if (previousLink) {\n this.selected = previousLink;\n }\n break;\n default: break;\n }\n\n this.tabs.find(tab => tab.link === this.selected).focus();\n } else {\n switch (event.key) {\n case 'Home':\n this.selectedIndex = 0;\n break;\n case 'End':\n this.selectedIndex = this.tabs.length - 1;\n break;\n case 'ArrowRight':\n if (this.selectedIndex < this.tabs.length - 1) {\n this.selectedIndex += 1;\n } else {\n this.selectedIndex = this.tabs.length - 1;\n }\n break;\n case 'ArrowLeft':\n if (this.selectedIndex < 1) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex -= 1;\n }\n break;\n default: break;\n }\n\n this.tabs[this.selectedIndex].focus();\n }\n }\n\n handleTouchStart(event) {\n this.xDown = event.touches[0].clientX;\n this.yDown = event.touches[0].clientY;\n }\n\n handleTouchMove(event) {\n if (!this.xDown || !this.yDown) {\n return;\n }\n\n const xUp = event.touches[0].clientX;\n const yUp = event.touches[0].clientY;\n const xDiff = this.xDown - xUp;\n const yDiff = this.yDown - yUp;\n\n const nextElement = this.querySelector('kemet-tab-panel[selected]')?.nextElementSibling;\n const next = nextElement ? nextElement.getAttribute('panel') : false;\n const previousElement = this.querySelector('kemet-tab-panel[selected]')?.previousElementSibling;\n const previous = previousElement ? previousElement.getAttribute('panel') : false;\n\n if (Math.abs(xDiff) > Math.abs(yDiff)) {\n if (xDiff > 0) {\n if (this.selected) {\n if (next) this.selected = next;\n } else {\n if (this.selectedIndex < this.tabs.length) this.selectedIndex += 1;\n }\n } else {\n if (this.selected) {\n if (previous) this.selected = previous;\n } else {\n if (this.selectedIndex > 0) this.selectedIndex -= 1;\n }\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n this.xDown = null;\n this.yDown = null;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tabs': KemetTabs\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kemet-tabs.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-lonely-if */\n/* eslint-disable no-case-declarations */\nimport { LitElement, html } from 'lit';\nimport { stylesKemetTabs } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { KemetTabInterface, KemetTabPanelInterface, TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tabs\n * @summary A group of tabs and panels.\n *\n * @prop {string} selected - The selected tab by name\n * @prop {number} selectedIndex - The selected tab by index\n * @prop {number} panelPosition - Positions the current panel\n * @prop {string} panelEffect - The transition effect for panels\n * @prop {boolean} swipe - Determines whether or not to enable swipe behavior\n * @prop {string} placement - Places the tabs to the top, right, bottom, or left\n * @prop {boolean} divider - Determines whether or not to show a divider line\n * @prop {string} tabsAlign - Spacing alignment of the tabs\n * @prop {object} ink - An object that contains information about the ink\n * @prop {boolean} hideInk - Determines whether or not to hide the ink\n * @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container\n *\n * @slot tab - Place the tabs here.\n * @slot panel - Place the panels here.\n *\n * @csspart links - The container for the tablist.\n * @csspart tablist - Contains the tabs.\n * @csspart panels - Contains the panels.\n * @csspart ink - The ink element.\n * @csspart divider - The divider element.\n *\n * @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).\n * @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.\n * @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).\n * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.\n * @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.\n *\n * @event kemet-tab-changed - Fires when a tab is changed\n *\n */\n\n@customElement('kemet-tabs')\nexport default class KemetTabs extends LitElement {\n static styles = [stylesKemetTabs];\n\n @property({ type: String, reflect: true })\n selected: string;\n\n @property({ type: Number })\n selectedIndex: number = 0;\n\n @property({ type: Number })\n panelPosition: number = 0;\n\n @property({ type: String, reflect: true, attribute: 'panel-effect' })\n panelEffect: TypePanelEffect = 'none';\n\n @property({ type: Boolean })\n swipe: boolean;\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = 'top';\n\n @property({ type: Boolean })\n divider: boolean;\n\n @property({ type: String, reflect: true, attribute: 'tabs-align' })\n tabsAlign: TypeTabsAlign = 'center';\n\n @property({ type: Object })\n ink: any;\n\n @property({ type: Boolean, attribute: 'hide-ink' })\n hideInk: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n overflow: boolean;\n\n @state()\n tabs: any[];\n\n @state()\n panels: any[];\n\n @state()\n xDown: number | null;\n\n @state()\n yDown: number | null;\n\n @state()\n links: HTMLElement;\n\n @query('#panels')\n panelsElement: HTMLElement;\n\n\n constructor() {\n super();\n\n this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));\n this.addEventListener('kemet-tab-close', this.handleTabClose.bind(this));\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n firstUpdated() {\n // standard properties\n this.tabs = [];\n this.panels = [];\n this.xDown = null;\n this.yDown = null;\n\n this.links = this.shadowRoot.getElementById('links');\n }\n\n render() {\n return html`\n ${this.makeLeftArrow()}\n ${this.makeRightArrow()}\n <div id=\"links\" part=\"links\">\n <div part='tablist' role=\"tablist\">\n <slot name=\"tab\" @slotchange=${() => this.handleLinksSlotChange()}></slot>\n </div>\n ${this.makeInk('links')}\n </div>\n ${this.makeInk('host')}\n ${this.makeDivider()}\n <section id=\"panels\" part=\"panels\" style=\"transform:translateX(${this.panelPosition}px);\">\n <div>\n <slot name=\"panel\" @slotchange=${() => this.handlePanelsSlotChange()}></slot>\n </div>\n </section>\n `;\n }\n\n updated() {\n this.determineFade();\n this.determineStacked();\n }\n\n handleLinksSlotChange() {\n const tabs = this.querySelectorAll('kemet-tab');\n let index = 0;\n\n tabs.forEach((tab: KemetTabInterface) => {\n // give each tab an index to select by if link/panel is not used\n tab.index = index;\n index += 1;\n\n // store the list of tabs\n this.tabs = this.tabs.concat(tab);\n\n // add keyboard support\n tab.addEventListener('keydown', event => this.handleTabKeydown(event));\n });\n\n // default to the first tab/panel selected\n if (this.tabs.length > 0) this.tabs[0].selected = true;\n\n setTimeout(() => {\n this.selectTab();\n }, 1);\n this.determineOverflow();\n }\n\n handlePanelsSlotChange() {\n const panels = this.querySelectorAll('kemet-tab-panel');\n const panelElement = this.shadowRoot.getElementById('panels');\n let index = 0;\n\n panels.forEach((panel: KemetTabPanelInterface) => {\n // give each panel an index to select by if link/panel is not used\n panel.index = index;\n index += 1;\n\n // store the list of panels\n this.panels = this.panels.concat(panel);\n });\n\n // default to the first tab/panel selected\n if (this.panels.length > 0) this.panels[0].selected = true;\n\n // add swipe support\n if (this.swipe) {\n panelElement.addEventListener('touchstart', event => this.handleTouchStart(event), false);\n panelElement.addEventListener('touchmove', event => this.handleTouchMove(event), false);\n }\n\n this.selectPanel();\n }\n\n handleLeftArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[0];\n const previousElement = selectedElement.previousElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = previousElement ? previousElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex > 0 ? selectedIndex - 1 : 0;\n }\n\n if (previousElement) {\n this.links.scrollLeft = previousElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleRightArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[this.tabs.length - 1];\n const nextElement = selectedElement.nextElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = nextElement ? nextElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex < this.tabs.length - 1\n ? selectedIndex + 1\n : this.tabs.length - 1;\n }\n\n if (nextElement) {\n this.links.scrollLeft = nextElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleTabClose(event) {\n const tab = event.detail;\n const panel = this.panels[tab.index];\n\n this.selected = this.tabs[0].link;\n this.selectedIndex = 0;\n\n panel.remove();\n tab.remove();\n }\n\n makeInk(location) {\n if (this.hideInk) {\n return null;\n }\n\n if ((this.placement === 'top' || this.placement === 'bottom') && this.ink && location === 'links') {\n return html`<div part=\"ink\" style=\"width:${this.ink.width}; transform:translateX(${this.ink.positionX})\"></div>`;\n }\n\n if ((this.placement === 'left' || this.placement === 'right') && this.ink && location === 'host') {\n return html`<div part=\"ink\" style=\"height:${this.ink.height}; transform:translateY(${this.ink.positionY})\"></div>`;\n }\n\n return null;\n }\n\n makeDivider() {\n if (this.divider) {\n return html`<div part=\"divider\"></div>`;\n }\n\n return null;\n }\n\n makeLeftArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-left' size=\"20\" @click=${() => this.handleLeftArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n makeRightArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-right' size=\"20\" @click=${() => this.handleRightArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n selectTab() {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.tabs.forEach((tab) => {\n const tabName = tab.getAttribute('link');\n\n if (tabName === this.selected) {\n tab.selected = true;\n this.selected = tabName;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.tabs.forEach((tab) => {\n if (this.selectedIndex === tab.index) {\n tab.selected = true;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n }\n }\n\n selectPanel() {\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.panels.forEach((panel) => {\n const panelName = panel.getAttribute('panel');\n\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (panelName === this.selected) {\n panel.selected = true;\n this.animatePanel(panelName, null);\n } else {\n panel.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.panels.forEach((panel) => {\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (this.selectedIndex === panel.index) {\n panel.selected = true;\n this.animatePanel(null, panel.index);\n } else {\n panel.selected = false;\n }\n });\n }\n }\n\n dispatchTabChange() {\n const details = {\n currentTabName: this.selected,\n currentTabIndex: this.selectedIndex,\n };\n\n emitEvent(this, 'kemet-tab-changed', details);\n }\n\n tabSelectedChange(event) {\n if (this.selected) {\n // if selected has been set, use the string attribute\n this.selected = event.detail.getAttribute('link');\n } else {\n // otherwise use the generated index\n this.selectedIndex = event.detail.index;\n }\n\n this.selectTab();\n this.selectPanel();\n this.dispatchTabChange();\n }\n\n\n determineFade() {\n this.panels.forEach((panel) => {\n // add fade class if panel effect is fade\n if (this.panelEffect === 'fade') panel.classList.add('fade');\n });\n }\n\n determineStacked() {\n this.panels.forEach((panel) => {\n // add fade class if panel effect is fade\n if (this.panelEffect === 'stacked') panel.classList.add('stacked');\n });\n }\n\n determineOverflow() {\n const tabsContainerWidth = this.offsetWidth;\n const tabElements = this.querySelectorAll('kemet-tab');\n\n let totalTabsWidth = 0;\n\n tabElements.forEach((tab) => {\n totalTabsWidth += tab.offsetWidth;\n });\n\n if (totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom')) {\n this.overflow = true;\n } else {\n this.overflow = false;\n }\n }\n\n handleResize() {\n if (this.tabs && this.panels) {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n const selectedElement = this.tabs.find(tab => tab.selected);\n\n if (selectedElement) {\n this.ink = {\n width: `${selectedElement.offsetWidth}px`,\n height: `${selectedElement.offsetHeight}px`,\n positionX: `${selectedElement.offsetLeft - overflowOffset}px`,\n positionY: `${selectedElement.offsetTop}px`,\n };\n }\n\n this.determineOverflow();\n\n if (this.selected) {\n this.animatePanel(this.selected, null);\n } else {\n this.animatePanel(null, this.selectedIndex);\n }\n }\n }\n\n animatePanel(panelName, panelIndex) {\n if (panelName) {\n const selectedPanel = this.querySelector(`[panel=\"${panelName}\"]`) as KemetTabPanelInterface;\n if (selectedPanel) this.panelPosition = selectedPanel.offsetLeft * -1;\n } else {\n if (this.panels[panelIndex]) this.panelPosition = this.panels[panelIndex].offsetLeft * -1;\n }\n }\n\n handleTabKeydown(event) {\n if (this.selected) {\n switch (event.key) {\n case 'Home':\n this.selected = this.tabs[0].getAttribute('link');\n break;\n case 'End':\n this.selected = this.tabs[this.tabs.length - 1].getAttribute('link');\n break;\n case 'ArrowRight':\n const nextLinkElement = this.querySelector('kemet-tab[selected]').nextElementSibling;\n const nextLink = nextLinkElement ? nextLinkElement.getAttribute('link') : false;\n\n if (nextLink) {\n this.selected = nextLink;\n }\n break;\n case 'ArrowLeft':\n const previousLinkElement = this.querySelector('kemet-tab[selected]').previousElementSibling;\n const previousLink = previousLinkElement ? previousLinkElement.getAttribute('link') : false;\n\n if (previousLink) {\n this.selected = previousLink;\n }\n break;\n default: break;\n }\n\n this.tabs.find(tab => tab.link === this.selected).focus();\n } else {\n switch (event.key) {\n case 'Home':\n this.selectedIndex = 0;\n break;\n case 'End':\n this.selectedIndex = this.tabs.length - 1;\n break;\n case 'ArrowRight':\n if (this.selectedIndex < this.tabs.length - 1) {\n this.selectedIndex += 1;\n } else {\n this.selectedIndex = this.tabs.length - 1;\n }\n break;\n case 'ArrowLeft':\n if (this.selectedIndex < 1) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex -= 1;\n }\n break;\n default: break;\n }\n\n this.tabs[this.selectedIndex].focus();\n }\n }\n\n handleTouchStart(event) {\n this.xDown = event.touches[0].clientX;\n this.yDown = event.touches[0].clientY;\n }\n\n handleTouchMove(event) {\n if (!this.xDown || !this.yDown) {\n return;\n }\n\n const xUp = event.touches[0].clientX;\n const yUp = event.touches[0].clientY;\n const xDiff = this.xDown - xUp;\n const yDiff = this.yDown - yUp;\n\n const nextElement = this.querySelector('kemet-tab-panel[selected]')?.nextElementSibling;\n const next = nextElement ? nextElement.getAttribute('panel') : false;\n const previousElement = this.querySelector('kemet-tab-panel[selected]')?.previousElementSibling;\n const previous = previousElement ? previousElement.getAttribute('panel') : false;\n\n if (Math.abs(xDiff) > Math.abs(yDiff)) {\n if (xDiff > 0) {\n if (this.selected) {\n if (next) this.selected = next;\n } else {\n if (this.selectedIndex < this.tabs.length) this.selectedIndex += 1;\n }\n } else {\n if (this.selected) {\n if (previous) this.selected = previous;\n } else {\n if (this.selectedIndex > 0) this.selectedIndex -= 1;\n }\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n this.xDown = null;\n this.yDown = null;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tabs': KemetTabs\n }\n}\n"]}
|
|
@@ -250,5 +250,19 @@ export const stylesKemetTabPanel = css `
|
|
|
250
250
|
:host(.vertical[selected]) {
|
|
251
251
|
display: block;
|
|
252
252
|
}
|
|
253
|
+
|
|
254
|
+
:host(.stacked) {
|
|
255
|
+
position: absolute;
|
|
256
|
+
z-index: -1;
|
|
257
|
+
opacity: 0;
|
|
258
|
+
visibility: hidden;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
:host(.stacked[selected]) {
|
|
262
|
+
position: relative;
|
|
263
|
+
z-index: 1;
|
|
264
|
+
opacity: 1;
|
|
265
|
+
visibility: visible;
|
|
266
|
+
}
|
|
253
267
|
`;
|
|
254
268
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqMjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqMjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CrC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesKemetTabs = css`\n :host {\n --kemet-tabs-ink-size: 6px;\n --kemet-tabs-ink-radius: 6px;\n --kemet-tabs-divider-size: 1px;\n --kemet-tabs-spacer: 1rem;\n\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n }\n\n :host([placement='bottom']) {\n flex-direction: column-reverse;\n }\n\n :host([placement='left']) {\n flex-direction: row;\n }\n\n :host([placement='right']) {\n flex-direction: row-reverse;\n }\n\n :host([placement='left']),\n :host([placement='right']) {\n overflow: unset;\n }\n\n /* panels */\n\n [part='panels'] > div {\n display: flex;\n }\n\n :host([panel-effect='slide']) [part='panels'] {\n transition: transform var(--kemet-tabs-transition-speed, 0.5s) linear;\n }\n\n :host([panel-effect='fade']) [part='panels'] {\n transform: none !important;\n }\n\n :host([panel-effect='fade']) [part='panels'] > div {\n flex-flow: row nowrap;\n }\n\n :host([placement='left']) [part='panels'],\n :host([placement='right']) [part='panels'] {\n transform: none !important;\n position: relative;\n width: 100%;\n }\n\n :host([placement='top']) [part='panels'] > div {\n margin-top: var(--kemet-tabs-spacer);\n }\n\n :host([placement='right']) [part='panels'] > div {\n margin-right: var(--kemet-tabs-spacer);\n }\n\n :host([placement='bottom']) [part='panels'] > div {\n margin-bottom: var(--kemet-tabs-spacer);\n }\n\n :host([placement='left']) [part='panels'] > div {\n margin-left: var(--kemet-tabs-spacer);\n }\n\n /* tablist */\n\n [part='tablist'] {\n display: flex;\n }\n\n :host([placement='left']) [part='tablist'],\n :host([placement='right']) [part='tablist'] {\n display: flex;\n flex-direction: column;\n align-items: start;\n }\n\n :host([tabs-align='center']) [part='tablist'] {\n justify-content: center;\n }\n\n :host([tabs-align='between']) [part='tablist'] {\n justify-content: space-between;\n }\n\n :host([tabs-align='evenly']) [part='tablist'] {\n justify-content: space-evenly;\n }\n\n :host([tabs-align='around']) [part='tablist'] {\n justify-content: space-around\n }\n\n :host([tabs-align='start']) [part='tablist'] {\n justify-content: flex-start;\n }\n\n :host([tabs-align='end']) [part='tablist'] {\n justify-content: flex-end;\n }\n\n :host([overflow]) [part='tablist'] {\n justify-content: start;\n }\n\n /* divider */\n\n [part='divider'] {\n height: var(--kemet-tabs-divider-size);\n background-color: var(--kemet-tabs-divider-color, var(--kemet-color-gray4));\n }\n\n :host([placement='left']) [part='divider'],\n :host([placement='right']) [part='divider'] {\n width: var(--kemet-tabs-divider-size);\n height: auto;\n }\n\n /* ink */\n\n [part='ink'] {\n height: var(--kemet-tabs-ink-size);\n border-top-left-radius: var(--kemet-tabs-ink-radius);\n border-top-right-radius: var(--kemet-tabs-ink-radius);\n transition: all 300ms ease;\n background-color: var(--kemet-tabs-ink-color, var(--kemet-color-background));\n }\n\n :host([placement='right']) [part='ink'] {\n width: var(--kemet-tabs-ink-size);\n border-top-right-radius: var(--kemet-tabs-ink-radius);\n border-bottom-right-radius: var(--kemet-tabs-ink-radius);\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n }\n\n :host([placement='left']) [part='ink'] {\n width: var(--kemet-tabs-ink-size);\n border-top-right-radius: 0px;\n border-bottom-right-radius: 0px;\n border-top-left-radius: var(--kemet-tabs-ink-radius);\n border-bottom-left-radius: var(--kemet-tabs-ink-radius);\n }\n\n :host([placement='bottom']) [part='ink'] {\n border-top-right-radius: 0px;\n border-bottom-right-radius: var(--kemet-tabs-ink-radius);\n border-top-left-radius: 0px;\n border-bottom-left-radius: var(--kemet-tabs-ink-radius);\n }\n\n /* links */\n\n :host([overflow]) [part='links'] {\n overflow-x: auto;\n margin: 0 2rem;\n scroll-behavior: smooth;\n }\n\n :host([overflow]) [part='links']::-webkit-scrollbar {\n display: none;\n width: 0;\n background: transparent;\n }\n\n :host([placement='bottom']) [part='links'] {\n display: flex;\n flex-direction: column-reverse;\n }\n\n /* icon */\n\n [icon*='chevron'] {\n cursor: pointer;\n position: absolute;\n top: 1rem;\n }\n\n [icon='chevron-left'] {\n left: 0;\n }\n\n [icon='chevron-right'] {\n right: 0;\n }\n\n :host([placement='bottom']) [icon*='chevron'] {\n top: auto;\n bottom: 1rem;\n }\n`;\n\nexport const stylesKemetTab = css`\n :host {\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n white-space: nowrap;\n padding: var(--kemet-tab-padding, 1rem);\n }\n\n :host([selected]) {\n cursor: auto;\n color: var(--kemet-tab-color, var(--kemet-color-background));\n }\n\n kemet-icon {\n cursor: pointer;\n margin-left: 0.5rem;\n }\n`;\n\nexport const stylesKemetTabPanel = css`\n :host {\n width: 100%;\n flex: 0 0 auto;\n }\n\n ::slotted(img) {\n max-width: 100%;\n }\n\n :host(.fade) {\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--kemet-tab-panel-fade-speed, 0.5s) ease;\n }\n\n :host(.fade[selected]) {\n opacity: 1;\n pointer-events: auto;\n }\n\n :host(.fade.push) {\n margin-left: -100%;\n }\n\n :host(.vertical) {\n display: none;\n }\n\n :host(.vertical[selected]) {\n display: block;\n }\n\n :host(.stacked) {\n position: absolute;\n z-index: -1;\n opacity: 0;\n visibility: hidden;\n }\n\n :host(.stacked[selected]) {\n position: relative;\n z-index: 1;\n opacity: 1;\n visibility: visible;\n }\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type TypePanelEffect = 'none' | 'slide' | 'fade';
|
|
1
|
+
export declare type TypePanelEffect = 'none' | 'slide' | 'fade' | 'stacked';
|
|
2
2
|
export declare type TypePlacement = 'top' | 'right' | 'bottom' | 'left';
|
|
3
3
|
export declare type TypeTabsAlign = 'center' | 'between' | 'around' | 'evenly' | 'start' | 'end';
|
|
4
4
|
export interface KemetTabsInterface extends HTMLElement {
|
|
@@ -13,8 +13,6 @@ export interface KemetTabsInterface extends HTMLElement {
|
|
|
13
13
|
ink?: any;
|
|
14
14
|
hideInk?: boolean;
|
|
15
15
|
overflow?: boolean;
|
|
16
|
-
measureHeight?: number;
|
|
17
|
-
measureHeightOffset?: number;
|
|
18
16
|
}
|
|
19
17
|
export interface KemetTabInterface extends HTMLElement {
|
|
20
18
|
selected?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TypePanelEffect = 'none' | 'slide' | 'fade';\nexport type TypePlacement = 'top' | 'right' | 'bottom' | 'left';\nexport type TypeTabsAlign = 'center' | 'between' | 'around' | 'evenly' | 'start' | 'end';\n\nexport interface KemetTabsInterface extends HTMLElement {\n selected?: string;\n selectedIndex?: number;\n panelPosition?: number;\n panelEffect?: TypePanelEffect;\n swipe?: boolean;\n placement?: TypePlacement;\n divider?: boolean;\n tabsAlign?: TypeTabsAlign;\n ink?: any;\n hideInk?: boolean;\n overflow?: boolean;\n
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TypePanelEffect = 'none' | 'slide' | 'fade' | 'stacked';\nexport type TypePlacement = 'top' | 'right' | 'bottom' | 'left';\nexport type TypeTabsAlign = 'center' | 'between' | 'around' | 'evenly' | 'start' | 'end';\n\nexport interface KemetTabsInterface extends HTMLElement {\n selected?: string;\n selectedIndex?: number;\n panelPosition?: number;\n panelEffect?: TypePanelEffect;\n swipe?: boolean;\n placement?: TypePlacement;\n divider?: boolean;\n tabsAlign?: TypeTabsAlign;\n ink?: any;\n hideInk?: boolean;\n overflow?: boolean;\n}\n\nexport interface KemetTabInterface extends HTMLElement {\n selected?: boolean;\n link?: string;\n closable?: boolean;\n index?: number;\n}\n\nexport interface KemetTabPanelInterface extends HTMLElement {\n selected?: boolean;\n panel?: string;\n index?: number;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-textarea/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-textarea';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Textarea',\n component: 'kemet-textarea',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n status = 'standard',\n validateOnBlur = true,\n required = true,\n placeholder = 'Placeholder',\n minlength = null,\n maxlength = null,\n inputmode = 'none',\n autofocus = false,\n disabled = false,\n readonly = false,\n rows = '4',\n filled = false,\n rounded = false,\n}) => html`<kemet-textarea\n status=${status}\n ?required=${required}\n ?validate-on-blur=${validateOnBlur}\n placeholder=${ifDefined(placeholder || null)}\n minlength=${ifDefined(minlength || null)}\n maxlength=${ifDefined(maxlength || null)}\n inputmode=${inputmode}\n ?autofocus=${autofocus}\n ?disabled=${disabled}\n ?readonly=${readonly}\n rows=${rows}\n ?filled=${filled}\n ?rounded=${rounded}\n></kemet-textarea>`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n status: 'standard',\n validateOnBlur: true,\n required: true,\n placeholder: 'Placeholder',\n minlength: null,\n maxlength: null,\n inputmode: 'none',\n autofocus: false,\n disabled: false,\n readonly: false,\n rows: 4,\n filled: false,\n rounded: false,\n },\n argTypes: {\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n validateOnBlur: {\n control: { type: 'boolean' },\n },\n required: {\n control: { type: 'boolean' },\n },\n placeholder: {\n control: { type: 'text' },\n },\n minlength: {\n control: { type: 'number' },\n },\n maxlength: {\n control: { type: 'number' },\n },\n inputmode: {\n control: { type: 'select' },\n options: ['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url'],\n },\n autofocus: {\n control: { type: 'boolean' },\n },\n disabled: {\n control: { type: 'boolean' },\n },\n readonly: {\n control: { type: 'boolean' },\n },\n rows: {\n control: { type: 'number' },\n },\n filled: {\n control: { type: 'boolean' },\n },\n rounded: {\n control: { type: 'boolean' },\n },\n }\n};\n"]}
|