react-instantsearch
Version:
⚡ Lightning-fast search for React, by Algolia
62 lines (58 loc) • 2.6 kB
JavaScript
;
var _object_spread = require('@swc/helpers/_/_object_spread');
var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
var React = require('react');
var reactInstantsearchCore = require('react-instantsearch-core');
var Pagination$1 = require('../ui/Pagination.js');
function Pagination(_0) {
var showFirst = _0.showFirst, showPrevious = _0.showPrevious, showNext = _0.showNext, showLast = _0.showLast, padding = _0.padding, totalPages = _0.totalPages, translations = _0.translations, props = _object_without_properties._(_0, [
"showFirst",
"showPrevious",
"showNext",
"showLast",
"padding",
"totalPages",
"translations"
]);
var _usePagination = reactInstantsearchCore.usePagination({
padding: padding,
totalPages: totalPages
}, {
$$widgetType: 'ais.pagination'
}), pages = _usePagination.pages, currentRefinement = _usePagination.currentRefinement, isFirstPage = _usePagination.isFirstPage, isLastPage = _usePagination.isLastPage, nbPages = _usePagination.nbPages, createURL = _usePagination.createURL, refine = _usePagination.refine;
var uiProps = {
pages: pages,
currentPage: currentRefinement,
isFirstPage: isFirstPage,
isLastPage: isLastPage,
nbPages: nbPages,
createURL: createURL,
onNavigate: refine,
translations: _object_spread._({
firstPageItemText: '‹‹',
previousPageItemText: '‹',
nextPageItemText: '›',
lastPageItemText: '››',
pageItemText: function pageItemText(param) {
var currentPage = param.currentPage;
return String(currentPage);
},
firstPageItemAriaLabel: 'First Page',
previousPageItemAriaLabel: 'Previous Page',
nextPageItemAriaLabel: 'Next Page',
lastPageItemAriaLabel: "Last Page, Page ".concat(nbPages),
pageItemAriaLabel: function pageItemAriaLabel(param) {
var currentPage = param.currentPage;
return "Page ".concat(currentPage);
}
}, translations)
};
return /*#__PURE__*/ React.createElement(Pagination$1.Pagination, _object_spread_props._(_object_spread._({}, props, uiProps), {
showFirst: showFirst,
showPrevious: showPrevious,
showNext: showNext,
showLast: showLast
}));
}
exports.Pagination = Pagination;