var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Spinner } from './Spinner/Spinner';
var Loader = /** @class */ (function (_super) {
    __extends(Loader, _super);
    function Loader() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Loader.prototype.renderContent = function () {
        var children = this.props.children;
        if (!children || (typeof children === 'string' && !children.trim())) {
            return null;
        }
        return React.createElement("div", { className: "loader-content" }, children);
    };
    Loader.prototype.render = function () {
        var size = this.props.size;
        return (React.createElement("div", { className: "loader-overlay" },
            React.createElement("div", { className: "loader-wrapper" },
                React.createElement("div", { className: "loader" },
                    React.createElement(Spinner, { size: size }),
                    this.renderContent()))));
    };
    Loader.propTypes = {
        children: PropTypes.node,
        size: PropTypes.number
    };
    Loader.defaultProps = {
        children: null,
        size: 32
    };
    return Loader;
}(PureComponent));
export { Loader };
//# sourceMappingURL=Loader.js.map