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.

7 lines 16.5 kB
"use strict";var Jo=Object.create;var A=Object.defineProperty,Qo=Object.defineProperties,Xo=Object.getOwnPropertyDescriptor,Zo=Object.getOwnPropertyDescriptors,jo=Object.getOwnPropertyNames,V=Object.getOwnPropertySymbols,oe=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty,uo=Object.prototype.propertyIsEnumerable;var co=(o,e,t)=>e in o?A(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,n=(o,e)=>{for(var t in e||(e={}))F.call(e,t)&&co(o,t,e[t]);if(V)for(var t of V(e))uo.call(e,t)&&co(o,t,e[t]);return o},i=(o,e)=>Qo(o,Zo(e));var s=(o,e)=>{var t={};for(var r in o)F.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&V)for(var r of V(o))e.indexOf(r)<0&&uo.call(o,r)&&(t[r]=o[r]);return t};var _=(o,e)=>{for(var t in e)A(o,t,{get:e[t],enumerable:!0})},mo=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of jo(e))!F.call(o,a)&&a!==t&&A(o,a,{get:()=>e[a],enumerable:!(r=Xo(e,a))||r.enumerable});return o};var h=(o,e,t)=>(t=o!=null?Jo(oe(o)):{},mo(e||!o||!o.__esModule?A(t,"default",{value:o,enumerable:!0}):t,o)),ee=o=>mo(A({},"__esModule",{value:!0}),o);var pe={};_(pe,{Popover:()=>W});module.exports=ee(pe);var W={};_(W,{Button:()=>io,Description:()=>no,Label:()=>ro,Root:()=>eo,Tag:()=>po,Trigger:()=>Ho.PopoverTrigger});var x=require("@ark-ui/react/popover");var fo=h(require("react"),1);var N=h(require("react"),1);function Y(o,e){let{targets:t,props:r,keyPrefix:a="inject",asChild:c}=e,l=N.Children.map(o,(p,m)=>{var y,I;if(!N.isValidElement(p))return p;let S=(I=(y=p.type)==null?void 0:y.displayName)!=null?I:"",f=t.includes(S),g=p.props;return N.cloneElement(p,i(n({},f?r:{}),{key:`${a}-${m.toString()}`}),Y(g==null?void 0:g.children,{targets:t,props:r,keyPrefix:a,asChild:g==null?void 0:g.asChild}))});return c?l==null?void 0:l[0]:l}function D(o,{targets:e,props:t,asChild:r}){let a=fo.useId();return Y(o,{targets:e,props:t,asChild:r,keyPrefix:a})}var go=require("clsx"),bo=require("tailwind-merge"),C=(...o)=>(0,bo.twMerge)((0,go.clsx)(...o));var E=h(require("react"),1);var R={};_(R,{Icon:()=>Q,IconDualColor:()=>oo,Root:()=>J});var k=h(require("react"),1),Ro=require("@ark-ui/react/factory");var Po=h(require("react"),1);var M=h(require("react"),1),u=require("@raiadrogasil/pulso-design-tokens");var vo=h(require("react"),1),te=require("react/jsx-runtime"),yo=vo.createContext({currentTheme:"rdsaudesistemas"});function K(){let o=M.useMemo(()=>({rdsaudesistemas:u.RDSAUDESISTEMAS_TOKENS,drogasil:u.DROGASIL_TOKENS,raia:u.RAIA_TOKENS,subscription:u.SUBSCRIPTION_TOKENS,prime:u.PRIME_TOKENS}),[]),e=M.useContext(yo);if(!e)throw new Error("[Pulso] useTheme precisa estar dentro de um <ThemeProvider>. Verifique se o provedor est\xE1 corretamente configurado na raiz da aplica\xE7\xE3o.");let{currentTheme:t}=e;return n(n({},u.GLOBALS_TOKENS),o[t])}var B=require("react/jsx-runtime");function xo({color:o="brand",srText:e}){let t=K(),a=Po.useMemo(()=>({brand:t.colorActionFillBrandPrimaryEnabled,neutral:t.colorTextNeutralReadonly,black:t.colorTextNeutralDefault,white:t.colorTextNeutralInverse}),[t])[o];return(0,B.jsx)("div",{role:"status",className:C("grid size-8 place-items-center"),"aria-label":e,children:(0,B.jsxs)("svg",{className:C("size-6 animate-spin fill-none"),viewBox:"0 0 24 24",children:[(0,B.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12S18.627 0 12 0v2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12H0z",fill:a}),(0,B.jsx)("title",{children:e})]})})}var To=require("tailwind-variants"),v=(0,To.createTV)({twMerge:!0,twMergeConfig:{extend:{classGroups:{"font-size":[{text:["threepulse","threeandhalfpulse"]}],"border-width":[{border:["quarterpulse","halfpulse"]}],"--tw-ring-inset":[{ring:["none","quarterpulse","halfpulse"]}]}}}});var re=v({slots:{root:["inline-flex shrink-0 cursor-pointer items-center justify-center whitespace-nowrap","gap-x-[var(--spacing-inline-twopulse)] rounded-full","outline-[var(--color-action-border-focused)] outline-offset-2","font-inherit font-bold tracking-[var(--letter-spacing-default)]","focus-visible:outline-2","disabled:cursor-not-allowed disabled:text-[var(--color-text-neutral-disabled)]"]},variants:{variant:{"brand-primary":{root:["bg-[var(--color-action-fill-brand-primary-enabled)]","text-[var(--color-text-neutral-inverse)]","enabled:hover:bg-[var(--color-action-fill-brand-primary-hovered)]","active:bg-[var(--color-action-fill-brand-primary-pressed)]","disabled:bg-[var(--color-action-fill-brand-primary-disabled)]"]},"neutral-secondary":{root:["ring-[var(--color-action-border-neutral-secondary-enabled)]","ring-[length:var(--border-width-quarterpulse)]","bg-[var(--color-action-fill-neutral-secondary-enabled)]","text-[var(--color-text-neutral-default)]","enabled:hover:ring-[var(--color-action-border-neutral-secondary-hovered)]","enabled:hover:bg-[var(--color-action-fill-neutral-secondary-hovered)]","active:ring-[var(--color-action-border-neutral-secondary-pressed)]","active:bg-[var(--color-action-fill-neutral-secondary-pressed)]","disabled:ring-[var(--color-action-border-neutral-secondary-disabled)]","disabled:bg-[var(--color-action-fill-neutral-secondary-disabled)]"]},"neutral-tertiary":{root:["ring-[var(--color-action-border-neutral-tertiary-enabled)]","ring-[length:var(--border-width-quarterpulse)]","bg-[var(--color-action-fill-neutral-tertiary-enabled)]","text-[var(--color-text-neutral-default)]","enabled:hover:ring-[var(--color-action-border-neutral-tertiary-hovered)]","enabled:hover:bg-[var(--color-action-fill-neutral-tertiary-hovered)]","active:ring-[var(--color-action-border-neutral-tertiary-pressed)]","active:bg-[var(--color-action-fill-neutral-tertiary-pressed)]","disabled:ring-[var(--color-action-border-neutral-tertiary-disabled)]","disabled:bg-[var(--color-action-fill-neutral-tertiary-disabled)]"]}},size:{md:{root:["h-[var(--sizing-medium)] min-w-8 px-[var(--padding-inset-fourpulse)]","text-[length:var(--font-size-threepulse)]","leading-[var(--line-height-medium)]"]},ml:{root:["h-[var(--sizing-mediumlarge)] min-w-10 px-[var(--padding-inset-fourpulse)]"]},lg:{root:["h-[var(--sizing-large)] min-w-12 px-[var(--padding-inset-fivepulse)]"]},xl:{root:["h-[var(--sizing-extralarge)] min-w-14 px-[var(--padding-inset-sixpulse)]"]}},asIconOnly:{true:{root:"aspect-square px-0"}}},compoundVariants:[{size:["ml","lg"],class:{root:["text-[length:var(--font-size-threeandhalfpulse)]","leading-[var(--line-height-small)]"]}}],defaultVariants:{variant:"brand-primary",size:"ml",asIconOnly:!1}}),{root:ho}=re();var H=require("react/jsx-runtime");function J(S){var f=S,{children:o,className:e,variant:t="brand-primary",size:r,disabled:a,loading:c,asChild:l,full:p}=f,m=s(f,["children","className","variant","size","disabled","loading","asChild","full"]);let g=D(o,{targets:["ButtonIcon","ButtonIconDualColor"],props:{variant:t,size:r,disabled:a},asChild:l}),y=!a&&c,I={"brand-primary":"white","neutral-secondary":"black","neutral-tertiary":"black"},$={"aria-live":"polite","aria-busy":!0},O=k.useCallback(()=>{var b,T;if(k.Children.count(o)===1&&k.isValidElement(o)){let L=(T=(b=o.type)==null?void 0:b.displayName)!=null?T:"";return["ButtonIcon","ButtonIconDualColor"].includes(L)}return!1},[o]);return(0,H.jsx)(Ro.ark.button,i(n(n({},m),y&&$),{className:C(ho({variant:t,size:r,asIconOnly:O(),className:y&&"pointer-events-none"}),p&&"w-full",e),disabled:a,"data-scope":"button",children:y?(0,H.jsx)(xo,{color:I[t]}):g}))}J.displayName="ButtonRoot";var So=require("react");var Io=h(require("react"),1);var Co=require("react/jsx-runtime");function P(a){var c=a,{symbol:o="rdicon-default",size:e="small",color:t="colorActionFillBrandPrimaryEnabled"}=c,r=s(c,["symbol","size","color"]);let l=K(),p=Io.useMemo(()=>({tiny:l.sizingTiny,"extra-small":l.sizingExtrasmall,small:l.sizingSmall,medium:l.sizingMedium}),[]);return(0,Co.jsx)("i",i(n({},r),{className:o,style:{fontSize:p[e],color:l[t],display:"inline-flex"}}))}P.displayName="Icon";var No=require("react/jsx-runtime");function Q({variant:o,size:e,disabled:t,iconColor:r,symbol:a}){let c={md:"extra-small",ml:"small",lg:"small",xl:"small"},l={"brand-primary":"colorTextNeutralInverse","neutral-secondary":"colorTextNeutralDefault","neutral-tertiary":"colorTextNeutralDefault"},p=(0,So.useMemo)(()=>t?"colorTextNeutralDisabled":r||l[o],[t,o]),m=c[e];return(0,No.jsx)(P,{color:p,size:m,symbol:a})}Q.displayName="ButtonIcon";var z={};_(z,{Bottom:()=>j,Root:()=>X,Top:()=>Z});var Do=require("@ark-ui/react/factory");var Bo=require("react/jsx-runtime");function X(c){var l=c,{children:o,size:e="small",disabled:t=!1,asChild:r}=l,a=s(l,["children","size","disabled","asChild"]);let p=D(o,{targets:["IconDualColorTop","IconDualColorBottom"],props:{size:e,disabled:t},asChild:r});return(0,Bo.jsx)(Do.ark.div,i(n({"data-testid":"icon-dual-color-root","aria-label":"\xCDcones","aria-disabled":t,asChild:r},a),{className:"relative flex [&>[data-icon=top]]:absolute",children:p}))}X.displayName="IconDualColorRoot";var ko=require("react/jsx-runtime");function Z(c){var l=c,{children:o,color:e="colorActionTextOnbrandDefault",size:t,disabled:r}=l,a=s(l,["children","color","size","disabled"]);return(0,ko.jsx)(P,i(n({"data-testid":"icon-dual-color-top","data-icon":"top","data-size":t,color:r?"colorTextNeutralDisabled":e,size:t},a),{children:o}))}Z.displayName="IconDualColorTop";var wo=require("react/jsx-runtime");function j(c){var l=c,{children:o,color:e="colorTextNeutralDefault",size:t,disabled:r}=l,a=s(l,["children","color","size","disabled"]);return(0,wo.jsx)(P,i(n({"data-testid":"icon-dual-color-bottom","data-icon":"bottom","data-size":t,color:r?"colorTextNeutralDisabled":e,size:t},a),{children:o}))}j.displayName="IconDualColorBottom";var Ao=require("react/jsx-runtime");function oo(t){var r=t,{size:o="ml"}=r,e=s(r,["size"]);let a={md:"extra-small",ml:"small",lg:"small",xl:"small"};return(0,Ao.jsx)(z.Root,i(n({},e),{size:a[o]}))}oo.displayName="ButtonIconDualColor";var ae=v({slots:{root:["min-w-[240px] max-w-[480px] rounded-[var(--border-radius-largecontainer)] bg-[var(--color-fill-neutral-default)] p-fourpulse shadow-[0px_2px_8px_#71768E] ring-[length:var(--border-width-quarterpulse)] ring-[var(--color-border-neutral-default)]"],title:["line-clamp-2 overflow-hidden text-ellipsis pt-twopulse font-bold font-rdmodern text-[var(--color-text-neutral-default)] text-threeandhalfpulse leading-small tracking-default"],description:["line-clamp-3 pt-twopulse font-rdmodern font-regular text-[var(--color-text-neutral-default)] text-threepulse leading-medium tracking-default"],buttonDescription:["line-clamp-3 pt-twopulse font-rdmodern font-regular text-[var(--color-text-neutral-default)] text-threepulse leading-medium tracking-default"]}}),{root:zo,title:Eo,description:Oo,buttonDescription:Lo}=ae();var d=require("react/jsx-runtime");function eo(p){var m=p,{children:o,placement:e="bottom-start",trigger:t,hasButtonClose:r,handleClickButtonClose:a,open:c}=m,l=s(m,["children","placement","trigger","hasButtonClose","handleClickButtonClose","open"]);let S=(0,x.usePopover)({open:c,positioning:{placement:e}}),f=E.default.Children.toArray(o).some(b=>{var T;return E.default.isValidElement(b)&&((T=b.type)==null?void 0:T.displayName)==="PopoverButton"}),g=D(o,{targets:["PopoverDescription","PopoverTitle","PopoverButton"],props:{hasPopoverButton:f}}),y=null,I=null,$=E.default.Children.toArray(g).filter(b=>{var L;if(!E.default.isValidElement(b))return!0;let T=(L=b.type)==null?void 0:L.displayName;return T==="PopoverTitle"?(y=b,!1):T==="PopoverTag"?(I=b,!1):!0}),O={"--arrow-size":"8px","--arrow-background":"rgba(255, 255, 255, 1)"};return(0,d.jsxs)(x.Popover.RootProvider,i(n({},l),{value:S,children:[t,(0,d.jsx)(x.Popover.Positioner,{children:(0,d.jsxs)(x.Popover.Content,{className:C(zo()),children:[(0,d.jsx)(x.Popover.Arrow,{style:O,children:(0,d.jsx)(x.Popover.ArrowTip,{style:n(n({},O),e==="top-start"||e==="bottom-start"?{left:"calc(var(--spacing-stack-twelvepulse) * -1)"}:{})})}),(0,d.jsxs)("div",{className:"flex w-full flex-row items-center",children:[y,I,r&&(0,d.jsx)(x.Popover.CloseTrigger,{className:"ml-auto","data-testid":"popover-close-trigger",children:(0,d.jsx)(R.Root,{"data-testid":"popover-button-close-trigger",onClick:()=>{typeof a=="function"&&a()},size:"ml",variant:"neutral-tertiary",children:(0,d.jsx)(R.Icon,{symbol:"rdicon-dismiss"})})})]}),$]})})]}))}eo.displayName="PopoverRoot";var Vo=require("@ark-ui/react/factory"),_o=require("@ark-ui/react/popover");var to=require("react/jsx-runtime");function ro(t){var r=t,{className:o}=r,e=s(r,["className"]);return(0,to.jsx)(_o.Popover.Title,{asChild:!0,children:(0,to.jsx)(Vo.ark.span,i(n({},e),{className:Eo()}))})}ro.displayName="PopoverTitle";var Mo=require("@ark-ui/react/factory"),Ko=require("@ark-ui/react/popover");var ao=require("react/jsx-runtime");function no(r){var a=r,{className:o,hasPopoverButton:e}=a,t=s(a,["className","hasPopoverButton"]);return(0,ao.jsx)(Ko.Popover.Description,{asChild:!0,children:(0,ao.jsx)(Mo.ark.span,i(n({},t),{className:e?Lo():Oo()}))})}no.displayName="PopoverDescription";var Ho=require("@ark-ui/react/popover");var lo=require("react/jsx-runtime");function io(t){var r=t,{children:o}=r,e=s(r,["children"]);return(0,lo.jsx)("div",{className:"pt-fourpulse",children:(0,lo.jsx)(R.Root,i(n({full:!0,variant:"neutral-secondary"},e),{children:o}))})}io.displayName="PopoverButton";var Yo=require("@radix-ui/react-context");var qo=require("react/jsx-runtime"),Go=o=>{let{symbol:e,__scopeTag:t}=o,{variants:r}=G(w,t),a={principal:"colorLabelingTextPrincipalDefault",secondary:"colorLabelingTextSecondaryDefault",onSale:"colorLabelingTextOnsaleDefault",clubeDrogasil:"colorLabelingTextClubeDefault",clubeRaia:"colorLabelingTextClubeDefault",assinatura:"colorLabelingTextAssinaturaDefault",medicamentoGeladeira:"colorLabelingTextRefrigerateDefault",receitaObrigatoria:"colorLabelingTextPrescriptionDefault",generico:"colorLabelingTextGenericoDefault",referencia:"colorLabelingTextReferenciaDefault",similar:"colorLabelingTextSimilarDefault",stix:"colorLabelingTextStixDefault"};return(0,qo.jsx)(P,{symbol:r==="onSale"?"rdicon-arrow-down":e,color:a[r],size:"tiny","data-testid":"tag-icon"})};var Uo=v({base:` h-extrasmall font-semibold text-threepulse font-rdmodern leading-medium text-center whitespace-nowrap truncate `,variants:{variants:{onSale:"text-labelling-text-onsale",principal:"text-labelling-text-principal",secondary:"text-labelling-text-secondary",clubeRaia:"text-labelling-text-clube",clubeDrogasil:"text-labelling-text-clube",assinatura:"text-labelling-text-assinatura",medicamentoGeladeira:"text-labelling-text-refrigerate",receitaObrigatoria:"text-labelling-text-prescription",generico:"text-labelling-text-generico",referencia:"text-labelling-text-referencia",similar:"text-labelling-text-similar",stix:"text-labelling-text-stix"}}});var $o=require("react/jsx-runtime"),Wo=o=>{var p,m;let{children:e,__scopeTag:t}=o,{variants:r}=G(w,t),a=(p=e==null?void 0:e.toString())!=null?p:"",c=0,l=/\d+/g;if(r==="onSale"&&l.test(a)){let[S]=(m=a.match(l))!=null?m:[],f=Number(S);f>=0&&f<=100&&(c=f)}return(0,$o.jsx)("p",{className:Uo({variants:r}),"data-testid":"tag-label",children:r==="onSale"?`${c}%`:a})};var Fo=v({base:` flex items-center justify-center h-small min-w-small rounded-pill px-twopulse gap-halfpulse max-w-[16rem] `,variants:{variants:{onSale:"bg-labelling-fill-onsale",principal:"bg-labelling-fill-principal",secondary:"bg-labelling-fill-secondary",clubeRaia:"bg-labelling-fill-clube",clubeDrogasil:"bg-labelling-fill-clube",assinatura:"bg-labelling-fill-assinatura",medicamentoGeladeira:"bg-labelling-fill-refrigerate",receitaObrigatoria:"bg-labelling-fill-prescription",generico:"bg-labelling-fill-generico",referencia:"bg-labelling-fill-referencia",similar:"bg-labelling-fill-similar",stix:"bg-labelling-fill-stix"}}});var so=require("react/jsx-runtime"),w="Tag",ne=o=>{let{children:e,variants:t,__scopeTag:r}=o;return(0,so.jsx)(ie,{variants:t,scope:r,children:(0,so.jsx)("div",{"data-testid":"tag-root",className:Fo({variants:t}),children:e})})},[le]=(0,Yo.createContextScope)(w),[ie,G]=le(w),q={Root:ne,Label:Wo,Icon:Go};var U=require("react/jsx-runtime"),se=v({base:["pt-twopulse pr-twopulse pl-twopulse"]});function po(t){var r=t,{children:o}=r,e=s(r,["children"]);return(0,U.jsx)("div",{className:se(),children:(0,U.jsx)(q.Root,i(n({variants:"principal"},e),{children:(0,U.jsx)(q.Label,{children:o})}))})}po.displayName="PopoverTag";0&&(module.exports={Popover}); //# sourceMappingURL=index.cjs.map