UNPKG

@heycar-uikit/core

Version:
46 lines (40 loc) 3.12 kB
var tslib_es6 = require('./tslib.es6-8002d40c.js'); var React = require('react'); var cn = require('classnames'); var icons = require('../icons'); var Typography = require('../typography'); var Pagination_types = require('./Pagination.types-8f93d27c.js'); 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 = {"pagination":"pagination__pagination_rwdob","currentPage":"pagination__currentPage_rwdob","itemNumber":"pagination__itemNumber_rwdob","arrow":"pagination__arrow_rwdob","ellipsis":"pagination__ellipsis_rwdob","slash":"pagination__slash_rwdob"}; require('./styles/default.css'); 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.itemNumber, isCurrentPage && styles.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.ellipsis, variant: "subheading2" }, '...')); case Pagination_types.PaginationItemType.Slash: return (React__default["default"].createElement(Typography__default["default"], { className: styles.slash, variant: "subheading2" }, '/')); case Pagination_types.PaginationItemType.Previous: return (React__default["default"].createElement(Component, tslib_es6.__assign({ className: styles.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.arrow }, disabledProp, rest, { onClick: onClick }), React__default["default"].createElement(icons.ChevronRight, null))); } }; exports.PaginationItem = PaginationItem; exports.styles = styles;