UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

89 lines (88 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Prev = exports.Next = exports.Last = exports.First = exports.Ellipsis = void 0; exports.default = PaginationItem; var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable react/no-multi-comp */ const propTypes = { eventKey: _propTypes.default.any, className: _propTypes.default.string, onSelect: _propTypes.default.func, disabled: _propTypes.default.bool, active: _propTypes.default.bool, activeLabel: _propTypes.default.string.isRequired }; const defaultProps = { active: false, disabled: false, activeLabel: '(current)' }; function PaginationItem({ active, disabled, className, style, activeLabel, children, ...props }) { const Component = active || disabled ? 'span' : _SafeAnchor.default; return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", { style: style, className: (0, _classnames.default)(className, { active, disabled }), children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Component, { disabled: disabled, ...props, children: [children, active && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "sr-only", children: activeLabel })] }) }); } PaginationItem.propTypes = propTypes; PaginationItem.defaultProps = defaultProps; function createButton(name, defaultValue, label = name) { var _Class; return _Class = class extends _react.default.Component { render() { const { disabled, children, className, ...props } = this.props; const Component = disabled ? 'span' : _SafeAnchor.default; return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", { "aria-label": label, className: (0, _classnames.default)(className, { disabled }), ...props, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { children: children || defaultValue }) }); } }, _defineProperty(_Class, "displayName", name), _defineProperty(_Class, "propTypes", { disabled: _propTypes.default.bool }), _Class; } const First = exports.First = createButton('First', '\u00ab'); const Prev = exports.Prev = createButton('Prev', '\u2039'); const Ellipsis = exports.Ellipsis = createButton('Ellipsis', '\u2026', 'More'); const Next = exports.Next = createButton('Next', '\u203a'); const Last = exports.Last = createButton('Last', '\u00bb'); //# sourceMappingURL=PaginationItem.js.map