UNPKG

@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.3 kB
import{a as I}from"./chunk-JOWCR2VE.js";import{a as f}from"./chunk-V5IX4U5J.js";import{a as _,b as A,c as m}from"./chunk-UABQX4UA.js";import{forwardRef as O}from"react";import{useEffect as p,useState as v}from"react";function u(a,e,r){let[l,t]=v(Math.min(Math.max(a,0),100));return p(()=>{t(Math.min(Math.max(a,0),100)),a===100&&r&&r()},[a,r]),p(()=>{if(e){let n=e/100,o=0,d=setInterval(()=>{o+=1,t(i=>Math.min(Math.max(i+1,0),100)),o>=100&&(clearInterval(d),r==null||r())},n);return()=>clearInterval(d)}},[e,r]),{currentPercentage:l,PROGRESS_INDICATOR_MIN_VALUE:0,PROGRESS_INDICATOR_MAX_VALUE:100}}import{jsx as E}from"react/jsx-runtime";var N=f({base:"flex w-full min-w-48 overflow-hidden rounded-pill p-none",variants:{variant:{brand:"*:bg-action-fill-brand-primary-enabled",neutral:"*:bg-text-neutral","neutral-readonly":"*:bg-text-neutral-readonly",inverse:"*:bg-text-neutral-inverse",informative:"*:bg-text-informative-alternative",success:"*:bg-text-success-alternative",warning:"*:bg-text-warning-alternative",danger:"*:bg-text-danger-alternative"},size:{tiny:"h-tiny",mini:"h-3",micro:"h-2",nano:"h-1",pico:"h-[0.125rem]"}},defaultVariants:{variant:"brand",size:"tiny"}}),P=O((d,o)=>{var i=d,{variant:a,size:e,percentage:r=0,duration:s=0,onComplete:R,bgTransparent:l,className:t}=i,n=m(i,["variant","size","percentage","duration","onComplete","bgTransparent","className"]);if(r>0&&s)throw new Error("As propriedades 'percentage' e 'duration' s\xE3o mutuamente exclusivas. Por favor, forne\xE7a apenas uma delas.");n["aria-labelledby"]||console.warn('A propriedade "aria-labelledby" \xE9 obrigat\xF3ria para acessibilidade. Por favor, forne\xE7a um r\xF3tulo para o componente.');let{currentPercentage:c,PROGRESS_INDICATOR_MIN_VALUE:g,PROGRESS_INDICATOR_MAX_VALUE:S}=u(r,s,R),b=I(N({variant:a,size:e,className:l?"bg-transparent":"bg-[--color-fill-neutral-fallback]"}),t);return E("div",A(_({},n),{role:"meter",ref:o,className:b,style:{"--color-fill-neutral-fallback":"#E6E6E6","--progress-width":`${c}%`},"aria-valuenow":c,"aria-valuemin":g,"aria-valuemax":S,children:E("span",{className:I("block h-full w-[--progress-width] rounded-tr-pill rounded-br-pill transition-transform ease-linear")})}))});P.displayName="ProgressIndicator";export{P as a}; //# sourceMappingURL=chunk-FCJOMIII.js.map