@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 753 B
JavaScript
import{jsxs as e,jsx as l}from"react/jsx-runtime";import{Container as r,ControlButton as a,ArrowCaretIcon as t,ArrowIcon as i,PaginatorItem as n,ArrowCaretNextIcon as o,ArrowNextIcon as c}from"./styled.js";import{usePaginatorPages as d,emptySpace as u}from"./utils.js";const s=({current:s,onChange:m,lastPage:v,arrowStyles:p="default"})=>{const b=d(null!=s?s:1,v),f=e=>{m(e)};return e(r,{children:[l(a,{$disabled:1===v,onClick:()=>{m(!s||s<=1?v:s-1)},children:l("caret"===p?t:i,{})}),b.map(e=>l(n,{$active:e.value===s,$disabled:e.value===u||e.value===s,onClick:"number"==typeof e.value?f.bind(null,e.value):()=>{},children:e.value},e.id)),l(a,{$disabled:1===v,onClick:()=>{m(!s||s>=v?1:s+1)},children:l("caret"===p?o:c,{})})]})};export{s as Paginator};