@heycar-uikit/core
Version:
The React UI library from HeyCar
46 lines (40 loc) • 3.12 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('./tslib.es6-dc6abeaa.js');
var React = require('react');
var cn = require('classnames');
var icons = require('../../icons/cssm');
var Typography = require('../../typography/cssm');
var Pagination_types = require('./Pagination.types-254e1d66.js');
var styles = require('./styles/default.module.css');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
var ELEMENTS_THAT_CAN_BE_DISABLED = ['button', 'input'];
var PaginationItem = function (_a) {
var _b;
var page = _a.page, isCurrentPage = _a.isCurrentPage, isDisabled = _a.isDisabled, itemType = _a.itemType, onClick = _a.onClick, _c = _a.component, component = _c === void 0 ? onClick ? 'button' : 'a' : _c, rest = tslib_es6.__rest(_a, ["page", "isCurrentPage", "isDisabled", "itemType", "onClick", "component"]);
var Component = component;
var canUseDisabledProp = typeof component === 'string' &&
ELEMENTS_THAT_CAN_BE_DISABLED.includes(component);
var disabledProp = (_b = {},
_b[canUseDisabledProp ? 'disabled' : 'aria-disabled'] = isDisabled,
_b);
switch (itemType) {
case Pagination_types.PaginationItemType.PageNumber:
return (React__default["default"].createElement(Component, tslib_es6.__assign({ className: cn__default["default"](styles__default["default"].itemNumber, isCurrentPage && styles__default["default"].currentPage) }, rest, { "aria-current": isCurrentPage, onClick: onClick }),
React__default["default"].createElement(Typography__default["default"], { variant: "subheading2" }, page)));
case Pagination_types.PaginationItemType.Ellipsis:
return (React__default["default"].createElement(Typography__default["default"], { className: styles__default["default"].ellipsis, variant: "subheading2" }, '...'));
case Pagination_types.PaginationItemType.Slash:
return (React__default["default"].createElement(Typography__default["default"], { className: styles__default["default"].slash, variant: "subheading2" }, '/'));
case Pagination_types.PaginationItemType.Previous:
return (React__default["default"].createElement(Component, tslib_es6.__assign({ className: styles__default["default"].arrow }, disabledProp, rest, { onClick: onClick }),
React__default["default"].createElement(icons.ChevronLeft, null)));
case Pagination_types.PaginationItemType.Next:
return (React__default["default"].createElement(Component, tslib_es6.__assign({ className: styles__default["default"].arrow }, disabledProp, rest, { onClick: onClick }),
React__default["default"].createElement(icons.ChevronRight, null)));
}
};
exports.PaginationItem = PaginationItem;