@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.
15 lines • 13.4 kB
JavaScript
import{a as b}from"./chunk-VYYNCG3S.js";import{a as R}from"./chunk-MX5HBKSI.js";import{a as w}from"./chunk-FGANXEQH.js";import{a as Q}from"./chunk-3PPAJB4W.js";import{a as G}from"./chunk-7Z3TMCJG.js";import{a as v}from"./chunk-34ABDYZX.js";import{a as _}from"./chunk-DDOE6RPR.js";import{a,b as i,c as y}from"./chunk-UABQX4UA.js";import{createContextScope as Ot}from"@radix-ui/react-context";import{forwardRef as gt}from"react";import{jsx as f,jsxs as z}from"react/jsx-runtime";var O=gt((u,s)=>{var x=u,{variantAction:r,actionType:t="button",inputCounterProps:o,inputTextProps:e,buttonProps:d}=x,n=y(x,["variantAction","actionType","inputCounterProps","inputTextProps","buttonProps"]);let l=()=>{switch(r){case"nostock":return"Avise-me";case"availability":return"Consultar";case"ofex":return"Ativar oferta";default:return"Comprar"}};return t==="button"?f("div",i(a({ref:s},n),{children:f(Q.Root,i(a({variant:r==="ofex"?"neutral-secondary":"brand-primary",size:"lg",full:!0},d),{children:l()}))})):t==="loading"?f("div",i(a({ref:s},n),{className:"ml-auto mr-auto",children:f(G,{color:"black"})})):t==="input-text"?f("div",i(a({ref:s},n),{children:z(w.Root,i(a({size:"lg"},e==null?void 0:e.root),{children:[z(w.Actions,{children:[f(w.Field,a({},e==null?void 0:e.field)),f(w.ClearButton,a({},e==null?void 0:e.clearButton))]}),f(w.HelperText,{withIcon:!0,iconName:"rdicon-location",children:"Insira seu CEP"})]}))})):t==="input-counter"&&typeof(o==null?void 0:o.value)=="number"?f("div",i(a({ref:s},n),{children:f(R.Root,i(a({size:"lg"},o),{children:z(R.Control,{children:[f(R.Decrement,{}),f(R.Input,{}),f(R.Increment,{})]})}))})):null});O.displayName="Action";import{forwardRef as yt}from"react";var p=_({slots:{root:`
relative flex h-full min-h-[8.8rem] min-w-[9.8rem] max-w-[22.5rem] flex-1 flex-col gap-twopulse px-3 py-3
bg-[var(--color-container-fill-default)] border-[var(--color-container-border-default)] border-quarterpulse rounded-mediumcontainer
hover:border-[var(--color-container-border-hovered)] hover:bg-[var(--color-container-fill-default)]
active:border-[var(--color-container-border-pressed)] active:bg-[var(--color-container-fill-default)]
focus:border-[var(--color-container-border-focused)] focus:bg-[var(--color-container-fill-default)]
cursor-pointer
`,imgcontainer:"relative flex h-[8rem] w-auto min-w-[8rem] items-center justify-center rounded-tinycontainer border-none bg-none",fare:"flex items-center gap-onepulse font-semibold text-text-success-alternative text-threepulse leading-medium",price:"truncate font-bold font-rdmodern text-fourpulse text-text-neutral leading-medium",oldprice:"truncate font-rdmodern font-regular text-text-neutral-placeholder text-threepulse leading-medium line-through",cardprice:"truncate font-rdmodern font-regular text-text-neutral-placeholder text-threepulse leading-medium",productinfo:"m-0 line-clamp-3 p-0 font-rdmodern font-regular text-text-neutral text-threepulse leading-small",productbrand:"m-0 line-clamp-1 truncate p-0 font-rdmodern font-semibold text-text-neutral-alternative text-threepulse leading-medium",productdetail:"m-0 line-clamp-1 truncate p-0 font-rdmodern font-regular text-text-neutral-alternative text-threepulse leading-medium",productquantity:"m-0 line-clamp-1 truncate p-0 font-rdmodern font-regular text-text-neutral-placeholder text-threepulse leading-medium",productpimtag:`
w-fit rounded-pill border-fill-neutral-alternative border-quarterpulse bg-fill-neutral
px-threepulse py-halfpulse font-regular text-text-neutral text-threepulse leading-medium
flex items-center justify-center
`,mkttag:"flex items-center justify-between gap-onepulse font-rdmodern font-regular text-text-neutral-placeholder text-threepulse leading-small",pricetag:"flex items-center gap-onepulse font-rdmodern font-semibold text-text-success-alternative text-threepulse",subscriptiontag:"m-0 overflow-hidden whitespace-nowrap font-bold font-rdmodern text-[var(--color-labeling-text-assinatura-default)] text-threepulse leading-medium",availabilitytag:"m-0 mr-auto ml-auto truncate text-center font-rdmodern font-semibold text-text-neutral-alternative text-threepulse leading-medium",nostokTitle:"m-0 truncate text-center font-rdmodern font-semibold text-text-danger-alternative text-threepulse leading-medium",nostokText:"m-0 text-center font-rdmodern font-regular text-text-neutral-alternative text-threepulse leading-medium",ofexValidate:"truncate font-rdmodern font-semibold text-text-neutral-alternative text-threepulse leading-medium",countdownText:"truncate font-bold font-rdmodern text-text-success-alternative text-threepulse leading-medium"},variants:{variantCard:{default:"",medicament:"",marktplace:"",subscription:"",pim:"",kit:""},shipping:{fast:{fare:"text-text-fastdelivery"},fixed:{fare:"text-text-success-alternative"}},variantPrice:{default:"",stix:"",stixcash:"",stixpoints:"",stixgain:"",ofex:"",ofexonsale:"",ofexlmpm:"",nostock:"",availability:"",coupon:"",couponbuy:"",pbm:"",univers:"",lmpm:""}},defaultVariants:{variantCard:"default",shipping:"fixed",variantPrice:"default"}});import{forwardRef as Ct}from"react";import{jsx as q,jsxs as bt}from"react/jsx-runtime";var J=Ct(r=>{let{__scopeProductCard:t}=r,{onSale:o}=h(P,t);return q("div",{className:"absolute top-3 right-3 z-10 w-fit",children:bt(b.Root,{variants:"onSale",children:[q(b.Icon,{symbol:"rdicon-arrow-down"}),q(b.Label,{children:o})]})})});import{jsx as ht,jsxs as St}from"react/jsx-runtime";var W=yt(r=>{let C=r,{children:t,variantCard:o,id:e,handleClick:d,__scopeProductCard:n,testId:s}=C,u=y(C,["children","variantCard","id","handleClick","__scopeProductCard","testId"]),{root:x}=p({variantCard:o}),{onSale:l=0}=h(P,n);return St("div",i(a({className:x(),id:e,onClick:d,onKeyUp:d?()=>d():void 0},u),{"data-testid":s,children:[l>0&&ht(J,{}),t]}))});import{forwardRef as Tt}from"react";import{useState as Nt}from"react";var X=_({base:`
flex flex-row bg-[transparent]
`,variants:{size:{tiny:"gap-none",small:"gap-onepulse"}}});import{jsx as L}from"react/jsx-runtime";var Z=n=>{var s=n,{size:r="tiny",value:t,ratingLimit:o=5,onClick:e}=s,d=y(s,["size","value","ratingLimit","onClick"]);let[u,x]=Nt(0),l="colorTextEvaluateDefault";function C(S){let c=S+1;e(c),x(c)}return L("div",i(a({className:X({size:r})},d),{children:Array.from({length:o},(S,c)=>{let T=t!=null?t:u,N=Math.floor(T),E=T%1,k=N,A=!1;E>=.5&&(A=!0),E>=.99&&(k+=1,A=!1);let H=c<k,I=c===k&&A;return L("div",{onClick:V=>{V.stopPropagation(),C(c)},role:"button",onKeyDown:()=>C(c),"data-testid":`star-icon-${c}`,children:H?L(v,{symbol:"rdicon-star-filled",color:l,size:r}):I?L(v,{symbol:"rdicon-star-half",color:l,size:r}):L(v,{symbol:"rdicon-star-outline",color:l,size:r})},`${c}-${T}`)})}))};import{jsx as j}from"react/jsx-runtime";var tt=Tt(r=>j("div",{className:"m-0 flex w-full p-0 row",children:j(Z,a({onClick:()=>{}},r))}));import{forwardRef as It}from"react";import{jsx as F,jsxs as B}from"react/jsx-runtime";var rt=It(r=>{let{shipping:t="fixed",shippingValue:o}=r,{fare:e}=p({shipping:t});return t==="fast"?B("div",{className:e(),children:[F(v,{size:"tiny",color:"colorTextFastdeliveryDefault",symbol:"rdicon-clock-fast"})," ",F("span",{children:"Entrega r\xE1pida"})]}):B("div",{className:e(),children:[F(v,{size:"tiny",color:"colorTextSuccessAlternative",symbol:"rdicon-truck-delivery-fast"})," ",B("span",{children:["Frete fixo ",o]})]})});import{forwardRef as Rt}from"react";import{forwardRef as wt}from"react";import{jsx as Y}from"react/jsx-runtime";var et=wt(r=>{let{__scopeProductCard:t}=r;return Y("div",{className:"absolute bottom-0 left-0 z-10 w-fit ",children:Y(b.Root,{variants:"secondary",children:Y("span",{className:"font-regular text-threepulse text-text-neutral-placeholder",children:"Patrocinado"})})})});import{jsx as ot,jsxs as kt}from"react/jsx-runtime";var at=Rt(r=>{let u=r,{imgpath:t,alt:o}=u,e=y(u,["imgpath","alt"]),{__scopeProductCard:d}=r,{sponsored:n}=h(P,d),{imgcontainer:s}=p();return kt("div",i(a({className:s()},e),{children:[t&&ot("img",{src:t,className:"m-auto h-[8rem] w-auto border-none bg-none",alt:o}),n&&ot(et,{})]}))});import{forwardRef as Et}from"react";import{forwardRef as At}from"react";import{Fragment as Vt,jsx as M,jsxs as Lt}from"react/jsx-runtime";var dt=At(r=>{let{mktShopName:t,mktOfficialShop:o}=r,{mkttag:e}=p();return M("div",{className:e(),children:o?Lt(Vt,{children:[M("p",{className:"m-0 truncate p-0",children:t}),M(v,{size:"tiny",color:"colorTextSuccessAlternative",symbol:"rdicon-verified-filled"})]}):M("p",{className:"m-0 truncate p-0",children:t})})});import{forwardRef as Dt}from"react";import{jsx as nt}from"react/jsx-runtime";var st=Dt(r=>{let{pimTag:t=0,__scopeProductCard:o}=r,{productpimtag:e}=p();return nt("div",{className:e(),children:nt("span",{children:t>1?`${t} op\xE7\xF5es`:`${t} op\xE7\xE3o`})})});import{Fragment as _t,jsx as D,jsxs as $}from"react/jsx-runtime";var it=Et(r=>{let{description:t,brand:o,detail:e,quantity:d,pimTag:n,mktShopName:s,mktOfficialShop:u,__scopeProductCard:x}=r,{variantCard:l}=h(P,x),{productinfo:C,productbrand:S,productdetail:c,productquantity:T}=p(),N=()=>l==="kit"?$("p",{className:T(),children:[d," produtos"]}):$(_t,{children:[D("p",{className:S(),children:o}),D("p",{className:c(),children:e}),l==="marktplace"&&D(dt,{mktShopName:s,mktOfficialShop:u})]});return $("div",{className:"m-0 flex w-full flex-col gap-1 p-0",children:[l==="pim"&&D(st,{pimTag:n}),D("p",{className:C(),children:t}),N()]})});import{forwardRef as Mt}from"react";import{Fragment as K,jsx as m,jsxs as g}from"react/jsx-runtime";var ct=Mt(r=>{let{variantPrice:t,oldValue:o,value:e,cardValue:d,universBrand:n,lmpmQuantity:s=0,shippingValue:u,__scopeProductCard:x}=r,{variantCard:l,subscriptionText:C}=h(P,x),{oldprice:S,price:c,cardprice:T,pricetag:N,subscriptiontag:E,availabilitytag:k,nostokTitle:A,nostokText:H}=p(),I=m(v,{size:"tiny",color:"colorTextSuccessAlternative",symbol:"rdicon-tag-percentage"}),V=t==="nostock",Pt=()=>{if(l==="subscription")return m("p",{className:E(),children:C});switch(t){case"pbm":return g("p",{className:N(),children:[I," Desc. Laborat\xF3rio"]});case"univers":return g("p",{className:N(),children:[I," Univers"," ",m("span",{className:"truncate",children:n})]});case"lmpm":case"ofexlmpm":return g(K,{children:[g("p",{className:N(),children:[I," Leve + pague - "]}),g("p",{className:T(),children:["a partir de ",s," unidades"]})]});case"stixgain":return m(b.Root,{variants:"stix",children:m(b.Label,{children:"Ganhe mais stix"})});case"stixcash":case"stixpoints":return m(b.Root,{variants:"stix",children:m(b.Label,{children:"Trocar com stix"})});case"ofex":return g("p",{className:N(),children:[I," Suas ofertas"]});case"availability":return g("p",{className:k(),children:[" ","Consulte a ",m("br",{})," disponibilidade"]});case"ofexonsale":return g("div",{className:N(),children:[m(v,{size:"tiny",color:"colorTextSuccessAlternative",symbol:"rdicon-truck-delivery-fast"})," ",g("span",{children:["Frete fixo ",u]})]});case"coupon":case"couponbuy":case"nostock":return null;default:return null}},xt=()=>m("p",{className:S(),children:o}),vt=()=>g(K,{children:[m("p",{className:c(),children:e}),m("p",{className:T(),children:d})]});return g("div",{className:"m-0 flex flex-1 w-full flex-col justify-end gap-1 p-0",children:[m("div",{className:"flex flex-col items-start",children:Pt()}),!V&&xt(),!V&&vt(),V&&g(K,{children:[m("p",{className:A(),children:"Sem estoque"}),m("p",{className:H(),children:"Receber aviso quando disponi\u0301vel?"})]})]})});import{jsx as U}from"react/jsx-runtime";var pt=({children:r})=>typeof r=="string"?U("div",{className:"m-0 flex items-start justify-start p-0 min-w-[128px] h-extrasmall bg-[var(--color-fill-neutral-default)] border border-dashed rounded-pill border-forms-border-filled justify-center items-center",children:U("span",{className:"text-neutral-default text-threepulse font-rdmodern font-semibold leading-medium",children:r})}):U("div",{className:"m-0 flex items-start justify-start p-0",children:r});import{forwardRef as Ht}from"react";import{jsx as zt,jsxs as lt}from"react/jsx-runtime";var mt=Ht(r=>{let{validate:t,expirationDate:o,countdownValue:e}=r,{ofexValidate:d,countdownText:n}=p();return zt("div",{className:"m-0 flex w-full flex-col items-center gap-1 p-0 text-center",children:t==="validate"?lt("span",{className:d(),children:["V\xE1lido at\xE9: ",o," "]}):lt("span",{className:n(),children:["Expira em ",e," ",t==="coutdowndays"?" dias":" horas"]})})});import{jsx as ut}from"react/jsx-runtime";var P="ProductCard",ft=r=>{let c=r,{variantCard:t,id:o,sponsored:e,onSale:d,subscriptionText:n,handleClick:s,children:u,slotTrade:x,__scopeProductCard:l,testId:C}=c,S=y(c,["variantCard","id","sponsored","onSale","subscriptionText","handleClick","children","slotTrade","__scopeProductCard","testId"]);return ut(Ft,i(a({scope:l,onSale:d,sponsored:e,slotTrade:x,variantCard:t,subscriptionText:n},S),{children:ut(W,i(a({id:o,variantCard:t,sponsored:e,onSale:d,handleClick:s,testId:C},S),{children:u}))}))};ft.displayName=P;var[qt]=Ot(P),[Ft,h]=qt(P),Ne={Root:ft,Action:O,Rating:tt,Trade:pt,Shipping:rt,Image:at,Info:it,Price:ct,Validate:mt};export{Z as a,P as b,Ft as c,h as d,Ne as e};
//# sourceMappingURL=chunk-A4OU6BB6.js.map