UNPKG

@heycar-uikit/core

Version:
46 lines (40 loc) 3.12 kB
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;