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-textarea/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,mBAAmB,CAAC;AAE3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-textarea/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,mBAAmB,CAAC;AAE3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SACrD;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;SACjF;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;WACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;cACnB,IAAI,CAAC,QAAQ;sBACL,IAAI,CAAC,cAAc;gBACzB,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;cACrC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;cACjC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;cACjC,IAAI,CAAC,SAAS;eACb,IAAI,CAAC,SAAS;cACf,IAAI,CAAC,QAAQ;cACb,IAAI,CAAC,QAAQ;SAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM;aACV,IAAI,CAAC,OAAO;mBACN,CAAC;AAEpB,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-textarea';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Textarea',\n component: 'kemet-textarea',\n argTypes: {\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n inputmode: {\n control: { type: 'select' },\n options: ['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`<kemet-textarea\n status=${ifDefined(args.status)}\n ?required=${args.required}\n ?validate-on-blur=${args.validateOnBlur}\n placeholder=${ifDefined(args.placeholder || null)}\n minlength=${ifDefined(args.minlength || null)}\n maxlength=${ifDefined(args.maxlength || null)}\n inputmode=${args.inputmode}\n ?autofocus=${args.autofocus}\n ?disabled=${args.disabled}\n ?readonly=${args.readonly}\n rows=${ifDefined(args.rows)}\n ?filled=${args.filled}\n ?rounded=${args.rounded}\n></kemet-textarea>`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Disabled: Story = {\n render: args => Template(args),\n args: {\n disabled: true\n }\n};\n\nexport const Filled: Story = {\n render: args => Template(args),\n args: {\n filled: true\n }\n};\n\nexport const Rounded: Story = {\n render: args => Template(args),\n args: {\n rounded: true\n }\n};\n"]}
|
|
@@ -30,18 +30,18 @@ import { TypeStatus } from './types';
|
|
|
30
30
|
*
|
|
31
31
|
* @csspart textarea
|
|
32
32
|
*
|
|
33
|
-
* @cssproperty --kemet-textarea-padding - The padding on the textarea.
|
|
34
|
-
* @cssproperty --kemet-textarea-border - The border of the textarea.
|
|
35
|
-
* @cssproperty --kemet-textarea-border-color-error - The border of the error state.
|
|
36
|
-
* @cssproperty --kemet-textarea-border-color-success - The border of the success state.
|
|
37
|
-
* @cssproperty --kemet-textarea-border-color-warning - The border of the warning state.
|
|
38
|
-
* @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded.
|
|
39
|
-
* @cssproperty --kemet-textarea-border-filled - The border on filled.
|
|
40
|
-
* @cssproperty --kemet-textarea-color-filled - The color on filled.
|
|
41
|
-
* @cssproperty --kemet-textarea-background-color-filled - The background-color on filled.
|
|
42
|
-
* @cssproperty --kemet-textarea-background-color-error - The error state background color.
|
|
43
|
-
* @cssproperty --kemet-textarea-background-color-success - The success state background color.
|
|
44
|
-
* @cssproperty --kemet-textarea-background-color-warning - The warning state background color.
|
|
33
|
+
* @cssproperty --kemet-textarea-padding - The padding on the textarea.
|
|
34
|
+
* @cssproperty --kemet-textarea-border - The border of the textarea.
|
|
35
|
+
* @cssproperty --kemet-textarea-border-color-error - The border of the error state.
|
|
36
|
+
* @cssproperty --kemet-textarea-border-color-success - The border of the success state.
|
|
37
|
+
* @cssproperty --kemet-textarea-border-color-warning - The border of the warning state.
|
|
38
|
+
* @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded.
|
|
39
|
+
* @cssproperty --kemet-textarea-border-filled - The border on filled.
|
|
40
|
+
* @cssproperty --kemet-textarea-color-filled - The color on filled.
|
|
41
|
+
* @cssproperty --kemet-textarea-background-color-filled - The background-color on filled.
|
|
42
|
+
* @cssproperty --kemet-textarea-background-color-error - The error state background color.
|
|
43
|
+
* @cssproperty --kemet-textarea-background-color-success - The success state background color.
|
|
44
|
+
* @cssproperty --kemet-textarea-background-color-warning - The warning state background color.
|
|
45
45
|
*
|
|
46
46
|
*/
|
|
47
47
|
export default class KemetTextarea extends LitElement {
|
|
@@ -33,18 +33,18 @@ import { stylesTextarea } from './styles';
|
|
|
33
33
|
*
|
|
34
34
|
* @csspart textarea
|
|
35
35
|
*
|
|
36
|
-
* @cssproperty --kemet-textarea-padding - The padding on the textarea.
|
|
37
|
-
* @cssproperty --kemet-textarea-border - The border of the textarea.
|
|
38
|
-
* @cssproperty --kemet-textarea-border-color-error - The border of the error state.
|
|
39
|
-
* @cssproperty --kemet-textarea-border-color-success - The border of the success state.
|
|
40
|
-
* @cssproperty --kemet-textarea-border-color-warning - The border of the warning state.
|
|
41
|
-
* @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded.
|
|
42
|
-
* @cssproperty --kemet-textarea-border-filled - The border on filled.
|
|
43
|
-
* @cssproperty --kemet-textarea-color-filled - The color on filled.
|
|
44
|
-
* @cssproperty --kemet-textarea-background-color-filled - The background-color on filled.
|
|
45
|
-
* @cssproperty --kemet-textarea-background-color-error - The error state background color.
|
|
46
|
-
* @cssproperty --kemet-textarea-background-color-success - The success state background color.
|
|
47
|
-
* @cssproperty --kemet-textarea-background-color-warning - The warning state background color.
|
|
36
|
+
* @cssproperty --kemet-textarea-padding - The padding on the textarea.
|
|
37
|
+
* @cssproperty --kemet-textarea-border - The border of the textarea.
|
|
38
|
+
* @cssproperty --kemet-textarea-border-color-error - The border of the error state.
|
|
39
|
+
* @cssproperty --kemet-textarea-border-color-success - The border of the success state.
|
|
40
|
+
* @cssproperty --kemet-textarea-border-color-warning - The border of the warning state.
|
|
41
|
+
* @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded.
|
|
42
|
+
* @cssproperty --kemet-textarea-border-filled - The border on filled.
|
|
43
|
+
* @cssproperty --kemet-textarea-color-filled - The color on filled.
|
|
44
|
+
* @cssproperty --kemet-textarea-background-color-filled - The background-color on filled.
|
|
45
|
+
* @cssproperty --kemet-textarea-background-color-error - The error state background color.
|
|
46
|
+
* @cssproperty --kemet-textarea-background-color-success - The success state background color.
|
|
47
|
+
* @cssproperty --kemet-textarea-background-color-warning - The warning state background color.
|
|
48
48
|
*
|
|
49
49
|
*/
|
|
50
50
|
let KemetTextarea = class KemetTextarea extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-textarea.js","sourceRoot":"","sources":["../../../src/components/kemet-textarea/kemet-textarea.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesTextarea } from './styles';\nimport { TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-textarea\n * @summary An enhanced textarea element.\n *\n * @prop {string} slug\n * @prop {string} name\n * @prop {string} placeholder\n * @prop {number} minlength\n * @prop {number} maxlength\n * @prop {string} inputmode\n * @prop {boolean} disabled\n * @prop {boolean} readonly\n * @prop {boolean} required\n * @prop {string} value\n * @prop {boolean} invalid\n * @prop {TypeStatus} status\n * @prop {boolean} validateOnBlur\n * @prop {boolean} rounded\n * @prop {boolean} filled\n * @prop {number} rows\n * @prop {boolean} autocorrect\n *\n *\n * @csspart textarea\n *\n * @cssproperty --kemet-textarea-padding - The padding on the textarea. Default: 1rem.\n * @cssproperty --kemet-textarea-border - The border of the textarea. Default: 1px solid var(--kemet-color-primary).\n * @cssproperty --kemet-textarea-border-color-error - The border of the error state. Default: 1px solid var(--kemet-color-error).\n * @cssproperty --kemet-textarea-border-color-success - The border of the success state. Default: 1px solid var(--kemet-color-success).\n * @cssproperty --kemet-textarea-border-color-warning - The border of the warning state. Default: 1px solid var(--kemet-color-warning).\n * @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded. Default: var(--kemet-border-radius).\n * @cssproperty --kemet-textarea-border-filled - The border on filled. Default: none.\n * @cssproperty --kemet-textarea-color-filled - The color on filled. Default: var(--kemet-color-white).\n * @cssproperty --kemet-textarea-background-color-filled - The background-color on filled. Default: var(--kemet-color-primary).\n * @cssproperty --kemet-textarea-background-color-error - The error state background color. Default: var(--kemet-color-error).\n * @cssproperty --kemet-textarea-background-color-success - The success state background color. Default: var(--kemet-color-success).\n * @cssproperty --kemet-textarea-background-color-warning - The warning state background color. Default: var(--kemet-color-warning).\n *\n */\n\n@customElement('kemet-textarea')\nexport default class KemetTextarea extends LitElement {\n formSubmitController: FormSubmitController;\n\n static styles = [stylesTextarea];\n\n @property({ type: String })\n slug: string = 'textarea';\n\n @property({ type: String })\n name: string = 'textarea';\n\n @property({ type: String })\n placeholder: string;\n\n @property({ type: Number })\n minlength: number;\n\n @property({ type: Number })\n maxlength: number;\n\n @property({ type: String })\n inputmode: string;\n\n @property({ type: Boolean })\n autofocus: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n readonly: boolean;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: String })\n value: string = '';\n\n @property({ type: Boolean, reflect: true })\n invalid: boolean;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: Number })\n rows: number = 4;\n\n @property({ type: Boolean, attribute: 'validate-on-blur' })\n validateOnBlur: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @property({ type: Boolean})\n autocorrect: boolean;\n\n @state()\n form: HTMLFormElement;\n\n @state()\n control: KemetFieldInterface;\n\n @state()\n textarea: HTMLTextAreaElement;\n\n @state()\n hasFocus: boolean;\n\n @state()\n validity: ValidityState;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n // elements\n this.form = this.closest('form');\n this.control = this.closest('kemet-field');\n this.textarea = this.shadowRoot.querySelector('textarea');\n }\n\n render() {\n return html`\n <textarea\n part=\"textarea\"\n id=${this.slug}\n name=${this.name}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n rows=${ifDefined(this.rows)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocorrect=${ifDefined(this.autocorrect)}\n ?autofocus=${this.autofocus}\n spellcheck=${ifDefined(this.spellcheck)}\n inputmode=${ifDefined(this.inputmode)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @invalid=${this.handleInvalid}\n ></textarea>\n `;\n }\n\n /**\n * Handles when the textarea receives focus\n * @private\n */\n handleFocus() {\n this.hasFocus = true;\n\n /**\n * Fires when the input receives and loses focus\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-focused', {\n bubbles: true,\n composed: true,\n detail: true,\n }),\n );\n }\n\n /**\n * Handles when the textarea loses focus\n * @private\n */\n handleBlur() {\n this.hasFocus = false;\n\n /**\n * Fires when the input receives and loses focus\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-focused', {\n bubbles: true,\n composed: true,\n detail: false,\n }),\n );\n\n if (this.validateOnBlur && this.form && !this.form.noValidate) {\n this.textarea.checkValidity();\n this.validity = this.textarea.validity;\n }\n }\n\n /**\n * Handles when the textarea changes value\n * @private\n */\n handleChange() {\n this.value = this.textarea.value;\n\n if (this.textarea.checkValidity() && this.checkLimitValidity()) {\n this.invalid = false;\n this.status = 'standard';\n this.validity = this.textarea.validity;\n\n /**\n * Fires when there's a change in status\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'standard',\n validity: this.textarea.validity,\n element: this,\n },\n }),\n );\n }\n }\n\n /**\n * Handles when the textarea receives input\n * @private\n */\n handleInput() {\n this.value = this.textarea.value;\n\n /**\n * Fires when the input receives input\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-input', {\n bubbles: true,\n composed: true,\n detail: this.value,\n }),\n );\n }\n\n /**\n * Handles when the textarea has an error\n * @private\n */\n handleInvalid() {\n this.validity = this.textarea.validity;\n\n if (this.validateOnBlur) {\n this.invalid = true;\n this.status = 'error';\n\n /**\n * Fires when there's a change in status\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'error',\n validity: this.textarea.validity,\n element: this,\n },\n }),\n );\n }\n }\n\n /**\n * Checks the validity of the character limit for the count component\n * @private\n * @returns {boolean}\n */\n checkLimitValidity() {\n if (this.control) {\n const count = this.control.querySelector('kemet-count');\n if (count) {\n return this.value.length < count.limit;\n }\n }\n\n return true;\n }\n\n /**\n * Checks the validity of the standard input\n * @public\n * @returns {boolean}\n */\n checkValidity() {\n return this.textarea.checkValidity();\n }\n\n /**\n * Focuses the standard input\n * @public\n */\n focus() {\n return this.textarea.focus();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-textarea': KemetTextarea\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kemet-textarea.js","sourceRoot":"","sources":["../../../src/components/kemet-textarea/kemet-textarea.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IA0EnD;QACE,KAAK,EAAE,CAAC;QArEV,SAAI,GAAW,UAAU,CAAC;QAG1B,SAAI,GAAW,UAAU,CAAC;QA2B1B,UAAK,GAAW,EAAE,CAAC;QAMnB,WAAM,GAAe,UAAU,CAAC;QAGhC,SAAI,GAAW,CAAC,CAAC;QAgCf,gBAAgB;QAChB,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY;QACV,WAAW;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;aAGF,IAAI,CAAC,IAAI;eACP,IAAI,CAAC,IAAI;iBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACb,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;sBACX,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;eAClC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;sBACvB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;qBAC5B,IAAI,CAAC,SAAS;qBACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;kBAC3B,IAAI,CAAC,YAAY;iBAClB,IAAI,CAAC,WAAW;iBAChB,IAAI,CAAC,WAAW;gBACjB,IAAI,CAAC,UAAU;mBACZ,IAAI,CAAC,aAAa;;KAEhC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB;;WAEG;QACH,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB;;WAEG;QACH,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7D,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACxC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC9D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEvC;;eAEG;YACH,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,oBAAoB,EAAE;gBACpC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAChC,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEjC;;WAEG;QACH,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,mBAAmB,EAAE;YACnC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI,CAAC,KAAK;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEvC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YAEtB;;eAEG;YACH,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,oBAAoB,EAAE;gBACpC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAChC,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE;gBACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;aACxC;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF,CAAA;AAvQQ,oBAAM,GAAG,CAAC,cAAc,CAAC,CAAC;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACD;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACD;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACP;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACT;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACT;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACT;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACT;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACzB;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACV;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACzB;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACR;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CACV;AAGhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACV;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;qDACnC;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAC3B;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;kDACN;AAGrB;IADC,KAAK,EAAE;2CACc;AAGtB;IADC,KAAK,EAAE;8CACqB;AAG7B;IADC,KAAK,EAAE;+CACsB;AAG9B;IADC,KAAK,EAAE;+CACU;AAGlB;IADC,KAAK,EAAE;+CACgB;AAxEL,aAAa;IADjC,aAAa,CAAC,gBAAgB,CAAC;GACX,aAAa,CA0QjC;eA1QoB,aAAa","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesTextarea } from './styles';\nimport { TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-textarea\n * @summary An enhanced textarea element.\n *\n * @prop {string} slug\n * @prop {string} name\n * @prop {string} placeholder\n * @prop {number} minlength\n * @prop {number} maxlength\n * @prop {string} inputmode\n * @prop {boolean} disabled\n * @prop {boolean} readonly\n * @prop {boolean} required\n * @prop {string} value\n * @prop {boolean} invalid\n * @prop {TypeStatus} status\n * @prop {boolean} validateOnBlur\n * @prop {boolean} rounded\n * @prop {boolean} filled\n * @prop {number} rows\n * @prop {boolean} autocorrect\n *\n *\n * @csspart textarea\n *\n * @cssproperty --kemet-textarea-padding - The padding on the textarea.\n * @cssproperty --kemet-textarea-border - The border of the textarea.\n * @cssproperty --kemet-textarea-border-color-error - The border of the error state.\n * @cssproperty --kemet-textarea-border-color-success - The border of the success state.\n * @cssproperty --kemet-textarea-border-color-warning - The border of the warning state.\n * @cssproperty --kemet-textarea-border-radius-rounded - The border radius on rounded.\n * @cssproperty --kemet-textarea-border-filled - The border on filled.\n * @cssproperty --kemet-textarea-color-filled - The color on filled.\n * @cssproperty --kemet-textarea-background-color-filled - The background-color on filled.\n * @cssproperty --kemet-textarea-background-color-error - The error state background color.\n * @cssproperty --kemet-textarea-background-color-success - The success state background color.\n * @cssproperty --kemet-textarea-background-color-warning - The warning state background color.\n *\n */\n\n@customElement('kemet-textarea')\nexport default class KemetTextarea extends LitElement {\n formSubmitController: FormSubmitController;\n\n static styles = [stylesTextarea];\n\n @property({ type: String })\n slug: string = 'textarea';\n\n @property({ type: String })\n name: string = 'textarea';\n\n @property({ type: String })\n placeholder: string;\n\n @property({ type: Number })\n minlength: number;\n\n @property({ type: Number })\n maxlength: number;\n\n @property({ type: String })\n inputmode: string;\n\n @property({ type: Boolean })\n autofocus: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n readonly: boolean;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: String })\n value: string = '';\n\n @property({ type: Boolean, reflect: true })\n invalid: boolean;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: Number })\n rows: number = 4;\n\n @property({ type: Boolean, attribute: 'validate-on-blur' })\n validateOnBlur: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @property({ type: Boolean})\n autocorrect: boolean;\n\n @state()\n form: HTMLFormElement;\n\n @state()\n control: KemetFieldInterface;\n\n @state()\n textarea: HTMLTextAreaElement;\n\n @state()\n hasFocus: boolean;\n\n @state()\n validity: ValidityState;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n // elements\n this.form = this.closest('form');\n this.control = this.closest('kemet-field');\n this.textarea = this.shadowRoot.querySelector('textarea');\n }\n\n render() {\n return html`\n <textarea\n part=\"textarea\"\n id=${this.slug}\n name=${this.name}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n rows=${ifDefined(this.rows)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocorrect=${ifDefined(this.autocorrect)}\n ?autofocus=${this.autofocus}\n spellcheck=${ifDefined(this.spellcheck)}\n inputmode=${ifDefined(this.inputmode)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @invalid=${this.handleInvalid}\n ></textarea>\n `;\n }\n\n /**\n * Handles when the textarea receives focus\n * @private\n */\n handleFocus() {\n this.hasFocus = true;\n\n /**\n * Fires when the input receives and loses focus\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-focused', {\n bubbles: true,\n composed: true,\n detail: true,\n }),\n );\n }\n\n /**\n * Handles when the textarea loses focus\n * @private\n */\n handleBlur() {\n this.hasFocus = false;\n\n /**\n * Fires when the input receives and loses focus\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-focused', {\n bubbles: true,\n composed: true,\n detail: false,\n }),\n );\n\n if (this.validateOnBlur && this.form && !this.form.noValidate) {\n this.textarea.checkValidity();\n this.validity = this.textarea.validity;\n }\n }\n\n /**\n * Handles when the textarea changes value\n * @private\n */\n handleChange() {\n this.value = this.textarea.value;\n\n if (this.textarea.checkValidity() && this.checkLimitValidity()) {\n this.invalid = false;\n this.status = 'standard';\n this.validity = this.textarea.validity;\n\n /**\n * Fires when there's a change in status\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'standard',\n validity: this.textarea.validity,\n element: this,\n },\n }),\n );\n }\n }\n\n /**\n * Handles when the textarea receives input\n * @private\n */\n handleInput() {\n this.value = this.textarea.value;\n\n /**\n * Fires when the input receives input\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-input', {\n bubbles: true,\n composed: true,\n detail: this.value,\n }),\n );\n }\n\n /**\n * Handles when the textarea has an error\n * @private\n */\n handleInvalid() {\n this.validity = this.textarea.validity;\n\n if (this.validateOnBlur) {\n this.invalid = true;\n this.status = 'error';\n\n /**\n * Fires when there's a change in status\n */\n this.dispatchEvent(\n new CustomEvent('kemet-input-status', {\n bubbles: true,\n composed: true,\n detail: {\n status: 'error',\n validity: this.textarea.validity,\n element: this,\n },\n }),\n );\n }\n }\n\n /**\n * Checks the validity of the character limit for the count component\n * @private\n * @returns {boolean}\n */\n checkLimitValidity() {\n if (this.control) {\n const count = this.control.querySelector('kemet-count');\n if (count) {\n return this.value.length < count.limit;\n }\n }\n\n return true;\n }\n\n /**\n * Checks the validity of the standard input\n * @public\n * @returns {boolean}\n */\n checkValidity() {\n return this.textarea.checkValidity();\n }\n\n /**\n * Focuses the standard input\n * @public\n */\n focus() {\n return this.textarea.focus();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-textarea': KemetTextarea\n }\n}\n"]}
|
|
@@ -1,31 +1,46 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
export const stylesTextarea = css `
|
|
3
3
|
:host {
|
|
4
|
+
--kemet-textarea-padding: 1rem;
|
|
5
|
+
--kemet-textarea-border: 1px solid rgb(var(--kemet-color-foreground));
|
|
6
|
+
--kemet-textarea-border-color-error: 1px solid rgb(var(--kemet-color-error));
|
|
7
|
+
--kemet-textarea-border-color-success: 1px solid rgb(var(--kemet-color-success));
|
|
8
|
+
--kemet-textarea-border-color-warning: 1px solid rgb(var(--kemet-color-warning));
|
|
9
|
+
--kemet-textarea-icon-left-padding: 3rem;
|
|
10
|
+
--kemet-textarea-icon-right-padding: 3rem;
|
|
11
|
+
--kemet-textarea-border-radius-rounded: var(--kemet-border-radius-md);
|
|
12
|
+
--kemet-textarea-border-filled: none;
|
|
13
|
+
--kemet-textarea-color-filled: rgb(var(--kemet-color-white));
|
|
14
|
+
--kemet-textarea-background-color-filled: rgb(var(--kemet-color-primary));
|
|
15
|
+
--kemet-textarea-background-color-error: rgb(var(--kemet-color-error));
|
|
16
|
+
--kemet-textarea-background-color-success: rgb(var(--kemet-color-success));
|
|
17
|
+
--kemet-textarea-background-color-warning: rgb(var(--kemet-color-warning));
|
|
18
|
+
|
|
4
19
|
position: relative;
|
|
5
20
|
display: block;
|
|
6
21
|
}
|
|
7
22
|
|
|
8
23
|
textarea {
|
|
9
|
-
color: var(--kemet-color-text);
|
|
24
|
+
color: rgb(var(--kemet-color-text));
|
|
10
25
|
display: block;
|
|
11
26
|
width: 100%;
|
|
12
|
-
padding: var(--kemet-textarea-padding
|
|
13
|
-
border: var(--kemet-textarea-border
|
|
27
|
+
padding: var(--kemet-textarea-padding);
|
|
28
|
+
border: var(--kemet-textarea-border);
|
|
14
29
|
appearance: none;
|
|
15
30
|
box-sizing: border-box;
|
|
16
31
|
background: transparent;
|
|
17
32
|
}
|
|
18
33
|
|
|
19
34
|
:host([status='error']) textarea {
|
|
20
|
-
border: var(--kemet-textarea-border-color-error
|
|
35
|
+
border: var(--kemet-textarea-border-color-error);
|
|
21
36
|
}
|
|
22
37
|
|
|
23
38
|
:host([status='success']) textarea {
|
|
24
|
-
border: var(--kemet-textarea-border-color-success
|
|
39
|
+
border: var(--kemet-textarea-border-color-success);
|
|
25
40
|
}
|
|
26
41
|
|
|
27
42
|
:host([status='warning']) textarea {
|
|
28
|
-
border: var(--kemet-textarea-border-color-warning
|
|
43
|
+
border: var(--kemet-textarea-border-color-warning);
|
|
29
44
|
}
|
|
30
45
|
|
|
31
46
|
:host([disabled]) textarea {
|
|
@@ -33,37 +48,37 @@ export const stylesTextarea = css `
|
|
|
33
48
|
}
|
|
34
49
|
|
|
35
50
|
:host([icon-left]) textarea {
|
|
36
|
-
padding-left: var(--kemet-textarea-icon-left-padding
|
|
51
|
+
padding-left: var(--kemet-textarea-icon-left-padding);
|
|
37
52
|
}
|
|
38
53
|
|
|
39
54
|
:host([icon-right]) textarea {
|
|
40
|
-
padding-right: var(--kemet-textarea-icon-right-padding
|
|
55
|
+
padding-right: var(--kemet-textarea-icon-right-padding);
|
|
41
56
|
}
|
|
42
57
|
|
|
43
58
|
:host([rounded]) textarea {
|
|
44
|
-
border-radius: var(--kemet-textarea-border-radius-rounded
|
|
59
|
+
border-radius: var(--kemet-textarea-border-radius-rounded);
|
|
45
60
|
}
|
|
46
61
|
|
|
47
62
|
:host([filled]) textarea {
|
|
48
|
-
border: var(--kemet-textarea-border-filled
|
|
49
|
-
color: var(--kemet-textarea-color-filled
|
|
50
|
-
background-color: var(--kemet-textarea-background-color-filled
|
|
63
|
+
border: var(--kemet-textarea-border-filled);
|
|
64
|
+
color: var(--kemet-textarea-color-filled);
|
|
65
|
+
background-color: var(--kemet-textarea-background-color-filled);
|
|
51
66
|
}
|
|
52
67
|
|
|
53
68
|
:host([filled]) textarea::placeholder {
|
|
54
|
-
color: var(--kemet-textarea-color-filled
|
|
69
|
+
color: var(--kemet-textarea-color-filled);
|
|
55
70
|
}
|
|
56
71
|
|
|
57
72
|
:host([status='error'][filled]) textarea {
|
|
58
|
-
background-color: var(--kemet-textarea-background-color-error
|
|
73
|
+
background-color: var(--kemet-textarea-background-color-error);
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
:host([status='success'][filled]) textarea {
|
|
62
|
-
background-color: var(--kemet-textarea-background-color-success
|
|
77
|
+
background-color: var(--kemet-textarea-background-color-success);
|
|
63
78
|
}
|
|
64
79
|
|
|
65
80
|
:host([status='warning'][filled]) textarea {
|
|
66
|
-
background-color: var(--kemet-textarea-background-color-warning
|
|
81
|
+
background-color: var(--kemet-textarea-background-color-warning);
|
|
67
82
|
}
|
|
68
83
|
`;
|
|
69
84
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-textarea/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-textarea/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFhC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesTextarea = css`\n :host {\n --kemet-textarea-padding: 1rem;\n --kemet-textarea-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-textarea-border-color-error: 1px solid rgb(var(--kemet-color-error));\n --kemet-textarea-border-color-success: 1px solid rgb(var(--kemet-color-success));\n --kemet-textarea-border-color-warning: 1px solid rgb(var(--kemet-color-warning));\n --kemet-textarea-icon-left-padding: 3rem;\n --kemet-textarea-icon-right-padding: 3rem;\n --kemet-textarea-border-radius-rounded: var(--kemet-border-radius-md);\n --kemet-textarea-border-filled: none;\n --kemet-textarea-color-filled: rgb(var(--kemet-color-white));\n --kemet-textarea-background-color-filled: rgb(var(--kemet-color-primary));\n --kemet-textarea-background-color-error: rgb(var(--kemet-color-error));\n --kemet-textarea-background-color-success: rgb(var(--kemet-color-success));\n --kemet-textarea-background-color-warning: rgb(var(--kemet-color-warning));\n\n position: relative;\n display: block;\n }\n\n textarea {\n color: rgb(var(--kemet-color-text));\n display: block;\n width: 100%;\n padding: var(--kemet-textarea-padding);\n border: var(--kemet-textarea-border);\n appearance: none;\n box-sizing: border-box;\n background: transparent;\n }\n\n :host([status='error']) textarea {\n border: var(--kemet-textarea-border-color-error);\n }\n\n :host([status='success']) textarea {\n border: var(--kemet-textarea-border-color-success);\n }\n\n :host([status='warning']) textarea {\n border: var(--kemet-textarea-border-color-warning);\n }\n\n :host([disabled]) textarea {\n opacity: 0.5;\n }\n\n :host([icon-left]) textarea {\n padding-left: var(--kemet-textarea-icon-left-padding);\n }\n\n :host([icon-right]) textarea {\n padding-right: var(--kemet-textarea-icon-right-padding);\n }\n\n :host([rounded]) textarea {\n border-radius: var(--kemet-textarea-border-radius-rounded);\n }\n\n :host([filled]) textarea {\n border: var(--kemet-textarea-border-filled);\n color: var(--kemet-textarea-color-filled);\n background-color: var(--kemet-textarea-background-color-filled);\n }\n\n :host([filled]) textarea::placeholder {\n color: var(--kemet-textarea-color-filled);\n }\n\n :host([status='error'][filled]) textarea {\n background-color: var(--kemet-textarea-background-color-error);\n }\n\n :host([status='success'][filled]) textarea {\n background-color: var(--kemet-textarea-background-color-success);\n }\n\n :host([status='warning'][filled]) textarea {\n background-color: var(--kemet-textarea-background-color-warning);\n }\n`;\n"]}
|
|
@@ -7,52 +7,37 @@ import '../../kemet-tabs/kemet-tab-panel';
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: 'Components / Toggle',
|
|
9
9
|
component: 'kemet-toggle',
|
|
10
|
+
args: {
|
|
11
|
+
label: 'Label'
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
export default meta;
|
|
12
|
-
const Template = (
|
|
15
|
+
const Template = (args) => html `
|
|
13
16
|
<kemet-toggle
|
|
14
|
-
label=${ifDefined(label)}
|
|
15
|
-
?disabled=${disabled}
|
|
16
|
-
?checked=${checked}
|
|
17
|
-
?show=${show}
|
|
18
|
-
?squared=${squared}
|
|
19
|
-
option-unchecked=${ifDefined(optionUnchecked)}
|
|
20
|
-
option-checked=${ifDefined(optionChecked)}
|
|
17
|
+
label=${ifDefined(args.label)}
|
|
18
|
+
?disabled=${args.disabled}
|
|
19
|
+
?checked=${args.checked}
|
|
20
|
+
?show=${args.show}
|
|
21
|
+
?squared=${args.squared}
|
|
22
|
+
option-unchecked=${ifDefined(args.optionUnchecked)}
|
|
23
|
+
option-checked=${ifDefined(args.optionChecked)}
|
|
21
24
|
></kemet-toggle>
|
|
22
25
|
`;
|
|
23
26
|
export const Standard = {
|
|
24
27
|
render: args => Template(args),
|
|
28
|
+
};
|
|
29
|
+
export const Squared = {
|
|
30
|
+
render: args => Template(args),
|
|
25
31
|
args: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
squared: true,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const ShowOptions = {
|
|
36
|
+
render: args => Template(args),
|
|
37
|
+
args: {
|
|
38
|
+
show: true,
|
|
31
39
|
optionUnchecked: 'No',
|
|
32
40
|
optionChecked: 'Yes',
|
|
33
41
|
},
|
|
34
|
-
argTypes: {
|
|
35
|
-
label: {
|
|
36
|
-
control: { type: 'text' },
|
|
37
|
-
},
|
|
38
|
-
disabled: {
|
|
39
|
-
control: { type: 'boolean' },
|
|
40
|
-
},
|
|
41
|
-
checked: {
|
|
42
|
-
control: { type: 'boolean' },
|
|
43
|
-
},
|
|
44
|
-
show: {
|
|
45
|
-
control: { type: 'boolean' },
|
|
46
|
-
},
|
|
47
|
-
squared: {
|
|
48
|
-
control: { type: 'boolean' },
|
|
49
|
-
},
|
|
50
|
-
optionChecked: {
|
|
51
|
-
control: { type: 'text' },
|
|
52
|
-
},
|
|
53
|
-
optionUnchecked: {
|
|
54
|
-
control: { type: 'text' },
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
42
|
};
|
|
58
43
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-toggle/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,iBAAiB,CAAC;AAEzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-toggle/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,iBAAiB,CAAC;AAEzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;KACf;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;YAEnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjB,IAAI,CAAC,QAAQ;eACd,IAAI,CAAC,OAAO;YACf,IAAI,CAAC,IAAI;eACN,IAAI,CAAC,OAAO;uBACJ,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;qBACjC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;;CAEjD,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,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-toggle';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Toggle',\n component: 'kemet-toggle',\n args: {\n label: 'Label'\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-toggle\n label=${ifDefined(args.label)}\n ?disabled=${args.disabled}\n ?checked=${args.checked}\n ?show=${args.show}\n ?squared=${args.squared}\n option-unchecked=${ifDefined(args.optionUnchecked)}\n option-checked=${ifDefined(args.optionChecked)}\n ></kemet-toggle>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Squared: Story = {\n render: args => Template(args),\n args: {\n squared: true,\n },\n};\n\nexport const ShowOptions: Story = {\n render: args => Template(args),\n args: {\n show: true,\n optionUnchecked: 'No',\n optionChecked: 'Yes',\n },\n};\n"]}
|
|
@@ -22,15 +22,15 @@ import { FormSubmitController } from '../../utilities/controllers/forms';
|
|
|
22
22
|
* @csspart checked - The checked text.
|
|
23
23
|
* @csspart unchecked - The unchecked text.
|
|
24
24
|
*
|
|
25
|
-
* @cssproperty --kemet-toggle-width - The width of the entire toggle.
|
|
26
|
-
* @cssproperty --kemet-toggle-height - The height of the entire toggle.
|
|
27
|
-
* @cssproperty --kemet-toggle-handle-diameter - The diameter of the handle.
|
|
28
|
-
* @cssproperty --kemet-toggle-track-border - The border of the track.
|
|
29
|
-
* @cssproperty --kemet-toggle-track-color - The color of the track.
|
|
30
|
-
* @cssproperty --kemet-toggle-track-shadow - The shadow on the track.
|
|
31
|
-
* @cssproperty --kemet-toggle-handle-border - The border on the handle.
|
|
32
|
-
* @cssproperty --kemet-toggle-handle-color - The color of the handle.
|
|
33
|
-
* @cssproperty --kemet-toggle-handle-shadow - The shadow on the handle.
|
|
25
|
+
* @cssproperty --kemet-toggle-width - The width of the entire toggle.
|
|
26
|
+
* @cssproperty --kemet-toggle-height - The height of the entire toggle.
|
|
27
|
+
* @cssproperty --kemet-toggle-handle-diameter - The diameter of the handle.
|
|
28
|
+
* @cssproperty --kemet-toggle-track-border - The border of the track.
|
|
29
|
+
* @cssproperty --kemet-toggle-track-color - The color of the track.
|
|
30
|
+
* @cssproperty --kemet-toggle-track-shadow - The shadow on the track.
|
|
31
|
+
* @cssproperty --kemet-toggle-handle-border - The border on the handle.
|
|
32
|
+
* @cssproperty --kemet-toggle-handle-color - The color of the handle.
|
|
33
|
+
* @cssproperty --kemet-toggle-handle-shadow - The shadow on the handle.
|
|
34
34
|
*
|
|
35
35
|
* @event kemet-toggle-change - Fires when the toggle changes state
|
|
36
36
|
*
|
|
@@ -26,15 +26,15 @@ import { stylesToggle } from './styles';
|
|
|
26
26
|
* @csspart checked - The checked text.
|
|
27
27
|
* @csspart unchecked - The unchecked text.
|
|
28
28
|
*
|
|
29
|
-
* @cssproperty --kemet-toggle-width - The width of the entire toggle.
|
|
30
|
-
* @cssproperty --kemet-toggle-height - The height of the entire toggle.
|
|
31
|
-
* @cssproperty --kemet-toggle-handle-diameter - The diameter of the handle.
|
|
32
|
-
* @cssproperty --kemet-toggle-track-border - The border of the track.
|
|
33
|
-
* @cssproperty --kemet-toggle-track-color - The color of the track.
|
|
34
|
-
* @cssproperty --kemet-toggle-track-shadow - The shadow on the track.
|
|
35
|
-
* @cssproperty --kemet-toggle-handle-border - The border on the handle.
|
|
36
|
-
* @cssproperty --kemet-toggle-handle-color - The color of the handle.
|
|
37
|
-
* @cssproperty --kemet-toggle-handle-shadow - The shadow on the handle.
|
|
29
|
+
* @cssproperty --kemet-toggle-width - The width of the entire toggle.
|
|
30
|
+
* @cssproperty --kemet-toggle-height - The height of the entire toggle.
|
|
31
|
+
* @cssproperty --kemet-toggle-handle-diameter - The diameter of the handle.
|
|
32
|
+
* @cssproperty --kemet-toggle-track-border - The border of the track.
|
|
33
|
+
* @cssproperty --kemet-toggle-track-color - The color of the track.
|
|
34
|
+
* @cssproperty --kemet-toggle-track-shadow - The shadow on the track.
|
|
35
|
+
* @cssproperty --kemet-toggle-handle-border - The border on the handle.
|
|
36
|
+
* @cssproperty --kemet-toggle-handle-color - The color of the handle.
|
|
37
|
+
* @cssproperty --kemet-toggle-handle-shadow - The shadow on the handle.
|
|
38
38
|
*
|
|
39
39
|
* @event kemet-toggle-change - Fires when the toggle changes state
|
|
40
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kemet-toggle.js","sourceRoot":"","sources":["../../../src/components/kemet-toggle/kemet-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesToggle } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-toggle\n * @summary A toggle switch for forms.\n *\n * @prop {string} name - The name on the input field\n * @prop {boolean} checked - Determines whether or not the toggle is checked\n * @prop {boolean} disabled - Determines whether or not the toggle is disabled\n * @prop {string} label - A description of the toggle's purpose\n * @prop {boolean} show - Determines whether or not to show text options\n * @prop {boolean} squared - Displays the toggle as squared instead of rounded\n * @prop {string} optionChecked - The checked option text\n * @prop {string} optionUnchecked - The unchecked option text\n *\n * @csspart label - The label element.\n * @csspart control - The control element.\n * @csspart text - The label text.\n * @csspart checked - The checked text.\n * @csspart unchecked - The unchecked text.\n *\n * @cssproperty --kemet-toggle-width - The width of the entire toggle
|
|
1
|
+
{"version":3,"file":"kemet-toggle.js","sourceRoot":"","sources":["../../../src/components/kemet-toggle/kemet-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesToggle } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-toggle\n * @summary A toggle switch for forms.\n *\n * @prop {string} name - The name on the input field\n * @prop {boolean} checked - Determines whether or not the toggle is checked\n * @prop {boolean} disabled - Determines whether or not the toggle is disabled\n * @prop {string} label - A description of the toggle's purpose\n * @prop {boolean} show - Determines whether or not to show text options\n * @prop {boolean} squared - Displays the toggle as squared instead of rounded\n * @prop {string} optionChecked - The checked option text\n * @prop {string} optionUnchecked - The unchecked option text\n *\n * @csspart label - The label element.\n * @csspart control - The control element.\n * @csspart text - The label text.\n * @csspart checked - The checked text.\n * @csspart unchecked - The unchecked text.\n *\n * @cssproperty --kemet-toggle-width - The width of the entire toggle.\n * @cssproperty --kemet-toggle-height - The height of the entire toggle.\n * @cssproperty --kemet-toggle-handle-diameter - The diameter of the handle.\n * @cssproperty --kemet-toggle-track-border - The border of the track.\n * @cssproperty --kemet-toggle-track-color - The color of the track.\n * @cssproperty --kemet-toggle-track-shadow - The shadow on the track.\n * @cssproperty --kemet-toggle-handle-border - The border on the handle.\n * @cssproperty --kemet-toggle-handle-color - The color of the handle.\n * @cssproperty --kemet-toggle-handle-shadow - The shadow on the handle.\n *\n * @event kemet-toggle-change - Fires when the toggle changes state\n *\n */\n\n@customElement('kemet-toggle')\nexport default class KemetToggle extends LitElement {\n formSubmitController: FormSubmitController;\n\n static styles = [stylesToggle];\n\n @property({ type: String })\n name: string = 'toggle-switch';\n\n @property({ type: Boolean, reflect: true })\n checked: boolean = false;\n\n @property({ type: Boolean })\n disabled: boolean = false;\n\n @property({ type: String })\n label: string = '';\n\n @property({ type: Boolean })\n show: boolean = false;\n\n @property({ type: Boolean })\n squared: boolean = false;\n\n @property({ type: String, attribute: 'option-checked' })\n optionChecked: string = 'on';\n\n @property({ type: String, attribute: 'option-unchecked' })\n optionUnchecked: string = 'off';\n\n @state()\n value: string | boolean = this.checked ? this.optionChecked : this.optionUnchecked;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n render() {\n return html`\n <label part=\"label\">\n ${this.makeUncheckedOption()}\n <span part=\"control\">\n <span part=\"track\"></span>\n <span part=\"handle\"></span>\n </span>\n <input\n role=\"switch\"\n type=\"checkbox\"\n name=\"${this.name}\"\n aria-label=\"${this.label}\"\n aria-checked=${this.checked ? 'true' : 'false'}\n ?disabled=${this.disabled}\n ?checked=${this.checked}\n @change=${this.handleChange}\n />\n ${this.makeCheckedOption()}\n <span part=\"text\">${this.label}</span>\n </label>\n `;\n }\n\n handleChange() {\n this.checked = !this.checked;\n this.value = this.checked ? this.optionChecked : this.optionUnchecked;\n emitEvent(this, 'kemet-toggle-change', true);\n }\n\n makeUncheckedOption() {\n if (this.show) {\n return html`<span class=\"option\" part=\"unchecked\">${this.optionUnchecked}</span>`;\n }\n\n return null;\n }\n\n makeCheckedOption() {\n if (this.show) {\n return html`<span class=\"option\" part=\"checked\">${this.optionChecked}</span>`;\n }\n\n return null;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-toggle': KemetToggle\n }\n}\n"]}
|
|
@@ -5,6 +5,12 @@ export const stylesToggle = css `
|
|
|
5
5
|
--kemet-toggle-height: 2rem;
|
|
6
6
|
--kemet-toggle-handle-diameter: 1.6rem;
|
|
7
7
|
--kemet-toggle-handle-margin: calc((var(--kemet-toggle-height) - var(--kemet-toggle-handle-diameter)) / 2);
|
|
8
|
+
--kemet-toggle-track-border: none;
|
|
9
|
+
--kemet-toggle-track-color: rgb(var(--kemet-color-white));
|
|
10
|
+
--kemet-toggle-track-shadow: inset 0 0.4rem 0.7rem 0 rgb(var(--kemet-color-gray-800) / 35%), inset 0 -0.2rem 0.4rem 0 rgb(var(--kemet-color-gray-50));
|
|
11
|
+
--kemet-toggle-handle-border: none;
|
|
12
|
+
--kemet-toggle-handle-color: rgb(var(--kemet-color-primary));
|
|
13
|
+
--kemet-toggle-handle-shadow: 0 0.5rem 0.5rem 0 rgb(var(--kemet-color-black) / 10%), 0 0.5rem 0.5rem 0 rgb(var(--kemet-color-black) / 20%);
|
|
8
14
|
|
|
9
15
|
display: flex;
|
|
10
16
|
align-items: center;
|
|
@@ -46,10 +52,10 @@ export const stylesToggle = css `
|
|
|
46
52
|
[part='track'] {
|
|
47
53
|
width: var(--kemet-toggle-width);
|
|
48
54
|
height: var(--kemet-toggle-height);
|
|
49
|
-
border: var(--kemet-toggle-track-border
|
|
55
|
+
border: var(--kemet-toggle-track-border);
|
|
50
56
|
border-radius: var(--kemet-toggle-height);
|
|
51
|
-
background-color: var(--kemet-toggle-track-color
|
|
52
|
-
box-shadow: var(--kemet-toggle-track-shadow
|
|
57
|
+
background-color: var(--kemet-toggle-track-color);
|
|
58
|
+
box-shadow: var(--kemet-toggle-track-shadow);
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
:host([squared]) [part='track'] {
|
|
@@ -63,10 +69,10 @@ export const stylesToggle = css `
|
|
|
63
69
|
width: var(--kemet-toggle-handle-diameter);
|
|
64
70
|
height: var(--kemet-toggle-handle-diameter);
|
|
65
71
|
transform: translateX(0);
|
|
66
|
-
border: var(--kemet-toggle-handle-border
|
|
72
|
+
border: var(--kemet-toggle-handle-border);
|
|
67
73
|
border-radius: var(--kemet-toggle-handle-diameter);
|
|
68
|
-
background-color: var(--kemet-toggle-handle-color
|
|
69
|
-
box-shadow: var(--kemet-toggle-handle-shadow
|
|
74
|
+
background-color: var(--kemet-toggle-handle-color);
|
|
75
|
+
box-shadow: var(--kemet-toggle-handle-shadow);
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
:host([squared]) [part='handle'] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-toggle/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-toggle/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF9B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesToggle = css`\n :host {\n --kemet-toggle-width: 3.5rem;\n --kemet-toggle-height: 2rem;\n --kemet-toggle-handle-diameter: 1.6rem;\n --kemet-toggle-handle-margin: calc((var(--kemet-toggle-height) - var(--kemet-toggle-handle-diameter)) / 2);\n --kemet-toggle-track-border: none;\n --kemet-toggle-track-color: rgb(var(--kemet-color-white));\n --kemet-toggle-track-shadow: inset 0 0.4rem 0.7rem 0 rgb(var(--kemet-color-gray-800) / 35%), inset 0 -0.2rem 0.4rem 0 rgb(var(--kemet-color-gray-50));\n --kemet-toggle-handle-border: none;\n --kemet-toggle-handle-color: rgb(var(--kemet-color-primary));\n --kemet-toggle-handle-shadow: 0 0.5rem 0.5rem 0 rgb(var(--kemet-color-black) / 10%), 0 0.5rem 0.5rem 0 rgb(var(--kemet-color-black) / 20%);\n\n display: flex;\n align-items: center;\n }\n\n :host([disabled]) {\n opacity: 0.5;\n }\n\n label {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 1rem;\n font-size: inherit;\n color: inherit;\n }\n\n :host([disabled]) label {\n cursor: not-allowed;\n }\n\n input {\n display: none;\n }\n\n [part='control'] {\n position: relative;\n display: inline-flex;\n margin: 0;\n width: var(--kemet-toggle-width);\n height: var(--kemet-toggle-height);\n }\n\n [part='control'] > span {\n transition: 300ms ease-in-out;\n }\n\n [part='track'] {\n width: var(--kemet-toggle-width);\n height: var(--kemet-toggle-height);\n border: var(--kemet-toggle-track-border);\n border-radius: var(--kemet-toggle-height);\n background-color: var(--kemet-toggle-track-color);\n box-shadow: var(--kemet-toggle-track-shadow);\n }\n\n :host([squared]) [part='track'] {\n border-radius: 0;\n }\n\n [part='handle'] {\n position: absolute;\n top: var(--kemet-toggle-handle-margin);\n left: var(--kemet-toggle-handle-margin);\n width: var(--kemet-toggle-handle-diameter);\n height: var(--kemet-toggle-handle-diameter);\n transform: translateX(0);\n border: var(--kemet-toggle-handle-border);\n border-radius: var(--kemet-toggle-handle-diameter);\n background-color: var(--kemet-toggle-handle-color);\n box-shadow: var(--kemet-toggle-handle-shadow);\n }\n\n :host([squared]) [part='handle'] {\n border-radius: 0;\n }\n\n :host([checked]) [part='handle'] {\n transform: translateX(calc(var(--kemet-toggle-width) - var(--kemet-toggle-handle-diameter) - var(--kemet-toggle-handle-margin) * 2));\n }\n\n .option {\n font-size: 90%;\n }\n`;\n"]}
|
|
@@ -8,3 +8,7 @@ declare const meta: Meta;
|
|
|
8
8
|
export default meta;
|
|
9
9
|
declare type Story = StoryObj;
|
|
10
10
|
export declare const Standard: Story;
|
|
11
|
+
export declare const Right: Story;
|
|
12
|
+
export declare const Bottom: Story;
|
|
13
|
+
export declare const Left: Story;
|
|
14
|
+
export declare const OnClick: Story;
|