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 __());
    };
})();
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);
};
import React from 'react';
import PropTypes from 'prop-types';
import { PurePagination } from './PurePagination';
import { CounterText } from './CounterText';
import { CommonListLayout } from './common/CommonListLayout';
import lang from '../../../lang/common/index-en_US';
// CommonListLayout
var PureListLayout = /** @class */ (function (_super) {
    __extends(PureListLayout, _super);
    function PureListLayout() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.renderCounterText = function () {
            var _a = _this.props, hasStoreCounterText = _a.hasStoreCounterText, counter = _a.counter, storeCounterText = _a.storeCounterText;
            if (!hasStoreCounterText) {
                return null;
            }
            return React.createElement(CounterText, { counter: counter, template: storeCounterText });
        };
        _this.renderPagination = function (showPageSizeSelector) {
            if (showPageSizeSelector === void 0) { showPageSizeSelector = true; }
            var _a = _this.props, paginationProps = _a.paginationProps, paginationComponent = _a.paginationComponent;
            var PaginationComponent = paginationComponent;
            return (React.createElement(PaginationComponent, __assign({ showPageSizeSelector: showPageSizeSelector }, paginationProps)));
        };
        return _this;
    }
    PureListLayout.prototype.render = function () {
        return (React.createElement(CommonListLayout, __assign({ renderCounterText: this.renderCounterText, renderPagination: this.renderPagination }, this.props)));
    };
    PureListLayout.propTypes = {
        hasStoreCounterText: PropTypes.bool,
        storeCounterText: PropTypes.string,
        paginationProps: PropTypes.shape(PurePagination['propTypes']),
        paginationComponent: PropTypes.func,
        counter: PropTypes.number
    };
    PureListLayout.defaultProps = {
        hasStoreCounterText: true,
        get storeCounterText() {
            return lang.TOTAL_AMOUNT;
        },
        paginationProps: PurePagination.defaultProps,
        paginationComponent: PurePagination,
        counter: 0
    };
    PureListLayout.VIEW_MODE_DETAILS = CommonListLayout.VIEW_MODE_DETAILS;
    PureListLayout.VIEW_MODE_FULL = CommonListLayout.VIEW_MODE_FULL;
    return PureListLayout;
}(React.Component));
export { PureListLayout };
//# sourceMappingURL=PureListLayout.js.map