@xcritical/pagination
Version:
3 lines (2 loc) • 4.22 kB
JavaScript
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),a=require("styled-components"),n=e(a),r=require("@xcritical/select"),o=e(r),i=require("@xcritical/button"),c=e(i),l=e(require("lodash.range")),u=require("@xcritical/theme");function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}function p(e,t){return t||(t=e.slice(0)),e.raw=t,e}var m,d,f={wrapper:{display:"inline-flex"},totals:{display:"flex",alignItems:"center",marginRight:"15px"},buttonGroup:{borderRadius:"5px"},button:{borderColor:u.colors.PRIMARY,selected:{background:u.colors.WHITE,borderColor:u.colors.PRIMARY,color:u.colors.PRIMARY+" !important"},hover:{background:u.colors.WHITE},active:{background:u.colors.WHITE,borderColor:u.colors.PRIMARY,color:u.colors.PRIMARY,boxShadowColor:"transparent"}},select:{width:"120px",container:{marginLeft:"15px"},button:{borderColor:u.colors.PRIMARY}}},b=function(e,t){return u.getThemedState("@xcritical\\pagination",f)(e,t)},g=function(e){return{value:e,label:e}},h=n.div(m||(m=p(["\n ",";\n"])),(function(e){return b(e.theme,["wrapper"])})),v=n.div(d||(d=p(["\n ",";\n"])),(function(e){return b(e.theme,["totals"])})),x=t.memo((function(e){var a=e.currentPage,n=e.pageSize,r=e.total,o=a*n;return t.createElement(v,{className:e.className},(a-1)*n+1+" - "+(o>r?r:o)+" of "+r)}));exports.Pagination=a.withTheme((function(e){var a=e.currentPage,n=void 0===a?1:a,u=e.visibleRange,p=void 0===u?5:u,m=e.showSizeChanger,d=void 0===m||m,f=e.showTotals,v=void 0!==f&&f,N=e.disabled,P=void 0!==N&&N,_=e.pageSize,E=void 0===_?25:_,R=e.pageSizeOptions,C=void 0===R?[25,50,100]:R,M=e.pageSizeProps,S=e.total,I=e.onChangePage,T=e.onChangePageSize,k=e.theme,w=e.className,y=e.classNamePrefix,z=Math.ceil(S/E),B=z-2,q=z>=1,A=z>=3,Y=z>=2,O=B>p,j=O?p:B,G=Math.ceil(j/2),H=function(e,t,a,n,r){if(a){if(e<=r)return l(2,2+n);if(e+r>=t)return l(t-n,t);var o=e-r+1;return l(o,o+n)}return l(2,2+n)}(n,z,O,j,G),W=H[G-1],D=O&&W-G>1,L=O&&W+G<z,F=g(E),J=C.map(g),K=function(e){var t;return(t={})[i.buttonGroupThemeNamespace]=b(e,["buttonGroup"]),t}(k),Q=function(e){var t;return(t={})[i.buttonThemeNamespace]={appearance:{paginationButton:b(e,["button"])}},t}(k),U=function(e){var t;return(t={})[r.selectThemeNamespace]={appearance:{paginationSelect:b(e,["select"])}},t}(k);return t.createElement(h,{className:w},v&&t.createElement(x,{className:y&&y+"__totals",currentPage:n,pageSize:E,total:S}),t.createElement(i.ButtonGroup,{className:y&&y+"__button-group",theme:K},q&&t.createElement(c,{className:y&&y+"__button-"+n,classNamePrefix:y&&y+"-button",theme:Q,appearance:"paginationButton",selected:1===n,disabled:P,onClick:function(){return I(1)}},"1"),D&&t.createElement(c,{className:y&&y+"__button-previous",classNamePrefix:y&&y+"-button",theme:Q,appearance:"paginationButton",disabled:P,onClick:function(){return function(e){var t=n-p;I(t<=p?e+1:t)}(G)}},t.createElement("span",null,"‹")),A&&H.map((function(e){return t.createElement(c,{className:y&&y+"__button-visible-page-"+e,classNamePrefix:y&&y+"-button",key:e,theme:Q,appearance:"paginationButton",selected:n===e,disabled:P,onClick:function(){return I(e)}},e)})),L&&t.createElement(c,{className:w&&w+"__button-next",classNamePrefix:y&&y+"-button",theme:Q,appearance:"paginationButton",disabled:P,onClick:function(){return function(e,t,a){var n=t+p;I(n>a-p?a-e:n)}(G,W,z)}},t.createElement("span",null,"›")),Y&&t.createElement(c,{className:y&&y+"__button-last-page",classNamePrefix:y&&y+"-button",theme:Q,appearance:"paginationButton",selected:n===z,disabled:P,onClick:function(){return I(z)}},z)),d&&t.createElement(o,s({className:y&&y+"__select",classNamePrefix:y&&y+"-select",theme:U,appearance:"paginationSelect",options:J,value:F,isDisabled:P,isMulti:!1,onChange:function(e){var t,a,r=Math.ceil(S/(null!=(t=null==e?void 0:e.value)?t:1));T&&T(n>r?r:n,null!=(a=null==e?void 0:e.value)?a:1)}},M)))})),exports.paginationThemeNamespace="@xcritical\\pagination";
//# sourceMappingURL=pagination.cjs.production.min.js.map