All files / src/custom-element/mixins/components/sizable SizableMixin.ts

100% Statements 9/9
100% Branches 2/2
100% Functions 3/3
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 375x   5x   5x   16x       31x   8x       23x           62x                           5x
import mergeStyles from "../../../helpers/mergeStyles";
import { CustomElementPropertyMetadata } from "../../../interfaces";
import styles from "./SizableMixin.css";
 
const SizableMixin = Base =>
 
    class Sizable extends Base {
 
        static get styles(): string {
 
            if (this.atomic === true) { // Do not include the SizableMixin styles
 
                return super.styles;
            }
            else {
 
                return mergeStyles(super.styles, styles);
            }
        }
 
        static get properties(): Record<string, CustomElementPropertyMetadata> {
 
            return {
 
                size: {
                    type: String,
                    value: 'medium',
                    mutable: true,
                    reflect: true,
                    inherit: true,
                    options: ['small', 'large', 'medium']
                }
            };
        }
    };
 
export default SizableMixin;