@thehappycoder/react-responsive-pagination
Version:
React component for responsive pagination
25 lines (24 loc) • 1.29 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var Item_1 = __importDefault(require("./Item"));
var Container_1 = __importDefault(require("./Container"));
var BootstrapSkin = react_1.default.forwardRef(function (_a, ref) {
var items = _a.items;
return (react_1.default.createElement(Container_1.default, { ref: ref }, items.map(createItem)));
});
function createItem(item) {
switch (item.type) {
case 'ellipsis':
return react_1.default.createElement(Item_1.default, { key: item.key, label: '…', a11yHidden: true });
case 'page':
return (react_1.default.createElement(Item_1.default, { key: item.key, onClick: item.onClick, isActive: item.active, label: item.label, a11yLabel: item.active ? '(current)' : undefined }));
case 'previous':
case 'next':
return (react_1.default.createElement(Item_1.default, { key: item.key, onClick: item.onClick, label: item.type === 'previous' ? '«' : '»', a11yLabel: item.type === 'previous' ? 'Previous' : 'Next' }));
}
}
exports.default = BootstrapSkin;