kemet-ui 2.0.3 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +621 -692
- package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +3 -4
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +4 -3
- package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
- package/dist/components/kemet-accordion/kemet-accordion.d.ts +6 -5
- package/dist/components/kemet-accordion/kemet-accordion.js +14 -5
- package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
- package/dist/components/kemet-accordion/stories.d.ts +2 -0
- package/dist/components/kemet-accordion/stories.js +6 -3
- package/dist/components/kemet-accordion/stories.js.map +1 -1
- package/dist/components/kemet-accordion/styles.js +5 -5
- package/dist/components/kemet-accordion/styles.js.map +1 -1
- package/dist/components/kemet-alert/docs/stories.d.ts +12 -0
- package/dist/components/kemet-alert/docs/stories.js +180 -36
- package/dist/components/kemet-alert/docs/stories.js.map +1 -1
- package/dist/components/kemet-alert/kemet-alert.d.ts +6 -7
- package/dist/components/kemet-alert/kemet-alert.js +8 -5
- package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
- package/dist/components/kemet-alert/styles.js +10 -8
- package/dist/components/kemet-alert/styles.js.map +1 -1
- package/dist/components/kemet-alert/types.d.ts +0 -9
- package/dist/components/kemet-alert/types.js.map +1 -1
- package/dist/components/kemet-avatar/docs/stories.d.ts +4 -0
- package/dist/components/kemet-avatar/docs/stories.js +57 -35
- package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
- package/dist/components/kemet-avatar/kemet-avatar.d.ts +4 -4
- package/dist/components/kemet-avatar/kemet-avatar.js +4 -4
- package/dist/components/kemet-avatar/kemet-avatar.js.map +1 -1
- package/dist/components/kemet-avatar/styles.js +16 -9
- package/dist/components/kemet-avatar/styles.js.map +1 -1
- package/dist/components/kemet-badge/docs/stories.d.ts +6 -0
- package/dist/components/kemet-badge/docs/stories.js +52 -16
- package/dist/components/kemet-badge/docs/stories.js.map +1 -1
- package/dist/components/kemet-badge/kemet-badge.d.ts +2 -1
- package/dist/components/kemet-badge/kemet-badge.js +1 -1
- package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
- package/dist/components/kemet-badge/styles.js +11 -9
- package/dist/components/kemet-badge/styles.js.map +1 -1
- package/dist/components/kemet-badge/types.d.ts +1 -6
- package/dist/components/kemet-badge/types.js.map +1 -1
- package/dist/components/kemet-button/docs/stories.d.ts +12 -0
- package/dist/components/kemet-button/docs/stories.js +81 -20
- package/dist/components/kemet-button/docs/stories.js.map +1 -1
- package/dist/components/kemet-button/kemet-button.d.ts +23 -23
- package/dist/components/kemet-button/kemet-button.js +23 -23
- package/dist/components/kemet-button/kemet-button.js.map +1 -1
- package/dist/components/kemet-button/styles.js +46 -26
- package/dist/components/kemet-button/styles.js.map +1 -1
- package/dist/components/kemet-button/types.d.ts +1 -10
- package/dist/components/kemet-button/types.js.map +1 -1
- package/dist/components/kemet-card/docs/stories.d.ts +10 -0
- package/dist/components/kemet-card/docs/stories.js +78 -66
- package/dist/components/kemet-card/docs/stories.js.map +1 -1
- package/dist/components/kemet-card/kemet-card.d.ts +16 -16
- package/dist/components/kemet-card/kemet-card.js +16 -16
- package/dist/components/kemet-card/kemet-card.js.map +1 -1
- package/dist/components/kemet-card/styles.js +29 -14
- package/dist/components/kemet-card/styles.js.map +1 -1
- package/dist/components/kemet-carousel/docs/stories.d.ts +6 -0
- package/dist/components/kemet-carousel/docs/stories.js +72 -60
- package/dist/components/kemet-carousel/docs/stories.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +2 -2
- package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.js +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +2 -2
- package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
- package/dist/components/kemet-carousel/kemet-carousel.d.ts +33 -29
- package/dist/components/kemet-carousel/kemet-carousel.js +47 -28
- package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
- package/dist/components/kemet-carousel/styles.js +31 -15
- package/dist/components/kemet-carousel/styles.js.map +1 -1
- package/dist/components/kemet-checkbox/docs/stories.d.ts +4 -0
- package/dist/components/kemet-checkbox/docs/stories.js +28 -28
- package/dist/components/kemet-checkbox/docs/stories.js.map +1 -1
- package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +8 -8
- package/dist/components/kemet-checkbox/kemet-checkbox.js +8 -8
- package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
- package/dist/components/kemet-checkbox/styles.js +20 -13
- package/dist/components/kemet-checkbox/styles.js.map +1 -1
- package/dist/components/kemet-combo/docs/stories.js +14 -12
- package/dist/components/kemet-combo/docs/stories.js.map +1 -1
- package/dist/components/kemet-combo/kemet-combo.d.ts +17 -17
- package/dist/components/kemet-combo/kemet-combo.js +22 -26
- package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
- package/dist/components/kemet-combo/styles.js +21 -9
- package/dist/components/kemet-combo/styles.js.map +1 -1
- package/dist/components/kemet-count/docs/stories.js +10 -25
- package/dist/components/kemet-count/docs/stories.js.map +1 -1
- package/dist/components/kemet-count/kemet-count.d.ts +1 -1
- package/dist/components/kemet-count/kemet-count.js +1 -1
- package/dist/components/kemet-count/kemet-count.js.map +1 -1
- package/dist/components/kemet-draggable/docs/stories.d.ts +1 -0
- package/dist/components/kemet-draggable/docs/stories.js +8 -15
- package/dist/components/kemet-draggable/docs/stories.js.map +1 -1
- package/dist/components/kemet-draggable/kemet-draggable.d.ts +3 -3
- package/dist/components/kemet-draggable/kemet-draggable.js +6 -5
- package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
- package/dist/components/kemet-drawer/docs/stories.d.ts +6 -0
- package/dist/components/kemet-drawer/docs/stories.js +59 -60
- package/dist/components/kemet-drawer/docs/stories.js.map +1 -1
- package/dist/components/kemet-drawer/kemet-drawer.d.ts +7 -7
- package/dist/components/kemet-drawer/kemet-drawer.js +7 -7
- package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
- package/dist/components/kemet-drawer/styles.js +32 -25
- package/dist/components/kemet-drawer/styles.js.map +1 -1
- package/dist/components/kemet-drawer/types.d.ts +0 -6
- package/dist/components/kemet-drawer/types.js.map +1 -1
- package/dist/components/kemet-fab/docs/stories.d.ts +3 -0
- package/dist/components/kemet-fab/docs/stories.js +23 -32
- package/dist/components/kemet-fab/docs/stories.js.map +1 -1
- package/dist/components/kemet-fab/kemet-fab.d.ts +7 -7
- package/dist/components/kemet-fab/kemet-fab.js +7 -7
- package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
- package/dist/components/kemet-fab/styles.js +19 -10
- package/dist/components/kemet-fab/styles.js.map +1 -1
- package/dist/components/kemet-field/docs/stories.d.ts +1 -1
- package/dist/components/kemet-field/docs/stories.js +19 -69
- package/dist/components/kemet-field/docs/stories.js.map +1 -1
- package/dist/components/kemet-field/kemet-field.d.ts +12 -12
- package/dist/components/kemet-field/kemet-field.js +9 -14
- package/dist/components/kemet-field/kemet-field.js.map +1 -1
- package/dist/components/kemet-field/styles.js +6 -6
- package/dist/components/kemet-field/styles.js.map +1 -1
- package/dist/components/kemet-flipcard/docs/stories.d.ts +3 -0
- package/dist/components/kemet-flipcard/docs/stories.js +29 -78
- package/dist/components/kemet-flipcard/docs/stories.js.map +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +2 -3
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +1 -1
- package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +9 -9
- package/dist/components/kemet-flipcard/kemet-flipcard.js +10 -12
- package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
- package/dist/components/kemet-flipcard/styles.js +20 -10
- package/dist/components/kemet-flipcard/styles.js.map +1 -1
- package/dist/components/kemet-icon/docs/stories.js +8 -15
- package/dist/components/kemet-icon/docs/stories.js.map +1 -1
- package/dist/components/kemet-input/docs/stories.d.ts +4 -0
- package/dist/components/kemet-input/docs/stories.js +54 -113
- package/dist/components/kemet-input/docs/stories.js.map +1 -1
- package/dist/components/kemet-input/kemet-input.d.ts +18 -37
- package/dist/components/kemet-input/kemet-input.js +18 -38
- package/dist/components/kemet-input/kemet-input.js.map +1 -1
- package/dist/components/kemet-input/styles.js +38 -21
- package/dist/components/kemet-input/styles.js.map +1 -1
- package/dist/components/kemet-modal/docs/stories.d.ts +2 -0
- package/dist/components/kemet-modal/docs/stories.js +25 -68
- package/dist/components/kemet-modal/docs/stories.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal-close.js +1 -1
- package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
- package/dist/components/kemet-modal/kemet-modal.d.ts +20 -10
- package/dist/components/kemet-modal/kemet-modal.js +39 -20
- package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
- package/dist/components/kemet-modal/styles.js +77 -48
- package/dist/components/kemet-modal/styles.js.map +1 -1
- package/dist/components/kemet-password/docs/stories.js +10 -18
- package/dist/components/kemet-password/docs/stories.js.map +1 -1
- package/dist/components/kemet-password/kemet-password.d.ts +14 -8
- package/dist/components/kemet-password/kemet-password.js +4 -33
- package/dist/components/kemet-password/kemet-password.js.map +1 -1
- package/dist/components/kemet-password/styles.js +7 -7
- package/dist/components/kemet-password/styles.js.map +1 -1
- package/dist/components/kemet-popper/docs/stories.d.ts +2 -0
- package/dist/components/kemet-popper/docs/stories.js +32 -39
- package/dist/components/kemet-popper/docs/stories.js.map +1 -1
- package/dist/components/kemet-popper/kemet-popper-close.d.ts +1 -1
- package/dist/components/kemet-popper/kemet-popper-close.js +2 -3
- package/dist/components/kemet-popper/kemet-popper-close.js.map +1 -1
- package/dist/components/kemet-popper/kemet-popper.d.ts +19 -10
- package/dist/components/kemet-popper/kemet-popper.js +23 -32
- package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
- package/dist/components/kemet-popper/styles.js +14 -5
- package/dist/components/kemet-popper/styles.js.map +1 -1
- package/dist/components/kemet-radio/docs/stories.d.ts +2 -0
- package/dist/components/kemet-radio/docs/stories.js +24 -20
- package/dist/components/kemet-radio/docs/stories.js.map +1 -1
- package/dist/components/kemet-radio/kemet-radio.d.ts +7 -6
- package/dist/components/kemet-radio/kemet-radio.js +7 -6
- package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
- package/dist/components/kemet-radio/kemet-radios.d.ts +6 -5
- package/dist/components/kemet-radio/kemet-radios.js +11 -5
- package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
- package/dist/components/kemet-radio/styles.js +26 -16
- package/dist/components/kemet-radio/styles.js.map +1 -1
- package/dist/components/kemet-rotator/docs/stories.d.ts +1 -0
- package/dist/components/kemet-rotator/docs/stories.js +16 -28
- package/dist/components/kemet-rotator/docs/stories.js.map +1 -1
- package/dist/components/kemet-rotator/kemet-rotator.d.ts +3 -3
- package/dist/components/kemet-rotator/kemet-rotator.js +2 -3
- package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
- package/dist/components/kemet-rotator/styles.js +4 -2
- package/dist/components/kemet-rotator/styles.js.map +1 -1
- package/dist/components/kemet-scroll-link/docs/stories.js +2 -2
- package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +2 -2
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js +11 -10
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +1 -1
- package/dist/components/kemet-scroll-nav/docs/stories.js +5 -5
- package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +7 -7
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +7 -12
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
- package/dist/components/kemet-scroll-nav/styles.js +10 -4
- package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
- package/dist/components/kemet-scroll-snap/docs/stories.d.ts +6 -0
- package/dist/components/kemet-scroll-snap/docs/stories.js +72 -82
- package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +8 -7
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +4 -4
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +7 -6
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +6 -11
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
- package/dist/components/kemet-scroll-snap/styles.js +14 -6
- package/dist/components/kemet-scroll-snap/styles.js.map +1 -1
- package/dist/components/kemet-select/docs/stories.d.ts +3 -0
- package/dist/components/kemet-select/docs/stories.js +25 -33
- package/dist/components/kemet-select/docs/stories.js.map +1 -1
- package/dist/components/kemet-select/kemet-option.d.ts +1 -1
- package/dist/components/kemet-select/kemet-option.js +1 -1
- package/dist/components/kemet-select/kemet-option.js.map +1 -1
- package/dist/components/kemet-select/kemet-select.d.ts +32 -23
- package/dist/components/kemet-select/kemet-select.js +3 -44
- package/dist/components/kemet-select/kemet-select.js.map +1 -1
- package/dist/components/kemet-select/styles.js +32 -16
- package/dist/components/kemet-select/styles.js.map +1 -1
- package/dist/components/kemet-sortable/docs/stories.js +5 -10
- package/dist/components/kemet-sortable/docs/stories.js.map +1 -1
- package/dist/components/kemet-sortable/kemet-sortable.d.ts +5 -5
- package/dist/components/kemet-sortable/kemet-sortable.js +5 -5
- package/dist/components/kemet-sortable/kemet-sortable.js.map +1 -1
- package/dist/components/kemet-sortable/styles.js +1 -1
- package/dist/components/kemet-sortable/styles.js.map +1 -1
- package/dist/components/kemet-svgs/docs/stories.js +11 -11
- package/dist/components/kemet-svgs/docs/stories.js.map +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.d.ts +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.js +1 -1
- package/dist/components/kemet-svgs/kemet-svgs.js.map +1 -1
- package/dist/components/kemet-tabs/docs/stories.d.ts +9 -0
- package/dist/components/kemet-tabs/docs/stories.js +78 -78
- package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +2 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js +4 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab.d.ts +3 -2
- package/dist/components/kemet-tabs/kemet-tab.js +6 -3
- package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +30 -21
- package/dist/components/kemet-tabs/kemet-tabs.js +12 -48
- package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
- package/dist/components/kemet-tabs/styles.js +12 -5
- package/dist/components/kemet-tabs/styles.js.map +1 -1
- package/dist/components/kemet-textarea/docs/stories.d.ts +3 -0
- package/dist/components/kemet-textarea/docs/stories.js +37 -67
- package/dist/components/kemet-textarea/docs/stories.js.map +1 -1
- package/dist/components/kemet-textarea/kemet-textarea.d.ts +12 -12
- package/dist/components/kemet-textarea/kemet-textarea.js +12 -12
- package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
- package/dist/components/kemet-textarea/styles.js +31 -16
- package/dist/components/kemet-textarea/styles.js.map +1 -1
- package/dist/components/kemet-toggle/docs/stories.d.ts +2 -0
- package/dist/components/kemet-toggle/docs/stories.js +21 -36
- package/dist/components/kemet-toggle/docs/stories.js.map +1 -1
- package/dist/components/kemet-toggle/kemet-toggle.d.ts +12 -12
- package/dist/components/kemet-toggle/kemet-toggle.js +12 -12
- package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
- package/dist/components/kemet-toggle/styles.js +12 -6
- package/dist/components/kemet-toggle/styles.js.map +1 -1
- package/dist/components/kemet-tooltip/docs/stories.d.ts +4 -0
- package/dist/components/kemet-tooltip/docs/stories.js +58 -33
- package/dist/components/kemet-tooltip/docs/stories.js.map +1 -1
- package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +2 -2
- package/dist/components/kemet-tooltip/kemet-tooltip.js +13 -12
- package/dist/components/kemet-tooltip/kemet-tooltip.js.map +1 -1
- package/dist/components/kemet-tooltip/styles.js +2 -2
- package/dist/components/kemet-tooltip/styles.js.map +1 -1
- package/dist/components/kemet-tracker/docs/stories.d.ts +1 -0
- package/dist/components/kemet-tracker/docs/stories.js +18 -22
- package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
- package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +18 -18
- package/dist/components/kemet-tracker/kemet-tracker-step.js +18 -18
- package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
- package/dist/components/kemet-tracker/kemet-tracker.d.ts +2 -1
- package/dist/components/kemet-tracker/kemet-tracker.js.map +1 -1
- package/dist/components/kemet-tracker/styles.js +23 -12
- package/dist/components/kemet-tracker/styles.js.map +1 -1
- package/dist/components/kemet-upload/docs/stories.js +17 -22
- package/dist/components/kemet-upload/docs/stories.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload-file.d.ts +3 -3
- package/dist/components/kemet-upload/kemet-upload-file.js +4 -5
- package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload.d.ts +7 -7
- package/dist/components/kemet-upload/kemet-upload.js +7 -12
- package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
- package/dist/components/kemet-upload/styles.js +27 -18
- package/dist/components/kemet-upload/styles.js.map +1 -1
- package/dist/kemet-components.bundle.js +98 -86
- package/dist/kemet-components.bundle.js.map +1 -1
- package/dist/kemet-components.cjs +3076 -2910
- package/dist/kemet-components.js +3076 -2910
- package/dist/styles/kemet.base.css +255 -78
- package/dist/styles/kemet.base.css.map +1 -1
- package/dist/styles/kemet.base.scss +6 -5
- package/dist/styles/kemet.components.css +1 -16
- package/dist/styles/kemet.components.css.map +1 -1
- package/dist/styles/kemet.components.scss +0 -2
- package/dist/styles/kemet.core.css +5554 -2122
- package/dist/styles/kemet.core.css.map +1 -1
- package/dist/styles/shared/_config.scss +306 -93
- package/dist/styles/shared/_helpers.scss +88 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -14
- package/dist/components/kemet-accordion/types.d.ts +0 -9
- package/dist/components/kemet-accordion/types.js +0 -2
- package/dist/components/kemet-accordion/types.js.map +0 -1
- package/dist/components/kemet-avatar/types.d.ts +0 -8
- package/dist/components/kemet-avatar/types.js +0 -2
- package/dist/components/kemet-avatar/types.js.map +0 -1
- package/dist/components/kemet-card/types.d.ts +0 -3
- package/dist/components/kemet-card/types.js +0 -2
- package/dist/components/kemet-card/types.js.map +0 -1
- package/dist/components/kemet-carousel/types.d.ts +0 -21
- package/dist/components/kemet-carousel/types.js +0 -2
- package/dist/components/kemet-carousel/types.js.map +0 -1
- package/dist/components/kemet-combo/types.d.ts +0 -5
- package/dist/components/kemet-combo/types.js +0 -2
- package/dist/components/kemet-combo/types.js.map +0 -1
- package/dist/components/kemet-draggable/types.d.ts +0 -6
- package/dist/components/kemet-draggable/types.js +0 -2
- package/dist/components/kemet-draggable/types.js.map +0 -1
- package/dist/styles/components/drawer.scss +0 -11
- package/dist/styles/components/modal.scss +0 -8
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
export const stylesBase = css `
|
|
3
3
|
:host {
|
|
4
|
+
--kemet-input-height: 50px;
|
|
5
|
+
--kemet-input-padding: 0.5rem 1rem;
|
|
6
|
+
--kemet-input-border: 1px solid rgb(var(--kemet-color-foreground));
|
|
7
|
+
--kemet-input-border-color-error: 1px solid rgb(var(--kemet-color-error));
|
|
8
|
+
--kemet-input-border-color-success: 1px solid rgb(var(--kemet-color-success));
|
|
9
|
+
--kemet-input-border-color-warning: 1px solid rgb(var(--kemet-color-warning));
|
|
10
|
+
--kemet-input-icon-left-padding: 3rem;
|
|
11
|
+
--kemet-input-icon-right-padding: 3rem;
|
|
12
|
+
--kemet-input-border-radius-rounded: var(--kemet-border-radius-md);
|
|
13
|
+
--kemet-input-border-filled: none;
|
|
14
|
+
--kemet-input-color-filled: rgb(var(--kemet-color-white));
|
|
15
|
+
--kemet-input-background-color-filled: rgb(var(--kemet-color-primary));
|
|
16
|
+
--kemet-input-color-filled: rgb(var(--kemet-color-white));
|
|
17
|
+
--kemet-input-background-color-error: rgb(var(--kemet-color-error));
|
|
18
|
+
--kemet-input-background-color-success: rgb(var(--kemet-color-success));
|
|
19
|
+
--kemet-input-background-color-warning: rgb(var(--kemet-color-warning));
|
|
20
|
+
|
|
4
21
|
position: relative;
|
|
5
22
|
display: block;
|
|
6
23
|
}
|
|
7
24
|
|
|
8
25
|
input {
|
|
9
|
-
color: var(--kemet-color-text);
|
|
26
|
+
color: rgb(var(--kemet-color-text));
|
|
10
27
|
display: block;
|
|
11
28
|
font-size: 1rem;
|
|
12
29
|
width: 100%;
|
|
13
|
-
height: var(--kemet-input-height
|
|
14
|
-
padding: var(--kemet-input-padding
|
|
15
|
-
border: var(--kemet-input-border
|
|
30
|
+
height: var(--kemet-input-height);
|
|
31
|
+
padding: var(--kemet-input-padding);
|
|
32
|
+
border: var(--kemet-input-border);
|
|
16
33
|
appearance: none;
|
|
17
34
|
box-sizing: border-box;
|
|
18
35
|
background-color: transparent;
|
|
@@ -30,15 +47,15 @@ export const stylesBase = css `
|
|
|
30
47
|
}
|
|
31
48
|
|
|
32
49
|
:host([status='error']) input {
|
|
33
|
-
border: var(--kemet-input-border-color-error
|
|
50
|
+
border: var(--kemet-input-border-color-error);
|
|
34
51
|
}
|
|
35
52
|
|
|
36
53
|
:host([status='success']) input {
|
|
37
|
-
border: var(--kemet-input-border-color-success
|
|
54
|
+
border: var(--kemet-input-border-color-success);
|
|
38
55
|
}
|
|
39
56
|
|
|
40
57
|
:host([status='warning']) input {
|
|
41
|
-
border: var(--kemet-input-border-color-warning
|
|
58
|
+
border: var(--kemet-input-border-color-warning);
|
|
42
59
|
}
|
|
43
60
|
|
|
44
61
|
:host([disabled]) input {
|
|
@@ -46,42 +63,42 @@ export const stylesBase = css `
|
|
|
46
63
|
}
|
|
47
64
|
|
|
48
65
|
:host([icon-left]) input {
|
|
49
|
-
padding-left: var(--kemet-input-icon-left-padding
|
|
66
|
+
padding-left: var(--kemet-input-icon-left-padding);
|
|
50
67
|
}
|
|
51
68
|
|
|
52
69
|
:host([icon-right]) input {
|
|
53
|
-
padding-right: var(--kemet-input-icon-right-padding
|
|
70
|
+
padding-right: var(--kemet-input-icon-right-padding);
|
|
54
71
|
}
|
|
55
72
|
|
|
56
73
|
:host([rounded]) input {
|
|
57
|
-
border-radius: var(--kemet-input-border-radius-rounded
|
|
74
|
+
border-radius: var(--kemet-input-border-radius-rounded);
|
|
58
75
|
}
|
|
59
76
|
|
|
60
77
|
:host([filled]) input {
|
|
61
|
-
border: var(--kemet-input-border-filled
|
|
62
|
-
color: var(--kemet-input-color-filled
|
|
63
|
-
background-color: var(--kemet-input-background-color-filled
|
|
78
|
+
border: var(--kemet-input-border-filled);
|
|
79
|
+
color: var(--kemet-input-color-filled);
|
|
80
|
+
background-color: var(--kemet-input-background-color-filled);
|
|
64
81
|
}
|
|
65
82
|
|
|
66
83
|
:host([filled]) kemet-icon,
|
|
67
84
|
:host([filled]) input::placeholder {
|
|
68
|
-
color: var(--kemet-input-color-filled
|
|
85
|
+
color: var(--kemet-input-color-filled);
|
|
69
86
|
}
|
|
70
87
|
|
|
71
88
|
:host([status='error'][filled]) input {
|
|
72
|
-
background-color: var(--kemet-input-background-color-error
|
|
89
|
+
background-color: var(--kemet-input-background-color-error);
|
|
73
90
|
}
|
|
74
91
|
|
|
75
92
|
:host([status='success'][filled]) input {
|
|
76
|
-
background-color: var(--kemet-input-background-color-success
|
|
93
|
+
background-color: var(--kemet-input-background-color-success);
|
|
77
94
|
}
|
|
78
95
|
|
|
79
96
|
:host([status='warning'][filled]) input {
|
|
80
|
-
background-color: var(--kemet-input-background-color-warning
|
|
97
|
+
background-color: var(--kemet-input-background-color-warning);
|
|
81
98
|
}
|
|
82
99
|
|
|
83
100
|
kemet-icon {
|
|
84
|
-
color: var(--kemet-color-text);
|
|
101
|
+
color: rgb(var(--kemet-color-text));
|
|
85
102
|
position: absolute;
|
|
86
103
|
top: 50%;
|
|
87
104
|
transform: translateY(-50%);
|
|
@@ -101,15 +118,15 @@ export const stylesBase = css `
|
|
|
101
118
|
}
|
|
102
119
|
|
|
103
120
|
:host([status='error']) kemet-icon {
|
|
104
|
-
color: var(--kemet-color-error);
|
|
121
|
+
color: rgb(var(--kemet-color-error));
|
|
105
122
|
}
|
|
106
123
|
|
|
107
124
|
:host([status='warning']) kemet-icon {
|
|
108
|
-
color: var(--kemet-color-error);
|
|
125
|
+
color: rgb(var(--kemet-color-error));
|
|
109
126
|
}
|
|
110
127
|
|
|
111
128
|
:host([status='success']) kemet-icon {
|
|
112
|
-
color: var(--kemet-color-success);
|
|
129
|
+
color: rgb(var(--kemet-color-success));
|
|
113
130
|
}
|
|
114
131
|
`;
|
|
115
132
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiI5B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n :host {\n --kemet-input-height: 50px;\n --kemet-input-padding: 0.5rem 1rem;\n --kemet-input-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-input-border-color-error: 1px solid rgb(var(--kemet-color-error));\n --kemet-input-border-color-success: 1px solid rgb(var(--kemet-color-success));\n --kemet-input-border-color-warning: 1px solid rgb(var(--kemet-color-warning));\n --kemet-input-icon-left-padding: 3rem;\n --kemet-input-icon-right-padding: 3rem;\n --kemet-input-border-radius-rounded: var(--kemet-border-radius-md);\n --kemet-input-border-filled: none;\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-filled: rgb(var(--kemet-color-primary));\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-error: rgb(var(--kemet-color-error));\n --kemet-input-background-color-success: rgb(var(--kemet-color-success));\n --kemet-input-background-color-warning: rgb(var(--kemet-color-warning));\n\n position: relative;\n display: block;\n }\n\n input {\n color: rgb(var(--kemet-color-text));\n display: block;\n font-size: 1rem;\n width: 100%;\n height: var(--kemet-input-height);\n padding: var(--kemet-input-padding);\n border: var(--kemet-input-border);\n appearance: none;\n box-sizing: border-box;\n background-color: transparent;\n }\n\n input[type='color'] {\n min-width: 10rem;\n }\n\n input[type='search']::-webkit-search-decoration,\n input[type='search']::-webkit-search-cancel-button,\n input[type='search']::-webkit-search-results-button,\n input[type='search']::-webkit-search-results-decoration {\n display: none;\n }\n\n :host([status='error']) input {\n border: var(--kemet-input-border-color-error);\n }\n\n :host([status='success']) input {\n border: var(--kemet-input-border-color-success);\n }\n\n :host([status='warning']) input {\n border: var(--kemet-input-border-color-warning);\n }\n\n :host([disabled]) input {\n opacity: 0.5;\n }\n\n :host([icon-left]) input {\n padding-left: var(--kemet-input-icon-left-padding);\n }\n\n :host([icon-right]) input {\n padding-right: var(--kemet-input-icon-right-padding);\n }\n\n :host([rounded]) input {\n border-radius: var(--kemet-input-border-radius-rounded);\n }\n\n :host([filled]) input {\n border: var(--kemet-input-border-filled);\n color: var(--kemet-input-color-filled);\n background-color: var(--kemet-input-background-color-filled);\n }\n\n :host([filled]) kemet-icon,\n :host([filled]) input::placeholder {\n color: var(--kemet-input-color-filled);\n }\n\n :host([status='error'][filled]) input {\n background-color: var(--kemet-input-background-color-error);\n }\n\n :host([status='success'][filled]) input {\n background-color: var(--kemet-input-background-color-success);\n }\n\n :host([status='warning'][filled]) input {\n background-color: var(--kemet-input-background-color-warning);\n }\n\n kemet-icon {\n color: rgb(var(--kemet-color-text));\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n kemet-icon.left {\n left: 1rem;\n }\n\n kemet-icon.right {\n right: 1rem;\n }\n\n kemet-icon.eye,\n kemet-icon.search {\n cursor: pointer;\n }\n\n :host([status='error']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='warning']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='success']) kemet-icon {\n color: rgb(var(--kemet-color-success));\n }\n`;\n"]}
|
|
@@ -4,7 +4,9 @@ import '../kemet-modal-close';
|
|
|
4
4
|
import '../../kemet-tabs/kemet-tabs';
|
|
5
5
|
import '../../kemet-tabs/kemet-tab';
|
|
6
6
|
import '../../kemet-tabs/kemet-tab-panel';
|
|
7
|
+
import '../../kemet-button/kemet-button';
|
|
7
8
|
declare const meta: Meta;
|
|
8
9
|
export default meta;
|
|
9
10
|
declare type Story = StoryObj;
|
|
10
11
|
export declare const Standard: Story;
|
|
12
|
+
export declare const Rounded: Story;
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
2
3
|
import '../kemet-modal';
|
|
3
4
|
import '../kemet-modal-close';
|
|
4
5
|
import '../../kemet-tabs/kemet-tabs';
|
|
5
6
|
import '../../kemet-tabs/kemet-tab';
|
|
6
7
|
import '../../kemet-tabs/kemet-tab-panel';
|
|
8
|
+
import '../../kemet-button/kemet-button';
|
|
7
9
|
const meta = {
|
|
8
10
|
title: 'Components / Modal',
|
|
9
11
|
component: 'kemet-modal',
|
|
12
|
+
args: {
|
|
13
|
+
displayCloseBtn: true,
|
|
14
|
+
},
|
|
15
|
+
argTypes: {
|
|
16
|
+
effect: {
|
|
17
|
+
control: { type: 'select' },
|
|
18
|
+
options: ['fadein-scaleup', 'slide-right', 'slide-bottom', 'newspaper', 'fall', 'side-fall', 'flip-horizontal', 'flip-vertical', 'sign-3d', 'super-scaled', 'slit', 'rotate-bottom', 'rotate-left'],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
10
21
|
};
|
|
11
22
|
export default meta;
|
|
12
|
-
const Template = (
|
|
23
|
+
const Template = (args) => {
|
|
13
24
|
const openModal = () => {
|
|
14
25
|
const modal = document.querySelector('kemet-modal');
|
|
15
26
|
modal.opened = true;
|
|
@@ -17,85 +28,31 @@ const Template = ({ displayCloseBtn = true, minWidth = '0', maxWidth = 'none', o
|
|
|
17
28
|
const makeCloseBtn = (display) => {
|
|
18
29
|
if (display) {
|
|
19
30
|
return html `
|
|
20
|
-
<kemet-modal-close tabindex="0" role="button" aria-label="Close Button">
|
|
21
|
-
<kemet-icon icon="x-circle" size="24"></kemet-icon>
|
|
31
|
+
<kemet-modal-close tabindex="0" role="button" aria-label="Close Button" style="display:flex;">
|
|
32
|
+
<kemet-icon icon="x-circle" size="24" kemet-background-color="white" kemet-border-radius="circle"></kemet-icon>
|
|
22
33
|
</kemet-modal-close>
|
|
23
34
|
`;
|
|
24
35
|
}
|
|
25
36
|
return null;
|
|
26
37
|
};
|
|
27
|
-
|
|
28
|
-
<style>
|
|
29
|
-
kemet-modal {
|
|
30
|
-
--kemet-modal-min-width: ${minWidth};
|
|
31
|
-
--kemet-modal-max-width: ${maxWidth};
|
|
32
|
-
--kemet-modal-overlay-background-color: ${overlayColor};
|
|
33
|
-
--kemet-modal-transition-speed: ${transitionSpeed};
|
|
34
|
-
}
|
|
35
|
-
</style>
|
|
38
|
+
return html `
|
|
36
39
|
<kemet-button @click="${() => openModal()}">Open Modal</kemet-button>
|
|
37
|
-
<kemet-modal ?opened=${opened} effect="${effect}" ?close-on-click="${closeOnClick}">
|
|
38
|
-
<div kemet-
|
|
39
|
-
${makeCloseBtn(displayCloseBtn)}
|
|
40
|
-
<h2 kemet-margin="
|
|
41
|
-
<p>Your modal contents <a href="http://google.com">here</a>.</p>
|
|
40
|
+
<kemet-modal ?opened=${args.opened} ?rounded=${args.rounded} effect="${ifDefined(args.effect)}" ?close-on-click="${args.closeOnClick}">
|
|
41
|
+
<div kemet-padding="xl">
|
|
42
|
+
${makeCloseBtn(args.displayCloseBtn)}
|
|
43
|
+
<h2 kemet-margin="none">Modal Title</h2>
|
|
44
|
+
<p>Your modal contents <a href="http://google.com" kemet-color="primary"><strong>here</strong></a>.</p>
|
|
42
45
|
</div>
|
|
43
46
|
</kemet-modal>
|
|
44
47
|
`;
|
|
45
|
-
return temp;
|
|
46
48
|
};
|
|
47
49
|
export const Standard = {
|
|
48
50
|
render: (args) => Template(args),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
minWidth: {
|
|
54
|
-
control: { type: 'text' },
|
|
55
|
-
},
|
|
56
|
-
maxWidth: {
|
|
57
|
-
control: { type: 'text' },
|
|
58
|
-
},
|
|
59
|
-
overlayColor: {
|
|
60
|
-
control: { type: 'color' },
|
|
61
|
-
},
|
|
62
|
-
transitionSpeed: {
|
|
63
|
-
control: { type: 'text' },
|
|
64
|
-
},
|
|
65
|
-
opened: {
|
|
66
|
-
control: { type: 'boolean' },
|
|
67
|
-
},
|
|
68
|
-
effect: {
|
|
69
|
-
control: { type: 'select' },
|
|
70
|
-
options: [
|
|
71
|
-
'fadein-scaleup',
|
|
72
|
-
'slide-right',
|
|
73
|
-
'slide-bottom',
|
|
74
|
-
'newspaper',
|
|
75
|
-
'fall',
|
|
76
|
-
'side-fall',
|
|
77
|
-
'flip-horizontal',
|
|
78
|
-
'flip-vertical',
|
|
79
|
-
'sign-3d',
|
|
80
|
-
'super-scaled',
|
|
81
|
-
'slit',
|
|
82
|
-
'rotate-bottom',
|
|
83
|
-
'rotate-left',
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
closeOnClick: {
|
|
87
|
-
control: { type: 'boolean' },
|
|
88
|
-
},
|
|
89
|
-
},
|
|
51
|
+
};
|
|
52
|
+
export const Rounded = {
|
|
53
|
+
render: (args) => Template(args),
|
|
90
54
|
args: {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
maxWidth: 'none',
|
|
94
|
-
overlayColor: 'rgba(0,0,0,0.2)',
|
|
95
|
-
transitionSpeed: '0.3s',
|
|
96
|
-
opened: false,
|
|
97
|
-
effect: 'fall',
|
|
98
|
-
closeOnClick: false,
|
|
99
|
-
},
|
|
55
|
+
rounded: true
|
|
56
|
+
}
|
|
100
57
|
};
|
|
101
58
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-modal/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-modal/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAIxD,OAAO,gBAAgB,CAAC;AACxB,OAAO,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,iCAAiC,CAAC;AAEzC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE;QACJ,eAAe,EAAE,IAAI;KACtB;IACD,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC;SACpM;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACpD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,OAAO,EAAE;YACX,OAAO,IAAI,CAAA;;;;OAIV,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,IAAI,CAAA;4BACe,GAAG,EAAE,CAAC,SAAS,EAAE;2BAClB,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,OAAO,YAAY,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,YAAY;;UAE9H,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;GAKzC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAChC,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport type { Meta, StoryObj } from '@storybook/web-components';\nimport { TypeEffect } from '../types';\n\nimport '../kemet-modal';\nimport '../kemet-modal-close';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\nimport '../../kemet-button/kemet-button';\n\nconst meta: Meta = {\n title: 'Components / Modal',\n component: 'kemet-modal',\n args: {\n displayCloseBtn: true,\n },\n argTypes: {\n effect: {\n control: { type: 'select' },\n options: ['fadein-scaleup', 'slide-right', 'slide-bottom', 'newspaper', 'fall', 'side-fall', 'flip-horizontal', 'flip-vertical', 'sign-3d', 'super-scaled', 'slit', 'rotate-bottom', 'rotate-left'],\n },\n },\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => {\n const openModal = () => {\n const modal = document.querySelector('kemet-modal');\n modal.opened = true;\n };\n\n const makeCloseBtn = (display) => {\n if (display) {\n return html`\n <kemet-modal-close tabindex=\"0\" role=\"button\" aria-label=\"Close Button\" style=\"display:flex;\">\n <kemet-icon icon=\"x-circle\" size=\"24\" kemet-background-color=\"white\" kemet-border-radius=\"circle\"></kemet-icon>\n </kemet-modal-close>\n `;\n }\n\n return null;\n };\n\n return html`\n <kemet-button @click=\"${() => openModal()}\">Open Modal</kemet-button>\n <kemet-modal ?opened=${args.opened} ?rounded=${args.rounded} effect=\"${ifDefined(args.effect)}\" ?close-on-click=\"${args.closeOnClick}\">\n <div kemet-padding=\"xl\">\n ${makeCloseBtn(args.displayCloseBtn)}\n <h2 kemet-margin=\"none\">Modal Title</h2>\n <p>Your modal contents <a href=\"http://google.com\" kemet-color=\"primary\"><strong>here</strong></a>.</p>\n </div>\n </kemet-modal>\n `;\n};\n\nexport const Standard: Story = {\n render: (args) => Template(args),\n};\n\nexport const Rounded: Story = {\n render: (args) => Template(args),\n args: {\n rounded: true\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-modal-close.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal-close.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD;;;;;;;;;GASG;AAGH,IAAqB,eAAe,GAApC,MAAqB,eAAgB,SAAQ,UAAU;IAarD,MAAM;QACJ,OAAO,IAAI,CAAA;qBACM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;KAC/D,CAAC;IACJ,CAAC;IAED,KAAK;QACH,SAAS,CAAC,IAAI,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AArBQ,sBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;KAQF;CACF,CAAC;AAXiB,eAAe;IADnC,aAAa,CAAC,mBAAmB,CAAC;GACd,eAAe,CAsBnC;eAtBoB,eAAe","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-modal-close\n * @summary A close button for a modal.\n *\n * @event kemet-modal-close-pressed - Fires when the close button is pressed\n *\n */\n\n@customElement('kemet-modal-close')\nexport default class KemetModalClose extends LitElement {\n static styles = [\n css`\n :host {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n border-radius:
|
|
1
|
+
{"version":3,"file":"kemet-modal-close.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal-close.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD;;;;;;;;;GASG;AAGH,IAAqB,eAAe,GAApC,MAAqB,eAAgB,SAAQ,UAAU;IAarD,MAAM;QACJ,OAAO,IAAI,CAAA;qBACM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;KAC/D,CAAC;IACJ,CAAC;IAED,KAAK;QACH,SAAS,CAAC,IAAI,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AArBQ,sBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;KAQF;CACF,CAAC;AAXiB,eAAe;IADnC,aAAa,CAAC,mBAAmB,CAAC;GACd,eAAe,CAsBnC;eAtBoB,eAAe","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-modal-close\n * @summary A close button for a modal.\n *\n * @event kemet-modal-close-pressed - Fires when the close button is pressed\n *\n */\n\n@customElement('kemet-modal-close')\nexport default class KemetModalClose extends LitElement {\n static styles = [\n css`\n :host {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n border-radius: var(--kemet-border-radius-circle);\n cursor: pointer;\n }\n `,\n ];\n\n render() {\n return html`\n <slot @keyup=${() => this.close()} @click=${() => this.close()}></slot>\n `;\n }\n\n close() {\n emitEvent(this, 'kemet-modal-close-pressed', this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-modal-close': KemetModalClose\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import { TypeEffect } from './types';
|
|
|
5
5
|
* @status stable
|
|
6
6
|
*
|
|
7
7
|
* @tagname kemet-modal
|
|
8
|
-
* @summary A dialog that has many built
|
|
8
|
+
* @summary A dialog that has many built-in effects and flexible styles.
|
|
9
9
|
*
|
|
10
10
|
* @prop {boolean} opened
|
|
11
11
|
* @prop {string} effect
|
|
@@ -13,14 +13,17 @@ import { TypeEffect } from './types';
|
|
|
13
13
|
* @prop {string} breakpoint
|
|
14
14
|
* @prop {boolean} mobile
|
|
15
15
|
*
|
|
16
|
-
* @csspart
|
|
16
|
+
* @csspart dialog - The main contents of the modal.
|
|
17
17
|
* @csspart overlay - The surrounding scrim of the modal.
|
|
18
18
|
*
|
|
19
|
-
* @cssproperty --kemet-modal-
|
|
20
|
-
* @cssproperty --kemet-modal-
|
|
21
|
-
* @cssproperty --kemet-modal-
|
|
22
|
-
* @cssproperty --kemet-modal-
|
|
23
|
-
* @cssproperty --kemet-modal-
|
|
19
|
+
* @cssproperty --kemet-modal-radius - The mount of rounding for rounded corners
|
|
20
|
+
* @cssproperty --kemet-modal-dialog-min-width - The minimum width of the dialog.
|
|
21
|
+
* @cssproperty --kemet-modal-dialog-max-width - The maximum width of the dialog.
|
|
22
|
+
* @cssproperty --kemet-modal-dialog-background-color - The background color of the dialog.
|
|
23
|
+
* @cssproperty --kemet-modal-dialog-mobile-width - The width of the mobile dialog.
|
|
24
|
+
* @cssproperty --kemet-modal-dialog-mobile-margin - The margins of the mobile dialog.
|
|
25
|
+
* @cssproperty --kemet-modal-dialog-mobile-padding - The padding of the mobile dialog.
|
|
26
|
+
* @cssproperty --kemet-modal-overlay-background-color - The color of the backdrop overlay.
|
|
24
27
|
*
|
|
25
28
|
* @event kemet-modal-opened - Fires when the modal opens
|
|
26
29
|
* @event kemet-modal-closed - Fires when the modal closes
|
|
@@ -33,14 +36,21 @@ export default class KemetModal extends LitElement {
|
|
|
33
36
|
closeOnClick: boolean;
|
|
34
37
|
breakpoint: string;
|
|
35
38
|
mobile: boolean;
|
|
39
|
+
rounded: boolean;
|
|
40
|
+
/** @internal */
|
|
41
|
+
dialogElement: HTMLDialogElement;
|
|
42
|
+
/** @internal */
|
|
36
43
|
focusableSelector: string;
|
|
37
|
-
|
|
44
|
+
/** @internal */
|
|
45
|
+
focusableElements: NodeListOf<Element>;
|
|
38
46
|
constructor();
|
|
39
47
|
firstUpdated(): void;
|
|
40
|
-
updated(prevProps:
|
|
48
|
+
updated(prevProps: Map<string, never>): void;
|
|
41
49
|
render(): import("lit-html").TemplateResult<1>;
|
|
42
50
|
isMobile(): void;
|
|
43
|
-
|
|
51
|
+
handleOpen(): void;
|
|
52
|
+
handleClose(): void;
|
|
53
|
+
handleFocusableDown(event: KeyboardEvent): void;
|
|
44
54
|
}
|
|
45
55
|
declare global {
|
|
46
56
|
interface HTMLElementTagNameMap {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
|
3
|
+
import { customElement, property, query, state, } from 'lit/decorators.js';
|
|
4
4
|
import { stylesBase, stylesEffects } from './styles';
|
|
5
5
|
import { emitEvent } from '../../utilities/misc/events';
|
|
6
6
|
/**
|
|
@@ -8,7 +8,7 @@ import { emitEvent } from '../../utilities/misc/events';
|
|
|
8
8
|
* @status stable
|
|
9
9
|
*
|
|
10
10
|
* @tagname kemet-modal
|
|
11
|
-
* @summary A dialog that has many built
|
|
11
|
+
* @summary A dialog that has many built-in effects and flexible styles.
|
|
12
12
|
*
|
|
13
13
|
* @prop {boolean} opened
|
|
14
14
|
* @prop {string} effect
|
|
@@ -16,14 +16,17 @@ import { emitEvent } from '../../utilities/misc/events';
|
|
|
16
16
|
* @prop {string} breakpoint
|
|
17
17
|
* @prop {boolean} mobile
|
|
18
18
|
*
|
|
19
|
-
* @csspart
|
|
19
|
+
* @csspart dialog - The main contents of the modal.
|
|
20
20
|
* @csspart overlay - The surrounding scrim of the modal.
|
|
21
21
|
*
|
|
22
|
-
* @cssproperty --kemet-modal-
|
|
23
|
-
* @cssproperty --kemet-modal-
|
|
24
|
-
* @cssproperty --kemet-modal-
|
|
25
|
-
* @cssproperty --kemet-modal-
|
|
26
|
-
* @cssproperty --kemet-modal-
|
|
22
|
+
* @cssproperty --kemet-modal-radius - The mount of rounding for rounded corners
|
|
23
|
+
* @cssproperty --kemet-modal-dialog-min-width - The minimum width of the dialog.
|
|
24
|
+
* @cssproperty --kemet-modal-dialog-max-width - The maximum width of the dialog.
|
|
25
|
+
* @cssproperty --kemet-modal-dialog-background-color - The background color of the dialog.
|
|
26
|
+
* @cssproperty --kemet-modal-dialog-mobile-width - The width of the mobile dialog.
|
|
27
|
+
* @cssproperty --kemet-modal-dialog-mobile-margin - The margins of the mobile dialog.
|
|
28
|
+
* @cssproperty --kemet-modal-dialog-mobile-padding - The padding of the mobile dialog.
|
|
29
|
+
* @cssproperty --kemet-modal-overlay-background-color - The color of the backdrop overlay.
|
|
27
30
|
*
|
|
28
31
|
* @event kemet-modal-opened - Fires when the modal opens
|
|
29
32
|
* @event kemet-modal-closed - Fires when the modal closes
|
|
@@ -36,7 +39,7 @@ let KemetModal = class KemetModal extends LitElement {
|
|
|
36
39
|
this.closeOnClick = false;
|
|
37
40
|
this.breakpoint = '600px';
|
|
38
41
|
// bindings
|
|
39
|
-
this.addEventListener('kemet-modal-close-pressed', () => { this.
|
|
42
|
+
this.addEventListener('kemet-modal-close-pressed', () => { this.handleClose(); });
|
|
40
43
|
}
|
|
41
44
|
firstUpdated() {
|
|
42
45
|
// standard properties
|
|
@@ -46,40 +49,36 @@ let KemetModal = class KemetModal extends LitElement {
|
|
|
46
49
|
// events
|
|
47
50
|
this.addEventListener('keyup', (event) => {
|
|
48
51
|
if (event.key === 'Escape') {
|
|
49
|
-
this.
|
|
52
|
+
this.handleClose();
|
|
50
53
|
}
|
|
51
54
|
});
|
|
52
55
|
this.addEventListener('click', (event) => {
|
|
53
56
|
const targetElement = event.target;
|
|
54
57
|
if (this.opened && this.closeOnClick && targetElement.tagName.toLowerCase() === 'kemet-modal') {
|
|
55
|
-
this.
|
|
58
|
+
this.handleClose();
|
|
56
59
|
}
|
|
57
60
|
});
|
|
58
61
|
window.addEventListener('resize', () => {
|
|
59
62
|
this.isMobile();
|
|
60
63
|
});
|
|
61
64
|
this.focusableElements.forEach((element) => {
|
|
62
|
-
element.addEventListener('keydown', event => this.handleFocusableDown(event));
|
|
65
|
+
element.addEventListener('keydown', (event) => this.handleFocusableDown(event));
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
updated(prevProps) {
|
|
66
69
|
if (!prevProps.get('opened') && this.opened === true) {
|
|
67
|
-
|
|
68
|
-
var _a;
|
|
69
|
-
(_a = this.focusableElements[0]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
70
|
-
}, 100);
|
|
71
|
-
emitEvent(this, 'kemet-modal-opened', this);
|
|
70
|
+
this.handleOpen();
|
|
72
71
|
}
|
|
73
72
|
if (prevProps.get('opened') && this.opened === false) {
|
|
74
|
-
|
|
73
|
+
this.handleClose();
|
|
75
74
|
}
|
|
76
75
|
this.isMobile();
|
|
77
76
|
}
|
|
78
77
|
render() {
|
|
79
78
|
return html `
|
|
80
|
-
<
|
|
79
|
+
<dialog part="dialog" @close=${() => this.handleClose()}>
|
|
81
80
|
<slot></slot>
|
|
82
|
-
</
|
|
81
|
+
</dialog>
|
|
83
82
|
<div class="overlay" part="overlay"></div>
|
|
84
83
|
`;
|
|
85
84
|
}
|
|
@@ -87,6 +86,20 @@ let KemetModal = class KemetModal extends LitElement {
|
|
|
87
86
|
const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);
|
|
88
87
|
this.mobile = mediaQuery.matches;
|
|
89
88
|
}
|
|
89
|
+
handleOpen() {
|
|
90
|
+
var _a;
|
|
91
|
+
this.opened = true;
|
|
92
|
+
if ((_a = this.dialogElement) === null || _a === void 0 ? void 0 : _a.showModal)
|
|
93
|
+
this.dialogElement.showModal();
|
|
94
|
+
emitEvent(this, 'kemet-modal-opened', this);
|
|
95
|
+
}
|
|
96
|
+
handleClose() {
|
|
97
|
+
var _a;
|
|
98
|
+
this.opened = false;
|
|
99
|
+
if ((_a = this.dialogElement) === null || _a === void 0 ? void 0 : _a.close)
|
|
100
|
+
this.dialogElement.close();
|
|
101
|
+
emitEvent(this, 'kemet-modal-closed', this);
|
|
102
|
+
}
|
|
90
103
|
handleFocusableDown(event) {
|
|
91
104
|
const firstFocusable = this.focusableElements[0];
|
|
92
105
|
const lastFocusable = this.focusableElements[this.focusableElements.length - 1];
|
|
@@ -118,6 +131,12 @@ __decorate([
|
|
|
118
131
|
__decorate([
|
|
119
132
|
property({ type: Boolean, reflect: true })
|
|
120
133
|
], KemetModal.prototype, "mobile", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
property({ type: Boolean, reflect: true })
|
|
136
|
+
], KemetModal.prototype, "rounded", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
query('dialog')
|
|
139
|
+
], KemetModal.prototype, "dialogElement", void 0);
|
|
121
140
|
__decorate([
|
|
122
141
|
state()
|
|
123
142
|
], KemetModal.prototype, "focusableSelector", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-modal.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"kemet-modal.js","sourceRoot":"","sources":["../../../src/components/kemet-modal/kemet-modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport {\n customElement, property, query, state,\n} from 'lit/decorators.js';\nimport { stylesBase, stylesEffects } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-modal\n * @summary A dialog that has many built-in effects and flexible styles.\n *\n * @prop {boolean} opened\n * @prop {string} effect\n * @prop {boolean} closeOnClick\n * @prop {string} breakpoint\n * @prop {boolean} mobile\n *\n * @csspart dialog - The main contents of the modal.\n * @csspart overlay - The surrounding scrim of the modal.\n *\n * @cssproperty --kemet-modal-radius - The mount of rounding for rounded corners\n * @cssproperty --kemet-modal-dialog-min-width - The minimum width of the dialog.\n * @cssproperty --kemet-modal-dialog-max-width - The maximum width of the dialog.\n * @cssproperty --kemet-modal-dialog-background-color - The background color of the dialog.\n * @cssproperty --kemet-modal-dialog-mobile-width - The width of the mobile dialog.\n * @cssproperty --kemet-modal-dialog-mobile-margin - The margins of the mobile dialog.\n * @cssproperty --kemet-modal-dialog-mobile-padding - The padding of the mobile dialog.\n * @cssproperty --kemet-modal-overlay-background-color - The color of the backdrop overlay.\n *\n * @event kemet-modal-opened - Fires when the modal opens\n * @event kemet-modal-closed - Fires when the modal closes\n *\n */\n\n@customElement('kemet-modal')\nexport default class KemetModal extends LitElement {\n static styles = [stylesBase, stylesEffects];\n\n @property({ type: Boolean, reflect: true })\n opened: boolean = false;\n\n @property({ type: String, reflect: true })\n effect: TypeEffect;\n\n @property({ type: Boolean, attribute: 'close-on-click' })\n closeOnClick: boolean = false;\n\n @property({ type: String })\n breakpoint: string = '600px';\n\n @property({ type: Boolean, reflect: true })\n mobile: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n /** @internal */\n @query('dialog')\n dialogElement: HTMLDialogElement;\n\n /** @internal */\n @state()\n focusableSelector: string;\n\n /** @internal */\n @state()\n focusableElements: NodeListOf<Element>;\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-modal-close-pressed', () => { this.handleClose(); });\n }\n\n firstUpdated() {\n // standard properties\n /** @internal */\n this.focusableSelector = 'body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]';\n this.focusableElements = this.querySelectorAll(this.focusableSelector);\n\n // events\n this.addEventListener('keyup', (event) => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n });\n\n this.addEventListener('click', (event) => {\n const targetElement = event.target as HTMLElement;\n if (this.opened && this.closeOnClick && targetElement.tagName.toLowerCase() === 'kemet-modal') {\n this.handleClose();\n }\n });\n\n window.addEventListener('resize', () => {\n this.isMobile();\n });\n\n this.focusableElements.forEach((element) => {\n element.addEventListener('keydown', (event: KeyboardEvent) => this.handleFocusableDown(event));\n });\n }\n\n updated(prevProps: Map<string, never>) {\n if (!prevProps.get('opened') && this.opened === true) {\n this.handleOpen();\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n this.handleClose();\n }\n\n this.isMobile();\n }\n\n render() {\n return html`\n <dialog part=\"dialog\" @close=${() => this.handleClose()}>\n <slot></slot>\n </dialog>\n <div class=\"overlay\" part=\"overlay\"></div>\n `;\n }\n\n isMobile() {\n const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);\n this.mobile = mediaQuery.matches;\n }\n\n handleOpen() {\n this.opened = true;\n if (this.dialogElement?.showModal) this.dialogElement.showModal();\n emitEvent(this, 'kemet-modal-opened', this);\n }\n\n handleClose() {\n this.opened = false;\n if (this.dialogElement?.close) this.dialogElement.close();\n emitEvent(this, 'kemet-modal-closed', this);\n }\n\n handleFocusableDown(event: KeyboardEvent) {\n const firstFocusable = this.focusableElements[0] as HTMLElement;\n const lastFocusable = this.focusableElements[this.focusableElements.length - 1] as HTMLElement;\n\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstFocusable) {\n event.preventDefault();\n lastFocusable.focus();\n } else if (!event.shiftKey && document.activeElement === lastFocusable) {\n event.preventDefault();\n firstFocusable.focus();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-modal': KemetModal\n }\n}\n"]}
|