'use strict';

var index = require('./index-BEF5cZxd.js');
var props = require('./props-CPENhBnM.js');
var sizes = require('./sizes-D5zsw2g5.js');
var utils = require('./utils-NnC78QR3.js');
var template = require('./template-Cj6PcLmR.js');
require('./gov.log-C5EH15b_.js');

const SpacerSize = utils.pick(sizes.Sizes, ['_2XS', '_XS', '_S', '_M', '_L', '_XL', '_2XL', '_3XL', '_4XL']);
var SpacerBreakpoints;
(function (SpacerBreakpoints) {
    SpacerBreakpoints["NONE"] = "none";
    SpacerBreakpoints["SM"] = "sm";
    SpacerBreakpoints["MD"] = "md";
    SpacerBreakpoints["LG"] = "lg";
    SpacerBreakpoints["XL"] = "xl";
})(SpacerBreakpoints || (SpacerBreakpoints = {}));
const SpacerClass = {
    root: 'gov-spacer',
};

const GovSpacer = class {
    constructor(hostRef) {
        index.registerInstance(this, hostRef);
        /**
         * Breakpoint
         */
        this.breakpoint = undefined;
        this.h = template.govHost(this.host);
    }
    validateSize(newValue) {
        props.validateProp(SpacerSize, newValue, SpacerClass.root);
    }
    validateBreakpoint(newValue) {
        props.validateProp(SpacerBreakpoints, newValue, SpacerClass.root);
    }
    componentWillLoad() {
        this.validateSize(this.size);
        this.validateBreakpoint(this.breakpoint);
    }
    render() {
        return index.h(index.Host, { key: '97560206986a3dea272c7e4a939bb91a050f6252', class: this.h.classes(SpacerClass.root), size: this.size, breakpoint: this.breakpoint });
    }
    get host() { return index.getElement(this); }
    static get watchers() { return {
        "size": ["validateSize"],
        "breakpoint": ["validateBreakpoint"]
    }; }
};

exports.gov_spacer = GovSpacer;
//# sourceMappingURL=gov-spacer.entry.cjs.js.map

//# sourceMappingURL=gov-spacer.cjs.entry.js.map