kemet-ui 2.0.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +540 -553
- package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +1 -2
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +3 -2
- package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
- package/dist/components/kemet-accordion/kemet-accordion.d.ts +3 -2
- package/dist/components/kemet-accordion/kemet-accordion.js +12 -4
- 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 +4 -5
- 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 +21 -21
- package/dist/components/kemet-button/kemet-button.js +22 -22
- 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 +15 -15
- package/dist/components/kemet-card/kemet-card.js +15 -15
- 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-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 +15 -15
- package/dist/components/kemet-carousel/kemet-carousel.js +15 -15
- 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 +6 -6
- package/dist/components/kemet-checkbox/kemet-checkbox.js +6 -6
- 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 +9 -9
- package/dist/components/kemet-combo/kemet-combo.js +9 -9
- 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-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-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 +5 -5
- package/dist/components/kemet-drawer/kemet-drawer.js +5 -5
- package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
- package/dist/components/kemet-drawer/styles.js +31 -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 +6 -6
- package/dist/components/kemet-fab/kemet-fab.js +6 -6
- 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 +5 -5
- 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.d.ts +7 -7
- package/dist/components/kemet-flipcard/kemet-flipcard.js +7 -7
- 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 +15 -15
- package/dist/components/kemet-input/kemet-input.js +15 -15
- 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 +16 -6
- package/dist/components/kemet-modal/kemet-modal.js +37 -18
- 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/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.d.ts +1 -3
- package/dist/components/kemet-popper/kemet-popper.js +3 -8
- 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 +1 -1
- package/dist/components/kemet-radio/kemet-radios.js +1 -1
- 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 +2 -2
- package/dist/components/kemet-rotator/kemet-rotator.js +1 -1
- 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-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 +5 -5
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +5 -5
- 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 +3 -3
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +3 -3
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +4 -4
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +4 -4
- 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-select.d.ts +13 -13
- package/dist/components/kemet-select/kemet-select.js +13 -13
- 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/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-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 +1 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js +1 -1
- package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tab.d.ts +2 -2
- package/dist/components/kemet-tabs/kemet-tab.js +2 -2
- package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
- package/dist/components/kemet-tabs/kemet-tabs.d.ts +8 -8
- package/dist/components/kemet-tabs/kemet-tabs.js +16 -8
- 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 +9 -9
- package/dist/components/kemet-toggle/kemet-toggle.js +9 -9
- 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/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 +16 -16
- package/dist/components/kemet-tracker/kemet-tracker-step.js +16 -16
- package/dist/components/kemet-tracker/kemet-tracker-step.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 +3 -3
- package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
- package/dist/components/kemet-upload/kemet-upload.d.ts +4 -4
- package/dist/components/kemet-upload/kemet-upload.js +4 -4
- 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 +16 -17
- package/dist/kemet-components.bundle.js.map +1 -1
- package/dist/kemet-components.cjs +6866 -6753
- package/dist/kemet-components.js +6866 -6753
- 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 +5729 -1737
- 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 +13 -12
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-popper/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,iBAAiB,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAE/B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-popper/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,iBAAiB,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAE/B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,iCAAiC,CAAC;AAEzC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE;QACJ,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,gVAAgV;QACzV,cAAc,EAAE,QAAQ;KACzB;IACD,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC;SAC5E;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;SAC1L;QACD,YAAY;QACZ,iCAAiC;QACjC,qHAAqH;QACrH,KAAK;QACL,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SAC5B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;SAC/B;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI,MAAM;QAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAA;qCACwB,IAAI,CAAC,cAAc;8BAC1B,IAAI,CAAC,MAAM,cAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;mDAC/M,IAAI,CAAC,WAAW;qDACd,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAG1E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrC,IAAI,EAAE;QACJ,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;KAChB;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-popper';\nimport '../kemet-popper-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 / Popper',\n component: 'kemet-popper',\n args: {\n triggerText: 'Hover Over Me',\n content: '<kemet-popper-close style=\"position:absolute; right:1rem;\"><kemet-icon icon=\"x-lg\"></kemet-icon></kemet-popper-close><h2 kemet-margin-top=\"none\">Heading</h2><img width=\"240\" src=\"https://via.placeholder.com/1920x1080\" alt=\"A placeholder\" /><p><a href=\"https://google.com\">This</a> is some <a href=\"https://google.com\">content</a>.</p>',\n canvasPosition: 'middle',\n },\n argTypes: {\n canvasPosition: {\n control: { type: 'select' },\n options: ['middle', 'top-right', 'bottom-right', 'bottom-left', 'top-left'],\n },\n placement: {\n control: { type: 'select' },\n options: ['auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'],\n },\n // effect: {\n // control: { type: 'select' },\n // options: ['none', 'fade', 'scale', 'slide', 'fall', 'flip-horizontal', 'flip-vertical', 'sign', 'super-scaled'],\n // },\n fireOn: {\n control: { type: 'radio' },\n options: ['hover', 'click'],\n },\n strategy: {\n control: { type: 'radio' },\n options: ['fixed', 'absolute'],\n },\n },\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => {\n const popper = document.querySelector('kemet-popper');\n if (popper) popper.refresh();\n\n return html`\n <div class=\"storybook__canvas--${args.canvasPosition}\">\n <kemet-popper ?opened=${args.opened} placement=${ifDefined(args.placement)} effect=${ifDefined(args.effect)} fire-on=${ifDefined(args.fireOn)} strategy=${ifDefined(args.strategy)} skidding=${ifDefined(args.skidding)} distance=${ifDefined(args.distance)}>\n <kemet-button type=\"text\" slot=\"trigger\">${args.triggerText}</kemet-button>\n <div slot=\"content\" kemet-color=\"gray-950\">${unsafeHTML(args.content)}</div>\n </kemet-popper>\n </div>\n `;\n};\n\nexport const Standard: Story = {\n render: (args: any) => Template(args),\n};\n\nexport const OnClick: Story = {\n render: (args: any) => Template(args),\n args: {\n triggerText: 'Click Me',\n fireOn: 'click',\n }\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
import {
|
|
2
|
+
import { TypeFireOn, TypePlacement } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* @since 2.0.0
|
|
5
5
|
* @status stable
|
|
@@ -22,7 +22,6 @@ import { TypeEffect, TypeFireOn, TypePlacement } from './types';
|
|
|
22
22
|
*
|
|
23
23
|
* @prop {TypePlacement} placement - The position of the popper over the trigger.
|
|
24
24
|
* @prop {boolean} opened - Determines if the the Popper is opened or closed
|
|
25
|
-
* @prop {TypeEffect} effect - The open/close animation effect for the Popper
|
|
26
25
|
* @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover
|
|
27
26
|
* @prop {string} strategy - Sets the strategy option in Popper's api
|
|
28
27
|
* @prop {number} skidding - Sets an offset to the Popper from the trigger
|
|
@@ -33,7 +32,6 @@ export default class KemetPopper extends LitElement {
|
|
|
33
32
|
static styles: import("lit").CSSResult[];
|
|
34
33
|
placement: TypePlacement;
|
|
35
34
|
opened: boolean;
|
|
36
|
-
effect: TypeEffect;
|
|
37
35
|
fireOn: TypeFireOn;
|
|
38
36
|
strategy: 'fixed' | 'absolute';
|
|
39
37
|
skidding: number;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { html, LitElement } from 'lit';
|
|
3
3
|
import { customElement, property, query, queryAll, state } from 'lit/decorators.js';
|
|
4
|
-
import { createPopper } from '@popperjs/core';
|
|
4
|
+
import { createPopper } from '@popperjs/core/dist/esm';
|
|
5
5
|
import { emitEvent } from '../../utilities/misc/events';
|
|
6
6
|
import { keyCodes } from '../../utilities/misc/constants';
|
|
7
7
|
import { stylesPopper } from './styles';
|
|
8
|
-
import { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled } from './styles.effects';
|
|
8
|
+
// import { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled } from './styles.effects';
|
|
9
9
|
/**
|
|
10
10
|
* @since 2.0.0
|
|
11
11
|
* @status stable
|
|
@@ -28,7 +28,6 @@ import { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFal
|
|
|
28
28
|
*
|
|
29
29
|
* @prop {TypePlacement} placement - The position of the popper over the trigger.
|
|
30
30
|
* @prop {boolean} opened - Determines if the the Popper is opened or closed
|
|
31
|
-
* @prop {TypeEffect} effect - The open/close animation effect for the Popper
|
|
32
31
|
* @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover
|
|
33
32
|
* @prop {string} strategy - Sets the strategy option in Popper's api
|
|
34
33
|
* @prop {number} skidding - Sets an offset to the Popper from the trigger
|
|
@@ -39,7 +38,6 @@ let KemetPopper = class KemetPopper extends LitElement {
|
|
|
39
38
|
constructor() {
|
|
40
39
|
super();
|
|
41
40
|
this.placement = 'top';
|
|
42
|
-
this.effect = 'fade';
|
|
43
41
|
this.fireOn = 'hover';
|
|
44
42
|
this.strategy = 'fixed';
|
|
45
43
|
this.skidding = 0;
|
|
@@ -141,16 +139,13 @@ let KemetPopper = class KemetPopper extends LitElement {
|
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
141
|
};
|
|
144
|
-
KemetPopper.styles = [stylesPopper
|
|
142
|
+
KemetPopper.styles = [stylesPopper];
|
|
145
143
|
__decorate([
|
|
146
144
|
property({ type: String, reflect: true })
|
|
147
145
|
], KemetPopper.prototype, "placement", void 0);
|
|
148
146
|
__decorate([
|
|
149
147
|
property({ type: Boolean, reflect: true })
|
|
150
148
|
], KemetPopper.prototype, "opened", void 0);
|
|
151
|
-
__decorate([
|
|
152
|
-
property({ type: String, reflect: true })
|
|
153
|
-
], KemetPopper.prototype, "effect", void 0);
|
|
154
149
|
__decorate([
|
|
155
150
|
property({ type: String, attribute: 'fire-on' })
|
|
156
151
|
], KemetPopper.prototype, "fireOn", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-popper.js","sourceRoot":"","sources":["../../../src/components/kemet-popper/kemet-popper.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, query, queryAll, state } from 'lit/decorators.js';\nimport { createPopper } from '@popperjs/core';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { keyCodes } from '../../utilities/misc/constants';\nimport { TypeEffect, TypeFireOn, TypePlacement } from './types';\nimport { stylesPopper } from './styles';\nimport { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled } from './styles.effects';\n\n/**\n * @since 2.0.0\n * @status stable\n *\n * @tagname kemet-popper\n * @summary A wrapper component for the popper.js lib.\n *\n * @event kemet-popper-opened - Fires when the popper opens\n * @event kemet-popper-closed - Fires when the popper closes\n *\n * @slot trigger - Controls opening and closing the popover.\n * @slot content - The contents of the popover.\n *\n * @csspart trigger - Contains the trigger for the popover.\n * @csspart content - Contains the content for the popover.\n *\n * @cssproperty --kemet-popper-padding - The padding in the content slot.\n * @cssproperty --kemet-popper-border-color - The border color of the content.\n * @cssproperty --kemet-popper-background-color - The background color of the content.\n *\n * @prop {TypePlacement} placement - The position of the popper over the trigger.\n * @prop {boolean} opened - Determines if the the Popper is opened or closed\n * @prop {TypeEffect} effect - The open/close animation effect for the Popper\n * @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover\n * @prop {string} strategy - Sets the strategy option in Popper's api\n * @prop {number} skidding - Sets an offset to the Popper from the trigger\n * @prop {number} distance - Sets spacing between the Popper and the trigger\n *\n */\n\n@customElement('kemet-popper')\nexport default class KemetPopper extends LitElement {\n static styles = [stylesPopper, stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled];\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = 'top';\n\n @property({ type: Boolean, reflect: true })\n opened: boolean;\n\n @property({ type: String, reflect: true })\n effect: TypeEffect = 'fade';\n\n @property({ type: String, attribute: 'fire-on' })\n fireOn: TypeFireOn = 'hover';\n\n @property({ type: String })\n strategy: 'fixed' | 'absolute' = 'fixed';\n\n @property({ type: Number })\n skidding: number = 0;\n\n @property({ type: Number })\n distance: number = 0;\n\n /** @internal */\n @state()\n popperInstance: any;\n\n /** @internal */\n @query('#trigger')\n triggerElement: HTMLElement;\n\n /** @internal */\n @query('#content')\n contentElement: HTMLElement;\n\n /** @internal */\n @queryAll('body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable], kemet-popper-close')\n focusableElements: any;\n\n constructor() {\n super();\n this.addEventListener('kemet-popper-close-btn', () => this.opened = false);\n }\n\n firstUpdated() {\n if (this.fireOn === 'click') {\n this.focusableElements.forEach((element) => {\n element.addEventListener('keydown', event => this.handleFocusableDown(event));\n });\n }\n }\n\n updated(prevProps) {\n this.refresh();\n\n if (!prevProps.get('opened') && this.opened === true) {\n emitEvent(this, 'kemet-popper-opened', this);\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n emitEvent(this, 'kemet-popper-closed', this);\n }\n }\n\n render() {\n return html`\n <div\n id=\"trigger\"\n part=\"trigger\"\n tabIndex=\"0\"\n @click=${this.fireOn === 'click' ? event => this.toggle(event) : null}\n @keyup=${this.fireOn === 'click' ? event => this.handleKeyUp(event) : null}\n @mouseover=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @focus=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @mouseout=${this.fireOn !== 'click' ? () => this.opened = false : null}\n @blur=${this.fireOn !== 'click' ? () => this.opened = false : null}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div\n id=\"content\"\n @mouseover=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @mouseout=${this.fireOn !== 'click' ? () => this.opened = false : null}\n >\n <slot name=\"content\" @slotchange=${() => this.makePopper()}></slot>\n </div>\n `;\n }\n\n refresh() {\n this.popperInstance?.setOptions({\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] }}\n ],\n });\n }\n\n makePopper() {\n this.popperInstance = createPopper(this.triggerElement, this.contentElement, {\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] }}\n ],\n });\n }\n\n toggle(event) {\n const isSlotTrigger = event.target.getAttribute('slot') === 'trigger';\n const isPartTrigger = event.target.getAttribute('part') === 'trigger';\n\n if (isSlotTrigger || isPartTrigger) {\n if (this.opened) {\n this.opened = false;\n } else {\n this.opened = true;\n }\n }\n }\n\n handleKeyUp(event) {\n event.preventDefault();\n\n if (event.keyCode === keyCodes.ESC) {\n this.opened = false;\n }\n\n if (event.keyCode === keyCodes.ENTER || event.keyCode === keyCodes.SPACE) {\n this.toggle(event);\n }\n }\n\n handleFocusableDown(event) {\n const firstFocusable = this.focusableElements[0];\n const lastFocusable = this.focusableElements[this.focusableElements.length - 1];\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-popper': KemetPopper\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kemet-popper.js","sourceRoot":"","sources":["../../../src/components/kemet-popper/kemet-popper.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, query, queryAll, state } from 'lit/decorators.js';\nimport { createPopper } from '@popperjs/core/dist/esm';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { keyCodes } from '../../utilities/misc/constants';\nimport { TypeEffect, TypeFireOn, TypePlacement } from './types';\nimport { stylesPopper } from './styles';\n// import { stylesPopperFade, stylesPopperScale, stylesPopperSlide, stylesPopperFall, stylesPopperFlipHorizontal, stylesPopperFlipVertical, stylesPopperSign, stylesPopperSuperScaled } from './styles.effects';\n\n/**\n * @since 2.0.0\n * @status stable\n *\n * @tagname kemet-popper\n * @summary A wrapper component for the popper.js lib.\n *\n * @event kemet-popper-opened - Fires when the popper opens\n * @event kemet-popper-closed - Fires when the popper closes\n *\n * @slot trigger - Controls opening and closing the popover.\n * @slot content - The contents of the popover.\n *\n * @csspart trigger - Contains the trigger for the popover.\n * @csspart content - Contains the content for the popover.\n *\n * @cssproperty --kemet-popper-padding - The padding in the content slot.\n * @cssproperty --kemet-popper-border-color - The border color of the content.\n * @cssproperty --kemet-popper-background-color - The background color of the content.\n *\n * @prop {TypePlacement} placement - The position of the popper over the trigger.\n * @prop {boolean} opened - Determines if the the Popper is opened or closed\n * @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover\n * @prop {string} strategy - Sets the strategy option in Popper's api\n * @prop {number} skidding - Sets an offset to the Popper from the trigger\n * @prop {number} distance - Sets spacing between the Popper and the trigger\n *\n */\n\n@customElement('kemet-popper')\nexport default class KemetPopper extends LitElement {\n static styles = [stylesPopper];\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = 'top';\n\n @property({ type: Boolean, reflect: true })\n opened: boolean;\n\n @property({ type: String, attribute: 'fire-on' })\n fireOn: TypeFireOn = 'hover';\n\n @property({ type: String })\n strategy: 'fixed' | 'absolute' = 'fixed';\n\n @property({ type: Number })\n skidding: number = 0;\n\n @property({ type: Number })\n distance: number = 0;\n\n /** @internal */\n @state()\n popperInstance: any;\n\n /** @internal */\n @query('#trigger')\n triggerElement: HTMLElement;\n\n /** @internal */\n @query('#content')\n contentElement: HTMLElement;\n\n /** @internal */\n @queryAll('body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable], kemet-popper-close')\n focusableElements: any;\n\n constructor() {\n super();\n this.addEventListener('kemet-popper-close-btn', () => this.opened = false);\n }\n\n firstUpdated() {\n if (this.fireOn === 'click') {\n this.focusableElements.forEach((element) => {\n element.addEventListener('keydown', event => this.handleFocusableDown(event));\n });\n }\n }\n\n updated(prevProps) {\n this.refresh();\n\n if (!prevProps.get('opened') && this.opened === true) {\n emitEvent(this, 'kemet-popper-opened', this);\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n emitEvent(this, 'kemet-popper-closed', this);\n }\n }\n\n render() {\n return html`\n <div\n id=\"trigger\"\n part=\"trigger\"\n tabIndex=\"0\"\n @click=${this.fireOn === 'click' ? event => this.toggle(event) : null}\n @keyup=${this.fireOn === 'click' ? event => this.handleKeyUp(event) : null}\n @mouseover=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @focus=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @mouseout=${this.fireOn !== 'click' ? () => this.opened = false : null}\n @blur=${this.fireOn !== 'click' ? () => this.opened = false : null}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div\n id=\"content\"\n @mouseover=${this.fireOn !== 'click' ? () => this.opened = true : null}\n @mouseout=${this.fireOn !== 'click' ? () => this.opened = false : null}\n >\n <slot name=\"content\" @slotchange=${() => this.makePopper()}></slot>\n </div>\n `;\n }\n\n refresh() {\n this.popperInstance?.setOptions({\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] }}\n ],\n });\n }\n\n makePopper() {\n this.popperInstance = createPopper(this.triggerElement, this.contentElement, {\n placement: this.placement,\n strategy: this.strategy,\n modifiers: [\n { name: 'offset', options: { offset: [this.skidding, this.distance] }}\n ],\n });\n }\n\n toggle(event) {\n const isSlotTrigger = event.target.getAttribute('slot') === 'trigger';\n const isPartTrigger = event.target.getAttribute('part') === 'trigger';\n\n if (isSlotTrigger || isPartTrigger) {\n if (this.opened) {\n this.opened = false;\n } else {\n this.opened = true;\n }\n }\n }\n\n handleKeyUp(event) {\n event.preventDefault();\n\n if (event.keyCode === keyCodes.ESC) {\n this.opened = false;\n }\n\n if (event.keyCode === keyCodes.ENTER || event.keyCode === keyCodes.SPACE) {\n this.toggle(event);\n }\n }\n\n handleFocusableDown(event) {\n const firstFocusable = this.focusableElements[0];\n const lastFocusable = this.focusableElements[this.focusableElements.length - 1];\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-popper': KemetPopper\n }\n}\n"]}
|
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
export const stylesPopper = css `
|
|
3
3
|
:host {
|
|
4
|
+
--kemet-popper-width: auto;
|
|
5
|
+
--kemet-popper-height: auto;
|
|
6
|
+
--kemet-popper-padding: 1rem;
|
|
7
|
+
--kemet-popper-border-color: rgb(var(--kemet-color-foreground));
|
|
8
|
+
--kemet-popper-background-color: rgb(var(--kemet-color-background));
|
|
9
|
+
|
|
4
10
|
display: inline-block;
|
|
5
11
|
}
|
|
6
12
|
|
|
7
13
|
#content {
|
|
8
14
|
visibility: hidden;
|
|
9
15
|
pointer-events: none;
|
|
10
|
-
width: var(--kemet-popper-width
|
|
11
|
-
height: var(--kemet-popper-height
|
|
16
|
+
width: var(--kemet-popper-width);
|
|
17
|
+
height: var(--kemet-popper-height);
|
|
12
18
|
position: absolute;
|
|
13
19
|
z-index: -1;
|
|
20
|
+
opacity: 0;
|
|
21
|
+
transition: all var(--kemet-popover-transition-speed, 0.3s);
|
|
14
22
|
}
|
|
15
23
|
|
|
16
24
|
:host([opened]) #content {
|
|
17
25
|
visibility: visible;
|
|
18
26
|
z-index: 9;
|
|
27
|
+
opacity: 1;
|
|
19
28
|
pointer-events: auto;
|
|
20
29
|
}
|
|
21
30
|
|
|
22
31
|
::slotted([slot="content"]) {
|
|
23
|
-
padding: var(--kemet-popper-padding
|
|
24
|
-
border: 1px solid var(--kemet-popper-border-color
|
|
25
|
-
background-color: var(--kemet-popper-background-color
|
|
32
|
+
padding: var(--kemet-popper-padding);
|
|
33
|
+
border: 1px solid var(--kemet-popper-border-color);
|
|
34
|
+
background-color: var(--kemet-popper-background-color);
|
|
26
35
|
}
|
|
27
36
|
`;
|
|
28
37
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-popper/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-popper/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC9B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesPopper = css`\n :host {\n --kemet-popper-width: auto;\n --kemet-popper-height: auto;\n --kemet-popper-padding: 1rem;\n --kemet-popper-border-color: rgb(var(--kemet-color-foreground));\n --kemet-popper-background-color: rgb(var(--kemet-color-background));\n\n display: inline-block;\n }\n\n #content {\n visibility: hidden;\n pointer-events: none;\n width: var(--kemet-popper-width);\n height: var(--kemet-popper-height);\n position: absolute;\n z-index: -1;\n opacity: 0;\n transition: all var(--kemet-popover-transition-speed, 0.3s);\n }\n\n :host([opened]) #content {\n visibility: visible;\n z-index: 9;\n opacity: 1;\n pointer-events: auto;\n }\n\n ::slotted([slot=\"content\"]) {\n padding: var(--kemet-popper-padding);\n border: 1px solid var(--kemet-popper-border-color);\n background-color: var(--kemet-popper-background-color);\n }\n`;\n"]}
|
|
@@ -7,34 +7,38 @@ import '../../kemet-tabs/kemet-tab-panel';
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: 'Components / Radio',
|
|
9
9
|
component: 'kemet-radio',
|
|
10
|
-
};
|
|
11
|
-
export default meta;
|
|
12
|
-
const Template = ({ legend = 'Legend', axis = 'horizontal', filled = false, }) => html `
|
|
13
|
-
<kemet-radios legend=${legend} axis=${axis}>
|
|
14
|
-
<kemet-radio value="1" name="kemet-radio-button" label="Item 1" ?filled=${filled}></kemet-radio>
|
|
15
|
-
<kemet-radio value="2" name="kemet-radio-button" label="Item 2" ?filled=${filled}></kemet-radio>
|
|
16
|
-
<kemet-radio value="3" name="kemet-radio-button" label="Item 3" ?filled=${filled}></kemet-radio>
|
|
17
|
-
<kemet-radio value="4" name="kemet-radio-button" label="Item 4" ?filled=${filled}></kemet-radio>
|
|
18
|
-
</kemet-radios>
|
|
19
|
-
`;
|
|
20
|
-
export const Standard = {
|
|
21
|
-
render: args => Template(args),
|
|
22
10
|
args: {
|
|
23
11
|
legend: 'Legend',
|
|
24
|
-
axis: 'horizontal',
|
|
25
|
-
filled: false,
|
|
26
12
|
},
|
|
27
13
|
argTypes: {
|
|
28
|
-
legend: {
|
|
29
|
-
control: { type: 'text' },
|
|
30
|
-
},
|
|
31
14
|
axis: {
|
|
32
15
|
control: { type: 'radio' },
|
|
33
16
|
options: ['horizontal', 'vertical'],
|
|
34
17
|
},
|
|
35
|
-
filled: {
|
|
36
|
-
control: { type: 'boolean' },
|
|
37
|
-
},
|
|
38
18
|
}
|
|
39
19
|
};
|
|
20
|
+
export default meta;
|
|
21
|
+
const Template = (args) => html `
|
|
22
|
+
<kemet-radios legend=${args.legend} axis=${args.axis}>
|
|
23
|
+
<kemet-radio value="1" name="kemet-radio-button" label="Item 1" ?filled=${args.filled}></kemet-radio>
|
|
24
|
+
<kemet-radio value="2" name="kemet-radio-button" label="Item 2" ?filled=${args.filled}></kemet-radio>
|
|
25
|
+
<kemet-radio value="3" name="kemet-radio-button" label="Item 3" ?filled=${args.filled}></kemet-radio>
|
|
26
|
+
<kemet-radio value="4" name="kemet-radio-button" label="Item 4" ?filled=${args.filled}></kemet-radio>
|
|
27
|
+
</kemet-radios>
|
|
28
|
+
`;
|
|
29
|
+
export const Standard = {
|
|
30
|
+
render: args => Template(args),
|
|
31
|
+
};
|
|
32
|
+
export const Vertical = {
|
|
33
|
+
render: args => Template(args),
|
|
34
|
+
args: {
|
|
35
|
+
axis: 'vertical',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
export const Filled = {
|
|
39
|
+
render: args => Template(args),
|
|
40
|
+
args: {
|
|
41
|
+
filled: true,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
40
44
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-radio/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AAEzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-radio/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AAEzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE;QACJ,MAAM,EAAE,QAAQ;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;SACpC;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;yBACN,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,IAAI;8EACwB,IAAI,CAAC,MAAM;8EACX,IAAI,CAAC,MAAM;+EACV,IAAI,CAAC,MAAM;8EACZ,IAAI,CAAC,MAAM;;CAExF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;KACb;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-radio';\nimport '../kemet-radios';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Radio',\n component: 'kemet-radio',\n args: {\n legend: 'Legend',\n },\n argTypes: {\n axis: {\n control: { type: 'radio' },\n options: ['horizontal', 'vertical'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-radios legend=${args.legend} axis=${args.axis}>\n <kemet-radio value=\"1\" name=\"kemet-radio-button\" label=\"Item 1\" ?filled=${args.filled}></kemet-radio>\n <kemet-radio value=\"2\" name=\"kemet-radio-button\" label=\"Item 2\" ?filled=${args.filled}></kemet-radio>\n <kemet-radio value=\"3\" name=\"kemet-radio-button\" label=\"Item 3\" ?filled=${args.filled}></kemet-radio>\n <kemet-radio value=\"4\" name=\"kemet-radio-button\" label=\"Item 4\" ?filled=${args.filled}></kemet-radio>\n </kemet-radios>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Vertical: Story = {\n render: args => Template(args),\n args: {\n axis: 'vertical',\n },\n};\n\nexport const Filled: Story = {\n render: args => Template(args),\n args: {\n filled: true,\n },\n};\n"]}
|
|
@@ -19,12 +19,13 @@ import { LitElement } from 'lit';
|
|
|
19
19
|
* @csspart text - The text next to the radio button.
|
|
20
20
|
* @csspart dot - The circle that fills the radio button.
|
|
21
21
|
*
|
|
22
|
-
* @cssproperty --kemet-radio-size - The size of the radio button.
|
|
23
|
-
* @cssproperty --kemet-radio-border - The outer border of the radio button.
|
|
24
|
-
* @cssproperty --kemet-radio-dot-color - The color of the radio button's dot.
|
|
25
|
-
* @cssproperty --kemet-radio-dot-border-width - The border width of the radio button's dot.
|
|
26
|
-
* @cssproperty --kemet-radio-dot-border-color - The border color of the radio button's dot.
|
|
27
|
-
* @cssproperty --kemet-radio-dot-color-filled - The filled color of the radio button.
|
|
22
|
+
* @cssproperty --kemet-radio-size - The size of the radio button.
|
|
23
|
+
* @cssproperty --kemet-radio-border - The outer border of the radio button.
|
|
24
|
+
* @cssproperty --kemet-radio-dot-color - The color of the radio button's dot.
|
|
25
|
+
* @cssproperty --kemet-radio-dot-border-width - The border width of the radio button's dot.
|
|
26
|
+
* @cssproperty --kemet-radio-dot-border-color - The border color of the radio button's dot.
|
|
27
|
+
* @cssproperty --kemet-radio-dot-color-filled - The filled color of the radio button.
|
|
28
|
+
* @cssproperty --kemet-radio-dot-ring-color - The ring color of the radio button's dot.
|
|
28
29
|
*
|
|
29
30
|
* @event kemet-radio-focused - Fires when the checkbox loses or receives focus
|
|
30
31
|
* @event kemet-radio-focused - Fires when the checkbox loses or receives focus
|
|
@@ -25,12 +25,13 @@ import { stylesRadio } from './styles';
|
|
|
25
25
|
* @csspart text - The text next to the radio button.
|
|
26
26
|
* @csspart dot - The circle that fills the radio button.
|
|
27
27
|
*
|
|
28
|
-
* @cssproperty --kemet-radio-size - The size of the radio button.
|
|
29
|
-
* @cssproperty --kemet-radio-border - The outer border of the radio button.
|
|
30
|
-
* @cssproperty --kemet-radio-dot-color - The color of the radio button's dot.
|
|
31
|
-
* @cssproperty --kemet-radio-dot-border-width - The border width of the radio button's dot.
|
|
32
|
-
* @cssproperty --kemet-radio-dot-border-color - The border color of the radio button's dot.
|
|
33
|
-
* @cssproperty --kemet-radio-dot-color-filled - The filled color of the radio button.
|
|
28
|
+
* @cssproperty --kemet-radio-size - The size of the radio button.
|
|
29
|
+
* @cssproperty --kemet-radio-border - The outer border of the radio button.
|
|
30
|
+
* @cssproperty --kemet-radio-dot-color - The color of the radio button's dot.
|
|
31
|
+
* @cssproperty --kemet-radio-dot-border-width - The border width of the radio button's dot.
|
|
32
|
+
* @cssproperty --kemet-radio-dot-border-color - The border color of the radio button's dot.
|
|
33
|
+
* @cssproperty --kemet-radio-dot-color-filled - The filled color of the radio button.
|
|
34
|
+
* @cssproperty --kemet-radio-dot-ring-color - The ring color of the radio button's dot.
|
|
34
35
|
*
|
|
35
36
|
* @event kemet-radio-focused - Fires when the checkbox loses or receives focus
|
|
36
37
|
* @event kemet-radio-focused - Fires when the checkbox loses or receives focus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-radio.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/kemet-radio.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC
|
|
1
|
+
{"version":3,"file":"kemet-radio.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/kemet-radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesRadio } from './styles';\nimport { KemetRadioInterface } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-radio\n * @summary An enhanced radio button.\n *\n * @prop {string} label - The text next to the radio button\n * @prop {boolean} checked - Determines whether or not the button is checked\n * @prop {string} name - The name of the field\n * @prop {string} value - The value of the radio button\n * @prop {boolean} disabled - Determines if the button should be disabled\n * @prop {boolean} focused - Is true when the button is focused on\n * @prop {boolean} filled - Displayed the button as a filled button\n *\n * @csspart label - The label that contains the radio button.\n * @csspart button - The radio button.\n * @csspart text - The text next to the radio button.\n * @csspart dot - The circle that fills the radio button.\n *\n * @cssproperty --kemet-radio-size - The size of the radio button.\n * @cssproperty --kemet-radio-border - The outer border of the radio button.\n * @cssproperty --kemet-radio-dot-color - The color of the radio button's dot.\n * @cssproperty --kemet-radio-dot-border-width - The border width of the radio button's dot.\n * @cssproperty --kemet-radio-dot-border-color - The border color of the radio button's dot.\n * @cssproperty --kemet-radio-dot-color-filled - The filled color of the radio button.\n * @cssproperty --kemet-radio-dot-ring-color - The ring color of the radio button's dot.\n *\n * @event kemet-radio-focused - Fires when the checkbox loses or receives focus\n * @event kemet-radio-focused - Fires when the checkbox loses or receives focus\n *\n */\n\n@customElement('kemet-radio')\nexport default class KemetRadio extends LitElement {\n static styles = [stylesRadio];\n\n @property({ type: String })\n label: string = '';\n\n @property({ type: Boolean, reflect: true })\n checked: boolean;\n\n @property({ type: String })\n name: string;\n\n @property({ type: String })\n value: string;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @state()\n input: HTMLInputElement;\n\n firstUpdated() {\n const radiosElement = this.closest('kemet-radios') as KemetRadioInterface;\n\n this.name = radiosElement.name || 'radio-button';\n this.input = this.shadowRoot.querySelector('input');\n this.setAttribute('role', 'radio');\n\n if (this.checked) {\n this.setAttribute('aria-checked', 'true');\n } else {\n this.setAttribute('aria-checked', 'false');\n }\n }\n\n render() {\n return html`\n <label part=\"label\">\n <input\n type=\"radio\"\n name=${ifDefined(this.name)}\n .value=${this.value}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n @blur=${() => this.handleBlur()}\n @focus=${() => this.handleFocus()}\n />\n <button part=\"button\" aria-label=${this.label}>${this.makeDot()}</button>\n <span part=\"text\">${this.label}</span>\n </label>\n `;\n }\n\n click() {\n this.input.click();\n }\n\n blur() {\n this.input.blur();\n }\n\n focus() {\n this.input.focus();\n }\n\n handleBlur() {\n this.focused = false;\n emitEvent(this, 'kemet-radio-focused', false);\n }\n\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-radio-focused', true);\n }\n\n makeDot() {\n if (this.checked) {\n return html`\n <span part=\"dot\"></span>\n `;\n }\n\n return null;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-radio': KemetRadio\n }\n}\n"]}
|
|
@@ -131,7 +131,7 @@ __decorate([
|
|
|
131
131
|
property({ type: String })
|
|
132
132
|
], KemetRadios.prototype, "message", void 0);
|
|
133
133
|
__decorate([
|
|
134
|
-
property({ type:
|
|
134
|
+
property({ type: Boolean })
|
|
135
135
|
], KemetRadios.prototype, "required", void 0);
|
|
136
136
|
__decorate([
|
|
137
137
|
state()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-radios.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/kemet-radios.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"kemet-radios.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/kemet-radios.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesRadios } from './styles';\nimport { KemetRadioInterface, KemetRadiosInterface, TypeAxis, TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-radios\n * @summary A group of radio buttons.\n *\n * @prop {string} legend - The legend text for the fieldset\n * @prop {string} axis - The direction of the button's layout\n * @prop {string} value - The value of the selected radio button\n * @prop {string} name - The name of the radio button set\n * @prop {string} status - The status of the radio button set\n * @prop {string} message - Validation message for the user\n * @prop {boolean} required - Determines whether or not the radio button set is required\n *\n * @csspart fieldset - The fieldset element.\n * @csspart legend - The legend element.\n *\n * @event kemet-radios-change - Fires when the state of the checkbox changes\n *\n */\n\n@customElement('kemet-radios')\nexport default class KemetRadios extends LitElement {\n formSubmitController: FormSubmitController;\n\n static styles = [stylesRadios];\n\n @property({ type: String })\n legend: string = '';\n\n @property({ type: String, reflect: true })\n axis: TypeAxis = 'horizontal';\n\n @property({ type: String })\n value: string;\n\n @property({ type: String })\n name: string = 'radios';\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: String })\n message: string;\n\n @property({ type: Boolean })\n required: boolean;\n\n @state()\n radios: any;\n\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n this.radios = this.querySelectorAll('kemet-radio');\n this.setAttribute('role', 'radiogroup');\n }\n\n render() {\n return html`\n <fieldset part=\"fieldset\">\n ${this.legend !== '' ? html`<legend part=\"legend\">${this.legend}</legend>` : null}\n <slot @click=${event => this.handleClick(event)} @keydown=${event => this.handleKeyDown(event)} @slotchange=${() => this.handleSlotChange()}></slot>\n </fieldset>\n ${this.makeMessage()}\n `;\n }\n\n handleClick(event) {\n const { target } = event;\n\n this.radios.forEach((radio) => {\n radio.checked = false;\n radio.tabIndex = radio === target ? 0 : -1;\n radio.setAttribute('aria-checked', 'false');\n });\n\n if (!target.disabled) {\n target.checked = true;\n target.setAttribute('aria-checked', 'true');\n this.value = target.value;\n this.status = 'standard';\n\n emitEvent(this, 'kemet-radios-change', target);\n }\n }\n\n handleKeyDown(event) {\n const radios = Array.from(this.radios);\n const arrowKeys = ['ArrowUp', 'ArrowRight', 'ArrowDown', 'ArrowLeft'];\n const forwardKeys = ['ArrowRight', 'ArrowDown'];\n const shift: number = forwardKeys.includes(event.key) ? 1 : -1;\n const checkedIndex: any = radios.findIndex((radio: KemetRadioInterface) => radio.checked) ?? radios[0];\n\n let index: number = checkedIndex + shift;\n\n if (arrowKeys.includes(event.key)) {\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.radios.forEach((radio) => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.radios[index].focus();\n this.radios[index].checked = true;\n this.radios[index].tabIndex = 0;\n }\n }\n\n handleSlotChange() {\n const radios = Array.from(this.radios);\n const checkedRadio = radios.find((radio: KemetRadioInterface) => radio.checked) as KemetRadioInterface;\n\n this.radios.forEach((radio) => {\n radio.tabIndex = -1;\n radio.input.tabIndex = -1;\n });\n\n if (checkedRadio) {\n checkedRadio.tabIndex = 0;\n }\n }\n\n makeMessage() {\n if (this.status === 'error' || this.status === 'warning') {\n return html`<span part=\"message\">${this.message}</span>`;\n }\n\n return null;\n }\n\n checkValidity() {\n if (this.required) {\n return !!this.value;\n }\n\n return true;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-radios': KemetRadios\n }\n}\n\n"]}
|
|
@@ -7,6 +7,16 @@ export const stylesRadio = css `
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
:host {
|
|
10
|
+
--kemet-radio-size: 18px;
|
|
11
|
+
--kemet-radio-border: 1px solid rgb(var(--kemet-color-foreground));
|
|
12
|
+
--kemet-radio-dot-color: rgb(var(--kemet-color-primary));
|
|
13
|
+
--kemet-radio-dot-border: 1px solid rgb(var(--kemet-color-primary));
|
|
14
|
+
--kemet-radio-dot-border-width: 3px;
|
|
15
|
+
--kemet-radio-dot-ring-color: rgb(var(--kemet-color-white));
|
|
16
|
+
--kemet-radio-dot-color-filled: rgb(var(--kemet-color-white));
|
|
17
|
+
--kemet-radio-dot-border-width: 4px;
|
|
18
|
+
--kemet-radio-dot-border-color: rgb(var(--kemet-color-primary));
|
|
19
|
+
|
|
10
20
|
display: inline-block;
|
|
11
21
|
}
|
|
12
22
|
|
|
@@ -26,8 +36,8 @@ export const stylesRadio = css `
|
|
|
26
36
|
cursor: pointer;
|
|
27
37
|
margin: 0;
|
|
28
38
|
padding: 0;
|
|
29
|
-
width: var(--kemet-radio-size
|
|
30
|
-
height: var(--kemet-radio-size
|
|
39
|
+
width: var(--kemet-radio-size);
|
|
40
|
+
height: var(--kemet-radio-size);
|
|
31
41
|
position: absolute;
|
|
32
42
|
opacity: 0;
|
|
33
43
|
}
|
|
@@ -36,27 +46,27 @@ export const stylesRadio = css `
|
|
|
36
46
|
display: inline-flex;
|
|
37
47
|
align-items: center;
|
|
38
48
|
justify-content: center;
|
|
39
|
-
width: var(--kemet-radio-size
|
|
40
|
-
height: var(--kemet-radio-size
|
|
49
|
+
width: var(--kemet-radio-size);
|
|
50
|
+
height: var(--kemet-radio-size);
|
|
41
51
|
padding: 0;
|
|
42
|
-
border-radius:
|
|
52
|
+
border-radius: var(--kemet-border-radius-circle);
|
|
43
53
|
background: none;
|
|
44
|
-
border: var(--kemet-radio-border
|
|
54
|
+
border: var(--kemet-radio-border);
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
[part='dot'] {
|
|
48
58
|
display: inline-flex;
|
|
49
|
-
border-radius:
|
|
50
|
-
width: var(--kemet-radio-size
|
|
51
|
-
height: var(--kemet-radio-size
|
|
52
|
-
background: var(--kemet-radio-dot-color
|
|
53
|
-
border: var(--kemet-radio-border
|
|
54
|
-
box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width
|
|
59
|
+
border-radius: var(--kemet-border-radius-circle);
|
|
60
|
+
width: var(--kemet-radio-size);
|
|
61
|
+
height: var(--kemet-radio-size);
|
|
62
|
+
background: var(--kemet-radio-dot-color);
|
|
63
|
+
border: var(--kemet-radio-dot-border);
|
|
64
|
+
box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width) var(--kemet-radio-dot-ring-color);
|
|
55
65
|
}
|
|
56
66
|
|
|
57
67
|
:host([filled]) [part='dot'] {
|
|
58
|
-
background: var(--kemet-radio-dot-color-filled
|
|
59
|
-
box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width
|
|
68
|
+
background: var(--kemet-radio-dot-color-filled);
|
|
69
|
+
box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width) var(--kemet-radio-dot-border-color);
|
|
60
70
|
}
|
|
61
71
|
`;
|
|
62
72
|
export const stylesRadios = css `
|
|
@@ -92,11 +102,11 @@ export const stylesRadios = css `
|
|
|
92
102
|
}
|
|
93
103
|
|
|
94
104
|
:host([status='error']) [part='message'] {
|
|
95
|
-
color: var(--kemet-color-error);
|
|
105
|
+
color: rgb(var(--kemet-color-error));
|
|
96
106
|
}
|
|
97
107
|
|
|
98
108
|
:host([status='warning']) [part='message'] {
|
|
99
|
-
color: var(--kemet-color-error);
|
|
109
|
+
color: rgb(var(--kemet-color-error));
|
|
100
110
|
}
|
|
101
111
|
`;
|
|
102
112
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-radio/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE7B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC9B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesRadio = css`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n --kemet-radio-size: 18px;\n --kemet-radio-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-radio-dot-color: rgb(var(--kemet-color-primary));\n --kemet-radio-dot-border: 1px solid rgb(var(--kemet-color-primary));\n --kemet-radio-dot-border-width: 3px;\n --kemet-radio-dot-ring-color: rgb(var(--kemet-color-white));\n --kemet-radio-dot-color-filled: rgb(var(--kemet-color-white));\n --kemet-radio-dot-border-width: 4px;\n --kemet-radio-dot-border-color: rgb(var(--kemet-color-primary));\n\n display: inline-block;\n }\n\n :host([disabled]) {\n opacity: 0.5;\n }\n\n label {\n cursor: pointer;\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n margin-right: 0.5rem;\n }\n\n input {\n cursor: pointer;\n margin: 0;\n padding: 0;\n width: var(--kemet-radio-size);\n height: var(--kemet-radio-size);\n position: absolute;\n opacity: 0;\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--kemet-radio-size);\n height: var(--kemet-radio-size);\n padding: 0;\n border-radius: var(--kemet-border-radius-circle);\n background: none;\n border: var(--kemet-radio-border);\n }\n\n [part='dot'] {\n display: inline-flex;\n border-radius: var(--kemet-border-radius-circle);\n width: var(--kemet-radio-size);\n height: var(--kemet-radio-size);\n background: var(--kemet-radio-dot-color);\n border: var(--kemet-radio-dot-border);\n box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width) var(--kemet-radio-dot-ring-color);\n }\n\n :host([filled]) [part='dot'] {\n background: var(--kemet-radio-dot-color-filled);\n box-shadow: inset 0px 0px 0px var(--kemet-radio-dot-border-width) var(--kemet-radio-dot-border-color);\n }\n`;\n\nexport const stylesRadios = css`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n display: block;\n }\n\n fieldset {\n border: 0;\n margin: 0;\n padding: 0;\n display: flex;\n gap: 0.5rem;\n }\n\n legend {\n margin-bottom: 1rem;\n }\n\n :host([axis='vertical']) fieldset {\n flex-direction: column;\n }\n\n [part='message'] {\n display: block;\n margin-top: 0.5rem;\n }\n\n :host([status='error']) [part='message'] {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='warning']) [part='message'] {\n color: rgb(var(--kemet-color-error));\n }\n`;\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
2
3
|
import '../kemet-rotator';
|
|
3
4
|
import '../../kemet-tabs/kemet-tabs';
|
|
4
5
|
import '../../kemet-tabs/kemet-tab';
|
|
@@ -6,41 +7,28 @@ import '../../kemet-tabs/kemet-tab-panel';
|
|
|
6
7
|
const meta = {
|
|
7
8
|
title: 'Components / Rotator',
|
|
8
9
|
component: 'kemet-rotator',
|
|
9
|
-
};
|
|
10
|
-
export default meta;
|
|
11
|
-
const Template = ({ message1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', message2 = 'Praesent ornare porta nulla.', message3 = 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.', effect = 'fade', rotationSpeed = 3, }) => html `
|
|
12
|
-
<kemet-rotator
|
|
13
|
-
effect="${effect}"
|
|
14
|
-
.rotation-speed=${rotationSpeed}
|
|
15
|
-
.messages="${[message1, message2, message3]}">
|
|
16
|
-
</kemet-rotator>
|
|
17
|
-
`;
|
|
18
|
-
export const Standard = {
|
|
19
|
-
render: args => Template(args),
|
|
20
10
|
args: {
|
|
21
|
-
message1: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
|
|
22
|
-
message2: 'Praesent ornare porta nulla.',
|
|
23
|
-
message3: 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.',
|
|
24
|
-
effect: 'fade',
|
|
25
11
|
rotationSpeed: 3,
|
|
12
|
+
messages: ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Praesent ornare porta nulla.', 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.']
|
|
26
13
|
},
|
|
27
14
|
argTypes: {
|
|
28
|
-
message1: {
|
|
29
|
-
control: { type: 'text' },
|
|
30
|
-
},
|
|
31
|
-
message2: {
|
|
32
|
-
control: { type: 'text' },
|
|
33
|
-
},
|
|
34
|
-
message3: {
|
|
35
|
-
control: { type: 'text' },
|
|
36
|
-
},
|
|
37
15
|
effect: {
|
|
38
|
-
control: { type: '
|
|
16
|
+
control: { type: 'radio' },
|
|
39
17
|
options: ['fade', 'flip'],
|
|
40
18
|
},
|
|
41
|
-
rotationSpeed: {
|
|
42
|
-
control: { type: 'number' },
|
|
43
|
-
},
|
|
44
19
|
}
|
|
45
20
|
};
|
|
21
|
+
export default meta;
|
|
22
|
+
const Template = (args) => html `
|
|
23
|
+
<kemet-rotator effect="${ifDefined(args.effect)}" .rotation-speed=${args.rotationSpeed} .messages="${args.messages}"></kemet-rotator>
|
|
24
|
+
`;
|
|
25
|
+
export const Standard = {
|
|
26
|
+
render: args => Template(args),
|
|
27
|
+
};
|
|
28
|
+
export const Flip = {
|
|
29
|
+
render: args => Template(args),
|
|
30
|
+
args: {
|
|
31
|
+
effect: 'flip',
|
|
32
|
+
},
|
|
33
|
+
};
|
|
46
34
|
//# sourceMappingURL=stories.js.map
|