@talend/react-bootstrap
Version:
Bootstrap 3 components built with React
82 lines • 2.82 kB
JavaScript
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 */
import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import SafeAnchor from './SafeAnchor';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const propTypes = {
eventKey: PropTypes.any,
className: PropTypes.string,
onSelect: PropTypes.func,
disabled: PropTypes.bool,
active: PropTypes.bool,
activeLabel: PropTypes.string.isRequired
};
const defaultProps = {
active: false,
disabled: false,
activeLabel: '(current)'
};
export default function PaginationItem({
active,
disabled,
className,
style,
activeLabel,
children,
...props
}) {
const Component = active || disabled ? 'span' : SafeAnchor;
return /*#__PURE__*/_jsx("li", {
style: style,
className: classNames(className, {
active,
disabled
}),
children: /*#__PURE__*/_jsxs(Component, {
disabled: disabled,
...props,
children: [children, active && /*#__PURE__*/_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.Component {
render() {
const {
disabled,
children,
className,
...props
} = this.props;
const Component = disabled ? 'span' : SafeAnchor;
return /*#__PURE__*/_jsx("li", {
"aria-label": label,
className: classNames(className, {
disabled
}),
...props,
children: /*#__PURE__*/_jsx(Component, {
children: children || defaultValue
})
});
}
}, _defineProperty(_Class, "displayName", name), _defineProperty(_Class, "propTypes", {
disabled: PropTypes.bool
}), _Class;
}
export const First = createButton('First', '\u00ab');
export const Prev = createButton('Prev', '\u2039');
export const Ellipsis = createButton('Ellipsis', '\u2026', 'More');
export const Next = createButton('Next', '\u203a');
export const Last = createButton('Last', '\u00bb');
//# sourceMappingURL=PaginationItem.js.map