UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 914 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../pager.style.js"),n=require("../../../hooks/__internal__/useLocale/useLocale.js");exports.default=({type:i,currentPage:s,pageCount:a,hideDisabledElements:l,pageSize:u,onClick:o,onPagination:d})=>{const c=n.default(),p=t.useRef(null),x={first:{text:c.pager.first(),destination:1},last:{text:c.pager.last(),destination:a},next:{text:c.pager.next(),destination:s+1},previous:{text:c.pager.previous(),destination:s-1}},g=t.useCallback((()=>1===s?"previous"===i||"first"===i:s===a&&("next"===i||"last"===i)),[a,s,i]);t.useEffect((()=>{g()&&p.current&&p.current.blur()}),[g]);const{text:f}=x[i],b=l&&g();return e.jsx(r.StyledPagerLink,{hideDisabledButtons:b,"data-element":`pager-link-${i}`,disabled:g(),onClick:e=>{null==o||o(e),null==d||d(x[i].destination,u,i)},ref:p,children:f})};