@brightleaf/elements
Version:
React UI elements styled with Bulma CSS
125 lines (101 loc) • 4.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Pagination = exports.PaginationList = exports.PaginationNext = exports.PaginationPrevious = exports.PaginationEllipsis = exports.PaginationLink = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var PaginationLink = function PaginationLink(_ref) {
var label = _ref.label,
className = _ref.className,
page = _ref.page,
onClick = _ref.onClick,
isCurrent = _ref.isCurrent,
props = _objectWithoutProperties(_ref, ["label", "className", "page", "onClick", "isCurrent"]);
return _react.default.createElement("a", _extends({
className: (0, _classnames.default)('pagination-link', className, {
'is-current': isCurrent
}),
"aria-label": "Goto page ".concat(page),
onClick: onClick
}, props), label || page);
};
exports.PaginationLink = PaginationLink;
var PaginationEllipsis = function PaginationEllipsis(_ref2) {
var className = _ref2.className;
return _react.default.createElement("span", {
className: (0, _classnames.default)('pagination-ellipsis', className)
}, "\u2026");
};
exports.PaginationEllipsis = PaginationEllipsis;
var PaginationPrevious = function PaginationPrevious(_ref3) {
var label = _ref3.label,
className = _ref3.className,
page = _ref3.page,
onClick = _ref3.onClick,
props = _objectWithoutProperties(_ref3, ["label", "className", "page", "onClick"]);
return _react.default.createElement("a", _extends({
className: (0, _classnames.default)('pagination-previous', className),
"aria-label": "Goto page ".concat(page),
onClick: onClick
}, props), label);
};
exports.PaginationPrevious = PaginationPrevious;
PaginationPrevious.defaultProps = {
label: 'Previous'
};
var PaginationNext = function PaginationNext(_ref4) {
var label = _ref4.label,
className = _ref4.className,
page = _ref4.page,
onClick = _ref4.onClick,
props = _objectWithoutProperties(_ref4, ["label", "className", "page", "onClick"]);
return _react.default.createElement("a", _extends({
className: (0, _classnames.default)('pagination-next', className),
"aria-label": "Goto page ".concat(page),
onClick: onClick
}, props), label);
};
exports.PaginationNext = PaginationNext;
PaginationNext.defaultProps = {
label: 'Next'
};
var PaginationList = function PaginationList(_ref5) {
var children = _ref5.children,
className = _ref5.className;
var kids = _react.default.Children.map(children, function (child, i) {
return _react.default.createElement("li", null, child);
});
return _react.default.createElement("ul", {
className: (0, _classnames.default)('pagination-list', className)
}, kids);
};
exports.PaginationList = PaginationList;
var Pagination = function Pagination(_ref6) {
var className = _ref6.className,
children = _ref6.children,
isRight = _ref6.isRight,
isCentered = _ref6.isCentered,
isRounded = _ref6.isRounded,
isSmall = _ref6.isSmall,
isMedium = _ref6.isMedium,
isLarge = _ref6.isLarge;
var classes = {
'is-right': isRight,
'is-centered': isCentered,
'is-rounded': isRounded,
'is-small': isSmall,
'is-medium': isMedium,
'is-large': isLarge
};
return _react.default.createElement("nav", {
className: (0, _classnames.default)('pagination', className, classes),
role: "navigation",
"aria-label": "pagination"
}, children);
};
exports.Pagination = Pagination;