@talend/react-bootstrap
Version:
Bootstrap 3 components built with React
89 lines (88 loc) • 3.43 kB
JavaScript
;
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