@thehappycoder/react-responsive-pagination
Version:
React component for responsive pagination
21 lines (20 loc) • 1.37 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable jsx-a11y/anchor-is-valid */
var react_1 = __importDefault(require("react"));
function Item(_a) {
var label = _a.label, handleClick = _a.onClick, _b = _a.isActive, isActive = _b === void 0 ? false : _b, a11yLabel = _a.a11yLabel, a11yHidden = _a.a11yHidden;
return (react_1.default.createElement("li", { className: "page-item" + getLiExtraClasses(isActive, !handleClick), "aria-hidden": a11yHidden }, handleClick ? (react_1.default.createElement("a", { className: "page-link", href: "#", onClick: handleClick, "aria-label": a11yLabel }, getContent(label, a11yLabel))) : (react_1.default.createElement("span", { className: "page-link" }, getContent(label, a11yLabel)))));
}
exports.default = Item;
function getLiExtraClasses(active, disabled) {
return "" + (active ? ' active' : '') + (disabled ? ' disabled' : '');
}
function getContent(label, a11yLabel) {
return a11yLabel ? (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement("span", { "aria-hidden": "true" }, label),
react_1.default.createElement("span", { className: "sr-only" }, a11yLabel))) : (label);
}