"use strict";
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};
var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var assign = require("lodash/assign");
var React = require("react");
var recompose_1 = require("recompose");
var styled_components_1 = require("styled-components");
var asRendition_1 = require("../asRendition");
var utils_1 = require("../utils");
var Txt_1 = require("./Txt");
var Heading = styled_components_1.default.h3(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t", "\n\t", ";\n\t", "\n\t", "\n"], ["\n\t", "\n\t", ";\n\t", "\n\t", "\n"])), Txt_1.align, utils_1.monospace, Txt_1.caps, Txt_1.bold);
Heading.displayName = 'Heading';
var setDefaultProps = recompose_1.withProps(function (props) {
    return assign({
        fontSize: 4,
        m: 0,
    }, props);
});
var Factory = function (tag) {
    return asRendition_1.default(function (props) {
        return React.createElement(Heading, __assign({ as: tag }, props));
    }, [setDefaultProps]);
};
var Base = Factory();
Base.h1 = Factory('h1');
Base.h1.defaultProps = {
    fontSize: 6,
    m: 0,
};
Base.h2 = Factory('h2');
Base.h2.defaultProps = {
    fontSize: 5,
    m: 0,
};
Base.h3 = Factory('h3');
Base.h3.defaultProps = {
    fontSize: 4,
    m: 0,
};
Base.h4 = Factory('h4');
Base.h4.defaultProps = {
    fontSize: 3,
    m: 0,
};
Base.h5 = Factory('h5');
Base.h5.defaultProps = {
    fontSize: 2,
    m: 0,
};
Base.h6 = Factory('h6');
Base.h6.defaultProps = {
    fontSize: 1,
    m: 0,
};
exports.default = Base;
var templateObject_1;
