@rdsaude/pulso-react-components
Version:
Biblioteca de componentes React do Pulso Design System da RD Saúde oferece componentes consistentes e de alto desempenho, alinhados com os padrões da RDSaúde. Ideal para desenvolver aplicações modernas e acessíveis.
2 lines • 2.37 kB
JavaScript
import{a as y}from"./chunk-IU4XB45E.js";import{a as d}from"./chunk-2MB3Y6WI.js";import{a as P,b as u,c}from"./chunk-DDCCLFYC.js";import{useMemo as k}from"react";import{jsx as v}from"react/jsx-runtime";var h=f=>{var m=f,{control:t,children:a,disabled:i}=m,l=c(m,["control","children","disabled"]);return v("a",u(P({},l),{"aria-disabled":i,href:t==null?void 0:t.href,children:v(y.Root,{type:"button",disabled:i,variant:"neutral-secondary",size:"lg",onClick:t==null?void 0:t.onClickEvent,children:a})}))};var b=d({base:["flex h-large w-medium items-center justify-center max-sm:hidden","text-center font-bold font-rdmodern text-threeandhalfpulse leading-small tracking-default"]});import{jsx as N}from"react/jsx-runtime";var C=()=>N("li",{className:b(),children:"..."});var w=d({base:"flex p-none",variants:{hasCurrent:{false:"max-sm:hidden"}},defaultVariants:{hasCurrent:!1}});import{jsx as x}from"react/jsx-runtime";var E=m=>{var o=m,{children:t,hasCurrent:a,href:i,item:l}=o,f=c(o,["children","hasCurrent","href","item"]);return x("li",{className:w({hasCurrent:a}),children:x("a",{href:i,"aria-label":`P\xE1gina ${l}`,"aria-current":a,children:x(y.Root,u(P({},f),{type:"button",variant:"neutral-tertiary",size:"lg","data-active":a,className:"data-[active=true]:bg-action-fill-neutral-tertiary-activated",children:l}))})})};import{jsx as p,jsxs as R}from"react/jsx-runtime";var I=({current:t,total:a,pagesMapper:i,onPageClick:l,prevControl:f,nextControl:m})=>{let o=k(()=>{var g;let e=new Set([1,Number(t),Number(a)]),r=(g=Array.from(e))==null?void 0:g.map(n=>({id:n,page:i==null?void 0:i[n-1]}));return r==null?void 0:r.filter(n=>{var s;return!!((s=n==null?void 0:n.page)!=null&&s.href)})},[t,a,i]);return R("nav",{className:"flex flex-row items-center gap-[var(--spacing-inline-twopulse)] max-sm:gap-[var(--spacing-inline-threepulse)]",children:[p(h,{control:f,disabled:t===1,"aria-label":"Anterior",children:"Anterior"}),p("ol",{className:"flex flex-row items-center justify-start gap-[var(--spacing-inline-onepulse)]",children:o.map(({id:e,page:r},g)=>{let n=e===t,s=o==null?void 0:o[g-1];return[!!s&&e-(s==null?void 0:s.id)>1&&p(C,{},`${e}-ellipse`),p(E,{item:e,hasCurrent:n,href:r==null?void 0:r.href,onClick:l},e)]})}),p(h,{control:m,disabled:t===a,"aria-label":"Pr\xF3ximo",children:"Pr\xF3ximo"})]})};export{I as a};
//# sourceMappingURL=chunk-WSX4XEGS.js.map