@agrada_digital/pbm 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist-wc/pbm-wc.js CHANGED
@@ -361,4 +361,4 @@ You might need to use a local HTTP server (instead of file://): https://react.de
361
361
  *
362
362
  * This source code is licensed under the ISC license.
363
363
  * See the LICENSE file in the root directory of this source tree.
364
- */const sx=Cg("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),MS=d=>{let s;const y=new Set,m=(R,X)=>{const fe=typeof R=="function"?R(s):R;if(!Object.is(fe,s)){const Q=s;s=X??(typeof fe!="object"||fe===null)?fe:Object.assign({},s,fe),y.forEach(q=>q(s,Q))}},g=()=>s,O={setState:m,getState:g,getInitialState:()=>k,subscribe:R=>(y.add(R),()=>y.delete(R))},k=s=d(m,g,O);return O},fx=d=>d?MS(d):MS,dx=d=>d;function hx(d,s=dx){const y=Bl.useSyncExternalStore(d.subscribe,()=>s(d.getState()),()=>s(d.getInitialState()));return Bl.useDebugValue(y),y}const yx={securityNumber:"",state:"isEmpty",availableDiscountSelected:{quantity:0,discount:{unit:0,total:0},totalPrice:0},targetProduct:null,campaign:"pbm_campaign"},Ug=fx(d=>({...yx,setSecurityNumber:s=>d({securityNumber:s}),setState:s=>d({state:s}),setTargetProduct:s=>d({targetProduct:s}),setAvailableDiscountSelected:s=>d({availableDiscountSelected:s})}));function Ng(d){return hx(Ug,s=>s)}/*! js-cookie v3.0.5 | MIT */function Hg(d){for(var s=1;s<arguments.length;s++){var y=arguments[s];for(var m in y)d[m]=y[m]}return d}var mx={read:function(d){return d[0]==='"'&&(d=d.slice(1,-1)),d.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(d){return encodeURIComponent(d).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Q0(d,s){function y(g,v,x){if(!(typeof document>"u")){x=Hg({},s,x),typeof x.expires=="number"&&(x.expires=new Date(Date.now()+x.expires*864e5)),x.expires&&(x.expires=x.expires.toUTCString()),g=encodeURIComponent(g).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var O="";for(var k in x)x[k]&&(O+="; "+k,x[k]!==!0&&(O+="="+x[k].split(";")[0]));return document.cookie=g+"="+d.write(v,g)+O}}function m(g){if(!(typeof document>"u"||arguments.length&&!g)){for(var v=document.cookie?document.cookie.split("; "):[],x={},O=0;O<v.length;O++){var k=v[O].split("="),R=k.slice(1).join("=");try{var X=decodeURIComponent(k[0]);if(x[X]=d.read(R,X),g===X)break}catch{}}return g?x[g]:x}}return Object.create({set:y,get:m,remove:function(g,v){y(g,"",Hg({},v,{expires:-1}))},withAttributes:function(g){return Q0(this.converter,Hg({},this.attributes,g))},withConverter:function(g){return Q0(Hg({},this.converter,g),this.attributes)}},{attributes:{value:Object.freeze(s)},converter:{value:Object.freeze(d)}})}var K0=Q0(mx,{path:"/"});const px=async({document:d,products:s})=>{const y="https://pbm.agradadigital.agradalabs.com/api/v1",m=K0.get("pbm-token");if(!m)throw new Error("Token is not defined in cookies or is expired");const v=await(await fetch(`${y}/transactions/validate`,{method:"POST",headers:{Authorization:`Bearer ${m}`,"Content-Type":"application/json"},body:JSON.stringify({document:d,products:s})})).json();if(!v.success)throw new Error(v.message||"Failed to fetch document validation");return v};function gx({setLoading:d}){const{setSecurityNumber:s,setState:y,securityNumber:m,targetProduct:g}=Ng(),{handleSubmit:v,register:x,setValue:O,formState:{errors:k}}=QE({resolver:ax(EE),defaultValues:{securityNumber:m||""}}),R=async X=>{d(!0);try{if(g===null){console.error("Product is not defined!");return}const fe=await px({document:X.securityNumber.replace(/\D/g,""),products:[{ean:g.ean,quantity:g.quantity}]});if(fe.success){const Q={active:"isActivated",nonexistent:"isInvalid"};s(X.securityNumber),y(Q[fe.data.process_platform.status])}}catch(fe){console.error("Error validating document:",fe)}finally{d(!1)}};return Ee.jsxs("form",{onSubmit:v(R),className:Ec("w-full h-auto flex items-center justify-center mb-0 transition-all duration-150",{"mb-4":k.securityNumber}),id:"form_security_number_pbm",children:[Ee.jsxs("label",{htmlFor:"cpf",className:"w-4/5 h-auto flex items-start flex-col justify-center relative py-2",id:"label_security_number_pbm",children:[Ee.jsx("input",{type:"text",className:Ec("w-full h-8 bg-[#44c2c0]/20 rounded-s-full text-sm font-semibold focus:outline focus:outline-[#339c9b] focus:bg-[#44c2c0]/30 text-zinc-600 placeholder:text-zinc-600 px-4 placeholder:text-sm placeholder:font-semibold",{"outline outline-red-600":k.securityNumber}),placeholder:"Digite seu CPF aqui...",required:!0,maxLength:14,...x("securityNumber",{onChange:X=>{const fe=xE(X.target.value);O("securityNumber",fe,{shouldValidate:!0})}}),defaultValue:m||"",id:"input_security_number_pbm"}),k.securityNumber&&Ee.jsx("span",{className:"text-red-400 text-xs font-semibold absolute -bottom-3 left-2 text-nowrap",id:"security_number_form_error",children:k.securityNumber.message})]}),Ee.jsx("button",{type:"submit",className:"bg-gray-400 w-1/5 h-8 flex items-center justify-center rounded-e-full cursor-pointer",id:"button_submit_security_number_pbm",children:Ee.jsx(wS,{size:24,color:"white",strokeWidth:2})})]})}function vx({textColor:d}){return Ee.jsxs("main",{className:"flex items-center justify-center gap-4",id:"loading_pbm",children:[Ee.jsx("div",{"data-testid":"test_id_spin",className:"w-8 h-8 border-4 border-t-gray-700 border-gray-300 rounded-full animate-spin",id:"loading_spin"}),Ee.jsx("p",{className:"text-sm font-semibold text-start text-zinc-900",style:{color:d},id:"loading_label",children:"Um momento... estamos verificando seus dados."})]})}function jg(d){return Ee.jsx("button",{...d,className:Ec("w-3xs cursor-pointer h-10 rounded-full bg-blue-500 hover:bg-blue-400 text-white text-sm font-semibold transition-colors",d.className),children:d.children})}const bx=[{id:1,ean:"001",authorizedQuantity:1,discountValue:4800,discountPercentual:2400},{id:2,ean:"002",authorizedQuantity:2,discountValue:4800,discountPercentual:2400},{id:3,ean:"003",authorizedQuantity:3,discountValue:9400,discountPercentual:4700}];function J0(d){return Ee.jsx("h2",{className:Ec("text-start font-semibold text-sm text-zinc-900",d.className),style:{color:d.textColor,fontSize:d.textSize},"data-testid":"test_id_title",id:"title_pbm",children:d.children})}function Sx({data:d,onChange:s,checked:y,originalProductPrice:m}){const{setAvailableDiscountSelected:g,securityNumber:v}=Ng(),x="unity_quantity_"+d.authorizedQuantity,O=d.discountPercentual/1e4,k=m*O,R=k*d.authorizedQuantity,X=m*d.authorizedQuantity-R,fe=Mn.useCallback(()=>{y&&g({discount:{total:R,unit:k},quantity:d.authorizedQuantity,totalPrice:X})},[y,d.authorizedQuantity,g,R,X,k]);return Mn.useEffect(()=>{fe()},[fe]),Ee.jsxs("label",{htmlFor:x,className:"label_benefits w-full flex items-center justify-start bg-zinc-300/60 border border-zinc-400/50 px-4 py-2 hover:bg-zinc-300 transition-colors cursor-pointer rounded-full gap-1",id:"label_benefits_"+x,children:[Ee.jsx("input",{type:"radio",name:"benefits_discount",id:x,className:"hidden",checked:y,onChange:s,disabled:!v}),y?Ee.jsx(ox,{color:"#32b316",size:20}):Ee.jsx(rx,{color:"#9f9fa9",size:20}),Ee.jsxs("span",{className:"text-zinc-900 font-semibold text-sm",children:[d.authorizedQuantity,"un"]}),Ee.jsxs("section",{className:"ml-auto relative",children:[Ee.jsxs("span",{className:"absolute -top-4 text-emerald-900 py-0.5 font-semibold text-xs bg-[#32b316] px-2 w-auto text-nowrap rounded-2xl -right-4",children:[R.toLocaleString("pt-BR",{currency:"BRL",currencyDisplay:"symbol",currencySign:"standard",style:"currency"})," ","OFF"]}),Ee.jsx("strong",{className:"text-zinc-900 font-semibold text-sm text-center",children:X.toLocaleString("pt-BR",{currency:"BRL",currencyDisplay:"symbol",currencySign:"standard",style:"currency"})})]})]})}function Tx({originalProductPrice:d}){const{securityNumber:s,setState:y}=Ng(),[m,g]=Mn.useState(null);return Ee.jsxs("section",{className:"flex items-start justify-center gap-4 w-full h-auto flex-col",id:"benefits_table_pbm",children:[Ee.jsx(J0,{children:"Descontos disponíveis:"}),Ee.jsx("form",{className:"flex flex-col items-center justify-start w-full gap-3",id:"form_benefits_table_pbm",children:bx.map((v,x)=>{const O="unity_quantity_"+v.authorizedQuantity;return Ee.jsx(Sx,{data:v,checked:m===O,onChange:()=>g(O),originalProductPrice:d},x)})}),!s&&Ee.jsxs(jg,{onClick:()=>y("isEmpty"),className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 cursor-pointer hover:text-zinc-900 hover:bg-transparent text-start",id:"unauthorized_benefits_button",children:["Atenção: não é possível utilizar os benefícos sem realizar a consulta do cpf, por favor"," ",Ee.jsx("span",{className:"underline",children:"insira seu cpf para utilizar os benefícios"})]}),s&&Ee.jsx(jg,{onClick:()=>y("isEmpty"),className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 cursor-pointer hover:text-zinc-900 hover:bg-transparent text-start",id:"change_security_number",children:Ee.jsx("span",{className:"underline",children:"Deseja editar o cpf digitado?"})})]})}function CS(d){return Ee.jsx("p",{className:Ec("text-start font-normal text-sm text-zinc-900",d.className),style:{color:d.textColor,fontSize:d.textSize},"data-testid":"test_id_text",id:"text_pbm",children:d.children})}function _x({url:d,title:s,openModal:y,setOpenModal:m}){return Ee.jsxs("main",{className:Ec("fixed inset-0 flex items-center justify-center z-50 flex-col transition-all shadow",{"opacity-100 pointer-events-auto":y,"opacity-0 pointer-events-none":!y}),"data-testid":"test_id_iframe",id:"iframe_pbm",children:[Ee.jsx("div",{className:"bg-black/35 inset-0 absolute",onClick:()=>{m(!1),window.location.reload()}}),Ee.jsx("section",{className:"w-4/5 h-auto bg-zinc-800 py-2 px-4 flex items-center justify-end rounded-ss-2xl rounded-se-2xl border-b-2 border-gray-100 z-10",children:Ee.jsx("button",{className:"shadow-2xl cursor-pointer text-white font-bold bg-red-500 w-auto h-auto px-8 py-2 rounded-full","aria-label":"Fechar o modal","data-testid":"test_id_buttonclose",onClick:()=>{m(!1),window.location.reload()},children:"Fechar"})}),Ee.jsx("iframe",{src:d,title:s,width:"80%",height:"80%",allowFullScreen:!0,className:"z-10"}),Ee.jsxs("section",{className:"items-center justify-center flex flex-wrap gap-1 bg-zinc-800 z-10 w-4/5 py-2 px-4 rounded-ee-2xl rounded-es-2xl border-t-2 border-gray-100",children:[Ee.jsx(sx,{size:20,className:"shrink-0 text-red-500 "}),Ee.jsxs("p",{className:"text-start text-sm text-white",children:[Ee.jsx("span",{className:"text-red-500 font-semibold text-base mr-1",children:"Atenção:"}),"Após finalizar os termos de aceite, você já poderá fechar essa janela. Pode levar ",Ee.jsx("strong",{children:"alguns minutos"})," para os seus dados serem aprovados."]})]})]})}function Ex({textColor:d}){const[s,y]=Mn.useState(!1);return Ee.jsxs("section",{"data-testid":"test_id_invalid",className:"flex items-end justify-center gap-2 w-full h-auto flex-col border-y border-zinc-300 py-6",id:"security_number_invalid_container_pbm",children:[Ee.jsx(J0,{className:"w-full",textColor:d,children:"CPF não cadastrado!"}),Ee.jsx(CS,{className:"w-full",textColor:d,children:"Por favor, conclua seu cadastro para habilitar os benefícios deste laboratório."}),Ee.jsx(jg,{"data-testid":"test_id_openiframe",onClick:()=>y(!0),id:"button_accept_terms_pbm",children:"Aceitar os termos"}),Ee.jsx(_x,{url:"https://termo.azurewebsites.net/",title:"Aceitar termos PBM",openModal:s,setOpenModal:y})]})}const xx=d=>d===void 0?"":"?"+Object.keys(d).map(s=>s+"="+d[s]).join("&");function Ax(d){return Ee.jsx("a",{...d,target:"_blank",href:typeof d.href=="string"?d.href:d.href.pathname+xx(d.href.param),className:Ec("w-3xs cursor-pointer h-10 rounded-full bg-blue-500 hover:bg-blue-400 text-white text-sm font-semibold transition-colors flex items-center justify-center",d.className),"data-testid":"test_id_link",id:"link_pbm",children:d.children})}function Rx({textColor:d}){return Ee.jsxs("section",{"data-testid":"test_id_registered",className:"flex items-end justify-center gap-2 w-full h-auto flex-col border-y border-zinc-300 py-6",id:"security_number_registered_container_pbm",children:[Ee.jsx(J0,{className:"w-full",textColor:d,children:"CPF não habilitado no produto!"}),Ee.jsx(CS,{className:"w-full",textColor:d,children:"Por favor, conclua seu cadastro para habilitar os benefícios deste laboratório."}),Ee.jsx(Ax,{href:{pathname:"https://gip-pd-app.interplayers.com.br/idp-pd-app/adesao",param:{guid:"f2aff249-51b4-49a4-b671-d6bee89da0f0"}},children:"Ativar CPF"})]})}const Ox=async({clientID:d})=>{const v=await(await fetch("https://pbm.agradadigital.agradalabs.com/api/v1/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({StoreID:"84521053000148",StoreName:"agradadigital",ClientID:d})})).json();if(!v.success)throw new Error(v.message||"Failed to fetch authorization");return K0.set("pbm-token",v.data.token,{expires:parseInt(v.data.expiresIn,10)/(60*60),secure:!0,sameSite:"Strict"}),K0.set("pbm-token-refresh",v.data.refreshToken,{secure:!0,sameSite:"Strict"}),v};function Dx({originalProductPrice:d,industryLogo:s,clientID:y,eanProduct:m}){const g=Number(String(d).replace(",",".")),[v,x]=Mn.useState(!1),{setState:O,state:k,setTargetProduct:R}=Ng();Mn.useEffect(()=>{m&&R({ean:m,quantity:1})},[m,R]);const X=Mn.useCallback(async()=>{try{const fe=await Ox({clientID:y});fe.success?console.log("Authorization successful:",fe.data):console.error("Authorization failed:",fe.message)}catch(fe){console.error("Error fetching authorization:",fe)}},[y]);return Mn.useEffect(()=>{X()},[X]),Ee.jsxs(U1,{variant:"main",children:[Ee.jsx(X_,{originalProductPrice:g||0}),Ee.jsxs(U1,{variant:"simple",children:[k==="isEmpty"&&!v&&Ee.jsxs(Ee.Fragment,{children:[Ee.jsx(gx,{setLoading:x}),Ee.jsxs(jg,{className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 underline cursor-pointer hover:text-zinc-900 hover:bg-transparent flex items-center justify-start gap-1",onClick:()=>O("isActivated"),id:"check_benefits_button",children:[Ee.jsx("span",{children:"Consultar benefícios"}),Ee.jsx(wS,{size:16})]})]}),k==="isEmpty"&&v&&Ee.jsx(vx,{}),k==="isInvalid"&&!v&&Ee.jsx(Ex,{}),k==="isRegistered"&&!v&&Ee.jsx(Rx,{}),k==="isActivated"&&!v&&Ee.jsx(Tx,{originalProductPrice:g})]}),Ee.jsx(J_,{industryLogo:s||void 0})]})}window.pbm=Ug;class zx extends HTMLElement{constructor(){super();y1(this,"root",null);y1(this,"props",{originalProductPrice:0,industryLogo:"",clientID:"",eanProduct:""})}static get observedAttributes(){return["originalproductprice","industrylogo","clientid","eanProduct"]}updatePropsFromAttributes(){const y=this.getAttribute("originalproductprice"),m=this.getAttribute("industrylogo"),g=this.getAttribute("clientid"),v=this.getAttribute("eanProduct");y!==null&&(this.props.originalProductPrice=parseFloat(y)),m!==null&&(this.props.industryLogo=m),g!==null&&(this.props.clientID=g),v!==null&&(this.props.eanProduct=v,v&&Ug.getState().setTargetProduct({ean:v,quantity:1}))}connectedCallback(){this.updatePropsFromAttributes(),this.mount()}attributeChangedCallback(y,m,g){y==="originalproductprice"&&(this.props.originalProductPrice=parseFloat(g)),y==="industrylogo"&&(this.props.industryLogo=g),y==="clientid"&&(this.props.clientID=g),y==="eanProduct"&&(this.props.eanProduct=g,g&&Ug.getState().setTargetProduct({ean:g,quantity:1})),this.mount()}mount(){this.isConnected&&(this.root||(this.innerHTML="",this.root=G_.createRoot(this)),this.root.render(Ee.jsx(Dx,{...this.props})))}}customElements.define("pbm-component",zx)})();
364
+ */const sx=Cg("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),MS=d=>{let s;const y=new Set,m=(R,X)=>{const fe=typeof R=="function"?R(s):R;if(!Object.is(fe,s)){const Q=s;s=X??(typeof fe!="object"||fe===null)?fe:Object.assign({},s,fe),y.forEach(q=>q(s,Q))}},g=()=>s,O={setState:m,getState:g,getInitialState:()=>k,subscribe:R=>(y.add(R),()=>y.delete(R))},k=s=d(m,g,O);return O},fx=d=>d?MS(d):MS,dx=d=>d;function hx(d,s=dx){const y=Bl.useSyncExternalStore(d.subscribe,()=>s(d.getState()),()=>s(d.getInitialState()));return Bl.useDebugValue(y),y}const yx={securityNumber:"",state:"isEmpty",availableDiscountSelected:{quantity:0,discount:{unit:0,total:0},totalPrice:0},targetProduct:null,campaign:"pbm_campaign"},Ug=fx(d=>({...yx,setSecurityNumber:s=>d({securityNumber:s}),setState:s=>d({state:s}),setTargetProduct:s=>d({targetProduct:s}),setAvailableDiscountSelected:s=>d({availableDiscountSelected:s})}));function Ng(d){return hx(Ug,s=>s)}/*! js-cookie v3.0.5 | MIT */function Hg(d){for(var s=1;s<arguments.length;s++){var y=arguments[s];for(var m in y)d[m]=y[m]}return d}var mx={read:function(d){return d[0]==='"'&&(d=d.slice(1,-1)),d.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(d){return encodeURIComponent(d).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Q0(d,s){function y(g,v,x){if(!(typeof document>"u")){x=Hg({},s,x),typeof x.expires=="number"&&(x.expires=new Date(Date.now()+x.expires*864e5)),x.expires&&(x.expires=x.expires.toUTCString()),g=encodeURIComponent(g).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var O="";for(var k in x)x[k]&&(O+="; "+k,x[k]!==!0&&(O+="="+x[k].split(";")[0]));return document.cookie=g+"="+d.write(v,g)+O}}function m(g){if(!(typeof document>"u"||arguments.length&&!g)){for(var v=document.cookie?document.cookie.split("; "):[],x={},O=0;O<v.length;O++){var k=v[O].split("="),R=k.slice(1).join("=");try{var X=decodeURIComponent(k[0]);if(x[X]=d.read(R,X),g===X)break}catch{}}return g?x[g]:x}}return Object.create({set:y,get:m,remove:function(g,v){y(g,"",Hg({},v,{expires:-1}))},withAttributes:function(g){return Q0(this.converter,Hg({},this.attributes,g))},withConverter:function(g){return Q0(Hg({},this.converter,g),this.attributes)}},{attributes:{value:Object.freeze(s)},converter:{value:Object.freeze(d)}})}var K0=Q0(mx,{path:"/"});const px=async({document:d,products:s})=>{const y="https://pbm.agradadigital.agradalabs.com/api/v1",m=K0.get("pbm-token");if(!m)throw new Error("Token is not defined in cookies or is expired");const v=await(await fetch(`${y}/transactions/validate`,{method:"POST",headers:{Authorization:`Bearer ${m}`,"Content-Type":"application/json"},body:JSON.stringify({document:d,products:s})})).json();if(!v.success)throw new Error(v.message||"Failed to fetch document validation");return v};function gx({setLoading:d}){const{setSecurityNumber:s,setState:y,securityNumber:m,targetProduct:g}=Ng(),{handleSubmit:v,register:x,setValue:O,formState:{errors:k}}=QE({resolver:ax(EE),defaultValues:{securityNumber:m||""}}),R=async X=>{d(!0);try{if(g===null){console.error("Product is not defined!");return}const fe=await px({document:X.securityNumber.replace(/\D/g,""),products:[{ean:g.ean,quantity:g.quantity}]});if(fe.success){const Q={active:"isActivated",nonexistent:"isInvalid"};s(X.securityNumber),y(Q[fe.data.process_platform.status])}}catch(fe){console.error("Error validating document:",fe)}finally{d(!1)}};return Ee.jsxs("form",{onSubmit:v(R),className:Ec("w-full h-auto flex items-center justify-center mb-0 transition-all duration-150",{"mb-4":k.securityNumber}),id:"form_security_number_pbm",children:[Ee.jsxs("label",{htmlFor:"cpf",className:"w-4/5 h-auto flex items-start flex-col justify-center relative py-2",id:"label_security_number_pbm",children:[Ee.jsx("input",{type:"text",className:Ec("w-full h-8 bg-[#44c2c0]/20 rounded-s-full text-sm font-semibold focus:outline focus:outline-[#339c9b] focus:bg-[#44c2c0]/30 text-zinc-600 placeholder:text-zinc-600 px-4 placeholder:text-sm placeholder:font-semibold",{"outline outline-red-600":k.securityNumber}),placeholder:"Digite seu CPF aqui...",required:!0,maxLength:14,...x("securityNumber",{onChange:X=>{const fe=xE(X.target.value);O("securityNumber",fe,{shouldValidate:!0})}}),defaultValue:m||"",id:"input_security_number_pbm"}),k.securityNumber&&Ee.jsx("span",{className:"text-red-400 text-xs font-semibold absolute -bottom-3 left-2 text-nowrap",id:"security_number_form_error",children:k.securityNumber.message})]}),Ee.jsx("button",{type:"submit",className:"bg-gray-400 w-1/5 h-8 flex items-center justify-center rounded-e-full cursor-pointer",id:"button_submit_security_number_pbm",children:Ee.jsx(wS,{size:24,color:"white",strokeWidth:2})})]})}function vx({textColor:d}){return Ee.jsxs("main",{className:"flex items-center justify-center gap-4",id:"loading_pbm",children:[Ee.jsx("div",{"data-testid":"test_id_spin",className:"w-8 h-8 border-4 border-t-gray-700 border-gray-300 rounded-full animate-spin",id:"loading_spin"}),Ee.jsx("p",{className:"text-sm font-semibold text-start text-zinc-900",style:{color:d},id:"loading_label",children:"Um momento... estamos verificando seus dados."})]})}function jg(d){return Ee.jsx("button",{...d,className:Ec("w-3xs cursor-pointer h-10 rounded-full bg-blue-500 hover:bg-blue-400 text-white text-sm font-semibold transition-colors",d.className),children:d.children})}const bx=[{id:1,ean:"001",authorizedQuantity:1,discountValue:4800,discountPercentual:2400},{id:2,ean:"002",authorizedQuantity:2,discountValue:4800,discountPercentual:2400},{id:3,ean:"003",authorizedQuantity:3,discountValue:9400,discountPercentual:4700}];function J0(d){return Ee.jsx("h2",{className:Ec("text-start font-semibold text-sm text-zinc-900",d.className),style:{color:d.textColor,fontSize:d.textSize},"data-testid":"test_id_title",id:"title_pbm",children:d.children})}function Sx({data:d,onChange:s,checked:y,originalProductPrice:m}){const{setAvailableDiscountSelected:g,securityNumber:v}=Ng(),x="unity_quantity_"+d.authorizedQuantity,O=d.discountPercentual/1e4,k=m*O,R=k*d.authorizedQuantity,X=m*d.authorizedQuantity-R,fe=Mn.useCallback(()=>{y&&g({discount:{total:R,unit:k},quantity:d.authorizedQuantity,totalPrice:X})},[y,d.authorizedQuantity,g,R,X,k]);return Mn.useEffect(()=>{fe()},[fe]),Ee.jsxs("label",{htmlFor:x,className:"label_benefits w-full flex items-center justify-start bg-zinc-300/60 border border-zinc-400/50 px-4 py-2 hover:bg-zinc-300 transition-colors cursor-pointer rounded-full gap-1",id:"label_benefits_"+x,children:[Ee.jsx("input",{type:"radio",name:"benefits_discount",id:x,className:"hidden",checked:y,onChange:s,disabled:!v}),y?Ee.jsx(ox,{color:"#32b316",size:20}):Ee.jsx(rx,{color:"#9f9fa9",size:20}),Ee.jsxs("span",{className:"text-zinc-900 font-semibold text-sm",children:[d.authorizedQuantity,"un"]}),Ee.jsxs("section",{className:"ml-auto relative",children:[Ee.jsxs("span",{className:"absolute -top-4 text-emerald-900 py-0.5 font-semibold text-xs bg-[#32b316] px-2 w-auto text-nowrap rounded-2xl -right-4",children:[R.toLocaleString("pt-BR",{currency:"BRL",currencyDisplay:"symbol",currencySign:"standard",style:"currency"})," ","OFF"]}),Ee.jsx("strong",{className:"text-zinc-900 font-semibold text-sm text-center",children:X.toLocaleString("pt-BR",{currency:"BRL",currencyDisplay:"symbol",currencySign:"standard",style:"currency"})})]})]})}function Tx({originalProductPrice:d}){const{securityNumber:s,setState:y}=Ng(),[m,g]=Mn.useState(null);return Ee.jsxs("section",{className:"flex items-start justify-center gap-4 w-full h-auto flex-col",id:"benefits_table_pbm",children:[Ee.jsx(J0,{children:"Descontos disponíveis:"}),Ee.jsx("form",{className:"flex flex-col items-center justify-start w-full gap-3",id:"form_benefits_table_pbm",children:bx.map((v,x)=>{const O="unity_quantity_"+v.authorizedQuantity;return Ee.jsx(Sx,{data:v,checked:m===O,onChange:()=>g(O),originalProductPrice:d},x)})}),!s&&Ee.jsxs(jg,{onClick:()=>y("isEmpty"),className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 cursor-pointer hover:text-zinc-900 hover:bg-transparent text-start",id:"unauthorized_benefits_button",children:["Atenção: não é possível utilizar os benefícos sem realizar a consulta do cpf, por favor"," ",Ee.jsx("span",{className:"underline",children:"insira seu cpf para utilizar os benefícios"})]}),s&&Ee.jsx(jg,{onClick:()=>y("isEmpty"),className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 cursor-pointer hover:text-zinc-900 hover:bg-transparent text-start",id:"change_security_number",children:Ee.jsx("span",{className:"underline",children:"Deseja editar o cpf digitado?"})})]})}function CS(d){return Ee.jsx("p",{className:Ec("text-start font-normal text-sm text-zinc-900",d.className),style:{color:d.textColor,fontSize:d.textSize},"data-testid":"test_id_text",id:"text_pbm",children:d.children})}function _x({url:d,title:s,openModal:y,setOpenModal:m}){return Ee.jsxs("main",{className:Ec("fixed inset-0 flex items-center justify-center z-50 flex-col transition-all shadow",{"opacity-100 pointer-events-auto":y,"opacity-0 pointer-events-none":!y}),"data-testid":"test_id_iframe",id:"iframe_pbm",children:[Ee.jsx("div",{className:"bg-black/35 inset-0 absolute",onClick:()=>{m(!1),window.location.reload()}}),Ee.jsx("section",{className:"w-4/5 h-auto bg-zinc-800 py-2 px-4 flex items-center justify-end rounded-ss-2xl rounded-se-2xl border-b-2 border-gray-100 z-10",children:Ee.jsx("button",{className:"shadow-2xl cursor-pointer text-white font-bold bg-red-500 w-auto h-auto px-8 py-2 rounded-full","aria-label":"Fechar o modal","data-testid":"test_id_buttonclose",onClick:()=>{m(!1),window.location.reload()},children:"Fechar"})}),Ee.jsx("iframe",{src:d,title:s,width:"80%",height:"80%",allowFullScreen:!0,className:"z-10"}),Ee.jsxs("section",{className:"items-center justify-center flex flex-wrap gap-1 bg-zinc-800 z-10 w-4/5 py-2 px-4 rounded-ee-2xl rounded-es-2xl border-t-2 border-gray-100",children:[Ee.jsx(sx,{size:20,className:"shrink-0 text-red-500 "}),Ee.jsxs("p",{className:"text-start text-sm text-white",children:[Ee.jsx("span",{className:"text-red-500 font-semibold text-base mr-1",children:"Atenção:"}),"Após finalizar os termos de aceite, você já poderá fechar essa janela. Pode levar ",Ee.jsx("strong",{children:"alguns minutos"})," para os seus dados serem aprovados."]})]})]})}function Ex({textColor:d}){const[s,y]=Mn.useState(!1);return Ee.jsxs("section",{"data-testid":"test_id_invalid",className:"flex items-end justify-center gap-2 w-full h-auto flex-col border-y border-zinc-300 py-6",id:"security_number_invalid_container_pbm",children:[Ee.jsx(J0,{className:"w-full",textColor:d,children:"CPF não cadastrado!"}),Ee.jsx(CS,{className:"w-full",textColor:d,children:"Por favor, conclua seu cadastro para habilitar os benefícios deste laboratório."}),Ee.jsx(jg,{"data-testid":"test_id_openiframe",onClick:()=>y(!0),id:"button_accept_terms_pbm",children:"Aceitar os termos"}),Ee.jsx(_x,{url:"https://termo.azurewebsites.net/",title:"Aceitar termos PBM",openModal:s,setOpenModal:y})]})}const xx=d=>d===void 0?"":"?"+Object.keys(d).map(s=>s+"="+d[s]).join("&");function Ax(d){return Ee.jsx("a",{...d,target:"_blank",href:typeof d.href=="string"?d.href:d.href.pathname+xx(d.href.param),className:Ec("w-3xs cursor-pointer h-10 rounded-full bg-blue-500 hover:bg-blue-400 text-white text-sm font-semibold transition-colors flex items-center justify-center",d.className),"data-testid":"test_id_link",id:"link_pbm",children:d.children})}function Rx({textColor:d}){return Ee.jsxs("section",{"data-testid":"test_id_registered",className:"flex items-end justify-center gap-2 w-full h-auto flex-col border-y border-zinc-300 py-6",id:"security_number_registered_container_pbm",children:[Ee.jsx(J0,{className:"w-full",textColor:d,children:"CPF não habilitado no produto!"}),Ee.jsx(CS,{className:"w-full",textColor:d,children:"Por favor, conclua seu cadastro para habilitar os benefícios deste laboratório."}),Ee.jsx(Ax,{href:{pathname:"https://gip-pd-app.interplayers.com.br/idp-pd-app/adesao",param:{guid:"f2aff249-51b4-49a4-b671-d6bee89da0f0"}},children:"Ativar CPF"})]})}const Ox=async({clientID:d})=>{const v=await(await fetch("https://pbm.agradadigital.agradalabs.com/api/v1/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({StoreID:"84521053000148",StoreName:"agradadigital",ClientID:d})})).json();if(!v.success)throw new Error(v.message||"Failed to fetch authorization");return K0.set("pbm-token",v.data.token,{expires:parseInt(v.data.expiresIn,10)/(60*60),secure:!0,sameSite:"Strict"}),K0.set("pbm-token-refresh",v.data.refreshToken,{secure:!0,sameSite:"Strict"}),v};function Dx({originalProductPrice:d,industryLogo:s,clientID:y,eanProduct:m}){const g=Number(String(d).replace(",",".")),[v,x]=Mn.useState(!1),{setState:O,state:k,setTargetProduct:R}=Ng();Mn.useEffect(()=>{m&&R({ean:m,quantity:1})},[m,R]);const X=Mn.useCallback(async()=>{try{const fe=await Ox({clientID:y});fe.success?console.log("Authorization successful:",fe.data):console.error("Authorization failed:",fe.message)}catch(fe){console.error("Error fetching authorization:",fe)}},[y]);return Mn.useEffect(()=>{X()},[X]),Ee.jsxs(U1,{variant:"main",children:[Ee.jsx(X_,{originalProductPrice:g||0}),Ee.jsxs(U1,{variant:"simple",children:[k==="isEmpty"&&!v&&Ee.jsxs(Ee.Fragment,{children:[Ee.jsx(gx,{setLoading:x}),Ee.jsxs(jg,{className:"bg-transparent p-0 pl-2 w-auto h-auto text-zinc-600 underline cursor-pointer hover:text-zinc-900 hover:bg-transparent flex items-center justify-start gap-1",onClick:()=>O("isActivated"),id:"check_benefits_button",children:[Ee.jsx("span",{children:"Consultar benefícios"}),Ee.jsx(wS,{size:16})]})]}),k==="isEmpty"&&v&&Ee.jsx(vx,{}),k==="isInvalid"&&!v&&Ee.jsx(Ex,{}),k==="isRegistered"&&!v&&Ee.jsx(Rx,{}),k==="isActivated"&&!v&&Ee.jsx(Tx,{originalProductPrice:g})]}),Ee.jsx(J_,{industryLogo:s||void 0})]})}window.pbm=Ug;class zx extends HTMLElement{constructor(){super();y1(this,"root",null);y1(this,"props",{originalProductPrice:0,industryLogo:"",clientID:"",eanProduct:""})}static get observedAttributes(){return["originalproductprice","industrylogo","clientid","eanproduct"]}updatePropsFromAttributes(){const y=this.getAttribute("originalproductprice"),m=this.getAttribute("industrylogo"),g=this.getAttribute("clientid"),v=this.getAttribute("eanproduct");y!==null&&(this.props.originalProductPrice=parseFloat(y)),m!==null&&(this.props.industryLogo=m),g!==null&&(this.props.clientID=g),v!==null&&(this.props.eanProduct=v,v&&Ug.getState().setTargetProduct({ean:v,quantity:1}))}connectedCallback(){this.updatePropsFromAttributes(),this.mount()}attributeChangedCallback(y,m,g){y==="originalproductprice"&&(this.props.originalProductPrice=parseFloat(g)),y==="industrylogo"&&(this.props.industryLogo=g),y==="clientid"&&(this.props.clientID=g),y==="eanproduct"&&(this.props.eanProduct=g,g&&Ug.getState().setTargetProduct({ean:g,quantity:1})),this.mount()}mount(){this.isConnected&&(this.root||(this.innerHTML="",this.root=G_.createRoot(this)),this.root.render(Ee.jsx(Dx,{...this.props})))}}customElements.define("pbm-component",zx)})();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agrada_digital/pbm",
3
3
  "private": false,
4
- "version": "0.0.52",
4
+ "version": "0.0.53",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",