UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

4 lines (3 loc) 1.4 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("classnames"),t=require("./styles.module.scss.cjs"),i=require("./Pagination.constant.cjs"),s=require("./PaginationButton.cjs"),n=require("../Icon/index.cjs"),l=require("./Pagination.helper.cjs"),o=require("../../helpers/typography.cjs");function r(e){return e&&e.__esModule?e:{default:e}}var c=r(a);exports.default=a=>{const{activePage:r=i.PAGINATION_DEFAULT_PROPS.activePage,buttonClassName:u,className:d,onClick:g,totalPage:P=i.PAGINATION_DEFAULT_PROPS.totalPage,...p}=a,f=Math.min(Math.max(r,1),P),j=Math.max(P,1),m=c.default(t.default.legion_pagination,d),x=c.default(t.default.pagination_page,u),_=e=>()=>{g?.(e)},N=l.getPageNumbers(j,f);return e.jsxs("div",{className:m,...p,children:[e.jsx(s.PaginationButton,{className:t.default.pagination_prev,label:e.jsx(n.default,{icon:"chevron-left"}),onClick:()=>{f>1&&g?.(f-1)},disabled:1===f}),N.map((a,i)=>{const l=o.kebabCase(`${i}-${a}`);return"dots"===a?e.jsx(n.default,{icon:"ellipsis",className:t.default.pagination_dots,color:"tertiary"},l):e.jsx(s.PaginationButton,{className:x,active:a===f,label:a,onClick:_(a)},l)}),e.jsx(s.PaginationButton,{className:t.default.pagination_next,label:e.jsx(n.default,{icon:"chevron-right"}),onClick:()=>{f<j&&g?.(f+1)},disabled:f===j})]})}; //# sourceMappingURL=Pagination.cjs.map