react-material-pagination-v4z
Version:
React material(v.4) pagination. (Hooks)
2 lines (1 loc) • 4.63 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@material-ui/core"),require("@delpi/common")):"function"==typeof define&&define.amd?define(["exports","react","@material-ui/core","@delpi/common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactPagination={},e.React,e.core,e.common)}(this,(function(e,t,a,i){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(t);var o=a.makeStyles((function(e){return{paginatorRootContainer:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px"},paginatorContainer:{"& div.paging-hide":{opacity:.4,pointerEvents:"none","&.paging-hide-now":{opacity:0},"& .paging-more":{opacity:0}},"& .paging-more":{fontSize:"1rem",fontWeight:"bold"},"& div.paging-show":{visibility:"visible",pointerEvents:"all"}},pagerContainer:{"& .paging-forward-back":{cursor:"pointer",padding:8},"& div":{minWidth:"32px",height:"32px"},"& .paging-separator":{fontWeight:"bold",minWidth:"unset"},"& .paging-current":{borderRadius:"4px"}},pagingButton:{margin:"8px auto",color:e.palette.primary.main||"#3f50b5",userSelect:"none","& button":{minWidth:48,height:32,borderRadius:8,backgroundColor:"#fff",color:e.palette.primary.main||"#3f50b5",border:"1px solid ".concat(e.palette.primary.main||"#3f50b5"),"&.Mui-disabled":{opacity:.4,color:"".concat(e.palette.primary.main||"#3f50b5"," !important")},"&.paging-active":{backgroundColor:e.palette.primary.main||"#3f50b5",color:"#fff",border:"none"}}}}})),l=function(e){var t=e.className,n=e.totalCount,l=e.limit,s=void 0===l?10:l,d=e.currentPage,c=e.sectionNumber,u=void 0===c?5:c,f=e.type,p=void 0===f?"default":f,g=e.labelFirst,m=void 0===g?"|<<":g,v=e.labelLast,b=void 0===v?">>|":v,C=e.labelBack,h=void 0===C?"<":C,y=e.labelForward,E=void 0===y?">":y,F=e.showFirstLast,N=void 0===F||F,j=e.showForwardBack,k=void 0!==j&&j,R=e.hideFirstLastIfActive,w=void 0!==R&&R,x=e.setCurrentPage;if(!n||!s)return r.default.createElement(r.default.Fragment,null);var B=o(),H=Math.ceil(n/s);r.default.useEffect((function(){d<=0&&x(1),d>H&&x(H)}),[d]),u<3&&(u=3),u>H&&(u=H);var U,P,W=d>2,q=d+u<=H+1,A=d>H;if("default"!==p)return r.default.createElement((function(){return r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,B.pagerContainer,B.pagingButton,t)},N&&r.default.createElement(_,{disabled:U}),r.default.createElement(z,{disabled:U}),r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,"paging-current")},A?H:d),r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,"paging-separator")},"/"),r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,"paging-totals")},H),r.default.createElement(z,{isFirst:!1,disabled:P}),N&&r.default.createElement(_,{isFirst:!1,disabled:P}))}),null);U=(A=A||H<=u)||d<=1,P=A||d>=H;var L=[],M=d-1;M<=0&&(M=1);var S=M+u;S>H&&(M=(S=H+1)-u);for(var I=M;I<S;I++)L.push(I);return r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,B.paginatorContainer,B.pagingButton,t)},k&&r.default.createElement(z,{disabled:U}),N&&r.default.createElement(T,null),function(e,t,a){if(a||2===arguments.length)for(var i,n=0,r=t.length;n<r;n++)!i&&n in t||(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}([],L,!0).map((function(e,t){return r.default.createElement(a.Button,{key:"n-".concat(e,"-").concat(t),className:i.HtmlUtils.joinClass("paging-numbered",d===e&&"paging-active"),onClick:function(){return x(e)}},e)})),N&&r.default.createElement(T,{isFirst:!1}),k&&r.default.createElement(z,{isFirst:!1,disabled:P}));function T(e){var t=e.isFirst,a=void 0===t||t,n=a?W:q;return r.default.createElement("div",{className:i.HtmlUtils.joinClass(B.paginatorRootContainer,"".concat(!A&&n?"paging-show":"paging-hide"),w&&"paging-hide-now")},!a&&r.default.createElement("span",{className:"paging-more"},"..."),r.default.createElement(_,{isFirst:a}),a&&r.default.createElement("span",{className:"paging-more"},"..."))}function _(e){var t=e.isFirst,i=void 0===t||t,n=e.disabled,o=void 0!==n&&n;return r.default.createElement(a.Button,{className:"paging-first-last",disabled:o,onClick:function(){return x(i?1:H)}},i?m:b)}function z(e){var t=e.isFirst,i=void 0===t||t,n=e.disabled,o=void 0!==n&&n;return r.default.createElement(a.Button,{className:"paging-forward-back",disabled:o,onClick:function(){if(!o)return x(d-(i?1:-1))}},i?h:E)}};e.Pagination=l,e.default=l,Object.defineProperty(e,"__esModule",{value:!0})}));