UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

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