{"version":3,"file":"vw-oneform-feature-app.umd.js","mappings":"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CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,UACD,CAAC,KAAM,OAAQ,QACf,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,SAAU,UACX,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,KAAM,OAAQ,OAAQ,QACvB,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD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AAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,MACbC,YAAa,mBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,eACbE,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,WACbC,YAAa,WACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,WACbC,YAAa,gBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,WACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,WACbC,YAAa,mBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,WACbC,YAAa,qBACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,OACbC,YAAa,WACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,OACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,OACbC,YAAa,cACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,gBACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,gBACbC,YAAa,cACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,gBACbC,YAAa,mBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,eACbC,YAAa,WACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,eACbC,YAAa,gBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,eACbC,YAAa,kBACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,eACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,eACbC,YAAa,mBACbC,QAAS,CACP,CACEzgE,MAAO,aAIb,CACEugE,YAAa,aACbE,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,aACbC,YAAa,WACbC,QAAS,CACP,CACEzgE,MAAO,WAET,CACE0gE,WAAY,MAEd,CACEd,OAAQ,MAId,CACEW,YAAa,aACbC,YAAa,S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MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,mBAER,CACCxK,KAAM,kCACNwK,MAAO,mBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,kBAER,CACCxK,KAAM,oBACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,MAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,oCAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,eACNwK,MAAO,YAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,UAER,CACCxK,KAAM,gCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,YAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SC5pEI8oF,EAAqBt1C,GAC1B,CACN,CACCh+C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MACC,mKAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,sCAER,CACCxK,KAAM,cACNwK,MAAOwzC,GAAc,uBAEtB,CACCh+C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,4BAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,0BAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,UCzJGkpF,EAAkB,CAC9B,CACC1zF,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,gBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,KAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,qBAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAO,MAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,wBACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,yBAER,CACCxK,KAAM,yBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,cAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,gBAER,CACCxK,KAAM,iBACNwK,MAAO,uBCpRI4oF,EAAsBA,CAACW,EAAyB/1C,IACrD,CACN,CACCh+C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,aAER,CACCxK,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,WACNwK,MAAO,iBAER,CACCxK,KAAM,YACNwK,MAAO,kBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOwzC,GAAc,uBAEtB,CACCh+C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,uBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,uBACNwK,MAAO,6BAER,CACCxK,KAAM,SACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAOupF,EAAgB,aAAe,WAEvC,CACC/zF,KAAM,sBACNwK,MAAO,aAER,CACCxK,KAAM,cACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,kBACNwK,MAAO,6BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,UAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,4BAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SCpyBGgpF,EAAwBP,GAC7B,CACN,CACCjzF,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,mBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,UAER,CACCxK,KAAM,wBACNwK,MAAO,KAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,+BACNwK,MAAOyoF,EAAc,WAAa,qBAEnC,CACCjzF,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,WACNwK,MAAOyoF,EAAc,oBAAsB,qBAE5C,CACCjzF,KAAM,UACNwK,MAAOyoF,EAAc,YAAc,YAEpC,CACCjzF,KAAM,eACNwK,MAAO,gBAER,CACCxK,KAAM,2BACNwK,MAAO,IAER,CACCxK,KAAM,2BACNwK,MAAO,KAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAOyoF,EAAc,OAAS,QAE/B,CACCjzF,KAAM,kBACNwK,MAAO,WAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,mBAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAOyoF,EAAc,QAAU,SAEhC,CACCjzF,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,gBAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAOyoF,EAAc,QAAU,SAEhC,CACCjzF,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,MCrLG6oF,EAAer1C,GACpB,CACN,CACCh+C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,aAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,QACNwK,MAAO,uBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOwzC,GAAc,gCAKtB,CACCh+C,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,uBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MACC,wKAEF,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,qBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iCACNwK,MAAO,MAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,8BAER,CACCxK,KAAM,iBACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,gBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,aAER,CACCxK,KAAM,0BACNwK,MAAO,iBAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,cAER,CACCxK,KAAM,kCACNwK,MAAO,uBAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,WAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,gCAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,gCAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,sBAER,CACCxK,KAAM,4BACNwK,MAAO,wBAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,UAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,uBAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,gBAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,sBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,+BAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,OAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SC77BG0oF,EAAgBA,CAACa,EAAyB/1C,IAC/C,CACN,CACCh+C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,gBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,kCAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,sBACNwK,MAAO,wCAER,CACCxK,KAAM,uBACNwK,MACC,wLAKF,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,MAER,CACCxK,KAAM,aACNwK,MACC,qJAGF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MACC,wKAEF,CACCxK,KAAM,iBACNwK,MACC,uKAEF,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOwzC,GAAc,gCAEtB,CACCh+C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MACC,wKAEF,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,sBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,mBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,2BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,aAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,OAER,CACCxK,KAAM,mCACNwK,MAAO,OAER,CACCxK,KAAM,qCACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,UAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,sDAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,aAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SC79BGipF,EAAe,CAC3B,CACCzzF,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,cAER,CACCxK,KAAM,4BACNwK,MAAO,cAKR,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,gBACNwK,MAAO,cAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,wBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,YAER,CACCxK,KAAM,cACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,qBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,YAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SCviBI+oF,EAAkBN,GACvB,CACN,CACCjzF,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,OACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAOyoF,EAAc,OAAS,QAE/B,CACCjzF,KAAM,4BACNwK,MAAO,YAKR,CACCxK,KAAM,aACNwK,MACC,2JAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAOyoF,EAAc,OAAS,QAE/B,CACCjzF,KAAM,kBACNwK,MAAO,wBAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,YAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,UAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,gBAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAOyoF,EAAc,QAAU,QAEhC,CACCjzF,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,KAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,OAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,+BAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAOyoF,EAAc,QAAU,SAEhC,CACCjzF,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,oBAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,8CACNwK,MAAO,cAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAOyoF,EAAc,QAAU,SAEhC,CACCjzF,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,OAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,cAER,CACCxK,KAAM,iCACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAOyoF,EAAc,QAAU,SAEhC,CACCjzF,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,OAER,CACCxK,KAAM,wBACNwK,MAAO,UAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,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AAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5hL,IAAAA,cAAC2hL,GAAa,CAACC,UAAU,YACzB5h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,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM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","sources":["webpack://vw-oneform-feature-app/webpack/universalModuleDefinition","webpack://vw-oneform-feature-app/./src/bff/api/get-dealer-kvps.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-installations.ts","webpack://vw-oneform-feature-app/./src/bff/get-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/send-form.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-domains.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-carlines.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-colors.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-dealers.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-pincode.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-salesgroups.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vehiculos-modelo.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vilma-frame.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-ofertas-suv.ts","webpack://vw-oneform-feature-app/./src/bff/api/eapi.ts","webpack://vw-oneform-feature-app/./src/bff/get-data-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-vweventos-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-google-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/report-error-sentry.ts","webpack://vw-oneform-feature-app/./src/components/SelectExtended.tsx","webpack://vw-oneform-feature-app/./src/components/AnteriorCTA.tsx","webpack://vw-oneform-feature-app/./src/components/AvisoIslasCanarias.tsx","webpack://vw-oneform-feature-app/./src/components/CanalDeContacto.tsx","webpack://vw-oneform-feature-app/./src/components/Card.tsx","webpack://vw-oneform-feature-app/./src/components/CarouselComponent.tsx","webpack://vw-oneform-feature-app/./src/components/CloseButton.tsx","webpack://vw-oneform-feature-app/./src/components/CodigoPostal.tsx","webpack://vw-oneform-feature-app/./src/components/ConfirmacionLayers.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalFullScreenSinConsentimientos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalItem.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/Legales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalesFormatoLayer.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestions.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsComerciales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsTurismos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/ConsentQuestion.tsx","webpack://vw-oneform-feature-app/./src/components/DealerCard.tsx","webpack://vw-oneform-feature-app/./src/components/DetalleMotivo.tsx","webpack://vw-oneform-feature-app/./src/components/FechaCompra.tsx","webpack://vw-oneform-feature-app/./src/components/Kilometros.tsx","webpack://vw-oneform-feature-app/./src/components/LastNavigationConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/components/LocateUserFullScreen.tsx","webpack://vw-oneform-feature-app/./src/components/MatriculaYModelo.tsx","webpack://vw-oneform-feature-app/./src/components/NoCliente.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaIntroduccionStars.tsx","webpack://vw-oneform-feature-app/./src/components/SelectDpsDomain.tsx","webpack://vw-oneform-feature-app/./src/components/Trato.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaNombreApellido.tsx","webpack://vw-oneform-feature-app/./src/components/PoliticaPrivacidad.tsx","webpack://vw-oneform-feature-app/./src/components/SlideEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestMarca.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestModelo.tsx","webpack://vw-oneform-feature-app/./src/components/SelectMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/components/VerticalLine.tsx","webpack://vw-oneform-feature-app/./src/components/YaTienesVolkswagen.tsx","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-CEMVenta.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-carline-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-alphabetical.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-salesgroups-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-carline-flag.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-salesgroups-from-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-formated-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline-from-salesgroup.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-fa-content-modes.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/CarlineSelect.tsx","webpack://vw-oneform-feature-app/./src/components/LoadingEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouTitle.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPage.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouFields.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPageAction.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/LeadsCTAs.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./src/components/IDBuzzFakeInput.tsx","webpack://vw-oneform-feature-app/./src/components/ImageCarNoColorBG.tsx","webpack://vw-oneform-feature-app/./src/components/Country.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleCTASelection.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RadioTextGroup.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextInputExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Apellido.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Email.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputError.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Nombre.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/Metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeState.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.util.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.complete.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternMatcher.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./src/components/inputs/Telefono.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextAreaExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/calling-countries.ts","webpack://vw-oneform-feature-app/./src/components/inputs/CustomRadioButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleOptionsCTAs.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSelect.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RatingStars.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSlider.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSwitch.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Matricula.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/DniNif.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Date.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/icon.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Upload/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputFile.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/NextStepCTA.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/use-only-letters-control.tsx","webpack://vw-oneform-feature-app/./src/components/layers/AvailabilityErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/feature-app/remove-configuration-hash.ts","webpack://vw-oneform-feature-app/./src/components/layers/AreYouSureLayer.tsx","webpack://vw-oneform-feature-app/./src/components/layers/GenericErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/RatingStarWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/PaddingWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/InputWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ContactoInfoWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ConfirmacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/WhiteLinkWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/helpers.tsx","webpack://vw-oneform-feature-app/./node_modules/@redux-devtools/extension/lib/esm/index.js","webpack://vw-oneform-feature-app/./src/feature-app/App.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalandarioStyles.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalendarioCita.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/FranjaHoraria.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/SlotsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/TabsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CloseInDealerCalendar.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjects.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjectsFormsAdhoc.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/OtherInputTypesObjects.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/dynamic-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/integrator-root/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-media-query-vars.js","webpack://vw-oneform-feature-app/./src/feature-app/LayerManagerWrapper.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/Loadscript.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/MapGeneralController.tsx","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/sort.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/within.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/index.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/range.js","webpack://vw-oneform-feature-app/./node_modules/supercluster/index.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/generate-clusters.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/handle-location.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePinState.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePredictions.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-get-franja-and-day-from.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-create-nop-dms-slot-and-asessor.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/NewDealerCard.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SeleccionDealerTabs.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SuggestStyles.tsx","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/marker_dispatcher.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/omit.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers_prerender.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/loaders/google_map_loader.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/wrap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/lat_lng.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/transform.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/index.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/raf.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/log2.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/pick.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isEmpty.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isNumber.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detect.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isPlainObject.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/passiveEvents.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detectElementResize.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_heatmap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isArraysEqualEps.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CommonStyledComponents.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CenterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/ClusterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/DealerMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Map.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Carousel.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Filtros.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/suggest.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/map-styles.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/provinces.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/GenericStylesDesktop.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerDesktopView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerMobileView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/helpers/serviceManagment.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/sort-points.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/utils.ts","webpack://vw-oneform-feature-app/./src/feature-app/OneForm.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Templates.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/CloseComponent.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/FullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/LayerScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Navigation.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getRatingStarsOutput.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getUpdatedField.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStep.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/RenderController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/ScreenController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/TemplatesFullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/ThankYouComponent.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/get-test-pincode.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/identity-kit-service/person-api.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/index.ts","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-app/feature-app.tsx","webpack://vw-oneform-feature-app/./src/feature-app/get-params-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-dropdown-position.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-fa-content.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-config.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-bounding-client-rect.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealer.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-brand.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-comerciales.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalaciones.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-match-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-bonos-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-dev-stage.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-loaded.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-locate-user.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-navigate.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-on-screen.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-show-overflow.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-transform-to-html.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-tracking-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-person.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-environment.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-services.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-auth-service.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-waid-litera.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-tracking-manager.ts","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTile.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTileGrid.tsx","webpack://vw-oneform-feature-app/./src/feature-app/FormController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/format-dates.ts","webpack://vw-oneform-feature-app/./src/feature-app/get-trigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/lodash-functions.ts","webpack://vw-oneform-feature-app/./src/feature-app/set-object-values.ts","webpack://vw-oneform-feature-app/./src/feature-app/rating-evaluation.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/reducer.ts","webpack://vw-oneform-feature-app/./node_modules/reselect/es/defaultMemoize.js","webpack://vw-oneform-feature-app/./node_modules/reselect/es/index.js","webpack://vw-oneform-feature-app/./src/feature-app/redux/selectors.ts","webpack://vw-oneform-feature-app/./src/feature-app/save-feature-app.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/ErrorBoundary.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/functiontostring.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/is.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/browser.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/string.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/object.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/logger.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/misc.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/inboundfilters.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/syncpromise.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/scope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/session.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/severity.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/hub.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/stacktrace.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/supports.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/instrument.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/normalize.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/memo.ts","webpack://vw-oneform-feature-app/./node_modules/src/stack-parsers.ts","webpack://vw-oneform-feature-app/./node_modules/src/eventbuilder.ts","webpack://vw-oneform-feature-app/./node_modules/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/polyfill.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/error.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/dsn.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/api.ts","webpack://vw-oneform-feature-app/./node_modules/src/helpers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/globalhandlers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/trycatch.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/enums.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/breadcrumbs.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/linkederrors.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/useragent.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/dedupe.ts","webpack://vw-oneform-feature-app/./node_modules/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/version.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integration.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/baseclient.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/envelope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/request.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/noop.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/basebackend.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/promisebuffer.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/ratelimit.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/status.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/utils.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/async.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/clientreport.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/backend.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/client.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/sentry.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-helpers.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-objects.ts","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/ThankYouAutosubmit.tsx","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/AutosubmitController.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/ThankYouBaja.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesFields.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesController.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmarCallMeLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmacionCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/CallMeOfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ThankYouCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ConfirmacionCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/Cem/CemController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ThankYouCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/FirstStepCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LastQuestionFlowCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesSinConsentimientosCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaCalculadoraForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBonosForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaMaintenanceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaPortalForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCitaDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormController.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputRegex.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmacionCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LoadingLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LocateUser.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ThankYouNuevaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormDefault.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormLogged.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ReservaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/SeleccionDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ConfirmacionEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresaInfoComponent.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/Fleet.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresasForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ThankYouEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasController.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/MapaEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ConfirmationPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ThankYouPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/CajaCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ConfirmacionDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/DisplayImagenesYCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/Mensaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/MensajesCards.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/SectionMensajes.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ThankYouDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/DiaDeLaMadreForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Portada.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Experiencia.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/EurocopaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ThankYouEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ConfirmacionEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/LastNavigationFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/use-initialize-fidelizacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/ThankYouFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ConfirmationTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/EmailForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/questions.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ThankYouTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ThankYouConcursoRodaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMNoContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMController.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ConfirmacionLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ThankYouLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/CitaVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/LeadsCitaVentaPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ConfirmacionLeadsNoQuestions.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoComercialesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-financeCalculation.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/MapaLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/MasInformacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/LeadsMasInformacionPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Oferta/OfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/PresupuestoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/LeadsPresupuestoPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/StockForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/LeadsStockFormPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/TestDriveForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/LeadsTestDrivePartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ThankYouLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/append-json-key.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-calculadora-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-cod-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-desc-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-configurador-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-match-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-ofertas-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/formatLegalesOfertas.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/use-initialize-lead-form.ts","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Cita/PartialDataCitaConfgurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ConfirmacionLeadInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ImageCar.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/LocateUserLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JorneyLeadsInPageController.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JourneyLeadsInPageWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/MapaLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MasInformacion/PartialDataMasInformacionConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Presupuesto/PresupuestoPartialDataConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/TestDrive/PartialDataTestDriveConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/get-color-info.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMLayout.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/LegalMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMController.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/ThankYouMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ConfirmacionNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/NewsletterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ThankYouNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/use-initialize-no-compra-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ConfirmacionNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ThankYouNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/MapaNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/PantallaOtrosModelos.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/RatingSteps.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/use-initialize-no-renovacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/CtasNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ConfirmacionNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ThankYouNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/MapaNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/PantallaMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FakeTriggerCTA.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ConfirmacionProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/MatchProspectForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ThankYouProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/RaceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/use-race-form-controller.ts","webpack://vw-oneform-feature-app/./src/forms/SAC/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/ThankYouOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopFields.tsx","webpack://vw-oneform-feature-app/./src/components/HeaderImage.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACform.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMotivoSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaDireccionPostal.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMunicipio.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ConfirmacionSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ThankYouSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/dps-utils.ts","webpack://vw-oneform-feature-app/./src/forms/format-fields.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/add-remove-steps.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/transform-millage.ts","webpack://vw-oneform-feature-app/./src/globals.ts","webpack://vw-oneform-feature-app/./src/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsThankYou.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckboxSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkbox/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/checkbox/index.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/TheOriginals2025Trigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/tabindex-manager.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/slide.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/media-gallery/hooks/use-media-gallery-context.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/gallery.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/arrow-buttons.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextInputField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/EmailField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/Arrow.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextAreaField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Page.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Form.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadGTI2024Trigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/DiaDeLaMadreTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/EurocopaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/FidelizacionTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ConfirmacionNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ComponentsAndViews/FriendsName.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ThankYouNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/NavidadForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/AcordionHorizontal.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/CTAOfertaSuv.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/MobileCard.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/LiSection.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/Tabs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/ProgressBar.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/TabsNavigation.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/SuvperheroesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/ConcursoRodajeTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/PlanIdealTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/AutosubmitTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/BajaComunicacionesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/divider/index.js","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/RaceTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDefaultTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBenefitsForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaStageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/EmpresasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/LastNavigationCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ConfirmacionCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ThankYouCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/FirstStepCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/StepsCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/ThankYouCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/DealerCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntregaStyles.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaNoInteres.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ConfirmacionCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ThankYouCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/ThankYouCEMSegundaEntregaValoracion.tsx","webpack://vw-oneform-feature-app/./src/triggers/EncuestasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ThankYouFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ConfirmacionFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/FeedbackForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/FeedbackTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadBonoTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalacion.ts","webpack://vw-oneform-feature-app/./src/triggers/LeadMatchTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadStockTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadEmbededTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/CallCenterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/LeadsCallCenterPartialData.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadInPageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/MGMTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/NewsletterTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/OneFormTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectPosventaEmbedded.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectsTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/SACTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCForm.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCThankYou.tsx","webpack://vw-oneform-feature-app/./src/triggers/UGCTrigger.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAServices.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CarouselWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/DealerCardWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/MapaScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/SuggestionScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewDesktopWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewMobileWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/WidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/triggers/WidgetTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/TestIDTrigger.tsx","webpack://vw-oneform-feature-app/./src/types.ts","webpack://vw-oneform-feature-app/./node_modules/@mapbox/point-geometry/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useScrollPosition.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/latest/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/throttle/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/debounce/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/event/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/window-size/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/global.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/node.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/env.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/time.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/ssr.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/breakpoint-wrapper/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/call-to-action/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/character-counter/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/helpers.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/animation.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/container.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/notification-message/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/fieldset/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/a11y.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/breakpoint.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/common-props.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Discount/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Bookmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckmarkCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/display-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input-notification.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/logger.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/image/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/layout/layout.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButton/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButtonSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/radio-button/index.js","webpack://vw-oneform-feature-app/./node_modules/markdown-to-jsx/index.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list-item.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/richtext/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/select/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/spinner/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/switch/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/tab.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-animated-indicator.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-previous-next-button-disabled-state.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-area/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputShow/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputHide/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CloseCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-input/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/create-css-var-name.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/grid.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-design-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/deprecations.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/get.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-theme-definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-theme.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-design-token-value.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/theme-provider.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calc/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calendar/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/CarPickupService/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ContactDealer/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Edit/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/FleetServicePrivate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Interior/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Locate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Magnifier/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Mail/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Phone/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Reload/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Remove/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Route/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarFilled/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/layer-manager/src/v2/types.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/tokens/dist-es/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentConfigurationBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/ContractCenterService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DecisionType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DevicePlatform.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/EnrollmentStatus.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/ModGeneration.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/Role.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/SoftwareVersion.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/TimeoutError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/UnknownSimStatusError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/VcfUpdateCapabilityError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/SpecificationFilter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/VehicleCommissionDataHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/GvfNetworkError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UnknownVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UserNotAuthorizedError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/IdentityDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/LoginRenewalService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/helper-functions.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/mapPackages/MapPackagesService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/oilNorm/OilNormService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/permissionService/PermissionService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/ProfileServiceV2.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/WeProfileFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/serviceConfig/ServiceConfigHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinNotificationType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/TwoFactorManagementClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/InvalidSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/MissingScopeSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/trackingFacade/TrackingFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/validation/VehicleIdentifierValidator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vas/VasClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfMessageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfTransactionHistoryClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/CapabilityUpdateStatusEvaluator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/PollingWrapper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoMessagesFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoReportAvailableError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoSubscriptionSettingsFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/VcfMeasurementsError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/VcfNewsFeedsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthSettingsConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageUrlBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/CommissionIdConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumFlattenedVehicleConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/NotEnrolledVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/VumProfileBrokenError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/md5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/native.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/nil.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/parse.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/regex.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/rng.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/sha1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/stringify.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v3.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v35.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v4.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/validate.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/version.js","webpack://vw-oneform-feature-app/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/dayjs.min.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/locale/es.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/advancedFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/customParseFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isBetween.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isSameOrBefore.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/timezone.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/utc.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQuery.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/QueryHandler.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/Util.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/index.js","webpack://vw-oneform-feature-app/./node_modules/eventemitter3/index.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/constants.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKey.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKeys.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getDistance.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isSexagesimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidCoordinate.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/robustAcos.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/sexagesimalToDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toRad.js","webpack://vw-oneform-feature-app/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://vw-oneform-feature-app/./node_modules/js-file-download/file-download.js","webpack://vw-oneform-feature-app/./node_modules/json2mq/index.js","webpack://vw-oneform-feature-app/./node_modules/lodash.debounce/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autosuggest.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autowhatever.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Item.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/ItemList.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/SectionTitle.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/compareObjects.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/theme.js","webpack://vw-oneform-feature-app/./node_modules/react-device-detect/main.js","webpack://vw-oneform-feature-app/./node_modules/react-hook-form/dist/react-hook-form.es.js","webpack://vw-oneform-feature-app/./node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Context.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/batch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/Subscription.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Provider.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mergeProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/connect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useStore.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useSelector.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/arrows.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/default-props.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/dots.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/initial-state.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/inner-slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/track.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/node_modules/object-assign/index.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/removeClass.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/config.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/Transition.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/addClass.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/hasClass.js","webpack://vw-oneform-feature-app/./node_modules/redux/es/redux.js","webpack://vw-oneform-feature-app/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isFunction.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/config.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/hostReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observer.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isObject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/symbol/rxSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/identity.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/pipe.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observable.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/toSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/canReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/SubjectSubscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/BehaviorSubject.ts","webpack://vw-oneform-feature-app/./node_modules/section-iterator/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/shallow-equal/arrays/index.js","webpack://vw-oneform-feature-app/./node_modules/string-convert/camel2hyphen.js","webpack://vw-oneform-feature-app/./node_modules/styled-normalize/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/tslib/tslib.es6.js","webpack://vw-oneform-feature-app/./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack://vw-oneform-feature-app/./src/components/Legales/iconlssi.svg","webpack://vw-oneform-feature-app/./src/components/Legales/icontmk.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_grey.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_selected.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/favourite_dealer.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/filter-ic_list.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/selected_marker.png","webpack://vw-oneform-feature-app/./src/forms/Leads/icon.svg","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/car_3-4.png","webpack://vw-oneform-feature-app/./src/forms/UGC/icon.svg","webpack://vw-oneform-feature-app/external umd \"react\"","webpack://vw-oneform-feature-app/external umd \"react-dom\"","webpack://vw-oneform-feature-app/external umd \"styled-components\"","webpack://vw-oneform-feature-app/./node_modules/classnames/index.js","webpack://vw-oneform-feature-app/./node_modules/@googlemaps/js-api-loader/dist/index.mjs","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/bind.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toFormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/buildURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/InterceptorManager.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/transitional.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/common/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/transformData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/isCancel.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CanceledError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/settle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/speedometer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/throttle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/cookies.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/buildFullPath.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/combineURLs.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/mergeConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/xhr.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/composeSignals.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/trackStream.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/fetch.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/adapters.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/null.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/dispatchRequest.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/env/data.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/validator.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/Axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CancelToken.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/spread.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/ParseError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/format.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/RFC3966.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/PhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValid.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/constants.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/checkNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/mergeArrays.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getNumberType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isObject.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/matchesEntirely.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/parseDigits.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isPossible.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/tools/semver-compare.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/normalizeArguments.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parse.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/metadata.min.json.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack://vw-oneform-feature-app/webpack/bootstrap","webpack://vw-oneform-feature-app/webpack/runtime/amd options","webpack://vw-oneform-feature-app/webpack/runtime/compat get default export","webpack://vw-oneform-feature-app/webpack/runtime/define property getters","webpack://vw-oneform-feature-app/webpack/runtime/global","webpack://vw-oneform-feature-app/webpack/runtime/harmony module decorator","webpack://vw-oneform-feature-app/webpack/runtime/hasOwnProperty shorthand","webpack://vw-oneform-feature-app/webpack/runtime/make namespace object","webpack://vw-oneform-feature-app/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\", \"styled-components\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\")) : factory(root[\"react\"], root[\"react-dom\"], root[\"styled-components\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__9155__, __WEBPACK_EXTERNAL_MODULE__9514__, __WEBPACK_EXTERNAL_MODULE__8694__) => {\nreturn ","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealerKvps = async (kvps: string): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const dealerResponse = await axios.get(`${dataUrl}/getDealer/${kvps}`);\n\n if (dealerResponse?.data?.dealer) {\n return dealerResponse.data.dealer;\n }\n\n reportErrorSentry('Could not get dealer');\n console.error('Could not get dealer');\n return null;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {\n\tgetMolecularCdnUrl,\n\tgetOneformBFFCdnApiKey,\n\tgetOneformBFFCdnUrl,\n\tgetVwEventosEntregaIdealUrl,\n\treportErrorSentry,\n} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\nimport {\n\tDomainAttributesValues,\n\tInstallationResponse,\n\tInstallationEntregaIdealResponse,\n\tEntregaIdealHorarioResponse,\n} from 'src/types';\n\nexport const getInstallations = async (\n\ttoken?: string,\n\tdomain?: string,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst isComerciales = useIsComerciales();\n\n\tconst requestToken =\n\t\t!token || testToken() ? (isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM') : token;\n\tconst requestDomain = !domain\n\t\t? isComerciales\n\t\t\t? 'LCV_SF_LEAD_INSTALLATION'\n\t\t\t: 'VOLKSWAGEN_SF_LEAD_INSTALLATION'\n\t\t: domain;\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${oneformCdn}/ndps/domain?token=${requestToken}&domain=${requestDomain}`,\n\t\t\t{\n\t\t\t\ttimeout: 10000,\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getInstallationsLegacy = async (\n\ttoken?: string,\n\taddPosventa?: boolean,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst requestToken = !token || testToken() ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n\tconst domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n\tconst molecularCdnUrl = getMolecularCdnUrl();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${molecularCdnUrl}/request-dps-domain.php?token=${requestToken}&domain=${domain}`,\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst testToken = () => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\treturn urlParams.get('test') && urlParams.get('test').includes('TOKEN');\n};\n\nexport const getInstallationsEntregaIdeal = async (): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse = await axios.get(`${url}/instalaciones`);\n\t\treturn response.data.instalaciones;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getHorariosInstallation = async (\n\tkvps: string,\n\tyear: string | number,\n\tmonth: string | number,\n): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse<[]> = await axios.get(`${url}/horario/${kvps}/${year}/${month}`);\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { fetchMarketingCode, reportErrorSentry } from 'src/bff';\nimport { TrackingConfiguration } from 'src/feature-app';\n\n/*\nexport interface MarketingCodeFields {\n 'fields[COD_VEH_SALESGROUP]': string;\n 'fields[DESC_VEH_SALESGROUP]': string;\n 'fields[DESC_TRIM_LINE]': string;\n 'fields[COD_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_MARKETING_CODE]': string;\n 'fields[COD_VEH_COLOR]': string;\n 'fields[DESC_VEH_COLOR]': string;\n 'fields[COD_VEH_COLOR_INT]': string;\n 'fields[DESC_VEH_COLOR_INT]': string;\n 'fields[COD_VEH_WHEELS]': string;\n 'fields[DESC_VEH_WHEELS]': string;\n}\n*/\n\nexport interface MarketingCodeHistory {\n marketingCode: string;\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}\nlet marketingCodeHistory: MarketingCodeHistory[] = [];\n\nexport const getMarketingCode = async (\n marketingCode: string,\n): Promise<{\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}> => {\n // await delayRequest();\n const offerInHistory = marketingCodeHistory.find((offer) => offer.marketingCode === marketingCode);\n\n if (offerInHistory) {\n return {\n marketingCodeConfig: offerInHistory.marketingCodeConfig,\n response: offerInHistory.response,\n };\n } else {\n const { marketingCodeConfig, response } = await receiveMarketingCode(marketingCode);\n const history: MarketingCodeHistory = { marketingCode, marketingCodeConfig, response };\n marketingCodeHistory.push(history);\n return { marketingCodeConfig, response };\n }\n};\n\nexport const getFeatures = (features: { code: string }[]) => {\n if (!features) return [];\n return features.map((feature) => feature.code);\n};\n\nexport const getWheelsParams = (features: { code: string; name: string }[]) => {\n if (!features) return { COD_VEH_WHEELS: '', DESC_VEH_WHEELS: '' };\n const wheel = features.find((feature) => feature.code.startsWith('MRAD'));\n\n const COD_VEH_WHEELS = wheel?.code ? wheel.code : undefined;\n const DESC_VEH_WHEELS = wheel?.name ? wheel.name : undefined;\n return { COD_VEH_WHEELS, DESC_VEH_WHEELS };\n};\n\nexport const getWheels = (features: { code: string; name: string }[]) => {\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(features);\n\n return { 'fields[COD_VEH_WHEELS]': COD_VEH_WHEELS, 'fields[DESC_VEH_WHEELS]': DESC_VEH_WHEELS.slice(0, 65) };\n};\n\nexport const getOption = (category: string, options: { category: string, code: string, description: string }[]) => {\n const option = options.find((option) => option.category==category);\n return { option };\n};\n\nexport const getModelFilter = (type: string, modelFilters: { id: string, text: string, type: string }[]) => {\n const modelFilter = modelFilters.find((modelFilter) => modelFilter.type==type);\n return { modelFilter };\n};\n\nclass ErrorLoadStorageDataset extends Error {\n constructor(message: any) {\n super(message);\n this.name = 'ErrorLoadStorageDataset';\n }\n}\n\nexport const receiveMarketingCode = async (\n marketingCode: string,\n): Promise<{ marketingCodeConfig: TrackingConfiguration; response?: any }> => {\n\n try {\n const response = await fetchMarketingCode(marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",response.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",response.content.consolidatedData.options);\n const type = getOption(\"TYPE\",response.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",response.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",response.content.consolidatedData.meta.modelFilter);\n\n const marketingCodeConfig: TrackingConfiguration = {\n CarlineId: response.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: response.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n\n return { marketingCodeConfig, response};\n } catch (error) {\n const errorMkc = new ErrorLoadStorageDataset(error);\n reportErrorSentry(errorMkc);\n const marketingCodeConfig: TrackingConfiguration = null;\n return { marketingCodeConfig };\n }\n};\n\n/**\n * Necesitamos retrasar la request ya que se llama desde muchos sitios al mismo tiempo, por lo que se producen llamadas\n * innecesarias. Esta función simplemente espera a que de tiempo a resolver el marketing code y se la siguiente llamada\n * ya encuentre el resultado de la request anterior en el objeto de historia.\n */\nexport const delayRequest = async () =>\n new Promise((resolve) => {\n setTimeout(resolve, 1000);\n });\n","import axios, { AxiosResponse } from 'axios';\nimport { MolecularResponse, OneformBFFResponse } from 'src/types';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\n\nexport const filesBffSend = async (\n\tformData: FormData,\n\tfiles?: File[]\n): Promise> => {\n\n\ttry {\n\t\tif(files) {\n\t\t\tfiles.forEach((file, index) => {\n\t\t\t\tformData.append(`file_${index}`, file);\n\t\t\t});\n\t\t}\n\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/files/email`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\n\nexport const oneformBFFNdpsSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const oneformBFFYumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses/yumiwi`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiBffSend = async (\n\tformData: FormData,\n\tauthToken: string,\n): Promise> => {\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/yumiwi/attendees`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const dpsSend = async (formData: FormData, isPresubmit?: boolean): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send-yumiwi.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const raceSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-race-callme.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst isTest = (formData: FormData, isPresubmit?: boolean) => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst test =\n\t\turlParams.get('test') &&\n\t\t((isPresubmit && urlParams.get('test').includes('PRESUBMIT')) ||\n\t\t\t(!isPresubmit && urlParams.get('test').includes('SEND')));\n\tif (test) {\n\t\tlet fields = [];\n\t\tfor (const entry of formData.entries()) {\n\t\t\tfields[entry[0]] = entry[1];\n\t\t}\n\t\tconsole.log('%cOneform Test Send:', 'font-weight: 700', fields);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const motorflashSend = (formData: FormData): Promise => {\n\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n\treturn axios\n\t\t.post(`${MOLECULAR_URL}/request-motorflash-send.php`, formData)\n\t\t.then((response: AxiosResponse) => response.data)\n\t\t.catch((error) => error);\n};\n","import Axios from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { DomainResponse } from 'src/types';\n\nexport const fetchDomain = async (token: string, domain: string): Promise => {\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${token}&domain=${domain}`, {\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n};\n\nexport const fetchProvince = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=PROVINCE_CODE`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchCountries = async (token?: string): Promise => {\n\tconst requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n \n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=COUNTRY`,\n\t\t{\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t}\n\t\t}\n\t\t);\n\t\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n };\n\nexport const fetchDealers = async (code: string, token?: string): Promise => {\n const requestToken = !token ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n let domain = '';\n switch (requestToken) {\n case \"VW_DDB_FRM_LEM_REC_LEM\":\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n break;\n case \"LCV_DDB_FRM_LEM_REC_LEM\":\n domain = 'LCV_SF_LEAD_INSTALLATION'\n break;\n default:\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n }\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(\n `${oneformCdn}/ndps/domain?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatment = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchProvinceLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Province`,\n {\n timeout: 10000\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchDealersLegacy = async (code: string, token?: string, addPosventa?: boolean): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatmentLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import fetch from 'cross-fetch';\nimport * as settings from 'src';\nimport { getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nexport const fetchMarketingCode = async (marketingCode: string) => {\n const oneformBFFCdnUrl = getOneformBFFCdnUrl();\n const oneformBFFCdnApiKey = getOneformBFFCdnApiKey();\n\n return fetch(oneformBFFCdnUrl + '/okapi/marketing-code?marketingCode=' + marketingCode, {\n headers: {\n \"X-Api-Key\": oneformBFFCdnApiKey,\n }\n })\n .then((response) => response.json())\n .catch((err) => {\n reportErrorSentry(err);\n });\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { CarlineBase } from 'src/types';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\n\nexport const getCarlines = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n \n const response: AxiosResponse<{ carlines: CarlineBase[] }> = await axios.get(`${dataUrl}/getCarlines`);\n return response.data.carlines;\n \n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { Color } from 'src';\nimport { getDataUrlWithoutTenant, reportErrorSentry } from 'src/bff';\n\ninterface ColoresRequest {\n colores: Color[];\n}\n\nexport const getColors = async () => {\n const dataUrl = getDataUrlWithoutTenant();\n\n try {\n const response: AxiosResponse = await axios.get(`${dataUrl}/getColores`);\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealers = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n if (!dataUrl) {\n console.error('Error during fetch.');\n return null;\n }\n const dealers: AxiosResponse<{ dealers: DealersData[] }> = await axios.get(`${dataUrl}/getDealers`);\n return dealers.data.dealers;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\nexport interface PincodeData {\n status: { result: string; timestamp: string; code: number; time: number; };\n params: { pincode: string; token: string };\n content: PincodeResponseOk[] | PincodeResponseKo;\n}\n\nexport interface PincodeResponseOk {\n attributes: PincodeDataAttributes[];\n}\nexport interface PincodeResponseKo {\n code: string;\n data: string;\n message: string;\n status: string;\n}\nexport interface PincodeDataAttributes {\n name: string;\n value: string;\n}\n\nexport const getPincode = async (\n pincode: string,\n\tuseBff?: boolean,\n token?: string\n): Promise<{ pincodeData: PincodeData; pincodeUsed: boolean; pincodeError: boolean }> => {\n try {\n if (!token) {\n token = getPincodeToken(pincode);\n\n if (!token) {\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n }\n\n\t\tlet dataResponse: AxiosResponse;\n\n\t\tif (useBff) {\n\t\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\t\tdataResponse = await axios.get(`${oneformBFFUrl}/ndps/preload?pincode=${pincode}&token=${token}`, {\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse { \n\t\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\t\tdataResponse = await axios.get(\n\t\t\t\t`${MOLECULAR_URL}/request-dps-pincode.php?pincode=${pincode}&token=${token}`\n\t\t\t);\n\t\t}\n\n\t\tconst pincodeData = dataResponse;\n\n if (pincodeData && pincodeData.data && \n\t\t\t(pincodeData.data.status.code === 1 || pincodeData.data.status.code === 200)) {\n return { pincodeData: pincodeData.data, pincodeUsed: false, pincodeError: false };\n } else {\n if (\n pincodeData &&\n pincodeData.data &&\n pincodeData.data.content &&\n (pincodeData.data.content as PincodeResponseKo).message.includes('PINCODE_ALREADY_USED')\n ) {\n return { pincodeData: null, pincodeUsed: true, pincodeError: false };\n }\n\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n } catch (error) {\n console.error(error);\n reportErrorSentry(error);\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n};\n\n/**\n * El token viene codificado en base64 en el formato PINCODETOKEN.\n * @param pincode\n */\nexport const getPincodeToken = (pincode: string): string => {\n try {\n const pincodeDecoded = atob(pincode).split(/(?=VW)/g);\n return pincodeDecoded[pincodeDecoded.length - 1];\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroups = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const response: AxiosResponse<{ carlines: CarlinesWithSalesgroups[] }> = await axios.get(\n `${dataUrl}/getSalesgroups`\n );\n\n return response.data.carlines;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { modelCar, DomainResponse } from 'src/types';\n\nexport const getVehiculosModelo = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n const response: AxiosResponse = await axios.get(`${dataUrl}/getVehiculosModelos`);\n return response.data.vehiculos;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n\nexport const fetchMarcas = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=BRANDEUROTAX`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchModelos = async (code: string, token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=MODELOS_EUROTAX&relatedDomain=BRAND&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Vilma service config provider.');\n return null;\n};\n\nexport const getVilmaAssets = async (frame: string) => {\n\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response: AxiosResponse = await axios.get(\n `${oneformCdn}/vilma/assets?frame=${frame}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n}\n","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlineBase, CarlineWithOffers } from 'src/types';\n\nexport const getOfertasSUV = async () => {\n const dataUrl = getDataUrl(); \n let dataRes: any;\n let carlinesWithOffers: CarlineWithOffers[];\n await axios.get(`${dataUrl}/getOfertas`)\n .then(res => dataRes = res.data)\n .then(() => {\n carlinesWithOffers = dataRes.carlines.filter((carline: CarlineBase) => {\n const carlineNames = ['t-cross', 'taigo', 't-roc'];\n return carlineNames.includes(carline.name.toLowerCase());\n });\n })\n .catch((error) => {\n reportErrorSentry(error);\n return null;\n });\n return carlinesWithOffers;\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {OneformBFFResponse} from 'src/types';\nimport {getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\n\nexport const getEapiCarlines = async (): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/carlines?group_brand=${groupBrand}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAvailability = async (\n\tkvps: string,\n\tcodInstalacion: string,\n\ttimestampFrom: number,\n\ttimestampTo: number,\n): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(\n\t\t\t`${url}/eapi/availability?group_brand=${groupBrand}&kvps=${kvps}&cod_instalacion=${codInstalacion}×tamp_from=${timestampFrom}×tamp_to=${timestampTo}&check_dealer=true`,\n\t\t\t{\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const createEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/create`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const deleteEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/delete`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAppointmentIcs = async (pincode: string): Promise => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/appointment/get/ics?group_brand=${groupBrand}&pincode=${pincode}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { ServiceConfigurationV1 } from '@volkswagen-onehub/service-config-provider';\nimport { getDataServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Data service config provider.');\n return null;\n};\n\nexport const getTenant = (dataService: ServiceConfigurationV1) => {\n return isPrivate(dataService)\n ? dataService.tenantPrivate\n : isCommercial(dataService)\n ? dataService.tenantCommercial\n : null;\n};\n\nexport const isCommercial = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'N';\nexport const isPrivate = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'V';\n\nexport const checkTenant = (dataService: ServiceConfigurationV1) => {\n const tenant = getTenant(dataService);\n\n return tenant ? `/${tenant}` : '';\n};\n\nexport const getDataUrl = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}${checkTenant(data)}`;\n};\n\nexport const getDataUrlWithoutTenant = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}`;\n};\n","import { getVwEventosConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkwagen Eventos service config provider.');\n return null;\n};\n\nexport const getVwEventosUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin;\n};\n\nexport const getVwEventosEntregaIdealUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin + '/api/volkswagen/entrega-ideal';\n};\n","import { getFeatureServices, getGoogleApiKeyServiceConfig, getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Google API Key service config provider.');\n return null;\n};\n\nexport const getGoogleApiKey = (): string | null => {\n const googleApiKeyService = getGoogleApiKeyServiceConfig();\n\n if (!googleApiKeyService) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return googleApiKeyService.customConfig?.apiKey;\n};\n","import { getMolecularCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular CDN service config provider.');\n return null;\n};\n\nexport const getMolecularCdnUrl = (): string | null => {\n const molecularCdn = getMolecularCdnServiceConfig();\n\n if (!molecularCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? molecularCdn.urlOrigin.replace('pre-', '') : molecularCdn.urlOrigin) + molecularCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular service config provider.');\n return null;\n};\n\nexport const getMolecularUrl = (): string | null => {\n const molecular = getMolecularServiceConfig();\n\n if (!molecular) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return molecular.urlOrigin + molecular.urlPath;\n};\n","import {getOneformBFFServiceConfig} from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n\tconsole.error('Error retrieving OneForm BFF service config provider.');\n\treturn null;\n};\n\nexport const getOneformBFFUrl = (): string | null => {\n\tconst oneformBFF = getOneformBFFServiceConfig();\n\n\tif (!oneformBFF) {\n\t\treturn handleErrorInRetrievingExternalConfig();\n\t}\n\n\treturn oneformBFF.urlOrigin + oneformBFF.urlPath;\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCustomConfig {\n 'X-Api-Key'?: string\n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF service config provider.');\n return null;\n};\n\nexport const getOneformBFFApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCustomConfig = oneformBFF.customConfig;\n\n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnUrl = (): string | null => {\n const oneformBFFCdn = getOneformBFFCdnServiceConfig();\n\n if (!oneformBFFCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? oneformBFFCdn.urlOrigin.replace('pre-', '') : oneformBFFCdn.urlOrigin) + oneformBFFCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCdnCustomConfig {\n 'X-Api-Key'?: string \n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCdnCustomConfig = oneformBFF.customConfig;\n \n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getSentryHub } from 'src/feature-app/sentry';\n\nexport const reportErrorSentry = (error: any) => {\n const hub = getSentryHub();\n hub.run((currentHub) => {\n currentHub.withScope((scope) => {\n currentHub.captureException(error);\n });\n });\n};\n","/* eslint-disable react/display-name */\nimport React, { useState, useEffect, useRef } from 'react';\nimport { styled, Select, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { useFormContext } from 'react-hook-form';\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SelectWrapper = styled.div`\n\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n`;\nconst SelectOption = styled.option``;\n\ninterface SelectProps {\n options: Array;\n name: string;\n label: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n setOption?: React.Dispatch>;\n updateFields?: boolean;\n handleChange: any;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const SelectExtended = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, options, setOption, updateFields, value, handleChange, isRequired, label, defaultValue, isFloating, innerRef } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setValue } = useFormContext();\n\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const setItem = (option: any, index: number) => {\n if (!props.disabled) {\n if (typeof option !== 'object') {\n setSelItem(option);\n if (setOption) setOption(option);\n } else {\n const dealerName = option.props.children[0].props.children;\n setSelItem(dealerName);\n }\n if (props.setFormValue) props.setFormValue(index);\n setShowOptions(false);\n }\n };\n\n useEffect(() => {\n setSelItem(null);\n }, [props.options]);\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n // función que se llama cuando la componente se desmonta\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [wrapperRef.current]);\n\n useEffect(() => {\n updateFields\n ? dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: keyValuePair ? keyValuePair : value } })\n : undefined;\n }, [keyValuePair, value]);\n\n useEffect(() => {\n if (value) {\n setTimeout(() => {\n setSelItem(value);\n }, 0);\n }\n }, [value]);\n\n return (\n \n {\n trackingManager.trackFormFieldClick(\n {\n contentId: label,\n },\n {\n FormFieldName: name,\n }\n );\n props.onClick();\n }}\n disabled={props.disabled}\n ref={wrapperRef}\n themeColor={formInfo.formTheme}\n >\n {\n event.preventDefault();\n handleChange(event);\n }}\n required={isRequired}\n autoFocus={false}\n ref={innerRef}\n >\n {isFloating && {label}}\n {options.map((option: any, index: number) => {\n if (typeof option === 'string') {\n return (\n {\n e.preventDefault();\n setItem(option, index);\n }}\n key={index}\n value={option}\n >\n {option}\n \n );\n } else {\n return (\n {\n e.preventDefault();\n setItem(option.name, index);\n setKeyValuePair(option.code);\n }}\n key={index}\n value={option.name}\n >\n {option.name}\n \n );\n }\n })}\n \n \n \n );\n});\n","import { CTA } from '@volkswagen-onehub/components-core';\nimport { ArrowUp } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const AnteriorCTA = () => {\n \n const { handlePreviousStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\" \n size=\"small\"\n icon={}\n >\n Anterior\n \n\n );\n};\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useStore } from 'react-redux';\nimport { AnyAction, Store } from 'redux';\nimport { LayerManagerWrapper } from 'src/feature-app';\n\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\nexport const AvisoIslasCanarias = ({ close }: { close: CloseHandleV2 }) => {\n const [href, setHref] = useState(null);\n const [copy, setCopy] = useState(null);\n\n const store = useStore();\n\n const { formData } = store.getState();\n\n useEffect(() => {\n if (formData.fields.formName === 'cita-posventa') {\n setHref('https://www.vwcanarias.com/es/cita-previa.html');\n setCopy('Para pedir cita en un Servicio Oficial de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n } else {\n setHref('https://cita.vwcanarias.com/');\n setCopy('Para pedir cita en un punto de venta de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n }\n }, []);\n\n return (\n \n \n \n ¿Estás en las Islas Canarias?\n \n \n {copy}\n \n \n \n \n Ir a Volkswagen Canarias\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n >\n Seguir en esta página\n \n \n \n );\n};\n\nexport const renderAvisoIslasCanariasLayer = (\n store: Store,\n env: FeatureAppEnvironment,\n layerManager: LayerManagerV2\n) => {\n\n const render = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n layerManager.openFocusLayer(\n render,\n {},\n { size: FocusLayerSizeV2.B, userCloseable: true }\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { MultipleCTASelection } from '.';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { contactoOptionsTurismos, contactoOptionsComerciales } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport function CanalDeContacto() {\n const { register, errors } = useFormContext();\n const [errorContacto, setErrorContacto] = useState(false);\n const [contacto, setContacto] = useState('Arteon');\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const { error, setError } = useOneFormContext();\n const isComerciales = useIsComerciales();\n\n useEffect(() => {\n if (fields.contacto) {\n setContacto(fields.contacto);\n }\n }, []);\n\n useEffect(() => {\n if (error) {\n !contacto ? setErrorContacto(true) : setErrorContacto(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (errors.contacto) {\n setErrorContacto(true);\n } else {\n setErrorContacto(false);\n }\n }, [errors]);\n\n function handleChange(event: any) {\n const newContacto = event.currentTarget.value;\n setContacto(newContacto);\n if (newContacto !== '') setErrorContacto(false);\n }\n\n return ;\n}\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Points } from 'src/types';\n\nconst InnerCardContainer = styled.div`\n background-color: rgba(0, 0, 0, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n width: 100%;\n z-index: 21;\n`;\n\nconst AnimatedCard = styled.div`\n height: 100%;\n width: 100%;\n &.alert-enter,\n &.alert-appear {\n transform: translateY(100%);\n }\n &.alert-enter-active,\n &.alert-appear-active {\n transform: translateY(0);\n transition: transform 400ms;\n }\n &.alert-exit {\n transform: translateY(0%);\n }\n &.alert-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst CloseDiv = styled.button`\n width: 100%;\n display: flex;\n justify-content: center;\n background: #001e50;\n height: 35px;\n border: none;\n cursor: pointer;\n left: 50%;\n outline: none;\n position: fixed;\n top: 0;\n transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n z-index: 22;\n\n &.close-enter {\n top: 100%;\n }\n &.close-enter-active {\n top: 0%;\n transition: top 400ms;\n\n /* transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n transition: transform 400ms; */\n }\n &.close-exit {\n transform: translateY(0%);\n }\n &.close-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst Marker = styled.div`\n height: 4px;\n width: 44px;\n border-radius: 2px;\n background-color: #ffffff;\n margin-top: 1.5vh;\n opacity: 0;\n &.marker-enter {\n opacity: 0.1;\n transform: scale(1.5);\n display: block;\n }\n &.marker-enter-active {\n opacity: 1;\n transform: scale(1);\n transition: transform 200ms, opacity 200ms ease-in;\n }\n &.marker-enter-done {\n opacity: 1;\n }\n`;\n\nconst TopBar = styled.div`\n height: 32px;\n width: 100%;\n background-color: #001e50;\n position: sticky;\n top: 0;\n z-index: 3;\n`;\n\ninterface translateYProps {\n translateY: number;\n showAllCardsMobile: boolean;\n}\n//max-height: 100vh;\n//overflow-y: scroll;\nconst InnerCard = styled.div`\n background-color: #001e50;\n border-radius: 12px 12px 0px;\n height: 100%;\n left: 50%;\n\n position: absolute;\n top: 53%;\n transform: translate(-50%, -50%) translateY(${(props) => props.translateY}px);\n width: 100%;\n z-index: 1000;\n`;\n\ninterface CardProps {\n children: React.ReactNode;\n closeCard: () => void;\n showCard: boolean;\n selectedPoint: Points;\n showAllCardsMobile: boolean;\n}\n\nconst fullLayout = [{ name: 'a', columns: 24 }];\nconst layoutWithMargins = [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n];\n\nexport function Card(props: CardProps) {\n const { closeCard, children, showCard, selectedPoint, showAllCardsMobile } = props;\n const [isCardOpen, setIsCardOpen] = useState(false);\n const [animateCarousell, setAnimateCarousell] = useState(false);\n const [initialValue, setInitialValue] = useState(null);\n const [translateY, setTranslateY] = useState(null);\n const [initialY, setInitialY] = useState(null);\n const cardRef = useRef(null);\n\n useEffect(() => {\n if (selectedPoint && !showAllCardsMobile) {\n if (window.innerHeight > 400) {\n setTranslateY(window ? window.innerHeight - 420 : 344);\n setInitialY(window ? window.innerHeight - 420 : 344);\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n }, [selectedPoint, showAllCardsMobile]);\n\n useEffect(() => {\n setIsCardOpen(true);\n // document.body.style.overflow = 'hidden';\n return () => {\n // document.body.style.overflow = 'visible';\n };\n }, []);\n\n useLayoutEffect(() => {\n if (isCardOpen) setTimeout(() => setAnimateCarousell(true), 0);\n }, [isCardOpen]);\n\n const handleTouchStart = (e: React.TouchEvent) => {\n e.preventDefault();\n const x = e.nativeEvent.touches[0].clientY;\n setInitialValue(x);\n };\n\n const handleTouchEnd = (e: React.TouchEvent) => {\n e.preventDefault();\n const finalValue = e.nativeEvent.changedTouches[0].clientY;\n finalValue < (initialValue - initialY) * 6 ? more() : less();\n\n setInitialValue(null);\n };\n const handleMoveStartCard = (e: React.TouchEvent) => {\n e.preventDefault();\n if (!initialValue) {\n return;\n }\n\n const y = e.nativeEvent.changedTouches[0].clientY;\n const result = y - initialValue;\n\n result >= 0 ? setTranslateY(result + initialY) : setTranslateY(initialY);\n };\n\n const more = () => {\n setTranslateY(initialY);\n };\n\n const less = () => {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n };\n\n const handleOnClickMap = (e: any) => {\n const innerCard = document.getElementById('inner-card-container');\n\n if (e.target != innerCard && !innerCard.contains(e.target) && !showAllCardsMobile) {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n }\n };\n\n return (\n <>\n \n {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n translateY={translateY}\n showAllCardsMobile={showAllCardsMobile}\n >\n \n \n \n \n \n {\n e.preventDefault;\n handleOnClickMap(e);\n }}\n >\n \n \n \n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onTouchStart={(e) => {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n />\n \n {children}\n \n \n \n \n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useRef, ReactElement, useEffect, useState } from 'react';\nimport Slider from 'react-slick';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\nconst OfferPadding = styled.div`\n padding: 0 16px;\n`;\ninterface CarouselProps {\n renderList: (list: any) => JSX.Element[];\n list: any;\n}\n\nexport const CarouselComponent = (props: CarouselProps) => {\n const { renderList, list } = props;\n\n //carousel thigs\n\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '6%',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n };\n\n return (\n \n \n {renderList(list)}\n \n \n );\n};\n","import { Close } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const CloseButton = () => {\n const { handleAreYouSureLayer } = useOneFormContext();\n const { screenIndex } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n\n const trackingManager = useTrackingManager();\n\n return (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleAreYouSureLayer();\n }}\n >\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError, TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\ninterface CodigoPostalProps {\n setFieldValue?: boolean;\n noPaddingTop?: boolean;\n}\n\nexport const CodigoPostal = (props: CodigoPostalProps) => {\n const { setFieldValue, noPaddingTop } = props;\n const { register } = useFormContext();\n const { formInfo }: OneFormState = store.getState();\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n const dispatch = useDispatch();\n\n const handleChangePostalCode = (e: any) => {\n if (setFieldValue) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['postalCode']: e.target.value } });\n }\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n return (\n \n handleChangePostalCode(e)}\n required\n maxLength={5}\n />\n {errorPostalCode && Solo se aceptan números}\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport {\n createNoDmsSlotAndAssessor,\n getFranjaAndDayFrom,\n weekDay_DayNumber_De_Month,\n useFeatureAppConfig,\n weekDay_Day_Hour,\n} from 'src/feature-app';\nimport { DealersData, OneFormState, Slot, Horario } from 'src/types';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\nconst CTAWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n text-align: left;\n > div {\n text-align: left;\n }\n > button {\n @media screen and (min-width: 560px) {\n width: auto;\n }\n }\n`;\n\ninterface InvalidFormProps {\n notSavedField?: string;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const InvalidForm = (props: InvalidFormProps) => {\n const { notSavedField, closeLayerCallback } = props;\n return (\n \n \n ¿Quieres conservar estos últimos cambios?\n \n \n \n Si es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n \n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Entendido\n \n \n \n \n );\n};\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport const LoadingScreen = (props: loadingSreenProps) => {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n};\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport const KoScreen = (props: KoScreenProps) => {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n
\n \n Ir a la web\n \n
\n ) : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n
\n )\n }\n
\n
\n \n \n \n
\n );\n};\n\ninterface IntermitenciaDMSKoProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const IntermitenciaDMSKo = (props: IntermitenciaDMSKoProps) => {\n const { retrySubmit, closeLayerCallback } = props;\n const [dmsFailed, setDmsFailed] = useState(false);\n const store: Store = useStore();\n const dispatch = useDispatch();\n const config = useFeatureAppConfig();\n\n const [day, setDay] = useState(null);\n const [franjaHoraria, setFranjaHoraria] = useState(null);\n const [name, setName] = useState(null);\n const [selectedPoint, setSelectedPoint] = useState(null);\n const { horario }: { horario: Horario } = store.getState().formData.fields;\n\n useEffect(() => {\n const { sendDmsFailed } = store.getState().formInfo;\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n\n setDmsFailed(sendDmsFailed);\n const { franjaHoraria } = getFranjaAndDayFrom(slot.from);\n\n setDay(weekDay_DayNumber_De_Month(slot.from));\n setFranjaHoraria(franjaHoraria.toLowerCase());\n setName(dealer.name);\n setSelectedPoint(slot);\n }, []);\n\n const handleShowSlots = useCallback((): string | null => {\n let { slot }: { slot: Slot } = store.getState().formData.fields;\n\n const finalSlot = getFinalSlot(slot.from);\n\n return finalSlot ? finalSlot : null;\n }, []);\n\n const getFinalSlot = (from: number) => {\n const momentSlot = weekDay_Day_Hour(from);\n const capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n return capitalizedSlot.replace('-', ' a las ').concat('h');\n };\n\n const createNoDmsSlot = async (e: any) => {\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n dealer = {\n ...dealer,\n dmsInfo: {\n ...dealer.dmsInfo,\n dmsAvailable: false,\n },\n };\n const { franjaHoraria, day } = getFranjaAndDayFrom(slot.from);\n const { slot: newSlot, assessor } = createNoDmsSlotAndAssessor(franjaHoraria, day);\n dispatch({ type: 'UPDATE_FIELDS', payload: { slot: newSlot, assessor, dealer } });\n\n retrySubmit(e);\n };\n return (\n \n \n \n No hemos podido confirmar tu cita para el{' '}\n {handleShowSlots()}\n \n \n \n ¿Quieres que {name} se ponga en contacto contigo para\n cerrar tu cita el {day} por la {franjaHoraria}?\n \n \n {\n e.preventDefault();\n await createNoDmsSlot(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Consultar con mi taller\n \n {\n config.trigger === 'cita-posventa-dealer' ? null : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Buscar una nueva cita\n \n
\n )\n }\n
\n \n \n
\n );\n};\n","import {\n Text,\n styled,\n Container,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const LegalFullScreenSinConsentmientos = (props: LegalesProps) => {\n return (\n \n \n \n Texto legal de Volkswagen\n \n \n El responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas.\n \n \n En el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al Concesionario. Tienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional en la{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\n","import {\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport React, { useState, useEffect } from 'react';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { CustomSwitch } from '../inputs';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { Info } from 'src/icons-core-imports';\n\n\nconst CTAsWrapper = styled.div`\n .error-field {\n width: fit-content !important;\n }\n \n > button {\n width: 81px;\n height: 33px;\n &:first-of-type {\n margin-right: 44px;\n }\n }\n \n`;\n\nconst PaddingWrapper = styled.div<{ noCompra?: boolean }>`\n width: 100%;\n padding-bottom: 32px;\n`;\n\nconst QuestionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n flex-wrap: nowrap;\n`;\n\nconst ItemWrapper = styled.div`\n padding-bottom: 44px;\n`;\n\ninterface InfoWrapperProps {\n themeColor?: 'main' | 'inverted';\n}\n\nconst InfoWrapper = styled.div`\n margin-left: 16px;\n cursor: pointer;\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n`;\n\n\nexport const LegalItem = ({ title, onClick, themeColor, name, checkboxMode }: any) => {\n const [currentValue, setCurrentValue] = useState(null);\n const { register, setValue, errors } = useFormContext();\n const [isSelected, setIsSelected] = useState(null);\n const getValue = (isSelected: boolean) => isSelected ? 'PERMITE' : 'NO INFORMADO';\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: getValue(isSelected) } });\n }, [isSelected]);\n\n useEffect(() => {\n !checkboxMode && setIsSelected(false);\n }, []);\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'Sí' ? 'PERMITE' : 'NO PERMITE';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n setValue(name, value);\n }\n\n return (\n \n \n \n {title}\n \n \n \n \n \n {!checkboxMode ? (\n \n {\n CTAsSiNo.map((cta: { label: string }, index: number) => (\n {\n register(ref, { required: true });\n }}\n onClick={\n (e) => {\n e.preventDefault();\n checkCurrentValue(cta.label, name);\n }\n }\n size={'small'}\n >\n {cta.label}\n \n ))\n }\n {errors[name] ? Este campo es obligatorio : null}\n \n ) : (\n \n \n {isSelected ? 'Aceptado' : 'Aceptar'}\n \n )}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const Legales = (props: LegalesProps) => {\n const isComerciales = useIsComerciales();\n return isComerciales ? : ;\n};\n\nconst LegalesTurismos = (props: LegalesProps) => {\n const { hideLegal, customLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {customLegal ? customLegal : null}\n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\nconst LegalesComerciales = (props: LegalesProps) => {\n const { hideLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen-comerciales.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n }\n`;\n\ninterface legalesFormatoLayerProps {\n noPadding?: boolean;\n showTitle?: boolean;\n linkBasesLegales?: string;\n}\nconst Wrapper = styled.div`\n padding-top: ${(props) => (props.noPadding ? null : '72px')};\n padding-bottom: ${(props) => (props.noPadding ? null : '52px')};\n`;\n\nexport const LegalesFormatoLayer = (props: legalesFormatoLayerProps) => {\n const isComerciales = useIsComerciales();\n\n return isComerciales ? : ;\n};\nconst LegalesFormatoLayerTurismos = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n {props.linkBasesLegales ? (\n <>\n Te esponsable del tratamiento, con la finalidad de gestionar tu participación en la Promoción y, en el caso que lo consientas, para los fines comerciales y/o perfilado según lo indicado en el propio consentimiento. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n ) : (\n <>\n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n )}\n \n \n atencioncliente@volkswagen.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n \n Bases Legales\n \n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\nconst LegalesFormatoLayerComerciales = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n \n atencioncliente@volkswagen-comerciales.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n \n \n );\n};\n\nexport const LegalesTemporales = (props: legalesFormatoLayerProps) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{props.showTitle ? (\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\tTe informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos y gestionar tu participación gratuita en la Promoción Driving Experience Jarama comunicada durante el proceso de cita previa.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tPara más información sobre el tratamiento de los datos pulsa{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\taquí\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsComerciales, LssiTkmQuestionsTurismos } from '.';\n\nexport interface LssiTkmQuestionsProps {\n\tshowTitle: boolean;\n\tthemeColor?: 'main' | 'inverted';\n\tnoCompra?: boolean;\n\tisComerciales?: boolean;\n}\n\nexport function LssiTkmQuestions(props: LssiTkmQuestionsProps) {\n\tconst isComerciales = props.isComerciales ? props.isComerciales : useIsComerciales();\n\n\treturn isComerciales ? : ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\nimport { useGetIdPerson } from 'src/feature-app';\n\nconst getLssiTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Te gustaría recibir comunicaciones comerciales sobre productos y servicios de nuestra{' '}\n \n marca?*\n \n \n ) : (\n \n ¿Te gustaría recibir descuentos y novedades de{' '}\n \n Volkswagen?*\n \n \n );\n};\n\nconst getLssiText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Te enviaremos por cualquier medio información sobre descuentos, novedades, próximos lanzamientos, invitaciones a eventos y/o promociones especiales'\n : 'Si quieres, podemos enviarte información sobre próximos lanzamientos, invitaciones a eventos y promociones especiales.';\n};\n\nconst getTmkTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Consientes que elaboremos un perfil tuyo como usuario para poder enviarte información comercial sobre los productos y servicios de nuestra marca que creamos que puedan resultar más de tu interés según tus{' '}\n \n preferencias?*\n \n \n ) : (\n \n ¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus{' '}\n \n preferencias?*\n \n \n );\n};\n\nconst getTmkText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Para elaborar tu perfil utilizaremos toda aquella información que disponemos de ti derivada de tu relación con nosotros como son la tipología de productos y/o servicios contratados, así como cualquier interacción con nuestra marca. Para ello, utilizaremos tanto la información que nos hayas aportado directamente como la que nos puedan hacer llegar terceros a los que hayas consentido que nos hagan llegar esta información. Gracias a esta información seremos capaces de enviarte información comercial sobre nuestros productos y servicios que consideramos que serán de más interés para ti que las genéricas. En el caso que consientas, no recibirás comunicaciones comerciales genéricas sino lo más personalizadas posible según tus preferencias para hacer que tu experiencia con la marca sea lo más positiva posible.'\n : 'Acceder a tu perfil nos ayuda a aprender de ti para mostrarte los servicios y ofertas que más te interesan.';\n};\n\nexport const LssiTkmQuestionsComerciales = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n\n const isOfertasForm = (formName) => {\n return formName === 'callme-oferta' || formName === 'lead-oferta';\n };\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { body: key === 'tmk' ? getTmkText(true) : getLssiText(true) },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n \n \n \n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name=\"lssi\"\n\t\t\tcheckboxMode={false}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name=\"tmk\"\n\t\t\tcheckboxMode={false}\n />\n \n :\n <>\n {showTitle && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n \n }\n
\n\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { useGetIdPerson } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n tmk: {\n title: '¡Adiós mensajes genéricos!',\n body: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n }\n};\n\nconst legalItemTitles = {\n lssi: '¿Te gustaría recibir descuentos y novedades de Volkswagen?',\n tmk: '¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?',\n};\n\nexport const LssiTkmQuestionsTurismos = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const isLead: boolean = quieroContacto === 'true' || formName.includes('lead-');\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\n const getLegalItemTitle = (key: string) => legalItemTitles[key];\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk' ,\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Mantente al día\n \n
\n
\n \n
\n \n Mantente al día\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name='lssi'\n\t\t\tcheckboxMode={true}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name='tmk'\n\t\t\tcheckboxMode={true}\n />\n \n :\n <>\n {showTitle && !isLead && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n {showTitle && isLead && (\n
\n \n \n Y una última pregunta\n \n \n \n \n Y una última pregunta\n \n \n
\n )}\n \n }\n
\n );\n};\n","import { BreakpointWrapper, Breakpoints, CTA, Container, ContainerGutter, ContainerPadding, Layout, TextAlignment, TokenTextAppearance, styled } from \"@volkswagen-onehub/components-core\";\nimport { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from \"react\";\nimport iconlssi from \"./iconlssi.svg\"\nimport icontmk from \"./icontmk.svg\"\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useOneFormContext } from \"src/feature-app\";\nimport { useWindowHeight } from \"@react-hook/window-size\";\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { OneFormState } from \"src/types\";\n\nconst CTAsWrapper = styled.div`\n padding: var(--size-grid002) 0;\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n width: 100%;\n @media (min-width: 960px) {\n padding: var(--size-grid001) 0;\n }\n`\nconst returnLinearGradient = (formType: string) => {\n if (formType === 'layer') {\n return 'linear-gradient(180deg, rgba(7, 29, 77, 0.5) 0%, #071D4D 77.06%);'\n } else {\n return 'linear-gradient(180deg, rgba(255, 255, 255, 0.5) -25.89%, #FFFFFF 50%)'\n }\n}\n\nconst CTAsWrapperMobile = styled.div<{ navPosition: string, formType: string }>`\n padding: ${(props) => props.navPosition === 'fixed' ? '45px 0 110px 0' : '50px 0'};\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n position: ${(props) => props.navPosition};\n height: 130px;\n right: 0px;\n width: 100%;\n bottom: ${(props) => props.navPosition === 'fixed' ? '31px' : '-27px'};\n background: ${(props) => returnLinearGradient(props.formType)};\n`\n\ninterface ConsentQuestionProps {\n questionType: 'lssi' | 'tmk';\n}\n\nconst questions = {\n lssi: {\n title: <>¿Te gustaría recibir descuentos y novedades de Volkswagen?,\n subtitle: 'Estarás mejor informado.',\n copy: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n icon: iconlssi,\n },\n tmk: {\n title: <>¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?,\n subtitle: '¡Adiós mensajes genéricos!',\n copy: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n icon: icontmk,\n }\n}\n\n\nexport const ConsentQuestion = (ConsentQuestionProps: ConsentQuestionProps) => {\n const { questionType } = ConsentQuestionProps;\n const [currentValue, setCurrentValue] = React.useState('');\n const { register, setValue, errors } = useFormContext();\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const [navPosition, setNavPosition] = React.useState('fixed');\n const viewportHeight = useWindowHeight();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setShowPreviousStep } = useOneFormContext();\n\n setShowPreviousStep(false);\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n } else if (bottomContent <= viewportHeight - 100) {\n setNavPosition('absolute');\n } else {\n setNavPosition('fixed');\n }\n }, [topNavigation, bottomContent]);\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n document.addEventListener('scroll', handlePosition);\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n\n }, []);\n\n const renderCTAs = () => {\n return (\n <>\n {\n e.preventDefault()\n checkCurrentValue('aceptar', questionType)\n }}\n ariaLabel=\"aceptar\"\n >\n Aceptar\n \n {\n e.preventDefault()\n checkCurrentValue('omitir', questionType)\n }}\n ariaLabel=\"omitir\"\n >\n Omitir\n \n \n \n )\n }\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'aceptar' ? 'PERMITE' : 'NO INFORMADO';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionType]: value } });\n\n setValue(name, value);\n handleNextStep();\n }\n\n return (\n <>\n \n \n\n
\n \"icon\"\n
\n \n {questions[questionType].title}\n \n \n {questions[questionType].subtitle}\n \n \n {questions[questionType].copy}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n )\n}\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Calendar } from 'src/icons-core-imports';\n\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Center, getDistanceFromCenter, Points } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Horario, OneFormState } from 'src/types';\n\nconst CTAWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 32px;\n`;\n\ninterface DealerCardProps {\n handleShowSlots?: any;\n point?: Points;\n handleSeleccionarOnClick?: any;\n handleShowCalendarOnClick?: any;\n center: Center;\n}\n\nexport const DealerCard = (props: DealerCardProps) => {\n const { point, center } = props;\n const { name, address, city, zipCode } = point.properties.dealer.markerInfo.dealerInfo;\n const { distanceFromCenter, dealer } = point.properties;\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario: Horario } = formData.fields;\n\n return (\n <>\n \n \n {props.handleShowSlots(point) === null ? null : (\n \n \n {props.handleShowSlots(point)}\n \n \n )}\n\n \n \n {name ? name : null}\n \n \n {address}, {zipCode} {city}\n \n \n \n \n \n {distanceFromCenter ? distanceFromCenter : getDistanceFromCenter(center, point)}km\n \n \n \n\n {!point.properties.dealer.dmsInfo || !point.properties.dealer.dmsInfo.dmsAvailable ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar día y franja horaria',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Seleccionar día y franja horaria\n \n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealer\n );\n if (\n (horario !== 'before' && dealer.slots[horario] === null) ||\n (horario === 'before' && !point.properties.hasOwnProperty('earliestSlot'))\n ) {\n props.handleShowCalendarOnClick(point);\n } else {\n props.handleSeleccionarOnClick(point);\n }\n }}\n >\n Seleccionar\n \n }\n onClick={(e) => {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Ver más horas\n \n \n )}\n \n );\n};\n","import React, { useState, useEffect } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { InputButton, TextAreaExtended, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { FieldType } from 'src/feature-service/es-oneform-core-feature-service/types';\n\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n CTALabel?: string;\n name?: FieldType;\n label?: string;\n limitedCharacters?: boolean;\n numberOfMaxLength?: number;\n showRecomendation?: string | JSX.Element;\n required?: boolean;\n}\n\nexport function DetalleMotivo(props: DetalleMotivoProps) {\n const { hideCTA, CTALabel, name, label, limitedCharacters, numberOfMaxLength, showRecomendation, required } = props;\n const { register, setValue } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [showButton, setShowButton] = useState(true);\n const [currentValue, setCurrentValue] = useState('');\n\n const adMaxLength = (max: number) => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', `${max}`);\n };\n\n useEffect(() => {\n if (limitedCharacters) adMaxLength(numberOfMaxLength);\n }, []);\n\n useEffect(() => {\n if (hideCTA) {\n setShowButton(false);\n }\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n if (!hideCTA && (aux.length <= 2 || aux === '')) {\n setShowButton(true);\n } else {\n setShowButton(false);\n }\n };\n\n return (\n \n \n
\n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n maxLength={numberOfMaxLength}\n alternateCTAText={CTALabel ? CTALabel : 'No, eso es todo'}\n />\n {\n showRecomendation ? (\n \n \n {showRecomendation}\n \n \n ) : null\n }\n
\n {\n hideCTA ? null :(\n <>\n {showButton ? (\n {\n setValue('masInformacion', '');\n handleNextStep(e);\n }}\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n />\n ) : (\n
\n )}\n \n )\n } \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\ninterface FechaCompraProps {\n notALayer: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: 4px;\n display: flex;\n flex-wrap: wrap;\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media screen and (min-width: 960px) {\n margin-top: 0; \n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n label {\n margin-top: 40px;\n width: var(--size-grid009);\n\n @media all and (max-height: 624px) {\n margin-top: 20px;\n }\n\n @media all and (min-width: 560px) {\n width: var(--size-grid006);\n }\n @media screen and (min-width: 960px) {\n width: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1280px) {\n width: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid002);\n }\n @media all and (min-width: 2560px) {\n width: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n }\n }\n`;\nconst MarginDiv = styled.div`\n width: var(--size-grid002);\n @media all and (min-width: 560px) {\n width: var(--size-grid001);\n }\n`;\n\nexport const FechaCompra = (props: FechaCompraProps ) => {\n\n const { notALayer } = props;\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const { fecha } = formData.fields;\n\n //month\n const [ month, setMonth ] = useState('Enero');\n\n const handleChangeMonth = (e:any) => {\n e.preventDefault();\n setMonth(e.target.value);\n };\n\n //year\n\n const actualYear = getActualYearNumber();\n const [ yearsArray, setYearsArray ] = useState(null);\n\n useEffect(()=>{\n const previousYear = dayjs(actualYear).subtract(1, 'y').locale('es').format('YYYY');\n\n setYearsArray([previousYear, actualYear]);\n }, [actualYear]);\n\n const [ year, setYear ] = useState(actualYear);\n\n const handleChangeYear = (e:any) => {\n e.preventDefault();\n setYear(e.target.value);\n };\n\n //previous value\n\n useEffect(()=>{\n if(fecha) {\n const aux = fecha.split('/');\n const auxMonth = meses.find((m)=> m.number === aux[1]); \n setMonth(auxMonth.name);\n setYear(aux[2]);\n }\n }, []);\n\n //send value\n\n const [ finalDate, setFinalDate ] = useState(null);\n\n useEffect(()=>{\n const aux = meses.find((m)=> m.name === month);\n\n setFinalDate(`01/${aux.number}/${year}`);\n }, [month, year]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { fecha: finalDate } });\n if(finalDate) {\n const aux = finalDate.split('/');\n const mes = meses.find((m) => m.number === aux[1]);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { fechaCompra : mes.name + ' / ' + aux[2] } });\n }\n }, [finalDate]);\n\n \n\n \n\n return (\n \n m.name)}\n name='month'\n isRequired={true}\n handleChange={handleChangeMonth}\n value={month}\n onClick={() => null}\n setOption={setMonth}\n />\n \n { yearsArray ? (\n null}\n setOption={setYear}\n />\n ) : null}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n Text,\n styled,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { CustomSlider, PaddingWrapper } from '.';\n\nconst KilContentWrapper = styled.div`\n padding-left: 32px;\n padding-right: 8px;\n width: 100vw;\n\n @media all and (min-width: 560px) {\n padding-left: 46px;\n padding-right: 32px;\n }\n @media all and (min-width: 960px) {\n padding-left: 120px;\n padding-right: 81px;\n width: 960px;\n }\n`;\n\nexport function Kilometros() {\n const isCommerciales = useIsComerciales();\n const jumpRange = isCommerciales ? 50000 : 30000;\n const maxValue = isCommerciales ? 400000 : 180000;\n const numberOfSteps = isCommerciales ? 9 : 7;\n const [value, setValue] = useState(1);\n const [millageValue, setMillageValue] = useState([0, jumpRange]);\n const [rangoKilometros, setRangoKilometros] = useState(`0km - ${formatNumber(jumpRange)}km`);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n // convertir int a string con '.' de separacion para los miles. ej: 30000 --> 30.000\n function formatNumber(num: number | number[]) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');\n }\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n const aux = jumpRange;\n const lowValue = aux * value - jumpRange;\n const highValue = aux * value;\n let stringRange;\n\n if (highValue > maxValue) {\n stringRange = isCommerciales ? 'Más de 400.000km' : 'Más de 180.000km';\n setMillageValue([lowValue, highValue]);\n } else {\n stringRange = `${formatNumber(lowValue)}km - ${formatNumber(highValue)}km`;\n setMillageValue([lowValue, highValue]);\n }\n setRangoKilometros(stringRange);\n\n trackingManager.trackFormFilterSelect(\n {\n contentId: 'Kilometros',\n },\n {\n type: 'range',\n name: 'Kilometros',\n lowerbound: String(lowValue),\n upperbound: String(highValue),\n values: undefined,\n },\n { FormFieldName: 'kilometros' }\n );\n }, [value]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { kilometros: millageValue } });\n }, [millageValue]);\n\n return (\n \n \n \n \n {rangoKilometros}\n \n \n \n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'No estoy seguro',\n });\n setMillageValue(0);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n No estoy seguro\n \n \n \n \n );\n}\n","import { Breakpoints, BreakpointWrapper, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen, IntermitenciaDMSKo, InvalidForm } from 'src/components';\n\nconst PositionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`;\n\ninterface LastNavigationProps {\n compartir?: string;\n setCompartirError?: React.Dispatch>;\n setPrivacidadError?: React.Dispatch>;\n label?: string;\n KoTitle?: string;\n KoBody?: string;\n loadingCopy?: string;\n ContentID?: string;\n checkNotSavedFields?: () => string;\n ActivarCheckNotSavedFields?: boolean;\n}\n\n\nexport const LastNavigation = (props: LastNavigationProps) => {\n const {\n label,\n KoTitle,\n KoBody,\n loadingCopy,\n setCompartirError,\n ContentID,\n checkNotSavedFields,\n ActivarCheckNotSavedFields,\n } = props;\n\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation, errors } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [notSavedField, setNotSavedField] = useState(null);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const [intermitenciaLayerLayer, setIntermitenciaLayerLayer] = useState>(null);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleIntermitenciaDMSKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderIntermitenciaDMSKoLayer, {}, { size: FocusLayerSizeV2.A });\n setIntermitenciaLayerLayer(layer);\n // return layer;\n };\n\n const renderIntermitenciaDMSKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleInvalidFormLayer = () => {\n const layer = layerManager.openFocusLayer(renderInvalidFormLayer, {}, { size: FocusLayerSizeV2.A });\n // setConfirmacionLayer(layer);\n\n // return layer;\n };\n const renderInvalidFormLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmar(e: any) {\n if (formData.fields.formName === 'no_compra-no_tengo' && formData.fields.quieroContacto === 'true' ||\n formData.fields.formName === 'no_renovacion-no_tengo' && formData.fields.quieroContacto === 'true') {\n if (!formData.fields.compartir) {\n setCompartirError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n } else {\n const isValid = await triggerValidation();\n if (setCompartirError && !isValid) {\n setCompartirError(true);\n }\n \n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n if (ActivarCheckNotSavedFields) {\n const someNotSavedField = checkNotSavedFields();\n setNotSavedField(someNotSavedField);\n\n if (someNotSavedField === null) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n const { sendDmsFailed } = store.getState().formInfo;\n if (sendDmsFailed) {\n handleIntermitenciaDMSKoLayer();\n } else {\n handleKoLayer();\n }\n }\n } else {\n handleInvalidFormLayer();\n }\n } else {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n stretchContent\n >\n {label ? label : 'Enviar'}\n \n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n >\n {label ? label : 'Enviar'}\n \n \n \n );\n};\n","import {\n Container,\n CTA,\n Text,\n TextAlignment,\n ContainerGutter,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n isGooglePlace,\n Suggest,\n Suggestion,\n useOneFormContext\n} from 'src/feature-app';\nimport { useLocateUser } from 'src/feature-app/hooks';\nimport { Installation, isDealerData, OneFormState } from 'src/types';\n\nconst LocateWrapper = styled.div<{ paddingTop?: string }>`\n overflow: visible;\n padding-top: ${(props) => props.paddingTop ? props.paddingTop : '44px'};\n`;\nconst LocationDisabledWrapper = styled.div<{ paddingTopLocation?: string }>`\n padding-top: ${(props) => props.paddingTopLocation ? props.paddingTopLocation : '44px'};\n`;\ninterface LocateUserProps {\n isFiltrosSuggest?: boolean;\n onSuggestionSelectedFnAlternative?: (suggestion: Suggestion) => void;\n theme?: 'main' | 'inverted';\n paddingTop?: string;\n paddingTopLocation?: string;\n autoWidth?: boolean;\n noTengoDudasButton?: boolean;\n}\n\nexport function LocateUserFullScreen(props: LocateUserProps) {\n const { isFiltrosSuggest, onSuggestionSelectedFnAlternative, theme, paddingTop, paddingTopLocation, autoWidth } = props;\n const { register } = useFormContext();\n const { nextStep } = useOneFormContext();\n const {\n value,\n setValue,\n suggestion,\n setSuggestion,\n icon,\n locationSuccess,\n setLocationSuccess,\n handleLocate,\n loading,\n locationDisabled,\n isLocating,\n onSuggestionSelectedFn,\n } = useLocateUser();\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n\n const getSuggestionValue = (suggestion: Suggestion) => {\n if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return (suggestion as Installation).VGED_CommercialName__c;\n } else {\n return suggestion.name;\n }\n };\n\n return (\n \n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) handleLocate();\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n \n \n Tu localización está deshabilitada\n \n \n ) : null}\n \n {props.noTengoDudasButton ? (\n {\n e.preventDefault();\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n nextStep();\n }}\n size=\"small\"\n >\n No tengo dudas\n \n ) : null}\n
\n \n
\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { InputError, TextInputExtended, CarlineSelect, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { CitaFormDataFields } from 'src/forms/CitaPosventa/types';\nimport { SelectExtended } from '.';\n\nconst arrCountries = [\n {\n name: 'ES',\n code: 'ES',\n regex: [/\\d{4}[b-df-hj-npr-tv-zB-DF-HJ-NPR-TV-Z]{3}/, /[A-Za-z]{1,2}\\d{4}[A-Za-z]{1,2}/],\n errorMessage: 'Ejemplo: 0000BCD o AA0000AA',\n },\n {\n name: 'DE',\n code: 'DE',\n regex: [/[a-zA-Z]{2,5}\\d{1,4}/],\n errorMessage: 'Ejemplo: AAABB0000',\n },\n {\n name: 'FR',\n code: 'FR',\n regex: [\n /[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}\\d{3}[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{2,3}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{1}(a|b|A|B)/,\n ],\n errorMessage: 'Ejemplo: AA000AA o 00000AA00',\n },\n {\n name: 'GB',\n code: 'GB',\n regex: [/[a-zA-Z]{1,2}\\d{2}[a-zA-Z]{3}/, /[a-zA-Z]{1}\\d{3}[a-zA-Z]{3}/],\n errorMessage: 'Ejemplo: AA00AAA',\n },\n {\n name: 'IT',\n code: 'IT',\n regex: [/[a-zA-Z]{2}\\d{3}[a-zA-Z]{2}/],\n errorMessage: 'Ejemplo: AA000AA',\n },\n {\n name: 'PT',\n code: 'PT',\n regex: [/[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}/, /\\d{2}[a-zA-Z]{2}\\d{2}/],\n errorMessage: 'Ejemplo: AA00AA',\n },\n {\n name: 'Otros',\n code: 'Otros',\n regex: [/[a-zA-Z\\d\\s]{3,}/],\n errorMessage: 'Solo números, letras y espacios',\n },\n];\n\ninterface paginaConfirmacionProps {\n paginaConfirmacion: boolean;\n}\n\nconst ContentWrapper = styled.div`\n\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: ${(props) => (props.paginaConfirmacion ? 'flex-start' : 'space-between')};\n flex-wrap: wrap;\n padding-top: 0;\n }\n /* Eliminar flechas del input type number porque descuadra el layout un poco */\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n /* Firefox */\n input[type='number'] {\n -moz-appearance: textfield;\n }\n`;\n\nconst MatriculaAndCountriesWrapper = styled.div`\n width: 100%;\n display: flex;\n height: max-content;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n margin-right:${(props) => (props.paginaConfirmacion ? '88px' : '0px')};\n }\n`;\nconst MatriculaWrapper = styled.div`\n width: 100%;\n label {\n width: 100%;\n @media screen and (min-width: 960px) {\n width: 170px;\n }\n }\n`;\nconst CoutryWrapper = styled.div`\n margin-right: 24px;\n label {\n width: 109px;\n @media screen and (min-width: 560px) {\n width: 116px;\n }\n @media screen and (min-width: 960px) {\n width: 120px;\n }\n }\n`;\nconst InputErrorWrapper = styled.div`\n &.matricula-error-wrapper {\n p {\n max-width: 179px;\n @media all and (min-width: 560px) {\n max-width: 163px;\n }\n @media all and (min-width: 960px) {\n max-width: 176px;\n }\n }\n }\n`;\nconst AnoMatriculacionWrapper = styled.div<{ paginaConfirmacion: boolean }>`\n margin-top: ${(props) => (props.paginaConfirmacion ? '40px' : null)};\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\ninterface inputWidthWrapperProps {\n noPaddingTop?: boolean;\n}\n\nconst InputWidthWrapper = styled.div`\n width: 100%;\n padding-top: ${(props) => (props.noPaddingTop ? null : '40px')};\n\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.noPaddingTop ? null : '24px')};\n }\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n padding-top: 0;\n width: 320px;\n }\n`;\n\ninterface MatriculaProps {\n formData: CitaFormDataFields;\n paginaConfirmacion: boolean;\n noPaddingTop?: boolean;\n}\n\nconst MatriculaYModelo = (props: MatriculaProps) => {\n const { register, errors } = useFormContext();\n const { error, setError } = useOneFormContext();\n const [inputValueAno, setInputValueAno] = useState('');\n const [pristineMatricula, setPristineMatricula] = useState(true);\n const [pristineAno, setPristineAno] = useState(true);\n const [inputValueMatricula, setInputValueMatricula] = useState('');\n const [errorMatricula, setErrorMatricula] = useState(false);\n const [errorAno, setErrorAno] = useState(false);\n const [errorCountry, setErrorCountry] = useState(false);\n const [country, setCountry] = useState('ES');\n const [countryObject, setCountryObject] = useState(null);\n const regExpAno = /^(19|20)\\d{2}$/;\n const [regExCounty, setRegExCounty] = useState(null);\n const { formData, paginaConfirmacion, noPaddingTop } = props;\n\n useEffect(() => {\n if (formData.countryPlate) {\n setCountry(formData.countryPlate);\n const countryObject = arrCountries.find((c) => c.name === formData.countryPlate);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n } else {\n setCountry('ES');\n setCountryObject(arrCountries[0]);\n setRegExCounty(arrCountries[0].regex);\n }\n if (formData.matricula) {\n setInputValueMatricula(formData.matricula);\n setPristineMatricula(false);\n }\n if (formData.anoMatriculacion) {\n setInputValueAno(formData.anoMatriculacion);\n setPristineAno(false);\n }\n }, []);\n\n const validateMatricula = (input: string) => {\n const isValid = regExCounty.some((regEx) => regEx.test(input));\n\n if (isValid) {\n setErrorMatricula(false);\n return true;\n } else {\n setErrorMatricula(true);\n return false;\n }\n };\n\n const handleChangeCountry = (event: any) => {\n setCountry(event.currentTarget.value);\n const countryObject = arrCountries.find((c) => c.name === event.currentTarget.value);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n if (countryObject.name !== '') setErrorCountry(false);\n };\n\n const handleChangeAno = (e: any) => {\n setInputValueAno(e.target.value);\n setPristineAno(false);\n };\n\n const handleChangeMatricula = (e: any) => {\n setInputValueMatricula(e.target.value);\n setPristineMatricula(false);\n };\n\n useEffect(() => {\n if (inputValueAno.length < 4) {\n return;\n } else {\n if (!pristineAno && inputValueAno.match(regExpAno) === null) {\n setErrorAno(true);\n } else if (inputValueAno === '') {\n setPristineAno(true);\n setErrorAno(false);\n } else {\n setErrorAno(false);\n }\n }\n }, [inputValueAno, pristineAno]);\n\n useEffect(() => {\n if (error) {\n errorAno || pristineAno ? setErrorAno(true) : setErrorAno(false);\n errorMatricula || pristineMatricula ? setErrorMatricula(true) : setErrorMatricula(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (!errorMatricula && !errorMatricula) setError(false);\n }, [errorMatricula, errorMatricula]);\n\n return (\n \n \n \n \n null}\n updateFields\n setOption={setCountry}\n isRequired={true}\n />\n \n \n validateMatricula(input),\n required: {\n value: true,\n message: 'Requerido',\n },\n maxLength: 100,\n })}\n isFloating\n onChange={(e) => handleChangeMatricula(e)}\n required\n />\n {errorMatricula && (\n \n {countryObject.errorMessage}\n \n )}\n \n \n \n \n handleChangeAno(e)}\n required\n />\n {errorAno && Ejemplo: 2010}\n \n \n {!paginaConfirmacion ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData.fields,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(MatriculaYModelo);\n\nexport { ConnectedComponent as MatriculaYModelo };\n","import React, { useState} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { styled, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { InputButton } from 'src/components/inputs/InputButton';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n & > button {\n margin: 12px;\n }\n`;\n\ninterface CTAValues {\n value?: string | boolean;\n label: string;\n}\n\ninterface NoClienteProps {\n name: string;\n nextOnClick?: boolean;\n bodyCopy: string;\n}\n\nexport const NoCliente = (props: NoClienteProps) => {\n const dispatch = useDispatch();\n const { name, nextOnClick, bodyCopy } = props;\n\n const { register, setValue } = useFormContext();\n const { handleNextStep, closeLayer } = useOneFormContext();\n const [selectedValue, setSelectedValue] = useState(null);\n\n return (\n <>\n \n {bodyCopy} \n \n \n {\n if ('Claro' !== selectedValue) {\n setSelectedValue('Claro');\n setValue(name, true);\n\n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n {\n\n if ('Salir del formulario' !== selectedValue) {\n setSelectedValue('Salir del formulario');\n setValue(name,false);\n dispatch({ type: 'RESET_STATE' });\n closeLayer();\n\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n \n \n );\n};\n","import React from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n CTA,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface IntroduccioStarsProps {\n bodyCopy?: string;\n label?: string;\n}\n\nexport const PantallaIntroduccionStars = (props:IntroduccioStarsProps) => {\n const { bodyCopy, label } = props;\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n \n \n {bodyCopy ? bodyCopy : 'Valora del 1 al 5 las siguientes experiencias con nosotros.'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n {label ? label : 'Empezar'}\n \n \n \n );\n};\n","import React, { useEffect, useState, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchDomain } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { GeneralInputWidthWrapper } from '.';\nimport { InputError } from './inputs';\nimport { styled, Select, TextInput } from '@volkswagen-onehub/components-core';\n\ntype WrapperProps = {\n\tdisabled?: boolean;\n\tthemeColor?: string;\n};\n\nconst Wrapper = styled.div`\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n\tfill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n\tcolor: #001e50;\n\tpadding-left: 12px;\n }\n`;\n\ninterface props {\n\tname: string;\n\ttoken: string;\n\tdomain: string;\n\tnodeValue: string;\n\tnodeText: string;\n\n\tlabel?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tselected?: string;\n\tnoPaddingTop?: boolean;\n\taddOptions?: { value: string; text: string }[];\n\twhiteList?: string[];\n\tblackList?: string[];\n\tonClick?: (e?: any) => void;\n}\n\nexport function SelectDpsDomain(props: props) {\n\tconst { name, token, domain, required, disabled, nodeValue, nodeText, noPaddingTop, addOptions, whiteList, blackList } = props;\n\tconst defaultSelected = props.selected;\n\tconst label = props.label ? props.label : 'Selecciona una opción';\n\n\tconst dispatch = useDispatch();\n\tconst trackingManager = useTrackingManager();\n\tconst { register, errors: contextErrors } = useFormContext();\n\tconst { error: contextError } = useOneFormContext();\n\tconst [error, setError] = useState(false);\n\n\tconst { formData, formInfo, domainsInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst [options, setOptions] = useState<{ value: string; text: string }[]>([]);\n\tconst [selected, setSelected] = useState(null);\n\n\n\tconst requestDomain = async () => {\n\t\tconst response = await fetchDomain(token, domain);\n\t\tlet options = response.content.map((item) => {\n\t\t\tconst value = item.attributes.find((attr: { name: string }) => attr.name == nodeValue)?.value;\n\t\t\tconst text = item.attributes.find((attr: { name: string }) => attr.name == nodeText)?.value;\n\t\t\treturn { value, text };\n\t\t});\n\t\tif (whiteList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\twhiteList.some(white =>\n\t\t\t\t\t(value && value.toLowerCase() === white.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === white.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (blackList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\t!blackList.some(black =>\n\t\t\t\t\t(value && value.toLowerCase() === black.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === black.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (addOptions) {\n\t\t\toptions = [...options, ...addOptions];\n\t\t}\n\t\tsetOptions(options);\n\t\tsetFirstSelected(options);\n\t\tdispatch({ type: 'ADD_DOMAIN', payload: { [token]: { [domain]: options } } });\n\t};\n\n\tconst setFirstSelected = (options) => {\n\t\tif(fields[name]) {\n\t\t\tsetSelected(fields[name]);\n\t\t}\n\t\telse if (defaultSelected) {\n\t\t\tconst option = options.find(opt => \n\t\t\t\topt.value === defaultSelected || opt.text === defaultSelected \n\t\t\t);\n\t\t\tsetSelected(option?.value);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif(domainsInfo[token] && domainsInfo[token][domain]) {\n\t\t\tsetOptions(domainsInfo[token][domain]);\n\t\t\tsetFirstSelected(domainsInfo[token][domain]);\n\t\t}\n\t\telse {\n\t\t\trequestDomain();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (contextError) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors.value) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors[name]) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tsetError(false);\n\t\t}\n\t}, [contextError, contextErrors]);\n\n\tconst handleChange = (e: any) => {\n\t\tconst selectedValue = e.currentTarget.value;\n\t\tsetSelected(selectedValue);\n\t\tsetError(false);\n\n\t\tif (selectedValue == '' && required) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: selectedValue } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: options.find(({value}) => value == selectedValue)?.text } });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{options ? (\n\t\t\t\t {\n\t\t\t\t\t\ttrackingManager.trackFormFieldClick(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontentId: label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tFormFieldName: name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t\t//props.onClick();\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tthemeColor={formInfo.formTheme}\n\t\t\t\t>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleChange(event);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{options.map((option: any, key: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : null }\n\n\t\t\t{ error ? Este campo es obligatorio : null}\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { SelectDpsDomain } from './SelectDpsDomain';\nimport { GeneralInputWidthWrapper } from './styleComponents';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\nexport const Trato = () => {\n const isComerciales = useIsComerciales();\n\tconst dpsToken = isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst { formInfo }: OneFormState = store.getState();\n\n return (\n\t\t\n\t\t\t\n\t\t \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { Apellido, Nombre, PaddingWrapper } from '.';\nimport { Trato } from './Trato';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\ninterface pantallaNombreApellidoProps {\n notALayer?: boolean;\n isComerciales?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n gap: 44px;\n display: flex;\n flex-direction: column;\n width: 100%;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n flex-wrap: wrap;\n margin-top: 0;\n }\n`;\n\nexport const PantallaNombreApellido = (props: pantallaNombreApellidoProps) => {\n const isComerciales = useIsComerciales();\n\n return (\n\t\n\t\t\n\t\t\t{isComerciales ? : null}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n );\n};\n","import { Checkbox, CTA, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { InputError } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nexport const PoliticaPrivacidad = () => {\n const { register, errors, clearError } = useFormContext();\n const isComerciales = useIsComerciales();\n const { formInfo } = useSelector((state: OneFormState) => state);\n return (\n
\n
\n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n
\n {errors && errors.politicaPrivacidad ? (\n Necesitamos esta información para seguir\n ) : null}\n
\n );\n};\n","import React, {useState, useEffect} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { \n styled, \n Text, \n TextAlignment, \n BreakpointWrapper, \n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst CustomInputRange = styled.input`\n width: 100%;\n height: 30px;\n background: transparent;\n font-size: 1em;\n cursor: pointer; \n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track, &::-webkit-slider-thumb {\n -webkit-appearance: none;\n };\n &::-webkit-slider-runnable-track{\n position: relative;\n width: 100%;\n height: 1px;\n background: transparent; \n };\n &::-moz-range-track {\n width: 100%;\n height: 1px;\n background: transparent;\n };\n &::-ms-track {\n border: none;\n width: 100%;\n height: 1px;\n background: transparent;\n color: transparent;\n };\n &::-ms-fill-lower {\n display: none;\n };\n &::-webkit-slider-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-moz-range-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-ms-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-webkit-slider-runnable-track:before, &::-webkit-slider-runnable-track:after, & /deep/ #track:before, &/deep/ #track:after {\n position: absolute;\n bottom: 100%;\n color: #2c2c2b;\n font: 700 0.875em / 2 arial, sans-serif;\n background: #001e50;\n };\n &::-webkit-slider-runnable-track:before, & /deep/ #track:before {\n left: 0.8125em;\n word-spacing: 1.4375em;\n content: '1 2 3 4 5 6 7 8 9';\n };\n &::-webkit-slider-runnable-track:after, & /deep/ #track:after {\n right: 0.625em;\n word-spacing: 0.875em;\n content: '10 11 12 13 14 15 16';\n };\n &:focus{\n outline: none;\n }\n\n`;\nconst Mark = styled.div`\n height: 9px;\n width: 1px;\n background-color: #001e50;\n`;\nconst MarksPosition = styled.div`\n display: flex;\n display:-webkit-flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -19.5px;\n z-index: 3;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 0;\n width: 97%;\n }\n`;\nconst SliderPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SlideLabelsPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SliderAndMarksPosition = styled.div`\n width: 96%;\n padding-right: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n @media all and (min-width: 960px) {\n width: 99%;\n padding-right: 0px;\n }\n`;\ninterface CustomSliderProps {\n mobileLabels: Array;\n desktopLabels: Array;\n name: string;\n}\n\nexport const SlideEncuestas = (props: CustomSliderProps ) => {\n\n const {name, mobileLabels, desktopLabels} = props;\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n const numberOfSteps = 5;\n const sliderMarks= [];\n const [value, setValue] = useState(3);\n\n\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: `${value}` } });\n }, [value]);\n\n for(let i = 0; i < 5; i++) {\n sliderMarks.push();\n }\n \n document.documentElement.classList.add('js');\n \n return (\n
\n \n
\n \n {sliderMarks ? sliderMarks : null}\n \n \n handleInputChange(e)}\n value={value}\n />\n \n \n \n \n {mobileLabels[0]}\n {mobileLabels[1]}\n \n \n {desktopLabels[0]}\n {desktopLabels[1]}\n {desktopLabels[2]}\n {desktopLabels[3]}\n {desktopLabels[4]}\n \n \n \n\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Sin respuesta',\n });\n setValue(3);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n Sin respuesta\n \n \n
\n );\n};\n\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, TokenTextAppearance, TokenTextColor, styled } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestMarca = (props: SuggestModeloProps) => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { notALayer, marginTop, fieldsName, required } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n\n const { setDisableIntroNextStep, setError } = useOneFormContext();\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n if (formData.fields[fieldsName]) {\n const modeloSuggestion = modelos.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n });\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí la Marca';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n \n \n\n return (\n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n >\n \n \n \n {\n setSuggestion(suggestion);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n setSelectedValue(true);\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, styled, CTA, TokenTextAppearance, TokenTextColor, Emphasis } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n outputsSeparados?: boolean;\n filterVW?:boolean;\n nextOnClick?: boolean;\n alternatCTA?: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n margin-left: ${(props) => (props.notALayer ? null : 'var(--size-grid002)')};\n\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n margin-left: ${(props) => (props.notALayer ? null : '122px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst ModeloInteresWrapper = styled.div`\n display: ${(props)=> props.alternatCTA ? 'flex' : null};\n flex-wrap: ${(props)=> props.alternatCTA ? 'wrap' : null};\n\n @media all and (min-width: 560px) {\n gap: ${(props)=> props.alternatCTA ? '44px' : null};\n }\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 44px;\n\n button {\n width: 81px;\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestModelo = (props: SuggestModeloProps) => {\n const { notALayer, marginTop, fieldsName, required, outputsSeparados, filterVW, nextOnClick, alternatCTA } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n const [ isNotAnswered, setIsNotAnswered ] = useState(true);\n const [ buttonEmphasis, setButtonEmphasis ] = useState('secondary');\n const { setIsValueSelected } = useOneFormContext();\n\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n\n getVehiculosModelo().then((modelos) => {\n let modelosToSet = modelos;\n if (filterVW) {\n modelosToSet = modelos.filter(modelo => modelo.brand !== 'Volkswagen');\n }\n setList(modelosToSet);\n if (formData.fields[fieldsName]) {\n if(formData.fields.brand === 'false' && formData.fields.model === 'false') {\n setButtonEmphasis('primary');\n setSuggestion(null);\n setValue('');\n setIsNotAnswered(false);\n } else {\n const modeloSuggestion = modelosToSet.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n }\n });\n }, []);\n\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí el modelo';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n const handleDispatch = (outputsSeparados: boolean, suggestion: modelCar)=> {\n if(outputsSeparados) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'brand': suggestion.brand } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'model': suggestion.model } });\n } else {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n }\n };\n \n \n\n return (\n \n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n notALayer={notALayer}\n >\n \n \n \n {\n setSuggestion(suggestion);\n handleDispatch(outputsSeparados, suggestion);\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n \n { alternatCTA ? (\n \n {\n e.preventDefault();\n setSuggestion({brand:'false', id: null, name: 'false', model: 'false', title: 'false'});\n handleDispatch(outputsSeparados, {brand:'false', id: null, name: 'false', model: 'false', title: 'Escribe aquí el modelo'});\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n >No\n \n ) : null}\n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { SelectExtended } from '.';\nimport { styled, CTA } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { fetchMarcas, fetchModelos } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\n\ninterface BrandModelProps {\n\tstepName: string;\n\tbrandName?: string;\n\tmodelName?: string;\n\tmarginTop?: string;\n\tnotALayer?: boolean;\n\trequired: boolean;\n\tformToken?: string;\n\tnextOnClick?: boolean;\n\talternatCTA?: boolean;\n\texcludeMarcas?: [string];\n\texcludeModelos?: [string];\n}\n\nconst SelectsWrapper = styled.div`\n\tmargin-top: 4px;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\twidth: var(--size-grid020);\n\t@media all and (min-width: 560px) {\n\t\twidth: var(--size-grid013);\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tmargin-top: 0; \n\t\twidth: var(--size-grid008);\n\t}\n\t@media all and (min-width: 1280px) {\n\t\twidth: var(--size-grid006);\n\t}\n\t@media all and (min-width: 1920px) {\n\t\twidth: var(--size-grid005);\n\t}\n\t@media all and (min-width: 2560px) {\n\t\twidth: var(--size-grid004);\n\t}\n\tlabel {\n\t\tmargin-top: 40px;\n\t\twidth: var(--size-grid009);\n\n\t\t@media all and (max-height: 624px) {\n\t\t\tmargin-top: 20px;\n\t\t}\n\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid006);\n\t\t}\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1280px) {\n\t\t\twidth: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1920px) {\n\t\t\twidth: var(--size-grid002);\n\t\t}\n\t\t@media all and (min-width: 2560px) {\n\t\t\twidth: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n\t\t}\n\t}\n`;\nconst MarginDiv = styled.div`\n\twidth: var(--size-grid002);\n\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid001);\n\t\t}\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 58px;\n margin-left: 10px;\n\n button {\n width: 81px;\n }\n`;\n\nconst ModeloInteresWrapper = styled.div<{ alternatCTA?: boolean }>`\n\tdisplay: ${(props) => (props.alternatCTA ? 'flex' : 'block')};\n\tflex-wrap: ${(props) => (props.alternatCTA ? 'wrap' : 'nowrap')};\n\n\t@media all and (min-width: 560px) {\n\t\tgap: ${(props) => (props.alternatCTA ? '58px' : '0')};\n\t}\n`;\n\nexport const SelectMarcaModelo = (props: BrandModelProps) => {\n\tconst { stepName, brandName = 'brand', modelName = 'model', notALayer, marginTop, required, formToken, nextOnClick, alternatCTA, excludeMarcas, excludeModelos } = props;\n\tconst { handleNextStep } = useOneFormContext();\n\tconst { formData, vehiclesInfo } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [isAnswered, setIsAnswered] = useState(false);\n\tconst [brand, setBrand] = useState(null);\n\tconst [model, setModel] = useState(null);\n\tconst [brands, setBrands] = useState([]);\n\tconst [models, setModels] = useState([]);\n\n\n\tconst getBrandByName = (name) => {\n\t\treturn brands ? brands.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getBrandByCode = (code) => {\n\t\treturn brands ? brands.find(obj => obj.code == code) : null;\n\t};\n\n\tconst getModelByName = (name) => {\n\t\treturn models ? models.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getModelByCode = (code) => {\n\t\treturn models ? models.find(obj => obj.code == code) : null;\n\t};\n\n\tconst convertToOption = (arr: any) => {\n\t\tconst name = arr['attributes'].find(obj => obj.name == 'NAME');\n\t\tconst code = arr['attributes'].find(obj => obj.name == 'CODE');\n\t\treturn {\n\t\t\tcode: code ? code.value : null,\n\t\t\tname: name ? name.value : null,\n\t\t};\n\t};\n\n\tconst fillBrandsCombo = () => {\n\t\tsetModels([]);\n\t\tif (vehiclesInfo.brands) {\n\t\t\tsetBrands(vehiclesInfo.brands);\n\t\t}\n\t\telse {\n\t\t\tfetchMarcas(formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst brands = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst brand = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeMarcas || !excludeMarcas.includes(brand.name)) {\n\t\t\t\t\t\t\tbrands.push(brand);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetBrands(brands);\n\t\t\t\t\tsetBrand(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brands: brands } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fillModelsCombo = (brandCode: string) => {\n\t\tsetModels([]);\n\t\tif (brandCode == vehiclesInfo.brandSelected) {\n\t\t\tsetModels(vehiclesInfo.models);\n\t\t}\n\t\telse {\n\t\t\tfetchModelos(brandCode, formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst models = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst model = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeModelos || !excludeModelos.includes(model.name)) {\n\t\t\t\t\t\t\tmodels.push(model);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetModels(models);\n\t\t\t\t\tsetModel(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { models: models } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (brands.length == 0) {\n\t\t\tfillBrandsCombo();\n\t\t}\n\t\t\n\t\tif (vehiclesInfo.brandSelected) {\n\t\t\tsetBrand(vehiclesInfo.brandSelected);\n\t\t\tfillModelsCombo(vehiclesInfo.brandSelected);\n\t\t\tif (vehiclesInfo.modelSelected) {\n\t\t\t\tsetModel(vehiclesInfo.modelSelected);\n\t\t\t}\n\t\t}\n\t}, []);\n\n\tconst handleChangeBrand = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst brand = getBrandByName(e.target.value);\n\t\t\tsetBrand(brand);\n\t\t\tfillModelsCombo(brand.code);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: brand, modelSelected: null } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: brand.code } });\n\t\t}\n\t};\n\n\tconst handleChangeModel = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst model = getModelByName(e.target.value);\n\t\t\tsetModel(model);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { modelSelected: model } });\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: model.code } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: brand.name + ' ' + model.name } });\n\t\t}\n\t};\n\n\tconst namesSort = (data) => {\n\t\tdata.sort((a, b) => {\n\t\t\tconst nameA = a.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tconst nameB = b.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tif (nameA < nameB) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif (nameA > nameB) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t\treturn data;\n\t};\n\n\tconst handleNoModel = () => {\n\t\tsetBrand(null);\n\t\tsetModel(null);\n\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: null, modelSelected: null} });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: null } });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: null } });\n\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: 'No' } });\n\t\tsetIsAnswered(true);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeBrand(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={brand ? brand.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setBrand}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeModel(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={model ? model.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setModel}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t{ alternatCTA ? (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleNoModel();\n\t\t\t\t\t\t\tif(nextOnClick) {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\thandleNextStep();\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>No\n\t\t\t\t\n\t\t\t) : null}\n\t\t\n\t);\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n from {\n transform: translateY(-40%);\n }\n to {\n transform: translateY(100%);\n }\n`;\n\nexport const VerticalLine = styled.div`\n height: 35px;\n width: 2px;\n background-color: #FFFFFF;\n animation: ${lineKeyframe} 1.75s infinite;\n`;\n","import React from 'react';\nimport { MultipleCTASelection } from 'src/components';\nimport {\n Container,\n ContainerGutter,\n Text,\n TextAlignment,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport const YaTienesVolkswagen = () => {\n return (\n \n \n \n 1{' '}Recuerda que para participar en el sorteo debes formar parte de la familia Volkswagen. \n \n \n );\n};\n","import { CarlineBase } from 'src/types';\n/**\n * En el caso de CEM Venta tenemos que eliminar el \"Nuevo\" del título, ordenar alfabéticamente los carlines y eliminar los duplicados en caso de que haya\n * dos generaciones de carlines en el selector conviviendo como \"Nuevo Arteon\" y \"Arteon\".\n * @param carlines\n * @returns\n */\n export const formatCEMVenta = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => {\n return {\n code: String(carline.code),\n name: carline.title,\n key: carline.title,\n };\n })\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .filter((carline, index, self) => index === self.findIndex((t) => t.name === carline.name));\n };\n","import { CarlineBase } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n\n/**\n * Devuelve el carline con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatCarlineSelectExtendedList = (carline: CarlineBase): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: `${carline.nuevo ? 'Nuevo ' : ''}${carline.title}`,\n key: carline.title,\n };\n };\n","import { CarlineBase } from 'src/types';\nimport { formatAlphabetical, formatCarlineSelectExtendedList } from '.';\n\n/**\n * Devuelve los carlines con el formato necesario\n * @param carlines\n * @returns\n */\n export const formatAllCarlines = (carlines: CarlineBase[], alphabetical?: boolean) => {\n if (alphabetical) {\n return formatAlphabetical(carlines);\n } else {\n return carlines.map((carline) => formatCarlineSelectExtendedList(carline)).filter((c) => c !== null);\n }\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType, OneFormState, Salesgroup } from 'src/types';\nimport { formatCarlineSelectExtendedList } from '.';\n\nexport const formatAlphabetical = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => formatCarlineSelectExtendedList(carline))\n .map((carline) => {\n if (carline.name.includes('Nuevo')) {\n // Pasamos de Nuevo T-Roc a T-Roc ZNuevo para que el \"Nuevo\" no interfiera al ordenar y la parte de Nuevo no tenga preferencia sobre otras.\n carline.name = carline.name.replace('Nuevo ', '').concat(' ZNuevo');\n return carline;\n }\n return carline;\n })\n .filter((c) => c !== null)\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .map((carline) => {\n if (carline.name.includes('ZNuevo')) {\n // Hacemos la operación contraria para devolver el orden correcto.\n carline.name = `Nuevo ${carline.name.replace(' ZNuevo', '')}`;\n return carline;\n }\n return carline;\n });\n};\n","import { formatSalesgroupsSelectExtendedList } from '.';\nimport { Salesgroup } from 'src/types';\n\nexport const formatAllSalesgroups = (carlines: Salesgroup[]) =>\ncarlines.map((carline) => formatSalesgroupsSelectExtendedList(carline)).filter((c) => c !== null);\n","import { Salesgroup } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n/**\n * Devuelve los salesgroups con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatSalesgroupsSelectExtendedList = (carline: Salesgroup): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: carline.name,\n key: carline.name,\n };\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType } from 'src/types';\n/**\n * Devuelve únicamente los carlines con el flag del formulario correspondiente.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\n export const filterCarlineFlag = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], formularioFlag: FormularioFlagType) => {\n if (!formularioFlag) {\n return carlines;\n }\n\n return carlines\n .map((carline: CarlineBase | CarlinesWithSalesgroups) => {\n if (carline.formularios[formularioFlag] === 1) {\n return carline;\n }\n })\n .filter((carline) => carline !== undefined);\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroupsFromCarlines = (carlines: CarlinesWithSalesgroups[]) => {\n return carlines\n .map((carline) => carline.salesGroups)\n .filter((c) => c !== null)\n .flat();\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\nimport { getSalesgroupsFromCarlines, formatAllSalesgroups } from '.';\n/**\n * Se agrupan todas las operaciones que se realizan a los carlines con salesgroups (filtrar por flag, obtener solo los salesgroups y formatearlos) para no hacerlas dos veces.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\nexport const getFormattedSalesgroups = (carlines: CarlinesWithSalesgroups[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return formatAllSalesgroups(salesgroups);\n};\n","import { CarlineBase } from 'src/types';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContent = (carlines: CarlineBase[], faContentCarlines: number[] | string[]) => {\n return faContentCarlines\n .map((carlineCode) => carlines.find((carline) => carline.code == carlineCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase } from 'src/types';\nimport { getSalesgroupsFromCarlines } from '.';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContentSalesgroups = (carlines: CarlineBase[], faContentSalesgroups: number[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return faContentSalesgroups\n .map((salesgroupCode) => salesgroups.find((salesgroup) => salesgroup.code == salesgroupCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase, CarlinesWithSalesgroups } from 'src/types';\n\nexport const findCarlineFromSalesgroup = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], code: number) =>\n carlines.find((carline: CarlinesWithSalesgroups) => {\n return carline.salesGroups?.find((salesgroup) => salesgroup.code === code);\n });\n","import { CarlineBase, CarlinesWithSalesgroups, OneFormState } from 'src/types';\nimport { findCarlineFromSalesgroup } from '.';\nimport { useFaContent } from 'src/feature-app';\n\n\nexport const findCarline = (\n carlines: CarlineBase[] | CarlinesWithSalesgroups[],\n code: number | string,\n salesgroupId?: number\n) => {\n if (salesgroupId) {\n let carline = findCarlineFromSalesgroup(carlines, salesgroupId);\n return carline;\n } else if (carlines.find((carline: CarlineBase) => carline.code === Number(code))) {\n let carline = carlines.find((carline: CarlineBase) => carline.code === Number(code));\n return carline;\n } else {\n let carline = carlines.find((carline: CarlineBase) => carline.name === (code));\n return carline;\n }\n \n return null;\n};\n","import { OneFormContent } from 'src/feature-app';\n\nexport const thereIsKeyInFaContent = (faContent: OneFormContent, key: 'carlines' | 'salesgroups') =>\nfaContent && faContent[key] && faContent[key].length > 0;\n\nexport const thereIsCarlinesInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'carlines');\n\nexport const thereIsSalesgroupsInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'salesgroups');\n\nexport const isCarlineMode = (faContent: OneFormContent) => faContent?.mode === 'Carline';\n\nexport const isSalesGroupMode = (faContent: OneFormContent) => faContent?.mode === 'Salesgroup';\n\nexport const isMixedMode = (faContent: OneFormContent) => faContent?.mode === 'Mixed';\n\nexport const isConfiguratorMode = (faContent: OneFormContent) => faContent?.mode === 'CarConfiguratorFS';\n","import React, {useEffect, useRef, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getCarlines, getEapiCarlines} from 'src/bff';\nimport {GeneralInputWidthWrapper, IDBuzzFakeInput} from 'src/components';\nimport {isNull, useFaContent} from 'src/feature-app';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {CarlineBase, CarlinesWithSalesgroups, OneFormState} from 'src/types';\nimport {SelectExtended} from 'src/components';\nimport {InputError, TextInputExtended} from 'src/components/inputs';\nimport {\n\tformatCEMVenta,\n\tformatAllSalesgroups,\n\tformatAllCarlines,\n\tfilterCarlineFlag,\n\tgetFormattedSalesgroups,\n\tfilterPreselectedFaContent,\n\tfilterPreselectedFaContentSalesgroups,\n\tfindCarline,\n\tfindCarlineFromSalesgroup,\n\tthereIsCarlinesInFaContent,\n\tthereIsSalesgroupsInFaContent,\n\tisSalesGroupMode,\n\tisMixedMode,\n} from 'src/components/CarlineSelect';\nexport interface SelectExtendedList {\n\tcode: string;\n\tname: string;\n\tkey: string;\n}\ninterface CarlineSelectProps {\n\tuseCarline?: boolean;\n\tisCEMVenta?: boolean;\n\tnotALayer?: boolean;\n\tnoPaddingTop?: boolean;\n\talphabetical?: boolean;\n\tnextOnSelect?: boolean;\n}\n\nexport function CarlineSelect(props: CarlineSelectProps) {\n\tconst {useCarline, notALayer, noPaddingTop, isCEMVenta, alphabetical, nextOnSelect} = props;\n\tconst {register, errors} = useFormContext();\n\tconst [errorModelo, setErrorModelo] = useState(false);\n\tconst {formData, dealersInfo, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {fields} = formData;\n\tconst {screenIndex} = formInfo;\n\tconst {carlines} = dealersInfo;\n\tconst {error, handleNextStep} = useOneFormContext();\n\tconst [list, setList] = useState(null);\n\tconst dispatch = useDispatch();\n\tconst [modelo, setModelo] = useState(null);\n\tconst faContent = useFaContent();\n\tconst screenIndexRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * En modo mixed se fija puede fijar un salesgroup al principio y en caso de que se acabe eligiendo un carline, se ha de eliminar la primera selección.\n\t */\n\tconst dispatchEmptySalesgroup = () => dispatchSetSalesgroup(null, null);\n\tconst dispatchSalesgroup = (id: number, name: string) => dispatchSetSalesgroup(id, name);\n\n\tconst dispatchSetSalesgroup = (id: number, name: string) => {\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: {\n\t\t\t\tsalesGroupId: id,\n\t\t\t\tsalesGroupName: name,\n\t\t\t},\n\t\t});\n\t};\n\n\tconst updateCarlineCode = (carlineCode: number, salesgroupName?: string) => {\n\t\tif (carlines) {\n\t\t\tlet carline: CarlineBase | CarlinesWithSalesgroups;\n\n\t\t\tif (isSalesGroupMode(faContent)) {\n\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\tif (carline) {\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t} else {\n\t\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t}\n\t\t\t} else if (isMixedMode(faContent)) {\n\t\t\t\t// Primero buscamos carline\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\n\t\t\t\tdispatchEmptySalesgroup();\n\n\t\t\t\tif (!carline) {\n\t\t\t\t\t// Buscamos salesgroup\n\t\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t// dispatchEmptySalesgroup();\n\t\t\t}\n\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: carline});\n\t\t\tif (!isCEMVenta) {\n\t\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {carlineCode: carline.code}});\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Inicializa la lista del selector\n\t * @param list\n\t */\n\tconst handleUpdateList = (list: SelectExtendedList[]) => {\n\t\tif (!list) {\n\t\t\treturn;\n\t\t}\n\t\tsetList(list);\n\t\tif (fields.modelo) {\n\t\t\tconst modeloInList = list.find((listValue) => listValue.name === fields.modelo);\n\t\t\t// setModelo(modeloInList.name);\n\t\t\tchangeModeloFields(modeloInList.name, list);\n\t\t\tupdateCarlineCode(Number(modeloInList.code));\n\t\t} else {\n\t\t\t// Valor inicial del modelo vacío\n\t\t\tchangeModeloFields('', list);\n\t\t}\n\t};\n\n\tconst initializeSelectWithCarline = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\t\tlet carlinesFromFaContent: CarlineBase[];\n\t\tlet allCarlines: any[];\n\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\t// Filtramos los carlines del FA Content.\n\t\t\tallCarlines = faContent.carlines.filter((c) => c.toString() != '');\n\n\t\t\tif (/[0-9]/.test(allCarlines[0])) {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(Number).includes(c.code));\n\t\t\t} else {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(String).includes(c.name));\n\t\t\t}\n\t\t\t// const carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\tif (!carlines) {\n\t\t\t\tconst newCarlines = await getCarlines();\n\t\t\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\t\t\tconst carlinesFormatted = formatAllCarlines(newfilteredCarlines, alphabetical);\n\t\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// En caso de que se necesiten los carlines de getCarlines de forma genérica.\n\t\t\tconst carlinesFormatted = formatAllCarlines(filteredCarlines, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else {\n\t\t\t// Para la pantalla de modelo y matrícula de cita se necesitan unos modelos específicos.\n\t\t\tconst response = await getEapiCarlines();\n\t\t\thandleUpdateList(response.data.content);\n\t\t}\n\t};\n\n\tconst initializeSelectWithSalesgroup = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\t// En caso de que se necesiten los carlines de getSalesgroup.\n\t\t\tconst formatedSalesgroups = getFormattedSalesgroups(filteredCarlines);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t}\n\t};\n\tconst initializeSelectWithMixed = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tlet result: SelectExtendedList[] = [];\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tresult = [...result, ...formatedSalesgroups];\n\t\t}\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\tconst carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\tresult = [...result, ...carlinesFormatted];\n\t\t}\n\t\tif (!result || result.length === 0) {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t\thandleUpdateList(result);\n\t};\n\n\tconst initializeSelectWithCEMVenta = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst newCarlines = await getCarlines();\n\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\tconst carlinesFormatted = formatCEMVenta(newfilteredCarlines);\n\n\t\thandleUpdateList(carlinesFormatted);\n\t\treturn;\n\t};\n\n\tuseEffect(() => {\n\t\tif (isSalesGroupMode(faContent)) {\n\t\t\tinitializeSelectWithSalesgroup();\n\t\t} else if (isMixedMode(faContent)) {\n\t\t\tinitializeSelectWithMixed();\n\t\t} else if (isCEMVenta) {\n\t\t\tinitializeSelectWithCEMVenta();\n\t\t} else {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// Hack para guardar la información del carline únicamente al pasar a la siguiente pantalla y no enviar datos\n\t\t// de analítica del carline seleccionado por defecto.\n\n\t\tif (isNull(screenIndexRef.current)) {\n\t\t\tscreenIndexRef.current = screenIndex;\n\t\t} else {\n\t\t\tif (useCarline) {\n\t\t\t\tconst carline = list?.find((carline: any) => carline.name === modelo);\n\t\t\t\tif (carline) {\n\t\t\t\t\tif (isSalesGroupMode(faContent) || isMixedMode(faContent)) {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code), carline.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [screenIndex]);\n\n\tuseEffect(() => {\n\t\terrors.modelo || (error && !modelo) ? setErrorModelo(true) : setErrorModelo(false);\n\t}, [errors, error]);\n\n\tconst changeModeloFields = (model: string, list: SelectExtendedList[]) => {\n\t\tsetModelo(model);\n\t\tconst modeloList = list?.find((element) => element.name === model);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {modeloList}});\n\t};\n\n\tfunction handleChangeModelo(event: any) {\n\t\tconst newModelo = event.currentTarget.value;\n\n\t\tif (newModelo) {\n\t\t\tchangeModeloFields(newModelo, list);\n\t\t}\n\n\t\tif (newModelo !== '') {\n\t\t\tsetErrorModelo(false);\n\t\t}\n\n\t\tif (nextOnSelect) {\n\t\t\thandleNextStep();\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t{isComerciales && fields?.idBuzzExclusive ? (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : list ? (\n\t\t\t\t<>\n\t\t\t\t\t {}}\n\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\tsetOption={setModelo}\n\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{errorModelo ? Este campo es obligatorio : null}\n\t\t\t{}\n\t\t
\n\t);\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\n\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nexport const LoadingEncuestas = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\ninterface ThankYouTitleProps {\n notALayer?: boolean;\n regularCopyFirst?: string;\n boldCopyFirst?: string;\n regularCopySecond?: string;\n boldCopySecond?: string;\n}\n\nexport const ThankYouTitle = (props: ThankYouTitleProps) => {\n const { regularCopyFirst, boldCopyFirst, notALayer, regularCopySecond, boldCopySecond } = props;\n return (\n <>\n { notALayer ? (\n <>\n {' '}\n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst}{' '} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n ) : (\n <>\n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n styled\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAThankYou = {\n emphasis?: string;\n label: string;\n url?: string;\n}\n\ninterface CTAThankYouPageProps {\n firstCTA: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n}\n\nconst CtasWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n align-items: flex-start;\n @media all and (min-width: 560px) {\n flex-direction: row;\n gap: 44px;\n }\n button {\n align-self: flex-start;\n }\n`;\n\nexport const CTAThankYouPage = (props: CTAThankYouPageProps) => {\n const { firstCTA, secondCTA, secondCTACopies } = props;\n\n return (\n \n \n {firstCTA.label}\n \n {\n secondCTA ? (\n \n {secondCTACopies.label}\n \n ) : null\n }\n \n \n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAThankYouPage, CTAThankYou, CTAThankYouPageAction, CTAAction, LeadsCTAs } from '.';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\n\n\ninterface FieldProps {\n copyBook?: any;\n copyBookSecond?: any;\n notALayer?: boolean;\n CTAFields?: boolean;\n firstCTA?: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n CTAAction?: CTAAction;\n ctaFunction?: any;\n ctaUrl?: string;\n}\n\nexport const ThankYouFields = (props: FieldProps) => {\n const{ \n notALayer , \n copyBook, \n CTAFields, \n copyBookSecond, \n firstCTA, \n secondCTA, \n secondCTACopies, \n CTAAction,\n ctaFunction,\n ctaUrl\n } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n const { formName } = formData.fields;\n\n return (\n <>\n {\n notALayer ? (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n\n ) : (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAAction = {\n label: string,\n emphasis: string,\n}\n\ninterface CTAThankYouPageActionProps {\n ctaInfo: CTAAction;\n ctaFunction: any;\n}\n\nexport const CTAThankYouPageAction = (props: CTAThankYouPageActionProps) => {\n const { ctaInfo, ctaFunction } = props;\n\n return (\n {\n e.preventDefault();\n ctaFunction();\n }}\n >\n {ctaInfo.label}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface CTAFieldsProps {\n url: string;\n}\n\nexport const LeadsCTAs = (props: CTAFieldsProps) => {\n const { url } = props;\n const { closeLayer } = useOneFormContext();\n\n \n return (\n \n \n Conócelo\n \n {\n e.preventDefault();\n closeLayer();\n }}\n >\n Seguir navegando\n \n \n );\n};\n","import * as React from 'react';\nexport var Info = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 24 24\", width: \"24\", height: \"24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M12 6.493c.442 0 .774.295.774.811s-.332.811-.774.811-.774-.295-.774-.811.332-.811.774-.811zM12.783 15.656v-5.649H9.414v1.33h2.039v4.319H8.419v1.33l6.967-.001v-1.33z\" }),\n React.createElement(\"path\", { d: \"M12 2.33c5.603 0 9.67 4.067 9.67 9.67s-4.067 9.67-9.67 9.67S2.33 17.603 2.33 12 6.397 2.33 12 2.33M12 1C5.626 1 1 5.626 1 12s4.626 11 11 11 11-4.626 11-11S18.374 1 12 1z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 12 12\", width: \"12\", height: \"12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M5.33 6h1.33v3H5.33z\" }),\n React.createElement(\"path\", { d: \"M6 0a6 6 0 1 0 6 6 6 6 0 0 0-6-6zm0 10.65A4.65 4.65 0 1 1 10.65 6 4.66 4.66 0 0 1 6 10.65z\" }),\n React.createElement(\"circle\", { cx: \"6\", cy: \"4\", r: \".75\" }));\n }\n return null;\n}, { displayName: 'Info' }));\n","import React, { useState, useEffect, useRef } from 'react';\nimport { styled, Text, TextInput, Layout, Breakpoints, Container, ContainerGutter, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useOneFormContext } from 'src/feature-app';\nimport { Info } from '@volkswagen-onehub/icons-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { Close } from '@volkswagen-onehub/icons-core';\n\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SVGSize = styled.div`\n position: relative;\n top: 41px;\n width: 100%;\n display: flex;\n justify-content: flex-end;\n z-index: 1000;\n\n \n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n div{\n cursor:pointer;\n }\n svg {\n height: 20px;\n width: auto;\n }\n`;\n\n\n\nconst SelectWrapper = styled.div`\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n\n label {\n color: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n input{\n cursor: default;\n }\n`;\ninterface SelectProps {\n name: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n changeModel?: any;\n setOption?: any;\n updateFields?: boolean;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const IDBuzzFakeInput = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const { handlePreviousStep } = useOneFormContext();\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, updateFields, value, changeModel, setOption } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n p{\n background-color: none;\n }\n`;\n\n const CloseDiv = styled.div`\n position: absolute;\n top: var(--size-dynamic0050);\n right: var(--size-dynamic0050);\n cursor: pointer;\n`;\n\n const CTAWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n align-items: center;\n p{\n text-decoration: underline #001E50;\n text-underline-offset: 8px;\n padding-bottom: 8px;\n color: #001E50;\n cursor: pointer;\n :hover{\n background-color: #C2CACF;\n }\n }\n`;\n\n const renderIDBuzzInfo = (state: any, close: CloseHandleV2) => {\n return (\n \n close({}, {}, {})}\n >\n \n \n \n \n \n Este taller ofrece servicios en\n exclusiva para el ID. Buzz\n \n {\n e.preventDefault();\n handlePreviousStep(e);\n close({}, {}, {});\n }}>\n

Haz clic aquí para cambiar de instalación.

\n
\n
\n \n
\n );\n };\n\n const handleIdBuzzInfo = () => {\n layerManager.openFocusLayer(renderIDBuzzInfo, {}, { size: FocusLayerSizeV2.A, userCloseable: true })\n }\n\n useEffect(()=>{\n setSelItem('ID. Buzz')\n changeModel('ID. Buzz')\n setOption('ID. Buzz')\n },[])\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n // función que se llama cuando la componente se desmonta\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [wrapperRef.current]);\n\n useEffect(() => {\n updateFields\n ? dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: keyValuePair ? keyValuePair : value } })\n : undefined;\n }, [keyValuePair, value]);\n\n useEffect(() => {\n if (value) {\n setTimeout(() => {\n setSelItem(value);\n }, 0);\n }\n }, [value]);\n\n return (\n \n \n
{\n handleIdBuzzInfo()\n }}>\n \n
\n
\n \n \n );\n});\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { useState, useEffect } from 'react';\nimport { styled } from '@volkswagen-onehub/components-core';\n\nconst SectionWrapper = styled.div`\n position: relative;\n height: 100%;\n\n @media all and (min-width: 960px) {\n height: max-content;\n min-height: calc(100vh - 164px);\n width: var(--size-grid012);\n display: flex;\n align-items: center;\n margin-top: 0;\n }\n @media all and (min-width: 1600px) {\n min-height: calc(100vh - 180px);\n }\n`;\n\ninterface ImageWrapperProps {\n noMargins?: boolean;\n}\n\nconst ImageWrapper = styled.div`\n img {\n width: var(--size-grid024);\n margin: auto;\n margin-top: ${(props) => props.noMargins ? '-32px' : '0'};\n height: auto;\n @media all and (min-width: 560px) {\n width: var(--size-grid024);\n }\n @media all and (min-width: 960px) {\n margin: auto;\n width: var(--size-grid012);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid011);\n }\n }\n`;\n\ninterface ImageProps {\n image: string;\n modelName: string;\n noMargins?: boolean;\n}\nexport const ImageCarNoColorBG = (props: ImageProps) => {\n const { image, modelName } = props;\n\n return (\n \n \n {modelName}\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchDomain } from 'src/bff';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\nimport { SelectExtended, GeneralInputWidthWrapper } from '.';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { InputError, TextInputExtended } from './inputs';\nimport { store, useIsComerciales } from 'src/feature-app';\nexport interface CountryProps {\n formToken?: string;\n noPaddingTop?: boolean;\n}\n\nexport function Country(props: CountryProps) {\n const { formToken, noPaddingTop } = props;\n const { register, errors } = useFormContext();\n const [errorCountry, setErrorCountry] = useState(false);\n const { formData, formInfo, domainsInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { error } = useOneFormContext();\n const [list, setList] = useState(null);\n const dispatch = useDispatch();\n const [country, setCountry] = useState(null);\n const defaultCountryCode = 'ES';\n const defaultCountryName = 'España';\n\n const formatCountryExtendedList = (name: string, code: string): SelectExtendedList => {\n return {\n code,\n name,\n key: code,\n };\n };\n\n const isComerciales = useIsComerciales() ? 'true' : 'false';\n const domain = 'COUNTRY';\n const token = formToken ? formToken : isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM';\n\n const requestContries = async () => {\n const response = await fetchDomain(token, domain);\n const options = response.content\n .filter(att => att.attributes.find(attr => attr.name == 'IS_LCV')?.value == isComerciales)\n .map((att) => {\n let code = att.attributes.find(attr => attr.name == 'CODIGO')?.value;\n let name = att.attributes.find(attr => attr.name == 'PAIS_CASTELLANO')?.value;\n return formatCountryExtendedList(name, code);\n });\n setList(options);\n\tsetFirstSelected();\n\tdispatch({ type: 'ADD_DOMAIN', payload: { [token]: { [domain]: options } } });\n };\n\n useEffect(() => {\n\tif(domainsInfo[token] && domainsInfo[token][domain]) {\n\t\tsetList(domainsInfo[token][domain]);\n\t\tsetFirstSelected();\n\t}\n\telse {\n\t\trequestContries();\n\t}\n }, []);\n\n const setFirstSelected = () => {\n\tif(fields.countryCode && fields.countryName) {\n\t\tupdateCountryValues(fields.countryCode, fields.countryName);\n\t}\n\telse if(defaultCountryCode && defaultCountryName) {\n\t\tupdateCountryValues(defaultCountryCode, defaultCountryName);\n\t}\n };\n\n useEffect(() => {\n if (error) {\n !country ? setErrorCountry(true) : setErrorCountry(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (errors.country) {\n setErrorCountry(true);\n } else {\n setErrorCountry(false);\n }\n }, [errors]);\n\n function handleChangeCountry(event: any) {\n const newCountryValue = event.currentTarget.value;\n\n const newCountry = list.find((country) => country.name === newCountryValue);\n if (newCountry) {\n updateCountryValues(newCountry.code, newCountry.name);\n }\n else if (newCountryValue !== '') {\n setErrorCountry(false);\n }\n }\n\n const updateCountryValues = (countryCode: string, countryName: string) => {\n\tsetCountry(countryName);\n dispatch({ type: 'UPDATE_FIELDS', payload: { countryCode, countryName } });\n\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { country : countryName } });\n };\n\n return (\n \n {list ? (\n <>\n { }}\n updateFields\n setOption={setCountry}\n isRequired={true}\n />\n \n ) : (\n \n )}\n {errorCountry ? Este campo es obligatorio : null}\n {}\n \n );\n}\n","import { CTA } from '@volkswagen-onehub/components-core';\nimport { CTAButtonProps } from '@volkswagen-onehub/components-core/dist/call-to-action';\nimport React, { useEffect, useState } from 'react';\nimport { Controller, useFormContext } from 'react-hook-form';\nimport { useSelector } from 'react-redux';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { OneFormState } from 'src/types';\n\ndeclare type Emphasis = 'primary' | 'secondary' | 'tertiary';\ndeclare type Size = 'small' | 'large';\n\ninterface InputButtonProps extends CTAButtonProps {\n innerRef?: any;\n name: string;\n key: string | number;\n label: string;\n selectedValue?: string;\n size?: Size;\n ignoreHandleClick?: boolean;\n disabled?: boolean;\n}\n\nexport function InputButton(props: InputButtonProps) {\n const trackingManager = useTrackingManager();\n\n const { innerRef, title, key, selectedValue, label, name, onClick, size, ignoreHandleClick, disabled } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n\n const { control, register, setValue } = useFormContext();\n const [apparence, setApparence] = useState('secondary');\n\n const handleClick = () => {\n apparence === 'secondary' ? setApparence('primary') : setApparence('secondary');\n setValue(name, label);\n };\n\n useEffect(() => {\n selectedValue === label ? setApparence('primary') : setApparence('secondary');\n const value = formData.fields[name];\n if (value && value === label) {\n setApparence('primary');\n }\n }, [selectedValue]);\n\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: label,\n });\n // if (onClick) onClick(e);\n // else handleClick();\n if (!ignoreHandleClick) {\n handleClick();\n }\n if (onClick) {\n onClick(e);\n }\n }}\n size={size ? size : 'large'}\n disabled={disabled}\n >\n {label}\n \n }\n key={key}\n name={name}\n control={control}\n />\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useStore, useSelector, useDispatch } from 'react-redux';\nimport { InputButton } from '.';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\n\ntype CTAWrapperProps = {\n ctaWidth?: string;\n color?: string;\n marginTop?: string;\n wrapperWidth?: string;\n marginRight?: string;\n};\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: ${(props) => props.marginTop ? props.marginTop : '32px'};\n max-width: ${(props) => props.wrapperWidth ? props.wrapperWidth : null};\n\n @media all and (max-height: 624px) {\n margin-top: ${(props) => props.marginTop ? props.marginTop : '24px'};\n }\n \n & > button {\n margin: 12px;\n ${(props) => props.marginRight ?\n `&:first-of-type {margin-right: ${props.marginRight}px}` : null};\n width: ${(props) => props.ctaWidth ? `${props.ctaWidth}px` : 'auto'};\n color: ${(props) => props.color ? props.color : null};\n border-color: ${(props) => props.color ? props.color : null};\n }\n & > button:focus:not(:disabled):not(:focus-visible) {\n background: inherit !important;\n color: inherit !important;\n }\n`;\n\nexport interface CTAValues {\n value?: string | boolean;\n label: string;\n}\n\ninterface MultipleCTASelectionProps {\n ctaValues: CTAValues[];\n name: string;\n reset?: boolean;\n nextOnClick?: boolean;\n ctaWidth?: string;\n preSelectedValue?: string;\n color?: string;\n marginTop?: string;\n wrapperWidth?: string;\n marginRight?: string;\n exclusiveCTA?: boolean;\n exclusiveCTAValues?: CTAValues[];\n}\n\nexport function MultipleCTASelection(props: MultipleCTASelectionProps) {\n const store = useStore();\n const dispatch = useDispatch();\n const {\n ctaValues,\n name,\n reset,\n nextOnClick,\n ctaWidth,\n preSelectedValue,\n color,\n marginTop,\n wrapperWidth,\n marginRight,\n exclusiveCTA,\n exclusiveCTAValues\n } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n\n const { register, errors, control, setValue } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [selectedValue, setSelectedValue] = useState(null);\n\n useEffect(() => {\n const value = preSelectedValue || formData.fields[name];\n if(reset) {\n\t\tsetSelectedValue(null);\n\t\tsetValue(name, null);\n\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n else if (value) {\n const selectedCtaValue = ctaValues.find((cta) => cta.value === value);\n if (selectedCtaValue) {\n setSelectedValue(selectedCtaValue.label);\n setValue(name, selectedCtaValue.value);\n } else {\n setSelectedValue(value);\n setValue(name, value);\n }\n }\n }, [preSelectedValue, reset]);\n\n return (\n \n {ctaValues.map((cta: CTAValues, index: number) => (\n {\n if (cta.label !== selectedValue) {\n setSelectedValue(cta.label);\n setValue(name, cta.value !== null ? cta.value : cta.label);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: cta.label } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: cta.value !== null ? cta.value : cta.label } });\n\n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n ))}\n {\n exclusiveCTA ? (\n <>\n {\n exclusiveCTAValues.map((cta: CTAValues, index: number) => (\n {\n if (cta.label !== selectedValue) {\n setSelectedValue(cta.label);\n setValue(name, cta.value !== null ? cta.value : cta.label);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: cta.label } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: cta.value !== null ? cta.value : cta.label } });\n \n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n ))\n } \n \n ) : null\n }\n \n \n );\n}\n","import React, { useState } from 'react';\nimport { RadioButton, Richtext, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Info } from 'src/icons-core-imports';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { Option, OneFormState } from 'src/types';\n\nconst LabelInfoWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: space-between;\n`;\n\nconst InfoWrapper = styled.div`\n\tmargin-left: 16px;\n\tcursor: pointer;\n\tsvg {\n\t\tfill: #001e50;\n\t}\n`;\n\ninterface props {\n\tname: string;\n\toptions: Array\n );\n } else {\n return (\n {\n setItem(option.name, index);\n setKeyValuePair(option.code);\n }}\n key={index}\n className={selItem == option.name ? 'selected' : 'option'}\n >\n {selItem == option.name ? : null}\n

{option.name}

\n \n );\n }\n })}\n \n \n \n );\n});\n","import {\n Text,\n styled,\n Container,\n ContainerPadding,\n Breakpoints,\n BreakpointWrapper,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { RatingStarWrapper } from '../styleComponents/RatingStarWrapper';\nimport React, { useEffect, useState } from 'react';\nimport { StarFilled, StarOutline } from 'src/icons-core-imports';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { OneFormState } from 'src/types';\nimport { InputButton } from 'src/components';\n\nconst StarText = styled.div`\n display: flex;\n justify-content: center;\n div{\n position: absolute;\n }\n`;\n\nconst TextMini = styled.div`\n color: #000000;\n font-size: 3vw;\n margin-top: 2px;\n @media all and (min-width: 400px){\n font-size: 12px;\n margin-top: 0;\n }\n`;\n\ninterface RatingStarsProps {\n name?: string;\n nextOnClick?: boolean;\n preSelectedRate?: number;\n stars?: number;\n noRequired?: boolean;\n isPrevStep?: boolean;\n textBad?: string;\n textGood?: string;\n textUnderStars?: boolean;\n starsText?: string[];\n CTASinRespuesta?: boolean;\n}\n\nexport const valuesSinRespuesta = () => {\n return {\n valueSinRespuesta: -1,\n labelSinRespuesta: 'Sin respuesta'\n };\n};\n\nexport const RatingStars = (props: RatingStarsProps) => {\n const {\n name,\n nextOnClick,\n stars,\n noRequired,\n isPrevStep,\n preSelectedRate,\n textBad,\n textGood,\n textUnderStars,\n starsText,\n CTASinRespuesta\n } = props;\n const { handleNextStep } = useOneFormContext();\n const { register, setValue } = useFormContext();\n const [ rateValue, setRateValue ] = useState(preSelectedRate ? preSelectedRate : null);\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n \n const numberOfStars = stars ? stars : 5;\n const { valueSinRespuesta, labelSinRespuesta } = valuesSinRespuesta();\n\n const handleField = () => {\n // Hack para solucionar el problema que se da en el caso de elegir Sin respuesta y volver hacia atrás.\n if (formData.fields[name]) {\n if (formData.fields[name] == valueSinRespuesta) {\n setTimeout(() => {\n setValue(name, labelSinRespuesta);\n }, 100);\n setRateValue(valueSinRespuesta);\n } else {\n setRateValue(Number(formData.fields[name]));\n }\n }\n };\n\n useEffect(() => {\n handleField();\n }, []);\n\n const handleClick = (rateValue: number, e: any) => {\n setRateValue(rateValue);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: rateValue } });\n\n if (nextOnClick) {\n setTimeout(() => {\n handleNextStep(e);\n }, 0);\n }\n };\n\n const renderStarsText = (starsText, index: number) => {\n if (starsText[index] === undefined) {\n return
\n }\n else return (\n \n \n {starsText[index]}\n \n \n {starsText[index]}\n \n \n );\n };\n\n const renderStars = (rateValue: number) => {\n const stars = [];\n for (let i = 0; i < numberOfStars; i++) {\n stars.push(\n i ? 'filled' : 'outline' }\n key={i}\n onClick={(e: any) => {\n e.preventDefault();\n if (isPrevStep) {\n return;\n } else {\n handleClick(i + 1, e);\n }\n }}\n isPrevStep={isPrevStep}\n textUnderStars={textUnderStars}\n >\n { rateValue > i ? : }\n {textUnderStars &&\n (\n renderStarsText(starsText, i)\n )\n }\n \n );\n }\n\n return stars;\n };\n\n return (\n
\n {isPrevStep || textUnderStars ? null : (\n \n \n Valora del 1 al 5, siendo 1 {textBad} y 5 totalmente{' '}\n \n {textGood}\n *.\n \n \n \n )}\n
\n { renderStars(rateValue) }\n
\n {isPrevStep ? null : (\n \n )}\n {CTASinRespuesta ? (\n
\n {\n if (isPrevStep) {\n return;\n } else {\n handleClick(valueSinRespuesta, e);\n }\n }}\n />\n
\n ) : null}\n
\n );\n};\n","import React from 'react';\nimport { styled, Text, TextAlignment, TokenTextAppearance } from '@volkswagen-onehub/components-core';\n\nconst CustomInputRange = styled.input<{ numberOfSteps: number }>`\n width: 100%;\n height: 24px;\n background: transparent;\n font-size: 1em;\n cursor: pointer;\n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track,\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n }\n &::-webkit-slider-runnable-track {\n position: relative;\n width: 100%;\n height: 1px;\n background: #00b0f0;\n }\n &::-moz-range-track {\n width: 100%;\n height: 1px;\n background: #00b0f0;\n }\n &::-ms-track {\n border: none;\n width: 100%;\n height: 1px;\n background: #00b0f0;\n color: transparent;\n }\n &::-ms-fill-lower {\n display: none;\n }\n &::-webkit-slider-thumb {\n margin-top: -4px;\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-moz-range-thumb {\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-ms-thumb {\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-webkit-slider-runnable-track:before,\n &::-webkit-slider-runnable-track:after,\n & /deep/ #track:before,\n &/deep/ #track:after {\n position: absolute;\n bottom: 100%;\n color: #2c2c2b;\n font: 700 0.875em / 2 arial, sans-serif;\n background: #ffffff;\n }\n &::-webkit-slider-runnable-track:before,\n & /deep/ #track:before {\n left: 0.8125em;\n word-spacing: 1.4375em;\n content: '1 2 3 4 5 6 7 8 9';\n }\n &::-webkit-slider-runnable-track:after,\n & /deep/ #track:after {\n right: 0.625em;\n word-spacing: 0.875em;\n content: '10 11 12 13 14 15 16';\n }\n &:focus {\n outline: none;\n }\n`;\nconst Mark = styled.div`\n height: 9px;\n width: 1px;\n background-color: #ffffff;\n`;\nconst MarksPosition = styled.div`\n display: flex;\n display: -webkit-flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -16.5px;\n z-index: 3;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SliderPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SlideLabelsPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SliderAndMarksPosition = styled.div`\n width: 96%;\n padding-right: 20px;\n @media all and (min-width: 960px) {\n width: 97%;\n }\n`;\ninterface CustomSliderProps {\n handleInputChange: any;\n value: number;\n formatNumber?: (num: number | number[]) => string;\n maxValue: number;\n numberOfSteps: number;\n}\n\nexport const CustomSlider = ({\n value,\n handleInputChange,\n numberOfSteps,\n formatNumber,\n maxValue,\n}: CustomSliderProps) => {\n const sliderMarks = [];\n\n for (let i = 0; i < numberOfSteps + 1; i++) {\n sliderMarks.push();\n }\n\n document.documentElement.classList.add('js');\n\n return (\n <>\n \n {sliderMarks ? sliderMarks : null}\n \n handleInputChange(e)}\n value={value}\n />\n \n \n \n \n 0km\n \n \n {'+'}\n {formatNumber(maxValue)}km\n \n \n \n );\n};\n","import React,{ useState } from 'react';\nimport { Switch } from '@volkswagen-onehub/components-core';\ninterface CustomSwitch {\n setSelected?: any;\n isSelected?: boolean;\n toggle?: any;\n}\n\nexport const CustomSwitch = (props: CustomSwitch) => { \n const { setSelected, isSelected } = props;\n const [toggle, setToggle] = useState(false);\n\n return (\n {\n setToggle(!toggle);\n setSelected(!isSelected);\n }}/>\n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { InputError, TextInputExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\nimport { SelectExtended } from '../SelectExtended';\n\nconst arrCountries = [\n\t{\n\t\tname: 'ES',\n\t\tcode: 'ES',\n\t\tregex: [/\\d{4}[b-df-hj-npr-tv-zB-DF-HJ-NPR-TV-Z]{3}/, /[A-Za-z]{1,2}\\d{4}[A-Za-z]{1,2}/],\n\t\terrorMessage: 'Ejemplo: 0000BCD o AA0000AA',\n\t},\n\t{\n\t\tname: 'DE',\n\t\tcode: 'DE',\n\t\tregex: [/[a-zA-Z]{2,5}\\d{1,4}/],\n\t\terrorMessage: 'Ejemplo: AAABB0000',\n\t},\n\t{\n\t\tname: 'FR',\n\t\tcode: 'FR',\n\t\tregex: [/[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}\\d{3}[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}/, /\\d{2,4}[a-zA-Z]{2,3}\\d{2,3}/, /\\d{2,4}[a-zA-Z]{2,3}\\d{1}(a|b|A|B)/],\n\t\terrorMessage: 'Ejemplo: AA000AA o 00000AA00',\n\t},\n\t{\n\t\tname: 'GB',\n\t\tcode: 'GB',\n\t\tregex: [/[a-zA-Z]{1,2}\\d{2}[a-zA-Z]{3}/, /[a-zA-Z]{1}\\d{3}[a-zA-Z]{3}/],\n\t\terrorMessage: 'Ejemplo: AA00AAA',\n\t},\n\t{\n\t\tname: 'IT',\n\t\tcode: 'IT',\n\t\tregex: [/[a-zA-Z]{2}\\d{3}[a-zA-Z]{2}/],\n\t\terrorMessage: 'Ejemplo: AA000AA',\n\t},\n\t{\n\t\tname: 'PT',\n\t\tcode: 'PT',\n\t\tregex: [/[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}/, /\\d{2}[a-zA-Z]{2}\\d{2}/],\n\t\terrorMessage: 'Ejemplo: AA00AA',\n\t},\n\t{\n\t\tname: 'Otros',\n\t\tcode: 'Otros',\n\t\tregex: [/[a-zA-Z\\d\\s]{3,}/],\n\t\terrorMessage: 'Solo números, letras y espacios',\n\t},\n];\n\nconst ContentWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: left;\n\tpadding-top: 32px;\n`;\nconst MatriculaWrapper = styled.div`\n\tlabel {\n\t\twidth: 100%;\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: 170px;\n\t\t}\n\t}\n`;\nconst CountryWrapper = styled.div`\n\tmargin-right: 24px;\n\tlabel {\n\t\twidth: 109px;\n\t\t@media screen and (min-width: 560px) {\n\t\t\twidth: 116px;\n\t\t}\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: 120px;\n\t\t}\n\t}\n`;\nconst InputErrorWrapper = styled.div`\n\t&.matricula-error-wrapper {\n\t\tp {\n\t\t\tmax-width: 179px;\n\t\t\t@media all and (min-width: 560px) {\n\t\t\t\tmax-width: 163px;\n\t\t\t}\n\t\t\t@media all and (min-width: 960px) {\n\t\t\t\tmax-width: 176px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport function Matricula() {\n\tconst { register, errors } = useFormContext();\n\tconst dispatch = useDispatch();\n\tconst { error, setError } = useOneFormContext();\n\tconst [inputValueMatricula, setInputValueMatricula] = useState('');\n\tconst [errorMatricula, setErrorMatricula] = useState(false);\n\tconst [errorCountry, setErrorCountry] = useState(false);\n\tconst [country, setCountry] = useState('ES');\n\tconst [countryObject, setCountryObject] = useState(null);\n\tconst [regExCounty, setRegExCounty] = useState(null);\n\n\tconst { formInfo, formData } = useSelector((state: OneFormState) => state);\n\n\tuseEffect(() => {\n\t\tif (formData.fields.countryPlate) {\n\t\t\tsetCountry(formData.fields.countryPlate);\n\t\t\tconst countryObject = arrCountries.find((c) => c.name === formData.fields.countryPlate);\n\t\t\tsetCountryObject(countryObject);\n\t\t\tsetRegExCounty(countryObject.regex);\n\t\t} else {\n\t\t\tsetCountry('ES');\n\t\t\tsetCountryObject(arrCountries[0]);\n\t\t\tsetRegExCounty(arrCountries[0].regex);\n\t\t}\n\t\tif (formData.fields.matricula) {\n\t\t\tsetInputValueMatricula(formData.fields.matricula);\n\t\t}\n\t}, []);\n\n\tconst validateMatricula = (input: string) => {\n\t\tconst isValid = regExCounty.some((regEx) => regEx.test(input));\n\n\t\tif (isValid) {\n\t\t\tsetErrorMatricula(false);\n\t\t\treturn true;\n\t\t} else {\n\t\t\tsetErrorMatricula(true);\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tconst handleChangeCountry = (event: any) => {\n\t\tsetCountry(event.currentTarget.value);\n\t\tconst countryObject = arrCountries.find((c) => c.name === event.currentTarget.value);\n\t\tsetCountryObject(countryObject);\n\t\tsetRegExCounty(countryObject.regex);\n\t\tif (countryObject.name !== '') setErrorCountry(false);\n\t\telse dispatch({ type: 'UPDATE_FIELDS', payload: { ['countryPlate']: countryObject.name } });\n\t};\n\n\tconst handleChangeMatricula = (e: any) => {\n\t\tsetInputValueMatricula(e.target.value);\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { ['matricula']: e.target.value } });\n\t};\n\n\tuseEffect(() => {\n\t\tif (!errorMatricula && !errorMatricula) setError(false);\n\t}, [errorMatricula, errorMatricula]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t null} updateFields setOption={setCountry} isRequired={true} />\n\t\t\t\n\t\t\t\n\t\t\t\t validateMatricula(input),\n\t\t\t\t\t\trequired: {\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tmessage: 'Requerido',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmaxLength: 100,\n\t\t\t\t\t})}\n\t\t\t\t\tisFloating\n\t\t\t\t\tonChange={(e) => handleChangeMatricula(e)}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t{errorMatricula && (\n\t\t\t\t\t\n\t\t\t\t\t\t{countryObject.errorMessage}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { TextInputExtended } from 'src/components';\nimport { GeneralInputWidthWrapper } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\n\ninterface dniNifProps {\n\tname?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tpaddingTop?: string;\n\tcheckLetter?: boolean;\n\tcheckLength?: boolean;\n}\n\nexport function DniNif(props: dniNifProps) {\n\tconst { name, label, required, disabled, paddingTop, checkLetter, checkLength } = props;\n\n\tconst { register } = useFormContext();\n\tconst dispatch = useDispatch();\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [dniNifError, setDniNifError] = useState(false);\n\tconst { error, setError } = useOneFormContext();\n\tconst regExp = /^[0-9]{8}[A-z]$/;\n\n\tconst checkIt = (value: string) => value?.length == 9;\n\tconst checkValidValue = (value: string) => regExp.test(value);\n\tconst checkValidLetter = (value: string) => {\n\t\tif (!checkLetter) return true;\n\t\tconst letras = 'TRWAGMYFPDXBNJZSQVHLCKE';\n\t\tconst regex = /^(\\d{8})([A-Z])$/i;\n\n\t\tconst match = value.match(regex);\n\t\tif (!match) return false;\n\n\t\tconst numero = parseInt(match[1], 10);\n\t\tconst letraCalculada = letras[numero % 23];\n\t\tconst letraIngresada = match[2].toUpperCase();\n\n\t\treturn letraCalculada === letraIngresada;\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value.toUpperCase();\n\t\tsetInputValue(value);\n\t\tif (checkIt(value)) {\n\t\t\tif (checkValidValue(value) && checkValidLetter(value)) {\n\t\t\t\tsetDniNifError(false);\n\t\t\t\tsetError(false);\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name ? name : 'dniNif']: value } });\n\t\t\t} else {\n\t\t\t\tsetDniNifError(true);\n\t\t\t\t//setError(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDniNifError(false);\n\t\t\tsetError(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={checkLength ? 9 : null}\n\t\t\t/>\n\t\t\t{dniNifError || (error && Ejemplo: 66666666Q)}\n\t\t\n\t);\n}\n","import dayjs, { Dayjs } from 'dayjs';\nimport React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError, GeneralInputWidthWrapper } from 'src/components';\nimport { TextInputExtended } from './TextInputExtended';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport styled from 'styled-components';\n\nconst Wrapper = styled.div`\n\tinput[type=\"date\"] {\n\t\tappearance: none; /* Oculta el icono en algunos navegadores */\n\t\t-webkit-appearance: none;\n\t\t-moz-appearance: none;\n\t}\n\tinput[type=\"date\"]::-webkit-calendar-picker-indicator {\n\t\tdisplay: none; /* Para Chrome, Safari, Edge */\n\t}\n\n\tinput[type=\"date\"]::-moz-calendar-picker-indicator {\n\t\tdisplay: none; /* Para Firefox */\n\t}\n\tinput[type=\"date\"]::-webkit-calendar-picker-indicator {\n \t\topacity: 0;\n \t\tpointer-events: none;\n\t}\n`;\ninterface DateProps {\n\tname?: string;\n\tvalue?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tminDate?: Dayjs;\n\tmaxDate?: Dayjs;\n\tpaddingTop?: string;\n}\n\nexport function Date(props: DateProps) {\n\tconst { register, errors } = useFormContext();\n\tconst { name, label, required, value, minDate, maxDate, paddingTop } = props;\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [inputValue, setInputValue] = useState(value || '');\n\tconst [inputError, setInputError] = useState(false);\n\tconst { error, setError } = useOneFormContext();\n\tconst dispatch = useDispatch();\n\tconst today = dayjs();\n\n\tconst defaultMax = today.subtract(18, 'year');\n\tconst defaultMin = today.subtract(100, 'year');\n\t\n\tconst theMaxDate = maxDate && dayjs(maxDate).isValid() ? maxDate : defaultMax;\n\tconst theMinDate = minDate && dayjs(minDate).isValid() ? minDate : defaultMin;\n\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\t\t\n\t\tif (!isValidDate(value)) {\n\t\t\tsetInputError(true);\n\t\t\tsetError(true);\n\t\t}\n\t\telse {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t\t//dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: dayjs(value, 'YYYY-MM-DD').format('DD-MM-YYYY') } });\n\t\t\tsetInputValue(value);\n\t\t\tsetInputError(false);\n\t\t\tsetError(false);\n\t\t}\n\t\t\n\t};\n\n\tconst isValidDate = (value) => {\n\t\tif (!value) {\n\t\t\treturn false;\n\t\t}\n\t\telse if (theMinDate > dayjs(value) || theMaxDate < dayjs(value)) {\n\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t isValidDate(value),\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tonChange={(e) => handleChange(e)}\n\t\t\t\t\trequired={required}\n\t\t\t\t/>\n\t\t\t\t{inputError && Esta fecha no es válida}\n\t\t\t\n\t\t\n\t);\n}\n","import * as React from 'react';\nexport var Add = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M11 5.3H6.7V1H5.3v4.3H1v1.4h4.3V11h1.4V6.7H11z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M42.02 23H25V5.98h-2V23H5.98v2H23v17.02h2V25h17.02z\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M21 11.3h-8.3V3h-1.4v8.3H3v1.4h8.3V21h1.4v-8.3H21z\" }));\n }\n return null;\n}, { displayName: 'Add' }));\n","import * as React from 'react';\nexport var Checkmark = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M11.506 3.05 5.277 9.57a1.165 1.165 0 0 1-1.676.01L.528 6.43l.952-.929 2.954 3.027 6.11-6.396z\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M21.453 6.486 10.637 17.938c-.54.571-1.449.57-1.987-.002l-5.138-5.462.968-.911 5.139 5.462a.035.035 0 0 0 .05 0L20.487 5.572l.967.913Z\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'Checkmark' }));\n","import * as React from 'react';\nimport { Add, Checkmark } from '@volkswagen-onehub/icons-core';\nimport { styled } from '../theme-provider';\nconst StyledAddIcon = styled(Add).withConfig({ displayName: \"StyledAddIcon\", componentId: \"sc-9ijgpp\" }) `transition:transform 300ms ease;transform:${({ active, iconPosition }) => active && iconPosition === 'end' ? 'rotate(45deg)' : 'rotate(0)'};`;\nexport const Icon = ({ active, iconPosition, }) => {\n if (iconPosition === 'start' && !active)\n return React.createElement(Add, { variant: \"small\", ariaHidden: true });\n if (iconPosition === 'end')\n return (React.createElement(StyledAddIcon, { variant: \"small\", iconPosition: iconPosition, active: active, ariaHidden: true }));\n return React.createElement(Checkmark, { variant: \"small\", ariaHidden: true });\n};\n","import * as React from 'react';\nimport { css, styled } from '../theme-provider';\nimport { Icon } from './icon';\nimport { Text, TextTag, TokenTextAppearance, TokenTextColor, WhiteSpace, } from '../text';\nimport { createA11yOutlineStyles } from '../helpers/a11y';\n//this object contains each variant's custom style\nconst styles = {\n primary: {\n selected: css `background:${({ theme }) => theme.colors.filter.on.default};color:${({ theme }) => theme.colors.content.inverted};&:hover:not(:disabled){background:${({ theme }) => theme.colors.filter.on.hover};}&:disabled{color:${({ theme }) => theme.colors.content.inverted};background:${({ theme }) => theme.colors.filter.on.disabled};}`,\n notSelected: css `color:${({ theme }) => theme.colors.content.active};background:${({ theme }) => theme.colors.filter.off.default};&:hover:not(:disabled){background:${({ theme }) => theme.colors.filter.off.hover};}&:disabled{color:${({ theme }) => theme.colors.content.secondary};background:${({ theme }) => theme.colors.filter.off.disabled};}`,\n },\n secondary: {\n selected: css `background:${({ theme }) => theme.colors.content.inverted};color:${({ theme }) => theme.colors.filter.on.default};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.filter.on.default};&:hover:not(:disabled){color:${({ theme }) => theme.colors.filter.on.hover};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.filter.on.hover};}&:disabled{color:${({ theme }) => theme.colors.content.secondary};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.border.divider};}`,\n notSelected: css `color:${({ theme }) => theme.colors.content.active};background:${({ theme }) => theme.colors.content.inverted};border:${({ theme }) => theme.size.border.light} solid ${({ theme }) => theme.colors.border.default};&:hover:not(:disabled){box-shadow:inset 0 0 0 ${({ theme }) => theme.size.line.default} ${({ theme }) => theme.colors.filter.off.hover};}&:not(:hover){transition:box-shadow ${({ theme }) => theme.animation.duration.layer} ease;-webkit-transition:box-shadow ${({ theme }) => theme.animation.duration.layer} ease;}&:disabled{color:${({ theme }) => theme.colors.content.secondary};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.border.divider};}`,\n },\n};\nconst outLineStyleFocus = css `&:focus-visible{${({ theme }) => createA11yOutlineStyles(theme, 'solid')};}&:focus:not(:focus-visible){outline:none;outline-offset:0;}`;\nconst StyledFilterTag = styled.button.withConfig({ displayName: \"StyledFilterTag\", componentId: \"sc-1tm4pjq\" }) `display:flex;align-items:center;flex-direction:${({ iconPosition }) => iconPosition === 'end' && 'row-reverse'};gap:${({ theme }) => theme.size.static150};justify-content:center;align-items:center;height:${({ theme }) => theme.size.static400};border-radius:${({ theme }) => theme.size.static150};border:none;cursor:pointer;padding:${({ theme }) => theme.size.static150} ${({ theme }) => theme.size.static200};&&&:disabled{cursor:not-allowed;}span{margin-top:${({ theme }) => theme.size.static0};::first-letter{text-transform:uppercase;}}${outLineStyleFocus} transition:background ${({ theme }) => theme.animation.duration.color} ease,color ${({ theme }) => theme.animation.duration.color} ease;${({ emphasis, active }) => \n// TS ignores default values for optional props, for this reason we need to whit for the props to be defined before using it as an index\nemphasis && styles[emphasis][active ? 'selected' : 'notSelected']};`;\nexport const FilterTag = ({ iconPosition = 'start', emphasis = 'primary', disabled = false, disabledReason, active = false, onClick, text, ariaPressed, 'data-testid': dataTestId = 'filterTag', uniqueAriaId, ariaLabel, }) => {\n const handleClick = (evt) => {\n onClick && onClick(evt);\n };\n return (React.createElement(StyledFilterTag, { \"aria-label\": ariaLabel, \"aria-pressed\": ariaPressed, active: active, onClick: handleClick, emphasis: emphasis, iconPosition: iconPosition, disabled: disabled, \"aria-describedby\": disabled ? uniqueAriaId : '', \"data-testid\": dataTestId },\n disabled && disabledReason && (React.createElement(\"span\", { id: uniqueAriaId, hidden: true }, disabledReason)),\n React.createElement(Icon, { iconPosition: iconPosition, active: active }),\n React.createElement(Text, { tag: TextTag.span, appearance: TokenTextAppearance.label150, color: TokenTextColor.inherit, whiteSpace: WhiteSpace.nowrap }, text)));\n};\nFilterTag.displayName = 'FilterTag';\n","import * as React from 'react';\nexport var Upload = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M19.67 18.35V21H4.33v-2.65H3v2.82a1.16 1.16 0 0 0 1.17 1.16h15.66A1.16 1.16 0 0 0 21 21.17v-2.82z\" }),\n React.createElement(\"path\", { d: \"M12 2.33c.41 0 .49 0 4.47 4.21l-1 .92c-.73-.77-2-2.09-2.85-3V19h-1.28V4.48c-.76.77-1.85 1.92-2.86 3l-1-.92c4.04-4.23 4.09-4.23 4.52-4.23z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M10.49 9.15v1.52h-9V9.15H.18V11a1 1 0 0 0 1 1h9.68a1 1 0 0 0 1-1V9.15zM6 0c.37 0 .41 0 3 2.68L8 3.6 6.67 2.21v6.73H5.34V2.21L4 3.6l-1-.92C5.59 0 5.62 0 6 0z\" }));\n }\n return null;\n}, { displayName: 'Upload' }));\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { Container, ContainerPadding, CTA, Text, TokenTextAppearance, FilterTag, ContainerGutter } from '@volkswagen-onehub/components-core';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { Upload } from '@volkswagen-onehub/icons-core';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\ninterface FileProps {\n\tname?: string;\n\tlabel?: string;\n\tCTALabel?: string;\n\trequired?: boolean;\n\tallowedTypes?: any[];\n\tmaxMbSize?: number;\n\tmaxFiles?: number;\n\tnoPadding?: boolean;\n}\n\nexport function InputFile(props: FileProps) {\n\tconst { register, errors } = useFormContext();\n\tconst fileInputRef = useRef(null);\n\tconst { name, label, required, CTALabel, maxMbSize, allowedTypes, maxFiles, noPadding } = props;\n\tconst [inputFiles, setInputFiles] = useState([]);\n\tconst [fileError, setFileError] = useState(false);\n\tconst [maxFilesError, setMaxFilesError] = useState(false);\n\tconst [maxSizeError, setMaxSizeError] = useState(false);\n\tconst { error, setError } = useOneFormContext();\n\tconst dispatch = useDispatch();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;\n\n\tconst handleChange = (e: any) => {\n\t\tconst file = e.target.files?.[0];\n\n\t\tif (!file || !isValidFile(file)) {\n\t\t\tsetFileError(true);\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tconst maxFilesAllowed = maxFiles || 1;\n\t\t\tconst updatedFiles = fields[name] ? [...fields[name], file] : [file];\n\t\t\tif (updatedFiles.length > maxFilesAllowed) {\n\t\t\t\tsetMaxFilesError(true);\n\t\t\t} else if (maxMbSize && updatedFiles.reduce((acc, file) => acc + file.size, 0) > maxMbSize * 1024 * 1024) {\n\t\t\t\tsetMaxSizeError(true);\n\t\t\t} else {\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: updatedFiles } });\n\t\t\t\tsetInputFiles([...inputFiles, file.name]);\n\t\t\t\tsetFileError(false);\n\t\t\t\tsetMaxFilesError(false);\n\t\t\t\tsetError(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst isValidFile = (file: File) => {\n\t\tconst validType = allowedTypes ? allowedTypes.includes(file.type) : true;\n\t\tconst validSize = maxMbSize ? maxMbSize * 1024 * 1024 > file.size : true;\n\n\t\treturn validType && validSize;\n\t};\n\n\tconst getLiteralTypes = () => {\n\t\treturn allowedTypes ? allowedTypes.map((mime) => mime.split('/').pop().toUpperCase()).join(', ') : '';\n\t};\n\n\tconst getUsedSize = (): number => {\n\t\tconst files = fields[name];\n\t\tif (files) {\n\t\t\tconst totalSize = files.reduce((acc: number, file: File) => acc + file.size, 0);\n\t\t\treturn parseFloat((totalSize / (1024 * 1024)).toFixed(2));\n\t\t}\n\t\treturn 0;\n\t};\n\n\tconst removeFile = (fileName: string) => {\n\t\tconst updatedFiles = fields[name].filter((file: File) => file.name !== fileName);\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: updatedFiles } });\n\t\tsetInputFiles(updatedFiles.map((file: File) => file.name));\n\t};\n\t\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{label ? (\n\t\t\t\t\n\t\t\t\t\t{label} {required ? '' : '(opcional)'}\n\t\t\t\t\n\t\t\t) : null}\n\n\t\t\t\n\t\t\t\t { e.preventDefault(); fileInputRef.current?.click(); }} tag=\"button\" emphasis=\"primary\" size=\"small\" icon={}>\n\t\t\t\t\t{CTALabel ? CTALabel : 'Subir Archivo'}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{maxMbSize ? Tamaño máximo: {maxMbSize}MB {getUsedSize() > 0 ? `(usado ${getUsedSize()}MB )` : ''} : null}\n\t\t\t\t\t{getLiteralTypes() ? Archivo{allowedTypes?.length > 1 ? 's' : ''} soportado{allowedTypes?.length > 1 ? 's' : ''}: {getLiteralTypes()} : null}\n\t\t\t\t\n\t\t\t\n\t\t\t{fileError && Este archivo no es válido.}\n\n\t\t\t\n\t\t\t\t{inputFiles && inputFiles.map((file, index) => (\n\t\t\t\t\t { e.preventDefault(); if (fileInputRef.current) fileInputRef.current.value = ''; removeFile(file); }} />\n\t\t\t\t))}\n\t\t\t\n\t\t\t{maxFilesError && Solo se permiten {maxFiles} archivo{maxFiles ? 's' : ''}.}\n\t\t\t{maxSizeError && Solo se permite enviar {maxMbSize}MB.}\n\t\t
\n\t);\n}\n","import React from 'react';\nimport { CTA } from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nexport const NextStepCTA = () => {\n\tconst { nextStep } = useOneFormContext();\n\tconst trackingManager = useTrackingManager();\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\ttrackingManager.trackFormStepButtonClick({\n\t\t\t\t\t\tcontentId: 'Siguiente',\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tnextStep();\n\t\t\t\t}}\n\t\t\t\tariaLabel=\"aria label\"\n\t\t\t>\n\t\t\t\tEmpezar\n\t\t\t\n\t\t
\n\t);\n};\n","import React, { useEffect, useState } from 'react';\n\nexport function useOnlyLettersControl(pristine: boolean, input: string) {\n const [error, setError] = useState(false);\n // const regExp = /^[ña-zÑA-Z\\s]*$/;\n // const regExp = /^[A-Za-zÁÉÍÓÚáéíóúñÑ]+$/g;\n const regExp = /^[a-zA-ZÀ-ÿ\\u00f1\\u00d1]+(\\s*[a-zA-ZÀ-ÿ\\u00f1\\u00d1]*)*[a-zA-ZÀ-ÿ\\u00f1\\u00d1\\s+]+$/;\n\n useEffect(() => {\n if (input && !pristine && !regExp.test(input)) {\n setError(true);\n } else {\n setError(false);\n }\n }, [input, pristine]);\n\n return { error, regExp };\n}\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\ninterface LayerComponentProps {\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport function AvailabilityErrorLayer(props: LayerComponentProps) {\n return (\n \n \n \n );\n}\n\ninterface SlotHorario {\n from: number;\n to: number;\n}\n\nfunction AvailabilityError(props: LayerComponentProps) {\n const { closeLayerCallback } = props;\n\n return (\n \n
\n \n
\n \n Uy, algo ha pasado\n \n \n \n No hemos podido cargar los datos que nos pides. ¿Lo intentamos de nuevo en un rato?\n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Cerrar\n \n \n \n );\n}\n","export const removeConfigurationHash = () => history.pushState('', document.title, window.location.pathname + window.location.search);\n","import React, { useEffect, useState } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n BreakpointWrapper,\n Breakpoints,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, useFeatureAppConfig, useFeatureAppEnvironment } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { removeConfigurationHash } from 'src/feature-app/remove-configuration-hash';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 28px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\nconst copys = [\n {\n name: 'isCloseLayer',\n pregunta: '¿Seguro que quieres salir?',\n bodyCopy: 'Si lo haces, no se enviará el formulario.',\n },\n {\n name: 'isMotivoLayer',\n pregunta: '¿Seguro que quieres cambiar el motivo de tu visita?',\n bodyCopy: 'Si lo cambias, puede que tengas elegir un taller distinto. ',\n },\n {\n name: 'isTallerLayer',\n pregunta: '¿Seguro que quieres cambiar el taller para tu visita?',\n bodyCopy: 'Si lo cambias, puede que tengas que elegir una hora distinta.',\n },\n {\n name: 'isTimeLayer',\n pregunta: '¿Seguro que quieres cambiar la hora de tu visita?',\n bodyCopy: 'Si la cambias, puede que tengas que elegir un taller distinto.',\n },\n];\n\ninterface AreYouSureProps {\n layerName: string;\n closeLayerCallback?: CloseHandleV2;\n closeOneForm?: CloseHandleV2;\n onClickProp: () => void;\n}\n\nexport const AreYouSureLayer = (props: AreYouSureProps) => {\n const { layerName, closeLayerCallback, closeOneForm, onClickProp } = props;\n const dispatch = useDispatch();\n const [layerInfo, setLayerInfo] = useState(null);\n const trackingManager = useTrackingManager();\n const { screenIndex } = useSelector((state: OneFormState) => state.formInfo);\n const config = useFeatureAppConfig();\n const env = useFeatureAppEnvironment();\n\n useEffect(() => {\n const aux = copys.filter((a) => a.name === layerName);\n setLayerInfo(aux);\n }, []);\n\n return (\n \n {layerInfo ? (\n <>\n \n {layerInfo[0].pregunta}\n \n \n {\n config.trigger === 'cita-posventa-dealer' && layerName !== 'isCloseLayer' ? null : (\n {layerInfo[0].bodyCopy}\n )\n }\n \n {layerName === 'isCloseLayer' ? (\n <>\n \n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n No, quiero seguir\n \n {\n e.preventDefault();\n dispatch({ type: 'RESET_STATE' });\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n stretchContent\n >\n Sí, estoy seguro\n \n \n \n \n \n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n No, quiero seguir\n \n
\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n dispatch({ type: 'RESET_STATE' });\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n >\n Sí, estoy seguro\n \n \n
\n \n ) : (\n <>\n \n \n {\n e.preventDefault();\n onClickProp();\n closeLayerCallback({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n stretchContent\n >\n Sí, estoy seguro\n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n No, quiero seguir en esta página\n \n \n \n \n \n
\n {\n e.preventDefault();\n onClickProp();\n closeLayerCallback({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n }}\n >\n Sí, estoy seguro\n \n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n No, quiero seguir en esta página\n \n \n
\n \n )}\n \n ) : null}\n
\n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useRef, useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\n\ninterface contentProps {\n notALayer?: boolean;\n formHeight?: string;\n}\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002)' : '44px 31px')};\n flex: auto;\n text-align: ${(props) => (props.notALayer ? 'left' : 'center')};\n width: 100%;\n display: ${(props) => (props.notALayer ? 'flex' : null)};\n align-items: ${(props) => (props.notALayer ? 'center' : null)};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 84px)' : '100%')};\n @media all and (min-width: 560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002)' : '52px 46px')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 92px)' : '100%')};\n }\n @media all and (min-width: 960px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid003)' : 'var(--size-grid001)')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 100px)' : '100%')};\n }\n @media all and (min-width: 1280px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid005)' : 'var(--size-grid001)')};\n }\n @media all and (min-width: 1920px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid006)' : 'var(--size-grid001)')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 116px)' : '100%')};\n }\n @media all and (min-width: 2560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid007)' : 'var(--size-grid001)')};\n }\n`;\n\ninterface LayerComponentProps {\n closeLayerCallback?: CloseHandleV2;\n closeOneForm?: CloseHandleV2;\n bodycopy?: string;\n title?: string;\n icon?: boolean;\n onClick?: any;\n ctaLayer?: string;\n notALayer?: boolean;\n notShowCTA?: boolean;\n ctaType?: 'a' | 'button';\n urlHref?: string;\n ctaTextAlign?: 'left' | 'center';\n secondCta?: JSX.Element;\n}\n\n//admite formato, title, bodycopy, si debe mostrar o no el icono de alert\n//así como la siguiente info del CTA: si mostarlo o no, el texto del layer y la funciona de onClick\n\nexport function GenericErrorLayer(props: LayerComponentProps) {\n const {\n closeLayerCallback,\n closeOneForm,\n bodycopy,\n title,\n icon,\n onClick,\n ctaLayer,\n notALayer,\n notShowCTA,\n ctaType,\n urlHref,\n ctaTextAlign,\n secondCta,\n } = props;\n const dispatch = useDispatch();\n\n const handleCloseLayers = () => {\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n dispatch({ type: 'UPDATE_GENERIC_ERROR', payload: false });\n };\n\n //calc height stuff\n const content = useRef(null);\n const viewportHeight = window.innerHeight;\n const [formHeight, setFormHeight] = useState('100%');\n\n useEffect(() => {\n if (!notALayer) {\n return;\n }\n\n if (content.current) {\n const minHeight = viewportHeight - 252;\n const contentHeight = content.current.clientHeight;\n if (minHeight > contentHeight) {\n setFormHeight(`${minHeight}px`);\n } else {\n setFormHeight(`${contentHeight}px`);\n }\n }\n }, []);\n\n return (\n \n \n {icon ? (\n
\n \n
\n ) : null}\n <>\n \n {title ? title : 'Uy, algo ha pasado'}\n \n \n \n \n {bodycopy\n ? bodycopy\n : 'Parece que no podemos seguir con el proceso de cita en este momento. ¿Lo intentamos de nuevo más tarde?'}\n \n \n {notShowCTA ? null : (\n <>\n {ctaType === 'a' ? (\n
\n \n {ctaLayer ? <>{ctaLayer} : <>Cerrar}\n \n
\n ) : (\n
\n {\n if (onClick) {\n e.preventDefault();\n onClick();\n } else {\n e.preventDefault();\n handleCloseLayers();\n }\n }}\n >\n {ctaLayer ? <>{ctaLayer} : <>Cerrar}\n \n
\n )}\n \n )}\n {secondCta ?
{secondCta}
: null}\n \n \n \n
\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const RatingStarWrapper = styled.div<{ isPrevStep?: boolean; textUnderStars?: boolean; pointer?: boolean }>`\n padding-right: ${(props) => (props.isPrevStep ? '20px' : '32px')};\n padding-right: ${(props) => props.textUnderStars && '0px'};\n padding-left: ${(props) => (props.textUnderStars ? '32px' : '0px')};\n padding-top: ${(props) => (props.textUnderStars ? '32px' : '0px')};\n\n cursor: ${(props) => (props.pointer || !props.isPrevStep ? 'pointer' : null)};\n\n svg {\n width: 32px;\n height: 32px;\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.isPrevStep ? '20px' : '40px')};\n height: ${(props) => (props.isPrevStep ? '20px' : '40px')};\n }\n @media all and (min-width: 1600px) {\n width: ${(props) => (props.isPrevStep ? '20px' : '48px')};\n height: ${(props) => (props.isPrevStep ? '20px' : '48px')};\n }\n }\n\n @media all and (max-width: 400px) {\n padding-left: ${(props) => (props.textUnderStars ? '7%' : '2vw')};\n padding-right: ${(props) => (props.textUnderStars ? '0px' : '2vw')};\n\n svg {\n width: ${(props) => (props.isPrevStep ? '10px' : '30px')};\n height: ${(props) => (props.isPrevStep ? '10px' : '30px')};\n }\n }\n\n &.filled {\n color: #ffd100;\n }\n\n &.outline {\n color: #6a767d;\n }\n`;\n","import {\n styled\n} from '@volkswagen-onehub/components-core';\n\ninterface Props {\n paginaConfirmacion?: boolean;\n}\n\nexport const PaddingWrapper = styled.div`\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : '44px')};\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : '24px')};\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\ninterface Props {\n paginaConfirmacion?: boolean;\n notALayer?: boolean;\n noPaddingTop?: boolean;\n paddingTop?: string;\n}\n\nexport const GeneralInputWidthWrapper = styled.div`\n width: 100%;\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : props.noPaddingTop ? '0' : props.paddingTop ? props.paddingTop : '44px')};\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : props.noPaddingTop ? '0' : props.paddingTop ? props.paddingTop : '24px')};\n }\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nexport const LabelInputWidthWrapper = styled.div`\n label {\n width: 100%;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const ContactInfoWrapper = styled.div`\n width: 100%;\n margin-bottom: 2px;\n .email-input-wrapper {\n padding-top: 24px;\n }\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n .email-input-wrapper {\n padding-top: 44px;\n }\n }\n @media all and (max-height: 624px) {\n .email-input-wrapper {\n padding-top: 24px;\n }\n }\n`; \n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const GeneralConfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nexport const GeneralConfirmacionLayerWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n font-weight: bold;\n }\n`;\n","import React from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\n\nexport const renderBolds = (htmlString: string) => {\n\tconst parser = new DOMParser();\n\tconst doc = parser.parseFromString(htmlString, 'text/html');\n\tconst elements = Array.from(doc.body.childNodes);\n\n\treturn elements.map((node) => {\n\t\tif (node.nodeType == Node.ELEMENT_NODE && (node.nodeName == 'B' || node.nodeName == 'STRONG')) {\n\t\t\treturn {node.textContent};\n\t\t}\n\t\telse {\n\t\t\treturn node.textContent;\n\t\t}\n\t});\n};\n","import { compose } from 'redux';\nfunction extensionComposeStub() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n if (funcs.length === 0) return undefined;\n if (typeof funcs[0] === 'object') return compose;\n return compose(...funcs);\n}\nexport const composeWithDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : extensionComposeStub;\nexport const devToolsEnhancer = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\n return function (noop) {\n return noop;\n };\n};\nexport { composeWithDevTools as composeWithDevToolsDevelopmentOnly, devToolsEnhancer as devToolsEnhancerDevelopmentOnly } from './developmentOnly';\nexport { composeWithDevTools as composeWithDevToolsLogOnly, devToolsEnhancer as devToolsEnhancerLogOnly } from './logOnly';\nexport { composeWithDevTools as composeWithDevToolsLogOnlyInProduction, devToolsEnhancer as devToolsEnhancerLogOnlyInProduction } from './logOnlyInProduction';","import React, { useEffect, useState } from 'react';\nimport { Provider } from 'react-redux';\nimport { createStore, Store } from 'redux';\nimport { OneFormTrigger } from 'src/triggers';\nimport { OneFormState } from 'src/types';\nimport { useIsDevStage, useFeatureAppConfig, useFaContent, useFeatureServices } from 'src/feature-app';\nimport { initialState, oneFormReducer } from './redux';\nimport { composeWithDevTools } from '@redux-devtools/extension';\n\ndeclare global {\n\tvar s: { persCmp?: string; };\n}\n\nexport const store: Store = createStore(oneFormReducer, initialState, composeWithDevTools());\nexport default function App() {\n\tconst [loading, setLoading] = useState(true);\n\tconst oneFormService = useFeatureServices()['es:oneform-core'];\n\tconst faContent = useFaContent();\n\tconst config = useFeatureAppConfig();\n\tconst isDevStage = useIsDevStage();\n\n\tuseEffect(() => {\n\t\tlet useBff = false;\n\t\tif (faContent && faContent.encuesta &&\n\t\t\t['LEM', 'NO COMPRA', 'NO RENOVACIÓN', 'SAC', 'NEWSLETTER', 'CEM - VENTA', 'CEM - POSVENTA', 'CEM - VENTA PRODUCTO', 'CEM - SEGUNDA ENTREGA - INVITACION', 'CEM - SEGUNDA ENTREGA - VALORACION'].includes(faContent.encuesta)) {\n\t\t\tuseBff = true;\n\t\t}\n\t\telse if (faContent && faContent.action &&\n\t\t\t['clubvw-unsubscribe-email'].includes(faContent.action)) {\n\t\t\tuseBff = true;\n\t\t}\n\t\telse if (config && config.trigger &&\n\t\t\t['baja-comunicaciones'].includes(config.trigger)) {\n\t\t\tuseBff = true;\n\t\t}\n\n\t\toneFormService.initializeService(true, useBff); // Necesario para saltarse la comprobación del login en los formularios en los que no sea necesario.\n\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) { },\n\t\t\terror(err) { },\n\t\t\tcomplete() {\n\t\t\t\t// One Form no se inicializa hasta que no se han cargado todos los datos.\n\t\t\t\tconst { person } = oneFormService.get();\n\n\t\t\t\tif (person) {\n\t\t\t\t\tstore.dispatch({ type: 'UPDATE_FIELDS', payload: { ...person } });\n\t\t\t\t\tstore.dispatch({\n\t\t\t\t\t\ttype: 'SET_FORM_INFO',\n\t\t\t\t\t\tpayload: { userIsAuthenticated: person.userIsAuthenticated === 'true' ? true : false },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// setObjectValues(person, methods.setValue);\n\t\t\t\tif (isDevStage) {\n\t\t\t\t\tconsole.log('%cOneForm Version:', 'font-weight: 700', process.env.VERSION);\n\t\t\t\t\tconsole.log('%cOneForm Feature App Content:', 'font-weight: 700', faContent);\n\t\t\t\t\tconsole.log('%cOneForm Feature App Config:', 'font-weight: 700', config);\n\t\t\t\t}\n\t\t\t\tsetLoading(false);\n\t\t\t},\n\t\t});\n\t}, []);\n\treturn {loading ? null : };\n}\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const Background = styled.div<{ calendarIsStep: boolean }>`\n background-color: #ffffff;\n width: 100%;\n min-height: ${(props)=>(props.calendarIsStep ? '100vh' : 'calc(100vh - 52px)')};\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n`;\nexport const AllContentWrapper = styled.div`\n display: flex;\n align-items: center; \n`;\nexport const DealerInfoWrapper = styled.div`\n width: 83vw;\n @media screen and (min-width: 960px) {\n width: 660px;\n }\n`;\nexport const GoBackWrapper = styled.div`\n padding-left: 20px;\n padding-top: 24px;\n padding-bottom: 3px;\n background-color: #ffffff;\n`;\nexport const GreyText = styled.span`\n color: '#6A767D';\n`;\nexport const CalendarHandlerWrapper = styled.div`\n width: 100%;\n display: flex;\n padding: 44px 4% 32px;\n justify-content: space-between;\n align-items: center;\n @media screen and (min-width: 560px) {\n padding: 44px 11% 32px;\n }\n @media screen and (min-width: 960px) {\n padding: 44px 11% 32px;\n }\n`;\nexport const AllDaysWrapper = styled.div`\n width: 100%;\n margin: auto;\n align-self: center;\n justify-self: center;\n margin-bottom: 44px;\n @media screen and (min-width: 560px) {\n width: 89%;\n }\n @media screen and (min-width: 960px) {\n width: 96%;\n margin-left: 32px;\n margin-rigth: 0;\n }\n`;\nexport const TabsWitdh = styled.div`\n width: 83vw;\n @media all and (min-width: 960px) {\n width: 660px;\n }\n`;\nexport const DividerC = styled.div`\n height: 1px;\n width: 100%;\n background-color: #dfe4e8;\n`;\nexport const DayPositionWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n`;\ninterface DayWrapperProps {\n active?: any;\n presentDay?: any;\n disabled?: boolean;\n}\nexport const DayWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${(props) => (props.active ? '#FFFFFF' : props.disabled ? '#dfe4e8' : '#001E50')};\n font-size: ${(props) => (props.presentDay ? '700' : null)};\n background-color: ${(props) => (props.active ? '#001E50' : null)};\n width: 40px;\n height: 40px;\n border-radius: 50%;\n cursor: ${(props) => (props.disabled ? 'default' : 'pointer')};\n\n @media screen and (min-width: 960px) {\n width: 44px;\n height: 44px;\n }\n`;\n\ninterface CapitalizeWrapperProps {\n hasTitle?: boolean;\n isDisabled: boolean;\n}\nexport const Capitalize = styled.span`\n text-transform: capitalize;\n color: ${(props) => (props.isDisabled ? '#E8DFE4' : '#001e50')};\n padding: ${(props) => (props.hasTitle ? null : '0 32px')};\n padding-top: ${(props) => (props.hasTitle ? null : '2px')};\n cursor: ${(props) => (props.isDisabled ? 'default' : 'pointer')};\n`;\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tCTA,\n\tLayout,\n\tLayoutRowGap,\n\tText,\n\tTextAlignment,\n\tThemeProvider,\n\tTokenTextAppearance,\n\tTokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {AnteriorCTA} from 'src/components';\nimport {\n\tgetActualMonth,\n\tgetActualMonthNumber,\n\tgetActualYearNumber,\n\tgetNextActualMonth,\n\tgetPreviousActualMonth,\n\tgetYYYYMMDD,\n\tuseFeatureAppConfig,\n\tyear_MonthNumber_DayNumber,\n\tuseTrackingManager,\n} from 'src/feature-app';\nimport {ArrowLeft, ChevronLeft, ChevronRight} from 'src/icons-core-imports';\nimport {Availability, Calendar, CalendarSlot, Day, DealersData, Horario, OneFormState, Points} from 'src/types';\nimport {checkIfEvening, checkIfMidDay, checkIfMorning, getDistanceFromLatLngCenter, getNormalizedDate} from '../NewMap';\nimport {CloseInDealerCalendar, FranjaHoraria, TabsHorario} from './';\nimport {\n\tAllContentWrapper,\n\tAllDaysWrapper,\n\tBackground,\n\tCalendarHandlerWrapper,\n\tCapitalize,\n\tDayPositionWrapper,\n\tDayWrapper,\n\tDealerInfoWrapper,\n\tDividerC,\n\tGoBackWrapper,\n\tGreyText,\n\tTabsWitdh,\n} from './CalandarioStyles';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\nexport interface SlotsHorarios {\n\tmanana: CalendarSlot[];\n\tmediodia: CalendarSlot[];\n\ttarde: CalendarSlot[];\n}\n\ninterface CalendarioCitaProps {\n\tselectedPoint: Points;\n\tparamAvailability: Availability;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\tselectedSlot: any;\n\tsetSelectedSlot: React.Dispatch;\n\thandleDmsMapExit: (slot: CalendarSlot, point: Points) => void;\n\thandleNoDmsMapExit: (franjaHoraria: string, day: string, point: Points) => void;\n\tcenter: google.maps.LatLng;\n\thorario: Horario;\n\thandleHideCalendarOnClick: () => void;\n\tuserIsGeoLocated?: boolean;\n\t/**\n\t * Flag para cuando el calendario es un step y no forma parte del mapa, cambian los estilos y es fullscreen;\n\t */\n\tcalendarIsStep?: boolean;\n}\n\nconst checkDmsAvailableInAvailability = (availability: Availability) => availability?.content?.dealer?.dmsAvailable;\nconst delerHasError = (availability: Availability) => availability?.content?.dealer.hasOwnProperty('error');\n\nexport function CalendarioCita(props: CalendarioCitaProps) {\n\tconst {\n\t\tselectedPoint,\n\t\tparamAvailability,\n\t\tgetAvailability,\n\t\tselectedSlot,\n\t\tsetSelectedSlot,\n\t\thandleDmsMapExit,\n\t\thandleNoDmsMapExit,\n\t\tcenter,\n\t\thorario,\n\t\thandleHideCalendarOnClick,\n\t\tuserIsGeoLocated,\n\t\tcalendarIsStep,\n\t} = props;\n\n\tconst {formName} = useSelector((state: OneFormState) => state.formData.fields);\n\n\tlet name, address, city, zipCode, dealer, distanceFromCenter;\n\tif (selectedPoint.properties?.dealer?.markerInfo?.dealerInfo) {\n\t\tname = selectedPoint.properties.dealer.markerInfo.dealerInfo.name;\n\t\taddress = selectedPoint.properties.dealer.markerInfo.dealerInfo.address;\n\t\tcity = selectedPoint.properties.dealer.markerInfo.dealerInfo.city;\n\t\tzipCode = selectedPoint.properties.dealer.markerInfo.dealerInfo.zipCode;\n\t\tdealer = selectedPoint.properties.dealer;\n\t\tdistanceFromCenter = selectedPoint.properties.distanceFromCenter;\n\t} else {\n\t\tname = '';\n\t\taddress = '';\n\t\tcity = '';\n\t\tzipCode = '';\n\t\tdealer = {};\n\t\tdistanceFromCenter = 0;\n\t}\n\t// const { dealer } = selectedPoint.properties;\n\t// const { dmsInfo } = dealer;\n\t// const { distanceFromCenter } = selectedPoint.properties;\n\n\tconst [preselectedDealerForm, setPreselectedDealerForm] = useState(false);\n\tconst [isCalculadoraFirstStep, setIsCalculadoraFirstStep] = useState(false);\n\tconst config = useFeatureAppConfig();\n\n\tuseEffect(() => {\n\t\tif (formName === 'cita-posventa-calculadora') {\n\t\t\tsetIsCalculadoraFirstStep(true);\n\t\t}\n\t\tif (config.trigger === 'cita-posventa-dealer' || formName === 'cita-posventa-calculadora') {\n\t\t\tsetPreselectedDealerForm(true);\n\t\t} else {\n\t\t\tsetPreselectedDealerForm(false);\n\t\t}\n\t}, []);\n\n\tconst daysOfTheWeek = ['Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb', 'Dom'];\n\tconst [loading, setLoading] = useState(false);\n\tconst [month, setMonth] = useState(getActualMonth());\n\tconst [nextMonth, setNextMonth] = useState(getNextActualMonth());\n\tconst [previousMonth, setPreviousMonth] = useState(getPreviousActualMonth());\n\tconst [monthNumber, setMonthNumber] = useState(getActualMonthNumber());\n\tconst [monthOffset, setMonthOffset] = useState(0);\n\tconst [monthDays, setMonthDays] = useState(null);\n\tconst [yearNumber, setYearNumber] = useState(getActualYearNumber());\n\tconst [selectedDay, setSelectedDay] = useState(null);\n\tconst [selectedFranjaHoraria, setSelectedFranjaHoraria] = useState(null);\n\tconst [pastMonthBlocked, setPastMonthBlocked] = useState(false); // En el caso de que el mes actual no tenga fechas disponibles no se debería poder volver atrás.\n\tconst [calendar, setCalendar] = useState(null);\n\tconst [horarios, setHorarios] = useState(null);\n\tconst tabsRef = useRef(null);\n\tconst availabilityRef = useRef(null);\n\tconst [dmsAvailable, setDmsAvailable] = useState(null);\n\tconst trackingManager = useTrackingManager();\n\n\tuseEffect(() => {\n\t\ttrackingManager.trackFormStepLoad(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tFormStart: false,\n\t\t\t},\n\t\t\t{StepName: 'MapSlot'},\n\t\t);\n\t\thandleChangeOfMonth(0); // Primera carga del calendario.\n\t}, []);\n\n\tconst handleChangeOfMonth = async (newMonthOffset: number): Promise => {\n\t\tconst {currentMonthNumber, currentMonth, yearNumber, nextMonth} = getDates(newMonthOffset);\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth(currentMonthNumber, yearNumber);\n\n\t\tconst availability =\n\t\t\tnewMonthOffset == 0 ? paramAvailability : await getAvailability(dealer, firstDayOfMonth, lastDayOfMonth);\n\n\t\tif (\n\t\t\tcheckDmsAvailableInAvailability(availability) &&\n\t\t\tavailability.content?.calendar &&\n\t\t\tcalendarHasNoProblems(availability) &&\n\t\t\t!delerHasError(availability)\n\t\t) {\n\t\t\tsetDmsAvailable(true);\n\t\t} else if (\n\t\t\tcheckDmsAvailableInAvailability(availability) &&\n\t\t\tcalendarHasNoProblems(availability) &&\n\t\t\t!availability.content.calendar\n\t\t) {\n\t\t\tif (newMonthOffset === 2) {\n\t\t\t\tsetDmsAvailable(false);\n\t\t\t} else {\n\t\t\t\tsetPastMonthBlocked(true);\n\t\t\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t\t}\n\t\t\treturn;\n\t\t} else {\n\t\t\tsetDmsAvailable(false);\n\t\t}\n\t\tavailabilityRef.current = availability;\n\n\t\tconst {updatedMonthDays, selectedDay} = buildCalendar(currentMonthNumber, yearNumber, availability);\n\n\t\tif (selectedDay) {\n\t\t\tsetMonthDays(updatedMonthDays);\n\t\t\tsetSelectedDay(selectedDay);\n\t\t\tsetVariables(newMonthOffset, currentMonth, currentMonthNumber, nextMonth, yearNumber);\n\t\t} else {\n\t\t\tsetPastMonthBlocked(true);\n\t\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t}\n\t};\n\n\tconst buildCalendar = (monthNumber: string, yearNumber: string, availability: Availability) => {\n\t\t// 1. Crear los días del mes.\n\t\tconst days = createMonthDays(monthNumber, yearNumber);\n\t\t// 2. Con el availability, desactivar todos los días que no son necesarios.\n\t\tconst updatedDays = getDisabledDays(days, availability);\n\t\t// 3. Buscar el primer día activo.\n\t\tconst firstAvailableDay = getFirstAvailableDay(updatedDays, availability);\n\t\t// 3.1 En caso de que no encuentre un día en el mes en curso, devolvemos null para que handleChangeOfMonth se\n\t\t// ocupe de cargar el siguiente mes.\n\t\tif (!firstAvailableDay) {\n\t\t\treturn {updatedMonthDays: null, selectedDay: null};\n\t\t}\n\t\t// 4. Cambiar el estado del primer dia activo\n\t\tconst {updatedMonthDays, selectedDay} = handleChangeActiveDay(updatedDays, firstAvailableDay);\n\t\t// 5. Carga de los horarios del dia seleccionado\n\t\thandleChangeInSelectedDay(firstAvailableDay);\n\n\t\treturn {updatedMonthDays, selectedDay};\n\t};\n\n\t/**\n\t * Genera los dias del calendario para el mes y año seleccionado.\n\t * @param monthNumber\n\t * @param yearNumber\n\t */\n\tconst createMonthDays = (monthNumber: string, yearNumber: string): Day[] => {\n\t\tconst firstDayOfMonth = dayjs()\n\t\t\t.year(Number(yearNumber))\n\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t.date(1);\n\n\t\tconst daysInMonth = dayjs()\n\t\t\t.year(Number(yearNumber))\n\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t.daysInMonth();\n\n\t\tconst firstDayInweek = firstDayOfMonth.format('d'); // The day of the week, with Sunday as 0\n\n\t\tlet days: Day[] = [];\n\n\t\t// Se genera una array con espacios vacios para rellenar la primera fila del calendario. Ej: Si el primer día\n\t\t// del mes cae en domingo, se genera una array con 6 espacios vacios, donde el 7º día será el domingo.\n\t\tif (firstDayInweek === '0') {\n\t\t\tdays = new Array(6).fill('');\n\t\t} else {\n\t\t\tdays = new Array(parseInt(firstDayInweek) - 1).fill('');\n\t\t}\n\n\t\tlet day = firstDayOfMonth;\n\n\t\tfor (let i = 1; i <= daysInMonth; i++) {\n\t\t\tlet date = getYYYYMMDD(`${yearNumber}-${monthNumber}-${day.format('D')}`); // YYYY - MM - DD\n\t\t\tconst dayNumber = day.format('D'); // 1 - 31\n\t\t\tconst dayOfTheWeek = day.format('d'); // 0 - 6\n\t\t\tlet newDay: Day = {\n\t\t\t\tdayNumber,\n\t\t\t\tdayOfTheWeek,\n\t\t\t\tdate,\n\t\t\t\tdisabled: null,\n\t\t\t\tactive: false,\n\t\t\t};\n\t\t\tdays.push(newDay);\n\t\t\tday = day.add(1, 'day');\n\t\t\tnewDay = null;\n\t\t\tdate = null;\n\t\t}\n\t\treturn days;\n\t};\n\n\t/**\n\t * Devuelve los días generados con la propiedad disabled actualizada, según\n\t * si el día está disponible o no. Si el dealer tiene dms el día estará disponible\n\t * en caso de que también lo esté en el availability. Para el resto de casos se siguen las\n\t * normas de la función checkIfDayIsDisabled.\n\t *\n\t * @param days\n\t * @param availability\n\t */\n\tconst getDisabledDays = (days: Day[], availability: Availability): Day[] => {\n\t\tlet updatedDays: Day[];\n\n\t\t// FLUJO CON DMS\n\t\tif (availability && availability.content && availability.content.calendar && calendarHasNoProblems(availability)) {\n\t\t\tconst availableDates = availability.content.calendar.map((calendarDay) => calendarDay.date);\n\t\t\tupdatedDays = days.map((day) => {\n\t\t\t\t// Days contiene strings vacías.\n\t\t\t\tif (typeof day === 'object') {\n\t\t\t\t\tconst foundDate = availableDates.find((date) => date === day.date);\n\t\t\t\t\tday.disabled = !foundDate || checkIfDayIsDisabled(day.date) ? true : false;\n\t\t\t\t\treturn day;\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t});\n\t\t} else {\n\t\t\t// FLUJO SIN DMS\n\t\t\tupdatedDays = days.map((day) => {\n\t\t\t\t// Days contiene strings vacías.\n\t\t\t\tif (typeof day === 'object') {\n\t\t\t\t\tday.disabled = checkIfDayIsDisabled(day.date) ? true : false;\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t});\n\t\t}\n\t\treturn updatedDays;\n\t};\n\n\t/**\n\t *\n\t * Las reglas para desactivar un día son:\n\t * Si el día ya ha pasado o es el mismo día (no pueden ofrecer cita para el mismo día).\n\t * Si es domingo en todos los casos.\n\t * Si es sábado y no tiene DMS.\n\t *\n\t * @param date Se necesita la fecha en formato YYYY-MM-DD\n\t */\n\tconst checkIfDayIsDisabled = (date: string): boolean => {\n\t\tconst actualDay = year_MonthNumber_DayNumber();\n\t\tconst dayOfTheWeek = dayjs(date).format('d');\n\t\tconst isPastOrSameDate = dayjs(date).isSameOrBefore(actualDay);\n\t\tconst disableSaturday = dayOfTheWeek === '6' && !dmsAvailable;\n\t\tconst disableSunday = dayOfTheWeek === '0';\n\n\t\tif (isPastOrSameDate || disableSaturday || disableSunday) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\t/**\n\t * Función para comprobar si, aunque el calendario retorne una array con slots, estos son recientes.\n\t * En el caso de \"Binefar\" devuelve una array a fecha de 1/1/1970, por lo que comprobamos si las fechas son\n\t * anteriores a una fecha ya pasada aleatoria como el 1/1/2021 para eliminar estos casos.\n\t * @param availability\n\t */\n\tconst calendarHasNoProblems = (availability: Availability): boolean => {\n\t\tconst msForReference = dayjs('2021-01-01', 'YYYY-MM-DD').locale('es').utc().format('x');\n\n\t\tif (availability && availability.content && availability.content.calendar) {\n\t\t\tconst badFormattedDay = availability.content.calendar.find((calendarDay) => {\n\t\t\t\tconst dateInMs = dayjs(calendarDay.date, 'YYYY-MM-DD').locale('es').utc().format('x');\n\t\t\t\tif (msForReference > dateInMs) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (badFormattedDay) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\n\t/**\n\t * Función para obtener el primer dia activo en el calendario.\n\t * En caso de que la concesión disponga de DMS se busca el primer día que tenga slots disponible en cualquiera de los turnos.\n\t * En caso de que no encuentre ninguno o no tenga DMS, fija el primer dia que no esté desactivado.\n\t *\n\t * @param monthDays\n\t * @param availability\n\t */\n\tconst getFirstAvailableDay = (monthDays: Day[], availability: Availability): Day => {\n\t\tlet firstDay: Day;\n\n\t\t//Flujo con DMS\n\t\tif (availability && availability.content && availability.content.calendar && calendarHasNoProblems(availability)) {\n\t\t\tfor (const dayCalendar of availability.content.calendar) {\n\t\t\t\tconst horarios = sortSlotsByHour(dayCalendar);\n\n\t\t\t\tif (horario === 'morning' && horarios.manana.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (horario === 'afternon' && horarios.mediodia.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (horario === 'evening' && horarios.tarde.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Flujo sin DMS\n\t\tif (!firstDay) {\n\t\t\tfirstDay = monthDays.find((day) => day.disabled === false);\n\t\t}\n\n\t\treturn firstDay;\n\t};\n\n\t/**\n\t * Reparte los slots del calendario en mañana, mediodía y tarde, además de eliminar arrays vacías para evitar posibles errores.\n\t *\n\t * @param calendar\n\t */\n\tconst sortSlotsByHour = (calendar: Calendar): SlotsHorarios => {\n\t\t// Se elige un dia aleatorio (1/1/1999) ya que se comparan horas del mismo dia y este es irrelevante.\n\n\t\tconst manana = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfMorning(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\tconst mediodia = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfMidDay(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\tconst tarde = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfEvening(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\treturn {manana, mediodia, tarde};\n\t};\n\n\tconst setFirstDay = (monthDays: Day[], dayCalendar: Calendar) => {\n\t\tconst monthDay = monthDays.find((day) => day.date === dayCalendar.date);\n\n\t\tif (monthDay && !monthDay.disabled) {\n\t\t\treturn monthDay;\n\t\t}\n\t\treturn null;\n\t};\n\n\t/**\n\t * Función que se encarga de cargar los horarios del availability según el dia seleccionado.\n\t * @param day\n\t * @param isClick es false en la carga del calendario, ya que no hace falta volver a llamar a la función handleChangeActiveDay.\n\t */\n\tconst handleChangeInSelectedDay = (day: Day, isClick?: boolean) => {\n\t\tif (isClick) {\n\t\t\tconst {updatedMonthDays} = handleChangeActiveDay(monthDays, day);\n\t\t\tsetMonthDays(updatedMonthDays);\n\t\t\tsetSelectedDay(day.date);\n\t\t}\n\n\t\tif (!availabilityRef.current || !availabilityRef.current.content || !availabilityRef.current.content.calendar) {\n\t\t\treturn;\n\t\t}\n\t\tlet calendar: Calendar = availabilityRef.current.content.calendar.find((calendarDate) => {\n\t\t\treturn day.date === calendarDate.date;\n\t\t});\n\n\t\tif (calendar) {\n\t\t\tcalendar.slots = calendar.slots.sort((a, b) => a.from - b.from);\n\t\t\tconst horarios = sortSlotsByHour(calendar);\n\t\t\tconst selectedSlot = getSelectedSlot(calendar, horarios);\n\t\t\tsetCalendar(calendar);\n\t\t\tsetHorarios(horarios);\n\t\t\tsetSelectedSlot(selectedSlot);\n\t\t\tif (calendar.slots.length > 1) {\n\t\t\t\t// selectedCalendar.slots[0].map();\n\t\t\t}\n\t\t} else {\n\t\t\tsetCalendar(null);\n\t\t\tsetHorarios(null);\n\t\t\tsetSelectedSlot(null);\n\t\t}\n\t};\n\n\tconst getSelectedSlot = (selectedCalendar: Calendar, horarios: SlotsHorarios) => {\n\t\tif (horario === 'morning') {\n\t\t\treturn horarios.manana[0];\n\t\t} else if (horario === 'afternon' && horarios.mediodia.length > 0) {\n\t\t\treturn horarios.mediodia[0];\n\t\t} else if (horario === 'evening' && horarios.tarde.length > 0) {\n\t\t\treturn horarios.tarde[0];\n\t\t}\n\t\treturn selectedCalendar.slots[0];\n\t};\n\n\tconst handleNextMonthYear = (e: any) => {\n\t\te.preventDefault();\n\t\tif (monthOffset === 2) {\n\t\t\treturn;\n\t\t}\n\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t// setMonthOffset(monthOffset + 1);\n\t};\n\n\tconst handlePreviousMonthYear = (e: any) => {\n\t\te.preventDefault();\n\n\t\tif (monthOffset === 0) {\n\t\t\treturn;\n\t\t}\n\t\thandleChangeOfMonth(monthOffset - 1);\n\t\t// setMonthOffset(monthOffset - 1);\n\t};\n\n\tconst getDates = (monthOffset: number) => {\n\t\tconst currentMonth = dayjs().add(monthOffset, 'month').locale('es').format('MMMM');\n\t\tconst nextMonth = dayjs()\n\t\t\t.add(monthOffset + 1, 'month')\n\t\t\t.locale('es')\n\t\t\t.format('MMMM');\n\t\tconst currentMonthNumber = dayjs().add(monthOffset, 'month').format('M');\n\t\tconst yearNumber = dayjs().add(monthOffset, 'month').format('YYYY');\n\n\t\treturn {currentMonth, nextMonth, currentMonthNumber, yearNumber};\n\t};\n\n\tuseEffect(() => {\n\t\tlet monthCapitalize = month.charAt(0).toUpperCase() + month.slice(1);\n\t\tswitch (monthCapitalize) {\n\t\t\tcase 'Enero':\n\t\t\t\tsetPreviousMonth('Diciembre');\n\t\t\t\tbreak;\n\t\t\tcase 'Febrero':\n\t\t\t\tsetPreviousMonth('Enero');\n\t\t\t\tbreak;\n\t\t\tcase 'Marzo':\n\t\t\t\tsetPreviousMonth('Febrero');\n\t\t\t\tbreak;\n\t\t\tcase 'Abril':\n\t\t\t\tsetPreviousMonth('Marzo');\n\t\t\t\tbreak;\n\t\t\tcase 'Mayo':\n\t\t\t\tsetPreviousMonth('Abril');\n\t\t\t\tbreak;\n\t\t\tcase 'Junio':\n\t\t\t\tsetPreviousMonth('Mayo');\n\t\t\t\tbreak;\n\t\t\tcase 'Julio':\n\t\t\t\tsetPreviousMonth('Junio');\n\t\t\t\tbreak;\n\t\t\tcase 'Agosto':\n\t\t\t\tsetPreviousMonth('Julio');\n\t\t\t\tbreak;\n\t\t\tcase 'Septiembre':\n\t\t\t\tsetPreviousMonth('Agosto');\n\t\t\t\tbreak;\n\t\t\tcase 'Octubre':\n\t\t\t\tsetPreviousMonth('Septiembre');\n\t\t\t\tbreak;\n\t\t\tcase 'Noviembre':\n\t\t\t\tsetPreviousMonth('Octubre');\n\t\t\t\tbreak;\n\t\t\tcase 'Diciembre':\n\t\t\t\tsetPreviousMonth('Noviembre');\n\t\t\t\tbreak;\n\t\t}\n\t}, [month]);\n\n\tconst setVariables = (\n\t\tmonthOffset: number,\n\t\tcurrentMonth: string,\n\t\tcurrentMonthNumber: string,\n\t\tnextMonth: string,\n\t\tyear: string,\n\t) => {\n\t\tsetMonthOffset(monthOffset);\n\t\tsetMonth(currentMonth);\n\t\tsetMonthNumber(currentMonthNumber);\n\t\tsetNextMonth(nextMonth);\n\t\tsetYearNumber(year);\n\t};\n\n\tconst handleSelectedSlot = (slot: CalendarSlot[]) => {\n\t\tsetSelectedSlot(slot);\n\t};\n\n\tconst handleFranjaHoraria = (franjaHoraria: string) => {\n\t\tsetSelectedFranjaHoraria(franjaHoraria);\n\t};\n\n\tconst handleChangeActiveDay = (monthDays: Day[], day: Day): {updatedMonthDays: Day[]; selectedDay: string} => {\n\t\tif (day) {\n\t\t\tconst updatedMonthDays = monthDays.map((monthDay) => {\n\t\t\t\tif (monthDay.dayNumber === day.dayNumber && !day.active) {\n\t\t\t\t\tmonthDay.active = true;\n\t\t\t\t} else if (monthDay.active && monthDay.dayNumber !== day.dayNumber) {\n\t\t\t\t\tmonthDay.active = false;\n\t\t\t\t}\n\t\t\t\treturn monthDay;\n\t\t\t});\n\n\t\t\treturn {updatedMonthDays, selectedDay: day.date};\n\t\t} else {\n\t\t\tconst tomorrow = dayjs().add(1, 'day').format('YYYY-MM-DD');\n\n\t\t\treturn {updatedMonthDays: monthDays, selectedDay: tomorrow};\n\t\t}\n\t};\n\n\treturn selectedPoint ? (\n\t\t<>\n\t\t\t{!isCalculadoraFirstStep && preselectedDealerForm ? : null}\n\t\t\t\n\t\t\t\t{isCalculadoraFirstStep ? (\n\t\t\t\t\t\n\t\t\t\t) : preselectedDealerForm ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleHideCalendarOnClick();\n\t\t\t\t\t\t\t\t\t// Hack para contabilizar en analítica los usuarios que vuelven desde el calendario al mapa.\n\t\t\t\t\t\t\t\t\ttrackingManager.trackFormStepLoad(\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tFormStart: false,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{StepName: 'MapSearch'},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tIr al mapa\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{preselectedDealerForm ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t¿Cuándo prefieres pasar por el{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t¿Cuándo prefieres pasar por el{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dmsAvailable ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelecciona la fecha y la hora de tu visita.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{userIsGeoLocated ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getDistanceFromLatLngCenter(center, selectedPoint) === '0.0' ? null : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{distanceFromCenter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? distanceFromCenter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: getDistanceFromLatLngCenter(center, selectedPoint)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkm\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{address}, {zipCode} {city}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{previousMonth}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{month} {yearNumber}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{nextMonth}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{daysOfTheWeek.map((day, index) => {\n\t\t\t\t\t\t\t\t\t\t\tif (index > 4) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{monthDays && !loading ? (\n\t\t\t\t\t\t\t\t\t\t\tmonthDays.map((day, i) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!day.disabled) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (tabsRef && tabsRef.current) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttabsRef.current.scrollIntoView({behavior: 'smooth'});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// const { updatedMonthDays, selectedDay } = handleChangeActiveDay(monthDays, day);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// setMonthDays(updatedMonthDays);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// setSelectedDay(selectedDay);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleChangeInSelectedDay(day, true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive={day.active}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={day.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"day-wrapper\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day.dayNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tloading...\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{dmsAvailable ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tdmsAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t? handleDmsMapExit(selectedSlot, selectedPoint)\n\t\t\t\t\t\t\t\t\t\t\t\t: handleNoDmsMapExit(selectedFranjaHoraria, selectedDay, selectedPoint);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tariaLabel=\"aria label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSeleccionar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t) : null;\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\nimport React, { useEffect } from 'react';\nimport { Horario } from 'src/types';\n\ninterface FranjaHorariaProps {\n selectedFranjaHoraria: string;\n handleFranjaHoraria: (s: string) => void;\n horario: Horario;\n}\n\nexport function FranjaHoraria(props: FranjaHorariaProps) {\n const { handleFranjaHoraria, selectedFranjaHoraria, horario } = props;\n\n useEffect(() => {\n if (horario === 'afternon') {\n handleFranjaHoraria('Mediodía');\n } else if (horario === 'evening') {\n handleFranjaHoraria('Tarde');\n } else {\n handleFranjaHoraria('Mañana');\n }\n }, []);\n\n return (\n \n \n Selecciona una franja horaria\n \n \n {\n e.preventDefault();\n handleFranjaHoraria('Mañana');\n }}\n >\n Mañana\n \n {\n e.preventDefault();\n handleFranjaHoraria('Mediodía');\n }}\n >\n Mediodía\n \n {\n e.preventDefault();\n handleFranjaHoraria('Tarde');\n }}\n >\n Tarde\n \n \n \n );\n}\n","import React from 'react';\nimport {\n Container,\n Text,\n ContainerGutter,\n TextAlignment,\n styled,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { CalendarSlot } from 'src/types';\n\ninterface hourWrapperProps {\n selected: any;\n}\n\nconst HourWrapper = styled.div`\n width: 68px;\n height: 33px;\n border: ${(props) => (props.selected ? '1px solid #001E50' : '1px solid #DFE4E8')};\n background-color: ${(props) => (props.selected ? '#001E50' : null)};\n color: ${(props) => (props.selected ? '#FFFFFF' : '#001E50')};\n border-radius: 16px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface slotsHorarioProps {\n avaiableHours: CalendarSlot[];\n // selectedHourIndex: number;\n handleSelectedSlot: any;\n selectedSlot: CalendarSlot;\n}\n\nexport const SlotsHorario = (props: slotsHorarioProps) => {\n const { avaiableHours, handleSelectedSlot, selectedSlot } = props;\n\n const checkIfHourIsSelected = (slot: CalendarSlot) => {\n if (selectedSlot) {\n return slot.from === selectedSlot.from ? true : false;\n }\n return false;\n };\n\n return (\n \n {avaiableHours && avaiableHours.length > 0 ? (\n avaiableHours.map((slot: CalendarSlot, i) => {\n return (\n {\n e.preventDefault();\n handleSelectedSlot(slot, i);\n }}\n key={slot.from}\n selected={checkIfHourIsSelected(slot)}\n >\n \n {slot.hour.slice(0, 5)}\n \n \n );\n })\n ) : (\n \n No hay horas disponibles en esta franja.\n \n )}\n \n );\n};\n","import { Container, ContainerPadding, styled, Tabs, Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { SlotsHorarios } from './CalendarioCita';\nimport { CalendarSlot } from 'src/types';\nimport { SlotsHorario } from '.';\nimport { checkIfEvening, checkIfMidDay, checkIfMorning } from '../NewMap';\n\nconst TabsWrapper = styled.div`\n ul {\n margin: 5px;\n width: 86vw;\n\n @media screen and (min-width: 560px) {\n width: 76vw;\n }\n @media screen and (min-width: 960px) {\n width: 640px;\n }\n }\n`;\n\ninterface TabsHorariosProps {\n handleSelectedSlot: any;\n selectedSlot: CalendarSlot;\n horarios: SlotsHorarios;\n}\n\nexport function TabsHorario(props: TabsHorariosProps) {\n const { handleSelectedSlot, selectedSlot, horarios } = props;\n\n const [defaultIndex, setDefaultIndex] = useState(0);\n\n useEffect(() => {\n if (selectedSlot) {\n const defaultIndex = handleDefaultTabIndex(selectedSlot);\n setDefaultIndex(defaultIndex);\n }\n }, [selectedSlot]);\n\n const handleDefaultTabIndex = (slot: CalendarSlot) => {\n const slotHour = new Date(`1/1/1999 ${slot.hour}`);\n\n if (checkIfMorning(slotHour)) {\n return 0;\n } else if (checkIfMidDay(slotHour)) {\n return 1;\n } else if (checkIfEvening(slotHour)) {\n return 2;\n }\n return 0;\n };\n\n return (\n \n {e.preventDefault()}}>\n {\n setDefaultIndex(index);\n }}\n >\n {{\n title: Mañana,\n content: (\n \n \n \n ),\n key: 'a',\n }}\n {{\n title: Mediodía,\n content: (\n \n \n \n ),\n key: 'b',\n }}\n {{\n title: Tarde,\n content: (\n \n \n \n ),\n key: 'c',\n }}\n \n \n \n );\n}\n","import { styled, BreakpointWrapper, Breakpoints, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { CloseButton, AnteriorCTA } from 'src/components';\nimport React from 'react';\n\n\nconst CloseDiv = styled.div`\n padding: 24px 20px 20px;\n color: #001E50;\n background-color: #FFFFFF;\n margin-bottom: -2px;\n display: flex;\n justify-content: space-between;\n @media all and (min-width: 560px) {\n padding: 24px 0 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--size-grid002);\n position: fixed;\n top: 0;\n color: #FFFFFF;\n background-color: transparent;\n margin-bottom: 0;\n }\n @media all and (min-width: 960px) {\n width: 80px;\n }\n`;\n\n\nexport const CloseInDealerCalendar = () => {\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nexport const CTAsSiNo = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: 'true'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: 'false'\n\t},\n];\nexport const CTAsSiNoSinRespuesta = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: '1'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: '2'\n\t},\n\t{\n\t\tlabel: 'Sin respuesta',\n\t\tvalue: '9'\n\t},\n];\n\nexport const contactoOptionsTurismos = [\n\t{\n\t\tlabel: 'Whatsapp',\n\t\tvalue: 'Whatsapp',\n\t},\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'Telefono',\n\t},\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'Email',\n\t},\n];\n\nexport const contactoOptionsComerciales = [\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'Telefono',\n\t},\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'Email',\n\t},\n];\n\nexport const CTAsHorario = [\n\t{\n\t\tlabel: 'Por la mañana',\n\t\tvalue: 'morning'\n\t},\n\t{\n\t\tlabel: 'Al mediodía',\n\t\tvalue: 'afternon'\n\t},\n\t{\n\t\tlabel: 'Por la tarde',\n\t\tvalue: 'evening'\n\t},\n];\n\nexport const CTAsDudas = [\n\t{\n\t\tlabel: 'Los plazos de entrega',\n\t\tvalue: 'plazos'\n\t},\n\t{\n\t\tlabel: 'Tu visita al punto de venta',\n\t\tvalue: 'experiencia'\n\t},\n\t{\n\t\tlabel: 'El precio del modelo',\n\t\tvalue: 'precio'\n\t},\n\t{\n\t\tlabel: 'El equipamiento y los asistentes adicionales',\n\t\tvalue: 'equipamiento'\n\t},\n\t{\n\t\tlabel: 'El consumo del modelo',\n\t\tvalue: 'consumo'\n\t},\n\t{\n\t\tlabel: 'La garantía del modelo',\n\t\tvalue: 'garantia'\n\t},\n\t{\n\t\tlabel: 'Las condiciones de financiación',\n\t\tvalue: 'financiación'\n\t},\n\t{\n\t\tlabel: 'La situación actual',\n\t\tvalue: 'situacion'\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: 'otros'\n\t},\n];\n\n//SAC\n\nexport const contactoOptionsSAC = [\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'EMAIL',\n\t},\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'TELEFONO',\n\t},\n\t/* {\n\t\tlabel: 'Correo postal',\n\t\tvalue: 'POSTAL',\n\t }, */\n\t{\n\t\tlabel: 'Whatsapp',\n\t\tvalue: 'WHATSAPP',\n\t},\n];\n\n// CEM ONESHOP\n\nexport const ctaPruebaTCross = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: 'true'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: 'false'\n\t},\n\t{\n\t\tlabel: 'No, pero me lo ofrecieron',\n\t\tvalue: 'No, pero me lo ofrecieron'\n\t},\n];\n","import React from 'react';\n\n//Navidad 2021\n\nexport const CTAsDisfrutarID4 = [\n {\n label: 'Será mi primera experiencia eléctrica',\n value: 'PrimeraExperiencia',\n },\n {\n label: 'Comprobar la duración de la batería',\n value: 'DuraciónBateria',\n },\n {\n label: 'Valorar el consumo y la facilidad de carga',\n value: 'ConsumoCarga',\n },\n {\n label: 'Conducir un coche sostenible',\n value: 'Sostenibilidad',\n },\n {\n label: 'Otros',\n value: 'Otros',\n },\n];\n\n//LANZAMIENTO TAIGO\n\nexport const CTAsTienesVolkswagen = [\n {\n label: 'Sí, lo tengo',\n value: 'Sí, lo tengo',\n },\n {\n label: 'Sí, lo tuve',\n value: 'Sí, lo tuve',\n },\n {\n label: 'No, nunca he tenido un Volkswagen.',\n value: 'No, nunca he tenido un Volkswagen.',\n },\n];\n\nexport const CTAsDesplazamientoTaigo = [\n {\n label: 'En mi coche',\n value: 'mi coche',\n },\n {\n label: 'En transporte público',\n value: 'transporte público',\n },\n {\n label: 'Con carsharing',\n value: 'carsharing',\n },\n {\n label: 'Otro',\n value: 'otro',\n },\n];\n\nexport const CTAsMotivacionCompraTaigo = [\n {\n label: 'Su diseño deportivo e innovador',\n value: 'diseño',\n },\n {\n label: 'El alto nivel de equipamiento',\n value: 'equipamiento',\n },\n {\n label: 'Que además de SUV es coupé',\n value: 'suv/coupe',\n },\n {\n label: '¡Tengo otros motivos!',\n value: 'otro',\n },\n];\n\nexport const CTAsOtroModeloTaigo = [\n {\n label: 'Sí, tengo otros.',\n value: 'true',\n },\n {\n label: 'No, con ninguno.',\n value: 'false',\n },\n];\n","import React from 'react';\n\n//Cita posventa\n\nexport const kilometrosValues = [\n '0km - 30.000km',\n '30.000km - 60.000km',\n '60.000km - 90.000km',\n '90.000km - 120.000km',\n '120.000km - 150.000km',\n '150.000km - 180.000km',\n 'Más de 180.000km',\n 'No estoy seguro',\n];\n\nexport const kilometrosComercialesValues = [\n '0km - 50.000km',\n '50.000km - 100.000km',\n '100.000km - 150.000km',\n '150.000km - 200.000km',\n '200.000km - 250.000km',\n '250.000km - 300.000km',\n '300.000km - 350.000km',\n 'Más de 400.000km',\n 'No estoy seguro',\n];\n\nexport const millageValues = [\n [0, 30000],\n [30000, 60000],\n [60000, 90000],\n [90000, 120000],\n [120000, 150000],\n [150000, 180000],\n [180000, 210000],\n];\n\nexport const millageComercialesValues = [\n [0, 50000],\n [50000, 100000],\n [100000, 150000],\n [150000, 200000],\n [200000, 250000],\n [250000, 300000],\n [300000, 350000],\n [350000, 400000],\n];\n\nexport const getKilometrosInfo = (isComerciales: boolean) => {\n if (isComerciales) {\n return { kilometrosValues: kilometrosComercialesValues, millageValues: millageComercialesValues };\n }\n return { kilometrosValues, millageValues };\n};\n\nexport const franjaHoraria = [\n { code: 'MANANA', name: ' por la mañana' },\n { code: 'MEDIODIA', name: ' al mediodía' },\n { code: 'TARDE', name: ' por la tarde' },\n];\n\nexport const meses = [\n {\n name: 'Enero',\n number: '01',\n },\n {\n name: 'Febrero',\n number: '02',\n },\n {\n name: 'Marzo',\n number: '03',\n },\n {\n name: 'Abril',\n number: '04',\n },\n {\n name: 'Mayo',\n number: '05',\n },\n {\n name: 'Junio',\n number: '06',\n },\n {\n name: 'Julio',\n number: '07',\n },\n {\n name: 'Agosto',\n number: '08',\n },\n {\n name: 'Septiembre',\n number: '09',\n },\n {\n name: 'Octubre',\n number: '10',\n },\n {\n name: 'Noviembre',\n number: '11',\n },\n {\n name: 'Diciembre',\n number: '12',\n }\n];\n","function isDynamicTokenSubtree(subtree) {\n return !Array.isArray(subtree) && typeof subtree !== 'string';\n}\nexport function getDynamicTokens(tokens, path) {\n return Object.keys(tokens).reduce((result, key) => {\n const newPath = path ? `${path}.${key}` : key;\n const currentToken = tokens[key];\n if (Array.isArray(currentToken)) {\n currentToken.forEach((dynamic) => {\n result[dynamic.breakpoint] = result[dynamic.breakpoint] || {};\n result[dynamic.breakpoint] = Object.assign(Object.assign({}, result[dynamic.breakpoint]), { [newPath]: dynamic.value });\n });\n return result;\n }\n if (isDynamicTokenSubtree(currentToken)) {\n const subtreeResults = getDynamicTokens(currentToken, newPath);\n Object.keys(subtreeResults).forEach((breakpoint) => {\n result[breakpoint] = Object.assign(Object.assign({}, (result[breakpoint] || {})), subtreeResults[breakpoint]);\n });\n return result;\n }\n return result;\n }, {});\n}\n","import * as React from 'react';\nimport { normalize } from 'styled-normalize';\nimport { createGlobalStyle } from 'styled-components';\nimport { styled, css } from '../theme-provider';\nimport { getMediaQueryVars } from '../theme-provider/get-media-query-vars';\nimport { getCommonProps } from '../helpers/common-props';\nimport { mainThemeColors } from '@volkswagen-onehub/tokens';\nconst GlobalStyle = createGlobalStyle `${normalize};b,strong{font-weight:bold;}`;\n// Please do not import this const. It is meant to be used internally only.\nexport const _fontFamilyStyles = css `--font-family-head:vw-head,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Helvetica,Arial,sans-serif;:lang(ko),:lang(zh),:lang(zh-tw),:lang(ja),:lang(ar){font-style:normal;}:lang(ko){--font-family-head:vw-head,Apple SD Gothic Neo,BonGothic,\\uB9D1\\uC740 \\uACE0\\uB515,Malgun Gothic,\\uAD74\\uB9BC,Gulim,\\uB3CB\\uC6C0,Dotum,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Apple SD Gothic Neo,BonGothic,\\uB9D1\\uC740 \\uACE0\\uB515,Malgun Gothic,\\uAD74\\uB9BC,Gulim,\\uB3CB\\uC6C0,Dotum,Helvetica Neue,Helvetica,Arial,sans-serif;word-break:keep-all;hyphens:auto;}:lang(zh){--font-family-head:vw-head,\\u534E\\u6587\\u7EC6\\u9ED1,STXihei,PingFang TC,\\u5FAE\\u8F6F\\u96C5\\u9ED1\\u4F53,Microsoft YaHei New,\\u5FAE\\u8F6F\\u96C5\\u9ED1,Microsoft Yahei,\\u5B8B\\u4F53,SimSun,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,\\u534E\\u6587\\u7EC6\\u9ED1,STXihei,PingFang TC,\\u5FAE\\u8F6F\\u96C5\\u9ED1\\u4F53,Microsoft YaHei New,\\u5FAE\\u8F6F\\u96C5\\u9ED1,Microsoft Yahei,\\u5B8B\\u4F53,SimSun,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(zh-tw){--font-family-head:vw-head,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(ja){--font-family-head:vw-head,\\u30D2\\u30E9\\u30AD\\u3099\\u30CE\\u89D2\\u30B3\\u3099 Pro W3,Hiragino Kaku Gothic Pro,Osaka,\\u30E1\\u30A4\\u30EA\\u30AA,Meiryo,MS P\\u30B3\\u3099\\u30B7\\u30C3\\u30AF,MS PGothic,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,\\u30D2\\u30E9\\u30AD\\u3099\\u30CE\\u89D2\\u30B3\\u3099 Pro W3,Hiragino Kaku Gothic Pro,Osaka,\\u30E1\\u30A4\\u30EA\\u30AA,Meiryo,MS P\\u30B3\\u3099\\u30B7\\u30C3\\u30AF,MS PGothic,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(vi){--font-family-head:roboto-vi,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:roboto-vi,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(ar){--font-family-head:vw-head,vw-head-ar,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,vw-text-ar,Helvetica Neue,Helvetica,Arial,sans-serif;}font-family:var(--font-family-text);`;\nexport const StyledIntegratorRoot = styled.div.withConfig({ displayName: \"StyledIntegratorRoot\", componentId: \"sc-7fx0kf\" }) `${_fontFamilyStyles} -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;*{box-sizing:border-box;}${getMediaQueryVars()};background-color:${() => mainThemeColors.background.primary};`;\nexport const IntegratorRoot = (props) => {\n const { language, children } = props;\n const commonProps = getCommonProps(props);\n return (React.createElement(StyledIntegratorRoot, Object.assign({ lang: language }, commonProps),\n React.createElement(GlobalStyle, null),\n children));\n};\n","import { compareBreakpoints } from '../helpers/breakpoint';\nimport { getDynamicTokens } from './dynamic-tokens';\nimport { createCSSVarName } from './create-css-var-name';\nimport { designTokens } from './example-design-tokens';\nexport function getMediaQueryVars(optionsOverride) {\n const tokens = optionsOverride\n ? optionsOverride.tokens\n : undefined;\n const dynamicTokens = getDynamicTokens(tokens || designTokens);\n return Object.keys(dynamicTokens)\n .sort(compareBreakpoints)\n .reduce((result, breakpoint) => {\n const styles = Object.keys(dynamicTokens[breakpoint]).reduce((cssVars, path) => `\n\t\t\t\t${cssVars}\n\t\t\t\t${createCSSVarName(path)}: ${dynamicTokens[breakpoint][path]};\n\t\t\t`, '');\n return breakpoint === '0'\n ? `${styles}\n\t\t\t\t\t${result}`\n : `${result}\n\t\t\t\t\t@media (min-width: ${breakpoint}) {\n\t\t\t\t\t\t${styles}\n\t\t\t\t\t}`;\n }, '');\n}\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { ThemeName, ThemeProvider, styled, IntegratorRoot } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { Store } from 'redux';\nimport { FeatureAppEnvironmentContext } from 'src/feature-app/hooks/use-feature-app-environment';\nimport { OneFormContext, OneFormProvider } from './OneForm';\nimport { getSentryHub } from './sentry';\nimport ErrorBoundary from './sentry/ErrorBoundary';\n\ninterface LayerManagerWrapperProps {\n children: JSX.Element;\n theme?: ThemeName;\n store: Store;\n env: FeatureAppEnvironment;\n useOneFormContext?: any;\n close?: CloseHandleV2;\n}\n\nexport function LayerManagerWrapper({ children, theme, store, env, close }: LayerManagerWrapperProps) {\n const sentryHub = getSentryHub();\n\n return (\n \n \n \n \n \n {}} closeLayerCallback={() => {}}>\n {children}\n \n \n \n \n \n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Loader } from '@googlemaps/js-api-loader';\nimport { getGoogleApiKey } from 'src/bff';\n\nconst libraries = ['places'];\n\nexport default function LoadScriptInstance(props: any) {\n const [isLoaded, setIsLoaded] = useState(false);\n\n const loader = new Loader({\n apiKey: getGoogleApiKey(),\n libraries: ['places'],\n language: 'es',\n });\n\n useEffect(() => {\n const useLoader = async () => {\n const load = await loader.load();\n setIsLoaded(true);\n props.onMapLoad();\n };\n useLoader();\n }, []);\n\n return isLoaded ? props.children : null;\n}\n","import { BBox } from 'geojson';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { DealersData, Geometry, Installation, isDealerData, OneFormState, SelectedTab } from 'src/types';\nimport { Points } from 'src/types';\nimport { isGooglePlace, Suggestion } from 'src/feature-app/NewMap';\nimport { getGeometry, getPoints, getUserGeolocation, getUserSuggestion } from '../redux/selectors';\nimport { generateClusters } from 'src/feature-app/NewMap/generate-clusters';\nimport { getLocationOfDealerWithoutLoadInstance } from 'src/feature-app/NewMap/utils';\n\nexport const MapGeneralControllerContext = React.createContext(null);\nexport const useMapGeneralController = (): MapGeneralControllerMethods =>\n React.useContext(MapGeneralControllerContext) as MapGeneralControllerMethods;\n\ninterface MapGeneralControllerMethods {\n cardsDistanceRef: React.MutableRefObject;\n cardsTimeRef: React.MutableRefObject;\n centerInGeoLocatedCenter: () => void;\n centerMap: (newCenter: google.maps.LatLng) => void;\n centerToCalculateDistance: React.MutableRefObject;\n clusters: Points[];\n geoLocatedCenterRef: React.MutableRefObject;\n getNewClusters: () => void;\n handleApiLoaded: (map: google.maps.Map, maps: any) => void;\n handleChangeInMapZoom: (zoomIn: boolean) => void;\n handleClusterClick: (point: Points, isCluster?: boolean, recalculateClusters?: boolean) => void;\n handleHoverPoint: (p: Points) => void;\n handleMapMovement: () => void;\n handlePointClickAndCarouselMove: (p: Points, s?: boolean, preSelectedOrderValue?: SelectedTab) => void;\n handleSelectedPoint: (p: Points) => void;\n hoverPoint: Points;\n resetMap: () => void;\n mapHasMoved: boolean;\n mapMaxZoom: number;\n markerDimensions: MarkerDimensions;\n searchIsDealer: boolean;\n searchMoreDealers: () => void;\n moreDealersSearched: boolean;\n setMoreDealersSearched: React.Dispatch>;\n selectedPoint: Points;\n setSearchIsDealer: React.Dispatch>;\n superClusterRef: any;\n userIsGeoLocated: boolean;\n centerRef: React.MutableRefObject;\n}\nexport interface MarkerDimensions {\n width: number;\n height: number;\n}\n\nconst markerDimensions: MarkerDimensions = { width: 32, height: 44 };\nconst mapMaxZoom = 16;\n\nconst MapGeneralController = React.memo(\n (props: {\n children: JSX.Element;\n points: Points[];\n geometry: Geometry;\n userSuggestion: Suggestion;\n userGeolocation: Suggestion;\n dealer?: DealersData;\n skipMapMovementOnClick?: boolean;\n }) => {\n const { points, geometry, children, userSuggestion, userGeolocation, dealer, skipMapMovementOnClick } = props;\n // const { debug } = useOneFormContext(); // Causa de los rerenders\n const boundsRef = useRef(null);\n const zoomRef = useRef(null);\n const centerRef = useRef(null);\n const geoLocatedCenterRef = useRef(null);\n const centerToCalculateDistance = useRef(null);\n const mapRef = useRef(null);\n const mapsRef = useRef(null);\n const [selectedPoint, setSelectedPoint] = useState(null);\n const [hoverPoint, setHoverPoint] = useState(null);\n const [clusters, setClusters] = useState([]);\n const superClusterRef = useRef(null);\n const cardsTimeRef = useRef([]);\n const cardsDistanceRef = useRef([]);\n const [mapHasMoved, setMapHasMoved] = useState(false);\n const [searchIsDealer, setSearchIsDealer] = useState(null);\n const [userIsGeoLocated, setUserIsGeoLocated] = useState(null);\n const zoomListenerRef = useRef(null);\n const [moreDealersSearched, setMoreDealersSearched] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!userSuggestion) return;\n setMapHasMoved(false);\n if (isGooglePlace(userSuggestion)) {\n setSearchIsDealer(false);\n } else {\n setSearchIsDealer(true);\n\n // Hay que preseleccionar el dealer elegido\n if (points) {\n const selectedCluster = points.find((cluster) => { \n if (cluster.properties.dealer) {\n return (\n (!isGooglePlace(userSuggestion) && isDealerData(userSuggestion) &&\n cluster.properties.dealer.kvps === userSuggestion.kvps)\n ||\n (!isGooglePlace(userSuggestion) && !isDealerData(userSuggestion) &&\n cluster.properties.dealer.kvps === (userSuggestion as Installation).KVPSCode__c)\n );\n } else {\n return false;\n }\n });\n selectedCluster && handleSelectedPoint(selectedCluster);\n }\n\n }\n if (mapRef.current && mapsRef.current) {\n if (isGooglePlace(userSuggestion)) {\n initializeMapWithBounds(geometry.viewport);\n } else {\n if (geometry) {\n initalizeMapWithCenter(geometry.lat, geometry.lng);\n }\n }\n }\n }, [userSuggestion, points]);\n\n useEffect(() => {\n setMounted(true);\n return () => {\n mapRef.current = null;\n mapsRef.current = null;\n setMounted(false);\n };\n }, []);\n\n useEffect(() => {\n if (userGeolocation) {\n setUserIsGeoLocated(true);\n } else {\n setUserIsGeoLocated(false);\n geoLocatedCenterRef.current = null;\n }\n }, [userGeolocation]);\n\n const resetMap = () => {\n mapRef.current = null;\n mapsRef.current = null;\n };\n\n const handleApiLoaded = (map: google.maps.Map, maps: any) => {\n // En el caso de que se haya interactuado con el mapa y se oculte por alguna razón (calendario, filtros, etc),\n // se vuelve a crear una nueva instancia del mismo, perdiendo cualquier interacción creandose de nuevo el mapa\n // con la información inicial.\n if (!mapRef.current && !mapsRef.current) {\n mapRef.current = map;\n mapsRef.current = maps;\n\n window.map = map;\n window.maps = maps;\n setMapHasMoved(false);\n if (geometry && geometry.bounds) {\n // Caso de geolocalización o búsqueda de google\n initializeMapWithBounds(geometry.bounds);\n } else if (geometry && geometry.viewport) {\n // Caso de geolocalización o búsqueda de google\n initializeMapWithBounds(geometry.viewport);\n } else if (geometry && geometry.lat && geometry.lng) {\n // Caso dealer\n initalizeMapWithCenter(geometry.lat, geometry.lng);\n } else {\n // Caso Cita posventa Dealer. En este caso al no haber precargado el mapa anteriormente en el autosuggest no están las variables\n // de maps disponibles, por lo que se tienen que crear con el mapa que sea acaba de crear y sin usar LoadInstance.\n const { lat, lng } = getLocationOfDealerWithoutLoadInstance(dealer, maps);\n initalizeMapWithCenter(lat, lng);\n }\n setZoomListener(map, maps);\n } else {\n removeZoomListener(mapsRef.current);\n // Lógica para recrear el mapa antes de su ocultación.\n map.setCenter(centerRef.current);\n map.fitBounds(transformClusterBoundsToGoogleBounds(boundsRef.current));\n map.setZoom(zoomRef.current);\n\n mapRef.current = map;\n mapsRef.current = maps;\n setZoomListener(map, maps);\n }\n };\n\n const initializeMapWithBounds = (bounds: google.maps.LatLngBounds) => {\n handleSelectedPoint(null);\n // No debería ser necesario crear las siguientes variables, ya que con center y bounds funciona la primera carga.\n // Por alguna razón, después de seleccionar una cita y volver atrás da este error:\n // InvalidValueError: setCenter: not a LatLng or LatLngLiteral with finite coordinates: in property lat: not a number.\n // a pesar de que bounds es el mismo que en la primera carga y lat si que es un número.\n // Al calcular cada variable por separado no se produce este error.\n\n const { north, east, south, west } = getCardinalPoints(bounds);\n const sw = createLatLng(south, west);\n const ne = createLatLng(north, east);\n const newBounds = new mapsRef.current.LatLngBounds(sw, ne);\n const center = newBounds.getCenter();\n const lat = center.lat();\n const lng = center.lng();\n const latlng = createLatLng(lat, lng);\n\n mapRef.current.setCenter(latlng);\n mapRef.current.fitBounds(newBounds, 0);\n const clusterBounds: BBox = transformGoogleBoundsToClusterBounds(newBounds);\n if (isGooglePlace(userSuggestion) && userSuggestion.isGeoLocated) {\n geoLocatedCenterRef.current = center;\n }\n if (!geoLocatedCenterRef.current) {\n centerToCalculateDistance.current = center;\n } else {\n centerToCalculateDistance.current = geoLocatedCenterRef.current;\n }\n setTimeout(() => {\n mapRef.current.panTo(center);\n }, 0);\n setMapClusters(points, mapRef.current.getZoom(), clusterBounds, center);\n };\n\n const initalizeMapWithCenter = (lat: number, lng: number) => {\n const zoom = 16;\n const latlng = createLatLng(lat, lng);\n mapRef.current.setCenter(latlng);\n mapRef.current.setZoom(zoom);\n const bounds = getBounds();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n centerToCalculateDistance.current = latlng;\n setMapClusters(points, zoom, clusterBounds, latlng);\n };\n\n const setZoomListener = (map: google.maps.Map, maps: any) => {\n if (maps) {\n const listener = maps.event.addListener(map, 'zoom_changed', () => {\n const zoom = map.getZoom();\n // setMapClusters(points, zoom, boundsRef.current, centerRef.current);\n zoomRef.current = zoom;\n });\n zoomListenerRef.current = listener;\n }\n };\n\n const removeZoomListener = (maps: any) => {\n maps.event.removeListener(zoomListenerRef.current);\n };\n\n const setMapClusters = (\n points: Points[],\n zoom: number,\n bounds: BBox,\n center: google.maps.LatLng,\n param?: boolean\n ) => {\n // Solución al bug Uncaught RangeError: Maximum call stack size exceeded.\n\n if (zoom < 0) {\n return;\n }\n const { clusters, supercluster }: { clusters: Points[]; supercluster: any } = generateClusters(\n points,\n zoom,\n bounds\n );\n superClusterRef.current = supercluster;\n\n // En caso de que no encuentre dealers en la ubicación seleccionada en una búsqueda de google se hace zoom out\n // hasta que encuentre al menos 2. En caso de que sea una búsqueda de dealer, buscamos hasta encontrar 1.\n // Usamos isGooglePlace y no el flag the searchIsDealer porque en la primera carga no está disponible.\n let pointCount = getPointCount(clusters);\n\n if (pointCount > 1 && !isGooglePlace(userSuggestion)) {\n }\n\n if ((pointCount < 2 && isGooglePlace(userSuggestion)) || (pointCount === 0 && !isGooglePlace(userSuggestion))) {\n const { center, clusterBounds } = zoomOutMapForSearch(zoom);\n setMapClusters(points, zoom - 1, clusterBounds, center);\n return;\n }\n\n changeMapVariables(bounds, zoom, center);\n drawRectangle();\n\n if (userSuggestion && (!('isGooglePlace' in userSuggestion) || !userSuggestion.isGooglePlace) && searchIsDealer && !param) {\n const point = clusters.find((point) => {\n if (isDealerData(userSuggestion)) {\n return point.properties.dealer.kvps === (userSuggestion as DealersData).kvps;\n } else {\n return point.properties.dealer.kvps === (userSuggestion as Installation).KVPSCode__c;\n }\n });\n setClusters([point]);\n } else {\n setClusters(clusters);\n }\n };\n\n const getNewClusters = () => {\n resetCardReferences();\n const bounds = getBounds();\n const center = centerToCalculateDistance.current;\n const zoom = mapRef.current.getZoom();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n setSearchIsDealer(false);\n setMapClusters(points, zoom, clusterBounds, center, true);\n setMoreDealersSearched(true);\n setMapHasMoved(false);\n };\n\n /**\n * Función que hace zoom out, útil para realizar búsquedas de más talleres en caso de que los resultados no sean los deseados.\n * @param zoom\n */\n const zoomOutMapForSearch = (zoom: number) => {\n mapRef.current.setZoom(zoom);\n const bounds = mapRef.current.getBounds();\n const center = bounds.getCenter();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n return { bounds, center, clusterBounds };\n };\n\n /**\n * Devuelve el número de puntos que se encuentran dentro de los clusters.\n * @param clusters\n */\n const getPointCount = (clusters: Points[]): number => {\n return clusters.reduce((acc, cluster) => {\n if (cluster.properties.cluster) {\n return acc + cluster.properties.point_count;\n } else {\n return acc + 1;\n }\n }, 0);\n };\n\n /**\n * CTA Ver más talleres en la zona. Se hace un zoom out hasta que se encuentra mínimo un taller más\n */\n const searchMoreDealers = () => {\n setSearchIsDealer(false);\n setMapHasMoved(true);\n const { center, clusterBounds } = zoomOutMapForSearch(zoomRef.current);\n\n const { clusters } = generateClusters(points, zoomRef.current, clusterBounds);\n setMapClusters(points, zoomRef.current, clusterBounds, center, true);\n setMoreDealersSearched(true);\n let pointCount = getPointCount(clusters);\n\n if (pointCount === 1) {\n searchMoreDealers();\n }\n };\n\n /**\n * Las bounds de google maps van en referencia a SW y NE. No obstante las bounds necesarias para obtener los clusters van en referencia\n * NW y SE por lo que hay que obenter la equivalencia para que funcione correctamente.\n * @param googleBounds\n */\n const transformGoogleBoundsToClusterBounds = (googleBounds: google.maps.LatLngBounds): BBox => {\n const { north, east, south, west } = getCardinalPoints(googleBounds);\n\n return [west, south, east, north];\n };\n\n const transformClusterBoundsToGoogleBounds = (bounds: BBox): google.maps.LatLngBounds => {\n const sw = createLatLng(bounds[1], bounds[0]);\n const ne = createLatLng(bounds[3], bounds[2]);\n return new mapsRef.current.LatLngBounds(sw, ne);\n // const { north, east, south, west } = getCardinalPoints(bounds);\n\n // return [west, south, east, north];\n };\n\n const getCardinalPoints = (bounds: google.maps.LatLngBounds) => {\n const north = bounds.getNorthEast().lat();\n const east = bounds.getNorthEast().lng();\n const south = bounds.getSouthWest().lat();\n const west = bounds.getSouthWest().lng();\n\n return { north, east, south, west };\n };\n\n const getBounds = (): google.maps.LatLngBounds => mapRef.current.getBounds();\n\n /**\n * Transforma las coordenadas del point en coordenadas LatLng de Google Maps.\n * @param point\n */\n const getLatLngFromPoint = (point: Points): google.maps.LatLng =>\n createLatLng(point.geometry.coordinates[1], point.geometry.coordinates[0]);\n\n const createLatLng = (lat: number, lng: number): google.maps.LatLng => new mapsRef.current.LatLng(lat, lng);\n\n const changeMapVariables = (newBounds: BBox, zoom: number, center: google.maps.LatLng) => {\n // setBounds(newBounds);\n // mapRef.current.setZoom(zoom);\n boundsRef.current = newBounds;\n zoomRef.current = zoom;\n centerRef.current = center;\n if (isGooglePlace(userSuggestion) && !userGeolocation) {\n centerToCalculateDistance.current = center;\n }\n };\n\n const handleChangeInMapZoom = (zoomIn: boolean) => {\n const zoom = mapRef.current.getZoom();\n const newZoom = zoomIn ? zoom + 1 : zoom - 1;\n mapRef.current.setZoom(newZoom);\n\n handleMapMovement();\n };\n\n const handlePointClickAndCarouselMove = useCallback(\n (point: Points, scroll?: boolean, preSelectedOrderValue?: SelectedTab) => {\n handleSelectedPoint(point);\n\n if (scroll) {\n const cards = preSelectedOrderValue === 'horario' ? cardsTimeRef : cardsDistanceRef;\n const card = cards.current.find((el) => el.className.includes(point.properties.dealer.kvps));\n\n if (card) {\n // Añadir restriccion a solo desktop\n card.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }\n }\n if (!skipMapMovementOnClick && checkIfPointIsInsideBounds(point)) {\n moveMapIfIsSlightlyOutBounds(point);\n } else {\n mapRef.current.panTo(getLatLngFromPoint(point));\n }\n },\n []\n );\n\n const handleSelectedPoint = useCallback((point: Points | null) => {\n setSelectedPoint(point);\n }, []);\n\n const handleHoverPoint = useCallback((point: Points | null) => {\n setHoverPoint(point);\n }, []);\n\n /**\n * Al clickar sobre un cluster se han de separar los dealers que contenga y hacer un zoom sobre la zona\n * sin perder los pines de la búsqueda anterior.\n * @param point\n * @param isCluster Este parámetro solo se usa cuando se clicka sobre una card para hacer el máximo zoom posible, ya\n * que si el pin se encuentra dentro de dos clusters no llega a mostrarlo correctamente con el expansion zoom.\n * @param recalculateClusters En mobile no funciona correctamente el recalculo de clusters ya que el mapa no está montado\n * y no se dispara el evento de zoom_changed por lo que necesitamos recalcular los clusters a mano para que al volver al mapa\n * estén los clusters correspondientes al nuevo zoom.\n */\n const handleClusterClick = (point: Points, isCluster?: boolean, recalculateClusters?: boolean) => {\n // breakCluster(clusterId);\n const parentCluster = clusters.find(\n (cluster) =>\n cluster.properties.cluster && (cluster.id === point.properties.parent_cluster_id || cluster.id === point.id)\n );\n if (parentCluster) {\n handleSelectedPoint(point);\n\n // Cálculo del zoom mínimo de exapansión + 1 para que se vean correctamente los nuevos pines en el mapa.\n const expansionZoom =\n isCluster && parentCluster.properties.point_count > 2\n ? mapMaxZoom - 3\n : Math.min(superClusterRef.current.getClusterExpansionZoom(parentCluster.id), mapMaxZoom);\n const center = createLatLng(point.geometry.coordinates[1], point.geometry.coordinates[0]);\n\n mapRef.current.setCenter(center);\n mapRef.current.setZoom(expansionZoom);\n zoomRef.current = expansionZoom;\n\n if (recalculateClusters || recalculateClusters === undefined) {\n setMapClusters(points, expansionZoom, boundsRef.current, center);\n }\n } else {\n handlePointClickAndCarouselMove(point, false);\n }\n };\n\n const resetCardReferences = () => {\n cardsDistanceRef.current = [];\n cardsTimeRef.current = [];\n };\n\n /**\n * Comprueba si el point se encuentra dentro o fuera de los límites para centrar el mapa en caso de que esté fuera.\n * @param point\n */\n const checkIfPointIsInsideBounds = (point: Points): boolean => {\n const bounds = getBounds();\n if (bounds.contains(getLatLngFromPoint(point))) {\n return true;\n } else {\n return false;\n }\n };\n\n /**\n * Si el pin se encuentra visualmente fuera de los límites del mapa hay que moverlo para que aparezca entero.\n */\n const moveMapIfIsSlightlyOutBounds = (point: Points) => {\n const lat = point.geometry.coordinates[1];\n const lng = point.geometry.coordinates[0];\n const { north, east, south, west } = getCardinalPoints(getBounds());\n const pointLatLng = getLatLngFromPoint(point);\n const northPoint = createLatLng(north, lng);\n const eastPoint = createLatLng(lat, east);\n const southPoint = createLatLng(south, lng);\n const westPoint = createLatLng(lat, west);\n\n const northDistance = distanceInPx(pointLatLng, northPoint);\n const eastDistance = distanceInPx(pointLatLng, eastPoint);\n const southDistance = distanceInPx(pointLatLng, southPoint);\n const westDistance = distanceInPx(pointLatLng, westPoint);\n\n let y = calculateY(northDistance, southDistance);\n let x = null;\n\n if (eastDistance < markerDimensions.width) {\n x = calculateEastDistance(eastDistance, southDistance);\n }\n if (westDistance < markerDimensions.width) {\n x = -markerDimensions.width;\n }\n if (x || y) {\n mapRef.current.panBy(x, y);\n }\n };\n\n const calculateY = (northDistance: number, southDistance: number) => {\n const south = calculateSouthDistance(southDistance);\n const north = -calculateNorthDistance(northDistance);\n\n if (south) {\n return south;\n }\n return north;\n };\n\n /**\n * Este cálculo se realiza por separado ya que en mobile está el carousel por encima y requiere más lógica.\n * @param southDistance\n */\n const calculateSouthDistance = (southDistance: number): number | null => {\n if (window.innerWidth < 960) {\n if (southDistance < markerDimensions.height + 220) {\n return markerDimensions.height + 220;\n }\n } else {\n if (southDistance < markerDimensions.height) {\n return markerDimensions.height;\n }\n }\n return 0;\n };\n\n const calculateNorthDistance = (northDistance: number): number | null => {\n if (window.innerWidth < 960) {\n if (northDistance < markerDimensions.height + 100) {\n return markerDimensions.height + 100;\n }\n } else {\n if (northDistance < markerDimensions.height + 56) {\n return markerDimensions.height + 56;\n } else {\n return 0;\n }\n }\n return 0;\n };\n\n const calculateEastDistance = (eastDistance: number, southDistance: number): number | null => {\n if (window.innerWidth < 959) {\n if (eastDistance < markerDimensions.width + 69 && southDistance < markerDimensions.height + 197) {\n return markerDimensions.width + 69;\n } else {\n return markerDimensions.height;\n }\n } else {\n return markerDimensions.width;\n }\n };\n /**\n * Devuelve la distancia en píxels entre dos puntos del mapa.\n *\n * @param position1\n * @param position2\n */\n const distanceInPx = (position1: google.maps.LatLng, position2: google.maps.LatLng) => {\n var p1 = mapRef.current.getProjection().fromLatLngToPoint(position1);\n var p2 = mapRef.current.getProjection().fromLatLngToPoint(position2);\n\n var pixelSize = Math.pow(2, -mapRef.current.getZoom());\n\n var d = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)) / pixelSize;\n\n return d;\n };\n\n /**\n * Dibuja las bounds en el mapa.\n * @param bounds\n */\n const drawRectangle = () => {\n new mapsRef.current.Rectangle({\n strokeColor: '#FF0000',\n strokeOpacity: 0, //debug ? 0.8 : 0,\n strokeWeight: 2,\n fillColor: '#FF0000',\n fillOpacity: 0, //debug ? 0.35 : 0,\n map: mapRef.current,\n bounds: getBounds(),\n });\n };\n\n const centerInGeoLocatedCenter = useCallback(() => {\n mapRef.current.setCenter(geoLocatedCenterRef.current);\n }, []);\n\n const centerMap = useCallback((newCenter: google.maps.LatLng) => {\n mapRef.current.setCenter(newCenter);\n }, []);\n\n const handleMapMovement = () => {\n if (!mapHasMoved) {\n setMapHasMoved(true);\n }\n };\n\n return (\n \n {children}\n \n );\n }\n);\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n points: getPoints(state),\n geometry: getGeometry(state),\n userSuggestion: getUserSuggestion(state),\n userGeolocation: getUserGeolocation(state),\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(MapGeneralController);\n\nexport { ConnectedComponent as MapGeneralController };\n","\nexport default function sortKD(ids, coords, nodeSize, left, right, depth) {\n if (right - left <= nodeSize) return;\n\n const m = (left + right) >> 1;\n\n select(ids, coords, m, left, right, depth % 2);\n\n sortKD(ids, coords, nodeSize, left, m - 1, depth + 1);\n sortKD(ids, coords, nodeSize, m + 1, right, depth + 1);\n}\n\nfunction select(ids, coords, k, left, right, inc) {\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n select(ids, coords, k, newLeft, newRight, inc);\n }\n\n const t = coords[2 * k + inc];\n let i = left;\n let j = right;\n\n swapItem(ids, coords, left, k);\n if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right);\n\n while (i < j) {\n swapItem(ids, coords, i, j);\n i++;\n j--;\n while (coords[2 * i + inc] < t) i++;\n while (coords[2 * j + inc] > t) j--;\n }\n\n if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j);\n else {\n j++;\n swapItem(ids, coords, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\nfunction swapItem(ids, coords, i, j) {\n swap(ids, i, j);\n swap(coords, 2 * i, 2 * j);\n swap(coords, 2 * i + 1, 2 * j + 1);\n}\n\nfunction swap(arr, i, j) {\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n","\nexport default function within(ids, coords, qx, qy, r, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n const r2 = r * r;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n const x = coords[2 * m];\n const y = coords[2 * m + 1];\n\n if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? qx - r <= x : qy - r <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? qx + r >= x : qy + r >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n\nfunction sqDist(ax, ay, bx, by) {\n const dx = ax - bx;\n const dy = ay - by;\n return dx * dx + dy * dy;\n}\n","\nimport sort from './sort';\nimport range from './range';\nimport within from './within';\n\nconst defaultGetX = p => p[0];\nconst defaultGetY = p => p[1];\n\nexport default class KDBush {\n constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) {\n this.nodeSize = nodeSize;\n this.points = points;\n\n const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array;\n\n const ids = this.ids = new IndexArrayType(points.length);\n const coords = this.coords = new ArrayType(points.length * 2);\n\n for (let i = 0; i < points.length; i++) {\n ids[i] = i;\n coords[2 * i] = getX(points[i]);\n coords[2 * i + 1] = getY(points[i]);\n }\n\n sort(ids, coords, nodeSize, 0, ids.length - 1, 0);\n }\n\n range(minX, minY, maxX, maxY) {\n return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize);\n }\n\n within(x, y, r) {\n return within(this.ids, this.coords, x, y, r, this.nodeSize);\n }\n}\n","\nexport default function range(ids, coords, minX, minY, maxX, maxY, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n let x, y;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n x = coords[2 * i];\n y = coords[2 * i + 1];\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n x = coords[2 * m];\n y = coords[2 * m + 1];\n\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? minX <= x : minY <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? maxX >= x : maxY >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n","\nimport KDBush from 'kdbush';\n\nconst defaultOptions = {\n minZoom: 0, // min zoom to generate clusters on\n maxZoom: 16, // max zoom level to cluster the points on\n minPoints: 2, // minimum points to form a cluster\n radius: 40, // cluster radius in pixels\n extent: 512, // tile extent (radius is calculated relative to it)\n nodeSize: 64, // size of the KD-tree leaf node, affects performance\n log: false, // whether to log timing info\n\n // whether to generate numeric ids for input features (in vector tiles)\n generateId: false,\n\n // a reduce function for calculating custom cluster properties\n reduce: null, // (accumulated, props) => { accumulated.sum += props.sum; }\n\n // properties to use for individual points when running the reducer\n map: props => props // props => ({sum: props.my_value})\n};\n\nconst fround = Math.fround || (tmp => ((x) => { tmp[0] = +x; return tmp[0]; }))(new Float32Array(1));\n\nexport default class Supercluster {\n constructor(options) {\n this.options = extend(Object.create(defaultOptions), options);\n this.trees = new Array(this.options.maxZoom + 1);\n }\n\n load(points) {\n const {log, minZoom, maxZoom, nodeSize} = this.options;\n\n if (log) console.time('total time');\n\n const timerId = `prepare ${ points.length } points`;\n if (log) console.time(timerId);\n\n this.points = points;\n\n // generate a cluster object for each point and index input points into a KD-tree\n let clusters = [];\n for (let i = 0; i < points.length; i++) {\n if (!points[i].geometry) continue;\n clusters.push(createPointCluster(points[i], i));\n }\n this.trees[maxZoom + 1] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.timeEnd(timerId);\n\n // cluster points on max zoom, then cluster the results on previous zoom, etc.;\n // results in a cluster hierarchy across zoom levels\n for (let z = maxZoom; z >= minZoom; z--) {\n const now = +Date.now();\n\n // create a new set of clusters for the zoom and index them with a KD-tree\n clusters = this._cluster(clusters, z);\n this.trees[z] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.log('z%d: %d clusters in %dms', z, clusters.length, +Date.now() - now);\n }\n\n if (log) console.timeEnd('total time');\n\n return this;\n }\n\n getClusters(bbox, zoom) {\n let minLng = ((bbox[0] + 180) % 360 + 360) % 360 - 180;\n const minLat = Math.max(-90, Math.min(90, bbox[1]));\n let maxLng = bbox[2] === 180 ? 180 : ((bbox[2] + 180) % 360 + 360) % 360 - 180;\n const maxLat = Math.max(-90, Math.min(90, bbox[3]));\n\n if (bbox[2] - bbox[0] >= 360) {\n minLng = -180;\n maxLng = 180;\n } else if (minLng > maxLng) {\n const easternHem = this.getClusters([minLng, minLat, 180, maxLat], zoom);\n const westernHem = this.getClusters([-180, minLat, maxLng, maxLat], zoom);\n return easternHem.concat(westernHem);\n }\n\n const tree = this.trees[this._limitZoom(zoom)];\n const ids = tree.range(lngX(minLng), latY(maxLat), lngX(maxLng), latY(minLat));\n const clusters = [];\n for (const id of ids) {\n const c = tree.points[id];\n clusters.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n return clusters;\n }\n\n getChildren(clusterId) {\n const originId = this._getOriginId(clusterId);\n const originZoom = this._getOriginZoom(clusterId);\n const errorMsg = 'No cluster with the specified id.';\n\n const index = this.trees[originZoom];\n if (!index) throw new Error(errorMsg);\n\n const origin = index.points[originId];\n if (!origin) throw new Error(errorMsg);\n\n const r = this.options.radius / (this.options.extent * Math.pow(2, originZoom - 1));\n const ids = index.within(origin.x, origin.y, r);\n const children = [];\n for (const id of ids) {\n const c = index.points[id];\n if (c.parentId === clusterId) {\n children.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n }\n\n if (children.length === 0) throw new Error(errorMsg);\n\n return children;\n }\n\n getLeaves(clusterId, limit, offset) {\n limit = limit || 10;\n offset = offset || 0;\n\n const leaves = [];\n this._appendLeaves(leaves, clusterId, limit, offset, 0);\n\n return leaves;\n }\n\n getTile(z, x, y) {\n const tree = this.trees[this._limitZoom(z)];\n const z2 = Math.pow(2, z);\n const {extent, radius} = this.options;\n const p = radius / extent;\n const top = (y - p) / z2;\n const bottom = (y + 1 + p) / z2;\n\n const tile = {\n features: []\n };\n\n this._addTileFeatures(\n tree.range((x - p) / z2, top, (x + 1 + p) / z2, bottom),\n tree.points, x, y, z2, tile);\n\n if (x === 0) {\n this._addTileFeatures(\n tree.range(1 - p / z2, top, 1, bottom),\n tree.points, z2, y, z2, tile);\n }\n if (x === z2 - 1) {\n this._addTileFeatures(\n tree.range(0, top, p / z2, bottom),\n tree.points, -1, y, z2, tile);\n }\n\n return tile.features.length ? tile : null;\n }\n\n getClusterExpansionZoom(clusterId) {\n let expansionZoom = this._getOriginZoom(clusterId) - 1;\n while (expansionZoom <= this.options.maxZoom) {\n const children = this.getChildren(clusterId);\n expansionZoom++;\n if (children.length !== 1) break;\n clusterId = children[0].properties.cluster_id;\n }\n return expansionZoom;\n }\n\n _appendLeaves(result, clusterId, limit, offset, skipped) {\n const children = this.getChildren(clusterId);\n\n for (const child of children) {\n const props = child.properties;\n\n if (props && props.cluster) {\n if (skipped + props.point_count <= offset) {\n // skip the whole cluster\n skipped += props.point_count;\n } else {\n // enter the cluster\n skipped = this._appendLeaves(result, props.cluster_id, limit, offset, skipped);\n // exit the cluster\n }\n } else if (skipped < offset) {\n // skip a single point\n skipped++;\n } else {\n // add a single point\n result.push(child);\n }\n if (result.length === limit) break;\n }\n\n return skipped;\n }\n\n _addTileFeatures(ids, points, x, y, z2, tile) {\n for (const i of ids) {\n const c = points[i];\n const isCluster = c.numPoints;\n\n let tags, px, py;\n if (isCluster) {\n tags = getClusterProperties(c);\n px = c.x;\n py = c.y;\n } else {\n const p = this.points[c.index];\n tags = p.properties;\n px = lngX(p.geometry.coordinates[0]);\n py = latY(p.geometry.coordinates[1]);\n }\n\n const f = {\n type: 1,\n geometry: [[\n Math.round(this.options.extent * (px * z2 - x)),\n Math.round(this.options.extent * (py * z2 - y))\n ]],\n tags\n };\n\n // assign id\n let id;\n if (isCluster) {\n id = c.id;\n } else if (this.options.generateId) {\n // optionally generate id\n id = c.index;\n } else if (this.points[c.index].id) {\n // keep id if already assigned\n id = this.points[c.index].id;\n }\n\n if (id !== undefined) f.id = id;\n\n tile.features.push(f);\n }\n }\n\n _limitZoom(z) {\n return Math.max(this.options.minZoom, Math.min(Math.floor(+z), this.options.maxZoom + 1));\n }\n\n _cluster(points, zoom) {\n const clusters = [];\n const {radius, extent, reduce, minPoints} = this.options;\n const r = radius / (extent * Math.pow(2, zoom));\n\n // loop through each point\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n // if we've already visited the point at this zoom level, skip it\n if (p.zoom <= zoom) continue;\n p.zoom = zoom;\n\n // find all nearby points\n const tree = this.trees[zoom + 1];\n const neighborIds = tree.within(p.x, p.y, r);\n\n const numPointsOrigin = p.numPoints || 1;\n let numPoints = numPointsOrigin;\n\n // count the number of points in a potential cluster\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n // filter out neighbors that are already processed\n if (b.zoom > zoom) numPoints += b.numPoints || 1;\n }\n\n // if there were neighbors to merge, and there are enough points to form a cluster\n if (numPoints > numPointsOrigin && numPoints >= minPoints) {\n let wx = p.x * numPointsOrigin;\n let wy = p.y * numPointsOrigin;\n\n let clusterProperties = reduce && numPointsOrigin > 1 ? this._map(p, true) : null;\n\n // encode both zoom and point index on which the cluster originated -- offset by total length of features\n const id = (i << 5) + (zoom + 1) + this.points.length;\n\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n\n if (b.zoom <= zoom) continue;\n b.zoom = zoom; // save the zoom (so it doesn't get processed twice)\n\n const numPoints2 = b.numPoints || 1;\n wx += b.x * numPoints2; // accumulate coordinates for calculating weighted center\n wy += b.y * numPoints2;\n\n b.parentId = id;\n\n if (reduce) {\n if (!clusterProperties) clusterProperties = this._map(p, true);\n reduce(clusterProperties, this._map(b));\n }\n }\n\n p.parentId = id;\n clusters.push(createCluster(wx / numPoints, wy / numPoints, id, numPoints, clusterProperties));\n\n } else { // left points as unclustered\n clusters.push(p);\n\n if (numPoints > 1) {\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n if (b.zoom <= zoom) continue;\n b.zoom = zoom;\n clusters.push(b);\n }\n }\n }\n }\n\n return clusters;\n }\n\n // get index of the point from which the cluster originated\n _getOriginId(clusterId) {\n return (clusterId - this.points.length) >> 5;\n }\n\n // get zoom of the point from which the cluster originated\n _getOriginZoom(clusterId) {\n return (clusterId - this.points.length) % 32;\n }\n\n _map(point, clone) {\n if (point.numPoints) {\n return clone ? extend({}, point.properties) : point.properties;\n }\n const original = this.points[point.index].properties;\n const result = this.options.map(original);\n return clone && result === original ? extend({}, result) : result;\n }\n}\n\nfunction createCluster(x, y, id, numPoints, properties) {\n return {\n x: fround(x), // weighted cluster center; round for consistency with Float32Array index\n y: fround(y),\n zoom: Infinity, // the last zoom the cluster was processed at\n id, // encodes index of the first child of the cluster and its zoom level\n parentId: -1, // parent cluster id\n numPoints,\n properties\n };\n}\n\nfunction createPointCluster(p, id) {\n const [x, y] = p.geometry.coordinates;\n return {\n x: fround(lngX(x)), // projected point coordinates\n y: fround(latY(y)),\n zoom: Infinity, // the last zoom the point was processed at\n index: id, // index of the source feature in the original input array,\n parentId: -1 // parent cluster id\n };\n}\n\nfunction getClusterJSON(cluster) {\n return {\n type: 'Feature',\n id: cluster.id,\n properties: getClusterProperties(cluster),\n geometry: {\n type: 'Point',\n coordinates: [xLng(cluster.x), yLat(cluster.y)]\n }\n };\n}\n\nfunction getClusterProperties(cluster) {\n const count = cluster.numPoints;\n const abbrev =\n count >= 10000 ? `${Math.round(count / 1000) }k` :\n count >= 1000 ? `${Math.round(count / 100) / 10 }k` : count;\n return extend(extend({}, cluster.properties), {\n cluster: true,\n cluster_id: cluster.id,\n point_count: count,\n point_count_abbreviated: abbrev\n });\n}\n\n// longitude/latitude to spherical mercator in [0..1] range\nfunction lngX(lng) {\n return lng / 360 + 0.5;\n}\nfunction latY(lat) {\n const sin = Math.sin(lat * Math.PI / 180);\n const y = (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);\n return y < 0 ? 0 : y > 1 ? 1 : y;\n}\n\n// spherical mercator to longitude/latitude\nfunction xLng(x) {\n return (x - 0.5) * 360;\n}\nfunction yLat(y) {\n const y2 = (180 - y * 360) * Math.PI / 180;\n return 360 * Math.atan(Math.exp(y2)) / Math.PI - 90;\n}\n\nfunction extend(dest, src) {\n for (const id in src) dest[id] = src[id];\n return dest;\n}\n\nfunction getX(p) {\n return p.x;\n}\nfunction getY(p) {\n return p.y;\n}\n","import { BBox } from 'geojson';\nimport Supercluster from 'supercluster';\n\nexport const generateClusters = (points: any[], zoom: number, bounds: BBox): { clusters: any; supercluster: any } => {\n const options = { radius: 40, maxZoom: 20 };\n\n // const superclusterRef = useRef>();\n let supercluster;\n\n // const pointsRef = useRef>>();\n const zoomInt = Math.round(zoom);\n\n if (!supercluster) {\n supercluster = new Supercluster(options);\n supercluster.load(points);\n }\n\n if (bounds) {\n const clusters = supercluster.getClusters(bounds, zoomInt);\n return { clusters, supercluster };\n }\n return { clusters: null, supercluster: null };\n};\n","import { getReverseGeocode } from 'src/feature-app';\nimport { Geometry } from 'src/types';\n\nfunction getCurrentPosition(options = { timeout: 10000 }): Promise {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resolve, reject, options);\n });\n}\n\nexport const handleLocation = async (): Promise<{ geometry: Geometry; name: string }> => {\n try {\n const { coords } = await getCurrentPosition();\n const { latitude, longitude } = coords;\n const { geometry, name } = await getReverseGeocode({ lat: latitude, lng: longitude });\n\n return { geometry, name };\n // Handle coordinates\n } catch (error) {\n // Handle error\n console.error(error);\n return { geometry: null, name: '' };\n }\n};\n","import { useEffect, useState } from 'react';\nimport { Points } from 'src/types';\n\nexport const usePinState = (selectedPoint: Points, hoverPoint: Points, point: Points) => {\n const [isActive, setIsActive] = useState(false);\n const [isHover, setIsHover] = useState(false);\n\n useEffect(() => {\n if (selectedPoint) {\n if (isCluster(point)) {\n sameClusterId(selectedPoint, point) ? setIsActive(true) : setIsActive(false);\n } else {\n sameKvps(selectedPoint, point) ? setIsActive(true) : setIsActive(false);\n }\n }\n\n if (hoverPoint) {\n if (window.innerWidth < 959) {\n // Hover solo se aplica a desktop\n setIsHover(false);\n } else {\n if (isCluster(point)) {\n sameClusterId(hoverPoint, point) ? setIsHover(true) : setIsHover(false);\n } else {\n sameKvps(hoverPoint, point) ? setIsHover(true) : setIsHover(false);\n }\n }\n }\n }, [selectedPoint, hoverPoint]);\n\n return { isActive, isHover };\n};\n\nconst isCluster = (point: Points) => point.properties.cluster;\n\nconst sameClusterId = (selectedPoint: Points, point: Points) => {\n if (selectedPoint.properties.parent_cluster_id && point.id) {\n return selectedPoint.properties.parent_cluster_id === point.id;\n }\n return false;\n};\nconst sameKvps = (selectedPoint: Points, point: Points) => {\n if (\n selectedPoint.properties &&\n selectedPoint.properties.dealer &&\n point.properties &&\n point.properties.dealer &&\n selectedPoint.properties.dealer.kvps === point.properties.dealer.kvps\n ) {\n return true;\n }\n return false;\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from 'src/feature-app';\n\nexport function useAddressPredictions(input: string, selectedValue: boolean): any[] {\n\n \n const [predictions, setPredictions] = useState([]);\n\n const autocomplete = useRef();\n\n if (!autocomplete.current && window.google) {\n autocomplete.current = new window.google.maps.places.AutocompleteService();\n }\n\n async function getPlacePredictions(input: string) {\n await autocomplete.current.getPlacePredictions(\n { input, types: ['geocode'], componentRestrictions: { country: 'es' } },\n (predictions) => {\n // El type regions también devuelve como resultado el país, por lo que hay que filtrarlo.\n if (predictions) {\n predictions = predictions.filter((prediction) => !prediction.types.includes('country'));\n setPredictions(predictions.map((prediction) => prediction.description));\n }\n }\n );\n }\n\n const debouncedGetPlacePredictions = useCallback(debounce(getPlacePredictions, 500), []);\n\n useEffect(() => {\n if (!selectedValue && input.length > 2) {\n debouncedGetPlacePredictions(input);\n }\n }, [input]);\n\n return predictions;\n}\n","import { checkIfMidDay, checkIfMorning, getNormalizedDate } from 'src/feature-app/NewMap';\nimport {\n getYYYYMMDDx, \n hourAndMinute,\n} from 'src/feature-app';\n\nexport const getFranjaAndDayFrom = (from: number): { day: string; franjaHoraria: 'Mañana' | 'Mediodía' | 'Tarde' } => {\n const day = getYYYYMMDDx(Number(from));\n const hour = hourAndMinute(from);\n const normalizdedDate = getNormalizedDate(hour);\n const franjaHoraria = checkIfMorning(normalizdedDate)\n ? 'Mañana'\n : checkIfMidDay(normalizdedDate)\n ? 'Mediodía'\n : 'Tarde';\n\n return { day, franjaHoraria };\n};\n","import {\n Assessors,\n Slot,\n} from 'src/types';\nimport dayjs from 'dayjs';\n\n\nexport const createNoDmsSlotAndAssessor = (franjaHoraria: string, day: string): { slot: Slot; assessor: Assessors } => {\n const from = Number(dayjs.utc(`${day} 01:00`, 'YYYY-MM-DD HH:mm').format('x'));\n const to = Number(dayjs.utc(`${day} 23:59`, 'YYYY-MM-DD HH:mm').format('x'));\n const code = franjaHoraria === 'Mañana' ? 'MANANA' : franjaHoraria === 'Mediodía' ? 'MEDIODIA' : 'TARDE';\n const assessor: Assessors = { code: '0', name: 'Todos' };\n const slot: Slot = {\n from,\n to,\n replacementCarServiceAvailable: false,\n dayMoment: {\n code,\n name: franjaHoraria,\n },\n assessorCode: '0',\n };\n\n return { slot, assessor };\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport { Calendar, FleetServicePrivate, CarPickupService } from 'src/icons-core-imports';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useMapGeneralController } from 'src/feature-app';\nimport { Points } from 'src/types';\nimport { Horario, OneFormState } from 'src/types';\nimport { getDistanceFromLatLngCenter } from 'src/feature-app/NewMap';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { usePinState } from 'src/feature-app/NewMap/usePinState';\nimport { useIsComerciales } from 'src/feature-app';\n\ninterface BoxCardProps {\n selected?: boolean;\n isCarousel: boolean;\n isHover?: boolean;\n isFirstDesktop?: boolean;\n greyCard?: boolean;\n iDBuzzExclusive?: boolean;\n}\n\nconst BoxCard = styled.div`\n width: 100%;\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '20px')};\n padding: ${(props) => (props.isCarousel ? '12px' : '20px')};\n border: ${(props) =>\n props.selected && props.greyCard && !props.isCarousel\n ? '2px solid #6A767D'\n : props.greyCard && !props.isCarousel\n ? '1px solid #6A767D'\n : props.selected && !props.isCarousel\n ? '2px solid #FFFFFF'\n : props.isCarousel\n ? 'none'\n : '1px solid rgba(255,255,255,0.44)'};\n :hover {\n border: ${(props) => (\n props.isCarousel\n ? 'none'\n : props.selected && props.greyCard\n ? '2px solid #6A767D'\n : props.greyCard\n ? '1px solid #6A767D'\n : props.selected\n ? '2px solid #FFFFFF'\n : '1px solid #4cc7f4')};\n }\n\n @media all and (min-width: 560px) {\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '24px')};\n padding: 20px;\n }\n @media screen and (min-width: 960px) {\n .main {\n border: ${(props) =>\n props.isCarousel\n ? 'none'\n : props.selected\n ? '2px solid #001e50;'\n : props.isHover\n ? '1px solid #0040C5'\n : '1px solid #DFE4E8'};\n }\n .inverted {\n border: ${(props) =>\n props.isCarousel\n ? 'none'\n : props.selected\n ? '2px solid #FFFFFF'\n : props.isHover\n ? '1px solid #4cc7f4'\n : '1px solid rgba(255,255,255,0.44)'};\n }\n \n }\n @media all and (min-width: 1600px) {\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '28px')};\n }\n`;\n\ninterface isCarouselProps {\n isCarousel: boolean;\n}\n\nconst CTAVerMasHorasWrapper = styled.div`\n button {\n color: #ffffff;\n font-size: ${(props) => (props.isCarousel ? '12px' : null)};\n svg {\n height: ${(props) => (props.isCarousel ? '10px' : null)};\n width: ${(props) => (props.isCarousel ? '10px' : null)};\n }\n }\n`;\n\nconst EllipsisTextWrapper = styled.p<{ greyCard?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-top: 0px;\n margin-bottom: 0px;\n color: ${(props) => (props.greyCard ? '#6A767D' : '#FFFFFF')};\n`;\nconst GreyText = styled.span<{ greyCard?: boolean }>`\n color: ${(props) => (props.greyCard ? '#6A767D' : '#FFFFFF')};\n`;\nconst SVGSize = styled.div<{ greyCard: boolean }>`\n padding-left: 16px;\n svg {\n height: 20px;\n width: auto;\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n`;\nconst CustomCTA = styled.button<{ greyCard?: boolean }>`\n height: 32px;\n width: max-content;\n padding: 8px 16px;\n border: none;\n cursor: pointer;\n border-radius: 22px;\n display: flex;\n align-items: center;\n background-color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n color: ${(props) => props.greyCard ? '#DFE4E8' : '#001E50'};\n :hover {\n background-color: ${(props) => props.greyCard ? '#6A767D' : 'rgba(255,255,255,0.90)'};\n }\n`;\nconst CustomTerciayCTA = styled.button<{ greyCard?: boolean }>`\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n display: flex;\n border: none;\n cursor: pointer;\n background: none;\n align-items: center;\n padding:0 0 2px;\n border-bottom: ${(props) => props.greyCard ? '1px solid #6A767D' : '1px solid #FFFFFF'};\n :hover {\n background-color: ${(props) => props.greyCard ? '#6A767D' : 'rgba(255,255,255,0.90)'};\n }\n svg{\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n div {\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n`;\nconst ExclusiveIDBuzz = styled.span`\n align-items: center;\n background-color: #DFC526;\n border-radius: 20px;\n color: #001E50;\n display: flex;\n font-size: 10px;\n height: 21px;\n justify-content: center;\n position: relative;\n right: 10px;\n width: 116px;\n top:10.5px;\n @media all and (min-width: 560px) {\n right: 20px;\n }\n @media all and (min-width: 960px) {\n right: 0;\n }\n`\n\ninterface DealerCardProps {\n distanceFromCenter: string;\n handleSeleccionarOnClick?: any;\n handleShowCalendarOnClick?: any;\n // center?: Center,\n isCarousel: boolean;\n dealerInfo: any;\n point: Points;\n slots: any;\n handleShowSlots?: (point: Points) => string | null;\n isCitaPosventa?: boolean;\n isFirstDesktop?: boolean;\n carPickupSelected?: boolean;\n replacementCarSelected?: boolean;\n}\n\nexport const NewDealerCard = React.memo((props: DealerCardProps) => {\n const {\n distanceFromCenter,\n isCarousel,\n dealerInfo,\n point,\n handleShowSlots,\n isCitaPosventa,\n isFirstDesktop,\n carPickupSelected,\n replacementCarSelected\n } = props;\n const isComerciales = useIsComerciales();\n const { suggestionIsAddress } = useSelector((state: OneFormState) => state.formInfo);\n const dealerCompletAdress = `${dealerInfo.markerInfo.dealerInfo.address}, ${dealerInfo.markerInfo.dealerInfo.zipCode} ${dealerInfo.markerInfo.dealerInfo.city}`;\n const {\n centerToCalculateDistance,\n handlePointClickAndCarouselMove,\n handleHoverPoint,\n hoverPoint,\n selectedPoint,\n userIsGeoLocated,\n handleClusterClick,\n } = useMapGeneralController();\n const dispatch = useDispatch();\n // Las instalaciones con codInstalacion del array son excluusivas para IDBuzz\n const installationsIDBuzz = [\n '0300W',\n '03910',\n '03394',\n '0311Q',\n '0311X',\n '52VH1',\n '0321C',\n '30559',\n '03200',\n '53V50',\n '0310W',\n '03917',\n '30083'\n ]\n const { isActive, isHover } = usePinState(selectedPoint, hoverPoint, point);\n const [greyCard, setGreyCard] = useState(false);\n const codInstalacion = point.properties?.dealer?.codInstalacion;\n const iDBuzzExclusive = installationsIDBuzz.includes(codInstalacion) && isComerciales;\n\n const handleIDBuzzExclusive = () => {\n const iDBuzzExlusiveAndComerciales = isComerciales && iDBuzzExclusive\n dispatch({ type: 'UPDATE_FIELDS', payload: { idBuzzExclusive: iDBuzzExlusiveAndComerciales } });\n }\n\n useEffect(() => {\n if (point) {\n if (carPickupSelected && !point.properties.dealer.dmsInfo.pickupCarServiceAvailabe) {\n setGreyCard(true);\n } else if (replacementCarSelected && !point.properties.dealer.dmsInfo.replacementCarServiceAvailable) {\n setGreyCard(true);\n } else {\n setGreyCard(false);\n }\n }\n }, [carPickupSelected, replacementCarSelected, point]);\n\n return (\n <>\n {iDBuzzExclusive && isComerciales &&\n \n Exclusivo para ID.Buzz\n \n }\n {\n e.preventDefault();\n if (isComerciales) {\n handleIDBuzzExclusive()\n }\n if (point.properties.parent_cluster_id) {\n if (window.innerWidth <= 959) {\n handleClusterClick(point, true, true);\n } else {\n handleClusterClick(point, true);\n }\n } else {\n handlePointClickAndCarouselMove(point);\n }\n }}\n onMouseEnter={(e) => {\n if (!isCarousel) {\n e.preventDefault();\n handleHoverPoint(point);\n }\n }}\n onMouseLeave={(e) => {\n if (!isCarousel) {\n e.preventDefault();\n handleHoverPoint(null);\n }\n }}\n >\n
\n {isCarousel ? (\n <>\n {/*card para el carousel*/}\n \n
\n {\n userIsGeoLocated || suggestionIsAddress ? (\n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n\n \n \n {userIsGeoLocated || suggestionIsAddress\n ? distanceFromCenter\n ? `${distanceFromCenter}km`\n : `${getDistanceFromLatLngCenter(centerToCalculateDistance.current, point)}km`\n : null}\n \n \n \n ) : (\n \n {dealerInfo.name ? dealerInfo.name : null}\n \n )\n }\n
\n \n {!point.properties.dealer.dmsInfo || !point.properties.dealer.dmsInfo.dmsAvailable ? (\n

\n {dealerCompletAdress}\n

\n ) : (\n {dealerCompletAdress}\n )}\n
\n
\n\n {handleShowSlots && handleShowSlots(point) !== null ? (\n \n \n \n {handleShowSlots(point)}\n \n \n {\n point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.replacementCarServiceAvailable\n || point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.pickupCarServiceAvailabe\n ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n )\n : null\n }\n \n ) : (\n <>\n {/*card para los tabs, cualquier breakpoint*/}\n \n
\n {\n userIsGeoLocated || suggestionIsAddress ? (\n \n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n \n \n \n {userIsGeoLocated || suggestionIsAddress\n ? distanceFromCenter\n ? `${distanceFromCenter}km`\n : `${getDistanceFromLatLngCenter(centerToCalculateDistance.current, point)}km`\n : null}\n \n \n \n ) : (\n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n \n )\n }\n
\n \n

\n \n {dealerCompletAdress}\n \n

\n
\n
\n\n {handleShowSlots && handleShowSlots(point) !== null ? (\n \n \n \n {handleShowSlots(point)}\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n )\n : null\n }\n \n )}\n {isCitaPosventa ? () : }\n
\n \n \n );\n});\n\nconst CitaPosventaCTAs = (props: DealerCardProps) => {\n const {\n carPickupSelected,\n dealerInfo,\n handleSeleccionarOnClick,\n handleShowCalendarOnClick,\n handleShowSlots,\n isCarousel,\n point,\n replacementCarSelected,\n } = props;\n\n const trackingManager = useTrackingManager();\n\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n\n const [greyCard, setGreyCard] = useState(false);\n\n useEffect(() => {\n if (point) {\n if (carPickupSelected && !point.properties.dealer.dmsInfo.pickupCarServiceAvailabe) {\n setGreyCard(true);\n } else if (replacementCarSelected && !point.properties.dealer.dmsInfo.replacementCarServiceAvailable) {\n setGreyCard(true);\n } else {\n setGreyCard(false);\n }\n }\n }, [carPickupSelected, replacementCarSelected, point]);\n return !dealerInfo.dmsInfo || !dealerInfo.dmsInfo.dmsAvailable || handleShowSlots && handleShowSlots(point) === null ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver horario',\n },\n dealerInfo\n );\n\n handleShowCalendarOnClick(point);\n }}\n >\n \n Ver calendario\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n \n Seleccionar\n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealerInfo\n );\n handleShowCalendarOnClick(point);\n }}\n >\n \n
\n \n Ver más horas\n \n
\n \n
\n \n );\n};\n\nconst LeadsCTAs = (props: DealerCardProps) => {\n const { handleSeleccionarOnClick, dealerInfo, point } = props;\n\n const trackingManager = useTrackingManager();\n\n return (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n Seleccionar\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n styled,\n Layout,\n Breakpoints,\n} from '@volkswagen-onehub/components-core';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\n\nconst TabsWrapper = styled.div`\n width: 100%;\n height: 100%;\n padding-left: 5px;\n padding-top: 5px;\n @media all and (min-width: 960px) {\n /* width: 380px; */\n /* Falta ver como se comporta este width: 100% con el scroll */\n width: 100%;\n }\n\n & > div {\n @media all and (min-width: 960px) {\n height: calc(100vh - 174px);\n overflow-y: auto;\n padding-bottom: 24px;\n }\n @media all and (min-width: 1600px) {\n height: calc(100vh - 200px);\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100vw;\n @media all and (min-width: 960px) {\n width: 100%;\n }\n`;\n\ninterface SeleccionDealerTabsProps {\n pointsByDistance?: Points[];\n pointsByTime?: Points[];\n isTimeSelected?: boolean;\n setIsTimeSelected?: React.Dispatch>;\n renderPoints: (points: Points[], isTime?: boolean) => JSX.Element[];\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: string;\n pointsToList: Points[];\n}\n\nexport function SeleccionDealerTabs(props: SeleccionDealerTabsProps) {\n const {\n pointsByDistance,\n pointsByTime,\n isTimeSelected,\n setIsTimeSelected,\n renderPoints,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n pointsToList,\n } = props;\n const { clusters } = useMapGeneralController();\n\n const [defaultIndex, setDefaultIndex] = useState(0);\n\n useEffect(() => {\n if (preSelectedOrderValue && preSelectedOrderValue === 'horario') {\n setDefaultIndex(1);\n } else {\n setDefaultIndex(0);\n }\n }, [preSelectedOrderValue]);\n\n return (\n \n \n {renderPoints(pointsToList, true)}\n\n {/* \n \n Ordenar por:\n \n */}\n\n {/* \n {\n setDefaultIndex(index);\n if (index === 0) {\n setPreSelectedOrderValue('ubicacion');\n } else {\n setPreSelectedOrderValue('horario');\n }\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsToList, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsToList, true), key: 'horario' }}\n \n */}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { css } from 'styled-components';\n\ninterface styledWrapperProps { \n notALayer?: boolean;\n isFiltrosSuggest: boolean;\n isLocating?: boolean;\n inputFocus?: boolean;\n formTheme?: string;\n isModeloSuggest?: boolean;\n isFullScreen?: boolean;\n goUp?: boolean;\n autoWidth?: boolean;\n}\n\n\nexport const MagnifierLabel = styled.div`\n color: ${(props) => (props.isFiltrosSuggest || props.formTheme === 'inverted' ? '#001e50' : '#ffffff')};\n padding-right: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' :'#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\nexport const CloseButton = styled.button`\n cursor: pointer;\n border: none;\n outline: none;\n background: transparent;\n padding-left: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\n\nexport const StyledWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n margin-top: ${(props) => (props.isFiltrosSuggest ? '24px' : null)};\n padding: 9px 16px;\n border-radius: 8px;\n box-shadow: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #6A767D' : '0 0 0 1px #dfe4e8'\n : props.inputFocus\n ? '0 0 0 2px #00B0F0'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #ffffff' : '0 0 0 1px #001E50'\n };\n\n & .react-autosuggest__container {\n width: 100%;\n }\n\n & .react-autosuggest__input {\n width: 100%;\n padding: 8px 0;\n border: none;\n background: transparent;\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n /* Añadir puntos suspensivos para el placeholder en mobile */\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n /* WebKit, Edge */\n ::-webkit-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8' \n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Firefox 4-18 */\n :-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n }\n /* Firefox 19+ */\n ::-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n /* IE 10-11 */\n :-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Edge */\n ::-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* MODERN BROWSER */\n ::placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n\n & .react-autosuggest__input--focused {\n outline: none;\n }\n\n & .react-autosuggest__input--open {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n & .react-autosuggest__suggestions-container {\n display: none;\n width: 100%;\n }\n\n & .react-autosuggest__suggestions-container--open {\n display: block;\n position: absolute;\n height: max-content;\n border: 1px solid #cccccc;\n\tborder-radius: 4px;\n background: #ffffff; \n font-family: Helvetica, sans-serif;\n font-weight: 300;\n font-size: 16px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n z-index: 1060;\n overflow: hidden;\n border: none;\n box-shadow: 0px 12px 24px 0px rgba(0, 0, 0, 0.12);\n\n left: 0;\n top: ${(props)=>props.goUp ? '0' : '53px'};\n transform: ${(props)=>props.goUp ? 'translateY(-100%)' : null};\n \n ${(props) =>\n props.isFiltrosSuggest\n ? css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 400px; \n }\n `\n : props.isModeloSuggest ?\n css`\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n } \n `\n : props.isFullScreen ? \n css`\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid013)')};\n }\n @media all and (min-width: 1280px) {\n width:${(props) => (props.autoWidth ? '100%' : 'var(--size-grid014)')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid012)')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid010)')};\n }\n `\n :css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 720px;\n }\n `}\n }\n\n & .react-autosuggest__suggestions-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: hidden scroll;\n height: max-content;\n max-height: 170px;\n @media all and (min-height: 500px) {\n max-height: 230px;\n }\n @media all and (min-height: 800px) {\n max-height: 300px;\n }\n @media all and (min-height: 800px) {\n max-height: 350px;\n }\n }\n\n & .react-autosuggest__suggestion {\n cursor: pointer;\n padding: 10px 20px;\n left: 0;\n :hover {\n * {\n color: #0040c5;\n }\n svg {\n fill: #0040c5;\n }\n }\n }\n`;\n\nexport const SuggestionWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: flex-start;\n text-align: left;\n color: #001e50;\n`;\n","import React, { Component } from 'react';\n\nconst style = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nexport default class GoogleMapMap extends Component {\n shouldComponentUpdate() {\n return false; // disable react on this div\n }\n\n render() {\n const { registerChild } = this.props;\n return
;\n }\n}\n","import EventEmitter from 'eventemitter3';\n\nexport default class MarkerDispatcher extends EventEmitter {\n constructor(gmapInstance) {\n super();\n this.gmapInstance = gmapInstance;\n }\n\n getChildren() {\n return this.gmapInstance.props.children;\n }\n\n getMousePosition() {\n return this.gmapInstance.mouse_;\n }\n\n getUpdateCounter() {\n return this.gmapInstance.updateCounter_;\n }\n\n dispose() {\n this.gmapInstance = null;\n this.removeAllListeners();\n }\n}\n","// https://github.com/acdlite/recompose/blob/master/src/packages/recompose/utils/omit.js\nconst omit = (obj, keys) => {\n const { ...rest } = obj;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key in rest) {\n delete rest[key];\n }\n }\n return rest;\n};\n\nexport default omit;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (let i = 0; i < keysA.length; i++) {\n if (\n !hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default shallowEqual;\n/* src: https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js */\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\n// utils\nimport omit from './utils/omit';\nimport shallowEqual from './utils/shallowEqual';\n\nconst mainStyle = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nconst style = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n backgroundColor: 'transparent',\n position: 'absolute',\n};\n\nexport default class GoogleMapMarkers extends Component {\n /* eslint-disable react/forbid-prop-types */\n static propTypes = {\n geoService: PropTypes.any,\n style: PropTypes.any,\n distanceToMouse: PropTypes.func,\n dispatcher: PropTypes.any,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n getHoverDistance: PropTypes.func,\n insideMapPanes: PropTypes.bool,\n prerender: PropTypes.bool,\n };\n /* eslint-enable react/forbid-prop-types */\n\n static defaultProps = {\n insideMapPanes: false,\n prerender: false,\n };\n\n constructor(props) {\n super(props);\n\n this.dimensionsCache_ = {};\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.allowMouse_ = true;\n\n this.state = { ...this._getState(), hoverKey: null };\n }\n\n componentDidMount() {\n this.props.dispatcher.on('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.on(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.on('kON_CLICK', this._onChildClick);\n this.props.dispatcher.on('kON_MDOWN', this._onChildMouseDown);\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.props.experimental === true) {\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(\n omit(this.state, ['hoverKey']),\n omit(nextState, ['hoverKey'])\n )\n );\n }\n\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(this.state, nextState)\n );\n }\n\n componentWillUnmount() {\n this.props.dispatcher.removeListener('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.removeListener(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.removeListener('kON_CLICK', this._onChildClick);\n this.props.dispatcher.removeListener('kON_MDOWN', this._onChildMouseDown);\n\n this.dimensionsCache_ = null;\n }\n\n _getState = () => ({\n children: this.props.dispatcher.getChildren(),\n updateCounter: this.props.dispatcher.getUpdateCounter(),\n });\n\n _onChangeHandler = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const prevChildCount = (this.state.children || []).length;\n const state = this._getState();\n\n this.setState(\n state,\n () =>\n (state.children || []).length !== prevChildCount &&\n this._onMouseChangeHandler()\n );\n };\n\n _onChildClick = () => {\n if (this.props.onChildClick) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // click works only on hovered item\n this.props.onChildClick(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseDown = () => {\n if (this.props.onChildMouseDown) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // works only on hovered item\n this.props.onChildMouseDown(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseEnter = (hoverKey, childProps) => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n if (this.props.onChildMouseEnter) {\n this.props.onChildMouseEnter(hoverKey, childProps);\n }\n\n this.hoverChildProps_ = childProps;\n this.hoverKey_ = hoverKey;\n this.setState({ hoverKey });\n };\n\n _onChildMouseLeave = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n\n if (hoverKey !== undefined && hoverKey !== null) {\n if (this.props.onChildMouseLeave) {\n this.props.onChildMouseLeave(hoverKey, childProps);\n }\n\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.setState({ hoverKey: null });\n }\n };\n\n _onMouseAllow = (value) => {\n if (!value) {\n this._onChildMouseLeave();\n }\n\n this.allowMouse_ = value;\n };\n\n _onMouseChangeHandler = () => {\n if (this.allowMouse_) {\n this._onMouseChangeHandlerRaf();\n }\n };\n\n _onMouseChangeHandlerRaf = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const mp = this.props.dispatcher.getMousePosition();\n\n if (mp) {\n const distances = [];\n const hoverDistance = this.props.getHoverDistance();\n\n React.Children.forEach(this.state.children, (child, childIndex) => {\n if (!child) return;\n // layers\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return;\n }\n\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n const dist = this.props.distanceToMouse(\n this.dimensionsCache_[childKey],\n mp,\n child.props\n );\n if (dist < hoverDistance) {\n distances.push({\n key: childKey,\n dist,\n props: child.props,\n });\n }\n });\n\n if (distances.length) {\n distances.sort((a, b) => a.dist - b.dist);\n const hoverKey = distances[0].key;\n const childProps = distances[0].props;\n\n if (this.hoverKey_ !== hoverKey) {\n this._onChildMouseLeave();\n\n this._onChildMouseEnter(hoverKey, childProps);\n }\n } else {\n this._onChildMouseLeave();\n }\n } else {\n this._onChildMouseLeave();\n }\n };\n\n _getDimensions = (key) => {\n const childKey = key;\n return this.dimensionsCache_[childKey];\n };\n\n render() {\n const mainElementStyle = this.props.style || mainStyle;\n this.dimensionsCache_ = {};\n\n const markers = React.Children.map(\n this.state.children,\n (child, childIndex) => {\n if (!child) return undefined;\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return React.cloneElement(child, {\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n });\n }\n\n const latLng =\n child.props.latLng !== undefined\n ? child.props.latLng\n : { lat: child.props.lat, lng: child.props.lng };\n\n const pt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(latLng)\n : this.props.geoService.fromLatLngToCenterPixel(latLng);\n\n const stylePtPos = {\n left: pt.x,\n top: pt.y,\n };\n\n // If the component has a southeast corner defined (either as a LatLng, or a separate\n // lat and lng pair), set the width and height based on the distance between the northwest\n // and the southeast corner to lock the overlay to the correct geographic bounds.\n if (\n child.props.seLatLng !== undefined ||\n (child.props.seLat !== undefined && child.props.seLng !== undefined)\n ) {\n const seLatLng =\n child.props.seLatLng !== undefined\n ? child.props.seLatLng\n : { lat: child.props.seLat, lng: child.props.seLng };\n\n const sePt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(seLatLng)\n : this.props.geoService.fromLatLngToCenterPixel(seLatLng);\n\n stylePtPos.width = sePt.x - pt.x;\n stylePtPos.height = sePt.y - pt.y;\n }\n\n const containerPt = this.props.geoService.fromLatLngToContainerPixel(\n latLng\n );\n\n // to prevent rerender on child element i need to pass\n // const params $getDimensions and $dimensionKey instead of dimension object\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n\n this.dimensionsCache_[childKey] = {\n x: containerPt.x,\n y: containerPt.y,\n ...latLng,\n };\n\n return (\n \n {React.cloneElement(child, {\n $hover: childKey === this.state.hoverKey,\n $getDimensions: this._getDimensions,\n $dimensionKey: childKey,\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n })}\n
\n );\n }\n );\n\n return
{markers}
;\n }\n}\n","import React from 'react';\nimport GoogleMapMarkers from './google_map_markers';\n\nconst style = {\n width: '50%',\n height: '50%',\n left: '50%',\n top: '50%',\n // backgroundColor: 'red',\n margin: 0,\n padding: 0,\n position: 'absolute',\n // opacity: 0.3\n};\n\nexport default function (props) {\n return (\n
\n \n
\n );\n}\n","import { Loader } from '@googlemaps/js-api-loader';\n\nlet loader_;\nlet loadPromise_;\nlet resolveCustomPromise_;\n\nconst _customPromise = new Promise((resolve) => {\n resolveCustomPromise_ = resolve;\n});\n\n// TODO add libraries language and other map options\nexport default (bootstrapURLKeys, heatmapLibrary) => {\n // call from outside google-map-react\n // will be as soon as loadPromise resolved\n if (!bootstrapURLKeys) {\n return _customPromise;\n }\n\n // avoid api to be loaded multiple times\n if (loadPromise_) {\n return loadPromise_;\n }\n\n if (!bootstrapURLKeys.libraries) {\n bootstrapURLKeys.libraries = [];\n }\n\n const libraries = [...bootstrapURLKeys.libraries];\n\n // note: heatmapLibrary will be deprecated on next major\n if (heatmapLibrary) {\n // if heatmapLibrary is present\n // check if we need to add visualization library\n if (libraries.length === 0 || !libraries.includes('visualization')) {\n // if the array isEmpty or visualization is\n // not present, push the visualization library\n libraries.push('visualization');\n }\n console.warn(\n \"heatmapLibrary will be deprecated in the future. Please use { libraries: ['visualization'] } in bootstrapURLKeys property instead\"\n );\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(bootstrapURLKeys).indexOf('callback') > -1) {\n const message = `\"callback\" key in bootstrapURLKeys is not allowed,\n use onGoogleApiLoaded property instead`;\n // eslint-disable-next-line no-console\n console.error(message);\n throw new Error(message);\n }\n }\n\n if (typeof window === 'undefined') {\n throw new Error('google map cannot be loaded outside browser env');\n }\n\n const { key, ...restKeys } = bootstrapURLKeys;\n\n // use single instance of Loader to avoid multiple api loads\n if (!loader_) {\n loader_ = new Loader({\n // need to keep key as a prop for backwards compatibility\n apiKey: key || '',\n ...restKeys,\n libraries,\n });\n }\n\n loadPromise_ = loader_.load().then(() => {\n resolveCustomPromise_(window.google.maps);\n return window.google.maps;\n });\n\n resolveCustomPromise_(loadPromise_);\n\n return loadPromise_;\n};\n","/* eslint-disable import/prefer-default-export */\n\nexport function wrap(n, min, max) {\n const d = max - min;\n return n === max ? n : ((((n - min) % d) + d) % d) + min;\n}\n","import { wrap } from './wrap';\n\nexport default class LatLng {\n static convert = (a) => {\n if (a instanceof LatLng) {\n return a;\n }\n\n if (Array.isArray(a)) {\n return new LatLng(a[0], a[1]);\n }\n\n if ('lng' in a && 'lat' in a) {\n return new LatLng(a.lat, a.lng);\n }\n\n return a;\n };\n\n constructor(lat, lng) {\n if (isNaN(lat) || isNaN(lng)) {\n throw new Error(`Invalid LatLng object: (${lat}, ${lng})`);\n }\n this.lat = +lat;\n this.lng = +lng;\n }\n\n wrap() {\n return new LatLng(this.lat, wrap(this.lng, -180, 180));\n }\n}\n","/* eslint-disable class-methods-use-this */\nimport Point from '@mapbox/point-geometry';\nimport LatLng from './lat_lng';\nimport { wrap } from './wrap';\n\n// A single transform, generally used for a single tile to be scaled, rotated, and zoomed.\nexport default class Transform {\n constructor(tileSize, minZoom, maxZoom) {\n this.tileSize = tileSize || 512; // constant\n\n this._minZoom = minZoom || 0;\n this._maxZoom = maxZoom || 52;\n\n this.latRange = [-85.05113, 85.05113];\n\n this.width = 0;\n this.height = 0;\n this.zoom = 0;\n this.center = new LatLng(0, 0);\n this.angle = 0;\n }\n\n get minZoom() {\n return this._minZoom;\n }\n\n set minZoom(zoom) {\n this._minZoom = zoom;\n this.zoom = Math.max(this.zoom, zoom);\n }\n\n get maxZoom() {\n return this._maxZoom;\n }\n\n set maxZoom(zoom) {\n this._maxZoom = zoom;\n this.zoom = Math.min(this.zoom, zoom);\n }\n\n get worldSize() {\n return this.tileSize * this.scale;\n }\n\n get centerPoint() {\n return new Point(0, 0); // this.size._div(2);\n }\n\n get size() {\n return new Point(this.width, this.height);\n }\n\n get bearing() {\n return (-this.angle / Math.PI) * 180;\n }\n\n set bearing(bearing) {\n this.angle = (-wrap(bearing, -180, 180) * Math.PI) / 180;\n }\n\n get zoom() {\n return this._zoom;\n }\n\n set zoom(zoom) {\n const zoomV = Math.min(Math.max(zoom, this.minZoom), this.maxZoom);\n this._zoom = zoomV;\n this.scale = this.zoomScale(zoomV);\n this.tileZoom = Math.floor(zoomV);\n this.zoomFraction = zoomV - this.tileZoom;\n }\n\n zoomScale(zoom) {\n return Math.pow(2, zoom);\n }\n\n scaleZoom(scale) {\n return Math.log(scale) / Math.LN2;\n }\n\n project(latlng, worldSize) {\n return new Point(\n this.lngX(latlng.lng, worldSize),\n this.latY(latlng.lat, worldSize)\n );\n }\n\n unproject(point, worldSize) {\n return new LatLng(\n this.yLat(point.y, worldSize),\n this.xLng(point.x, worldSize)\n );\n }\n\n get x() {\n return this.lngX(this.center.lng);\n }\n\n get y() {\n return this.latY(this.center.lat);\n }\n\n get point() {\n return new Point(this.x, this.y);\n }\n\n // lat/lon <-> absolute pixel coords convertion\n lngX(lon, worldSize) {\n return ((180 + lon) * (worldSize || this.worldSize)) / 360;\n }\n\n // latitude to absolute y coord\n latY(lat, worldSize) {\n const y =\n (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (lat * Math.PI) / 360));\n return ((180 - y) * (worldSize || this.worldSize)) / 360;\n }\n\n xLng(x, worldSize) {\n return (x * 360) / (worldSize || this.worldSize) - 180;\n }\n\n yLat(y, worldSize) {\n const y2 = 180 - (y * 360) / (worldSize || this.worldSize);\n return (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n\n locationPoint(latlng) {\n const p = this.project(latlng);\n return this.centerPoint._sub(this.point._sub(p)._rotate(this.angle));\n }\n\n pointLocation(p) {\n const p2 = this.centerPoint._sub(p)._rotate(-this.angle);\n return this.unproject(this.point.sub(p2));\n }\n}\n","import Point from '@mapbox/point-geometry';\n\nimport LatLng from './lat_lng';\nimport Transform from './transform';\n\nexport default class Geo {\n constructor(tileSize) {\n // left_top view пользует гугл\n // super();\n this.hasSize_ = false;\n this.hasView_ = false;\n this.transform_ = new Transform(tileSize || 512);\n }\n\n setView(center, zoom, bearing) {\n this.transform_.center = LatLng.convert(center);\n this.transform_.zoom = +zoom;\n this.transform_.bearing = +bearing;\n this.hasView_ = true;\n }\n\n setViewSize(width, height) {\n this.transform_.width = width;\n this.transform_.height = height;\n this.hasSize_ = true;\n }\n\n setMapCanvasProjection(maps, mapCanvasProjection) {\n this.maps_ = maps;\n this.mapCanvasProjection_ = mapCanvasProjection;\n }\n\n canProject() {\n return this.hasSize_ && this.hasView_;\n }\n\n hasSize() {\n return this.hasSize_;\n }\n\n /** Returns the pixel position relative to the map center. */\n fromLatLngToCenterPixel(ptLatLng) {\n return this.transform_.locationPoint(LatLng.convert(ptLatLng));\n }\n\n /**\n * Returns the pixel position relative to the map panes,\n * or relative to the map center if there are no panes.\n */\n fromLatLngToDivPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToDivPixel(latLng);\n }\n return this.fromLatLngToCenterPixel(ptLatLng);\n }\n\n /** Returns the pixel position relative to the map top-left. */\n fromLatLngToContainerPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToContainerPixel(latLng);\n }\n\n const pt = this.fromLatLngToCenterPixel(ptLatLng);\n pt.x -=\n this.transform_.worldSize * Math.round(pt.x / this.transform_.worldSize);\n\n pt.x += this.transform_.width / 2;\n pt.y += this.transform_.height / 2;\n\n return pt;\n }\n\n /** Returns the LatLng for the given offset from the map top-left. */\n fromContainerPixelToLatLng(ptXY) {\n if (this.mapCanvasProjection_) {\n const latLng = this.mapCanvasProjection_.fromContainerPixelToLatLng(ptXY);\n return { lat: latLng.lat(), lng: latLng.lng() };\n }\n\n const ptxy = { ...ptXY };\n ptxy.x -= this.transform_.width / 2;\n ptxy.y -= this.transform_.height / 2;\n const ptRes = this.transform_.pointLocation(Point.convert(ptxy));\n\n ptRes.lng -= 360 * Math.round(ptRes.lng / 360); // convert 2 google format\n return ptRes;\n }\n\n getWidth() {\n return this.transform_.width;\n }\n\n getHeight() {\n return this.transform_.height;\n }\n\n getZoom() {\n return this.transform_.zoom;\n }\n\n getCenter() {\n const ptRes = this.transform_.pointLocation({ x: 0, y: 0 });\n\n return ptRes;\n }\n\n getBounds(margins, roundFactor) {\n const bndT = (margins && margins[0]) || 0;\n const bndR = (margins && margins[1]) || 0;\n const bndB = (margins && margins[2]) || 0;\n const bndL = (margins && margins[3]) || 0;\n\n if (\n this.getWidth() - bndR - bndL > 0 &&\n this.getHeight() - bndT - bndB > 0\n ) {\n const topLeftCorner = this.transform_.pointLocation(\n Point.convert({\n x: bndL - this.getWidth() / 2,\n y: bndT - this.getHeight() / 2,\n })\n );\n const bottomRightCorner = this.transform_.pointLocation(\n Point.convert({\n x: this.getWidth() / 2 - bndR,\n y: this.getHeight() / 2 - bndB,\n })\n );\n\n let res = [\n topLeftCorner.lat,\n topLeftCorner.lng, // NW\n bottomRightCorner.lat,\n bottomRightCorner.lng, // SE\n bottomRightCorner.lat,\n topLeftCorner.lng, // SW\n topLeftCorner.lat,\n bottomRightCorner.lng, // NE\n ];\n\n if (roundFactor) {\n res = res.map((r) => Math.round(r * roundFactor) / roundFactor);\n }\n return res;\n }\n\n return [0, 0, 0, 0];\n }\n}\n","export default function raf(callback) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(callback);\n }\n\n const nativeRaf =\n window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n\n return nativeRaf\n ? nativeRaf(callback)\n : window.setTimeout(callback, 1e3 / 60);\n}\n","const log2 = Math.log2 ? Math.log2 : (x) => Math.log(x) / Math.LN2;\n\nexport default log2;\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/pick.js\n\nexport default function pick(obj, fn) {\n return Object.keys(obj).reduce((result, key) => {\n if (fn(obj[key])) {\n result[key] = obj[key]; // eslint-disable-line\n }\n return result;\n }, {});\n}\n","const isEmpty = (val) => {\n // check for empty object {}, array []\n if (val !== null && typeof val === 'object') {\n if (Object.keys(val).length === 0) {\n return true;\n }\n } else if (val === null || val === undefined || val === '') {\n // check for undefined, null and \"\"\n return true;\n }\n return false;\n};\n\nexport default isEmpty;\n","function isObjectLike(value) {\n return !!value && typeof value === 'object';\n}\n\nconst objectToString = Object.prototype.toString;\n\nexport default function isNumber(value) {\n const numberTag = '[object Number]';\n return (\n typeof value === 'number' ||\n (isObjectLike(value) && objectToString.call(value) === numberTag)\n );\n}\n","// http://stackoverflow.com/questions/5899783/detect-safari-chrome-ie-firefox-opera-with-user-agent\nlet detectBrowserResult_ = null;\n\nexport default function detectBrowser() {\n if (detectBrowserResult_) {\n return detectBrowserResult_;\n }\n\n if (typeof navigator !== 'undefined') {\n const isExplorer = navigator.userAgent.indexOf('MSIE') > -1;\n const isFirefox = navigator.userAgent.indexOf('Firefox') > -1;\n const isOpera = navigator.userAgent.toLowerCase().indexOf('op') > -1;\n\n let isChrome = navigator.userAgent.indexOf('Chrome') > -1;\n let isSafari = navigator.userAgent.indexOf('Safari') > -1;\n\n if (isChrome && isSafari) {\n isSafari = false;\n }\n\n if (isChrome && isOpera) {\n isChrome = false;\n }\n\n detectBrowserResult_ = {\n isExplorer,\n isFirefox,\n isOpera,\n isChrome,\n isSafari,\n };\n return detectBrowserResult_;\n }\n\n detectBrowserResult_ = {\n isChrome: true,\n isExplorer: false,\n isFirefox: false,\n isOpera: false,\n isSafari: false,\n };\n\n return detectBrowserResult_;\n}\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/isPlainObject.js\nconst fnToString = (fn) => Function.prototype.toString.call(fn);\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nexport default function isPlainObject(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n const proto =\n typeof obj.constructor === 'function'\n ? Object.getPrototypeOf(obj)\n : Object.prototype;\n\n if (proto === null) {\n return true;\n }\n\n const constructor = proto.constructor;\n\n return (\n typeof constructor === 'function' &&\n constructor instanceof constructor &&\n fnToString(constructor) === fnToString(Object)\n );\n}\n","// feature detection for passive support\n// see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\nfunction hasPassiveSupport() {\n let passiveSupported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n passiveSupported = true;\n },\n });\n\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}\n\nexport default function addPassiveEventListener(\n element,\n eventName,\n func,\n capture\n) {\n element.addEventListener(\n eventName,\n func,\n hasPassiveSupport()\n ? {\n capture,\n passive: true,\n }\n : capture\n );\n}\n","/* eslint-disable */\n/**\n* Detect Element Resize.\n* Forked in order to guard against unsafe 'window' and 'document' references.\n*\n* https://github.com/sdecima/javascript-detect-element-resize\n* Sebastian Decima\n*\n* version: 0.5.3\n**/\n\nimport addPassiveEventListener from './passiveEvents';\n\n// Reliable `window` and `document` detection\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n\n// Check `document` and `window` in case of server-side rendering\nvar _window;\nif (canUseDOM) {\n _window = window;\n} else if (typeof self !== 'undefined') {\n _window = self;\n} else {\n _window = this;\n}\n\nvar attachEvent = typeof document !== 'undefined' && document.attachEvent;\nvar stylesCreated = false;\n\nif (canUseDOM && !attachEvent) {\n var requestFrame = (function () {\n var raf = _window.requestAnimationFrame ||\n _window.mozRequestAnimationFrame ||\n _window.webkitRequestAnimationFrame ||\n function (fn) {\n return _window.setTimeout(fn, 20);\n };\n return function (fn) {\n return raf(fn);\n };\n })();\n\n var cancelFrame = (function () {\n var cancel = _window.cancelAnimationFrame ||\n _window.mozCancelAnimationFrame ||\n _window.webkitCancelAnimationFrame ||\n _window.clearTimeout;\n return function (id) {\n return cancel(id);\n };\n })();\n\n var resetTriggers = function (element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function (element) {\n return element.offsetWidth != element.__resizeLast__.width ||\n element.offsetHeight != element.__resizeLast__.height;\n };\n\n var scrollListener = function (e) {\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false,\n animationstring = 'animation',\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(\n ' '\n ),\n pfx = '';\n\n if (canUseDOM) {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n animationstring = pfx + 'Animation';\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n var animationName = 'resizeanim';\n var animationKeyframes = '@' +\n keyframeprefix +\n 'keyframes ' +\n animationName +\n ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle = keyframeprefix +\n 'animation: 1ms ' +\n animationName +\n '; ';\n}\n\nvar createStyles = function () {\n if (!stylesCreated) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') +\n '.resize-triggers { ' +\n (animationStyle ? animationStyle : '') +\n 'visibility: hidden; opacity: 0; } ' +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = document.head || document.getElementsByTagName('head')[0],\n style = document.createElement('style');\n\n style.type = 'text/css';\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n stylesCreated = true;\n }\n};\n\nvar addResizeListener = function (element, fn) {\n if (element.parentNode === undefined) {\n var tempParentDiv = document.createElement('div');\n element.parentNode = tempParentDiv;\n }\n element = element.parentNode;\n if (attachEvent)\n element.attachEvent('onresize', fn);\n else {\n if (!element.__resizeTriggers__) {\n if (getComputedStyle(element).position == 'static')\n element.style.position = 'relative';\n createStyles();\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = document.createElement(\n 'div'\n )).className = 'resize-triggers';\n element.__resizeTriggers__.innerHTML = '
' +\n '
';\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n\n addPassiveEventListener(element, 'scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n animationstartevent &&\n element.__resizeTriggers__.addEventListener(\n animationstartevent,\n function (e) {\n if (e.animationName == animationName) resetTriggers(element);\n }\n );\n }\n element.__resizeListeners__.push(fn);\n }\n};\n\nvar removeResizeListener = function (element, fn) {\n element = element.parentNode;\n if (attachEvent)\n element.detachEvent('onresize', fn);\n else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener);\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n }\n }\n};\n\nexport {\n addResizeListener,\n removeResizeListener,\n};\n","/* eslint-disable import/no-extraneous-dependencies, react/forbid-prop-types, react/no-find-dom-node, no-console, no-undef */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n// helpers\nimport GoogleMapMap from './google_map_map';\nimport MarkerDispatcher from './marker_dispatcher';\nimport GoogleMapMarkers from './google_map_markers';\nimport GoogleMapMarkersPrerender from './google_map_markers_prerender';\nimport { generateHeatmap, optionsHeatmap } from './google_heatmap';\n\n// loaders\nimport googleMapLoader from './loaders/google_map_loader';\n\n// lib\nimport Geo from './lib/geo';\n\n// tools\nimport raf from './utils/raf';\nimport log2 from './utils/log2';\nimport omit from './utils/omit';\nimport pick from './utils/pick';\nimport isEmpty from './utils/isEmpty';\nimport isNumber from './utils/isNumber';\nimport detectBrowser from './utils/detect';\nimport shallowEqual from './utils/shallowEqual';\nimport isPlainObject from './utils/isPlainObject';\nimport isArraysEqualEps from './utils/isArraysEqualEps';\nimport {\n addResizeListener,\n removeResizeListener,\n} from './utils/detectElementResize';\nimport addPassiveEventListener from './utils/passiveEvents';\n\n// consts\nconst kEPS = 0.00001;\nconst K_GOOGLE_TILE_SIZE = 256;\n// real minZoom calculated here _getMinZoom\nconst K_IDLE_TIMEOUT = 100;\nconst K_IDLE_CLICK_TIMEOUT = 300;\nconst DEFAULT_MIN_ZOOM = 3;\n// Starting with version 3.32, the maps API calls `draw()` each frame during\n// a zoom animation.\nconst DRAW_CALLED_DURING_ANIMATION_VERSION = 32;\nconst IS_REACT_16 = ReactDOM.createPortal !== undefined;\n\nconst createPortal = IS_REACT_16\n ? ReactDOM.createPortal\n : ReactDOM.unstable_renderSubtreeIntoContainer;\n\nfunction defaultOptions_(/* maps */) {\n return {\n overviewMapControl: false,\n streetViewControl: false,\n rotateControl: true,\n mapTypeControl: false,\n // disable poi\n styles: [\n {\n featureType: 'poi',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }],\n },\n ],\n minZoom: DEFAULT_MIN_ZOOM, // dynamically recalculted if possible during init\n };\n}\n\nconst latLng2Obj = (latLng) =>\n isPlainObject(latLng) ? latLng : { lat: latLng[0], lng: latLng[1] };\n\nconst _checkMinZoom = (zoom, minZoom) => {\n if (process.env.NODE_ENV !== 'production') {\n if (zoom < minZoom) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'minZoom option is less than recommended ' +\n 'minZoom option for your map sizes.\\n' +\n 'overrided to value ' +\n minZoom\n );\n }\n }\n\n if (minZoom < zoom) {\n return zoom;\n }\n return minZoom;\n};\n\nconst isFullScreen = () =>\n document.fullscreen ||\n document.webkitIsFullScreen ||\n document.mozFullScreen ||\n document.msFullscreenElement;\n\nclass GoogleMap extends Component {\n static propTypes = {\n apiKey: PropTypes.string,\n bootstrapURLKeys: PropTypes.any,\n\n defaultCenter: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n center: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n defaultZoom: PropTypes.number,\n zoom: PropTypes.number,\n onBoundsChange: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseUp: PropTypes.func,\n onChildMouseMove: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onZoomAnimationStart: PropTypes.func,\n onZoomAnimationEnd: PropTypes.func,\n onDrag: PropTypes.func,\n onDragEnd: PropTypes.func,\n onMapTypeIdChange: PropTypes.func,\n onTilesLoaded: PropTypes.func,\n options: PropTypes.any,\n distanceToMouse: PropTypes.func,\n hoverDistance: PropTypes.number,\n debounced: PropTypes.bool,\n margin: PropTypes.array,\n googleMapLoader: PropTypes.any,\n onGoogleApiLoaded: PropTypes.func,\n yesIWantToUseGoogleMapApiInternals: PropTypes.bool,\n draggable: PropTypes.bool,\n style: PropTypes.any,\n resetBoundsOnResize: PropTypes.bool,\n layerTypes: PropTypes.arrayOf(PropTypes.string), // ['TransitLayer', 'TrafficLayer']\n shouldUnregisterMapOnUnmount: PropTypes.bool,\n };\n\n static defaultProps = {\n distanceToMouse(pt, mousePos /* , markerProps */) {\n return Math.sqrt(\n (pt.x - mousePos.x) * (pt.x - mousePos.x) +\n (pt.y - mousePos.y) * (pt.y - mousePos.y)\n );\n },\n hoverDistance: 30,\n debounced: true,\n options: defaultOptions_,\n googleMapLoader,\n yesIWantToUseGoogleMapApiInternals: false,\n style: {\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n position: 'relative',\n },\n layerTypes: [],\n heatmap: {},\n heatmapLibrary: false,\n shouldUnregisterMapOnUnmount: true,\n };\n\n static googleMapLoader = googleMapLoader; // eslint-disable-line\n\n constructor(props) {\n super(props);\n this.mounted_ = false;\n this.initialized_ = false;\n this.googleApiLoadedCalled_ = false;\n\n this.map_ = null;\n this.maps_ = null;\n this.prevBounds_ = null;\n this.heatmap = null;\n\n this.layers_ = {};\n\n this.mouse_ = null;\n this.mouseMoveTime_ = 0;\n this.boundingRect_ = null;\n this.mouseInMap_ = true;\n\n this.dragTime_ = 0;\n this.fireMouseEventOnIdle_ = false;\n this.updateCounter_ = 0;\n\n this.markersDispatcher_ = new MarkerDispatcher(this);\n this.geoService_ = new Geo(K_GOOGLE_TILE_SIZE);\n this.centerIsObject_ = isPlainObject(this.props.center);\n\n this.minZoom_ = DEFAULT_MIN_ZOOM;\n this.defaultDraggableOption_ = true;\n\n this.zoomControlClickTime_ = 0;\n\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = 0;\n\n this.googleMapDom_ = null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.apiKey) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'apiKey is deprecated, use ' +\n 'bootstrapURLKeys={{key: YOUR_API_KEY}} instead.'\n );\n }\n\n if (this.props.onBoundsChange) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'onBoundsChange is deprecated, use ' +\n 'onChange({center, zoom, bounds, ...other}) instead.'\n );\n }\n\n if (isEmpty(this.props.center) && isEmpty(this.props.defaultCenter)) {\n console.warn(\n 'GoogleMap: center or defaultCenter property must be defined' // eslint-disable-line no-console\n );\n }\n\n if (isEmpty(this.props.zoom) && isEmpty(this.props.defaultZoom)) {\n console.warn(\n 'GoogleMap: zoom or defaultZoom property must be defined' // eslint-disable-line no-console\n );\n }\n }\n\n if (this._isCenterDefined(this.props.center || this.props.defaultCenter)) {\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n }\n\n this.zoomAnimationInProgress_ = false;\n\n this.state = {\n overlay: null,\n };\n }\n\n componentDidMount() {\n this.mounted_ = true;\n this.markersDispatcher_ = new MarkerDispatcher(this);\n addPassiveEventListener(window, 'resize', this._onWindowResize, false);\n addPassiveEventListener(window, 'keydown', this._onKeyDownCapture, true);\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n\n if (mapDom) {\n addPassiveEventListener(\n mapDom,\n 'mousedown',\n this._onMapMouseDownNative,\n true\n );\n }\n\n addPassiveEventListener(window, 'mouseup', this._onChildMouseUp, false);\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props.googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary); // we can start load immediatly\n\n setTimeout(\n () => {\n // to detect size\n this._setViewSize();\n if (\n this._isCenterDefined(this.props.center || this.props.defaultCenter)\n ) {\n this._initMap();\n }\n },\n 0,\n this\n );\n if (this.props.resetBoundsOnResize) {\n const that = this;\n addResizeListener(mapDom, that._mapDomResizeCallback);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // draggable does not affect inner components\n return (\n !shallowEqual(\n omit(this.props, ['draggable']),\n omit(nextProps, ['draggable'])\n ) || !shallowEqual(this.state, nextState)\n );\n }\n\n componentDidUpdate(prevProps) {\n if (process.env.NODE_ENV !== 'production') {\n if (!shallowEqual(prevProps.defaultCenter, this.props.defaultCenter)) {\n console.warn(\n \"GoogleMap: defaultCenter prop changed. You can't change default props.\"\n );\n }\n\n if (!shallowEqual(prevProps.defaultZoom, this.props.defaultZoom)) {\n console.warn(\n \"GoogleMap: defaultZoom prop changed. You can't change default props.\"\n );\n }\n }\n\n if (\n !this._isCenterDefined(prevProps.center) &&\n this._isCenterDefined(this.props.center)\n ) {\n setTimeout(() => this._initMap(), 0);\n }\n\n if (this.map_) {\n const centerLatLng = this.geoService_.getCenter();\n if (this._isCenterDefined(this.props.center)) {\n const currentCenter = latLng2Obj(this.props.center);\n const prevCenter = this._isCenterDefined(prevProps.center)\n ? latLng2Obj(prevProps.center)\n : null;\n\n if (\n !prevCenter ||\n Math.abs(currentCenter.lat - prevCenter.lat) +\n Math.abs(currentCenter.lng - prevCenter.lng) >\n kEPS\n ) {\n if (\n Math.abs(currentCenter.lat - centerLatLng.lat) +\n Math.abs(currentCenter.lng - centerLatLng.lng) >\n kEPS\n ) {\n this.map_.panTo({\n lat: currentCenter.lat,\n lng: currentCenter.lng,\n });\n }\n }\n }\n\n if (!isEmpty(this.props.zoom)) {\n // if zoom chaged by user\n if (Math.abs(this.props.zoom - prevProps.zoom) > 0) {\n this.map_.setZoom(this.props.zoom);\n }\n }\n\n if (!isEmpty(prevProps.draggable) && isEmpty(this.props.draggable)) {\n // reset to default\n this.map_.setOptions({ draggable: this.defaultDraggableOption_ });\n } else if (!shallowEqual(prevProps.draggable, this.props.draggable)) {\n // also prevent this on window 'mousedown' event to prevent map move\n this.map_.setOptions({ draggable: this.props.draggable });\n }\n\n // use shallowEqual to try avoid calling map._setOptions if only the ref changes\n if (\n !isEmpty(this.props.options) &&\n !shallowEqual(prevProps.options, this.props.options)\n ) {\n const mapPlainObjects = pick(this.maps_, isPlainObject);\n let options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n // remove zoom, center and draggable options as these are managed by google-maps-react\n options = omit(options, ['zoom', 'center', 'draggable']);\n\n if ('minZoom' in options) {\n const minZoom = this._computeMinZoom(options.minZoom);\n options.minZoom = _checkMinZoom(options.minZoom, minZoom);\n }\n\n this.map_.setOptions(options);\n }\n\n if (!shallowEqual(this.props.layerTypes, prevProps.layerTypes)) {\n Object.keys(this.layers_).forEach((layerKey) => {\n this.layers_[layerKey].setMap(null);\n delete this.layers_[layerKey];\n });\n this._setLayers(this.props.layerTypes);\n }\n\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.positions, prevProps.heatmap.positions)\n ) {\n this.heatmap.setData(\n this.props.heatmap.positions.map((p) => ({\n location: new this.maps_.LatLng(p.lat, p.lng),\n weight: p.weight,\n }))\n );\n }\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.options, prevProps.heatmap.options)\n ) {\n Object.keys(this.props.heatmap.options).forEach((option) => {\n this.heatmap.set(option, this.props.heatmap.options[option]);\n });\n }\n }\n // emit actions\n this.markersDispatcher_.emit('kON_CHANGE');\n\n if (!shallowEqual(this.props.hoverDistance, prevProps.hoverDistance)) {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n\n componentWillUnmount() {\n this.mounted_ = false;\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n if (mapDom) {\n mapDom.removeEventListener('mousedown', this._onMapMouseDownNative, true);\n }\n window.removeEventListener('resize', this._onWindowResize);\n window.removeEventListener('keydown', this._onKeyDownCapture);\n window.removeEventListener('mouseup', this._onChildMouseUp, false);\n if (this.props.resetBoundsOnResize) {\n removeResizeListener(mapDom, this._mapDomResizeCallback);\n }\n\n if (this.overlay_) {\n // this triggers overlay_.onRemove(), which will unmount the \n this.overlay_.setMap(null);\n }\n\n if (this.maps_ && this.map_ && this.props.shouldUnregisterMapOnUnmount) {\n // fix google, as otherwise listeners works even without map\n this.map_.setOptions({ scrollwheel: false });\n this.maps_.event.clearInstanceListeners(this.map_);\n }\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n this.map_ = null;\n this.maps_ = null;\n }\n this.markersDispatcher_.dispose();\n\n this.resetSizeOnIdle_ = false;\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n delete this.map_;\n delete this.markersDispatcher_;\n }\n }\n\n // calc minZoom if map size available\n // it's better to not set minZoom less than this calculation gives\n // otherwise there is no homeomorphism between screen coordinates and map\n // (one map coordinate can have different screen coordinates)\n _getMinZoom = () => {\n if (this.geoService_.getWidth() > 0 || this.geoService_.getHeight() > 0) {\n const tilesPerWidth =\n Math.ceil(this.geoService_.getWidth() / K_GOOGLE_TILE_SIZE) + 2;\n const tilesPerHeight =\n Math.ceil(this.geoService_.getHeight() / K_GOOGLE_TILE_SIZE) + 2;\n const maxTilesPerDim = Math.max(tilesPerWidth, tilesPerHeight);\n return Math.ceil(log2(maxTilesPerDim));\n }\n return DEFAULT_MIN_ZOOM;\n };\n\n _computeMinZoom = (minZoom) => {\n if (!isEmpty(minZoom)) {\n return minZoom;\n }\n return this._getMinZoom();\n };\n\n _mapDomResizeCallback = () => {\n this.resetSizeOnIdle_ = true;\n if (this.maps_) {\n const originalCenter = this.props.center || this.props.defaultCenter;\n const currentCenter = this.map_.getCenter();\n this.maps_.event.trigger(this.map_, 'resize');\n this.map_.setCenter(\n this.props.resetBoundsOnResize ? originalCenter : currentCenter\n );\n }\n };\n\n _setLayers = (layerTypes) => {\n layerTypes.forEach((layerType) => {\n this.layers_[layerType] = new this.maps_[layerType]();\n this.layers_[layerType].setMap(this.map_);\n });\n };\n\n _renderPortal = () => (\n \n );\n\n _initMap = () => {\n // only initialize the map once\n if (this.initialized_) {\n return;\n }\n this.initialized_ = true;\n\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n\n this._onBoundsChanged(); // now we can calculate map bounds center etc...\n\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props\n .googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary)\n .then((maps) => {\n if (!this.mounted_) {\n return;\n }\n\n const centerLatLng = this.geoService_.getCenter();\n\n const propsOptions = {\n zoom: this.props.zoom || this.props.defaultZoom,\n center: new maps.LatLng(centerLatLng.lat, centerLatLng.lng),\n };\n\n // Start Heatmap\n if (this.props.heatmap.positions) {\n Object.assign(this, {\n heatmap: generateHeatmap(maps, this.props.heatmap),\n });\n optionsHeatmap(this.heatmap, this.props.heatmap);\n }\n // End Heatmap\n\n // prevent to exapose full api\n // next props must be exposed (console.log(Object.keys(pick(maps, isPlainObject))))\n // \"Animation\", \"ControlPosition\", \"MapTypeControlStyle\", \"MapTypeId\",\n // \"NavigationControlStyle\", \"ScaleControlStyle\", \"StrokePosition\",\n // \"SymbolPath\", \"ZoomControlStyle\",\n // \"event\", \"DirectionsStatus\", \"DirectionsTravelMode\", \"DirectionsUnitSystem\",\n // \"DistanceMatrixStatus\",\n // \"DistanceMatrixElementStatus\", \"ElevationStatus\", \"GeocoderLocationType\",\n // \"GeocoderStatus\", \"KmlLayerStatus\",\n // \"MaxZoomStatus\", \"StreetViewStatus\", \"TransitMode\", \"TransitRoutePreference\",\n // \"TravelMode\", \"UnitSystem\"\n const mapPlainObjects = pick(maps, isPlainObject);\n const options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n const defaultOptions = defaultOptions_(mapPlainObjects);\n\n const draggableOptions = !isEmpty(this.props.draggable) && {\n draggable: this.props.draggable,\n };\n\n const minZoom = this._computeMinZoom(options.minZoom);\n this.minZoom_ = minZoom;\n\n const preMapOptions = {\n ...defaultOptions,\n minZoom,\n ...options,\n ...propsOptions,\n };\n\n this.defaultDraggableOption_ = !isEmpty(preMapOptions.draggable)\n ? preMapOptions.draggable\n : this.defaultDraggableOption_;\n\n const mapOptions = {\n ...preMapOptions,\n ...draggableOptions,\n };\n\n mapOptions.minZoom = _checkMinZoom(mapOptions.minZoom, minZoom);\n\n const map = new maps.Map(\n ReactDOM.findDOMNode(this.googleMapDom_),\n mapOptions\n );\n\n this.map_ = map;\n this.maps_ = maps;\n\n this._setLayers(this.props.layerTypes);\n\n // Parse `google.maps.version` to capture the major version number.\n const versionMatch = maps.version.match(/^3\\.(\\d+)\\./);\n // The major version is the first (and only) captured group.\n const mapsVersion = versionMatch && Number(versionMatch[1]);\n\n // render in overlay\n const this_ = this;\n const overlay = Object.assign(new maps.OverlayView(), {\n onAdd() {\n const K_MAX_WIDTH =\n typeof screen !== 'undefined' ? `${screen.width}px` : '2000px';\n const K_MAX_HEIGHT =\n typeof screen !== 'undefined' ? `${screen.height}px` : '2000px';\n\n const div = document.createElement('div');\n div.style.backgroundColor = 'transparent';\n div.style.position = 'absolute';\n div.style.left = '0px';\n div.style.top = '0px';\n div.style.width = K_MAX_WIDTH; // prevents some chrome draw defects\n div.style.height = K_MAX_HEIGHT;\n\n if (this_.props.overlayViewDivStyle) {\n const { overlayViewDivStyle } = this_.props;\n if (typeof overlayViewDivStyle === 'object') {\n Object.keys(overlayViewDivStyle).forEach((property) => {\n div.style[property] = overlayViewDivStyle[property];\n });\n }\n }\n\n const panes = this.getPanes();\n panes.overlayMouseTarget.appendChild(div);\n this_.geoService_.setMapCanvasProjection(\n maps,\n overlay.getProjection()\n );\n\n if (!IS_REACT_16) {\n createPortal(\n this_,\n this_._renderPortal(),\n div,\n // remove prerendered markers\n () => this_.setState({ overlay: div })\n );\n } else {\n this_.setState({ overlay: div });\n }\n },\n\n onRemove() {\n const renderedOverlay = this_.state.overlay;\n if (renderedOverlay && !IS_REACT_16) {\n ReactDOM.unmountComponentAtNode(renderedOverlay);\n }\n this_.setState({ overlay: null });\n },\n\n draw() {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps, !this_.props.debounced);\n\n if (!this_.googleApiLoadedCalled_) {\n this_._onGoogleApiLoaded({ map, maps, ref: this_.googleMapDom_ });\n this_.googleApiLoadedCalled_ = true;\n }\n\n if (this_.mouse_) {\n const latLng = this_.geoService_.fromContainerPixelToLatLng(\n this_.mouse_\n );\n this_.mouse_.lat = latLng.lat;\n this_.mouse_.lng = latLng.lng;\n }\n\n this_._onChildMouseMove();\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n if (this_.fireMouseEventOnIdle_) {\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n },\n });\n\n this.overlay_ = overlay;\n\n overlay.setMap(map);\n if (this.props.heatmap.positions) {\n this.heatmap.setMap(map);\n }\n\n if (this.props.onTilesLoaded) {\n maps.event.addListener(map, 'tilesloaded', () => {\n this_._onTilesLoaded();\n });\n }\n\n maps.event.addListener(map, 'zoom_changed', () => {\n // recalc position at zoom start\n if (this_.geoService_.getZoom() !== map.getZoom()) {\n if (!this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = true;\n this_._onZoomAnimationStart(map.zoom);\n }\n\n // If draw() is not called each frame during a zoom animation,\n // simulate it.\n if (mapsVersion < DRAW_CALLED_DURING_ANIMATION_VERSION) {\n const TIMEOUT_ZOOM = 300;\n\n if (\n new Date().getTime() - this.zoomControlClickTime_ <\n TIMEOUT_ZOOM\n ) {\n // there is strange Google Map Api behavior in chrome when zoom animation of map\n // is started only on second raf call, if was click on zoom control\n // or +- keys pressed, so i wait for two rafs before change state\n\n // this does not fully prevent animation jump\n // but reduce it's occurence probability\n raf(() =>\n raf(() => {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n })\n );\n } else {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n }\n }\n }\n });\n\n maps.event.addListener(map, 'idle', () => {\n if (this.resetSizeOnIdle_) {\n this._setViewSize();\n const currMinZoom = this._computeMinZoom(options.minZoom);\n\n if (currMinZoom !== this.minZoom_) {\n this.minZoom_ = currMinZoom;\n map.setOptions({ minZoom: currMinZoom });\n }\n\n this.resetSizeOnIdle_ = false;\n }\n\n if (this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = false;\n this_._onZoomAnimationEnd(map.zoom);\n }\n\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n\n this_.dragTime_ = 0;\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n }\n });\n\n maps.event.addListener(map, 'mouseover', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = true;\n });\n\n // an alternative way to know the mouse is back within the map\n // This would not fire when clicking/interacting with google maps\n // own on-map countrols+markers. This handles an edge case for touch devices\n // + 'draggable:false' custom option. See #332 for more details.\n maps.event.addListener(map, 'click', () => {\n this_.mouseInMap_ = true;\n });\n\n maps.event.addListener(map, 'mouseout', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = false;\n this_.mouse_ = null;\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n });\n\n maps.event.addListener(map, 'drag', () => {\n this_.dragTime_ = new Date().getTime();\n this_._onDrag(map);\n });\n\n maps.event.addListener(map, 'dragend', () => {\n // 'dragend' fires on mouse release.\n // 'idle' listener waits until drag inertia ends before firing `onDragEnd`\n const idleListener = maps.event.addListener(map, 'idle', () => {\n maps.event.removeListener(idleListener);\n this_._onDragEnd(map);\n });\n });\n // user choosing satellite vs roads, etc\n maps.event.addListener(map, 'maptypeid_changed', () => {\n this_._onMapTypeIdChange(map.getMapTypeId());\n });\n })\n .catch((e) => {\n // notify callback of load failure\n this._onGoogleApiLoaded({\n map: null,\n maps: null,\n ref: this.googleMapDom_,\n });\n console.error(e); // eslint-disable-line no-console\n throw e;\n });\n };\n\n _onGoogleApiLoaded = (...args) => {\n if (this.props.onGoogleApiLoaded) {\n if (\n process.env.NODE_ENV !== 'production' &&\n this.props.yesIWantToUseGoogleMapApiInternals !== true\n ) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'Usage of internal api objects is dangerous ' +\n 'and can cause a lot of issues.\\n' +\n 'To hide this warning add yesIWantToUseGoogleMapApiInternals={true} ' +\n 'to this.props.hoverDistance;\n\n _onDrag = (...args) => this.props.onDrag && this.props.onDrag(...args);\n\n _onDragEnd = (...args) =>\n this.props.onDragEnd && this.props.onDragEnd(...args);\n\n _onMapTypeIdChange = (...args) =>\n this.props.onMapTypeIdChange && this.props.onMapTypeIdChange(...args);\n\n _onZoomAnimationStart = (...args) =>\n this.props.onZoomAnimationStart && this.props.onZoomAnimationStart(...args);\n\n _onZoomAnimationEnd = (...args) =>\n this.props.onZoomAnimationEnd && this.props.onZoomAnimationEnd(...args);\n\n _onTilesLoaded = () => this.props.onTilesLoaded && this.props.onTilesLoaded();\n\n _onChildClick = (...args) => {\n if (this.props.onChildClick) {\n return this.props.onChildClick(...args);\n }\n return undefined;\n };\n\n _onChildMouseDown = (hoverKey, childProps) => {\n this.childMouseDownArgs_ = [hoverKey, childProps];\n if (this.props.onChildMouseDown) {\n this.props.onChildMouseDown(hoverKey, childProps, { ...this.mouse_ });\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseUp = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseUp) {\n this.props.onChildMouseUp(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = new Date().getTime();\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseMove = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseMove) {\n this.props.onChildMouseMove(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n }\n };\n\n _onChildMouseEnter = (...args) => {\n if (this.props.onChildMouseEnter) {\n return this.props.onChildMouseEnter(...args);\n }\n return undefined;\n };\n\n _onChildMouseLeave = (...args) => {\n if (this.props.onChildMouseLeave) {\n return this.props.onChildMouseLeave(...args);\n }\n return undefined;\n };\n\n _setViewSize = () => {\n if (!this.mounted_) return;\n if (isFullScreen()) {\n this.geoService_.setViewSize(window.innerWidth, window.innerHeight);\n } else {\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n this.geoService_.setViewSize(mapDom.clientWidth, mapDom.clientHeight);\n }\n this._onBoundsChanged();\n };\n\n _onWindowResize = () => {\n this.resetSizeOnIdle_ = true;\n };\n\n _onMapMouseMove = (e) => {\n if (!this.mouseInMap_) return;\n\n const currTime = new Date().getTime();\n const K_RECALC_CLIENT_RECT_MS = 50;\n\n if (currTime - this.mouseMoveTime_ > K_RECALC_CLIENT_RECT_MS) {\n this.boundingRect_ = e.currentTarget.getBoundingClientRect();\n }\n this.mouseMoveTime_ = currTime;\n\n const mousePosX = e.clientX - this.boundingRect_.left;\n const mousePosY = e.clientY - this.boundingRect_.top;\n\n if (!this.mouse_) {\n this.mouse_ = { x: 0, y: 0, lat: 0, lng: 0 };\n }\n\n this.mouse_.x = mousePosX;\n this.mouse_.y = mousePosY;\n\n const latLng = this.geoService_.fromContainerPixelToLatLng(this.mouse_);\n this.mouse_.lat = latLng.lat;\n this.mouse_.lng = latLng.lng;\n\n this._onChildMouseMove();\n\n if (currTime - this.dragTime_ < K_IDLE_TIMEOUT) {\n this.fireMouseEventOnIdle_ = true;\n } else {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n this.fireMouseEventOnIdle_ = false;\n }\n };\n\n // K_IDLE_CLICK_TIMEOUT - looks like 300 is enough\n _onClick = (...args) =>\n this.props.onClick &&\n !this.childMouseDownArgs_ &&\n new Date().getTime() - this.childMouseUpTime_ > K_IDLE_CLICK_TIMEOUT &&\n this.dragTime_ === 0 &&\n this.props.onClick(...args);\n\n _onMapClick = (event) => {\n if (this.markersDispatcher_) {\n // support touch events and recalculate mouse position on click\n this._onMapMouseMove(event);\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n if (this.mouse_) {\n this._onClick({\n ...this.mouse_,\n event,\n });\n }\n\n this.markersDispatcher_.emit('kON_CLICK', event);\n }\n }\n };\n\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n _onMapMouseDownNative = (event) => {\n if (!this.mouseInMap_) return;\n\n this._onMapMouseDown(event);\n };\n\n _onMapMouseDown = (event) => {\n if (this.markersDispatcher_) {\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n // Hovered marker detected at mouse move could be deleted at mouse down time\n // so it will be good to force hovered marker recalculation\n this._onMapMouseMove(event);\n this.markersDispatcher_.emit('kON_MDOWN', event);\n }\n }\n };\n\n _onMapMouseDownCapture = () => {\n if (detectBrowser().isChrome) {\n // to fix strange zoom in chrome\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _onKeyDownCapture = () => {\n if (detectBrowser().isChrome) {\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _isCenterDefined = (center) =>\n center &&\n ((isPlainObject(center) && isNumber(center.lat) && isNumber(center.lng)) ||\n (center.length === 2 && isNumber(center[0]) && isNumber(center[1])));\n\n _onBoundsChanged = (map, maps, callExtBoundsChange) => {\n if (map) {\n const gmC = map.getCenter();\n this.geoService_.setView([gmC.lat(), gmC.lng()], map.getZoom(), 0);\n }\n\n if (\n (this.props.onChange || this.props.onBoundsChange) &&\n this.geoService_.canProject()\n ) {\n const zoom = this.geoService_.getZoom();\n const bounds = this.geoService_.getBounds();\n const centerLatLng = this.geoService_.getCenter();\n\n if (!isArraysEqualEps(bounds, this.prevBounds_, kEPS)) {\n if (callExtBoundsChange !== false) {\n const marginBounds = this.geoService_.getBounds(this.props.margin);\n if (this.props.onBoundsChange) {\n this.props.onBoundsChange(\n this.centerIsObject_\n ? { ...centerLatLng }\n : [centerLatLng.lat, centerLatLng.lng],\n zoom,\n bounds,\n marginBounds\n );\n }\n\n if (this.props.onChange) {\n this.props.onChange({\n center: { ...centerLatLng },\n zoom,\n bounds: {\n nw: {\n lat: bounds[0],\n lng: bounds[1],\n },\n se: {\n lat: bounds[2],\n lng: bounds[3],\n },\n sw: {\n lat: bounds[4],\n lng: bounds[5],\n },\n ne: {\n lat: bounds[6],\n lng: bounds[7],\n },\n },\n marginBounds: {\n nw: {\n lat: marginBounds[0],\n lng: marginBounds[1],\n },\n se: {\n lat: marginBounds[2],\n lng: marginBounds[3],\n },\n sw: {\n lat: marginBounds[4],\n lng: marginBounds[5],\n },\n ne: {\n lat: marginBounds[6],\n lng: marginBounds[7],\n },\n },\n\n size: this.geoService_.hasSize()\n ? {\n width: this.geoService_.getWidth(),\n height: this.geoService_.getHeight(),\n }\n : {\n width: 0,\n height: 0,\n },\n });\n }\n\n this.prevBounds_ = bounds;\n }\n }\n }\n };\n\n _registerChild = (ref) => {\n this.googleMapDom_ = ref;\n };\n\n render() {\n const overlay = this.state.overlay;\n const mapMarkerPrerender = !overlay ? (\n \n ) : null;\n\n return (\n \n \n {IS_REACT_16 && overlay && createPortal(this._renderPortal(), overlay)}\n\n {/* render markers before map load done */}\n {mapMarkerPrerender}\n
\n );\n }\n}\n\nexport default GoogleMap;\n","export const generateHeatmap = (instance, { positions }) =>\n new instance.visualization.HeatmapLayer({\n data: positions.reduce((acc, { lat, lng, weight = 1 }) => {\n acc.push({\n location: new instance.LatLng(lat, lng),\n weight,\n });\n return acc;\n }, []),\n });\n\nexport const optionsHeatmap = (instance, { options = {} }) =>\n Object.keys(options).map((option) => instance.set(option, options[option]));\n","export default function isArraysEqualEps(arrayA, arrayB, eps) {\n if (arrayA && arrayB) {\n for (let i = 0; i !== arrayA.length; ++i) {\n if (Math.abs(arrayA[i] - arrayB[i]) > eps) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\nimport { MarkerDimensions } from 'src/feature-app/NewMap/MapGeneralController';\n\n\nconst beatKeyframe = keyframes`\n from {\n opacity: 1;\n transform: translate3d(50%, 50%, 0) scale(0);\n }\n to {\n opacity: 0;\n transform: translate3d(50%, 50%, 0) scale(1);\n }\n`;\n\nexport const Wrapper = styled.div<{ onTop?: boolean }>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -100%, 0);\n z-index: ${(props) => (props.onTop ? '3' : '2')};\n &.geoloc {\n transform: translate3d(-50%, -50%, 0);\n z-index: 1;\n }\n .circle-beat {\n animation: ${beatKeyframe} 2s ease 0s infinite normal none running;\n }\n`;\n\nexport const TextWrapper = styled(Wrapper as any)`\n /* https://github.com/microsoft/TypeScript/issues/37597#issuecomment-628089901 */\n top: 68%;\n color: #ffffff;\n & div {\n color: #ffffff;\n }\n`;\n\nexport const Img = styled.img<{ markerDimensions: MarkerDimensions }>`\n width: ${(props) => `${props.markerDimensions.width}px`};\n height: ${(props) => `${props.markerDimensions.height}px`};\n &.dealer-marker {\n margin-bottom: 4px;\n }\n`;\n","import React from 'react';\nimport { Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\n\nexport const CenterMarker = React.memo((props: { lat: number; lng: number }) => {\n return (\n \n \n \n \n \n \n );\n});\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, TextWrapper, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\ninterface ClusterMarkerProps {\n lat: number;\n lng: number;\n pointCount: number;\n onClick: any;\n isHover: boolean;\n}\n\nexport const sameClusterId = (selectedPoint: Points, point: Points) => {\n if (selectedPoint?.properties?.parent_cluster_id && point.id) {\n return selectedPoint.properties.parent_cluster_id === point.id;\n }\n return false;\n};\n\nexport const ClusterMarker = React.memo(({ onClick, pointCount, isHover }: ClusterMarkerProps) => {\n const { markerDimensions } = useMapGeneralController();\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n onClick();\n }}\n onMouseEnter={(e) => {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n >\n \n \n {pointCount}\n \n \n );\n});\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst Dot = styled.div<{ greyCard: boolean }>`\n height: 4px;\n width: 4px;\n background-color: ${(props) => (props.greyCard ? '#6A767D' : '#0040c5')};\n border-radius: 100%;\n display: inline;\n position: absolute;\n bottom: 0;\n left: 44%;\n`;\n\ninterface DealerMarkerProps {\n onClick: (event: React.MouseEvent) => void;\n lat: number;\n lng: number;\n isGrey: boolean;\n isActive: boolean;\n isHover: boolean;\n isFavouriteDealer: boolean;\n}\n\nexport const isDealerGrey = (carPickupSelected: boolean, replacementCarSelected: boolean, point: Points) =>\n pickupSelectedAndDealerHasIt(carPickupSelected, point) ||\n replacementCarSelectedAndDealerHasIt(replacementCarSelected, point);\n\nexport const isDealerActive = (selectedPoint: Points, point: Points) =>\n selectedPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerFavourite = (favouriteDealer: Points, point: Points) =>\nfavouriteDealer?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerHovered = (hoverPoint: Points, point: Points) =>\nhoverPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nconst pickupSelectedAndDealerHasIt = (carPickupSelected: boolean, point: Points) =>\n carPickupSelected && !point?.properties?.dealer?.dmsInfo?.pickupCarServiceAvailabe;\nconst replacementCarSelectedAndDealerHasIt = (replacementCarSelected: boolean, point: Points) =>\n replacementCarSelected && !point?.properties?.dealer?.dmsInfo?.replacementCarServiceAvailable;\n\nexport const DealerMarker = React.memo(\n ({\n onClick,\n isGrey,\n isActive,\n isHover,\n isFavouriteDealer\n }: DealerMarkerProps) => {\n const markerDimensions = useMapGeneralController().markerDimensions;\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n onTop={isActive || isHover ||mouseEntered ? true : false}\n >\n \n {isActive ? : null}\n \n );\n }\n);\n","import { Breakpoints, BreakpointWrapper, CTA, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport GoogleMapReact from 'google-map-react';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { getGoogleApiKey } from 'src/bff';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Add, ContactDealer, Locate, Reload, Remove } from 'src/icons-core-imports';\nimport { OneFormState, Points, SelectedTab } from 'src/types';\nimport { mapStyles } from 'src/feature-app/NewMap';\nimport { CenterMarker } from 'src/feature-app/NewMap/components/CenterMarker';\nimport { ClusterMarker, sameClusterId } from 'src/feature-app/NewMap/components/ClusterMarker';\nimport { DealerMarker, isDealerGrey, isDealerActive, isDealerFavourite, isDealerHovered } from 'src/feature-app/NewMap/components/DealerMarker';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst RecalcularWrapper = styled.div<{ isPosventa?: boolean }>`\n position: fixed;\n top: ${(props) => (props.isPosventa ? '96px' : '68px')};\n transform: translateX(-50%);\n left: 50%;\n background-color: #ffffff;\n border-radius: 500px;\n width: fit-content;\n @media all and (min-width: 960px) {\n top: 24px;\n transform: translateX(0);\n left: unset;\n right: 183px;\n }\n`;\n\nconst GoogleMaps = styled.div`\n & .gm-control-active[aria-label='Ampliar'] {\n display: none !important;\n }\n\n & .gm-control-active[aria-label='Reducir'] {\n display: none !important;\n }\n\n & .gmnoprint {\n display: none;\n }\n`;\n\ninterface MapHeightWrapperProps {\n isTrigger?: boolean;\n isWidget?: boolean;\n}\n\nconst MapHeigthWrapper = styled.div`\n width: 100%;\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid020)' : '100vh')};\n\n @media all and (min-width: 560px) {\n height: ${(props) => (props.isWidget ? '82vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n\n @media all and (min-width: 768px) {\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n @media all and (min-width: 960px) {\n height: ${(props) => (props.isWidget ? '60vh' : props.isTrigger ? '636px' : '100vh')};\n }\n @media all and (min-width: 1600px) {\n height: ${(props) => (props.isWidget ? '70vh' : props.isTrigger ? '684px' : '100vh')};\n }\n`;\n\ninterface newMapProps {\n searchIsDealer?: boolean;\n setTranslateCarousel?: any;\n translateCarousel?: boolean;\n preSelectedOrderValue?: SelectedTab;\n isTrigger?: boolean;\n preselectedDealerForm?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n isPosventa?: boolean;\n isWidget?: boolean;\n}\n\nexport const NewMap = React.memo((props: newMapProps) => {\n const {\n centerRef,\n clusters,\n handleApiLoaded,\n geoLocatedCenterRef,\n getNewClusters,\n handlePointClickAndCarouselMove,\n selectedPoint,\n handleClusterClick,\n mapMaxZoom,\n searchMoreDealers,\n handleMapMovement,\n setSearchIsDealer,\n hoverPoint,\n handleHoverPoint,\n userIsGeoLocated,\n mapHasMoved,\n } = useMapGeneralController();\n const { dealersInfo, formInfo } = useSelector((state: OneFormState) => state);\n const { dealersOrInstallationsMode, favouriteDealer } = dealersInfo;\n const { suggestionIsAddress } = formInfo;\n const {\n searchIsDealer,\n setTranslateCarousel,\n preSelectedOrderValue,\n isTrigger,\n carPickupSelected,\n replacementCarSelected,\n isPosventa,\n isWidget,\n } = props;\n const trackingManager = useTrackingManager();\n\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n } else {\n setGelocalizationActive(false);\n }\n }, [userIsGeoLocated]);\n\n return (\n // Important! Always set the container height explicitly\n \n \n {\n handleApiLoaded(map, maps);\n }}\n defaultCenter={{\n lat: 40.58869349456487,\n lng: -3.0047240000000075,\n }}\n yesIWantToUseGoogleMapApiInternals\n onDrag={() => {\n handleMapMovement();\n }}\n defaultZoom={5}\n options={{\n styles: mapStyles,\n clickableIcons: false,\n streetViewControl: false,\n fullscreenControl: false,\n mapTypeControl: false,\n maxZoom: mapMaxZoom,\n }}\n >\n {clusters\n ? clusters.map((point: Points) => {\n if (point.geometry) {\n const [longitude, latitude] = point.geometry.coordinates;\n return point.properties.cluster ? (\n {\n handleClusterClick(point);\n }}\n pointCount={point.properties.point_count}\n />\n ) : (\n {\n e.preventDefault();\n if (!searchIsDealer) {\n handlePointClickAndCarouselMove(point, true, preSelectedOrderValue);\n }\n }}\n />\n );\n }\n return null;\n })\n : null}\n {(geoLocatedCenterRef.current && gelocalizationActive) || (suggestionIsAddress && centerRef.current) ? (\n \n ) : null}\n \n {isTrigger ? (\n \n \n \n ) : (\n <>\n \n \n \n {clusters && mapHasMoved && !isWidget ? (\n searchIsDealer ? (\n \n \n {\n e.preventDefault();\n setSearchIsDealer(false);\n\n trackingManager.trackFormButtonClick({\n contentId:\n dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca',\n });\n searchMoreDealers();\n if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n {dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca'}\n \n \n \n ) : (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Buscar en esta zona',\n });\n getNewClusters();\n {\n /*if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }*/\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar en esta zona\n \n \n \n )\n ) : null}\n \n )}\n \n \n );\n});\n\n/* MAP CONTROLLLERS (!el botón de geolocaclización en versión mobile está en la propia vista.\n Estos controladores actualmente solo están visibles a partir de 960px)\n*/\nconst ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n`;\n\ninterface ControllersWrapperProps {\n isTrigger?: boolean;\n}\n\nconst ControllersWrapper = styled.div`\n position: ${(props) => (props.isTrigger ? 'absolute' : 'absolute')};\n bottom: ${(props) => (props.isTrigger ? '24px' : '240px')};\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '20px')};\n\n @media all and (min-width: 960px) {\n bottom: 24px;\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '24px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid003) + 24px)' : '24px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid004) + 24px)' : '24px')};\n }\n`;\n\nconst ZoomWrapper = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 14px;\n\n & div {\n margin: 6px 0px;\n }\n`;\n\nconst IconLess = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_less.svg';\nconst IconMore = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_more.svg';\n\nconst Controllers = (props: { gelocalizationActive: boolean; suggestionIsAddress: boolean; isTrigger?: boolean }) => {\n const { handleChangeInMapZoom, centerInGeoLocatedCenter, centerRef, centerMap } = useMapGeneralController();\n\n const { gelocalizationActive, isTrigger, suggestionIsAddress } = props;\n\n return (\n \n \n {gelocalizationActive || (suggestionIsAddress && centerRef.current) ? (\n \n {\n e.preventDefault();\n if (suggestionIsAddress && centerRef.current) {\n centerMap(centerRef.current);\n } else {\n centerInGeoLocatedCenter();\n }\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(true);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(false);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { ReactElement, useEffect, useRef } from 'react';\nimport Slider from 'react-slick';\nimport { NewDealerCard } from 'src/feature-app';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { getDistanceFromLatLngCenter } from 'src/feature-app/NewMap/utils';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\n\nconst BackgroundCard = styled.div`\n background-color: #001e50;\n margin: 0 4px;\n`;\n\ninterface CarouselCardsProps {\n handleShowCalendarOnClick?: any;\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n pointsToList: Points[];\n isCitaPosventa?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n}\n\nexport const Carousel = (props: CarouselCardsProps) => {\n const {\n clusters,\n handlePointClickAndCarouselMove,\n centerToCalculateDistance,\n handleSelectedPoint,\n handleClusterClick,\n selectedPoint,\n } = useMapGeneralController();\n const { \n handleSeleccionarOnClick, \n handleShowCalendarOnClick, \n handleShowSlots, \n pointsToList, \n isCitaPosventa,\n carPickupSelected,\n replacementCarSelected \n } = props;\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n useEffect(() => {\n if (pointsToList.length) {\n const firstPoint = selectedPoint ? selectedPoint : pointsToList[0];\n // handleCarouselMovement(firstPoint);\n handleSelectedPoint(firstPoint);\n // handleSelectedCard(firstPoint);\n }\n }, [pointsToList]);\n\n useEffect(() => {\n // Movimiento del carousel en caso de que se haga click en un Dealer Marker.\n if (selectedPoint) {\n // handleSelectedCard(selectedPoint);\n handleCarouselMovement(selectedPoint);\n }\n }, [selectedPoint, pointsToList]);\n\n const handleSelectedCard = (point: Points) => {\n if (!point.properties.cluster) {\n const { kvps } = point.properties.dealer;\n\n const index = pointsToList.findIndex((dealer) => {\n if (dealer.properties.dealer.kvps === kvps) {\n return true;\n }\n });\n sliderRef.current.slickGoTo(index);\n }\n };\n\n const handleCarouselMovement = (point: Points) => {\n if (point.properties.parent_cluster_id) {\n const parentCluster = clusters.find(\n (cluster) => cluster.properties.cluster && cluster.id === point.properties.parent_cluster_id\n );\n if (parentCluster) {\n // En caso de que el dealer esté dentro de un cluster dentro de otro fijamos el valor de isCluster como true para que llegue hasta el final\n // y no rompa únicamente el primer cluster.\n // handleClusterClick(point, true);\n handleSelectedPoint(point);\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n };\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '60px',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n beforeChange: (current: number, next: number) => {\n const point: Points = pointsToList.find((point) => {\n if (!point.properties.cluster) {\n if (point.properties.dealer.kvps === childrenRef.current[next].key) {\n return point;\n }\n }\n });\n\n handleCarouselMovement(point);\n },\n };\n return (\n \n {\n sliderRef.current = el;\n if (el && el.props && el.props.children) {\n childrenRef.current = el.props.children.filter((c:any) => c !== null);\n }\n }}\n >\n {pointsToList\n ? pointsToList.map((point: Points, i) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return !point.properties.cluster ? (\n
\n {/* este div es necesario para el funcionamiento de la libreria */}\n \n \n \n
\n ) : null;\n })\n : null}\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Suggest, useFeatureAppConfig, useMapGeneralController } from 'src/feature-app';\nimport { Horario, Installation, isDealerData, OneFormState, SelectedTab } from 'src/types';\nimport { isGooglePlace, updateMapVariables, Suggestion } from 'src/feature-app/NewMap';\nimport {\n useTrackingManager,\n useLocateUser,\n useShowOverflow,\n useFeatureAppEnvironment,\n useFeatureServices,\n} from 'src/feature-app/hooks';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { getGeocode } from 'src/feature-app/NewMap/utils';\nimport { GooglePlace } from 'src/feature-app/NewMap/components/suggest';\n\nconst FiltrosWrapper = styled.div<{ onlySuggest?: boolean; showOverflow?: boolean }>`\n min-height: 100vh;\n position: relative;\n padding-bottom: 117px;\n padding-top: 56px;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n .filtros {\n &__header {\n text-align: center;\n }\n &__body {\n flex-grow: 1;\n padding-bottom: ${(props) => (props.onlySuggest ? '4px' : null)};\n }\n &__controls {\n position: fixed;\n bottom: 0;\n width: 100%;\n padding: 14px 0;\n background: #ffffff;\n border-top: 1px solid #dfe4e8;\n }\n }\n`;\n\nconst MultipleCTAWrapper = styled.div`\n text-align: left;\n & > button {\n margin: 24px 24px 0 0;\n }\n`;\n\nconst Divider = styled.div`\n background-color: #dfe4e8;\n width: 100vw;\n height: 1px;\n margin-bottom: 14px;\n\n @media all and (min-width: 960px) {\n display: none;\n margin-bottom: 0;\n }\n`;\n\n//revisar width aButtonsWrapper a partir de 960 en navegadores/dispositivos con barra de scroll.\n//Está puesto con valor fijo porqué por algun motivo no pilla bien el 100%\n\nconst ActionButtonsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n @media all and (min-width: 960px) {\n width: 400px;\n }\n button {\n div {\n font-size: 14px;\n }\n &:first-of-type {\n margin-right: 32px;\n }\n }\n`;\n\ninterface FiltrosProps {\n closeFiltros: any;\n showFiltros: boolean;\n setShowFiltros: React.Dispatch>;\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: SelectedTab;\n onlySuggest?: boolean;\n concesionario?: boolean;\n citaPosventa?: boolean;\n}\n\nexport const Filtros = (props: FiltrosProps) => {\n return (\n {}}>\n \n \n );\n};\n\nexport interface SelectedSuggestion {\n name: string;\n suggestion: Suggestion;\n}\n\nconst getSelectedSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return { name: suggestion.name, suggestion };\n } else {\n if (!isDealerData(suggestion)) {\n return {\n name: `${(suggestion as Installation).TXT_V_Installation_Data_Name__c}, ${\n (suggestion as Installation).TXT_V_Address__c\n }`,\n suggestion,\n };\n } else {\n return {\n name: `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`,\n suggestion,\n };\n }\n }\n};\n\nexport const FiltrosComponent = (props: FiltrosProps) => {\n const {\n closeFiltros,\n showFiltros,\n setShowFiltros,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n onlySuggest,\n concesionario,\n citaPosventa,\n } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n\n const [aplicarDisabled, setAplicarDisabled] = useState(true);\n const [tabsOrder, setTabsOrder] = useState('horario');\n const [currentHorario, setCurrentHorario] = useState<{ label: string; value: string }>({\n label: 'Lo antes posible',\n value: 'before',\n });\n // guardar suggestion seleccionada previo a hacer submit\n // sirve para activar o desactivar el setAplicarDisabled\n const [selectedSuggestion, setSelectedSuggestion] = useState(null);\n const { register } = useFormContext();\n const trackingManager = useTrackingManager();\n const filtrosRef = useRef(null);\n\n const { userSuggestion: userSuggest, suggestionIsInCanaryIslands } = formInfo;\n\n const CTAsHorario = [\n { label: 'Lo antes posible', value: 'before' },\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n ];\n\n const CTAsOrden: { value: SelectedTab; label: string }[] = [\n { value: 'ubicacion', label: 'Ubicación' },\n { value: 'horario', label: 'Horario' },\n ];\n\n const {\n value,\n setValue,\n icon,\n locationSuccess,\n setLocationSuccess,\n loading,\n locationDisabled,\n isLocating,\n handleLocateFilters,\n } = useLocateUser();\n const dispatch = useDispatch();\n\n const { moreDealersSearched, setMoreDealersSearched } = useMapGeneralController();\n const { trigger } = useFeatureAppConfig();\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const validateSubmission = () => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n\n if (preSelectedOrderValue && setPreSelectedOrderValue && tabsOrder !== preSelectedOrderValue) {\n setPreSelectedOrderValue(tabsOrder);\n }\n setShowFiltros(false);\n };\n\n const handleFiltrosSubmit = (selectedSuggestionFromClick?: SelectedSuggestion) => {\n if (selectedSuggestion && !selectedSuggestionFromClick) {\n // if (isGooglePlace(selectedSuggestion.suggestion) && selectedSuggestion.suggestion.isGeoLocated) {\n // // Parche para que se actualize la ubicación a la geolocalización. El bug viene de que en use-locate-user.tsx\n // // se detecta el cambio de suggestion en un useeffect y eso dispara la función updateMapVariables, pero en el caso de\n // // la geolocalización, ésta función se dispara automáticamente al clickar sobre el cta. Si queremos esperar a que los cambios\n // // se hagan efectivos al clickar \"Aplicar filtros\" hay que llamarla desde aquí.\n\n updateMapVariables(dispatch, selectedSuggestion.suggestion).then(() => {\n validateSubmission();\n });\n }\n // Pasamos este valor al seleccionar en la lista desplegable un valor.\n if (selectedSuggestionFromClick) {\n updateMapVariables(dispatch, selectedSuggestionFromClick.suggestion).then(() => {\n validateSubmission();\n });\n }\n };\n\n useEffect(() => {\n if (!moreDealersSearched) {\n if (userSuggest && showFiltros) {\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest?.name}, ${userSuggest?.markerInfo?.dealerInfo?.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation)?.TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation)?.TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest?.name);\n }\n }\n } else {\n setValue('');\n }\n if (showFiltros) setAplicarDisabled(true);\n }, [showFiltros]);\n\n useEffect(() => {\n if (value && !aplicarDisabled) {\n if (value !== selectedSuggestion.name) {\n setAplicarDisabled(true);\n }\n }\n }, [value]);\n\n useEffect(() => {\n const val = CTAsHorario.find((el: any) => formData.fields.horario === el.value);\n setCurrentHorario(val);\n }, [formData]);\n\n useEffect(() => {\n if (preSelectedOrderValue) {\n setTabsOrder(preSelectedOrderValue);\n }\n }, [preSelectedOrderValue]);\n\n useEffect(() => {\n if (moreDealersSearched && locationSuccess) setLocationSuccess(false);\n }, [moreDealersSearched]);\n\n useEffect(() => {\n // Necesario para que cada vez que se selecciona un resultado de google en filtros se compruebe si\n // pertenece a las islas canarias y dispare el popup antes de que se apliquen los filtros.\n const checkGeocode = async () => {\n const geometry = await getGeocode(selectedSuggestion);\n };\n if (selectedSuggestion?.suggestion?.isGooglePlace) {\n checkGeocode();\n }\n }, [selectedSuggestion]);\n\n useEffect(() => {\n if (!moreDealersSearched) {\n // cuando se monta la componente, si está geolocalizado forzar el locationSuccess a\n // true porque el boton el hook se resetea al montar de nuevo la componente\n // también porque en mobile la componente Filtros se renderiza cada vez que se abre\n if (!userSuggest) {\n return;\n }\n if ((userSuggest as GooglePlace)?.isGeoLocated) {\n setLocationSuccess(true);\n }\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest.name}, ${userSuggest.markerInfo.dealerInfo.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation).TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation).TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest.name);\n }\n }\n }, []);\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n const selectedSuggestion = getSelectedSuggestion(suggestion);\n setSelectedSuggestion(selectedSuggestion);\n setLocationSuccess(false);\n setAplicarDisabled(false);\n if (moreDealersSearched) setMoreDealersSearched(false);\n // Cierra la parte de filtros\n handleFiltrosSubmit(selectedSuggestion);\n };\n\n return (\n \n \n \n {citaPosventa ? null : (\n
\n \n Filtros\n \n
\n )}\n\n {!onlySuggest ? (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n {/* */}\n \n {/* */}\n
\n ) : (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n \n
\n )}\n \n
\n \n \n {\n closeFiltros();\n trackingManager.trackFormButtonClick({\n contentId: 'Cancelar',\n });\n }}\n ariaLabel=\"aria label\"\n >\n Cancelar\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Aplicar filtros',\n });\n setTimeout(() => {\n handleFiltrosSubmit();\n }, 1000);\n }}\n ariaLabel=\"aria label\"\n disabled={aplicarDisabled}\n >\n {citaPosventa ? <>Buscar : <>Aplicar filtros}\n \n \n \n
\n \n
\n );\n};\n\ninterface SortByProps {\n setTabsOrder: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n preSelectedOrderValue: SelectedTab;\n CTAsOrden: {\n value: SelectedTab;\n label: string;\n }[];\n tabsOrder: SelectedTab;\n}\n\nconst SortBy = (props: SortByProps) => {\n const { setTabsOrder, setAplicarDisabled, preSelectedOrderValue, tabsOrder, CTAsOrden } = props;\n const trackingManager = useTrackingManager();\n\n return (\n <>\n \n Ordenar por\n \n \n {CTAsOrden.map((el) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: el.label,\n });\n setTabsOrder(el.value);\n if (preSelectedOrderValue !== el.value) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={el.value}\n >\n {el.label}\n \n );\n })}\n \n \n );\n};\n\ninterface ChangeHorarioProps {\n setCurrentHorario: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n CTAsHorario: {\n label: string;\n value: string;\n }[];\n currentHorario: { label: string; value: string };\n horario: Horario;\n}\n\nconst ChangeHorario = (props: ChangeHorarioProps) => {\n const { setCurrentHorario, setAplicarDisabled, CTAsHorario, currentHorario, horario } = props;\n const trackingManager = useTrackingManager();\n\n return (\n \n \n Selecciona una franja horaria\n \n \n {CTAsHorario.map((cta: { label: string; value: string }) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: cta.label,\n });\n if (cta.label !== currentHorario.label) {\n setCurrentHorario(cta);\n }\n if (cta.value !== horario) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={cta.value}\n >\n {cta.label}\n \n );\n })}\n \n \n );\n};\n","import { Text, ThemeProvider, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Close, ContactDealer, Magnifier, Route } from 'src/icons-core-imports';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from '.';\nimport React, { useEffect, useRef, useState } from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { DealersData } from 'src/types';\nimport { useAddressPredictions } from 'src/feature-app';\nimport { DealersOrInstallationsMode, Geometry, Installation, isDealerData, OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { isGooglePlace } from 'src/feature-app/NewMap/utils';\nimport { useDropdowPosition, useTrackingManager } from 'src/feature-app/hooks';\n\nexport interface GooglePlace {\n isGooglePlace: boolean;\n name: string;\n isGeoLocated: boolean;\n skipSearch?: boolean;\n moreDealersSearched?: boolean;\n geometry?: Geometry;\n}\n\nexport type Suggestion = DealersData | GooglePlace | Installation;\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n\nconst getSuggestions = (\n list: DealersData[] | Installation[],\n value: string,\n dealersOrInstallationsMode: DealersOrInstallationsMode\n) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n const regex = new RegExp(escapedValue, 'i');\n\n if (dealersOrInstallationsMode === 'dealers') {\n return list.filter((dealer: DealersData) => regex.test(dealer.markerInfo.dealerInfo.name));\n } else {\n return list.filter((installation: Installation) => regex.test(installation.VGED_CommercialName__c));\n }\n};\n\nconst getSuggestionValue = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n } else {\n if (isDealerData(suggestion)) {\n return suggestion.markerInfo.dealerInfo.name;\n } else {\n return (suggestion as Installation).VGED_CommercialName__c;\n }\n }\n};\n\nconst renderSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return (\n \n \n \n {suggestion.name}\n \n \n );\n } else {\n let name;\n let address;\n let zipCode;\n let city;\n let province;\n if (isDealerData(suggestion)) {\n name = suggestion.markerInfo.dealerInfo.name;\n address = suggestion.markerInfo.dealerInfo.address;\n zipCode = suggestion.markerInfo.dealerInfo.zipCode;\n city = suggestion.markerInfo.dealerInfo.city;\n province = suggestion.markerInfo.dealerInfo.province;\n } else {\n name = (suggestion as Installation).VGED_CommercialName__c;\n address = (suggestion as Installation).ShippingStreet;\n zipCode = (suggestion as Installation).ShippingPostalCode;\n city = (suggestion as Installation).ShippingCity;\n province = (suggestion as Installation).Province;\n }\n return (\n \n \n \n
\n \n {name}\n \n \n {address}\n
\n {zipCode} {city}, {province}\n
\n
\n
\n );\n }\n};\n\nconst getValueFormatted = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n }\n if (!isGooglePlace(suggestion) && isDealerData(suggestion)) {\n return `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`;\n } else if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return `${(suggestion as Installation).VGED_CommercialName__c}, ${\n (suggestion as Installation).ShippingStreet\n }`;\n } else {\n return '';\n }\n};\n\ninterface SuggestProps {\n setSuggestion?: React.Dispatch>;\n setValue: React.Dispatch>;\n setAplicarDisabled?: React.Dispatch>;\n value: string;\n isFiltrosSuggest?: boolean;\n isLocating?: boolean;\n moreDealersSearched?: boolean;\n setLocationSuccess?: React.Dispatch>;\n formTheme?: string;\n onSuggestionSelectedFn?: (suggestion: Suggestion) => void;\n autoWidth?: boolean;\n}\n\nexport function Suggest(props: SuggestProps) {\n const {\n setSuggestion,\n setValue,\n value,\n isFiltrosSuggest,\n setAplicarDisabled,\n isLocating,\n moreDealersSearched,\n setLocationSuccess,\n formTheme,\n onSuggestionSelectedFn,\n autoWidth\n } = props;\n const [suggestions, setSuggestions] = useState([]);\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const predictions = useAddressPredictions(value, selectedValue);\n const [inputPlaceholder, setInputPlaceHolder] = useState('Localidad, código postal o nombre del taller');\n const trackingManager = useTrackingManager();\n const suggestRef = useRef(null);\n const inputRef = useRef(null);\n\n const { formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { dealers, installations, dealersOrInstallationsMode } = dealersInfo;\n\n const [inputFocus, setInputFocus] = useState(false);\n const dispatch = useDispatch();\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(true);\n // inputRef.current.input.addEventListener('keydown', handleIntroKeyDown)\n }\n return () => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(false);\n // inputRef.current.input.removeEventListener('keydown', handleIntroKeyDown)\n }\n };\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n e.stopPropagation();\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n setError(false);\n setValue(newValue);\n };\n\n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n\n trackingManager.trackFormFieldClick(\n {\n contentId: 'Localidad, código postal o nombre del taller',\n },\n {\n FormFieldName: 'location', // Corregir\n }\n );\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const list = dealersOrInstallationsMode === 'dealers' ? dealers : installations;\n const dealerSuggestions = getSuggestions(list, value, dealersOrInstallationsMode);\n setSuggestions(dealerSuggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const [placeHolder, setPlaceHolder] = useState('');\n\n useEffect(() => {\n if (dealersOrInstallationsMode === 'dealers') {\n setPlaceHolder('Localidad, código postal, dirección, nombre del taller, etc.');\n } else {\n setPlaceHolder('Localidad, código postal o nombre del punto de venta');\n }\n }, []);\n\n useEffect(() => {\n if (isFiltrosSuggest && moreDealersSearched) {\n setInputPlaceHolder('Zona del mapa seleccionada');\n } else {\n setInputPlaceHolder(placeHolder);\n }\n }, [moreDealersSearched, placeHolder]);\n\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n disabled: isLocating ? true : false,\n };\n\n // REFACTORIZAR\n useEffect(() => {\n if (selectedValue) return;\n const predictionsFormatted: GooglePlace[] = predictions.map((prediction) => {\n return {\n name: prediction,\n isGooglePlace: true,\n isGeoLocated: false,\n };\n });\n setSuggestions([...suggestions, ...predictionsFormatted]);\n }, [predictions]);\n\n return (\n {\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isFullScreen={formInfo.notALayer ? true : false}\n goUp={goUp}\n autoWidth={autoWidth}\n className=\"styled-wrapper-suggest\"\n >\n \n \n \n {\n if (!isGooglePlace(suggestion)) {\n dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: false });\n }\n const value = getValueFormatted(suggestion);\n setValue(value);\n setSelectedValue(true);\n if (onSuggestionSelectedFn) {\n setTimeout(() => {\n onSuggestionSelectedFn(suggestion);\n }, 0);\n }\n }}\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault();\n setValue('');\n if (!isFiltrosSuggest && !isLocating) {\n setLocationSuccess(false);\n setSuggestion(null);\n setValue('');\n setSelectedValue(false);\n } else if (isFiltrosSuggest) {\n setAplicarDisabled(true);\n }\n }}\n >\n \n \n \n )}\n \n );\n}\n","export const mapStyles = [\n {\n elementType: 'geometry',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#bdbdbd',\n },\n ],\n },\n {\n featureType: 'landscape',\n stylers: [\n {\n color: '#dfe4e8',\n },\n ],\n },\n {\n featureType: 'landscape.natural',\n elementType: 'labels',\n stylers: [\n {\n color: '#757575',\n },\n {\n visibility: 'simplified',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'poi.business',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ade5a1',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#00662f',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [\n {\n color: '#dadada',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ffe856',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n featureType: 'road.local',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n {\n visibility: 'on',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e',\n },\n ],\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [\n {\n color: '#4cc7f4',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#0066a1',\n },\n ],\n },\n];\n","export const provinces = [\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"2\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Albacete\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"3\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Alicante/Alacant\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"4\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Almería\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"1\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Araba/Álava\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"33\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Asturias\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"5\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ávila\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"6\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Badajoz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"7\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Balears, Illes\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"8\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Barcelona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"48\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Bizkaia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"9\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Burgos\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"10\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cáceres\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"11\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cádiz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"39\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cantabria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"12\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Castellón/Castelló\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"13\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ciudad Real\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"14\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Córdoba\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"15\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Coruña, A\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"16\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cuenca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"20\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Gipuzkoa\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"17\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Girona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"18\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Granada\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"19\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Guadalajara\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"21\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huelva\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"22\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huesca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"23\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Jaén\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"24\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"León\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"25\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lleida\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"27\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lugo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"28\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Madrid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"29\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Málaga\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"30\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Murcia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"31\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Navarra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"32\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ourense\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"34\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palencia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"35\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palmas, Las\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"36\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Pontevedra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"26\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Rioja, La\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"37\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Salamanca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"38\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Santa Cruz de Tenerife\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"40\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Segovia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"41\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Sevilla\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"42\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Soria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"43\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Tarragona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"44\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Teruel\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"45\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Toledo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"46\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valencia/València\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"47\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valladolid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"49\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zamora\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"50\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zaragoza\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"51\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ceuta\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"52\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Melilla\"\n }\n ]\n }\n]","import {\n styled\n} from '@volkswagen-onehub/components-core';\n\n//Layer styles\n\nexport const MapAndTabsWrapper = styled.div<{ showFilters: boolean }>`\n display: flex;\n .wrapper {\n width: 50%;\n height: 100vh;\n &--tabs {\n background-color: #001e50;\n overflow-y: hidden;\n color: #ffffff;\n }\n &--map {\n z-index: 4;\n height: 100%;\n background-color: grey;\n }\n }\n .opacity-layer {\n position: absolute;\n width: 50%;\n height: 100%;\n left: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: ${(props) => (props.showFilters ? 6 : -1)};\n opacity: ${(props) => (props.showFilters ? 1 : 0)};\n transition: opacity 0.4s;\n }\n`;\n\nexport const FilterButton = styled.div`\n position: absolute;\n top: 24px;\n right: 24px;\n button {\n background: #ffffff;\n }\n`;\n\nexport const FiltrosWrapperLayer = styled.div`\n min-height: 100vh;\n width: 50%;\n background-color: #ffffff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 5;\n transform: translate3d(100%, 0, 0);\n display: none;\n .back-btn {\n position: absolute;\n z-index: 4;\n top: 20px;\n left: 24px;\n @media screen and (min-width: 1600px) {\n top: 24px;\n }\n }\n &.filtros-enter {\n display: block;\n transform: translate3d(100%, 0, 0);\n }\n &.filtros-enter-active {\n display: block;\n transform: translate3d(0, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-enter-done {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit-active {\n display: block;\n transform: translate3d(100%, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-exit-done {\n display: none;\n transform: translate3d(100%, 0, 0);\n }\n`;\n\nexport const ListWrapper = styled.div<{paddingBottom?: string}>`\n height: calc(100vh - 120px);\n overflow-y: auto;\n @media all and (min-width: 960px) {\n padding-bottom: ${(props)=> props.paddingBottom ? props.paddingBottom : null};\n }\n`;\n\nexport const SmallerSVG = styled.div`\n svg {\n height: 12px;\n width: 12px;\n }\n button {\n height: 24px;\n min-height: 24px; \n }\n div{\n font-size: 12px;\n }\n`;\n\n//Mobile Layer styled components\n\nexport const FilterMobileNavbar = styled.div`\n position: fixed;\n top: 0;\n width: 100vw;\n padding: 8px 20px;\n z-index: 20;\n background-color: #ffffff; \n`;\n\nexport const CTAsNavigationWrapper = styled.div<{services?: boolean}>`\n display:flex;\n justify-content: space-between;\n padding-bottom: ${(props) => props.services ? '16px' : null} ;\n`;\n\ninterface VerMasYCarouselPositionProps {\n translateCarousel: boolean;\n userIsGeoLocated: boolean;\n}\n\nexport const VerMasYCarouselPosition = styled.div`\n position: absolute;\n bottom: 8px;\n height: fit-content;\n width: 100%;\n`;\nexport const SoloCardWrapper = styled.div`\n background-color: #001e50;\n bottom: 8px;\n height: fit-content;\n position: absolute;\n margin: 0 var(--size-grid002);\n width: var(--size-grid020);\n .box-card-wrapper {\n border: none;\n margin-top: 0;\n }\n`;\n\nexport const CTASwrapper = styled.div`\n padding-right: 20px;\n padding-bottom: 12px;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n`;\n\nexport const VerMasTalleresCTA = styled.div`\n height: 32px;\n padding-right: 16px;\n padding-left: 16px;\n background-color: #ffffff;\n border: 1px solid #001e50;\n border-radius: 500px;\n color: #001e50;\n display: flex;\n align-items: center;\n width: 100px;\n`;\n\nexport const ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n margin-bottom: 12px;\n button {\n border: 1px solid #001e50;\n }\n`;\n\ninterface CloseButtonProps {\n isTabsClose?: boolean;\n isFiltrosClose?: boolean;\n}\nexport const CloseButtonWrapper = styled.div`\n position: absolute;\n padding-bottom: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '12px' : null)};\n background-color: ${(props) => (props.isTabsClose ? '#001E50' : '#FFFFFF')};\n width: 100%;\n padding-top: 12px;\n padding-left: 12px;\n z-index: 4;\n top: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '0' : null)};\n @media screen and (min-width: 560px) {\n left: 20px;\n }\n button {\n color: ${(props) => (props.isTabsClose ? '#FFFFFF' : null)};\n }\n`;\n\nexport const MoblieListWrapper = styled.div<{paddingTop?: string}>`\n padding-top: ${(props)=> props.paddingTop ? props.paddingTop : null};\n`;\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n ThemeProvider,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Magnifier, FleetServicePrivate, CarPickupService } from 'src/icons-core-imports';\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent } from 'src/feature-app/Screen';\nimport { SelectedTab } from 'src/types';\nimport { Filtros } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { NewMap } from 'src/feature-app/NewMap/components/Map';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { \n MapAndTabsWrapper, \n FilterButton, \n FiltrosWrapperLayer, \n ListWrapper, \n SmallerSVG, \n handleClickCarPickup,\n handleClickReplacementCar \n} from '.';\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n services?: boolean;\n paddingBottomList?: string;\n isPosventa?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n}\n\nexport const LayerDesktopView = (props: ViewCitaPosventaProps) => {\n const {\n renderPoints,\n renderCalendar,\n showCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList,\n services, paddingBottomList, isPosventa, concesionario, onlySuggest,\n } = props;\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n const { searchIsDealer } = useMapGeneralController();\n const { handleAreYouSureLayer } = useOneFormContext();\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n };\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n \n \n
\n \n {\n services? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida y entrega\n \n \n \n ) : null\n }\n \n
\n {pointsToList ? (\n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n ) : null}\n
\n \n
\n
\n \n {\n preselectedDealerForm ? null : (\n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n \n \n )\n } \n
\n
setShowFiltros(false)} />\n \n\n \n \n \n
\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n
\n handleShowFiltros()}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n preSelectedOrderValue={preSelectedOrderValue}\n citaPosventa = {isPosventa}\n onlySuggest={true}\n concesionario={true}\n />\n
\n
\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n ContainerGutter,\n CTA,\n Layout,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Close, Locate, Magnifier, CarPickupService, FleetServicePrivate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\nimport { Carousel, Filtros, NewMap, useMapGeneralController } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useRef } from 'react';\nimport { \n CloseButtonWrapper, \n ControllerBackground, \n CTAsNavigationWrapper, \n CTASwrapper, \n FilterMobileNavbar, \n SmallerSVG, \n SoloCardWrapper, \n VerMasTalleresCTA, \n VerMasYCarouselPosition,\n handleClickCarPickup,\n handleClickReplacementCar,\n MoblieListWrapper \n} from '.';\nimport { useFeatureServices } from 'src/feature-app/hooks';\n\nconst listIcon = require('../../../feature-app/NewMap/assets/filter-ic_list.svg');\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n handleShowCalendarOnClick?: (point: Points) => Promise;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean, isCarouselCard?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n isPosventa?: boolean;\n services?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n paddingTopList?: string;\n}\n\nexport const LayerMobileView = (props: ViewCitaPosventaProps) => {\n const {\n handleSeleccionarOnClick,\n handleShowSlots,\n renderPoints,\n handleShowCalendarOnClick,\n showCalendar,\n renderCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList, isPosventa, services,\n concesionario, onlySuggest, paddingTopList\n } = props;\n const { handlePreviousStep } = useOneFormContext();\n\n const {\n centerInGeoLocatedCenter,\n userIsGeoLocated,\n searchIsDealer,\n } = useMapGeneralController();\n\n //controladores de vista\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [showTalleres, setShowTalleres] = useState(false);\n const [showMap, setShowMap] = useState(true);\n const [translateCarousel, setTranselateCarousel] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionMapRef = useRef(null);\n const recogidaMapRef = useRef(null);\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n const layerManager = useFeatureServices()['layer-manager'];\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n //otros\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n }\n }, [userIsGeoLocated]);\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n setShowTalleres(false);\n };\n const handleShowTalleres = () => {\n setShowTalleres(!showTalleres);\n setShowFiltros(false);\n };\n\n useEffect(() => {\n if (showFiltros === false && showTalleres === false) {\n setShowMap(true);\n } else {\n setShowMap(false);\n }\n }, [showFiltros, showTalleres]);\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n
\n {showMap ? (\n <>\n \n \n \n {\n e.preventDefault();\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaLeadInPage'\n ); \n if (layer) {\n layer.layer?.close();\n }\n handlePreviousStep(e);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n {\n preselectedDealerForm ? null : (\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n )\n }\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(replacementCarSelected, setReplacementCarSelected);\n recogidaMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n
\n\n {pointsToList ? (\n searchIsDealer ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n \n \n {gelocalizationActive ? (\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n >\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n handleShowTalleres();\n }}\n >\n \n \n Ver lista\n \n \n \n \n\n {/* Aunque en principio no debería devolver nunca sólo un resultado, dejo el siguiente\n render condicional por is acaso */}\n {pointsToList.length === 1 ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n )}\n \n )\n ) : null}\n \n ) : (\n <>\n {showTalleres ? (\n \n \n \n {\n e.preventDefault();\n handleShowTalleres();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n \n
\n
\n ) : showFiltros ? (\n \n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n handleShowFiltros()}\n preSelectedOrderValue={preSelectedOrderValue}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n citaPosventa = {isPosventa}\n onlySuggest={onlySuggest}\n concesionario={concesionario}\n />\n \n \n ) : null}\n \n )}\n \n );\n};\n","export const handleClickCarPickup = (carPickupSelected: boolean, setCarPickupSelected: (value: boolean) => void ) => {\n if(!carPickupSelected) {\n setCarPickupSelected(true);\n } else {\n setCarPickupSelected(false);\n }\n};\n\nexport const handleClickReplacementCar = (replacementCarSelected: boolean, setReplacementCarSelected: (value: boolean) => void) => {\n if(!replacementCarSelected) {\n setReplacementCarSelected(true);\n } else {\n setReplacementCarSelected(false);\n }\n};\n","import { getDistanceFromLatLngCenter } from './utils';\nimport { isNull } from 'src/feature-app';\nimport { Horario, Slot, Points, Center, Slots } from 'src/types';\n\nexport const sortPoints = (\n clusters: Points[],\n horario: Horario,\n center: google.maps.LatLng,\n supercluster: supercluster\n // zoom: number,\n // firstLoad: boolean\n): { pointsByTime: Points[] | null; pointsByDistance: Points[] | null; newCenter?: Center; newZoom?: number } => {\n // Filtramos los puntos que no son clusters para eliminar las agrupaciones y quedarnos con los dealers unicamente, para posteriormente obtener su distancia la centro del mapa.\n\n // const distanceForFilter = getDistanceForFilter(zoom);\n\n // points = points.filter((point: Points) => Number(point.properties.distanceFromCenter) < distanceForFilter);\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n // .sort((a: Points, b: Points) => Number(b.properties.point_count) - Number(a.properties.point_count));\n\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n points = points.filter((point: Points) => point.properties.cluster === false);\n points = [...points]\n // .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n });\n // if (points.length === 0 && firstLoad) {\n // return { pointsByTime: null, pointsByDistance: null, newCenter: center, newZoom: zoom - 1 };\n // }\n\n const pointsByTime = sortByTime(points, horario);\n\n const pointsByDistance = points.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n return { pointsByTime, pointsByDistance, newCenter: null, newZoom: null };\n};\n\nconst sortByTime = (points: Points[], horario: Horario): Points[] => {\n const pointsWithDms: Points[] = [];\n const pointsWithoutDms: Points[] = [];\n\n points.forEach((point: Points) => {\n const { dealer } = point.properties;\n dealer.dmsInfo && dealer.dmsInfo.dmsAvailable ? pointsWithDms.push(point) : pointsWithoutDms.push(point);\n });\n\n const pointsWithoutDmsSorted = pointsWithoutDms.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n const pointsWithSlots = pointsWithDms.filter((point: Points) => !isNull(point.properties.dealer.slots));\n // Si el usuario elige cualquier opción que no sea Lo antes posible se le devuelven los slots predeterminados.\n // En caso contrario, se debe elegir el turno más temprano de cada concesión y guardarlo como earliestSlot para poder ordenarlos más adelante.\n if (horario !== 'before') {\n const pointsWithDmsAndAvailableSlots: Points[] = [];\n const pointsWithDmsAndWithoutAvailableSlots: Points[] = [];\n pointsWithSlots.forEach((point) => {\n const { dealer } = point.properties;\n isNull(dealer.slots[horario])\n ? pointsWithDmsAndWithoutAvailableSlots.push(point)\n : pointsWithDmsAndAvailableSlots.push(point);\n });\n\n pointsWithDmsAndAvailableSlots.sort(\n (a: Points, b: Points) => a.properties.dealer.slots[horario].from - b.properties.dealer.slots[horario].from\n );\n\n return [...pointsWithDmsAndAvailableSlots, ...pointsWithDmsAndWithoutAvailableSlots, ...pointsWithoutDms];\n } else {\n const pointsWithoutSlots: Points[] = [];\n const pointsWithAtLeastOneSlot: Points[] = [];\n\n // Separamos los dealers con DMS según si tienen al menos un slot disponible o no.\n pointsWithSlots.forEach((dealer: Points) => {\n if (\n !isNull(dealer.properties.dealer.slots.morning) ||\n !isNull(dealer.properties.dealer.slots.evening) ||\n !isNull(dealer.properties.dealer.slots.afternon)\n ) {\n pointsWithAtLeastOneSlot.push(dealer);\n } else {\n pointsWithoutSlots.push(dealer);\n }\n });\n\n const pointsWithEarliestSlot = pointsWithAtLeastOneSlot\n .map((point: Points) => {\n const { slots } = point.properties.dealer;\n const slotsFiltered = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n point.properties.earliestSlot = Math.min(...slotsFiltered);\n return point;\n })\n .sort((a: Points, b: Points) => a.properties.earliestSlot - b.properties.earliestSlot);\n return [...pointsWithEarliestSlot, ...pointsWithoutSlots, ...pointsWithoutDmsSorted];\n }\n};\n\nexport const sortPointsByDistance = (\n clusters: Points[],\n center: google.maps.LatLng,\n supercluster: supercluster\n): Points[] => {\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n return points\n .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n })\n .sort((a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter));\n};\n\nexport const getEarliestSlot = (slots: Slots) => {\n if (!slots) {\n return null;\n }\n const filteredSlots = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n if (filteredSlots.length === 0) {\n return null;\n }\n return Math.min(...filteredSlots);\n};\n","import { GooglePlace, Suggestion } from 'src/feature-app';\nimport { DealersData, isDealerData, Points, Center } from 'src/types';\nimport getDistance from 'geolib/es/getDistance';\nimport { Dispatch } from 'react';\nimport { Geometry, Installation } from 'src/types';\nimport { store } from '../App';\n\nexport const isGooglePlace = (suggestion: Suggestion): suggestion is GooglePlace => {\n if (suggestion) {\n return (suggestion as GooglePlace).isGooglePlace !== undefined;\n }\n return null;\n};\n\nconst getCanaryBounds = () => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = 29.463514;\n const east = -13.31543;\n const south = 27.425414;\n const west = -18.391113;\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nexport const getLocationOfDealer = (suggestion: DealersData): Geometry => {\n const bounds: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new window.google.maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n bounds: null,\n viewport: null,\n };\n};\n\nexport const getLocationOfDealerWithoutLoadInstance = (suggestion: Suggestion, maps: google.maps): Geometry => {\n const bounds: google.maps.LatLngBounds = new maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n };\n};\n\nconst getBounds = (latlngBounds: google.maps.LatLngBounds): google.maps.LatLngBounds => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = latlngBounds.getNorthEast().lat();\n const east = latlngBounds.getNorthEast().lng();\n const south = latlngBounds.getSouthWest().lat();\n const west = latlngBounds.getSouthWest().lng();\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nconst getGeometryFromGoogleResult = (result: any): Geometry => {\n let viewport = null;\n let bounds = null;\n if (result.geometry) {\n if (result.geometry.viewport) {\n viewport = getBounds(result.geometry.viewport);\n } else if (result.geometry.bounds) {\n bounds = getBounds(result.geometry.bounds);\n }\n\n const lat = result.geometry.location.lat();\n const lng = result.geometry.location.lng();\n\n return { lat, lng, bounds, viewport };\n } else {\n return { lat: null, lng: null };\n }\n};\n\ninterface GeocodeCache {\n suggestion: GooglePlace;\n geometry: Geometry;\n isAddress: boolean;\n isCanaryIslands: boolean;\n}\n\n// const cache: GeocodeCache[] = [];\n\nconst resultIsAddress = (result: google.maps.GeocoderResult) => {\n const addressTypes = [\n 'route',\n 'street_address',\n 'intersection',\n 'neighborhood',\n 'premise',\n 'subpremise',\n 'park',\n 'point_of_interest',\n 'establishment',\n 'tourist_attraction',\n ];\n const resultType = result.types[0];\n\n return addressTypes.includes(resultType);\n};\n\nexport const getGeocode = (suggestion: GooglePlace): Promise | Geometry => {\n // Se desactiva el cache porque da error en mobile\n // const cachedResult = cache.find(cachedResult => cachedResult.suggestion.name === suggestion.name);\n\n // if (cachedResult) {\n // console.log(cachedResult,'cache');\n // store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: cachedResult.isAddress });\n // store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: cachedResult.isCanaryIslands });\n // return new Promise((resolve)=>resolve(cachedResult.geometry));\n // }\n\n const geocode = new window.google.maps.Geocoder();\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { address: suggestion.name },\n (response: any) => {\n const result: google.maps.GeocoderResult = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n const point: google.maps.LatLng = new window.google.maps.LatLng(geometry.lat, geometry.lng);\n const bounds: google.maps.LatLngBounds = getCanaryBounds();\n let isAddress: boolean;\n let isCanaryIslands: boolean;\n isAddress = resultIsAddress(result);\n isCanaryIslands = bounds.contains(point);\n\n store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: isAddress });\n store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: isCanaryIslands });\n store.dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: null });\n\n // cache.push({ suggestion, geometry, isAddress, isCanaryIslands });\n\n resolve(geometry);\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\ninterface ReverseGeocodeResponse {\n formatted_address: string;\n}\n\nexport const getReverseGeocode = (latlng: {\n lat: number;\n lng: number;\n}): Promise<{ geometry: Geometry; name: string }> => {\n const geocode = new window.google.maps.Geocoder();\n\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { location: latlng },\n (response: ReverseGeocodeResponse[]) => {\n const result = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n let name: string = response.length > 0 ? response[0].formatted_address : 'España'; // Se devuelve el primero porque no hay manera de filtrar el \"mejor\" resultado.\n resolve({ geometry, name });\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\nexport const getLocationOfGooglePlace = async (suggestion: GooglePlace): Promise => {\n const geometry = await getGeocode(suggestion);\n return geometry;\n};\n\nexport const getDistanceFromCenter = (center: Center, point: Points) => {\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat, lng: center.lng }, { lat, lng }) / 1000;\n return distance.toFixed(1);\n};\n\nexport const getDistanceFromLatLngCenter = (center: google.maps.LatLng, point: Points) => {\n if (!center || !point) {\n return '0';\n }\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat(), lng: center.lng() }, { lat, lng }) / 1000;\n const toFixed = Math.round(distance).toString().length > 2 ? 0 : 1; // Para más de 100km devolvemos el número sin decimal.\n return distance.toFixed(toFixed);\n};\n\nexport const handleMapVariables = (\n dispatch: Dispatch,\n center: Center,\n zoom: number,\n geometry: Geometry,\n isDealer: boolean,\n suggestion: Suggestion\n) => {\n dispatch({ type: 'UPDATE_USER_CENTER', payload: { lat: center.lat, lng: center.lng } }); // Eliminar\n dispatch({ type: 'UPDATE_INITIAL_ZOOM', payload: zoom }); // Eliminar\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n dispatch({ type: 'UPDATE_FIELDS', payload: { location: suggestion.name } }); // No se si se usa, de momento lo dejo.\n};\n\nexport const updateMapVariables = async (dispatch: Dispatch, suggestion: Suggestion, geometryData?: Geometry) => {\n let geometry: Geometry = geometryData ? geometryData : null;\n let isDealer: boolean;\n if (!window.google || !window.google.maps) {\n return;\n }\n if (!geometryData) {\n geometry = isGooglePlace(suggestion) ? await getLocationOfGooglePlace(suggestion) : getLocationOfDealer(suggestion);\n }\n isDealer = !isGooglePlace(suggestion);\n if ((suggestion as GooglePlace).isGeoLocated) {\n dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n }\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n};\n\nexport const removeWhiteSpace = (s: string): string => (s ? s.replace(/\\s/g, '') : s);\nexport const formatPrefix = (s: string): string => s ? s : '';\nexport const formatPrefixOneFormBFF = (s: string): string => s ? s.replace(\"+\",\"00\") : '';\n\nexport const checkIfMorning = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n return slotHour <= morningHour ? true : false;\n};\n\nexport const checkIfMidDay = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n const eveningHour = getNormalizedDate('16:00:00');\n\n return slotHour > morningHour && slotHour <= eveningHour ? true : false;\n};\n\nexport const checkIfEvening = (slotHour: Date) => {\n const eveningHour = getNormalizedDate('16:00:00');\n return slotHour > eveningHour ? true : false;\n};\n\n/**\n * hour en formato 12:00:00\n * @param hour\n */\nexport const getNormalizedDate = (hour: string) => new Date(`1/1/1999 ${hour}`);\n","import { styled, Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\n// // import store from './store';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { SyntheticEvent, useEffect, useState } from 'react';\nimport { deviceType } from 'react-device-detect';\nimport { FormContext, useForm } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { setObjectValues, useFeatureServices, formInfoInitialState } from 'src/feature-app';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ErrorFormFields } from './tracking-types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { BehaviorSubject } from 'rxjs';\nimport { useFeatureAppConfig, useFeatureAppEnvironment } from './hooks';\nimport { GenericErrorLayer } from 'src/components';\nimport { LayerManagerWrapper } from './LayerManagerWrapper';\n\nconst Form = styled.form``;\n\ninterface errorMessageProps {\n notALayer: boolean;\n}\nconst ErrorMessage = styled.div`\n position: absolute;\n bottom: ${(props) => (props.notALayer ? '88px' : '122px')};\n right: 20px;\n z-index: 1000;\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n @media all and (min-width: 560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid002)' : '40px')};\n }\n @media all and (min-width: 960px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '52px')};\n bottom: ${(props) => (props.notALayer ? '88px' : '136px')};\n }\n @media all and (min-width: 1280px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '52px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '52px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '52px')};\n }\n`;\n\ninterface UseFormMethods {\n closeLayer: () => void;\n handlePreviousStep: (e: any) => void;\n handleScreenChange: (newNumber?: number) => void;\n handleSubmit: (e: SyntheticEvent) => Promise;\n nextStep: () => void;\n previousStep: () => void;\n sendForm: () => void;\n handleShowFinalScreen: () => void;\n /**\n * Flag que activa algunas funcionalidades para facilitar el desarrollo.\n */\n debug: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un next step del formulario genérico.\n */\n // waitForNextStep: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un previous step del formulario genérico.\n */\n waitForPreviousStep: boolean;\n // setWaitForNextStep: React.Dispatch>;\n setWaitForPreviousStep: React.Dispatch>;\n initializeForm: (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => void;\n /**\n * La propiedad nextMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las subsiguientes pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n nextMultiStep?: () => void;\n /**\n * Al guardar una función dentro del nextMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setNextMultiStep?: React.Dispatch void>>;\n /**\n * La propiedad previousMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las anteriores pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n previousMultiStep?: () => void;\n /**\n * Al guardar una función dentro del previousMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setPreviousMultiStep?: React.Dispatch void>>;\n\n handleNextStep: (e?: any) => void;\n /**\n * Flag que controla si se muestra o no el previousStep (ej: en CitaPrevia no se muestra en el multiStep 2 de mapa)\n */\n showPreviousStep: boolean;\n setShowPreviousStep: React.Dispatch>;\n setIsFullScreen: React.Dispatch>;\n isFullScreen: boolean;\n /**\n * Flag para validacion\n */\n error: boolean;\n setError: React.Dispatch>;\n /**\n * Flags para gestionar transiciones entre pantallas\n */\n nextScreenIndex: number;\n setNextScreenIndex: React.Dispatch>;\n nextMultiStepScreenIndex: number;\n setNextMultiStepScreenIndex: React.Dispatch>;\n distanceToMove: Array;\n setDistanceToMove: React.Dispatch>>;\n moveForward: boolean;\n setMoveForward: React.Dispatch>;\n /**\n * En alguna casuística el intro no debería pasar de página, causando el cierre de la feature app. Este flag lo desactiva.\n */\n setDisableIntroNextStep: React.Dispatch>;\n /**\n * Trigger para algunos casos en que el handleClick de ScreenController no funciona bien y el next step no se activa\n * al seleccionar una opción de las disponibles en la pantalla porque no se produce ningún click.\n * EJEMPLO: Pantalla locateUser citaPosventa en la casuística que el usuario elije geolacalización\n */\n isValueSelected: boolean;\n setIsValueSelected: React.Dispatch>;\n handleAreYouSureLayer: any;\n nextStepEventEmitter: BehaviorSubject;\n}\nexport const OneFormContext = React.createContext(null);\n\nexport const useOneFormContext = (): UseFormMethods => React.useContext(OneFormContext) as UseFormMethods;\n\ninterface OneFormProviderProps {\n children: JSX.Element;\n closeLayerCallback: CloseHandleV2;\n handleAreYouSureLayer: any;\n}\n\ninterface OneFormDebug {\n debug: boolean;\n toggleDebugMode: () => void;\n}\n\ndeclare global {\n interface Window {\n OneForm: OneFormDebug;\n }\n}\n\nexport const OneFormProvider = (props: OneFormProviderProps): any => {\n const { closeLayerCallback, handleAreYouSureLayer } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const {\n sendFormCallback,\n screenIndex,\n formEnded,\n steps,\n stepsHistory,\n nextStepCallback,\n numberOfScreens,\n lastStep,\n step,\n formSubmitted,\n notALayer,\n suggestionIsInCanaryIslands,\n } = formInfo;\n const methods = useForm();\n // const { getValues, triggerValidation } = useFormContext();\n\n const dispatch = useDispatch();\n const store = useStore();\n const [waitForPreviousStep, setWaitForPreviousStep] = useState(false);\n const [nextMultiStep, setNextMultiStep] = useState<() => void>(() => () => {});\n const [isFullScreen, setIsFullScreen] = useState(false);\n const [previousMultiStep, setPreviousMultiStep] = useState<() => void>(() => () => {});\n const [showPreviousStep, setShowPreviousStep] = useState(false);\n const [error, setError] = useState(false);\n const [nextScreenIndex, setNextScreenIndex] = useState(null);\n const [nextMultiStepScreenIndex, setNextMultiStepScreenIndex] = useState(null);\n const [distanceToMove, setDistanceToMove] = useState>([]);\n const [moveForward, setMoveForward] = useState(true);\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const trackingManager = useTrackingManager();\n const [debug, setDebug] = useState(false);\n const [disableIntroNextStep, setDisableIntroNextStep] = useState(false);\n const [isValueSelected, setIsValueSelected] = useState(false);\n const [closed, setClosed] = useState(false);\n const nextStepEventEmitter: BehaviorSubject = new BehaviorSubject(false);\n const layerManager = useFeatureServices()['layer-manager'];\n const history = useFeatureServices()['s2:history'];\n const config = useFeatureAppConfig();\n const env = useFeatureAppEnvironment();\n\n useEffect(() => {\n window.OneForm = { debug, toggleDebugMode };\n setTimeout(() => {\n const { person } = oneFormService.get();\n if (person) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ...person } });\n setObjectValues(person, methods.setValue);\n }\n }, 1000);\n }, []);\n\n const toggleDebugMode = () => {\n setDebug(!debug);\n window.OneForm.debug = !debug;\n };\n\n const initializeForm = (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => {\n // En algunos casos al finalizar el formulario y cerrar el layer se vuelve a disparar el evento;\n if (formSubmitted || closed) {\n return;\n }\n\n dispatch({ type: 'UPDATE_FORM', payload: initialFormData });\n dispatch({ type: 'SET_FORM_INFO', payload: { ...formInfoInitialState, ...initialFormInfo } });\n dispatch({ type: 'SET_INITIAL_STEPS', payload: initialFormInfo.steps });\n setTimeout(() => {\n // Solucion al bug que se produce cuando hay un error genérico. Al resetear el estado\n // se añade el último screenIndex que había antes de producirse el error, por lo que\n // la navegación se ve alterada.\n dispatch({ type: 'SET_STEPS_HISTORY', payload: initialFormInfo.stepsHistory });\n if (!skipLayerInit) {\n trackingManager.trackFormLayerLoad();\n }\n }, 0);\n };\n\n useEffect(() => {\n if (screenIndex !== 0 && screenIndex !== null) {\n dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n }\n if (screenIndex !== 2 && nextMultiStepScreenIndex !== null) setNextMultiStepScreenIndex(null);\n setTimeout(() => {\n setObjectValues(formData.fields, methods.setValue);\n }, 500);\n }, [screenIndex]);\n\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = (isNext: boolean) => {\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n isNext ? nextStep() : previousStep();\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: false });\n setWaitForPreviousStep(false);\n }\n };\n\n const handleNextStep = async (e?: any) => {\n if (e) e.preventDefault();\n\n const { step } = store.getState().formInfo;\n\n if (step && step.isLastStep) {\n return;\n }\n const values = methods.getValues();\n\n const isValid = await methods.triggerValidation();\n const { waitForNextStep } = store.getState().formInfo;\n\n // if (isValid && suggestionIsInCanaryIslands) {\n // renderAvisoIslasCanariasLayer(store, env, layerManager);\n\n // return;\n // }\n\n if (isValid) {\n if (!moveForward) setMoveForward(true);\n setError(false);\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n //console.log(formData);\n\n handleMapFullScreenLayer(true); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n\n if (waitForNextStep) {\n nextMultiStep();\n } else {\n nextStep();\n }\n } else {\n setError(true);\n const keys = Object.keys(methods.errors);\n\n const errorFields: ErrorFormFields[] = keys.map((key) => {\n return { 'form field id': 'id', 'form field name': key };\n });\n\n keys.map((err) => trackingManager.trackFormErrorMessageLoad({ message: err }, errorFields));\n }\n };\n\n const nextStep = () => {\n let nextStepNumber: number;\n let nextStep: Steps;\n\n // En algunos casos según como se inicializa el form ni el screenIndex ni los steps están disponibles, por lo que hay que\n // utilizar el getState para obtener el estado actual.\n const { screenIndex, steps } = store.getState().formInfo;\n\n if (formEnded && lastStep) {\n nextStepNumber = lastStep.screenIndex;\n nextStep = lastStep;\n } else {\n nextStepNumber = nextStepCallback ? nextStepCallback() : screenIndex + 1;\n nextStep = steps[nextStepNumber];\n }\n\n handleStepChange(nextStep, nextStepNumber, true);\n };\n\n const handlePreviousStep = (e: any) => {\n e.preventDefault();\n if (moveForward) {\n setMoveForward(false);\n }\n\n if (formData.fields.formName?.includes('no_compra') || formData.fields.formName?.includes('no_renovacion') || formData.fields.formName?.includes('lead_inpage')) {\n handleMapFullScreenLayer(false);\n }\n const values = methods.getValues();\n // Comprobar si es correcto antes de actualizar?\n // dispatch({ type: 'UPDATE_FIELDS', payload: values });\n waitForPreviousStep ? previousMultiStep() : previousStep();\n if (formEnded) dispatch({ type: 'UPDATE_FORM_ENDED', payload: false });\n };\n\n const previousStep = () => {\n // Es necesario poder sobreescribir previousStep?\n const { screenIndex, steps, stepsHistory } = store.getState().formInfo;\n\n const indexActualScreen = stepsHistory.indexOf(screenIndex);\n const newScreenIndex = stepsHistory[indexActualScreen - 1];\n const indexInSteps = steps.findIndex((step: any) => step.screenIndex === newScreenIndex);\n const previousStep = steps[indexInSteps];\n\n // Falta eliminar el último elemento de stepsHistory\n handleStepChange(previousStep, newScreenIndex, false);\n };\n\n const handleStepChange = (step: Steps, screenIndex: number, isMovingForward: boolean) => {\n handleScreenChange(screenIndex);\n dispatch({ type: 'SET_NAVIGATION_MOVING_FORWARD', payload: isMovingForward });\n setTimeout(() => {\n dispatch({ type: 'UPDATE_STEP', payload: step });\n // dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n dispatch({ type: 'UPDATE_FULLSCREEN', payload: step?.fullScreen });\n setIsFullScreen(step?.fullScreen);\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleScreenChange = (newNumber?: number) => {\n if (typeof newNumber === 'number') setNextScreenIndex(newNumber);\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: true });\n setTimeout(() => {\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: false });\n if (typeof newNumber === 'number') {\n dispatch({ type: 'UPDATE_SCREEN', payload: newNumber });\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleShowFinalScreen = () => {\n dispatch({ type: 'SHOW_FINAL_SCREEN', payload: true });\n };\n\n const closeLayer = () => {\n dispatch({ type: 'RESET_STATE' });\n setClosed(true);\n closeLayerCallback({}, {}, {});\n\n if (env.done) {\n env.done();\n }\n return;\n };\n\n const sendForm = async (): Promise => {\n return new Promise((resolve) => {\n sendFormCallback\n ? resolve(sendFormCallback())\n : setTimeout(() => {\n resolve(true);\n }, 2000);\n });\n };\n\n const handleSubmit = async (e: SyntheticEvent) => {\n e.preventDefault();\n const responseIsValid = await sendForm();\n return responseIsValid;\n };\n\n const renderAvisoCanarias = () => {\n let redirect: string;\n\n if (formData.fields.formName === 'cita-posventa') {\n redirect = 'https://www.vwcanarias.com/es/cita-previa.html';\n } else {\n redirect = 'https://cita.vwcanarias.com/';\n }\n\n return (\n \n \n \n );\n };\n\n return (\n \n \n {\n const values = methods.getValues();\n\n if (e.keyCode === 13 && !disableIntroNextStep && Object.keys(values).length > 0) {\n handleNextStep(e);\n } else if (e.keyCode === 13 && disableIntroNextStep) {\n e.preventDefault();\n }\n }}\n className=\"form-provider\"\n >\n {props.children}\n \n {error && screenIndex !== numberOfScreens - 1 ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null}\n \n \n );\n};\n\nexport const getDeviceType = (): string => (deviceType === 'browser' ? 'desktop' : deviceType.toLowerCase());\n\nexport const getTrackingCode = (): string => ((typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') ? s.persCmp : 'undefined');\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nfunction OneElementTemplate(props: OneElementTemplateProps) {\n\tconst { element } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction TwoElementsTemplate(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction ThreeElementsTemplate(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n\nexport { OneElementTemplate, TwoElementsTemplate, ThreeElementsTemplate };\n","import { CTA, styled } from '@volkswagen-onehub/components-core';\nimport { ArrowUp, Close } from 'src/icons-core-imports';\nimport { LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { css } from 'styled-components';\nimport { useLoaded } from 'src/feature-app';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useFeatureServices } from '../hooks';\nimport { removeConfigurationHash } from '../remove-configuration-hash';\n\n\n{/*\n paddings top prev step wrapper antes de adaptacion a nuevo formato de editorial template with feature\n app in stage que ya setea automáticamente el espacio reservado para la navbar. Se ha retirado también del\n prev-step-controller\n 560: padding-top: 110px;\n 1920: padding-top: 126px;\n*/}\ninterface wrapperProps {\n fullScreen?: boolean;\n closeInMap?: boolean;\n colorTheme?: string;\n notALayer?: boolean;\n}\n\nconst Wrapper = styled.div`\n position: ${(props) => props.notALayer ? 'absolute' : props.closeInMap ? 'relative' : props.fullScreen ? 'absolute' : 'fixed'};\n top: ${(props) => (props.notALayer ? '84' : '0')};\n right: 0;\n align-self: ${(props) => (props.notALayer ? 'flex-start' : null)};\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 20px' : '20px 20px')};\n display: ${(props) => (props.closeInMap ? 'flex' : props.fullScreen ? 'none' : 'flex')};\n justify-content: ${(props) => (props.notALayer ? 'flex-end' : 'space-between')};\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? '#FFFFFF' : '#001e50')};\n z-index: ${(props) => (props.closeInMap && props.notALayer ? '5' : props.notALayer ? '1' : '2')};\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n width: 100%;\n min-height: ${(props) => (props.notALayer ? 'auto' : '72px')};\n margin-bottom: auto;\n @media all and (min-width: 560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 24px' : '24px 24px')};\n min-height: ${(props) => (props.notALayer ? 'auto' : '80px')};\n ${(props) =>\n props.notALayer &&\n css`\n top: 92;\n `}\n }\n\n @media screen and (min-width: 960px) {\n background-color: ${(props) => (props.colorTheme === 'main' ? 'transparent' : '#001e50')};\n margin-bottom: unset;\n width: ${(props) => (props.notALayer ? '100%' : props.closeInMap ? '100%' : '960px')};\n padding: ${(props) =>\n props.closeInMap && props.notALayer ? '28px 20px 0' : props.notALayer ? '0 var(--size-grid003) 24px' : '24px 24px'};\n ${(props) =>\n props.notALayer &&\n css`\n top: 102;\n `}\n }\n @media screen and (min-width: 1280px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid005) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 1920px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid006) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 2560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid007) 24px' : '24px 24px')};\n }\n\n button {\n background-color: ${(props) => (props.colorTheme === 'main' ? '#FFFFFF' : null)};\n }\n\t.close-icon {\n\t\tcolor: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#FFFFFF')};\n\t}\n`;\n\nconst CloseDiv = styled.div`\n cursor: pointer;\n &.close-enter {\n opacity: 0;\n }\n &.close-enter-active {\n opacity: 1;\n transition: opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.close-enter-done {\n }\n &.close-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.close-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface CloseComponentProps {\n closeInMap?: boolean;\n closeThankYou?: boolean;\n handleAreYouSureLayer?: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n}\nexport function CloseComponent(props: CloseComponentProps) {\n const { closeInMap, handleAreYouSureLayer, colorTheme, notALayer, formMin } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { screenIndex, stepsHistory, multiStepScreenIndex, formSubmitted } = formInfo;\n const [isFirstScreen, setIsFirstScreen] = useState(true);\n const loaded = useLoaded();\n const { handlePreviousStep, isFullScreen, closeLayer } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const layerManager = useFeatureServices()['layer-manager'];\n const dispatch = useDispatch()\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = () => {\n const layers = layerManager.getLayers();\n\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n }\n };\n\n useEffect(() => {\n if (stepsHistory && stepsHistory.length > 0 && !multiStepScreenIndex) {\n stepsHistory[0] === screenIndex ? setIsFirstScreen(true) : setIsFirstScreen(false);\n } else {\n setIsFirstScreen(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n return (\n \n \n {notALayer ? null : (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleMapFullScreenLayer(); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n if (!formSubmitted) {\n handleAreYouSureLayer();\n } else {\n closeLayer();\n }\n }}\n >\n \n \n )}\n\n {isFirstScreen || props.closeThankYou ? null : (\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\"\n size=\"small\"\n icon={}\n >\n Anterior\n \n )}\n \n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n LayoutConfiguration,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\nimport { Legales } from 'src/components';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { PreviousStep, CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg);\n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #001e50;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex?: number;\n multiStepScreenIndex?: number;\n showPreviousStep?: boolean;\n formHeight?: string;\n formMin?: boolean;\n isTrigger?: boolean;\n showOverflow?: boolean;\n alingItemsCenter?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n width: 100%;\n min-height: calc(100vh - 140px);\n height: 100%;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n overflow: ${(props) => ( props.isTrigger ? 'hidden' : 'visible')};\n padding-bottom : 44px;;\n align-items: ${(props) => props.alingItemsCenter ? 'center' : null};\n @media all and (min-width: 560px) {\n min-height: calc(100vh - 92px);\n }\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 100px);\n }\n @media all and (min-width: 1920px) {\n min-height: calc(100vh - 116px);\n }\n`;\n\n\nconst FakePreviousStep = styled.div`\n height: 136px;\n`;\nconst FakeClose = styled.div`\n height: 32px;\n margin-bottom: auto;\n width: 100%;\n @media all and (min-width: 960px) {\n margin-bottom: unset;\n position: absolute;\n top: 0;\n }\n`;\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\n\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid004)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid014)' : 'unset')};\n display: flex;\n\n @media screen and (min-width: 1280px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid006)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid010)' : 'unset')};\n }\n @media screen and (min-width: 1920px) {\n\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid009)' : 'unset')};\n }\n @media screen and (min-width: 2560px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid008)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n }\n &.no-animation {\n opacity:1;\n }\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n ${(props) =>\n !props.moveForward && props.distanceToMove\n ? css`\n width: 75%;\n transition: all 250ms;\n transform: translate3d(-4.17vw, ${props.distanceToMove}px, 0);\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n opacity: 1;\n }\n `\n : css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `}\n }\n`;\n\nconst ContentWrapper = styled.div`\n width: 100%;\n height: 100%;\n overflow: visible;\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n opacity: 0;\n &.no-animation {\n opacity: 1;\n > div {\n &:first-of-type {\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: var(--size-grid018);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid014);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid012);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid010);\n }\n }\n }\n }\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n width: 100% !important;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(var(--size-grid001), -10vh, 0);\n /* width previous step solo en forward move */\n width: var(--size-grid014) !important;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(var(--size-grid001), -15vh, 0);\n }\n @media screen and (min-width: 1920px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid007) !important;\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n /* desktop */\n ${(props) =>\n props.moveForward && props.distanceToTop\n ? css`\n opacity: 0.2;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n transform: translate3d(var(--size-grid001), -${props.distanceToTop}px, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n width: var(--size-grid014) !important;\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1920px) {\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n width: var(--size-grid007) !important;\n }\n `\n : css`\n opacity: 0;\n width: inherit !important;\n transform: translate3d(0, 45vh, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 350%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n }\n `}\n }\n`;\n\nconst MobileTitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n width: var(--size-grid020) !important;\n padding-top: 52px;\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.1;\n transition: all 200ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.1' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nconst defaultLayout: LayoutConfiguration = {\n [Breakpoints.default]: [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n ],\n [Breakpoints.b960]: [\n { name: '.', columns: 3 },\n { name: 'a', columns: 18 },\n { name: '.', columns: 3 },\n ],\n [Breakpoints.b1280]: [\n { name: '.', columns: 5 },\n { name: 'a', columns: 14 },\n { name: '.', columns: 5 },\n ],\n [Breakpoints.b1920]: [\n { name: '.', columns: 6 },\n { name: 'a', columns: 12 },\n { name: '.', columns: 6 },\n ],\n [Breakpoints.b2560]: [\n { name: '.', columns: 7 },\n { name: 'a', columns: 10 },\n { name: '.', columns: 7 },\n ],\n};\n\nexport function FullScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad, thankYouPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const {\n multiStepScreenIndex,\n screenIndex,\n triggerExitAnimation,\n showFinalScreen,\n numberOfScreens,\n formEnded,\n alingItemsCenter,\n deleteCloseAndPrevious\n } = formInfo;\n const trackingManager = useTrackingManager();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n // Si se necesita que el overflow sea visible. Selects no nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n const [ linkBasesLegales, setLinkBasesLegales ] = useState(null);\n const [ isConfirmacionPage, setIsConfirmacionPage ] = useState(false);\n\n useEffect(() => {\n\n\t// Añadir link de la promocion a los legales\n if(formData.fields.formName ==='adhoc-2021-eurocopa') {\n setLinkBasesLegales('https://crm.volkswagen.es/cms/2021/legal_concurso_eurocopa_2021.pdf');\n }\n\n if (showFinalScreen) {\n setIsConfirmacionPage(false);\n }\n\n if (screenIndex === numberOfScreens - 1) {\n if( formData.fields.formName === 'cem-venta' || formData.fields.formName === 'cem-posventa' ){\n setIsConfirmacionPage(false);\n } else {\n setIsConfirmacionPage(true);\n }\n } else {\n setIsConfirmacionPage(false);\n }\n }, [screenIndex, showFinalScreen]);\n\n // calc height stuff\n const [initialHeight, setInitialHeight] = useState(null);\n const [isTrigger, setIsTrigger] = useState(false);\n const viewportHeight = useWindowHeight();\n const viewportWidth = useWindowWidth();\n\n const content = useRef(null);\n const prevStep = useRef(null);\n\n const [currentRef, setCurrentRef] = useState(null); // optimizar ocn useMemo\n\n // animation stuff\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // navigation stuff\n const [formClicked, setFormClicked] = useState(false);\n\n useEffect(() => {\n if (!formClicked) {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n }, [formClicked]);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n const extraHeight = titleLength < 53 ? 18 : 0;\n // setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n setDistanceToTop(\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight\n );\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToMove((distanceToMove) => [\n ...distanceToMove,\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight,\n ]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n const extraHeight = titleLength < 53 ? 18 : 0;\n arrDistances[screenIndex] =\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useEffect(() => {\n if (triggerExitAnimation) {\n if (!formEnded) {\n setShowTitle(false);\n setShowFields(false);\n }\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n //Que en la zona del mapa no vuelva a lanzar las animaciones\n const [ stopAnimation, setStopAnimation ] = useState(false);\n\n useEffect(()=>{\n\n if(\n formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 4\n && multiStepScreenIndex === 0\n || formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 5\n && multiStepScreenIndex === 0\n ) {\n setStopAnimation(true);\n }\n\n }, [screenIndex]);\n\n const [ hideCloseAndPrevious, setHideCloseAndPrevious ] = useState(false);\n\n useEffect(()=>{\n if(deleteCloseAndPrevious){\n if(\n formData.fields.formName === 'lead-test_drive-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-presupuesto-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-mas_informacion-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-cita-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n ) {\n setHideCloseAndPrevious(true);\n } else {\n setHideCloseAndPrevious(false);\n }\n } else {\n setHideCloseAndPrevious(false);\n }\n\n }, [screenIndex]);\n\n const [ alingContentCenter, setAlingContentCenter ] = useState(false);\n\n useEffect(()=>{\n if(viewportWidth < 960 || alingItemsCenter=== true) {\n setAlingContentCenter(true);\n } else {\n setAlingContentCenter(false);\n }\n }, [screenIndex]);\n\n\n return (\n <>\n \n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : screenIndex === 0 ? (\n \n ) : (\n \n )}\n\n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : viewportWidth >= 960 && !showPreviousStep ? (\n \n ) : viewportWidth >= 960 ?\n (\n \n \n \n \n \n ) : null}\n\n \n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n\n {\n viewportWidth < 960 && title ? (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n ) : (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n )\n }\n \n \n\n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n \n \n {showFinalScreen ? null : (\n <>\n {isConfirmacionPage ? (\n \n \n \n ) : null}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n styled,\n Text,\n BreakpointWrapper,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\n\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useTrackingManager, useFeatureAppConfig, useShowOverflow } from 'src/feature-app/hooks';\nimport { PreviousStep } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg); \n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #ffffff;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex: number;\n multiStepScreenIndex: number;\n showPreviousStep?: boolean;\n isDealerCalendar?: boolean;\n showOverflow?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: ${(props) => (!props.showPreviousStep ? '0' : '80px')};\n padding-bottom: ${(props) => (!props.showPreviousStep ? '0' : props.screenIndex === 10 ? '96px' : '128px')};\n min-height: 100vh;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n & input:-internal-autofill-selected {\n background-color: transparent !important;\n }\n`;\n\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? '160px' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? '640px' : 'unset')};\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '72px' : '0'};\n display: flex;\n\n @media all and (max-height: 624px) {\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '44px' : '0'};\n }\n\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, ${props.distanceToMove}px, 0)`\n : 'translate3d(-41px, 300px, 0)'};\n @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, calc(${props.distanceToMove}px + 36px), 0)`\n : 'translate3d(-41px, 300px, 0)'};\n }\n ${(props) =>\n !props.moveForward &&\n css`\n width: 709px;\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n @media screen and (min-width: 1600px) {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n opacity: 1;\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `\n : 'all 250ms'}\n }\n`;\n\nconst ContentWrapper = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n @media all and (max-height: 573px) and (min-width: 960px) {\n margin-top: ${(props) => (props.screenIndex === 2 && props.multiStepScreenIndex === 1 ? '146px' : null)};\n }\n @media screen and (max-width: 959px) {\n padding-top: ${(props) => (props.isDealerCalendar ? null : props.multiStepScreenIndex === 0 ? '44px' : null)};\n }\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(41px, -10vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(41px, -15vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.2' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n /* desktop */\n @media screen and (min-width: 960px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, -${props.distanceToTop}px, 0)` : 'translate3d(0, 350%, 0)'};\n /* width previous step solo en forward move */\n width: ${(props) => (props.moveForward ? '640px' : 'inherit')};\n ${(props) =>\n props.moveForward &&\n css`\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? 'all 300ms'\n : `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `};\n }\n /* @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, calc(-${props.distanceToTop}px - 36px), 0)` : 'translate3d(0, 350%), 0'};\n } */\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\n\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n}\n\nexport function LayerScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep } = formInfo;\n const trackingManager = useTrackingManager();\n const config = useFeatureAppConfig();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(true);\n\n //para el calendario de cita-posventa-dealer\n\n const [isDealerCalendar, setIsDealerCalendar] = useState(false);\n\n useEffect(() => {\n if (config.trigger === 'cita-posventa-dealer' && screenIndex === 2) {\n setIsDealerCalendar(true);\n } else {\n setIsDealerCalendar(false);\n }\n }, [screenIndex]);\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n // console.log(titleRef.current.offsetTop, titleRef.current.getBoundingClientRect().top);\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n setDistanceToMove((distanceToMove) => [...distanceToMove, titleRef.current.getBoundingClientRect().top]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n arrDistances[screenIndex] = titleRef.current.getBoundingClientRect().top;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useLayoutEffect(() => {\n if (triggerExitAnimation) {\n setShowTitle(false);\n setShowFields(false);\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n setTimeout(() => {\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, 0);\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n return (\n \n {showFinalScreen || !showPreviousStep ? null : (\n \n \n \n \n \n \n \n )}\n \n
\n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n \n {title}\n \n \n {title}\n \n \n \n \n \n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n
\n \n \n );\n}\n","import {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowDown } from 'src/icons-core-imports';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useStore } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport {\n isNumber,\n useLoaded,\n useTrackingManager,\n} from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\n\ninterface navigationWrapperProps {\n fullScreen?: boolean;\n isLastScreen?: boolean;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n position?: string;\n}\n\nconst NavigationWrapper = styled.div`\n display: ${(props) => (props.notALayer ? 'block' : props.fullScreen ? 'none' : props.isLastScreen ? 'none' : 'block')};\n position: ${(props) => (!props.notALayer ? 'fixed' : props.position ? props.position : 'relative')};\n bottom: 0;\n \n width: 100%;\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? 'none' : '#001e50')};\n &:first-child {\n width: 100%;\n }\n\n @media screen and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? '100%' : '960px')};\n }\n\n &.navigation-enter {\n transform: translate(0%, 50%);\n opacity: 0;\n }\n &.navigation-enter-active {\n transform: translate(0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.navigation-enter-done {\n }\n &.navigation-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.navigation-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface ProgressWrapperProps {\n notALayer?: boolean;\n}\n\nconst ProgressWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: ${(props) => (props.notALayer ? 'var(--size-grid010)' : '187px')};\n \n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst BarWrapper = styled.div`\n width: 100%;\n position: relative;\n`;\n\ninterface UpperBarProps {\n width?: number;\n colorTheme?: string;\n}\nconst UpperBar = styled.div`\n position: absolute;\n width: ${(props) => `${props.width}%`};\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#ffffff')};\n transition: all 0.3s;\n`;\n\nconst LowerBar = styled.div`\n position: absolute;\n width: 100%;\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#DFE4E8' : '#6a767d')} ;\n`;\n\nconst TextWrapper = styled.div`\n align-self: flex-end;\n margin-top: 8px;\n`;\n\nconst DisplayWrapper = styled.div` \n display: flex;\n justify-content: space-between;\n align-items: ${(props) => (props.notALayer ? 'flex-end' : null)};\n\n width: 100%;\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '20px')};\n padding-left: var(--size-grid002);\n padding-right:${(props) => (props.notALayer ? 'var(--size-grid002)' : 'var(--size-grid001)')};\n\n @media screen and (min-width: 560px) {\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '24px')};\n }\n @media screen and (min-width: 960px) {\n padding-left:${(props) => (props.notALayer ? 'var(--size-grid003)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '40px')};\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '44px')};\n }\n @media screen and (min-width: 1280px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '40px')};\n }\n @media screen and (min-width: 1920px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '40px')};\n }\n @media screen and (min-width: 2560px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '40px')};\n }\n`;\n\nconst BackgroundPositionWrapper = styled.div`\n position: ${(props) => (props.notALayer ? 'relative' : null)};\n width: 100%; \n`;\n\nconst BackgroundColorNotALayer = styled.div`\n position: absolute;\n bottom: 0;\n width: 100%;\n background-color: #FFFFFF;\n border-top: ${(props) => props.position === 'fixed' ? '1px solid #DFE4E8' : null } ;\n height: 56px;\n z-index: -1;\n`;\n\nconst SVGColorWrapper = styled.div<{isValid: boolean}>`\n svg {\n color: ${(props)=>(props.isValid ? '#001E50' : '#6A767D')};\n }\n`;\n\nconst NextButtonWrapper = styled.div`\n padding-bottom: ${(props) => (props.notALayer ? '8px' : null)};\n`;\n\nconst NextButton = styled.button<{isValid: boolean}>`\n height: 64px;\n width: 64px;\n border-radius: 50%;\n border: none;\n background-color: ${(props)=>(props.isValid ? '#00B0F0' : '#C2CACF')};\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nfunction InnerNavigation(props: any) {\n const { formClicked, setFormClicked, notALayer, colorTheme, soloProgreso, isFullScreen, isLastScreen, position } = props;\n const { formInfo, formData } = useSelector(\n (state: OneFormState) => state\n );\n const { fields } = formData;\n const { screenIndex, numberOfScreens, multiStepScreenIndex, step, steps } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n const { getValues, errors, triggerValidation, clearError } = useFormContext();\n const store = useStore();\n const { handleNextStep, setShowPreviousStep, isValueSelected, setIsValueSelected, setError } = useOneFormContext();\n const [isValid, setIsValid] = useState(false);\n const trackingManager = useTrackingManager();\n\n //Navigation\n\n const checkIfValid = async () => {\n const valid = await triggerValidation();\n clearError();\n\n if (valid) { \n //En CarlineSelect la opción inicial incluye string vacía desde cambio a components core v64.3.0\n if(fields.modelo === \"\"){\n setIsValid(false);\n }\n else if(screenIndex === 0 && !formClicked) {\n if(fields.formName === 'no_compra-ya_tengo') {\n setIsValid(true);\n setError(false);\n } else {\n setIsValid(false);\n }\n } else {\n setIsValid(true);\n setError(false);\n }\n } else {\n setIsValid(false);\n }\n };\n\n useEffect(()=>{\n if(fields.modelo !== \"\" || fields.model !== \"\"){\n setIsValid(true);\n setError(false);\n }\n },[fields.modelo, fields.model])\n \n\n useEffect(() => {\n const checkValidity = async () => await checkIfValid();\n if (formClicked || isValueSelected) {\n checkValidity();\n if (formClicked) setFormClicked(false);\n if (isValueSelected) setIsValueSelected(false);\n }\n }, [formClicked, isValueSelected]);\n\n useEffect(() => {\n setTimeout(() => {\n if (steps) {\n const currentStep = steps.find((step) => step.screenIndex === screenIndex);\n const { notALayer } = store.getState().formInfo;\n if (\n !notALayer && (\n (screenIndex === 0 && !steps[screenIndex].multiStep) ||\n screenIndex === numberOfScreens - 1 ||\n (currentStep && currentStep.hidePreviousStep) ||\n screenIndex > numberOfScreens\n )\n ) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, 100);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [screenIndex]);\n\n useEffect(() => {\n const {\n step,\n multiSteps,\n multiStepScreenIndex,\n }: { step: Steps; multiSteps: Steps[]; multiStepScreenIndex: number } = store.getState().formInfo;\n\n setTimeout(() => {\n if (multiSteps && isNumber(multiStepScreenIndex) && step && step.multiStep) {\n if (multiSteps[multiStepScreenIndex].hidePreviousStep) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n } else {\n setShowPreviousStep(true);\n }\n }, 0);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [multiStepScreenIndex]);\n\n const getPercentage = (): string => {\n const percentage = ((screenIndex / (numberOfScreens - 1)) * 100).toFixed(0);\n if(numberOfScreens - 1 == 1) {\n return '50';\n }\n else if(percentage === '0') {\n return '5';\n }\n else {\n return percentage;\n }\n };\n\n return (\n \n {\n notALayer ? : null\n }\n \n \n \n \n \n \n \n \n {getPercentage()}% completado\n \n \n \n {\n soloProgreso ? null : (\n \n \n {\n if(fields.modelo === \"\"){\n setError(true);\n }else{\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n handleNextStep(e);\n }\n }}\n isValid={isValid}\n >\n \n \n \n \n \n \n )\n } \n \n \n );\n}\n\ninterface NavigationProps {\n formClicked?: boolean;\n setFormClicked?: React.Dispatch>;\n notALayer?: boolean;\n colorTheme?: string;\n refProps?: any;\n formMin?: boolean;\n soloProgreso: boolean;\n position?: string;\n}\n\nexport function Navigation(props: NavigationProps) {\n const { colorTheme, notALayer, position } = props;\n const { screenIndex, step } = useSelector((state: OneFormState) => state.formInfo);\n const loaded = useLoaded();\n const [isLastScreen, setIsLastScreen] = useState(false);\n const { isFullScreen } = useOneFormContext();\n const store = useStore();\n\n useEffect(() => {\n const { formInfo } = store.getState();\n const { step, lastStep } = formInfo;\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n return (\n \n \n {isLastScreen ? null : }\n \n \n );\n}\n","import React from 'react';\nimport { RatingStars, valuesSinRespuesta } from 'src/components';\n\nexport const getRatingStarsOutput = (value: string) => {\n\tconst rating = parseInt(value);\n\tconst { valueSinRespuesta, labelSinRespuesta } = valuesSinRespuesta();\n\tif(valueSinRespuesta == rating){\n\t\treturn labelSinRespuesta;\n\t}\n\treturn ;\n};\n","import dayjs from 'dayjs';\nimport { strTitlelize } from 'src/helpers';\nimport {\n CTAsDudas,\n contactoOptionsSAC,\n contactoOptionsTurismos,\n} from 'src/feature-app/InputsValues/CTAsObjects';\nimport {\n CTAsDesplazamientoTaigo,\n CTAsMotivacionCompraTaigo\n} from 'src/feature-app/InputsValues/CTAsObjectsFormsAdhoc';\nimport { \n franjaHoraria,\n meses \n} from 'src/feature-app/InputsValues/OtherInputTypesObjects';\nimport { \n isGooglePlace, \n weekDay_DayNumber_Month, \n weekDay_DayNumber_Month_Hour \n} from 'src/feature-app';\nimport { Installation, isDealerData } from 'src/types';\nimport { CTAsMotivos } from 'src/forms';\n\n//FUNCIONES GESTIÓN OUTPUTS\n\n// cambio value por label\nexport const changeValueForLabel = (ctas: any, fields: any, field: string) => {\n const result = ctas.find((option: any) => option.value === fields[field]);\n return result ? result.label : fields[field];\n};\n\n// cambio value por label y concatenación multipleChoice\nconst formatMultipleOptionText = (ctas: any, fields: any, field: string) => {\n const aux = fields[field];\n const prevStepContent = ctas.filter((item: any) => aux.includes(item.value));\n const result = prevStepContent.map((item: any) => item.label);\n return result.join(', ');\n};\n\n// formacion frase slot de cita\nconst getOutputSlotFrom = (fields: any) => {\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n const selectedMotivo = CTAsMotivo.find((CTA) => CTA.value === fields.motivo);\n\n if (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n const momentSlot = weekDay_DayNumber_Month_Hour(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.replace('-', ' a las ').concat('h')}`\n : `El ${formatedSlot.replace(',', ' de ').concat('h')}`;\n } else {\n const momentSlot = weekDay_DayNumber_Month(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n\n const horarioTranslate = franjaHoraria.find((h: any) => h.code === fields.slot.dayMoment.code);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.concat(horarioTranslate.name)}`\n : `El ${formatedSlot.concat(horarioTranslate.name)}`;\n }\n};\n\n// output localización\nconst getLocationOutput = (formInfo: any) => {\n\n if (isGooglePlace(formInfo.userSuggestion)) {\n return formInfo.userSuggestion.name;\n } else if (isGooglePlace(formInfo.userSuggestion) && isDealerData(formInfo.userSuggestion)) {\n return `${formInfo.userSuggestion.name} en ${formInfo.userSuggestion.markerInfo.dealerInfo.address}`;\n } else if (isGooglePlace(formInfo.userSuggestion) && !isDealerData(formInfo.userSuggestion)) {\n return `${(formInfo.userSuggestion as Installation).TXT_V_Installation_Data_Name__c} en ${\n (formInfo.userSuggestion as Installation).TXT_V_Address__c\n }`;\n }\n};\n\nconst getUnknowOutput = (fields: any[], field: string) => {\n if (fields[field] == 'true') {\n return 'Sí';\n }\n if (fields[field] == 'false') {\n return 'No';\n }\n if (dayjs(fields[field], 'YYYY-MM-DD').isValid()) {\n return dayjs(fields[field], 'YYYY-MM-DD').format('DD/MM/YYYY');\n }\n if (typeof fields[field] == 'string') {\n return fields[field].replace(/\\,+/g, ', '); \n }\n\n return fields[field];\n};\n\n// SWITCH CASE PARA DETERMINAR EL OUTPUT DEL PREVIOUS STEP\n\nexport const getUpdatedField = (field: string, formData: any, dealersInfo: any, formInfo: any, previousStep?: any) => {\n\n const { fields } = formData;\n const { formName } = fields;\n const { selectedInstallation } = dealersInfo;\n\n if (previousStep?.ctas) {\n return changeValueForLabel(previousStep.ctas, fields, field);\n }\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n \n switch(field) {\n case 'motivo':\n return changeValueForLabel(CTAsMotivo, fields, field);\n case 'contacto':\n return changeValueForLabel(contactoOptionsTurismos, fields, field);\n case 'contactoSAC':\n return changeValueForLabel(contactoOptionsSAC, fields, field);\n case 'desplazamiento':\n return changeValueForLabel(CTAsDesplazamientoTaigo, fields, field);\n case 'motivacionCompra' : \n return changeValueForLabel(CTAsMotivacionCompraTaigo, fields, field);\n case 'slot.from':\n return getOutputSlotFrom(fields);\n case 'dealer.name':\n return fields.dealer.name;\n case 'installation':\n return strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? selectedInstallation.TXT_V_Installation_Data_Name__c : selectedInstallation.VGED_CommercialName__c);\n case 'installation-complete':\n return typeof selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? \n strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c + ', ' + selectedInstallation.TXT_V_Address__c + ' ' + selectedInstallation.TXT_V_Postal_Code__c + ' ' + selectedInstallation.TXT_V_Location__c) \n : \n strTitlelize(selectedInstallation.VGED_CommercialName__c + ', ' + selectedInstallation.ShippingStreet + ' ' + selectedInstallation.ShippingPostalCode + ' ' + selectedInstallation.ShippingCity)\n case 'location':\n return getLocationOutput(formInfo);\n case 'kilometros':\n if (fields.kilometros === 0) {\n return 'No estoy seguro';\n } else {\n return `${fields.kilometros[0]}km - ${fields.kilometros[1]}km`;\n }\n case 'cellphone':\n return `${fields.prefix} ${fields[field]}`;\n case 'informado':\n let result;\n if (fields[field] === 'false') {\n result = 'No';\n } else if (fields[field] === 'true') {\n result = 'Sí';\n } else {\n result = 'Sin respuesta';\n }\n return result ? result : fields[field];\n case 'otraMarca':\n return fields[field] === 'false' ? 'No' : fields[field];\n case 'publicarRespuestas':\n return fields[field] === '1' ? 'Sí' : 'No';\n case 'brand':\n if(fields[field] === 'false') {\n return 'No';\n } else {\n return fields[field];\n }\n case 'model':\n if(fields[field] === 'false') {\n return '';\n } else {\n return fields[field];\n }\n case 'dudas':\n return formatMultipleOptionText(CTAsDudas, fields, field);\n default:\n return getUnknowOutput(fields, field);\n }\n \n};\n","import dayjs from 'dayjs';\nimport {\n Container,\n ContainerGutter,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { isNull } from 'src/feature-app';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { CSSTransition } from 'react-transition-group';\nimport { changeValueForLabel, getUpdatedField, getRatingStarsOutput } from './PreviousStepFiles';\n\ntype PreviousStepWrapperProps = {\n isSeleccionDealer?: boolean;\n notALayer?: boolean;\n};\nconst PreviousStepWrapper = styled.div`\n opacity: ${(props) => (props.notALayer ? '0.4' : '0.35')};\n`;\n\nconst TextPreviousAnswerWrapper = styled.div`\n width: ${(props) => (props.notALayer ? '100%' : '640px')};\n overflow: hidden;\n max-height: 48px;\n opacity: ${(props) => (props.notALayer ? '1' : '0')};\n &.no-animation {\n opacity: 1;\n }\n &.text-enter,\n &.text-enter-active {\n opacity: 0;\n }\n &.text-enter-done {\n opacity: 1;\n transition: opacity 0.3s;\n }\n &.text-exit,\n &.text-exit-active,\n &.text-exit-done {\n opacity: 1;\n }\n`;\n\n// Implementar en caso de que sea necesario mostrar el último paso segun lo introducido y no según el screenIndex, por ejemplo al volver desde la pantalla de confirmación a otra.\ninterface OutputsHistory {\n screenIndex: number;\n step: Steps;\n outputs: any[];\n}\n\nexport function PreviousStepComponent(props: any) {\n const { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { steps, stepsHistory, screenIndex, multiStepScreenIndex, multiSteps, triggerExitAnimation, step } = formInfo;\n\n const [title, setTitle] = useState(null);\n const [text, setText] = useState(null);\n const [hideText, setHideText] = useState(false);\n const [textAppear, setTextAppear] = useState(false);\n const [outputs, setOutputs] = useState(null);\n const [outputsHistory, setOutputsHistory] = useState(null);\n const { moveForward, showPreviousStep } = useOneFormContext();\n\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const getTitleAndOutputs = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setTitle(null);\n setText(null);\n return null;\n }\n const previousStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n \n if(!previousStep) {\n return null;\n }\n \n const title = previousStep.alternateTitle ? previousStep.alternateTitle : previousStep.title;\n setTitle(title);\n \n const camelCaseName = previousStep.name.charAt(0).toLowerCase() + previousStep.name.slice(1); // convertir a camelCase para intentar obtener el fieldName desde formName: \"PrecioMantenimiento\" -> \"precioMantenimiento\"\n\n // uso de dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS',...\n if (formInfo.stepsLiteralFields?.[previousStep.name]) {\n const text = formInfo.stepsLiteralFields?.[previousStep.name];\n setText(text);\n return null;\n }\n else if (formInfo.stepsLiteralFields?.[camelCaseName]) {\n const text = formInfo.stepsLiteralFields?.[camelCaseName];\n setText(text);\n return null;\n }\n\n const theValue = formData.fields[camelCaseName];\n\n // RATING STARS\n if (previousStep.outputsIsStars) {\n\t\tsetText(getRatingStarsOutput(theValue));\n\t}\n // OUTPUTS AND OUTPUTSTEXT\n else if (previousStep.outputsText) {\n const updatedOutputsTexts = previousStep.outputsText\n .map((text) => {\n previousStep.outputs.map((output) => {\n if (text === output) {\n text = getUpdatedField(output, formData, dealersInfo, formInfo, previousStep);\n }\n });\n return text;\n })\n .join(' ');\n\n setText(updatedOutputsTexts);\n }\n else if(typeof theValue != 'undefined') {\n // CTAS\n if (previousStep.ctas) {\n setText(changeValueForLabel(previousStep.ctas, formData.fields, theValue));\n }\n else if(theValue == 'false' || theValue === false) {\n setText('No');\n }\n else if(theValue == 'true' || theValue === true) {\n setText('Sí');\n }\n // TIMESTAMPS\n else if (dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').format('DD/MM/YYYY HH:mm:ss'));\n }\n else if (dayjs(theValue, 'YYYY-MM-DD').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD').format('DD/MM/YYYY'));\n }\n else if(typeof theValue == 'string'){\n setText(theValue.replace(/\\,+/g, ', ')); // prevenir texto junto la coma\n }\n } \n };\n\n const handleMultiStep = () => {\n // En la primera pantalla del multistep mostramos el último step antes de entrar en el multistep.\n if (multiStepScreenIndex === 0) {\n getTitleAndOutputs(steps, screenIndex - 1);\n } else {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex - 1);\n }\n };\n\n const handleStep = () => {\n // En la primera pantalla después de un multistep mostramos el último multistep antes de salir del mismo.\n let previousStep;\n const indexInHistory = stepsHistory.findIndex((history) => history === screenIndex);\n\n if (indexInHistory === -1) {\n previousStep = steps.find((step) => step.screenIndex === screenIndex - 1);\n } else {\n previousStep = steps.find((step) => step.screenIndex === stepsHistory[indexInHistory - 1]);\n }\n if (previousStep && previousStep.multiStep) {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex);\n } else {\n getTitleAndOutputs(steps, previousStep?.screenIndex);\n }\n };\n\n useEffect(() => {\n if (isNull(screenIndex) || (screenIndex === 0 && !steps?.[screenIndex]?.multiStep) || !steps?.[screenIndex]) {\n return;\n }\n const step = steps.find((step) => step.screenIndex === screenIndex);\n if (step) {\n step.multiStep ? handleMultiStep() : handleStep();\n } else {\n handleStep();\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n if (props.stopAnimation) {\n setHideText(false);\n } else {\n if (!moveForward) {\n setHideText(true);\n } else {\n setHideText(false);\n }\n }\n }, [moveForward]);\n\n useEffect(() => {\n if (text) setTextAppear(true);\n }, [text]);\n\n useEffect(() => {\n setHideText(false);\n }, []);\n\n return showPreviousStep ? (\n \n \n {props.notALayer ? (\n \n {title ? title : null}\n \n ) : (\n \n {title ? title : null}\n \n )}\n {props.notALayer ? (\n \n \n {text && !hideText ? text : null}\n \n \n ) : (\n \n \n \n {text && !hideText && !triggerExitAnimation ? text : null}\n \n \n \n )}\n \n \n ) : null;\n}\n\nclass ErrorBoundary extends React.Component {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n // Actualiza el estado para que el siguiente renderizado muestre la interfaz de repuesto\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n console.error('Falta por definir un campo en PreviousStep');\n // También puedes registrar el error en un servicio de reporte de errores\n }\n\n render() {\n if (this.state.hasError) {\n // Puedes renderizar cualquier interfaz de repuesto\n return null;\n }\n\n return this.props.children;\n }\n}\n\nexport function PreviousStep(props: any) {\n return (\n \n \n \n );\n}\n","import React, {useEffect, useState} from 'react';\nimport { LayerScreen, FullScreen } from '.';\ninterface RenderControllerProps {\n screenType: 'layer-screen' | 'full-screen';\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nexport const RenderController = (props: RenderControllerProps) => {\n const { title, fields, key, avoidTrackFormStepLoad, screenType, thankYouPage } = props;\n\n return (\n <>\n {screenType ? (\n <>\n {screenType === 'layer-screen' ? (\n \n ) : (\n \n )}\n \n ) : null}\n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { OneFormProvider, useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { OneFormState } from 'src/types';\nimport { ThankYouComponent } from 'src/feature-app/ThankYouComponent';\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\ninterface ScreenControllerProps {\n closeLayerCallback?: CloseHandleV2;\n selectedJourney: JSX.Element;\n handleAreYouSureLayer: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n formType?: 'layer' | 'inPage' | 'module';\n}\n\nconst ThankYouWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n div {\n height: auto;\n align-items: center;\n }\n`;\n\nexport function ScreenController(props: ScreenControllerProps) {\n const { closeLayerCallback, selectedJourney, handleAreYouSureLayer, formType } = props;\n\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep, step } = formInfo;\n const [formClicked, setFormClicked] = useState(false);\n const [colorTheme, setTheme] = useState(null);\n const config = useFeatureAppConfig();\n\n const trigger = useFeatureAppConfig().trigger;\n\n //Quitar navegación en pantallas de error de carga del form formato full-screen\n\n const [formStarted, setFormStarted] = useState(false);\n useEffect(() => {\n if (formInfo.formStarted === false) {\n setFormStarted(false);\n } else {\n setFormStarted(true);\n }\n }, [formInfo]);\n\n //mapa no compra, si en algun otro form se usa y no coinciden el screenIndex o el multiscreenIndex\n //habrá que añadir un filtro por trigger o un flag en formInfo de que está en el mapa\n\n const [isMap, setIsMap] = useState(false);\n const [soloProgreso, setSoloProgreso] = useState(false);\n\n useEffect(() => {\n if (multiStepScreenIndex === 1 && screenIndex === 5) {\n setIsMap(true);\n } else if (formData.fields.formName === 'no_compra-ya_tengo' && screenIndex === 2) {\n setSoloProgreso(true);\n } else if (formData.fields.formName === 'adhoc-2021-eurocopa' && screenIndex === 0) {\n setIsMap(true);\n } else {\n setIsMap(false);\n setSoloProgreso(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n setTheme('inverted');\n }, [trigger]);\n\n const store = useStore();\n\n const handleClick = () => {\n setFormClicked(true);\n };\n\n const [isLastScreen, setIsLastScreen] = useState(false);\n const [isConfirmacion, setIsConfirmacion] = useState(false);\n\n useEffect(() => {\n if (step?.name === 'Confirmacion' || step?.name === 'Form') {\n setIsConfirmacion(true);\n } else if (step && step.name !== 'Confirmacion') {\n setIsConfirmacion(false);\n }\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n //navigation position in full screen\n\n const [navPositon, setNavPosition] = useState('fixed');\n const viewportHeight = useWindowHeight();\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n if (step && step.name !== 'Confirmacion') {\n document.addEventListener('scroll', handlePosition);\n\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n }\n }, [step]);\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n //console.log('1111');\n } else if (bottomContent <= viewportHeight-100) {\n setNavPosition('relative');\n //console.log('2222');\n } else {\n setNavPosition('fixed');\n //console.log('3333');\n }\n }, [topNavigation, bottomContent]);\n\n return (\n \n {\n handleClick();\n }}\n className=\"screen-controller\"\n >\n {showFinalScreen ? (\n <>\n {\n formType === 'inPage' || formType === 'module' ? null : (\n \n )\n }\n \n \n \n \n \n ) : formType === 'inPage' || formType === 'module' ? (\n <>\n {selectedJourney}\n {showFinalScreen || isMap || !formStarted || isConfirmacion || formType === 'module' ? null : (\n \n )}\n \n ) : (\n <>\n \n\n {selectedJourney}\n {isLastScreen ? null : (\n \n )}\n \n )}\n \n \n );\n}\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nexport function OneElementTemplateFullScreen(props: OneElementTemplateProps) {\n const { element } = props;\n return (\n \n {element}\n \n );\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function TwoElementsTemplateFullScreen(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function ThreeElementsTemplateFullScreen(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nexport function ThankYouComponent() {\n const { thankYouComponent } = useSelector((state: OneFormState) => state.formInfo);\n return { ...thankYouComponent };\n}\n","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber_ from './parsePhoneNumber_.js'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n","import dayjs from 'dayjs';\nimport {PincodeData} from 'src';\nimport {getPersonAttributes, getLeadAttributes, getVehicleAttributes, dealerAttributes, orderAttributes} from '.';\nimport {getTestLead, getTestPerson, getTestOrder, getTestVehicle, getTestDealer} from '.';\n\nexport const checkIfIsTestPincode = (pincode: string) => pincode.startsWith('PINCODE');\n\nexport const getTestPincode = (pincode: string): PincodeData => {\n\tconst noPermite = pincode.includes('NOPERMITE') || pincode.includes('NO-PERMITE');\n\tconst isElectrico = pincode.includes('ID');\n\n\tconst content = [];\n\n\tif (pincode.includes('NPERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestPerson(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t} else if (pincode.includes('PERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getPersonAttributes(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NLEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestLead(getDate(pincode, 'LEAD'))],\n\t\t});\n\t} else if (pincode.includes('LEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getLeadAttributes(getDate(pincode, 'LEAD'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NVEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestVehicle(isElectrico)],\n\t\t});\n\t} else if (pincode.includes('VEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getVehicleAttributes(isElectrico)],\n\t\t});\n\t}\n\n\tif (pincode.includes('NORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestOrder],\n\t\t});\n\t} else if (pincode.includes('ORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...orderAttributes],\n\t\t});\n\t}\n\n\tif (pincode.includes('NDEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestDealer],\n\t\t});\n\t} else if (pincode.includes('DEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...dealerAttributes],\n\t\t});\n\t}\n\n\treturn {\n\t\tstatus: {\n\t\t\tresult: 'success',\n\t\t\ttimestamp: dayjs().format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tcode: 1,\n\t\t\ttime: 0.5742380619049072,\n\t\t},\n\t\tparams: {\n\t\t\tpincode: pincode,\n\t\t\ttoken: 'VW_DDB_FORM_TEST',\n\t\t},\n\t\tcontent: content,\n\t};\n};\n\nconst getDate = (pincode: string, match: string) => {\n\tconst days = pincode.match(new RegExp(match + '(\\\\d+)'));\n\tif (days) {\n\t\treturn dayjs().subtract(parseInt(days[1]), 'day').format('YYYY-MM-DD HH:mm:ss');\n\t}\n\treturn null;\n};\n","export const dealerAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@281c2df7[type=Account,url=/services/data/v53.0/sobjects/Account/0010Y000014bFZOQA2]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MasterRecordId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Data_Name__c',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'LastName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FirstName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Salutation',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MiddleName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Suffix',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ParentId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Phone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Fax',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Website',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PhotoUrl',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Sic',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Industry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AnnualRevenue',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberOfEmployees',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Ownership',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TickerSymbol',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Rating',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Site',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastActivityDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPartner',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPersonAccount',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMobilePhone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonTitle',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonDepartment',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonHasOptedOutOfEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCURequestDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCUUpdateDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedReason',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Jigsaw',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'JigsawCompanyId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountSource',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SicDesc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SalesforceCustomer',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Active__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_Priority__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberofLocations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLAExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLASerialNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'UpsellOpportunity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Volkswagen__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Vaesa__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'COD_Gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Person_DIM_IMP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LSSI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_mobile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_landline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Robinson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Country__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_NIF_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'TXT_Province__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_natural_legal_person__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_extra__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_name__c',\n\t\tvalue: 'A Zona Franca',\n\t},\n\t{\n\t\tname: 'Address_number__c',\n\t\tvalue: '51',\n\t},\n\t{\n\t\tname: 'Address_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FORM_Full_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_Sk__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_province__c',\n\t\tvalue: '17',\n\t},\n\t{\n\t\tname: 'Manual_marker__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Address__c',\n\t\tvalue: 'POL.IND. ZONA FRANCA, CALLE A 51',\n\t},\n\t{\n\t\tname: 'Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Legal_risk_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Age__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Document_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Repaired_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_After_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Latitude__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'NUM_V_Phone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_PV_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_V_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'Cod_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_Brand_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Location__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Postal_Code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Contact_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Type_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'aceDealer__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'MPCK_Instalation_Type__c',\n\t\tvalue: '1;2;10',\n\t},\n\t{\n\t\tname: 'FRML_TXT_codVentaProvincia__c',\n\t\tvalue: '08',\n\t},\n\t{\n\t\tname: 'Latitude_V__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude_V__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'TXT_V_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'COD_V_province__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Cod_V_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_V_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Vaesa__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'External_ID_Otros__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Activity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_prior_appointment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_After_Sales_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email_more_info__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Sender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Home__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Last_Updated__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Replacement_fleet__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Data_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Adblue_price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Anyo_matriculacion_otro_vehiculo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_CAM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Lounge__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_California_roof_repairing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Client_Shutle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Crafter_Elevator__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_DRM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Delivery_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Dont_send_Com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Elite_Body__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Email_OFF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Fast_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_HVT_repairs__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Integral_Body_Program__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Is_Closed_Days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_PCI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_TLMK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_Hibrids__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_dealers__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_loaders__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CampaignID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_after_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_Valid__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Entry_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Ini_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Termination_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_End_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_Start_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_Customer_registration_SLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Email_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Autonomo_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_RaC_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_VO_no_particular__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_indefinido_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_no_identificado_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_particular_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_resto_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Excesive_waiting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Family_unit__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FormID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Home_another_vehicle_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_External_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Vehicle_EID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Informat_cession_aceptance__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Multivehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Bodywork_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Business_Group_Id__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Fax_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Id_Operation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Mechanical_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Number_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Oil_Liter_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Substitution_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Work_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_chassis_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PersonAccount__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Profession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Accept_Bases__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_BussinesGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Comments_Exclusion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Context_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Contract_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_treatment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Validity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Area_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_CCDPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Position__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Profile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename_BusinessGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_number_plate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'URL_Business_Group_Website__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Unsuscribed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Use_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__pc',\n\t\tvalue: 'null',\n\t},\n];\n","export const getLeadAttributes = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@133a815a[type=Leads_Prospects__c,url=/services/data/v51.0/sobjects/Leads_Prospects__c/a0d1n00000gvFgzAAE]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0d1n00000gvFgzAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: '8401294-VW_DDB_FRM_LEM_REC_LEM-36V',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Dealer_Code__c',\n\t\t\tvalue: 'MERKAMOTOR TORTOSA, S.A.',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: 'T-Roc',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: '8401294',\n\t\t},\n\t\t{\n\t\t\tname: 'IS_Prospect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_AfterSales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_Company__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_lead__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: 'NO PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'LastCreatedDate__c',\n\t\t\tvalue: '2021-05-02T23:50:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '00000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'Token__c',\n\t\t\tvalue: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t},\n\t\t{\n\t\t\tname: 'Total__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_1_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_2_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_3_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_4_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VN_VO__c',\n\t\t\tvalue: 'VN',\n\t\t},\n\t\t{\n\t\t\tname: 'LKP_PersonAccount__c',\n\t\t\tvalue: '0011n00002e8sUnAAI',\n\t\t},\n\t\t{\n\t\t\tname: 'External_Id_Climapro__c',\n\t\t\tvalue: 'DPS-000000000000001052940',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_COD_INTEREST_CARLINE__c',\n\t\t\tvalue: '30365',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_DESC_DEALER_CODE__c',\n\t\t\tvalue: '03278',\n\t\t},\n\t\t{\n\t\t\tname: 'IsQualified__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const orderAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@59506a4c[type=Order__c,url=/services/data/v53.0/sobjects/Order__c/a0W1n00000IETcDEAX]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: 'a0W1n00000IETcDEAX',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2020-10-31T08:20:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2021-11-26T09:28:57.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2021-11-26T09:28:58.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi_theoric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_LCV__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Skoda__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_VW__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'COD_Carline__c',\n\t\tvalue: '30316',\n\t},\n\t{\n\t\tname: 'Instalacion_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_comision__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_sales_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_salesgroup__c',\n\t\tvalue: '39237',\n\t},\n\t{\n\t\tname: 'Customer_change_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VipEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'DemoraTipo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ConfirmacionRegaloEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailFollowUpEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_contactable_universe__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'Contactable_universe_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Sales_VN_Type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_TrimLevel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_car_model_salesgroup__c',\n\t\tvalue: 'Golf Last Edition',\n\t},\n\t{\n\t\tname: 'DESC_excessive_waiting_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_model_group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'EmailBienvenidaEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailDemoraEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailEstadoEnviado__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Not_lineal_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Order_frame_FK__c',\n\t\tvalue: 'WVWZZZAUZLW014456',\n\t},\n\t{\n\t\tname: 'PKL_order_VN_VO__c',\n\t\tvalue: 'VO',\n\t},\n\t{\n\t\tname: 'PKL_order_brand__c',\n\t\tvalue: 'Volkswagen',\n\t},\n\t{\n\t\tname: 'SLI_State__c',\n\t\tvalue: '70',\n\t},\n\t{\n\t\tname: 'Vehicle_age_monthly_ord__c',\n\t\tvalue: '19',\n\t},\n\t{\n\t\tname: 'Vehicle_age_yearly_ord__c',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tname: 'COD_Customer_renting__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Customer_type__c',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'COD_Driver__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Vehicle_climapro__c',\n\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t},\n\t{\n\t\tname: 'COD_owner_climapro__c',\n\t\tvalue: '0010Y00001cvNpnQAE',\n\t},\n\t{\n\t\tname: 'Concesion__c',\n\t\tvalue: '0010Y000014bFZOQA2',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'Particular VO IMA DWA',\n\t},\n\t{\n\t\tname: 'DAT_Customers_order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_Order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_delivery__c',\n\t\tvalue: '2020-05-26',\n\t},\n\t{\n\t\tname: 'DAT_order_state_10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__c',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n];\n","export const getPersonAttributes = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'TEST',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'TEST NAME',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_2_Surname__c',\n\t\t\tvalue: 'TEST SURNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'TEST LASTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'TEST FIRSTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'Sra.',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0120Y000000FHqQQAW',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031n00002SQq1OAAT',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Instalacion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_Gender__c',\n\t\t\tvalue: 'M',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: 'TEST_ID_Person_DIM_IMP__c',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: noPermiteLssi ? 'NO PERMITE' : 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_Phone_mobile__c',\n\t\t\tvalue: '600000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Robinson__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Location__c',\n\t\t\tvalue: 'L’Hospitalet de Llobregat',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_NIF_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '08001',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_natural_legal_person__c',\n\t\t\tvalue: 'FISICA',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_extra__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_name__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_number__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_type__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FORM_Full_Address__c',\n\t\t\tvalue: 'Calle D’Amadeu TORNER 12',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Desired_model_1_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_Sk__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Legal_risk_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Replacement_fleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_CAM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Lounge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_California_roof_repairing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Client_Shutle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Crafter_Elevator__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_DRM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Delivery_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Dont_send_Com__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Elite_Body__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Email_OFF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Fast_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_HVT_repairs__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Integral_Body_Program__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Is_Closed_Days__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_PCI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_TLMK__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_Hibrids__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_dealers__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_loaders__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_after_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Autonomo_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_RaC_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_VO_no_particular__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_indefinido_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_no_identificado_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_particular_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_resto_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Excesive_waiting__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_DPV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Informat_cession_aceptance__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Multivehicle__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Unsuscribed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t];\n};\n","export const getVehicleAttributes = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@5674eb[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0Y1n00000HU1nzEAD]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'a0Y1n00000HU1nz',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2019-08-23T11:00:59.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Affected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_comision__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TMAIMG__c',\n\t\t\tvalue: 'BQ12CX',\n\t\t},\n\t\t{\n\t\t\tname: 'Warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Included_mainetance__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_car_model_salesgroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3 Pro' : 'Golf Last Edition',\n\t\t},\n\t\t{\n\t\t\tname: 'PKL_order_brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'Frame__c',\n\t\t\tvalue: isElectrico ? 'WVWZZZE1ZLP007840' : 'WVWZZZAUZLW014456',\n\t\t},\n\t\t{\n\t\t\tname: 'Fuel__c',\n\t\t\tvalue: isElectrico ? 'ELÉCTRICO' : 'GASOLINA',\n\t\t},\n\t\t{\n\t\t\tname: 'Gear_type__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'Installed_PR_packages__c',\n\t\t\tvalue: '',\n\t\t},\n\t\t{\n\t\t\tname: 'KM_cobertura_garantia__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Assistance_years__c',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: '1934LBW',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TrimLevel_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VW_Connect__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_yearly_reg__c',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi_Connect__c',\n\t\t\tvalue: '0.0000000000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Car_power__c',\n\t\t\tvalue: '85',\n\t\t},\n\t\t{\n\t\t\tname: 'Carline_Code__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'DAT_registration__c',\n\t\t\tvalue: '2019-10-17',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_model_group__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'IDClimapro__c',\n\t\t\tvalue: 'TEST_IDClimapro__c',\n\t\t},\n\t\t{\n\t\t\tname: 'Long_full_drive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salesgroup_Code__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_monthly_reg__c',\n\t\t\tvalue: '26',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_coverage__c',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t];\n};\n","export const getTestLead = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'Test Lara',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'MobilePhone',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'Email',\n\t\t\tvalue: 'test.vged@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CodeOfInterestCarline__c',\n\t\t\tvalue: '30204',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelOfInterest__c',\n\t\t\tvalue: 'Polo',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: '001QF00000f1pKFYAY',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-07-12T14:28:35.000+0000',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@29d482e8[type=Lead,url=/services/data/v53.0/sobjects/Lead/00Q1i00000DjYfEEAV]',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000D7NyAAK',\n\t\t},\n\t\t{\n\t\t\tname: 'Title',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Company',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Website',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Status',\n\t\t\tvalue: 'Ready for Routing',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'IsConverted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedOpportunityId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsUnreadByOwner',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastTransferDate',\n\t\t\tvalue: '2023-07-12',\n\t\t},\n\t\t{\n\t\t\tname: 'PartnerAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IndividualId',\n\t\t\tvalue: '0PK1X000008UZ0QWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__c',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'ExpectedPurchaseDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'nDPS-000000000000000000593',\n\t\t},\n\t\t{\n\t\t\tname: 'InterestCar__c',\n\t\t\tvalue: 'a0R1i00000B2ZOiEAN',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Case__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalRoutingCheck__c',\n\t\t\tvalue: 'Do Not Route',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CommissionNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingMechanism__c',\n\t\t\tvalue: 'Automatic',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingStatus__c',\n\t\t\tvalue: 'Not Forwarded',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRole__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__c',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterDuplicateCheck__c',\n\t\t\tvalue: 'True',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterRequestCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterUnsubscriptionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredCommunication__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PurchaseMethod__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StatusReason__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VIN__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleCategory__c',\n\t\t\tvalue: 'New Car',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AnonymizeLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AverageAnnualMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentMailSentOn__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DuplicateCheckAttribute__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestCarValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMBrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMCorrespondenceGreeting__c',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadEntryPoint__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCarsToPurchase__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OriginalConfigurationCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_extCorrelationId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccountFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContactFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherActivationDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCreationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherRedemptionDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherStatus__c',\n\t\t\tvalue: 'Sent',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InitialMgntType__c',\n\t\t\tvalue: 'Direct to Sales Assistant',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalSalesAssistantStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BrandObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CallCenterObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvisorName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AppointmentDateAndTime__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Birthdate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Campaign__c',\n\t\t\tvalue: '7011i0000002CjUAAU',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialPermits__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LicensePlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MileageKm__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeClosedByCC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeOfFirstCapture__c',\n\t\t\tvalue: '2023-07-11T00:00:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeSentToDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeToCC__c',\n\t\t\tvalue: '2023-10-03T12:24:17.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NextContactPoint1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FlagCRMOrigin__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadSubtype__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CRMBusinessModelofInterest__c',\n\t\t\tvalue: 'a1i1i00000NRQwGAAX',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomizationPath__c',\n\t\t\tvalue: 'Generico_Presupuesto',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsCompany__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LeadEnrichment__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LinkVehicleOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MonitorDealerCall__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferPrice__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OnlineBookingDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalTrackBackStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredChannelForContact__c',\n\t\t\tvalue: 'Email',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredTimeSlotForContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ReceivedOnSalesAssistant__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_URL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserNIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Agreement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedExpressedInterestMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedIntenttoPurchaseMilestone__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedQualifiedMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SalesModel__c',\n\t\t\tvalue: 'Retail',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BypassLeadStatus__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerComment__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsDealershipCreated__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRecordTypeFilter__c',\n\t\t\tvalue: 'VGED_SalesAssistant',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ReasonOfSendingToNSC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalSourceInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MysteryLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Profiling__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureEvent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_City__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ConfiguratorMatch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleAge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DNINIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinancingType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleFuel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModelVersion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationYear__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsClient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsExclient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OKAPICodeOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PostalCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadComplement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TelemarketingClosure__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WebSection__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLeadEnriched__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarConfigurationURL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DetailsOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExtraInfoModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDFormCampaign__c',\n\t\t\tvalue: '7011i0000002CclAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterQuestionnaireId__c',\n\t\t\tvalue: '140.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NameFormCampaign__c',\n\t\t\tvalue: 'VW_B01_C01_RRSS_LoadRecords',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleConfigurationDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvertisementId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingCancelledReservation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingDays__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebDealerId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebRecordId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestPerson = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'MARIO',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmail',\n\t\t\tvalue: 'mario.lopez@volkswagengroup.es',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMobilePhone',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStreet',\n\t\t\tvalue: 'Gran Via De Les Corts Catalanes, 100',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=BARCELONA, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08003, state=8, stateCode=8, street=CALLE DELS CORDERS 5)',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'PersonMailingPostalCode',\n\t\t\tvalue: '08080',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStateCode',\n\t\t\tvalue: '08',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@1aeef0f5[type=Account,url=/services/data/v53.0/sobjects/Account/0011X00001CebbnQAB]',\n\t\t},\n\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Type',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000cHHfAAM',\n\t\t},\n\t\t{\n\t\t\tname: 'ParentId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08080, state=null, stateCode=08, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountNumber',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'WebSite',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Sic',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Ownership',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TickerSymbol',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Site',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-09-07T23:10:20.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031X00000zej2YQAQ',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramLevelName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHomePhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonTitle',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDepartment',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonBirthDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCURequestDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCUUpdateDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonIndividualId',\n\t\t\tvalue: '0PK1X000008VQpKWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawCompanyId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'SicDesc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_A4WcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerLeadRoutingPreference__c',\n\t\t\tvalue: 'External System',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'KVPSCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PreferredCommunicationChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountBrand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountEmail__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BusinessHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContractStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerActive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalAccountID__c',\n\t\t\tvalue: '54147334_Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GroupID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IntegrationSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InternationalBusinessAgreement__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLightCommercialVehicles__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfPassengerCars__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OpeningHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Services__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TaxNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryCountry__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CollectionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerMarketNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Email__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_EtronWcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsA4WcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsEtronWcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredDealerKVPSID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SubscriberKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsAudi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsSkoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsVolkswagen__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessAccountSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ClientStage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email2__c',\n\t\t\tvalue: 'mario.vwgroup@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Fax1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone2__c',\n\t\t\tvalue: '690807844',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersAudi__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersLCV__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersSkoda__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersVW__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VolumeOpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExpectedDeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomerType__c',\n\t\t\tvalue: 'F',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'LOPEZ',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinanceCoResponsibility__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Remarks__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TypeOfDocument__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCodeVaesa__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateProcessAllowed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DesynchronizedAccount__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SecondaryField__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Concession__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OutOfService__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperPersonAccountfields__c',\n\t\t\tvalue: 'MARIO LOPEZ MORENO, Homephone: , Mobile: 675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IDKID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Customer_Number__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Birthdate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContactBrand__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CorrespondenceGreeting__pc',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRRequestInProgress__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__pc',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredChannelOfContact__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredLanguage__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingAudi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSeat__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSkoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVW__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureEmail__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BirthPlace__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentDealer__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CustomerKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastCommercialEmailname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingIndependentOfChannel__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OEMPushNotificationConsent__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PersonType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationLatestExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EventParticipation__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PrimaryContact__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Role__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Interest__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DischargeBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TerminationBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IdCard__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestOrder = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '8011X000003hG8pQAE',\n\t},\n\t{\n\t\tname: 'VGED_CEMDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\t{\n\t\tname: 'RCY_ActualDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@24d13ed5[type=Order,url=/services/data/v53.0/sobjects/Order/8011X000003hG8pQAE]',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'ContractId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountId',\n\t\tvalue: '0011i00001dahGZAAY',\n\t},\n\t{\n\t\tname: 'Pricebook2Id',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OriginalOrderId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OpportunityId',\n\t\tvalue: '0061X00000JQGJbQAP',\n\t},\n\t{\n\t\tname: 'QuoteId',\n\t\tvalue: '0Q01X000001jdBvSAI',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: '0121i0000009T64AAE',\n\t},\n\t{\n\t\tname: 'EffectiveDate',\n\t\tvalue: '2024-04-05',\n\t},\n\t{\n\t\tname: 'EndDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsReductionOrder',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Status',\n\t\tvalue: 'Open',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'SARSA 14 04/04/2024',\n\t},\n\t{\n\t\tname: 'PoDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PoNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OrderReferenceNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShipToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'StatusCode',\n\t\tvalue: 'Draft',\n\t},\n\t{\n\t\tname: 'CurrencyIsoCode',\n\t\tvalue: 'EUR',\n\t},\n\t{\n\t\tname: 'OrderNumber',\n\t\tvalue: '00962800',\n\t},\n\t{\n\t\tname: 'TotalAmount',\n\t\tvalue: '0.0',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2024-04-05T07:46:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0051i000004UwL0AAK',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ActivationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Asset__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ExtKey__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_CommissionNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationStatus__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_EstimatedDeliveryDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_VIN__c',\n\t\tvalue: 'WVGZZZE24RP501114',\n\t},\n\t{\n\t\tname: 'RCY_BillingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ContactCommunicationActionName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateClicked__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateSent__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DealerCountry__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentType__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'RCY_DurationReport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExtensionDateLatest__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_KVPSID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Locale__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_MerchantId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NetPrice__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NotificationContact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_OrderCreationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_PONumber1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Prolongation__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_TeaserPurchase__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_AudiConnect__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_AudiSport__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CO2WLTP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ProductionDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ClimaproOrderID__c',\n\t\tvalue: '34011000',\n\t},\n\t{\n\t\tname: 'VGED_CodCarline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodWLTP2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CommunicationModel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ContactableUniverse__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CodCustomerRenting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_IsStock__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DelayType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DeliveryYear__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Electric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_FleetSequence__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_HybridElectric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_InstalledPrPackages__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_LegacySFId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ModelGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_RetailDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_RequestDelayDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesConcession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesTypeSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SellerCode__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SliState__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ConnectType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableOrder__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Test__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_TypeOrderVNVO__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Vehicle__c',\n\t\tvalue: 'a0U1X0000049qKgUAI',\n\t},\n\t{\n\t\tname: 'VGED_WLTPconsumption__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_WarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CustomerType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodDriver__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Commerce__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CustomersOrderDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Life__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableDateCEM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyablePerson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Transformed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_SalesModel__c',\n\t\tvalue: 'null',\n\t},\n];\n","export const getTestVehicle = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0U1X0000049qKgUAI',\n\t\t},\n\t\t{\n\t\t\tname: 'Name', // Frame\n\t\t\tvalue: 'WVWZZZE13PP508774',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelGroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: '1111-BBB',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@7d536fed[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0U1X0000049qKgUAI]',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: 'Example Registration',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2023-09-07T10:24:54.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Account__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EngineType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: '44529043',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColor__c',\n\t\t\tvalue: 'C2A1',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelKey__c',\n\t\t\tvalue: 'E113MJ',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ProductionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandList__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Brand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DisplacementInLiters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInHorsePower__c',\n\t\t\tvalue: '150.0',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInKw__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperGVFTransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColor__c',\n\t\t\tvalue: 'XX',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColor__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AssistanceYears__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiConnect__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiSport__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarModelSalesgroup__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialDesignation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Electric__c',\n\t\t\tvalue: isElectrico ? 'false' : 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GearType__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridElectric__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridGLP__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InstalledPRPackages__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsModelS__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_KMEstimated__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveProduct__c',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveStanding__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceIncluded__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceType__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextMaintenanceDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferLongFullDrive__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalSLIImporter__c',\n\t\t\tvalue: 'EV3 PJH',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalsSLI__c',\n\t\t\tvalue: 'AY2 EV3 PJH S3C W2E 4AF 8AV',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairDateEA189__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Segment__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TEST__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TractionType__c',\n\t\t\tvalue: 'TRACCIÓN TRASERA',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TrimLevelModel__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleWeightSLI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Model__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AffectedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CancelDateLongDriveContractTerminat__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarlineCode__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Commerce__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionCode__c',\n\t\t\tvalue: '0028034',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EffectiveDateIncludingMaintenance__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FactoryPickup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GuaranteedKmsCoverage__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LastDateOfRepair__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Life__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveContractDischargeDate__c',\n\t\t\tvalue: '2024-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveEffectiveDate__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextITV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumLdFreeMonths__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OrderNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SalesGroupCode__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SliModelGroup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Transformed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateDateKmEstimation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VwConnect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyCoverage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsGVF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const getTestDealer = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0011i00001dahNuAAI',\n\t},\n\t{\n\t\tname: 'VGED_CommercialName__c',\n\t\tvalue: 'CARHAUS',\n\t},\n\t{\n\t\tname: 'VGED_DealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'KVPSCode__c',\n\t\tvalue: 'ESP08034V',\n\t},\n\t{\n\t\tname: 'VGED_ConcessionDealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: '2.065784',\n\t},\n\t{\n\t\tname: 'ShippingStateCode',\n\t\tvalue: '8',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'RCY_DealerType__c',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'BillingStateCode',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: '2.065784',\n\t},\n];\n","import { IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { getOneHubConfig } from 'src/feature-app';\nimport { IEsOnehubVWConfig, IdentityKitCompleteMatch, HasPersonResponse } from './';\n\nexport const existPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentitykitId: string,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person/has-person';\n\n\tif (onehubConfig) {\n\t\tconst response = await authServiceInstance.get(\n\t\t\tonehubConfig.customConfig?.resourceHostId,\n\t\t\tendpoint + '?identitykitId=' + identitykitId,\n\t\t\t{\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t\t}\n\n\t\treturn response.json() as Promise;\n\t}\n\n\treturn null;\n};\n\nexport const matchPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentityKitCompleteMatch: IdentityKitCompleteMatch,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person';\n\n\tconst response = await authServiceInstance.put(\n\t\tonehubConfig.customConfig?.resourceHostId,\n\t\tendpoint,\n\t\tJSON.stringify(identityKitCompleteMatch),\n\t);\n\n\tif (!response.ok) {\n\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t}\n\n\treturn response.json() as Promise;\n};\n","import {\n\tFeatureServiceBinder,\n\tFeatureServiceEnvironment,\n\tFeatureServices,\n\tSharedFeatureService,\n} from '@feature-hub/core';\nimport { Store } from 'redux';\nimport { getPincode } from 'src/bff';\nimport { FormDataFields } from 'src/types';\nimport {\n\tDpsData,\n\tEsOneformCoreServiceV1,\n\tFieldType,\n\tOneFormDataV1 as OneformData,\n\tOneFormDataV1,\n\tPersonV1,\n} from './types';\nimport { BehaviorSubject } from 'rxjs';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport parsePhoneNumber from 'libphonenumber-js';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\nimport { checkIfIsTestPincode, getTestPincode } from './pincode-data';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { ProfileServiceV2Impl, UserService } from '@vwdfive/myvw-services';\nimport { existPerson } from 'src/feature-service/identity-kit-service';\n\nexport interface SharedEsOneformCoreService extends SharedFeatureService {\n\treadonly '1.0.0': FeatureServiceBinder;\n}\n\nexport interface RequiredFeatureServices extends FeatureServices {\n\treadonly 'service-config-provider': ServiceConfigProviderV1;\n}\n\nexport const oneformCoreServiceDefinition = {\n\tid: 'es:oneform-core',\n\n\tdependencies: {\n\t\tfeatureServices: {\n\t\t\t'service-config-provider': '^1.0.0',\n\t\t\t'fa-content-service': '^1.0.0',\n\t\t},\n\t},\n\n\toptionalDependencies: {\n\t\tfeatureServices: { ['vw:authService']: '2.0.0' },\n\t},\n\n\tcreate(env: FeatureServiceEnvironment) {\n\t\tlet oneFormData = {} as OneFormDataV1;\n\t\tlet dpsData = {} as DpsData;\n\t\tconst oneFormCoreDpsIsLoaded: BehaviorSubject = new BehaviorSubject(false);\n\n\t\tlet { 'service-config-provider': serviceConfig, ['vw:authService']: provider } = env.featureServices;\n\n\t\tconst getLoadedState = () => oneFormCoreDpsIsLoaded;\n\t\tconst get = () => oneFormData;\n\t\tconst getDpsData = (): DpsData => dpsData;\n\n\t\tconst v1 = () => ({\n\t\t\tfeatureService: {\n\t\t\t\tgetLoadedState,\n\n\t\t\t\tget,\n\t\t\t\tgetDpsData,\n\n\t\t\t\tset(updatedData: OneFormDataV1) {\n\t\t\t\t\toneFormData = { ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tsetDpsData(updatedData: DpsData) {\n\t\t\t\t\tdpsData = { ...dpsData, ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tasync initializeService(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkData(useAuth, useBff);\n\t\t\t\t\toneFormCoreDpsIsLoaded.complete();\n\t\t\t\t},\n\n\t\t\t\tasync checkLogin() {\n\t\t\t\t\t//const authService = getAuthService(serviceConfig, provider as AuthServiceProviderV2);\n\t\t\t\t\tconst authService: IAuthServiceV2 = (provider as AuthServiceProviderV2)?.register('market');\n\t\t\t\t\tconst endpoint = serviceConfig.configs['customer-profile']?.urlOrigin;\n\t\t\t\t\tconst profileService = new ProfileServiceV2Impl(authService, endpoint);\n\t\t\t\t\tconst isAuthenticated = await authService?.isAuthenticated() ?? false;\n\t\t\t\t\tconst userService = new UserService(authService);\n\n\t\t\t\t\tif (!isAuthenticated) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst profile = await profileService.getUserProfile();\n\t\t\t\t\tconst email = await userService.getCurrentUserEmail();\n\t\t\t\t\t// const vumClient = new VumClient(endpoint, authService);\n\t\t\t\t\t// const aa = await vumClient.getUserVehicleRelations();\n\t\t\t\t\t//DATOS PERSONALES\n\t\t\t\t\tif (profile.phoneNumber) {\n\t\t\t\t\t\tconst parsedPhone = parsePhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tconst isValidPhone = isValidPhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tif (isValidPhone) {\n\t\t\t\t\t\t\tthis.setField('prefix', `+${parsedPhone.countryCallingCode}`);\n\t\t\t\t\t\t\tthis.setField('cellphone', parsedPhone.nationalNumber);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.setField('name', profile.firstName);\n\t\t\t\t\tthis.setField('surname', profile.lastName);\n\t\t\t\t\tthis.setField('email', email);\n\n\t\t\t\t\tconst identitykitId = await userService.getCurrentUserId();\n\t\t\t\t\tthis.setField('identitykitId', identitykitId);\n\t\t\t\t\tconst personResponse = await existPerson(authService, identitykitId);\n\t\t\t\t\tthis.setField('climaproUserStatus', personResponse?.data?.userStatus);\n\t\t\t\t\tthis.setField('climaproId', personResponse?.data?.climaproId);\n\n\t\t\t\t\t// this.setField('cellphone', '600000000');\n\t\t\t\t\t//this.setField('userIsAuthenticated', isAuthenticated ? 'true' : 'false');\n\n\t\t\t\t\t// VEHÍCULOS\n\t\t\t\t\t// this.setField('userVehicles', [\n\t\t\t\t\t// { matricula: 'A0000BC', kilometros: '30000', modelo: 'Arteon', anoMatriculacion: '' , isMainVehicle: false },\n\t\t\t\t\t// { matricula: 'B0000BC', kilometros: '60000', modelo: 'T-Roc', anoMatriculacion: '' , isMainVehicle: true },\n\t\t\t\t\t// ]);\n\t\t\t\t\t// this.setField('matricula', 'A0000BC');\n\n\t\t\t\t\t// DEALER\n\t\t\t\t\t// this.setField('favouriteDealer', '00031');\n\n\t\t\t\t\t// LEGALES\n\t\t\t\t\t// this.setField('lssi', 'PERMITIDO');\n\t\t\t\t\t// this.setField('tmk', 'PERMITIDO');\n\t\t\t\t},\n\n\t\t\t\tasync checkPincode(useBff?: boolean, isRetry?: boolean) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst pincode = this.getUrlParams('pincode');\n\n\t\t\t\t\t\tif (pincode && checkIfIsTestPincode(pincode)) {\n\t\t\t\t\t\t\t// console.log(getTestPincode(pincode),'pincode');\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: getTestPincode(pincode),\n\t\t\t\t\t\t\t\t\tpincodeError: false,\n\t\t\t\t\t\t\t\t\tpincodeUsed: false,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (pincode) {\n\t\t\t\t\t\t\tconst pincodeData = await getPincode(pincode, useBff);\n\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: pincodeData.pincodeData,\n\t\t\t\t\t\t\t\t\tpincodeError: pincodeData.pincodeError,\n\t\t\t\t\t\t\t\t\tpincodeUsed: pincodeData.pincodeUsed,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// person.map((att) => {\n\t\t\t\t\t\t\t// // this.setField(att.name, att.value);\n\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: null,\n\t\t\t\t\t\t\t\t\tpincodeError: null,\n\t\t\t\t\t\t\t\t\tpincodeUsed: null,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\toneFormCoreDpsIsLoaded.error(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tcheckUrl() {\n\t\t\t\t\tconst dealerKvps = this.getUrlParams('dealer');\n\t\t\t\t\tconst motivo = this.getUrlParams('motivo');\n\t\t\t\t\tconst contactado = this.getUrlParams('contactado');\n\t\t\t\t\tconst rating = this.getUrlParams('rating');\n\t\t\t\t\tconst push = this.getUrlParams('push');\n\t\t\t\t\tconst estado = this.getUrlParams('estado');\n\t\t\t\t\tconst waid = this.getUrlParams('wa') || this.getUrlParams('waid');\n\t\t\t\t\tconst cem = this.getUrlParams('cem');\n\t\t\t\t\tconst mgm = this.getUrlParams('mgm');\n\t\t\t\t\tconst adviser = this.getUrlParams('adviser');\n\t\t\t\t\tconst agency = this.getUrlParams('agency');\n\t\t\t\t\tconst or = this.getUrlParams('or');\n\t\t\t\t\tconst dat = this.getUrlParams('dat');\n\t\t\t\t\tconst env = this.getUrlParams('env');\n\t\t\t\t\tconst fe = this.getUrlParams('fe');\n\t\t\t\t\tconst dealer = this.getUrlParams('dealer');\n\t\t\t\t\tconst kvps = this.getUrlParams('kvps');\n\t\t\t\t\tconst campaign = this.getUrlParams('campaign');\n\t\t\t\t\tconst model = this.getUrlParams('model');\n\t\t\t\t\tconst interes = this.getUrlParams('interes');\n\n\t\t\t\t\tif (motivo) {\n\t\t\t\t\t\tthis.setField('motivo', motivo);\n\t\t\t\t\t}\n\t\t\t\t\tif (dealerKvps) {\n\t\t\t\t\t\tthis.setField('dealerKvps', dealerKvps);\n\t\t\t\t\t}\n\t\t\t\t\tif (contactado) {\n\t\t\t\t\t\tthis.setDpsData({ contactado });\n\t\t\t\t\t}\n\t\t\t\t\tif (rating) {\n\t\t\t\t\t\tthis.setDpsData({ rating });\n\t\t\t\t\t}\n\t\t\t\t\tif (push) {\n\t\t\t\t\t\tthis.setDpsData({ push });\n\t\t\t\t\t}\n\t\t\t\t\tif (estado) {\n\t\t\t\t\t\tthis.setDpsData({ estado });\n\t\t\t\t\t}\n\t\t\t\t\tif (waid) {\n\t\t\t\t\t\tthis.setDpsData({ waid });\n\t\t\t\t\t}\n\t\t\t\t\tif (cem) {\n\t\t\t\t\t\tthis.setDpsData({ cem });\n\t\t\t\t\t}\n\t\t\t\t\tif (mgm) {\n\t\t\t\t\t\tthis.setDpsData({ mgm });\n\t\t\t\t\t}\n\t\t\t\t\tif (adviser) {\n\t\t\t\t\t\tthis.setDpsData({ adviser });\n\t\t\t\t\t}\n\t\t\t\t\tif (agency) {\n\t\t\t\t\t\tthis.setDpsData({ agency });\n\t\t\t\t\t}\n\t\t\t\t\tif (or) {\n\t\t\t\t\t\tthis.setDpsData({ or });\n\t\t\t\t\t}\n\t\t\t\t\tif (dat) {\n\t\t\t\t\t\tthis.setDpsData({ dat });\n\t\t\t\t\t}\n\t\t\t\t\tif (env) {\n\t\t\t\t\t\tthis.setDpsData({ env });\n\t\t\t\t\t}\n\t\t\t\t\tif (fe) {\n\t\t\t\t\t\tthis.setDpsData({ fe });\n\t\t\t\t\t}\n\t\t\t\t\tif (dealer) {\n\t\t\t\t\t\tthis.setDpsData({ dealer });\n\t\t\t\t\t}\n\t\t\t\t\tif (kvps) {\n\t\t\t\t\t\tthis.setDpsData({ kvps });\n\t\t\t\t\t}\n\t\t\t\t\tif (campaign) {\n\t\t\t\t\t\tthis.setDpsData({ campaign });\n\t\t\t\t\t}\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\tthis.setDpsData({ model });\n\t\t\t\t\t}\n\t\t\t\t\tif (interes) {\n\t\t\t\t\t\tthis.setDpsData({ interes });\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tasync checkData(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t\tif (useAuth && getDpsData().pincode.noPincodeFound) {\n\t\t\t\t\t\tawait this.checkLogin();\n\t\t\t\t\t}\n\t\t\t\t\tthis.checkUrl();\n\t\t\t\t},\n\n\t\t\t\tgetUrlParams(param: string) {\n\t\t\t\t\tif (typeof window === 'undefined') {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (window && window.location) {\n\t\t\t\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\t\t\t\treturn urlParams.get(param);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t},\n\n\t\t\t\tasync retryPincodeLoad(useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t},\n\n\t\t\t\tsetField(field: FieldType | string, value: any): void {\n\t\t\t\t\tconst { person } = this.get();\n\t\t\t\t\tconst updatedPerson: PersonV1 = { ...person };\n\t\t\t\t\tupdatedPerson[field] = value;\n\t\t\t\t\tconst updatedOneFormData: OneformData = { ...oneFormData, person: { ...updatedPerson } };\n\t\t\t\t\tthis.set(updatedOneFormData);\n\t\t\t\t},\n\n\t\t\t\tsubscribeToFields(store: Store): void {\n\t\t\t\t\tconst { fields }: { fields: FormDataFields } = store.getState().formData;\n\t\t\t\t\tObject.keys(fields).forEach((field) => {\n\t\t\t\t\t\tthis.setField(field, fields[field]);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\treturn { '1.0.0': v1 };\n\t},\n};\n","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { default as _parsePhoneNumber } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn withMetadataArgument(_parsePhoneNumber, arguments)\r\n}","import { ApiKeyProviderV1 } from '@volkswagen-onehub/api-key-provider';\nimport { AsyncSsrManagerV1 } from '@feature-hub/async-ssr-manager';\nimport { AuthServiceProviderV2 } from '@volkswagen-onehub/authservice';\nimport { CarConfigurationServiceV2 } from '@volkswagen-onehub/car-configuration-feature-service';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { FaContentServiceV1 } from '@volkswagen-onehub/fa-content-service';\nimport { FeatureAppDefinition, FeatureServices } from '@feature-hub/core';\nimport { FeatureAppEnvironmentContext } from 'src/feature-app/hooks/use-feature-app-environment';\nimport { FinancialDataServiceV1 } from '@volkswagen-onehub/financial-data-feature-service';\nimport { HistoryServiceV2 } from '@feature-hub/history-service';\nimport { ImageServiceV1 } from '@volkswagen-onehub/image-service';\nimport { initialState } from 'src/feature-app/redux/index';\nimport { initSentry } from './sentry/';\nimport { LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { LocaleServiceV1 } from '@volkswagen-onehub/locale-service';\nimport { Logger } from '@feature-hub/logger';\nimport { NavigationServiceV1 } from '@volkswagen-onehub/navigation-service';\nimport { oneformCoreServiceDefinition } from 'src/feature-service/es-oneform-core-feature-service/index';\nimport { ReactFeatureApp } from '@feature-hub/react';\nimport { saveEnvironment } from './save-feature-app';\nimport { saveFeatureServices } from 'src/feature-app';\nimport { SerializedStateManagerV1 } from '@feature-hub/serialized-state-manager';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { TrackingManagerV1 } from '@volkswagen-onehub/tracking-service';\nimport { UserInteractionServiceV1 } from '@volkswagen-onehub/user-interaction-service';\nimport * as React from 'react';\nimport App from './App';\nimport ErrorBoundary from './sentry/ErrorBoundary';\n\nexport type Trigger =\n | 'adhoc-2025-the_originals'\n | 'adhoc-2024-navidad_gti'\n | 'adhoc-2021-diamadre'\n | 'adhoc-2021-eurocopa'\n | 'adhoc-2021-fidelizacion_clientes'\n | 'adhoc-2021-navidad'\n | 'adhoc-2023-test_id'\n | 'adhoc-2023-concurso_rodaje'\n | 'adhoc-2023-plan_ideal'\n | 'adhoc-lanzamiento-taigo'\n | 'adhoc-suvperheroes'\n | 'autosubmit'\n | 'baja-comunicaciones'\n | 'callme-embedded'\n | 'cita-posventa-dealer'\n | 'cita-posventa-embedded'\n | 'cita-posventa-tile-grid'\n | 'cita-posventa-tile'\n | 'cita-posventa'\n | 'empresas'\n | 'encuestas'\n | 'feedback'\n | 'lead-configurador'\n | 'lead-dealer'\n | 'lead-embedded'\n | 'lead-inpage'\n | 'lead'\n | 'mgm'\n | 'newsletter'\n | 'prospect-embedded'\n | 'prospect-posventa-embedded'\n | 'prospect'\n | 'race'\n | 'sac'\n | 'ugc'\n | 'widget'\n ;\nexport interface FeatureAppConfig {\n readonly trigger?: Trigger;\n}\n\ninterface Installation {\n name: string;\n code: string;\n}\n\ninterface CalculatorData {\n carYear: number;\n familyModelCode?: string;\n familyModelDesc?: string;\n installation: Installation;\n kilometres?: string;\n license?: string;\n licensePlate?: string;\n modelDescr?: string;\n modelKey?: string;\n vin?: string;\n}\ninterface CalculatorService {\n setInstallation?: (installation: Installation) => void;\n getCalculatorData?: () => CalculatorData;\n}\n\nexport interface Dependencies extends FeatureServices {\n readonly 's2:async-ssr-manager': AsyncSsrManagerV1 | undefined;\n readonly 's2:serialized-state-manager': SerializedStateManagerV1;\n readonly 'layer-manager': LayerManagerV2;\n readonly 'es:oneform-core': EsOneformCoreServiceV1;\n readonly 'car-configuration': CarConfigurationServiceV2;\n readonly 'locale-service': LocaleServiceV1;\n readonly 'service-config-provider': ServiceConfigProviderV1;\n readonly 'fa-content-service': FaContentServiceV1;\n readonly 's2:history': HistoryServiceV2;\n readonly 'financial-data': FinancialDataServiceV1;\n readonly 'vw:authService': AuthServiceProviderV2;\n readonly 'user-interaction-service'?: UserInteractionServiceV1;\n readonly 'image-service'?: ImageServiceV1;\n readonly 'api-key-provider': ApiKeyProviderV1;\n readonly 'calculator-feature-service'?: CalculatorService;\n readonly 's2:logger': Logger;\n readonly 'navigation-service': NavigationServiceV1;\n\n readonly tracking?: TrackingManagerV1;\n}\n\nconst featureAppDefinition: FeatureAppDefinition = {\n dependencies: {\n featureServices: {\n 's2:serialized-state-manager': '^1.0.0',\n 'layer-manager': '^2.3.0',\n 'es:oneform-core': '^1.0.0',\n 'car-configuration': '^2.0.0',\n 'locale-service': '^1.0.0',\n 'service-config-provider': '^1.0.0',\n 'fa-content-service': '^1.0.0',\n 's2:history': '^2.0.0',\n 'financial-data': '^1.0.0',\n 'user-interaction-service': '^1.0.0',\n 'image-service': '^1.1.1',\n 's2:logger': '^1.0.0',\n 'navigation-service': '^1.0.0',\n 'api-key-provider': '^1.0.1',\n },\n },\n\n optionalDependencies: {\n featureServices: {\n 's2:async-ssr-manager': '^1.0.0',\n tracking: '^1.0.0',\n ['vw:authService']: '2.0.0',\n 'calculator-feature-service': '^1.0.0',\n },\n },\n\n ownFeatureServiceDefinitions: [oneformCoreServiceDefinition],\n\n create: (env) => {\n let oneFormState = JSON.stringify(initialState);\n\n let { 's2:async-ssr-manager': asyncSsrManager, 's2:serialized-state-manager': serializedStateManager } =\n env.featureServices;\n // Necesario para que cualquier función pueda acceder a los featureServices sin usar hooks, especialmente\n // para acceder a los service configs.\n saveFeatureServices(env.featureServices);\n saveEnvironment(env);\n\n const { hub } = initSentry(env.featureServices, env.config);\n // oneFormService.initializeService();\n // We use the presence of the asyncSsrManager to determine whether we are\n // rendered on the server or on the client.\n if (asyncSsrManager) {\n serializedStateManager.register(() => JSON.stringify(initialState));\n\n asyncSsrManager\n .scheduleRerender\n // (async () =>\n // (initialState = await fetchInitialState(config, carConfiguration)))()\n ();\n } else {\n const serializedState = serializedStateManager.getSerializedState();\n if (serializedState) {\n oneFormState = serializedState;\n }\n }\n\n return {\n render: () => (\n \n \n \n \n \n \n \n ),\n };\n },\n};\n\nexport default featureAppDefinition;\n","import { isMobileOnly, isTablet } from 'react-device-detect';\n\nexport const getParamsForm = () => {\n let tc: string;\n if (typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') {\n tc = s.persCmp;\n } else {\n tc = 'undefined';\n }\n\n const date = new Date();\n const device = isMobileOnly ? 'mobile' : isTablet ? 'tablet' : 'desktop';\n const location = window.location.href;\n const referalUrl = document.referrer.substring(0, 30);\n const today = date.toISOString().replace(\"T\",\" \").split(\".\")[0];\n //const today = date.toISOString().slice(0, 10) + ' ' + date.toLocaleString('es-ES').slice(-8);\n const url = window.location.origin + window.location.pathname;\n\n return {\n device,\n location,\n referalUrl,\n tc,\n today,\n url,\n };\n};\n","import { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth} from '@react-hook/window-size';\n\nexport const useDropdowPosition = (identifier: string) => {\n\n const windowHeight = useWindowHeight();\n const windowWidth = useWindowWidth();\n\n const [ boundingObject, setBoundingObject ] = useState(null);\n const [ bottom, setBottom ] = useState(null);\n const [ top, setTop ] = useState(null);\n const [ left, setLeft ] = useState(null);\n const [ right, setRight ] = useState(null);\n const [ goUp, setGoUp ] = useState(false);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => { \n const {top, right, bottom, left, width, height, x, y} = document.querySelector(identifier).getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({top, right, bottom, left, width, height, x, y});\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n }; \n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n useEffect(()=>{\n const distanciaDeCambio = windowHeight/4 > 150 ? windowHeight/4 : 150;\n const distanceToBottom = windowHeight - bottom;\n if(windowWidth < 960) {\n setGoUp(false);\n } else if( distanceToBottom < distanciaDeCambio) {\n setGoUp(true);\n //console.log(windowHeight, 'true');\n } else {\n setGoUp(false);\n //console.log(windowHeight, 'false');\n\n }\n\n }, [boundingObject]);\n\n return { boundingObject, bottom, top, left, right, goUp, getAndUpdateState};\n};\n","import { Content } from '@volkswagen-onehub/fa-content-service';\nimport { useFeatureServices } from 'src/feature-app';\nimport { CalculatorDefaultResponse, MatchSelectedOptions, Offer } from 'src/types';\n\nexport type EmbeddedFeatureApp = 'es-ofertas' | 'es-stock-teaser' | 'es-match' | 'es-calculadora' | 'es-maintenance-plan' | 'es-portal' | 'es-bono' | 'es-my-benefits' | 'Configure';\n\nexport interface VehiclePortal {\n\tvehicleClimaproId: number;\n\tframe: string;\n\timage: string;\n\tcomercialDenomination: string;\n\tcommercialDenominationSli: string;\n\tfamilyModelCode: string;\n\tfamilyModelDesc: string;\n\ttmaimg: string | null;\n\tlicense: string | null;\n\tdealerDate: number;\n\tlicenseDate: number | undefined;\n\tdeliveryDate: number;\n\n\t//Maintenance\n\tclimaProKM?: number;\n\tlocalKM?: number;\n\tmaintenanceYears?: number;\n\tmaintenanceMonths?: number;\n\tmaintenanceDays?: number;\n\tmaintenanceTotalDays?: number;\n\talertNextMaintenance?: boolean;\n\tmaintenance?: any;\n\trepairOrders?: any;\n\teditKm?: boolean;\n\n\t//Benefits\n\tsalesGroup?: string;\n\tpersonVehicleRelation?: boolean;\n\tflagIsVO?: boolean;\n}\n\ninterface PortalFields {\n\tvehicle: VehiclePortal[];\n\tquotePvp?: string;\n\tquoteOperations?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t\tpvp: string | undefined; // Precio de la operación\n\t}[];\n\toperation?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t}[];\n}\n\n//NO SE USA\nexport interface VehicleCalculadora {\n\tfamilyCode: string;\n\tfamilyDesc: string;\n\tmodelDescr: string;\n\tmodelKey: string;\n\tvin: string;\n\tmileage: number;\n\tplate: string;\n\tplateDate: string;\n}\n\n// interface CalculadoraFields {\n// dealer: string; // Código KVPS\n// vehicle: VehicleCalculadora[];\n// quotePvp: string;\n// quoteOperations: {\n// id: string; // Identificador único de la operación\n// name: string; // Nombre de la operación\n// pvp: string; // Precio de la operación\n// }[];\n// deepLink: string; // URL para acceder a calculadora con el presupuesto precargado\n// }\n\ntype WidgetOptions = 'Mapa';\nexport interface OneFormContent extends Content, PortalFields {\n\t'bodycopy-logged'?: string;\n\t'headline-logged'?: string;\n\t'action'?: string;\n\t'argumentatives'?: string;\n\t'bodycopy'?: string;\n\t'bono'?: any;\n\t'carlines'?: number[] | string[];\n\t'cem'?: 'VENTA' | 'POSVENTA';\n\t'cta'?: string;\n\t'dpsFields'?: {\n\t\tfield: 'headers[DESC_FORM_DETAIL]' | 'headers[DETALLE_TIPO_PETICION_SIM]';\n\t\tvalue: string;\n\t}[];\n\t'encuesta'?: 'CEM - VENTA' | 'CEM - VENTA PRODUCTO' | 'CEM - POSVENTA' | 'CEM - ONESHOP' | 'CEM - SEGUNDA ENTREGA - INVITACION' | 'CEM - SEGUNDA ENTREGA - VALORACION' | 'LEM' | 'NO COMPRA' | 'NO RENOVACIÓN';\n\t'featureApp'?: EmbeddedFeatureApp;\n\t'forms'?: LeadForm[];\n\t'headline'?: string;\n\t'intro'?: string;\n\t'isCitaPosventaStageOrDefault'?: 'Default' | 'Stage';\n\t'lead_type'?: 'test-drive' | 'presupuesto' | 'mas-informacion' | 'cita' | 'stock' | 'call-center';\n\t'marketingCodeConfig'?: { SalesgroupId: string; SalesgroupName: string };\n\t'match'?: Offer; // Hay que implementar el type Preconfiguration\n\t'matchOptions'?: MatchSelectedOptions;\n\t'mgm'?: 'Bono Cliente' | 'Bono Regalo' | 'Envío Regalo';\n\t'mgmImgSrc'?: string;\n\t'mode'?: 'Salesgroup' | 'Carline' | 'CarConfiguratorFS' | 'Mixed';\n\t'modo'?: 'Dark' | 'Light';\n\t'motivo'?: string;\n\t'navidadImgSrc'?: string;\n\t'observaciones'?: string;\n\t'oferta'?: Offer;\n\t'financeCalculation'?: CalculatorDefaultResponse['rawResponse'] | undefined;\n\t'race'?: 'true' | 'false';\n\t'salesgroups'?: number[];\n\t'stageCitaImgSrc'?: string;\n\t'thankYouPage'?: string;\n\t'triggerCase'?: 'Generico' | 'OneShop';\n\t'userInteraction'?: 'false' | 'true';\n\t'widget'?: WidgetOptions;\n\t'feedback'?: string;\n\t'idkit'?: string;\n\t'climapro'?: string;\n\t'provinces'?: string[];\n}\n\nexport type LeadForm = 'lead-presupuesto' | 'lead-mas_informacion' | 'lead-test_drive' | 'lead-cita' | 'lead-stock';\n\nexport function useFaContent(): OneFormContent | undefined {\n\treturn useFeatureServices()['fa-content-service'].content as OneFormContent;\n}\n","import { FeatureAppConfig, useFeatureAppEnvironment } from 'src/feature-app';\n\nexport function useFeatureAppConfig(): FeatureAppConfig {\n const { config } = useFeatureAppEnvironment();\n\n return config || {};\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nexport const useGetBoundingClientRect = (identifier: string) => {\n\n const [boundingObject, setBoundingObject] = useState(null);\n const [bottom, setBottom] = useState(null);\n const [top, setTop] = useState(null);\n const [left, setLeft] = useState(null);\n const [right, setRight] = useState(null);\n const [y, setY] = useState(null);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => {\n const element = document.querySelector(identifier);\n if (element) {\n const { top, right, bottom, left, width, height, x, y } = element.getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({ top, right, bottom, left, width, height, x, y });\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n setY(y);\n }\n };\n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n return { boundingObject, bottom, top, left, right, y, getAndUpdateState };\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\n\nexport function useGetDealer() {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (!window.location) {\n setLoading(false);\n }\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n if (!dealer) {\n setLoading(false);\n return;\n }\n getDealerKvps(dealer)\n .then((selectedDealer) => {\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n const { longitude, latitude } = selectedDealer.markerInfo.svcLocation;\n const point = {\n type: 'Feature',\n properties: { cluster: false, concesionId: selectedDealer.id, dealer: selectedDealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n const points = [point];\n dispatch({ type: 'SET_DEALERS', payload: [selectedDealer] });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }, []);\n return { dealerName, selectedDealer, loading };\n}\n","import { isNull } from 'src/feature-app';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport { DealersData } from 'src/types';\nimport { getDealers } from 'src/bff';\n\nexport function useGetDealers(kvps?: string) {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n const [dealers, setDealers] = useState(null);\n\n useEffect(() => {\n const handleDealer = async (kvps: string) => {\n const selectedDealer = await getDealerKvps(kvps);\n\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n };\n\n if (window && window.location) {\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n\n if (dealer) {\n handleDealer(dealer);\n }\n }\n if (kvps) {\n handleDealer(kvps);\n }\n\n const requestDealers = async () => {\n const dealers = await getDealers();\n\n const points = dealers\n .map((dealer: DealersData) => {\n if (isNull(dealer.markerInfo.svcLocation)) return {};\n const { longitude, latitude } = dealer.markerInfo.svcLocation;\n return {\n type: 'Feature',\n properties: { cluster: false, concesionId: dealer.id, dealer: dealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n })\n .filter((point) => Object.keys(point).length > 0);\n\n dispatch({ type: 'SET_DEALERS', payload: dealers });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n setDealers(dealers);\n setLoading(false);\n };\n\n requestDealers();\n }, []);\n return { dealers, dealerName, selectedDealer, loading };\n}\n","import { getDataServiceConfig } from 'src/feature-app';\n\nexport const useGetBrand = (): 'V' |'N' |undefined => {\n const data = getDataServiceConfig();\n const brand = data.customConfig?.brand;\n\n return brand;\n};\n","import { useGetBrand } from './use-get-brand';\n\nexport const useIsComerciales = () => {\n const brand = useGetBrand();\n\n return brand === 'N'; \n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\nimport { getInstallations, getInstallationsLegacy } from 'src/bff';\nimport { DealersData, DomainAttributesValues, Installation, InstallationResponse, Points } from 'src/types';\nimport { useIsComerciales } from './use-is-comerciales';\nimport { provinces } from '../NewMap';\n\nexport function useGetInstalaciones(token?: string, domain?: string): string {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const store = useStore();\n const faContent = useFaContent();\n\n useEffect(() => {\n const requestInstallations = async () => {\n\t\t\n\t\tlet installationsResponse = await getInstallations(token, domain);\n\n\t\tif(faContent.provinces && faContent.provinces.length > 0) {\n\t\t\t// Obtenemos el prefijo de los códigos postales de provinces.ts seleccionadas en faContent.provinces. Añadimos un 0 si el código es menor que 10.\n\t\t\tconst allowedPrefixes = provinces\n\t\t\t\t.filter(item => faContent.provinces.includes(item.attributes.find(attr => attr.name === 'NAME').value))\n\t\t\t\t.map(item => {\n\t\t\t\t\tconst code = item.attributes.find(attr => attr.name === 'CODE').value;\n\t\t\t\t\treturn parseInt(code, 10) < 10 ? `0${code}` : `${code}`;\n\t\t\t\t});\n\n\t\t\t// Filtramos las instalaciones por el prefijo. Si el código postal de la instalación empieza por alguno de los prefijos permitidos, se incluye.\n\t\t\tinstallationsResponse = installationsResponse.filter(entry => {\n\t\t\t\tconst shippingPostalCode = entry.attributes.find(attr => attr.name === 'ShippingPostalCode')?.value;\n\t\t\t\treturn shippingPostalCode && allowedPrefixes.some(prefix => shippingPostalCode.startsWith(prefix));\n\t\t\t});\n\t\t}\n\n // La respuesta viene como una array de arrays de attributes. Eliminamos este nivel para simplificar.\n const installationsDomainAtt: DomainAttributesValues[][] = installationsResponse.map((inst) => inst.attributes);\n const isComerciales = useIsComerciales();\n const selectedCarlineCode = store.getState().dealersInfo?.selectedCarline?.code;\n const excludedInstallationCodes = ['03812', '03394', 'EX1Q2', '0311X', '0321C', 'EX2C3', 'EX2H4', '30559', '53V50', '0310W', '30724', '03917', '30083', 'EX2Y1', 'EX1P0', '03910']\n const isIdBuzz = () => selectedCarlineCode === 72005 || selectedCarlineCode === 72006;\n\n const getProvince = (provinceCode: string): string | null => {\n const province = provinces.find(p => p.attributes.some(attr => attr.value === provinceCode));\n return province ? province.attributes.find(attr => attr.name === 'NAME')?.value?.toUpperCase() ?? null : null;\n };\n\n let points: Points[] = [];\n let installations: Installation[] = [];\n\n installationsDomainAtt.forEach((installation) => {\n const newInstallation: Installation = {\n Id: '',\n VGED_CommercialName__c: '',\n ShippingStreet: '',\n ShippingPostalCode: '',\n ShippingCity: '',\n ShippingLatitude: '',\n ShippingLongitude: '',\n VGED_DealerCode__c: '',\n ShippingStateCode: '',\n KVPSCode__c: '',\n Province: '',\n };\n\n installation.forEach((property) => {\n const { name, value } = property;\n if (name === 'ShippingStateCode') {\n newInstallation[name] = value;\n const provinceName = getProvince(value);\n newInstallation['Province'] = provinceName ?? '';\n }\n else {\n (newInstallation.hasOwnProperty(name))\n newInstallation[name] = value;\n }\n });\n\n if (\n !newInstallation.ShippingLatitude ||\n !newInstallation.ShippingLongitude ||\n newInstallation.ShippingLatitude === '' ||\n newInstallation.ShippingLongitude === ''\n ) {\n return;\n }\n\n // Necesario para el correcto funcionamiento del mapa.\n const dealer: Partial = {\n kvps: newInstallation.KVPSCode__c,\n name: newInstallation.VGED_CommercialName__c,\n markerInfo: {\n dealerInfo: {\n name: newInstallation.VGED_CommercialName__c,\n address: newInstallation.ShippingStreet,\n zipCode: newInstallation.ShippingPostalCode,\n city: newInstallation.ShippingCity,\n province: newInstallation.Province,\n },\n },\n };\n\n const point = {\n type: 'Feature',\n properties: { cluster: false, installation: newInstallation, dealer }, //concesionId: dealer.id, dealer: dealer\n geometry: {\n type: 'Point',\n coordinates: [newInstallation.ShippingLongitude, newInstallation.ShippingLatitude],\n },\n };\n\n const isExcludedInstallation = (): boolean => {\n return excludedInstallationCodes.includes(newInstallation.VGED_DealerCode__c)\n }\n if (isComerciales && !isIdBuzz() && isExcludedInstallation()) {\n return\n }\n else {\n points.push(point);\n installations.push(newInstallation);\n }\n });\n dispatch({ type: 'SET_INSTALLATIONS', payload: installations });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'installations' });\n };\n\n requestInstallations();\n }, []);\n return dealerName;\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getMarketingCode } from 'src/bff';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar ambos formularios de match. El objetivo es enviar las variables de match y matchMarketingCodeData para\n * que desde la parte de analítica se puedan obtener todas las variables que se están utilizando tambien para la analítica de match.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateMatchTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n getMarketingCode(faContent?.match?.marketingCode)\n .then((res) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({\n type: 'UPDATE_FIELDS',\n payload: { matchMarketingCodeData: res.response, argumentatives: faContent?.argumentatives },\n });\n\n setSelectedJourney(Form, true);\n })\n .catch((err) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({ type: 'UPDATE_FIELDS', payload: { argumentatives: faContent?.argumentatives } });\n setSelectedJourney(Form, true);\n });\n }, []);\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar formularios desde bonos. El objetivo es enviar como observaciones la descripción del bono.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateBonosTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: 'UPDATE_FIELDS', // Pendiente propagar el valor del campo observaciones desde faContent\n payload: { },\n });\n\n setSelectedJourney(Form, true);\n }, []);\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport const useIsDevStage = () => {\n const stageCustomConfig = useFeatureServices()['service-config-provider'].configs?.stage?.customConfig;\n\n return stageCustomConfig?.stage === 'dev';\n};\n","import { useState, useEffect } from 'react';\n\nexport function useLoaded() {\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n setLoaded(true);\n }, []);\n\n return loaded;\n}\n","import { Spinner } from '@volkswagen-onehub/components-core';\nimport { Checkmark, Locate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport {\n GooglePlace,\n isNull,\n Suggestion,\n useOneFormContext,\n updateMapVariables,\n useFeatureServices,\n useFeatureAppEnvironment,\n} from 'src/feature-app';\nimport { handleLocation } from 'src/feature-app/NewMap/handle-location';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { OneFormState } from 'src';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { Store } from 'redux';\n\n// está hecho a saco para extraer la lógica del componente LocateUser y no tenerla por duplicado\n// por temas de front y comportamiento de la caja del suggest no se puede usar LocateUser en filtros\n\nexport function useLocateUser() {\n const [value, setValue] = useState('');\n const [suggestion, setSuggestion] = useState(null);\n const [loading, setLoading] = useState(false);\n const [icon, setIcon] = useState();\n const [isLocating, setIsLocating] = useState(false);\n const [locationDisabled, setLocationDisabled] = useState(false);\n // locationSuccess lo suyo seria subirlo a un context para que no se resetee entre LocateUser y filtros\n const [locationSuccess, setLocationSuccess] = useState(false);\n const { triggerValidation } = useFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const { setIsValueSelected, handleNextStep } = useOneFormContext();\n const store: Store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n setSuggestion(suggestion);\n updateMapVariables(dispatch, suggestion).then(() => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n // Avanza a la siguiente pantalla\n handleNextStep();\n });\n };\n\n const handleLocate = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n setSuggestion(suggestion);\n setLocationSuccess(true);\n triggerValidation();\n setValue(name);\n setIsValueSelected(true);\n updateMapVariables(dispatch, suggestion, geometry);\n }\n };\n\n const handleLocateFilters = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n triggerValidation();\n setValue(name);\n setLocationSuccess(true);\n return { suggestion, geometry };\n // setSuggestion(suggestion);\n }\n };\n\n useEffect(() => {\n locationSuccess ? setIcon() : setIcon();\n }, [locationSuccess]);\n\n return {\n suggestion,\n setSuggestion,\n value,\n setValue,\n icon,\n handleLocate,\n loading,\n locationDisabled,\n locationSuccess,\n setLocationSuccess,\n isLocating,\n handleLocateFilters,\n onSuggestionSelectedFn,\n };\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport function useNavigate() {\n\tconst navigationService = useFeatureServices()['navigation-service'];\n\n\tconst navigateTo = (pageId: string) => {\n\t\tconst target = navigationService.navigateTo(pageId, {});\n\t\tif (target) {\n\t\t\ttarget.push();\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\treturn {\n\t\tnavigateTo,\n\t};\n}\n","import { useState, useEffect } from 'react';\n\nexport function useOnScreen(ref) {\n const [isIntersecting, setIntersecting] = useState(false);\n\n const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));\n\n useEffect(() => {\n observer.observe(ref.current);\n // Remove the observer as soon as the component is unmounted\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return isIntersecting;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isNull } from 'src/feature-app';\nimport { OneFormState, Steps } from 'src/types';\nimport { useWindowWidth} from '@react-hook/window-size';\n\nexport const useShowOverflow = (isLayerScreen: boolean, selectedStep?: Steps ) => {\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const windowWidth = useWindowWidth();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { \n multiStepScreenIndex, \n screenIndex, \n steps,\n multiSteps, notALayer\n } = formInfo;\n\n const [ showOverflow, setShowOverflow ] = useState(false);\n\n\n const handleShowOverflow = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setShowOverflow(false);\n }\n\n const actualStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n\n if(actualStep && actualStep.showOverflow) {\n setShowOverflow(true);\n } else {\n setShowOverflow(false);\n }\n };\n\n \n useEffect(()=>{\n \n if(windowWidth < 960 && !notALayer || windowWidth < 960 && !isLayerScreen ) {\n setShowOverflow(false);\n } else {\n\n if(selectedStep && selectedStep.showOverflow) {\n setShowOverflow(true);\n }\n \n if(!steps) {\n setShowOverflow(false);\n } else {\n //console.log(1, screenIndex, steps, multiStepScreenIndex);\n if (multiStepScreenIndex === null) {\n //console.log('22222', multiSteps, screenIndex, multiStepScreenIndex);\n handleShowOverflow(steps, screenIndex);\n } else {\n //console.log('333333', multiSteps, multiStepScreenIndex);\n handleShowOverflow(multiSteps, multiStepScreenIndex);\n } \n }\n }\n \n }, [steps, multiSteps, selectedStep]);\n\n return { showOverflow };\n};\n","import { useEffect, useState } from 'react';\n\n//El texto que se quiera introducir des de la feature app incorporando la posibilidad de editarlo \n// en el fragmento de JSX donde se renderize debe figurar de la siguiente manera:\n//
\n\nexport const useTransformToHtml = (text: string) => {\n return {__html: text};\n};\n","import { store, TrackingForm } from 'src/feature-app';\n\nexport interface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nexport const getTrackingForm = (formResponse): TrackingForm => {\n\t// Generación de LeadID solo para forms de leads\n\tconst { formType } = store.getState().formData.fields;\n\tconst leadFormTypes = ['contact', 'testdrive', 'quote', 'servicerequest'];\n\tlet LeadID;\n\tif (leadFormTypes.includes(formType)) {\n\t\tif (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n\t\t\t//LeadID Molecular\n\t\t\tconst leadField: NDPSField = formResponse.content.data.fields.find((field: NDPSField) => field.name === 'COD_LEAD_ID');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t} else if (formResponse && formResponse.content && formResponse.content.headers) {\n\t\t\t//LeadID OneFormBFF\n\t\t\tconst leadField: NDPSField = formResponse.content.headers.find((header: NDPSField) => header.name === 'FK_SYSTEM');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t}\n\t}\n\n\treturn {\n\t\tLeadID,\n\t\tFormFields: undefined,\n\t};\n};\n","import { IdPerson } from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdPerson = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idPerson: IdPerson = createPincodeEntity(dpsData, 'PERSON');\n\n return idPerson;\n}","import { IdVehicle} from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdVehicle = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idVehicle: IdVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n return idVehicle;\n}","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport React from 'react';\nimport { FeatureAppConfig, Dependencies } from 'src/feature-app';\n\nexport type OneFormFeatureAppEnvironment = FeatureAppEnvironment;\n\nexport const FeatureAppEnvironmentContext = React.createContext(undefined);\n\nexport function useFeatureAppEnvironment(): OneFormFeatureAppEnvironment {\n const featureAppEnvironment = React.useContext(FeatureAppEnvironmentContext);\n\n if (!featureAppEnvironment) {\n throw new Error('No featureAppEnvironment context value was provided.');\n }\n\n return featureAppEnvironment;\n}\n","import { useFeatureAppEnvironment, Dependencies } from 'src/feature-app';\n\nexport function useFeatureServices(): Dependencies {\n const { featureServices } = useFeatureAppEnvironment();\n\n return featureServices;\n}\n","\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { useFeatureServices } from './use-feature-services';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\n\nexport const getAuthService = (serviceConfig: ServiceConfigProviderV1, authServiceProvider:AuthServiceProviderV2 ) => {\n const endpoint = serviceConfig.configs['customer-profile']?.urlOrigin; \n const authService: IAuthServiceV2 = authServiceProvider?.register('market');\n\n \n return authService;\n};\n\nexport const useGetAuthService = () => {\n const serviceConfig = useFeatureServices()['service-config-provider'];\n const authService = useFeatureServices()['vw:authService'] as AuthServiceProviderV2;\n\n return getAuthService(serviceConfig, authService);\n};\n","import { useFeatureServices } from './use-feature-services';\n\nexport const useGetWaidLitera = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const waid = oneFormService.getDpsData().waid;\n\n return waid;\n};\n","import React from 'react';\nimport { useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport { useFeatureAppConfig, useGetBrand } from 'src/feature-app';\nimport {\n createPartner,\n createPartnerWithSearch,\n createTrackingLink,\n createTrackingProcess,\n getBaseEventInfo,\n getCarlineConfiguration,\n getCompleteConfigurationFromVicci,\n getFormAppointments,\n getMarketingConsent,\n} from 'src/feature-app/tracking-helpers';\nimport {\n emptyCarlineConfig,\n emptyConfig,\n emptyLatLongZip,\n emptyOwnership,\n emptyPersonalization,\n} from 'src/feature-app/tracking-objects';\nimport {\n ErrorFormFields,\n OffersTrackingEvent,\n OneFormTrackingManager,\n TrackingError,\n TrackingEvent,\n TrackingEventInfo,\n TrackingFilter,\n TrackingForm,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, OneFormState } from 'src/types';\nimport { useFeatureServices } from './use-feature-services';\n\nconst defaultTrackingEvent: OffersTrackingEvent = {\n personalization: emptyPersonalization,\n};\n\nexport function useTrackingManager(): OneFormTrackingManager {\n const { tracking: trackingManager } = useFeatureServices();\n const store: Store = useStore();\n const config = useFeatureAppConfig();\n const brand = useGetBrand();\n\n return React.useMemo((): OneFormTrackingManager => {\n function track(action: string, event: OffersTrackingEvent): void {\n const { trackingIsDisabled } = store.getState().formInfo;\n if (trackingManager && !trackingIsDisabled) {\n trackingManager.track(action, event as TrackingEvent);\n }\n }\n\n return {\n trackFormButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: 'price',\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepButtonClick(eventInfo: TrackingEventInfo) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigStep = { ...emptyConfig };\n delete emptyConfigStep.PriceTotalTotal;\n\n track('VWBasic_FormStepButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfigStep,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm, processInfo?: TrackingProcess) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const baseEventInfoForLoad = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoForLoad.sectionName;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTotalTotal;\n\n track('VWBasic_FormStep_Load', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n },\n eventInfo: { ...baseEventInfoForLoad, ...eventInfo, contentLabels: undefined },\n configuration: {\n ...emptyConfigLoad,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n user: { ...emptyLatLongZip },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store, processInfo),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const processInfo = createTrackingProcess(store);\n track('VWBasic_Button_Click', {\n ...defaultTrackingEvent,\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n process: processInfo,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n questionnaire: { QuestionAnswerSet: undefined },\n SC: {\n ResultsRecommendationPosition: undefined,\n ResultsRecommendationFirst: undefined,\n ResultsRecommendationSecond: undefined,\n },\n });\n },\n trackFormCTAClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormCTA_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: undefined,\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormSubmissionSuccessMessageLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n const processInfo = createTrackingProcess(store);\n\n track('VWBasic_FormSubmissionSuccessMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n ErrorFormFields: undefined,\n Questionnaire: undefined,\n SourceID: undefined,\n OpportunityUID: undefined,\n CycleID: undefined,\n FormStart: false,\n LeadID: undefined,\n ...getFormAppointments(store),\n ...getMarketingConsent(store),\n ...formInfo,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n user: { ...emptyLatLongZip },\n configuration: {\n ...emptyConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: { ...processInfo, Name: pageCategory },\n partner: createPartnerWithSearch(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLayerLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTypeParameter;\n delete emptyConfigLoad.PriceType;\n\n track('VWBasic_FormLayer_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n CycleID: undefined,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Pageload', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n trackFormLoadRace() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Load', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n\n trackFormErrorMessageLoad(errorInfo?: TrackingError, errorFields?: ErrorFormFields[]) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormErrorMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ErrorFormFields: { FieldNameandID: [...errorFields] },\n ErrorAdressValidationFields: undefined,\n },\n eventInfo: { ...getBaseEventInfo(store, brand) },\n error: { message: errorInfo.message, code: undefined, referringUrl: undefined },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFieldClick(eventInfo: TrackingEventInfo, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormField_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFilterSelect(eventInfo: TrackingEventInfo, filter: TrackingFilter, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormFilterSelect_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n filter,\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormCloseClick(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const baseEventInfoCloseClick = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoCloseClick.templateType;\n\n const partner: TrackingPartner = createPartnerWithSearch(store);\n delete partner.informationDepartment;\n\n const processInfo = createTrackingProcess(store);\n // delete processInfo.StepNumber;\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n\n track('VWBasic_FormClose_Click', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n SourceID: undefined,\n ErrorFormFields: undefined,\n OpportunityUID: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n CycleID: undefined,\n FormFields: undefined,\n ...getFormAppointments(store),\n },\n eventInfo: { ...baseEventInfoCloseClick, ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: {...processInfo, Name: pageCategory},\n partner,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n };\n }, [trackingManager]);\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst BlueBackground = styled.div`\n background: radial-gradient(circle at center bottom, #00437A 0%, #001E50 100%);\n color: #ffffff;\n height: 100%;\n`;\n\nexport const CitaPreviaTile = (props: { setSelectedJourney: React.Dispatch> }) => {\n const { setSelectedJourney } = props;\n return (\n \n \n \n \n \n \n \n ¿Necesitas pasar por el taller?\n \n \n Elige el día, la hora y el Servicio Oficial que prefieras para que cuiden de tu Volkswagen.\n \n {\n setSelectedJourney();\n }}\n >\n Pide tu cita\n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { CitaPreviaTile } from './';\n\nconst Grid = styled.div`\n --grid-gap-value: 32px;\n -gap: var(--grid-gap-value);\n display: grid;\n grid-auto-rows: calc((100vw / (9 / 5)) + var(--grid-gap-value) / 2);\n grid-template-columns: 1fr;\n grid-auto-flow: row dense;\n\n @media screen and (min-width: 560px) {\n --grid-gap-value: 56px;\n grid-auto-rows: calc(48.6111vw);\n }\n @media screen and (min-width: 960px) {\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (2 - 1) * var(--grid-gap-value)) / 2 / (9 / 5));\n }\n @media screen and (min-width: 1280px) {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (3 - 1) * var(--grid-gap-value)) / 3 / (9 / 5));\n }\n @media screen and (min-width: 1920px) {\n --grid-gap-value: 72px;\n grid-template-columns: repeat(4, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (4 - 1) * var(--grid-gap-value)) / 4 / (9 / 5));\n }\n`;\n\nexport const CitaPreviaTileGrid = (props: {\n setSelectedJourney: React.Dispatch>;\n}) => {\n return (\n \n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '.';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\ninterface formControllerWrapperProps {\n screenType: 'layer-screen' | 'full-screen';\n showOverflow?: boolean;\n}\nconst FormControllerWrapper = styled.div`\n overflow: ${(props)=> props.showOverflow ? 'visible' : 'hidden'};\n width: 100%;\n \n\n @media all and (min-width: 960px) {\n height: 100%;\n }\n`;\ninterface Aprops {\n steps?: Steps[];\n screenType: 'layer-screen' | 'full-screen';\n screenIndex?: number;\n showPreviousStep?: boolean;\n}\n\n\n\nexport function FormController(props: Aprops) {\n const { screenType } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { step, steps, screenIndex } = formInfo;\n const [selectedStep, setSelectedStep] = useState(null);\n const store = useStore();\n const { showPreviousStep } = useOneFormContext();\n \n\n useEffect(() => {\n if (steps && step) {\n const { steps, step }: { steps: Steps[]; step: Steps } = store.getState().formInfo;\n const newStep = steps.find((newstep) => newstep.screenIndex === step.screenIndex);\n if (newStep && (!selectedStep || newStep.screenIndex !== selectedStep.screenIndex)) {\n setSelectedStep(newStep);\n }\n }\n }, [steps, step]);\n\n //Si se necesita que el overflow sea visible. \n\n const { showOverflow } = useShowOverflow(formInfo.notALayer, selectedStep);\n\n return selectedStep ? (\n \n {selectedStep.multiStep && selectedStep.component ? (\n selectedStep.component\n ) : (\n \n )}\n \n ) : null;\n}\n","import dayjs from 'dayjs';\nimport 'dayjs/locale/es';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\ndayjs.extend(utc);\ndayjs.extend(timezone);\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport 'dayjs/locale/es';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isBetween);\n/**\n * viernes, 13-12:00\n * @param ms\n */\nexport const weekDay_Day_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n }\n};\n\n/**\n * 12:00\n * @param ms\n */\nexport const hourAndMinute = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('HH:mm');\n }\n};\n\n/**\n * lunes 16,noviembre-10:00\n * @param ms\n */\nexport const weekDay_DayNumber_Month_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n }\n};\n\n/**\n * martes 10,noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD,MMMM');\n } else {\n return dayjs().locale('es').utc().format('dddd DD,MMMM');\n }\n};\n/**\n * martes 10 de Noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_De_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n } else {\n return dayjs().locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n }\n};\n/**\n * martes 10,noviembre\n\n * @param ms\n */\nexport const year_MonthNumber_DayNumber = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n } else {\n return dayjs().locale('es').utc().format('YYYY-MM-DD');\n }\n};\n\n/**\n * 2020-2-2 -> 2020-02-02\n * @param ms\n */\nexport const getYYYYMMDD = (d: string) => dayjs(d, 'YYYY-M-D').format('YYYY-MM-DD');\nexport const getYYYYMMDDx = (ms: number) => dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n\nexport const getActualDay = () => dayjs().locale('es').format('D');\nexport const getActualMonth = () => dayjs().locale('es').format('MMMM');\nexport const getNextActualMonth = () => dayjs().locale('es').add(1, 'month').format('MMMM');\nexport const getPreviousActualMonth = () => dayjs().locale('es').subtract(1, 'month').format('MMMM');\nexport const getActualMonthNumber = () => dayjs().locale('es').format('M');\nexport const getActualYearNumber = () => dayjs().locale('es').format('YYYY');\nexport const getToday = () => dayjs(new Date());\n","import React from 'react';\nimport { FeatureAppConfig } from 'src/feature-app';\nimport {\n\tBajaComunicacionesTrigger,\n\tCallMeEmbeddedTrigger,\n\tCitaPosventaDealerTrigger,\n\tCitaPosventaEmbeddedTrigger,\n\tCitaPosventaTrigger,\n\tDiaDeLaMadreTrigger,\n\tEmpresasTrigger,\n\tEncuestasTrigger,\n\tEurocopaTrigger,\n\tFidelizacionTrigger,\n\tLeadDealerTrigger,\n\tLeadEmbededTrigger,\n\tLeadInPageTrigger,\n\tLeadTrigger,\n\tMGMTrigger,\n\tNavidadTrigger,\n\tNewsletterTrigger,\n\tProspectEmbeddedTrigger,\n\tProspectPosventaEmbedded,\n\tProspectsTrigger,\n\tRaceTrigger,\n\tSACTrigger,\n\tUGCTrigger,\n\tWidgetTrigger,\n\tSuvperheroesTrigger,\n\tAutosubmitTrigger,\n\tConcursoRodajeTrigger,\n\tPlanIdealTrigger,\n\tFeedbackTrigger,\n\tTestIDTrigger,\n\tNavidadGTI2024Trigger,\n\tTheOriginals2025Trigger,\n} from 'src/triggers';\n\nexport interface TriggerProps {\n\tsetCTALabel?: React.Dispatch>;\n\tsetSelectedFocusJourney?: React.Dispatch>;\n\tselectedFocusJourney?: JSX.Element;\n\tsetSelectedJourney?: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void;\n}\n\nexport const getTrigger = (\n\tconfig: FeatureAppConfig,\n\tsetSelectedJourney: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void,\n\tsetCTALabel: React.Dispatch>,\n\tselectedJourney: JSX.Element,\n\tsetSelectedFocusJourney: React.Dispatch>,\n\tselectedFocusJourney: JSX.Element,\n\ttriggerLoaded: React.MutableRefObject,\n): JSX.Element => {\n\tif (!config.trigger) {\n\t\tthrow new Error('No trigger in Feature App Config.');\n\t}\n\t\n\tswitch (config.trigger) {\n\t\tcase 'cita-posventa':\n\t\tcase 'cita-posventa-tile-grid':\n\t\tcase 'cita-posventa-tile':\n\t\t\ttriggerLoaded.current = config.trigger;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'cita-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'cita-posventa-embedded';\n\t\t\treturn ;\n\t\tcase 'prospect-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-posventa-embed';\n\t\t\treturn ;\n\t\tcase 'cita-posventa-dealer':\n\t\t\ttriggerLoaded.current = 'cita-posventa-dealer';\n\t\t\treturn ;\n\t\tcase 'lead':\n\t\t\ttriggerLoaded.current = 'lead';\n\t\t\treturn ;\n\t\tcase 'lead-embedded':\n\t\t\ttriggerLoaded.current = 'lead-embedded';\n\t\t\treturn ;\n\t\tcase 'callme-embedded':\n\t\t\ttriggerLoaded.current = 'callme-embedded';\n\t\t\treturn ;\n\t\tcase 'lead-dealer':\n\t\t\ttriggerLoaded.current = 'lead-dealer';\n\t\t\treturn ;\n\t\tcase 'race':\n\t\t\ttriggerLoaded.current = 'race';\n\t\t\treturn ;\n\t\tcase 'newsletter':\n\t\t\ttriggerLoaded.current = 'newsletter';\n\t\t\treturn ;\n\t\tcase 'empresas':\n\t\t\ttriggerLoaded.current = 'empresas';\n\t\t\treturn ;\n\t\tcase 'mgm':\n\t\t\ttriggerLoaded.current = 'mgm';\n\t\t\treturn ;\n\t\tcase 'sac':\n\t\t\ttriggerLoaded.current = 'sac';\n\t\t\treturn ;\n\t\tcase 'ugc':\n\t\t\ttriggerLoaded.current = 'ugc';\n\t\t\treturn ;\n\t\tcase 'adhoc-2025-the_originals':\n\t\t\ttriggerLoaded.current = 'adhoc-2025-the_originals';\n\t\t\treturn ;\n\t\tcase 'adhoc-2024-navidad_gti':\n\t\t\ttriggerLoaded.current = 'adhoc-2024-navidad_gti';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-diamadre':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-diamadre';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-eurocopa':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-eurocopa';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-navidad':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-navidad';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-fidelizacion_clientes':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-fidelizacion';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-test_id':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-test_id';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-concurso_rodaje':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-concurso_rodaje';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-plan_ideal':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-plan_ideal';\n\t\t\treturn ;\n\t\tcase 'adhoc-suvperheroes':\n\t\t\ttriggerLoaded.current = 'adhoc-suvperheroes';\n\t\t\treturn ;\n\t\tcase 'prospect':\n\t\t\ttriggerLoaded.current = 'prospect';\n\t\t\treturn ;\n\t\tcase 'prospect-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-embedded';\n\t\t\treturn ;\n\t\tcase 'widget':\n\t\t\ttriggerLoaded.current = 'widget';\n\t\t\treturn ;\n\t\tcase 'baja-comunicaciones':\n\t\t\ttriggerLoaded.current = 'baja-comunicaciones';\n\t\t\treturn ;\n\t\tcase 'encuestas':\n\t\t\ttriggerLoaded.current = 'encuestas';\n\t\t\treturn ;\n\t\tcase 'lead-inpage':\n\t\t\ttriggerLoaded.current = 'lead-inpage';\n\t\t\treturn ;\n\t\tcase 'autosubmit':\n\t\t\ttriggerLoaded.current = 'autosubmit';\n\t\t\treturn ;\n\t\tcase 'feedback':\n\t\t\ttriggerLoaded.current = 'feedback';\n\t\t\treturn ;\n\t\t/*\n case 'adhoc-lanzamiento-taigo':\n triggerLoaded.current = 'adhoc-lanzamiento-taigo';\n return (\n <>\n \n \n \n );\n */\n\t\tdefault:\n\t\t\tthrow new Error(\"The config trigger defined in CMS doesn't match with any trigger in One Form\");\n\t}\n};\n","// Funciones que se usan de lodash, se han exportado aquí para evitar que reducir el tamaño del bundle final de la aplicación.\n\nconst toString = Object.prototype.toString;\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return toString.call(value);\n}\n\nfunction isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport function isNumber(value) {\n return typeof value === 'number' || (isObjectLike(value) && getTag(value) == '[object Number]');\n}\n\nexport const isNull = (value: any) => value === null;\n\n/** Detect free variable `global` from Node.js. */\nconst freeGlobal = typeof global === 'object' && global !== null && global.Object === Object && global;\n\nconst freeGlobalThis =\n typeof globalThis === 'object' && globalThis !== null && globalThis.Object == Object && globalThis;\n\n/** Detect free variable `self`. */\nconst freeSelf = typeof self === 'object' && self !== null && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nconst root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')();\n\nfunction isObject(value) {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nexport function debounce(func, wait, options) {\n let lastArgs, lastThis, maxWait, result, timerId, lastCallTime;\n\n let lastInvokeTime = 0;\n let leading = false;\n let maxing = false;\n let trailing = true;\n\n // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.\n const useRAF = !wait && wait !== 0 && typeof root.requestAnimationFrame === 'function';\n\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n const args = lastArgs;\n const thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function startTimer(pendingFunc, wait) {\n if (useRAF) {\n root.cancelAnimationFrame(timerId);\n return root.requestAnimationFrame(pendingFunc);\n }\n return setTimeout(pendingFunc, wait);\n }\n\n function cancelTimer(id) {\n if (useRAF) {\n return root.cancelAnimationFrame(id);\n }\n clearTimeout(id);\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = startTimer(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n const timeWaiting = wait - timeSinceLastCall;\n\n return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (\n lastCallTime === undefined ||\n timeSinceLastCall >= wait ||\n timeSinceLastCall < 0 ||\n (maxing && timeSinceLastInvoke >= maxWait)\n );\n }\n\n function timerExpired() {\n const time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = startTimer(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n cancelTimer(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Date.now());\n }\n\n function pending() {\n return timerId !== undefined;\n }\n\n function debounced(...args) {\n const time = Date.now();\n const isInvoking = shouldInvoke(time);\n\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = startTimer(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n debounced.pending = pending;\n return debounced;\n}\n","export const setObjectValues = (obj: object, callback: (name: string, value: any) => void) => {\n const values = Object.entries(obj);\n\n values.forEach(([key, value]) => {\n callback(key, value);\n });\n};\n","export const isLowRating = (rating: string) => Number(rating) == 1 || Number(rating) == 2 || Number(rating) == 3;\nexport const isHighRating = (rating: string) => Number(rating) == 4 || Number(rating) == 5;\nexport const isNoRating = (rating: string) => isNaN(Number(rating)) || Number(rating) < 1 || Number(rating) > 5; // is text or lower than 1 or higher than 5\n\nexport const allHighRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isHighRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allLowRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isNoRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allHighOrNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n","import {\n CarlineBase,\n DealersData,\n DealersOrInstallationsMode,\n Installation,\n Offer,\n Points,\n RankedPreconfiguration,\n SalesGroupInfo,\n} from 'src/types';\n\nexport const SET_DEALERS = 'SET_DEALERS';\nexport const SET_POINTS = 'SET_POINTS';\nexport const SET_SELECTED_DEALER = 'SET_SELECTED_DEALER';\nexport const SET_FAVOURITE_DEALER = 'SET_FAVOURITE_DEALER';\nexport const SET_SELECTED_INSTALLATION = 'SET_SELECTED_INSTALLATION';\nexport const SET_INSTALLATIONS = 'SET_INSTALLATIONS';\nexport const DEALERS_OR_INSTALLATIONS_MODE = 'DEALERS_OR_INSTALLATIONS_MODE';\nexport const SET_CARLINES = 'SET_CARLINES';\nexport const SET_SELECTED_CARLINE = 'SET_SELECTED_CARLINE';\nexport const SET_OFERTA = 'SET_OFERTA';\nexport const SET_SALESGROUP = 'SET_SALESGROUP';\nexport const SET_URL_DEALER = 'SET_URL_DEALER';\nexport const SET_MATCH = 'SET_MATCH';\nexport const SET_CITA_CARLINES = 'SET_CITA_CARLINES';\n\ninterface SetDealersAction {\n type: typeof SET_DEALERS;\n payload: DealersData[];\n}\ninterface SetPointsAction {\n type: typeof SET_POINTS;\n payload: Points[];\n}\n\ninterface SetSelectedDealerAction {\n type: typeof SET_SELECTED_DEALER;\n payload: DealersData;\n}\ninterface SetUrlDealerAction {\n type: typeof SET_URL_DEALER;\n payload: DealersData;\n}\ninterface SetFavouriteDealerAction {\n type: typeof SET_FAVOURITE_DEALER;\n payload: DealersData;\n}\ninterface SetSelectedInstallationAction {\n type: typeof SET_SELECTED_INSTALLATION;\n payload: Installation;\n}\ninterface SetInstallationsAction {\n type: typeof SET_INSTALLATIONS;\n payload: Installation[];\n}\ninterface SetDealersOrInstallationModeAction {\n type: typeof DEALERS_OR_INSTALLATIONS_MODE;\n payload: DealersOrInstallationsMode;\n}\ninterface SetCarlinesAction {\n type: typeof SET_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetCitaCarlinesAction {\n type: typeof SET_CITA_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetSelectedCarlineAction {\n type: typeof SET_SELECTED_CARLINE;\n payload: CarlineBase;\n}\ninterface SetMatchAction {\n type: typeof SET_MATCH;\n payload: RankedPreconfiguration;\n}\n\ninterface SetOfertaAction {\n type: typeof SET_OFERTA;\n payload: Offer;\n}\n\ninterface SetSalesGroupAction {\n type: typeof SET_SALESGROUP;\n payload: SalesGroupInfo;\n}\n\nexport type DealersActionTypes =\n | SetFavouriteDealerAction\n | SetUrlDealerAction\n | SetCarlinesAction\n | SetDealersAction\n | SetDealersOrInstallationModeAction\n | SetInstallationsAction\n | SetMatchAction\n | SetOfertaAction\n | SetPointsAction\n | SetSalesGroupAction\n | SetSelectedCarlineAction\n | SetCitaCarlinesAction\n | SetSelectedDealerAction\n | SetSelectedInstallationAction;\n","import { DealersInfo } from 'src/types';\nimport { dealersInfo } from './';\nimport {\n DealersActionTypes,\n DEALERS_OR_INSTALLATIONS_MODE,\n SET_CARLINES,\n SET_CITA_CARLINES,\n SET_DEALERS,\n SET_INSTALLATIONS,\n SET_OFERTA,\n SET_FAVOURITE_DEALER,\n SET_POINTS,\n SET_SALESGROUP,\n SET_SELECTED_CARLINE,\n SET_SELECTED_DEALER,\n SET_SELECTED_INSTALLATION,\n SET_URL_DEALER,\n SET_MATCH,\n} from './dealers-types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\n\nexport function dealersReducer(state: DealersInfo = null, action: OneFormActionTypes | DealersActionTypes): any {\n switch (action.type) {\n // case RESET_STATE:\n // return { ...dealersInfo };\n case SET_DEALERS:\n return {\n ...state,\n dealers: [...action.payload],\n };\n case SET_INSTALLATIONS:\n return {\n ...state,\n installations: [...action.payload],\n };\n case SET_POINTS:\n return {\n ...state,\n points: [...action.payload],\n };\n case SET_CARLINES:\n return {\n ...state,\n carlines: [...action.payload],\n };\n case SET_CITA_CARLINES:\n return {\n ...state,\n citaCarlines: [...action.payload],\n };\n case SET_SELECTED_CARLINE:\n return {\n ...state,\n selectedCarline: action.payload,\n };\n case SET_SELECTED_DEALER:\n return {\n ...state,\n selectedDealer: action.payload,\n };\n case SET_URL_DEALER:\n return {\n ...state,\n urlDealer: action.payload,\n };\n case SET_FAVOURITE_DEALER:\n return {\n ...state,\n favouriteDealer: action.payload,\n };\n case DEALERS_OR_INSTALLATIONS_MODE:\n return {\n ...state,\n dealersOrInstallationsMode: action.payload,\n };\n case SET_SELECTED_INSTALLATION:\n return {\n ...state,\n selectedInstallation: action.payload,\n };\n case SET_OFERTA:\n return {\n ...state,\n oferta: action.payload,\n };\n case SET_MATCH:\n return {\n ...state,\n match: action.payload,\n };\n case SET_SALESGROUP:\n return {\n ...state,\n salesGroup: action.payload,\n };\n default:\n return state;\n }\n}\n","export const RESET_STATE = 'RESET_STATE';\n\ninterface ResetStateAction {\n type: typeof RESET_STATE;\n}\n\nexport type OneFormActionTypes = ResetStateAction;\n","export const UPDATE_VEHICLES = 'UPDATE_VEHICLES';\n\ninterface UpdateVehicles {\n type: typeof UPDATE_VEHICLES;\n payload: [];\n}\n\nexport type VehiclesInfoActionTypes = UpdateVehicles;\n","import { vehiclesInfo } from '.';\nimport { VehiclesInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { VehiclesInfoActionTypes, UPDATE_VEHICLES } from './vehicles-types';\n\nexport function vehiclesReducer(state: VehiclesInfo = null, action: OneFormActionTypes | VehiclesInfoActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn { ...vehiclesInfo };\n\t\tcase UPDATE_VEHICLES:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","export const UPDATE_FORM = 'UPDATE_FORM';\nexport const UPDATE_FIELDS = 'UPDATE_FIELDS';\n\ninterface UpdateFormAction {\n type: typeof UPDATE_FORM;\n payload: any;\n}\n\ninterface UpdateFieldsAction {\n type: typeof UPDATE_FIELDS;\n payload: any;\n}\n\nexport type FormDataActionTypes = UpdateFieldsAction | UpdateFormAction;\n","import { formData } from './';\nimport { FormDataGroup } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { FormDataActionTypes, UPDATE_FIELDS, UPDATE_FORM } from './form-data-types';\n\nexport function formDataReducer(state: FormDataGroup = null, action: OneFormActionTypes | FormDataActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formData };\n case UPDATE_FORM:\n return {\n fields: { ...state.fields, ...action.payload.fields },\n headers: { ...state.headers, ...action.payload.headers },\n flags: { ...state.flags, ...action.payload.flags },\n };\n case UPDATE_FIELDS:\n return {\n ...state,\n fields: { ...state.fields, ...action.payload },\n };\n default:\n return state;\n }\n}\n","import { Center, FormInfo, Geometry, Steps } from 'src/types';\nimport { Suggestion } from '../NewMap';\n\nexport const RESET_FORM_INFO = 'RESET_FORM_INFO';\nexport const SEND_FORM = 'SEND_FORM';\nexport const SET_FORM_INFO = 'SET_FORM_INFO';\nexport const SET_FORM_RESPONSE = 'SET_FORM_RESPONSE';\nexport const HIDE_LEGAL = 'HIDE_LEGAL';\nexport const SET_CUSTOM_LEGAL = 'SET_CUSTOM_LEGAL';\nexport const SET_SHOW_CALENDAR_ON_LOAD = 'SET_SHOW_CALENDAR_ON_LOAD';\nexport const SET_DELETE_CLOSE_AND_PREVIOUS = 'SET_DELETE_CLOSE_AND_PREVIOUS';\nexport const SET_FORM_SUBMITTED = 'SET_FORM_SUBMITTED';\nexport const UPDATE_LITERAL_FIELDS_STEPS = 'UPDATE_LITERAL_FIELDS_STEPS';\nexport const SET_INITIAL_STEPS = 'SET_INITIAL_STEPS';\nexport const SET_MOLECULAR_SERVICE_CONFIG = 'SET_MOLECULAR_SERVICE_CONFIG';\nexport const SET_NUMBER_OF_SCREENS = 'SET_NUMBER_OF_SCREENS';\nexport const SET_SEND_DMS_FAILED = 'SET_SEND_DMS_FAILED';\nexport const SET_STEPS_HISTORY = 'SET_STEPS_HISTORY';\nexport const SET_NAVIGATION_MOVING_FORWARD = 'SET_NAVIGATION_MOVING_FORWARD';\nexport const SHOW_FINAL_SCREEN = 'SHOW_FINAL_SCREEN';\nexport const SUGGESTION_IS_DEALER = 'SUGGESTION_IS_DEALER';\nexport const SUGGESTION_IS_ADDRESS = 'SUGGESTION_IS_ADDRESS';\nexport const SUGGESTION_IS_IN_CANARY_ISLANDS = 'SUGGESTION_IS_IN_CANARY_ISLANDS';\nexport const TRIGGER_EXIT_ANIMATION = 'TRIGGER_EXIT_ANIMATION';\nexport const UPDATE_FIRST_MAP_LOAD = 'UPDATE_FIRST_MAP_LOAD';\nexport const UPDATE_FORM_ENDED = 'UPDATE_FORM_ENDED';\nexport const UPDATE_FULLSCREEN = 'UPDATE_FULLSCREEN';\nexport const UPDATE_GENERIC_ERROR = 'UPDATE_GENERIC_ERROR';\nexport const UPDATE_GEOMETRY = 'UPDATE_GEOMETRY';\nexport const DISABLE_TRACKING = 'DISABLE_TRACKING';\nexport const UPDATE_INITIAL_ZOOM = 'UPDATE_INITIAL_ZOOM';\nexport const UPDATE_LAST_STEP = 'UPDATE_LAST_STEP';\nexport const UPDATE_MULTISTEP_SCREENINDEX = 'UPDATE_MULTISTEP_SCREENINDEX';\nexport const UPDATE_MULTISTEPS = 'UPDATE_MULTISTEPS';\nexport const UPDATE_NEXT_STEP = 'UPDATE_NEXT_STEP';\nexport const UPDATE_SCREEN = 'UPDATE_SCREEN';\nexport const UPDATE_SEND_FORM = 'UPDATE_SEND_FORM';\nexport const UPDATE_STEP = 'UPDATE_STEP';\nexport const UPDATE_STEPS = 'UPDATE_STEPS';\nexport const UPDATE_STEPS_HISTORY = 'UPDATE_STEPS_HISTORY';\nexport const UPDATE_SUGGESTION = 'UPDATE_SUGGESTION';\nexport const UPDATE_USER_CENTER = 'UPDATE_USER_CENTER';\nexport const UPDATE_USER_GEOLOCATION = 'UPDATE_USER_GEOLOCATION';\nexport const UPDATE_WAIT_FOR_NEXT_STEP = 'UPDATE_WAIT_FOR_NEXT_STEP';\n\ninterface SetFormInfoAction {\n type: typeof SET_FORM_INFO;\n payload: Partial;\n}\ninterface SetFormResponseAction {\n type: typeof SET_FORM_RESPONSE;\n payload: any;\n}\ninterface SetFormSubmittedAction {\n type: typeof SET_FORM_SUBMITTED;\n payload: boolean;\n}\ninterface UpdateLiteralFieldsSteps {\n type: typeof UPDATE_LITERAL_FIELDS_STEPS;\n payload: [];\n}\ninterface SetStepsHistoryAction {\n type: typeof SET_STEPS_HISTORY;\n payload: number[];\n}\ninterface SetShowCalendarAction {\n type: typeof SET_SHOW_CALENDAR_ON_LOAD;\n payload: boolean;\n}\n\ninterface DeleteCloseAndPrevious {\n type: typeof SET_DELETE_CLOSE_AND_PREVIOUS;\n payload: boolean;\n}\ninterface SetCustomLegalAction {\n type: typeof SET_CUSTOM_LEGAL;\n payload: JSX.Element;\n}\ninterface HideLegalAction {\n type: typeof HIDE_LEGAL;\n payload: boolean;\n}\ninterface SetInitialStepsAction {\n type: typeof SET_INITIAL_STEPS;\n payload: Steps[];\n}\ninterface SetNavigationMovingForwardAction {\n type: typeof SET_NAVIGATION_MOVING_FORWARD;\n payload: boolean;\n}\ninterface SetSendDmsFailedAction {\n type: typeof SET_SEND_DMS_FAILED;\n payload: boolean;\n}\ninterface SendFormAction {\n type: typeof SEND_FORM;\n payload: any;\n}\n\ninterface ResetFormInfoAction {\n type: typeof RESET_FORM_INFO;\n}\ninterface UpdateScreenAction {\n type: typeof UPDATE_SCREEN;\n payload: number;\n}\n\ninterface UpdateStepsHistoryAction {\n type: typeof UPDATE_STEPS_HISTORY;\n payload: number;\n}\ninterface UpdateInitialZoomAction {\n type: typeof UPDATE_INITIAL_ZOOM;\n payload: number;\n}\ninterface UpdateStepAction {\n type: typeof UPDATE_STEP;\n payload: Steps;\n}\ninterface UpdateLastStepAction {\n type: typeof UPDATE_LAST_STEP;\n payload: Steps;\n}\ninterface UpdateStepsAction {\n type: typeof UPDATE_STEPS;\n payload: Steps[];\n}\ninterface UpdateGenericErrorAction {\n type: typeof UPDATE_GENERIC_ERROR;\n payload: boolean;\n}\ninterface UpdateWaitForNextStepAction {\n type: typeof UPDATE_WAIT_FOR_NEXT_STEP;\n payload: boolean;\n}\n\ninterface TriggerExitAnimationAction {\n type: typeof TRIGGER_EXIT_ANIMATION;\n payload: boolean;\n}\n\ninterface UpdateFirstMapLoadAction {\n type: typeof UPDATE_FIRST_MAP_LOAD;\n payload: boolean;\n}\ninterface UpdateNextStepAction {\n type: typeof UPDATE_NEXT_STEP;\n payload: () => number;\n}\n\ninterface UpdateSendFormAction {\n type: typeof UPDATE_SEND_FORM;\n payload: () => boolean;\n}\n\ninterface ShowFinalScreenAction {\n type: typeof SHOW_FINAL_SCREEN;\n payload: boolean;\n}\n\ninterface SetNumberOfScreensAction {\n type: typeof SET_NUMBER_OF_SCREENS;\n payload: number;\n}\n\ninterface UpdateFullscreenAction {\n type: typeof UPDATE_FULLSCREEN;\n payload: boolean;\n}\ninterface UpdateMultiStepsAction {\n type: typeof UPDATE_MULTISTEPS;\n payload: Steps[];\n}\ninterface UpdateMultiScreenIndexAction {\n type: typeof UPDATE_MULTISTEP_SCREENINDEX;\n payload: number;\n}\n\ninterface UpdateUserCenterAction {\n type: typeof UPDATE_USER_CENTER;\n payload: Center;\n}\n\ninterface UpdateSuggestionIsDealer {\n type: typeof SUGGESTION_IS_DEALER;\n payload: boolean;\n}\ninterface UpdateSuggestionIsInCanaryIslands {\n type: typeof SUGGESTION_IS_IN_CANARY_ISLANDS;\n payload: boolean;\n}\ninterface UpdateSuggestionIsAddress {\n type: typeof SUGGESTION_IS_ADDRESS;\n payload: boolean;\n}\ninterface UpdateSuggestion {\n type: typeof UPDATE_SUGGESTION;\n payload: Suggestion;\n}\ninterface UpdateUserGeolocation {\n type: typeof UPDATE_USER_GEOLOCATION;\n payload: Suggestion;\n}\n\ninterface UpdateFormEnded {\n type: typeof UPDATE_FORM_ENDED;\n payload: boolean;\n}\n\ninterface UpdateGeometryAction {\n type: typeof UPDATE_GEOMETRY;\n payload: Geometry;\n}\ninterface DisableTrackingAction {\n type: typeof DISABLE_TRACKING;\n}\n\nexport type FormInfoActionTypes =\n | SetInitialStepsAction\n | ResetFormInfoAction\n | SendFormAction\n | SetCustomLegalAction\n | SetShowCalendarAction\n | DeleteCloseAndPrevious\n | HideLegalAction\n | SetFormInfoAction\n | SetFormResponseAction\n | SetFormSubmittedAction\n | UpdateLiteralFieldsSteps\n | SetNavigationMovingForwardAction\n | SetNumberOfScreensAction\n | SetSendDmsFailedAction\n | SetStepsHistoryAction\n | ShowFinalScreenAction\n | TriggerExitAnimationAction\n | UpdateFirstMapLoadAction\n | UpdateFormEnded\n | UpdateFullscreenAction\n | UpdateGenericErrorAction\n | UpdateGeometryAction\n | UpdateInitialZoomAction\n | UpdateLastStepAction\n | UpdateMultiScreenIndexAction\n | UpdateMultiStepsAction\n | UpdateNextStepAction\n | UpdateScreenAction\n | UpdateSendFormAction\n | UpdateStepAction\n | UpdateStepsAction\n | UpdateStepsAction\n | UpdateStepsHistoryAction\n | UpdateSuggestion\n | UpdateSuggestionIsAddress\n | UpdateSuggestionIsDealer\n | UpdateSuggestionIsInCanaryIslands\n | UpdateUserCenterAction\n | UpdateUserGeolocation\n | DisableTrackingAction\n | UpdateWaitForNextStepAction;\n","import { FormInfo } from 'src/types';\nimport { formInfoInitialState } from './';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport {\n FormInfoActionTypes,\n SET_FORM_INFO,\n SET_FORM_RESPONSE,\n SET_INITIAL_STEPS,\n SET_FORM_SUBMITTED,\n UPDATE_LITERAL_FIELDS_STEPS,\n SET_SHOW_CALENDAR_ON_LOAD,\n SET_DELETE_CLOSE_AND_PREVIOUS,\n SET_NUMBER_OF_SCREENS,\n SET_SEND_DMS_FAILED,\n SET_STEPS_HISTORY,\n SHOW_FINAL_SCREEN,\n SET_NAVIGATION_MOVING_FORWARD,\n SUGGESTION_IS_DEALER,\n SUGGESTION_IS_IN_CANARY_ISLANDS,\n TRIGGER_EXIT_ANIMATION,\n UPDATE_FIRST_MAP_LOAD,\n UPDATE_FORM_ENDED,\n UPDATE_FULLSCREEN,\n UPDATE_GENERIC_ERROR,\n UPDATE_GEOMETRY,\n DISABLE_TRACKING,\n UPDATE_INITIAL_ZOOM,\n UPDATE_LAST_STEP,\n UPDATE_MULTISTEP_SCREENINDEX,\n UPDATE_MULTISTEPS,\n UPDATE_NEXT_STEP,\n UPDATE_SCREEN,\n UPDATE_SEND_FORM,\n UPDATE_STEP,\n UPDATE_STEPS_HISTORY,\n UPDATE_STEPS,\n UPDATE_SUGGESTION,\n SUGGESTION_IS_ADDRESS,\n HIDE_LEGAL,\n SET_CUSTOM_LEGAL,\n UPDATE_USER_CENTER,\n UPDATE_USER_GEOLOCATION,\n UPDATE_WAIT_FOR_NEXT_STEP,\n} from './form-info-types';\n\nexport function formInfoReducer(state: FormInfo = null, action: OneFormActionTypes | FormInfoActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formInfoInitialState };\n case SET_FORM_INFO:\n return { ...state, ...action.payload };\n case SET_FORM_RESPONSE:\n return { ...state, formResponse: action.payload };\n case HIDE_LEGAL:\n return { ...state, hideLegal: action.payload };\n \n case SET_CUSTOM_LEGAL:\n return { ...state, customLegal: action.payload };\n\n case SET_FORM_SUBMITTED:\n return { ...state, formSubmitted: action.payload };\n case UPDATE_SCREEN:\n return {\n ...state,\n screenIndex: action.payload,\n };\n case SET_NAVIGATION_MOVING_FORWARD:\n return {\n ...state,\n navigationMovingForward: action.payload,\n };\n case SET_NUMBER_OF_SCREENS:\n return {\n ...state,\n numberOfScreens: action.payload,\n };\n case SET_STEPS_HISTORY:\n return { ...state, stepsHistory: action.payload };\n case UPDATE_STEPS_HISTORY:\n if (!state.stepsHistory || state.stepsHistory.length === 0) {\n return {\n ...state,\n };\n }\n \n const previousSteps = [...state.stepsHistory];\n const newNumber = action.payload;\n const index = previousSteps.indexOf(newNumber);\n\n if (index === -1) {\n previousSteps.push(newNumber);\n return {\n ...state,\n stepsHistory: previousSteps,\n };\n }\n return {\n ...state,\n };\n case UPDATE_STEP:\n return {\n ...state,\n step: action.payload,\n };\n case UPDATE_LAST_STEP:\n return {\n ...state,\n lastStep: action.payload,\n };\n case UPDATE_STEPS:\n return {\n ...state,\n steps: action.payload,\n };\n case SET_INITIAL_STEPS:\n return {\n ...state,\n initialSteps: action.payload,\n };\n case UPDATE_LITERAL_FIELDS_STEPS:\n return { \n ...state, \n stepsLiteralFields: { ...state.stepsLiteralFields, ...action.payload }\n };\n case SET_SHOW_CALENDAR_ON_LOAD:\n return {\n ...state,\n showCalendarOnLoad: action.payload,\n };\n case SET_DELETE_CLOSE_AND_PREVIOUS:\n return {\n ...state,\n deleteCloseAndPrevious: action.payload,\n };\n case TRIGGER_EXIT_ANIMATION:\n return {\n ...state,\n triggerExitAnimation: action.payload,\n };\n case UPDATE_GENERIC_ERROR:\n return {\n ...state,\n genericError: action.payload,\n };\n case SET_SEND_DMS_FAILED:\n return {\n ...state,\n sendDmsFailed: action.payload,\n };\n case UPDATE_NEXT_STEP:\n return {\n ...state,\n nextStepCallback: action.payload,\n };\n case UPDATE_FIRST_MAP_LOAD:\n return {\n ...state,\n firstMapLoad: action.payload,\n };\n case UPDATE_SEND_FORM:\n return {\n ...state,\n sendFormCallback: action.payload,\n };\n case UPDATE_FULLSCREEN:\n return {\n ...state,\n fullScreen: action.payload,\n };\n case SHOW_FINAL_SCREEN:\n return {\n ...state,\n showFinalScreen: action.payload,\n };\n case UPDATE_MULTISTEPS:\n return {\n ...state,\n multiSteps: action.payload,\n };\n case UPDATE_MULTISTEP_SCREENINDEX:\n return {\n ...state,\n multiStepScreenIndex: action.payload,\n };\n case UPDATE_USER_CENTER:\n return {\n ...state,\n userCenter: action.payload,\n };\n case SUGGESTION_IS_DEALER:\n return {\n ...state,\n suggestionIsDealer: action.payload,\n };\n case SUGGESTION_IS_IN_CANARY_ISLANDS:\n return {\n ...state,\n suggestionIsInCanaryIslands: action.payload,\n };\n case SUGGESTION_IS_ADDRESS:\n return {\n ...state,\n suggestionIsAddress: action.payload,\n };\n case UPDATE_SUGGESTION:\n return {\n ...state,\n userSuggestion: action.payload,\n };\n case UPDATE_USER_GEOLOCATION:\n return {\n ...state,\n userGeoLocation: action.payload,\n };\n case UPDATE_WAIT_FOR_NEXT_STEP:\n return {\n ...state,\n waitForNextStep: action.payload,\n };\n case UPDATE_FORM_ENDED:\n return {\n ...state,\n formEnded: action.payload,\n };\n /** deprecated */\n case UPDATE_INITIAL_ZOOM:\n return {\n ...state,\n initialZoom: action.payload,\n };\n case UPDATE_GEOMETRY:\n return {\n ...state,\n geometry: action.payload,\n };\n case DISABLE_TRACKING:\n return {\n ...state,\n trackingIsDisabled: true\n };\n\n default:\n return state;\n }\n}\n","export const ADD_DOMAIN = 'ADD_DOMAIN';\n\ninterface AddDomain {\n type: typeof ADD_DOMAIN;\n payload: [];\n}\n\nexport type DomainsActionTypes = AddDomain;\n","import { domainsInfoInitialState } from '.';\nimport { DomainsInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { DomainsActionTypes, ADD_DOMAIN } from './domains-types';\n\nexport function domainsReducer(state: DomainsInfo = null, action: OneFormActionTypes | DomainsActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn domainsInfoInitialState;\n\t\tcase ADD_DOMAIN:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","import { combineReducers } from 'redux';\nimport { VehiclesInfo, DealersInfo, FormDataGroup, FormInfo, OneFormState } from 'src/types';\nimport { vehiclesReducer, dealersReducer, formDataReducer, formInfoReducer, domainsReducer } from './';\n\nexport const formInfoInitialState: FormInfo = {\n firstMapLoad: true,\n formEnded: false,\n formStarted: false,\n fullScreen: false,\n genericError: false,\n formSubmitted: false,\n multiStepScreenIndex: null,\n numberOfScreens: null,\n screenIndex: null,\n showFinalScreen: false,\n step: null,\n steps: null,\n stepsHistory: null,\n thankYouComponent: null,\n triggerExitAnimation: false,\n userIsAuthenticated: false,\n waitForNextStep: false,\n trackingIsDisabled: false,\n stepsLiteralFields: []\n};\n\nexport const formData: FormDataGroup = { headers: {}, fields: {} };\nexport const dealersInfo: DealersInfo = {\n dealers: null,\n installations: null,\n selectedCarline: null,\n points: null,\n selectedDealer: null,\n favouriteDealer: null,\n urlDealer: null,\n selectedInstallation: null,\n dealersOrInstallationsMode: null,\n carlines: null,\n oferta: null,\n salesGroup: null,\n match: null,\n citaCarlines: null,\n};\nexport const vehiclesInfo: VehiclesInfo = { \n brands: null, \n models: null, \n brandSelected: null, \n modelSelected: null \n};\nexport const domainsInfoInitialState: any = [];\n\nexport const initialState: OneFormState = {\n formInfo: formInfoInitialState,\n formData,\n dealersInfo,\n vehiclesInfo,\n domainsInfo: domainsInfoInitialState,\n};\n\nexport const oneFormReducer = combineReducers({\n formData: formDataReducer,\n formInfo: formInfoReducer,\n dealersInfo: dealersReducer,\n vehiclesInfo: vehiclesReducer,\n domainsInfo: domainsReducer,\n});\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","import { OneFormState } from 'src/types';\n\nimport { createSelector } from 'reselect';\n\nconst getPoint = (state: OneFormState) => {\n return state.dealersInfo.points;\n};\n\nexport const getPoints = createSelector(getPoint, (getPoint) => getPoint);\n\nconst getGeometryProperty = (state: OneFormState) => {\n return state.formInfo.geometry;\n};\n\nexport const getGeometry = createSelector(getGeometryProperty, (getGeometryProperty) => getGeometryProperty);\n\nconst getUserSuggestionProperty = (state: OneFormState) => {\n return state.formInfo.userSuggestion;\n};\n\nexport const getUserSuggestion = createSelector(\n getUserSuggestionProperty,\n (getUserSuggestionProperty) => getUserSuggestionProperty\n);\n\nconst getUserGeolocationProperty = (state: OneFormState) => {\n return state.formInfo.userGeoLocation;\n};\n\nexport const getUserGeolocation = createSelector(\n getUserGeolocationProperty,\n (getUserGeolocationProperty) => getUserGeolocationProperty\n);\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { Dependencies } from 'src';\n\nlet featureServicesMirror: Dependencies = null;\nlet featureEnvironmentMirror: FeatureAppEnvironment = null;\n\nexport const saveFeatureServices = (featureServices: Dependencies) => {\n featureServicesMirror = featureServices;\n};\nexport const saveEnvironment = (environment: FeatureAppEnvironment) => {\n featureEnvironmentMirror = environment;\n};\nexport const getFeatureServices = () => featureServicesMirror;\nexport const getEnvironment = () => featureEnvironmentMirror;\nexport const getOneHubConfig = () => featureServicesMirror['service-config-provider'].configs['es-onehub-vw'];\nexport const getDataServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-vwdata'];\nexport const getMolecularCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-molecular-cdn'];\nexport const getMolecularServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-molecular'];\nexport const getVicciServiceConfig = () => featureServicesMirror['service-config-provider'].configs['oneapi-vicci'];\nexport const getVicciApiKey = () => featureServicesMirror['api-key-provider'].apiKey;\nexport const getGoogleApiKeyServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-google-apikey'];\nexport const getOneformBFFCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-oneform-bff-cdn'];\nexport const getOneformBFFServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-oneform-bff'];\nexport const getVwEventosConfig = () => featureServicesMirror['service-config-provider'].configs['es-vweventos'];\n","import * as React from 'react';\nimport * as Sentry from '@sentry/react';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\n\ninterface Props {\n hub: Sentry.Hub;\n close?: CloseHandleV2;\n children: React.ReactNode;\n}\nclass ErrorBoundary extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = { eventId: null };\n }\n\n static getDerivedStateFromError() {\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n /** \n * We make use of the Sentry hub passed in props to report the application\n * error to the intended recipient Sentry project.\n * Note: if Sentry.init was used, it looks like they should get a copy of\n * that error in their Sentry project too (though this behaviour might only\n * be applicable in development, to be confirmed.)\n */\n // Sentry.makeMain(this.props.hub);\n this.props.hub.run(currentHub => {\n currentHub.withScope((scope) => {\n scope.setExtras(errorInfo);\n const eventId = currentHub.captureException(error);\n this.setState({eventId});\n });\n\n });\n if (this.props.close) {\n this.props.close({},{},{});\n }\n\n }\n\n render() {\n if (this.state.hasError) {\n //render fallback UI\n return null;\n }\n\n //when there's not an error, render children untouched\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString: () => void;\n\n/** Patch toString calls to return proper name for wrapped functions */\nexport class FunctionToString implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'FunctionToString';\n\n /**\n * @inheritDoc\n */\n public name: string = FunctionToString.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nfunction isBuiltin(wat: unknown, ty: string): boolean {\n return objectToString.call(wat) === `[object ${ty}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): boolean {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isNaN(wat: unknown): boolean {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n","import { getGlobalObject } from './global';\nimport { isString } from './is';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem: unknown, keyAttrs?: string[]): string {\n type SimpleNode = {\n parentNode: SimpleNode;\n } | null;\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const MAX_OUTPUT_LEN = 80;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n const allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n const global = getGlobalObject();\n try {\n return global.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n","import { isRegExp, isString } from './is';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value: string, pattern: RegExp | string): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nexport function escapeStringForRegex(regexString: string): string {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExtendedError, WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: { [key: string]: unknown }, name: string, value: unknown): void {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nexport function convertToPlainObject(value: unknown): {\n [key: string]: unknown;\n} {\n let newObj = value as {\n [key: string]: unknown;\n };\n\n if (isError(value)) {\n newObj = {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value as ExtendedError),\n };\n } else if (isEvent(value)) {\n /**\n * Event-like interface that's usable in browser and node\n */\n interface SimpleEvent {\n [key: string]: unknown;\n type: string;\n target?: unknown;\n currentTarget?: unknown;\n }\n\n const event = value as SimpleEvent;\n\n newObj = {\n type: event.type,\n target: serializeEventTarget(event.target),\n currentTarget: serializeEventTarget(event.currentTarget),\n ...getOwnProperties(event),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = event.detail;\n }\n }\n return newObj;\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: { [key: string]: unknown }): { [key: string]: unknown } {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = obj[property];\n }\n }\n return extractedProps;\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception: any, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val: T): T {\n if (isPlainObject(val)) {\n const rv: { [key: string]: any } = {};\n for (const key of Object.keys(val)) {\n if (typeof val[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(val[key]);\n }\n }\n return rv as T;\n }\n\n if (Array.isArray(val)) {\n return (val as any[]).map(dropUndefinedKeys) as any;\n }\n\n return val;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n","import { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject, getGlobalSingleton } from './global';\n\n// TODO: Implement different loggers for different environments\nconst global = getGlobalObject();\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert'] as const;\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** JSDoc */\ninterface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n const global = getGlobalObject();\n\n if (!('console' in global)) {\n return callback();\n }\n\n const originalConsole = global.console as Console & Record;\n const wrappedLevels: Partial = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] as WrappedFunction).__sentry_original__;\n if (level in global.console && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] as LoggerConsoleMethods[typeof level];\n originalConsole[level] = originalWrappedFunc as Console[typeof level];\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level as typeof CONSOLE_LEVELS[number]];\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if (IS_DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n global.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger: Logger;\nif (IS_DEBUG_BUILD) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { logger };\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { getGlobalObject } from './global';\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\n\n/**\n * Extended Window interface that allows for Crypto API usage in IE browsers\n */\ninterface MsCryptoWindow extends Window {\n msCrypto?: Crypto;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const global = getGlobalObject() as MsCryptoWindow;\n const crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n const arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n const pad = (num: number): string => {\n let v = num.toString(16);\n while (v.length < 4) {\n v = `0${v}`;\n }\n return v;\n };\n\n return (\n pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7])\n );\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n // eslint-disable-next-line no-bitwise\n const r = (Math.random() * 16) | 0;\n // eslint-disable-next-line no-bitwise\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n} {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n const lineno = frame.lineno || 0;\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n","import { Event, EventProcessor, Hub, Integration, StackFrame } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n\n public constructor(private readonly _options: Partial = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (processor: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (hub) {\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n });\n }\n}\n\n/** JSDoc */\nexport function _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.whitelistUrls || []),\n ...(internalOptions.allowUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.blacklistUrls || []),\n ...(internalOptions.denyUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nexport function _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n IS_DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-ignore can't be a sentry error if undefined\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n return _getLastValidUrl(event.stacktrace.frames);\n }\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States = States.PENDING;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]> = [];\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n CaptureContext,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n Severity,\n Span,\n Transaction,\n User,\n} from '@sentry/types';\nimport { dateTimestampInSeconds, getGlobalSingleton, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n\nimport { Session } from './session';\n\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nconst MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nexport class Scope implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean = false;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void> = [];\n\n /** Callback list that will be called after {@link applyToEvent}. */\n protected _eventProcessors: EventProcessor[] = [];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[] = [];\n\n /** User */\n protected _user: User = {};\n\n /** Tags */\n protected _tags: { [key: string]: Primitive } = {};\n\n /** Extra */\n protected _extra: Extras = {};\n\n /** Contexts */\n protected _contexts: Contexts = {};\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: Severity;\n\n /** Transaction Name */\n protected _transactionName?: string;\n\n /** Span */\n protected _span?: Span;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata?: { [key: string]: unknown } = {};\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n public static clone(scope?: Scope): Scope {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n this._user = user || {};\n if (this._session) {\n this._session.update({ user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: Severity): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n public setTransaction(name?: string): this {\n return this.setTransactionName(name);\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSpan(span?: Span): this {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSpan(): Span | undefined {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n public getTransaction(): Transaction | undefined {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext as (scope: T) => T)(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext as ScopeContext;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional information about the original exception.\n * @hidden\n */\n public applyToEvent(event: Event, hint?: EventHint): PromiseLike {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = this._sdkProcessingMetadata;\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n protected _notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint?: EventHint,\n index: number = 0,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n private _applyFingerprint(event: Event): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors(): EventProcessor[] {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback: EventProcessor): void {\n getGlobalEventProcessors().push(callback);\n}\n","import { Session as SessionInterface, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from '@sentry/utils';\n\n/**\n * @inheritdoc\n */\nexport class Session implements SessionInterface {\n public userAgent?: string;\n public errors: number = 0;\n public release?: string;\n public sid: string = uuid4();\n public did?: string;\n public timestamp: number;\n public started: number;\n public duration?: number = 0;\n public status: SessionStatus = 'ok';\n public environment?: string;\n public ipAddress?: string;\n public init: boolean = true;\n public ignoreDuration: boolean = false;\n\n public constructor(context?: Omit) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n this.timestamp = startingTime;\n this.started = startingTime;\n if (context) {\n this.update(context);\n }\n }\n\n /** JSDoc */\n // eslint-disable-next-line complexity\n public update(context: SessionContext = {}): void {\n if (context.user) {\n if (!this.ipAddress && context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n\n if (!this.did && !context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n this.timestamp = context.timestamp || timestampInSeconds();\n if (context.ignoreDuration) {\n this.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n this.init = context.init;\n }\n if (!this.did && context.did) {\n this.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (this.ignoreDuration) {\n this.duration = undefined;\n } else if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n const duration = this.timestamp - this.started;\n this.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (!this.ipAddress && context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (!this.userAgent && context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n }\n\n /** JSDoc */\n public close(status?: Exclude): void {\n if (status) {\n this.update({ status });\n } else if (this.status === 'ok') {\n this.update({ status: 'exited' });\n } else {\n this.update();\n }\n }\n\n /** JSDoc */\n public toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration?: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n } {\n return dropUndefinedKeys({\n sid: `${this.sid}`,\n init: this.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(this.started * 1000).toISOString(),\n timestamp: new Date(this.timestamp * 1000).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? `${this.did}` : undefined,\n duration: this.duration,\n attrs: {\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent,\n },\n });\n }\n}\n","/**\n * TODO(v7): Remove this enum and replace with SeverityLevel\n */\nexport enum Severity {\n /** JSDoc */\n Fatal = 'fatal',\n /** JSDoc */\n Error = 'error',\n /** JSDoc */\n Warning = 'warning',\n /** JSDoc */\n Log = 'log',\n /** JSDoc */\n Info = 'info',\n /** JSDoc */\n Debug = 'debug',\n /** JSDoc */\n Critical = 'critical',\n}\n\n// TODO: in v7, these can disappear, because they now also exist in `@sentry/utils`. (Having them there rather than here\n// is nice because then it enforces the idea that only types are exported from `@sentry/types`.)\nexport const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n SessionContext,\n Severity,\n Span,\n SpanContext,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport {\n consoleSandbox,\n dateTimestampInSeconds,\n getGlobalObject,\n getGlobalSingleton,\n isNodeEnv,\n logger,\n uuid4,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { Scope } from './scope';\nimport { Session } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n client?: Client;\n scope?: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: {\n hub?: Hub;\n /**\n * Extra Hub properties injected by various SDKs\n */\n integrations?: Integration[];\n extensions?: {\n /** Hack to prevent bundlers from breaking our usage of the domain package in the cross-platform Hub package */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n domain?: { [key: string]: any };\n } & {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n/**\n * @hidden\n * @deprecated Can be removed once `Hub.getActiveDomain` is removed.\n */\nexport interface DomainAsCarrier extends Carrier {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n members: { [key: string]: any }[];\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[] = [{}];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope | undefined {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: exception,\n syntheticException,\n };\n }\n\n this._invokeClient('captureException', exception, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: message,\n syntheticException,\n };\n }\n\n this._invokeClient('captureMessage', message, level, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._invokeClient('captureEvent', event, {\n ...hint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSpan(context: SpanContext): Span {\n return this._callExtensionMethod('startSpan', context);\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(endSession: boolean = false): void {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const layer = this.getStackTop();\n const scope = layer && layer.scope;\n const session = scope && scope.getSession();\n if (session) {\n session.close();\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const global = getGlobalObject<{ navigator?: { userAgent?: string } }>();\n const { userAgent } = global.navigator || {};\n\n const session = new Session({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n currentSession.update({ status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Sends the current Session on the scope\n */\n private _sendSessionUpdate(): void {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession && scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _invokeClient(method: M, ...args: any[]): void {\n const { scope, client } = this.getStackTop();\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (client as any)[method](...args, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n IS_DEBUG_BUILD && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n const carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Returns the active domain, if one exists\n * @deprecated No longer used; remove in v7\n * @returns The domain, or undefined if there is no active domain\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getActiveDomain(): DomainAsCarrier | undefined {\n IS_DEBUG_BUILD && logger.warn('Function `getActiveDomain` is deprecated and will be removed in a future version.');\n\n const sentry = getMainCarrier().__SENTRY__;\n\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n try {\n const sentry = getMainCarrier().__SENTRY__;\n const activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n","import { StackFrame } from '@sentry/types';\n\nconst STACKTRACE_LIMIT = 50;\n\nexport type StackParser = (stack: string, skipFirst?: number) => StackFrame[];\nexport type StackLineParserFn = (line: string) => StackFrame | undefined;\nexport type StackLineParser = [number, StackLineParserFn];\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirst: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n\n for (const line of stack.split('\\n').slice(skipFirst)) {\n for (const parser of sortedParsers) {\n const frame = parser(line);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: StackFrame[]): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n const firstFrameFunction = localStack[0].function || '';\n const lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n","import { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { logger } from './logger';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFetch(func: Function): boolean {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (!supportsFetch()) {\n return false;\n }\n\n const global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n const global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chrome = (global as any).chrome;\n const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { isInstanceOf, isString } from './is';\nimport { CONSOLE_LEVELS, logger } from './logger';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\n\nconst global = getGlobalObject();\n\ntype InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'history'\n | 'sentry'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\ntype InstrumentHandlerCallback = (data: any) => void;\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Instruments given API */\nfunction instrument(type: InstrumentHandlerType): void {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n IS_DEBUG_BUILD && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(type: InstrumentHandlerType, callback: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type: InstrumentHandlerType, data: any): void {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (const handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole(): void {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: string): void {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod: () => any): Function {\n return function (...args: any[]): void {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch(): void {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(\n (response: Response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\ntype XHRSendInput = null | Blob | BufferSource | FormData | URLSearchParams | string;\n\n/** JSDoc */\ninterface SentryWrappedXMLHttpRequest extends XMLHttpRequest {\n [key: string]: any;\n __sentry_xhr__?: {\n method?: string;\n url?: string;\n status_code?: number;\n body?: XHRSendInput;\n };\n}\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs: any[] = []): string {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs: any[] = []): string {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\nfunction instrumentXHR(): void {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const url = args[1];\n const xhrInfo: SentryWrappedXMLHttpRequest['__sentry_xhr__'] = (xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = function (): void {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original: WrappedFunction): Function {\n return function (...readyStateArgs: any[]): void {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref: string;\n\n/** JSDoc */\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = global.onpopstate;\n global.onpopstate = function (this: WindowEventHandlers, ...args: any[]): any {\n const to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: any[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nconst debounceDuration = 1000;\nlet debounceTimerID: number | undefined;\nlet lastCapturedEvent: Event | undefined;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous: Event | undefined, current: Event): boolean {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event: Event): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n const target = event.target as HTMLElement;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler: Function, globalListener: boolean = false): (event: Event) => void {\n return (event: Event): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: Function;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\n/** JSDoc */\nfunction instrumentDOM(): void {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = (global as any)[target] && (global as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler: OnErrorEventHandler = null;\n/** JSDoc */\nfunction instrumentError(): void {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg: any, url: any, line: any, column: any, error: any): boolean {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler: ((e: any) => void) | null = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e: any): boolean {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n","import { Primitive } from '@sentry/types';\n\nimport { isError, isEvent, isNaN, isSyntheticEvent } from './is';\nimport { memoBuilder, MemoFunc } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output..\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\nexport function normalize(input: unknown, depth: number = +Infinity, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, there is no key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // If the value has a `toJSON` method, see if we can bail and let it do the work\n const valueWithToJSON = value as unknown & { toJSON?: () => Primitive | ObjOrArray };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n return valueWithToJSON.toJSON();\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = (isError(value) || isEvent(value) ? convertToPlainObject(value) : value) as ObjOrArray;\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n// TODO remove this in v7 (this means the method will no longer be exported, under any name)\nexport { visit as walk };\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) as Prototype).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n */\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n","import { StackFrame } from '@sentry/types';\nimport { StackLineParser, StackLineParserFn } from '@sentry/utils';\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nconst chrome: StackLineParserFn = line => {\n const parts = chromeRegex.exec(line);\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackParser: StackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line);\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n","import { Event, EventHint, Exception, Severity, StackFrame } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n createStackParser,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/utils';\n\nimport {\n chromeStackParser,\n geckoStackParser,\n opera10StackParser,\n opera11StackParser,\n winjsStackParser,\n} from './stack-parsers';\n\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromError(ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(ex);\n\n const exception: Exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromError(ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nexport function parseStackFrames(ex: Error & { framesToPop?: number; stacktrace?: string }): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const popSize = getPopSize(ex);\n\n try {\n return createStackParser(\n opera10StackParser,\n opera11StackParser,\n chromeStackParser,\n winjsStackParser,\n geckoStackParser,\n )(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex: Error & { framesToPop?: number }): number {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n message: string,\n level: Severity = Severity.Info,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(input: string, syntheticException?: Error, attachStacktrace?: boolean): Event {\n const event: Event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","import { getCurrentHub, Hub, Scope } from '@sentry/hub';\nimport {\n Breadcrumb,\n CaptureContext,\n CustomSamplingContext,\n Event,\n Extra,\n Extras,\n Primitive,\n Severity,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\n\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method: string, ...args: any[]): T {\n const hub = getCurrentHub();\n if (hub && hub[method as keyof Hub]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (hub[method as keyof Hub] as any)(...args);\n }\n throw new Error(`No hub defined or ${method} was not found on the hub, please open a bug report.`);\n}\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception: any, captureContext?: CaptureContext): string {\n const syntheticException = new Error('Sentry syntheticException');\n\n return callOnHub('captureException', exception, {\n captureContext,\n originalException: exception,\n syntheticException,\n });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | Severity): string {\n const syntheticException = new Error(message);\n\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException,\n ...context,\n });\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event: Event): string {\n return callOnHub('captureEvent', event);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback: (scope: Scope) => void): void {\n callOnHub('configureScope', callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb): void {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n callOnHub('setContext', name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n callOnHub('setExtras', extras);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n callOnHub('setTags', tags);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n callOnHub('setExtra', key, extra);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n callOnHub('setTag', key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n callOnHub('setUser', user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback: (scope: Scope) => void): void {\n callOnHub('withScope', callback);\n}\n\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method: string, ...args: any[]): void {\n callOnHub('_invokeClient', method, ...args);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(\n context: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): Transaction {\n return callOnHub('startTransaction', { ...context }, customSamplingContext);\n}\n","export const setPrototypeOf =\n Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);\n\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj: TTarget, proto: TProto): TTarget & TProto {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj as TTarget & TProto;\n}\n\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj: TTarget, proto: TProto): TTarget & TProto {\n for (const prop in proto) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n\n return obj as TTarget & TProto;\n}\n","import { setPrototypeOf } from './polyfill';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public constructor(public message: string) {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { SentryError } from './error';\nimport { IS_DEBUG_BUILD } from './flags';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\nfunction dsnFromString(str: string): DsnComponents {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n // TODO this is for backwards compatibility, and can be removed in a future version\n if ('user' in components && !('publicKey' in components)) {\n components.publicKey = components.user;\n }\n\n return {\n user: components.publicKey || '',\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean | void {\n if (!IS_DEBUG_BUILD) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nexport function makeDsn(from: DsnLike): DsnComponents {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n\n validateDsn(components);\n\n return components;\n}\n","import { DsnComponents, DsnLike, SdkMetadata } from '@sentry/types';\nimport { dsnToString, makeDsn, urlEncode } from '@sentry/utils';\n\nconst SENTRY_API_VERSION = '7';\n\n/**\n * Stores details about a Sentry SDK\n */\nexport interface APIDetails {\n /** The DSN as passed to Sentry.init() */\n initDsn: DsnLike;\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n metadata: SdkMetadata;\n /** The internally used Dsn object. */\n readonly dsn: DsnComponents;\n /** The envelope tunnel to use. */\n readonly tunnel?: string;\n}\n\n/**\n * Helper class to provide urls, headers and metadata that can be used to form\n * different types of requests to Sentry endpoints.\n * Supports both envelopes and regular event requests.\n *\n * @deprecated Please use APIDetails\n **/\nexport class API {\n /** The DSN as passed to Sentry.init() */\n public dsn: DsnLike;\n\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n public metadata: SdkMetadata;\n\n /** The internally used Dsn object. */\n private readonly _dsnObject: DsnComponents;\n\n /** The envelope tunnel to use. */\n private readonly _tunnel?: string;\n\n /** Create a new instance of API */\n public constructor(dsn: DsnLike, metadata: SdkMetadata = {}, tunnel?: string) {\n this.dsn = dsn;\n this._dsnObject = makeDsn(dsn);\n this.metadata = metadata;\n this._tunnel = tunnel;\n }\n\n /** Returns the Dsn object. */\n public getDsn(): DsnComponents {\n return this._dsnObject;\n }\n\n /** Does this transport force envelopes? */\n public forceEnvelope(): boolean {\n return !!this._tunnel;\n }\n\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n public getBaseApiEndpoint(): string {\n return getBaseApiEndpoint(this._dsnObject);\n }\n\n /** Returns the store endpoint URL. */\n public getStoreEndpoint(): string {\n return getStoreEndpoint(this._dsnObject);\n }\n\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getStoreEndpointWithUrlEncodedAuth(): string {\n return getStoreEndpointWithUrlEncodedAuth(this._dsnObject);\n }\n\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getEnvelopeEndpointWithUrlEncodedAuth(): string {\n return getEnvelopeEndpointWithUrlEncodedAuth(this._dsnObject, this._tunnel);\n }\n}\n\n/** Initializes API Details */\nexport function initAPIDetails(dsn: DsnLike, metadata?: SdkMetadata, tunnel?: string): APIDetails {\n return {\n initDsn: dsn,\n metadata: metadata || {},\n dsn: makeDsn(dsn),\n tunnel,\n } as APIDetails;\n}\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents, target: 'store' | 'envelope'): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/${target}/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents): string {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n });\n}\n\n/** Returns the store endpoint URL. */\nfunction getStoreEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'store');\n}\n\n/**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getStoreEndpointWithUrlEncodedAuth(dsn: DsnComponents): string {\n return `${getStoreEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/** Returns the envelope endpoint URL. */\nfunction _getEnvelopeEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'envelope');\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(dsn: DsnComponents, tunnel?: string): string {\n return tunnel ? tunnel : `${_getEnvelopeEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\nexport function getRequestHeaders(\n dsn: DsnComponents,\n clientName: string,\n clientVersion: string,\n): { [key: string]: string } {\n // CHANGE THIS to use metadata but keep clientName and clientVersion compatible\n const header = [`Sentry sentry_version=${SENTRY_API_VERSION}`];\n header.push(`sentry_client=${clientName}/${clientVersion}`);\n header.push(`sentry_key=${dsn.publicKey}`);\n if (dsn.pass) {\n header.push(`sentry_secret=${dsn.pass}`);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions += `&name=${encodeURIComponent(dialogOptions.user.name)}`;\n }\n if (dialogOptions.user.email) {\n encodedOptions += `&email=${encodeURIComponent(dialogOptions.user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n","import { captureException, getReportDialogEndpoint, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getGlobalObject,\n getOriginalFunction,\n logger,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nconst global = getGlobalObject();\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sentryWrapped: WrappedFunction = function (this: any): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options: ReportDialogOptions = {}): void {\n if (!global.document) {\n return;\n }\n\n if (!options.eventId) {\n IS_DEBUG_BUILD && logger.error('Missing eventId option in showReportDialog call');\n return;\n }\n\n if (!options.dsn) {\n IS_DEBUG_BUILD && logger.error('Missing dsn option in showReportDialog call');\n return;\n }\n\n const script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(options.dsn, options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n const injectionPoint = global.document.head || global.document.body;\n\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\n/** JSDoc */\ntype GlobalHandlersIntegrations = Record;\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n private _installFunc: Record void) | undefined> = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n const options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n for (const key in options) {\n const installFunc = this._installFunc[key as GlobalHandlersIntegrationsOptionKeys];\n if (installFunc && options[key as GlobalHandlersIntegrationsOptionKeys]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key as GlobalHandlersIntegrationsOptionKeys] = undefined;\n }\n }\n }\n}\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler(): void {\n addInstrumentationHandler(\n 'error',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n const event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler(): void {\n addInstrumentationHandler(\n 'unhandledrejection',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (e: any) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, attachStacktrace, true);\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n IS_DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub: Hub, error: EventHint['originalException'], event: Event, type: string): void {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndAttachStacktrace(): [Hub, boolean | undefined] {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const attachStacktrace = client && client.getOptions().attachStacktrace;\n return [hub, attachStacktrace];\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getGlobalObject, getOriginalFunction } from '@sentry/utils';\n\nimport { wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n const global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const global = getGlobalObject() as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = global[target] && global[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: () => void): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n","export const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Severity } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n getEventDescription,\n getGlobalObject,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityFromString,\n} from '@sentry/utils';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean | { serializeAttribute: string | string[] };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Breadcrumbs';\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /** JSDoc */\n private readonly _options: BreadcrumbsOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n public addSentryBreadcrumb(event: Event): void {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this._options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this._options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this._options.dom));\n }\n if (this._options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this._options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this._options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n}\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _domBreadcrumb(dom: BreadcrumbsOptions['dom']): (handlerData: { [key: string]: any }) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _innerDomBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node, keyAttrs)\n : htmlTreeAsString(handlerData.event as unknown as Node, keyAttrs);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n const global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { exceptionFromError } from '../eventbuilder';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\ninterface LinkedErrorsOptions {\n key: string;\n limit: number;\n}\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: LinkedErrorsOptions['key'];\n\n /**\n * @inheritDoc\n */\n private readonly _limit: LinkedErrorsOptions['limit'];\n\n /**\n * @inheritDoc\n */\n public constructor(options: Partial = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(self._key, self._limit, event, hint) : event;\n });\n }\n}\n\n/**\n * @inheritDoc\n */\nexport function _handler(key: string, limit: number, event: Event, hint?: EventHint): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = _walkErrorTree(limit, hint.originalException as ExtendedError, key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nexport function _walkErrorTree(limit: number, error: ExtendedError, key: string, stack: Exception[] = []): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n const exception = exceptionFromError(error[key]);\n return _walkErrorTree(limit, error[key], key, [exception, ...stack]);\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\nimport { getGlobalObject } from '@sentry/utils';\n\nconst global = getGlobalObject();\n\n/** UserAgent */\nexport class UserAgent implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'UserAgent';\n\n /**\n * @inheritDoc\n */\n public name: string = UserAgent.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import { Event, EventProcessor, Exception, Hub, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Dedupe';\n\n /**\n * @inheritDoc\n */\n public name: string = Dedupe.id;\n\n /**\n * @inheritDoc\n */\n private _previousEvent?: Event;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((currentEvent: Event) => {\n const self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n IS_DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n });\n }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n } else if (event.stacktrace) {\n return event.stacktrace.frames;\n }\n return undefined;\n}\n","export * from './exports';\n\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\n\nlet windowIntegrations = {};\n\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nconst _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nconst INTEGRATIONS = {\n ...windowIntegrations,\n ...CoreIntegrations,\n ...BrowserIntegrations,\n};\n\nexport { INTEGRATIONS as Integrations, Transports };\n","export const SDK_VERSION = '6.19.7';\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Integration, Options } from '@sentry/types';\nimport { addNonEnumerableProperty, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n} & { initialized?: boolean };\n\n/**\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n return integrations.reduce((acc, integrations) => {\n if (acc.every(accIntegration => integrations.name !== accIntegration.name)) {\n acc.push(integrations);\n }\n return acc;\n }, [] as Integration[]);\n}\n\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options: Options): Integration[] {\n const defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n const userIntegrations = options.integrations;\n\n let integrations: Integration[] = [...filterDuplicates(defaultIntegrations)];\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = [\n ...integrations.filter(integrations =>\n userIntegrations.every(userIntegration => userIntegration.name !== integrations.name),\n ),\n // And filter out duplicated user options integrations\n ...filterDuplicates(userIntegrations),\n ];\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n const integrationsNames = integrations.map(i => i.name);\n const alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/** Setup given integration */\nexport function setupIntegration(integration: Integration): void {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n IS_DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options: O): IntegrationIndex {\n const integrations: IntegrationIndex = {};\n getIntegrationsToSetup(options).forEach(integration => {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n // set the `initialized` flag so we don't run through the process again unecessarily; use `Object.defineProperty`\n // because by default it creates a property which is nonenumerable, which we want since `initialized` shouldn't be\n // considered a member of the index the way the actual integrations are\n addNonEnumerableProperty(integrations, 'initialized', true);\n return integrations;\n}\n","/* eslint-disable max-lines */\nimport { Scope, Session } from '@sentry/hub';\nimport {\n Client,\n DsnComponents,\n Event,\n EventHint,\n Integration,\n IntegrationClass,\n Options,\n Severity,\n Transport,\n} from '@sentry/types';\nimport {\n checkOrSetAlreadyCaught,\n dateTimestampInSeconds,\n isPlainObject,\n isPrimitive,\n isThenable,\n logger,\n makeDsn,\n normalize,\n rejectedSyncPromise,\n resolvedSyncPromise,\n SentryError,\n SyncPromise,\n truncate,\n uuid4,\n} from '@sentry/utils';\n\nimport { Backend, BackendClass } from './basebackend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { IntegrationIndex, setupIntegrations } from './integration';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /**\n * The backend used to physically interact in the environment. Usually, this\n * will correspond to the client. When composing SDKs, however, the Backend\n * from the root SDK will be used.\n */\n protected readonly _backend: B;\n\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n /** Array of used integrations. */\n protected _integrations: IntegrationIndex = {};\n\n /** Number of calls being processed */\n protected _numProcessing: number = 0;\n\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n protected constructor(backendClass: BackendClass, options: O) {\n this._backend = new backendClass(options);\n this._options = options;\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._getBackend()\n .eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n const promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(String(message), level, hint)\n : this._getBackend().eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n IS_DEBUG_BUILD && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this._sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n session.update({ init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._getBackend().getTransport();\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return this.getTransport()\n .close(timeout)\n .then(transportFlushed => clientFinished && transportFlushed);\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n public setupIntegrations(): void {\n if (this._isEnabled() && !this._integrations.initialized) {\n this._integrations = setupIntegrations(this._options);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n try {\n return (this._integrations[integration.id] as T) || null;\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n session.update({\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /** Deliver captured session to Sentry */\n protected _sendSession(session: Session): void {\n this._getBackend().sendSession(session);\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Returns the current backend. */\n protected _getBackend(): B {\n return this._backend;\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = this.getOptions();\n const prepared: Event = {\n ...event,\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (evt) {\n // TODO this is more of the hack trying to solve https://github.com/getsentry/sentry-javascript/issues/2809\n // it is only attached as extra data to the event if the event somehow skips being normalized\n evt.sdkProcessingMetadata = {\n ...evt.sdkProcessingMetadata,\n normalizeDepth: `${normalize(normalizeDepth)} (${typeof normalizeDepth})`,\n };\n }\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n protected _normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n\n normalized.sdkProcessingMetadata = { ...normalized.sdkProcessingMetadata, baseClientNormalized: true };\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n protected _applyClientOptions(event: Event): void {\n const options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n protected _applyIntegrationsMetadata(event: Event): void {\n const integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n protected _sendEvent(event: Event): void {\n this._getBackend().sendEvent(event);\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n IS_DEBUG_BUILD && logger.error(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeSend, sampleRate } = this.getOptions();\n const transport = this.getTransport();\n\n type RecordLostEvent = NonNullable;\n type RecordLostEventParams = Parameters;\n\n function recordLostEvent(outcome: RecordLostEventParams[0], category: RecordLostEventParams[1]): void {\n if (transport.recordLostEvent) {\n transport.recordLostEvent(outcome, category);\n }\n }\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.'));\n }\n\n const isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n recordLostEvent('sample_rate', 'event');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, scope, hint)\n .then(prepared => {\n if (prepared === null) {\n recordLostEvent('event_processor', event.type || 'event');\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n const isInternalException = hint && hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n const beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n recordLostEvent('before_send', event.type || 'event');\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n const session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this._sendEvent(processedEvent);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason as Error,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv: PromiseLike | Event | null): PromiseLike | Event | null {\n const nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n","import { Envelope } from '@sentry/types';\n\nimport { isPrimitive } from './is';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as E;\n}\n\n/**\n * Get the type of the envelope. Grabs the type from the first envelope item.\n */\nexport function getEnvelopeType(envelope: E): string {\n const [, [[firstItemHeader]]] = envelope;\n return firstItemHeader.type;\n}\n\n/**\n * Serializes an envelope into a string.\n */\nexport function serializeEnvelope(envelope: Envelope): string {\n const [headers, items] = envelope;\n const serializedHeaders = JSON.stringify(headers);\n\n // Have to cast items to any here since Envelope is a union type\n // Fixed in Typescript 4.2\n // TODO: Remove any[] cast when we upgrade to TS 4.2\n // https://github.com/microsoft/TypeScript/issues/36390\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (items as any[]).reduce((acc, item: typeof items[number]) => {\n const [itemHeaders, payload] = item;\n // We do not serialize payloads that are primitives\n const serializedPayload = isPrimitive(payload) ? String(payload) : JSON.stringify(payload);\n return `${acc}\\n${JSON.stringify(itemHeaders)}\\n${serializedPayload}`;\n }, serializedHeaders);\n}\n","import {\n Event,\n EventEnvelope,\n EventItem,\n SdkInfo,\n SentryRequest,\n SentryRequestType,\n Session,\n SessionAggregates,\n SessionEnvelope,\n SessionItem,\n} from '@sentry/types';\nimport { createEnvelope, dsnToString, normalize, serializeEnvelope } from '@sentry/utils';\n\nimport { APIDetails, getEnvelopeEndpointWithUrlEncodedAuth, getStoreEndpointWithUrlEncodedAuth } from './api';\n\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(api: APIDetails): SdkInfo | undefined {\n if (!api.metadata || !api.metadata.sdk) {\n return;\n }\n const { name, version } = api.metadata.sdk;\n return { name, version };\n}\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event: Event, sdkInfo?: SdkInfo): Event {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nexport function createSessionEnvelope(\n session: Session | SessionAggregates,\n api: APIDetails,\n): [SessionEnvelope, SentryRequestType] {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n\n // I know this is hacky but we don't want to add `sessions` to request type since it's never rate limited\n const type = 'aggregates' in session ? ('sessions' as SentryRequestType) : 'session';\n\n // TODO (v7) Have to cast type because envelope items do not accept a `SentryRequestType`\n const envelopeItem = [{ type } as { type: 'session' | 'sessions' }, session] as SessionItem;\n const envelope = createEnvelope(envelopeHeaders, [envelopeItem]);\n\n return [envelope, type];\n}\n\n/** Creates a SentryRequest from a Session. */\nexport function sessionToSentryRequest(session: Session | SessionAggregates, api: APIDetails): SentryRequest {\n const [envelope, type] = createSessionEnvelope(session, api);\n return {\n body: serializeEnvelope(envelope),\n type,\n url: getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel),\n };\n}\n\n/**\n * Create an Envelope from an event. Note that this is duplicated from below,\n * but on purpose as this will be refactored in v7.\n */\nexport function createEventEnvelope(event: Event, api: APIDetails): EventEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n event,\n ];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event: Event, api: APIDetails): SentryRequest {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n const useEnvelope = eventType === 'transaction' || !!api.tunnel;\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n let body;\n try {\n // 99.9% of events should get through just fine - no change in behavior for them\n body = JSON.stringify(event);\n } catch (err) {\n // Record data about the error without replacing original event data, then force renormalization\n event.tags.JSONStringifyError = true;\n event.extra.JSONStringifyError = err;\n try {\n body = JSON.stringify(normalize(event));\n } catch (newErr) {\n // At this point even renormalization hasn't worked, meaning something about the event data has gone very wrong.\n // Time to cut our losses and record only the new error. With luck, even in the problematic cases we're trying to\n // debug with this hack, we won't ever land here.\n const innerErr = newErr as Error;\n body = JSON.stringify({\n message: 'JSON.stringify error after renormalization',\n // setting `extra: { innerErr }` here for some reason results in an empty object, so unpack manually\n extra: { message: innerErr.message, stack: innerErr.stack },\n });\n }\n }\n\n const req: SentryRequest = {\n // this is the relevant line of code before the hack was added, to make it easy to undo said hack once we've solved\n // the mystery\n // body: JSON.stringify(sdkInfo ? enhanceEventWithSdkInfo(event, api.metadata.sdk) : event),\n body,\n type: eventType,\n url: useEnvelope\n ? getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel)\n : getStoreEndpointWithUrlEncodedAuth(api.dsn),\n };\n\n // https://develop.sentry.dev/sdk/envelopes/\n\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n req.body,\n ];\n const envelope = createEnvelope(envelopeHeaders, [eventItem]);\n req.body = serializeEnvelope(envelope);\n }\n\n return req;\n}\n","import { Event, Response, Transport } from '@sentry/types';\nimport { resolvedSyncPromise } from '@sentry/utils';\n\n/** Noop transport */\nexport class NoopTransport implements Transport {\n /**\n * @inheritDoc\n */\n public sendEvent(_: Event): PromiseLike {\n return resolvedSyncPromise({\n reason: 'NoopTransport: Event has been skipped because no Dsn is configured.',\n status: 'skipped',\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(_?: number): PromiseLike {\n return resolvedSyncPromise(true);\n }\n}\n","import { Event, EventHint, Options, Session, Severity, Transport } from '@sentry/types';\nimport { logger, SentryError } from '@sentry/utils';\n\nimport { initAPIDetails } from './api';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { createEventEnvelope, createSessionEnvelope } from './request';\nimport { NewTransport } from './transports/base';\nimport { NoopTransport } from './transports/noop';\n\n/**\n * Internal platform-dependent Sentry SDK Backend.\n *\n * While {@link Client} contains business logic specific to an SDK, the\n * Backend offers platform specific implementations for low-level operations.\n * These are persisting and loading information, sending events, and hooking\n * into the environment.\n *\n * Backends receive a handle to the Client in their constructor. When a\n * Backend automatically generates events, it must pass them to\n * the Client for validation and processing first.\n *\n * Usually, the Client will be of corresponding type, e.g. NodeBackend\n * receives NodeClient. However, higher-level SDKs can choose to instantiate\n * multiple Backends and delegate tasks between them. In this case, an event\n * generated by one backend might very well be sent by another one.\n *\n * The client also provides access to options via {@link Client.getOptions}.\n * @hidden\n */\nexport interface Backend {\n /** Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventFromException(exception: any, hint?: EventHint): PromiseLike;\n\n /** Creates an {@link Event} from primitive inputs to `captureMessage`. */\n eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike;\n\n /** Submits the event to Sentry */\n sendEvent(event: Event): void;\n\n /** Submits the session to Sentry */\n sendSession(session: Session): void;\n\n /**\n * Returns the transport that is used by the backend.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n *\n * @returns The transport.\n */\n getTransport(): Transport;\n}\n\n/**\n * A class object that can instantiate Backend objects.\n * @hidden\n */\nexport type BackendClass = new (options: O) => B;\n\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nexport abstract class BaseBackend implements Backend {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** Cached transport used internally. */\n protected _transport: Transport;\n\n /** New v7 Transport that is initialized alongside the old one */\n protected _newTransport?: NewTransport;\n\n /** Creates a new backend instance. */\n public constructor(options: O) {\n this._options = options;\n if (!this._options.dsn) {\n IS_DEBUG_BUILD && logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public eventFromException(_exception: any, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromException` method');\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(_message: string, _level?: Severity, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): void {\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const env = createEventEnvelope(event, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n } else {\n void this._transport.sendEvent(event).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): void {\n if (!this._transport.sendSession) {\n IS_DEBUG_BUILD && logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const [env] = createSessionEnvelope(session, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n } else {\n void this._transport.sendSession(session).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._transport;\n }\n\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n protected _setupTransport(): Transport {\n return new NoopTransport();\n }\n}\n","import { SentryError } from './error';\nimport { rejectedSyncPromise, resolvedSyncPromise, SyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n // eslint-disable-next-line no-plusplus\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n","// Keeping the key broad until we add the new transports\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nexport function disabledUntil(limits: RateLimits, category: string): number {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, category: string, now: number = Date.now()): boolean {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n headers: Record,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
,
,..\n * where each
is of the form\n * : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const parameters = limit.split(':', 2);\n const headerDelay = parseInt(parameters[0], 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!parameters[1]) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of parameters[1].split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n }\n\n return updatedRateLimits;\n}\n","import { EventStatus } from '@sentry/types';\n/**\n * Converts an HTTP status code to sentry status {@link EventStatus}.\n *\n * @param code number HTTP status code\n * @returns EventStatus\n */\nexport function eventStatusFromHttpCode(code: number): EventStatus {\n if (code >= 200 && code < 300) {\n return 'success';\n }\n\n if (code === 429) {\n return 'rate_limit';\n }\n\n if (code >= 400 && code < 500) {\n return 'invalid';\n }\n\n if (code >= 500) {\n return 'failed';\n }\n\n return 'unknown';\n}\n","import { Envelope, EventStatus } from '@sentry/types';\nimport {\n disabledUntil,\n eventStatusFromHttpCode,\n getEnvelopeType,\n isRateLimited,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n rejectedSyncPromise,\n resolvedSyncPromise,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nexport const ERROR_TRANSPORT_CATEGORY = 'error';\n\nexport const TRANSACTION_TRANSPORT_CATEGORY = 'transaction';\n\nexport const ATTACHMENT_TRANSPORT_CATEGORY = 'attachment';\n\nexport const SESSION_TRANSPORT_CATEGORY = 'session';\n\ntype TransportCategory =\n | typeof ERROR_TRANSPORT_CATEGORY\n | typeof TRANSACTION_TRANSPORT_CATEGORY\n | typeof ATTACHMENT_TRANSPORT_CATEGORY\n | typeof SESSION_TRANSPORT_CATEGORY;\n\nexport type TransportRequest = {\n body: string;\n category: TransportCategory;\n};\n\nexport type TransportMakeRequestResponse = {\n body?: string;\n headers?: {\n [key: string]: string | null;\n 'x-sentry-rate-limits': string | null;\n 'retry-after': string | null;\n };\n reason?: string;\n statusCode: number;\n};\n\nexport type TransportResponse = {\n status: EventStatus;\n reason?: string;\n};\n\ninterface InternalBaseTransportOptions {\n bufferSize?: number;\n}\n\nexport interface BaseTransportOptions extends InternalBaseTransportOptions {\n // url to send the event\n // transport does not care about dsn specific - client should take care of\n // parsing and figuring that out\n url: string;\n}\n\n// TODO: Move into Browser Transport\nexport interface BrowserTransportOptions extends BaseTransportOptions {\n // options to pass into fetch request\n fetchParams: Record;\n headers?: Record;\n sendClientReports?: boolean;\n}\n\nexport interface NewTransport {\n send(request: Envelope): PromiseLike;\n flush(timeout?: number): PromiseLike;\n}\n\nexport type TransportRequestExecutor = (request: TransportRequest) => PromiseLike;\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates a `NewTransport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n): NewTransport {\n let rateLimits: RateLimits = {};\n\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const envCategory = getEnvelopeType(envelope);\n const category = envCategory === 'event' ? 'error' : (envCategory as TransportCategory);\n const request: TransportRequest = {\n category,\n body: serializeEnvelope(envelope),\n };\n\n // Don't add to buffer if transport is already rate-limited\n if (isRateLimited(rateLimits, category)) {\n return rejectedSyncPromise({\n status: 'rate_limit',\n reason: getRateLimitReason(rateLimits, category),\n });\n }\n\n const requestTask = (): PromiseLike =>\n makeRequest(request).then(({ body, headers, reason, statusCode }): PromiseLike => {\n const status = eventStatusFromHttpCode(statusCode);\n if (headers) {\n rateLimits = updateRateLimits(rateLimits, headers);\n }\n if (status === 'success') {\n return resolvedSyncPromise({ status, reason });\n }\n return rejectedSyncPromise({\n status,\n reason:\n reason ||\n body ||\n (status === 'rate_limit' ? getRateLimitReason(rateLimits, category) : 'Unknown transport error'),\n });\n });\n\n return buffer.add(requestTask);\n }\n\n return {\n send,\n flush,\n };\n}\n\nfunction getRateLimitReason(rateLimits: RateLimits, category: TransportCategory): string {\n return `Too many ${category} requests, backing off until: ${new Date(\n disabledUntil(rateLimits, category),\n ).toISOString()}`;\n}\n","import { forget, getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\nconst global = getGlobalObject();\nlet cachedFetchImpl: FetchImpl;\n\nexport type FetchImpl = typeof fetch;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n /* eslint-disable @typescript-eslint/unbound-method */\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n const document = global.document;\n let fetchImpl = global.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nexport function sendReport(url: string, body: string): void {\n const isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n const hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n const sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n return sendBeacon(url, body);\n }\n\n if (supportsFetch()) {\n const fetch = getNativeFetchImplementation();\n return forget(\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }),\n );\n }\n}\n","/**\n * Consumes the promise and logs the error when it rejects.\n * @param promise A promise to forget.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function forget(promise: PromiseLike): void {\n void promise.then(null, e => {\n // TODO: Use a better logging mechanism\n // eslint-disable-next-line no-console\n console.error(e);\n });\n}\n","import {\n APIDetails,\n eventToSentryRequest,\n getEnvelopeEndpointWithUrlEncodedAuth,\n getStoreEndpointWithUrlEncodedAuth,\n initAPIDetails,\n sessionToSentryRequest,\n} from '@sentry/core';\nimport {\n ClientReport,\n Event,\n Outcome,\n Response as SentryResponse,\n SentryRequest,\n SentryRequestType,\n Session,\n Transport,\n TransportOptions,\n} from '@sentry/types';\nimport {\n createClientReportEnvelope,\n disabledUntil,\n dsnToString,\n eventStatusFromHttpCode,\n getGlobalObject,\n isRateLimited,\n logger,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { sendReport } from './utils';\n\nfunction requestTypeToCategory(ty: SentryRequestType): string {\n const tyStr = ty as string;\n return tyStr === 'event' ? 'error' : tyStr;\n}\n\nconst global = getGlobalObject();\n\n/** Base Transport class implementation */\nexport abstract class BaseTransport implements Transport {\n /**\n * @deprecated\n */\n public url: string;\n\n /** Helper to get Sentry API endpoints. */\n protected readonly _api: APIDetails;\n\n /** A simple buffer holding all requests. */\n protected readonly _buffer: PromiseBuffer = makePromiseBuffer(30);\n\n /** Locks transport after receiving rate limits in a response */\n protected _rateLimits: RateLimits = {};\n\n protected _outcomes: { [key: string]: number } = {};\n\n public constructor(public options: TransportOptions) {\n this._api = initAPIDetails(options.dsn, options._metadata, options.tunnel);\n // eslint-disable-next-line deprecation/deprecation\n this.url = getStoreEndpointWithUrlEncodedAuth(this._api.dsn);\n\n if (this.options.sendClientReports && global.document) {\n global.document.addEventListener('visibilitychange', () => {\n if (global.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this._buffer.drain(timeout);\n }\n\n /**\n * @inheritDoc\n */\n public recordLostEvent(reason: Outcome, category: SentryRequestType): void {\n if (!this.options.sendClientReports) {\n return;\n }\n // We want to track each category (event, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n const key = `${requestTypeToCategory(category)}:${reason}`;\n IS_DEBUG_BUILD && logger.log(`Adding outcome: ${key}`);\n this._outcomes[key] = (this._outcomes[key] ?? 0) + 1;\n }\n\n /**\n * Send outcomes as an envelope\n */\n protected _flushOutcomes(): void {\n if (!this.options.sendClientReports) {\n return;\n }\n\n const outcomes = this._outcomes;\n this._outcomes = {};\n\n // Nothing to send\n if (!Object.keys(outcomes).length) {\n IS_DEBUG_BUILD && logger.log('No outcomes to flush');\n return;\n }\n\n IS_DEBUG_BUILD && logger.log(`Flushing outcomes:\\n${JSON.stringify(outcomes, null, 2)}`);\n\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._api.dsn, this._api.tunnel);\n\n const discardedEvents = Object.keys(outcomes).map(key => {\n const [category, reason] = key.split(':');\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n // TODO: Improve types on discarded_events to get rid of cast\n }) as ClientReport['discarded_events'];\n const envelope = createClientReportEnvelope(discardedEvents, this._api.tunnel && dsnToString(this._api.dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n IS_DEBUG_BUILD && logger.error(e);\n }\n }\n\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n protected _handleResponse({\n requestType,\n response,\n headers,\n resolve,\n reject,\n }: {\n requestType: SentryRequestType;\n response: Response | XMLHttpRequest;\n headers: Record;\n resolve: (value?: SentryResponse | PromiseLike | null | undefined) => void;\n reject: (reason?: unknown) => void;\n }): void {\n const status = eventStatusFromHttpCode(response.status);\n\n this._rateLimits = updateRateLimits(this._rateLimits, headers);\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(requestType)) {\n IS_DEBUG_BUILD &&\n // eslint-disable-next-line deprecation/deprecation\n logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);\n }\n\n if (status === 'success') {\n resolve({ status });\n return;\n }\n\n reject(response);\n }\n\n /**\n * Gets the time that given category is disabled until for rate limiting\n *\n * @deprecated Please use `disabledUntil` from @sentry/utils\n */\n protected _disabledUntil(requestType: SentryRequestType): Date {\n const category = requestTypeToCategory(requestType);\n return new Date(disabledUntil(this._rateLimits, category));\n }\n\n /**\n * Checks if a category is rate limited\n *\n * @deprecated Please use `isRateLimited` from @sentry/utils\n */\n protected _isRateLimited(requestType: SentryRequestType): boolean {\n const category = requestTypeToCategory(requestType);\n return isRateLimited(this._rateLimits, category);\n }\n\n protected abstract _sendRequest(\n sentryRequest: SentryRequest,\n originalPayload: Event | Session,\n ): PromiseLike;\n}\n","import { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n","import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';\nimport { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\n/** `fetch` based transport */\nexport class FetchTransport extends BaseTransport {\n /**\n * Fetch API reference which always points to native browser implementation.\n */\n private _fetch: typeof fetch;\n\n public constructor(options: TransportOptions, fetchImpl: FetchImpl = getNativeFetchImplementation()) {\n super(options);\n this._fetch = fetchImpl;\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n const options: RequestInit = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : '') as ReferrerPolicy,\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n void this._fetch(sentryRequest.url, options)\n .then(response => {\n const headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n this._handleResponse({\n requestType: sentryRequest.type,\n response,\n headers,\n resolve,\n reject,\n });\n })\n .catch(reject);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { SentryError, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = (): void => {\n if (request.readyState === 4) {\n const headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n this._handleResponse({ requestType: sentryRequest.type, response: request, headers, resolve, reject });\n }\n };\n\n request.open('POST', sentryRequest.url);\n for (const header in this.options.headers) {\n if (Object.prototype.hasOwnProperty.call(this.options.headers, header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { BaseBackend, getEnvelopeEndpointWithUrlEncodedAuth, initAPIDetails } from '@sentry/core';\nimport { Event, EventHint, Options, Severity, Transport, TransportOptions } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, makeNewFetchTransport, makeNewXHRTransport, XHRTransport } from './transports';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see BrowserClient for more information.\n */\nexport interface BrowserOptions extends Options {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n\n /** @deprecated use {@link Options.allowUrls} instead. */\n whitelistUrls?: Array;\n\n /** @deprecated use {@link Options.denyUrls} instead. */\n blacklistUrls?: Array;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class BrowserBackend extends BaseBackend {\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike {\n return eventFromMessage(message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions: TransportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n sendClientReports: this._options.sendClientReports,\n _metadata: this._options._metadata,\n };\n\n const api = initAPIDetails(transportOptions.dsn, transportOptions._metadata, transportOptions.tunnel);\n const url = getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel);\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n const requestOptions: RequestInit = { ...transportOptions.fetchParameters };\n this._newTransport = makeNewFetchTransport({ requestOptions, url });\n return new FetchTransport(transportOptions);\n }\n\n this._newTransport = makeNewXHRTransport({\n url,\n headers: transportOptions.headers,\n });\n return new XHRTransport(transportOptions);\n }\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\n\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\nexport interface FetchTransportOptions extends BaseTransportOptions {\n requestOptions?: RequestInit;\n}\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeNewFetchTransport(\n options: FetchTransportOptions,\n nativeFetch: FetchImpl = getNativeFetchImplementation(),\n): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n ...options.requestOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => {\n return response.text().then(body => ({\n body,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n reason: response.statusText,\n statusCode: response.status,\n }));\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nconst XHR_READYSTATE_DONE = 4;\n\nexport interface XHRTransportOptions extends BaseTransportOptions {\n headers?: { [key: string]: string };\n}\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nexport function makeNewXHRTransport(options: XHRTransportOptions): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n return new SyncPromise((resolve, _reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = (): void => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n const response = {\n body: xhr.response,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n reason: xhr.statusText,\n statusCode: xhr.status,\n };\n resolve(response);\n }\n };\n\n xhr.open('POST', options.url);\n\n for (const header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';\nimport { Event, EventHint } from '@sentry/types';\nimport { getGlobalObject, logger } from '@sentry/utils';\n\nimport { BrowserBackend, BrowserOptions } from './backend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { injectReportDialog, ReportDialogOptions } from './helpers';\nimport { Breadcrumbs } from './integrations';\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserOptions = {}) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(BrowserBackend, options);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n const document = getGlobalObject().document;\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n injectReportDialog({\n ...options,\n dsn: options.dsn || this.getDsn(),\n });\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _sendEvent(event: Event): void {\n const integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n super._sendEvent(event);\n }\n}\n","import {} from '@sentry/integrations';\nimport * as Sentry from '@sentry/react';\nimport { FeatureAppConfig } from 'src';\nimport { Dependencies } from 'src/feature-app';\n\nconst getOptions = (stage: 'dev' | string): Sentry.BrowserOptions => {\n return {\n dsn: 'https://c72951f5b7c54e769470906bceb05c92@o192159.ingest.sentry.io/6118409',\n integrations: [\n new Sentry.Integrations.InboundFilters(),\n new Sentry.Integrations.FunctionToString(),\n new Sentry.Integrations.TryCatch(),\n new Sentry.Integrations.Breadcrumbs({ console: true, dom: true, fetch: true, history: true, xhr: true }),\n new Sentry.Integrations.GlobalHandlers(),\n new Sentry.Integrations.LinkedErrors(),\n new Sentry.Integrations.Dedupe(),\n new Sentry.Integrations.UserAgent(),\n ],\n tracesSampleRate: 1,\n environment: stage === 'dev' ? 'Stage' : 'Prod',\n release: process.env.VERSION,\n\n beforeSend: (event: Sentry.Event) => {\n // Solo reportamos los errores en producción\n // if (stage === 'dev') {\n // return null;\n // }\n event.exception.values = event.exception.values.map(value => {\n value.mechanism.handled = false;\n return value;\n });\n return event;\n },\n };\n};\n\nlet sentryHub: Sentry.Hub = null;\n\nexport const initSentry = (featureServices: Dependencies, config: FeatureAppConfig) => {\n const stageCustomConfig = featureServices['service-config-provider'].configs?.stage?.customConfig;\n const faContent = featureServices['fa-content-service'].content;\n\n const client = new Sentry.BrowserClient(getOptions(stageCustomConfig?.stage));\n const hub = new Sentry.Hub(client);\n // Sentry.makeMain(hub); // Desactivado ya que provoca que se reporten errores de otros proyectos.\n hub.setContext('Feature App Config', { ...config });\n hub.setContext('Feature App Content', { ...faContent });\n setSentryHub(hub);\n return { hub };\n};\n\nexport const getSentryHub = () => sentryHub;\n\nexport const setSentryTag = (tag:string, value: string) => {\n sentryHub.setTag(tag, value);\n};\n\nconst setSentryHub = (newHub: Sentry.Hub) => {\n sentryHub = newHub;\n};\n","import dayjs from 'dayjs';\nimport { Store } from 'redux';\nimport { getOption, getModelFilter, getWheelsParams } from 'src/bff';\nimport { emptyConfigurationFromVicci } from 'src/feature-app/tracking-objects';\nimport {\n TrackingConfiguration,\n TrackingEventInfo,\n TrackingForm,\n TrackingLink,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, FormInfo, OneFormState, Slot, Steps } from 'src/types';\n\nexport const createTrackingLink = (name?: string): TrackingLink | undefined => {\n return {\n url: window ? window.location.href : undefined,\n name: name ? name : undefined,\n };\n};\n\nexport const createPartner = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, dealersInfo } = store.getState();\n const { dealer } = formData.fields;\n const { selectedDealer } = dealersInfo;\n\n const dealerFromStore = dealer ? dealer : selectedDealer ? selectedDealer : undefined;\n\n const dealerToUse = dealerData ? dealerData : dealerFromStore;\n\n return {\n informationBnr: dealerToUse?.kvps,\n informationDepartment: undefined,\n informationZIP: dealerToUse?.markerInfo?.dealerInfo?.zipCode,\n informationName: dealerToUse?.name,\n };\n};\n\nexport const createPartnerWithSearch = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, formInfo } = store.getState();\n const basePartner = createPartner(store, dealerData);\n const SearchType = formInfo.suggestionIsDealer\n ? 'DealerSuggestion'\n : !formInfo.suggestionIsDealer\n ? 'GooglePlacesSuggestion'\n : undefined;\n\n return {\n ...basePartner,\n SearchSearchTerm: formData.fields.location,\n SearchType,\n SearchNumberOfResults: undefined,\n };\n};\n\nconst getStepNumber = (formInfo: FormInfo) => {\n const { step } = formInfo;\n\n if (!step) return undefined;\n\n return String(step.screenIndex + 1);\n};\n\nconst getStepName = (formInfo: FormInfo, processInfo?: TrackingProcess): string | undefined => {\n if (processInfo) return processInfo.StepName;\n\n const { step, multiStepScreenIndex, multiSteps } = formInfo;\n\n if (!step) {\n return undefined;\n }\n if (step.multiStep && multiStepScreenIndex >= 0) {\n return multiSteps && multiSteps[multiStepScreenIndex].name ? multiSteps[multiStepScreenIndex].name : undefined;\n } // Devolvemos el nombre del step dentro del multsitep.\n\n\n if(formInfo.formSubmitted) return 'ThankYou';\n\n return step.name ? step.name : undefined;\n};\n\nexport const createTrackingProcess = (store: Store, processInfo?: TrackingProcess): TrackingProcess => {\n const { formInfo } = store.getState();\n\n let StepName = getStepName(formInfo, processInfo);\n let StepNumber = getStepNumber(formInfo);\n\n return {\n StepName,\n StepNumber,\n };\n};\n\nexport const getFormAppointments = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { slot }: { slot?: Slot } = formData.fields;\n\n let Appointments;\n let NumberOfAppointments;\n\n if (slot) {\n Appointments = [dayjs(slot.from).utc().format('YYYY-MM-DDTHH:mm:ss[Z]')];\n NumberOfAppointments = 1;\n }\n return {\n Appointments,\n NumberOfAppointments,\n };\n};\n\nexport const getMarketingConsent = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { lssi, tmk } = formData.fields;\n\n if (!lssi || !tmk) {\n return {\n MarketingConsent: [],\n };\n }\n\n return {\n MarketingConsent: [\n {\n comunicaciones: lssi === 'PERMITE',\n perfilado: tmk === 'PERMITE',\n },\n ],\n };\n};\n\nexport const getBaseEventInfo = (store: Store, brand: 'V' | 'N'): TrackingEventInfo => {\n const { pageCategory } = store.getState().formData.fields;\n\n const baseEventInfo: TrackingEventInfo = {\n brand: brand === 'N' ? 'commercial' : 'passenger',\n pageCategory,\n sectionName: undefined,\n templateType: 'Feature App Template',\n };\n return baseEventInfo;\n};\n\nexport const getCompleteConfigurationFromVicci = (vicciData: VicciData): TrackingConfiguration => {\n if (!vicciData) return emptyConfigurationFromVicci;\n\n const { vehicleConfiguration } = vicciData.consolidatedData;\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(vicciData.featuresData.vehicleCatalogue.features);\n return {\n ...emptyConfigurationFromVicci,\n ModelId: vehicleConfiguration.modelKey.split('$')[0],\n ModelModelVersion: vehicleConfiguration.modelVersion,\n ModelName: vehicleConfiguration.modelName,\n ModelYear: vehicleConfiguration.modelYear,\n ExteriorColorCode: vehicleConfiguration.exterior?.code,\n ExteriorColorName: vehicleConfiguration.exterior?.name,\n InteriorColorCode: vehicleConfiguration.interior?.code,\n InteriorColorName: vehicleConfiguration.interior?.name,\n WheelsBasicId: COD_VEH_WHEELS,\n WheelsBasicName: DESC_VEH_WHEELS,\n };\n};\n\nexport const getCarlineConfigurationFromMkc = (marketingCode: any): TrackingConfiguration => {\n if (!marketingCode) return {};\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCode.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",marketingCode.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCode.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCode.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCode.content.consolidatedData.meta.modelFilter);\n\n return {\n CarlineId: marketingCode.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: marketingCode.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n};\n\nexport const getCarlineConfiguration = (store: Store): TrackingConfiguration => {\n const { dealersInfo, formData } = store.getState();\n const { selectedCarline, oferta, salesGroup, match } = dealersInfo;\n const { vicciData, matchMarketingCodeData, marketingCodeResponse } = formData.fields;\n\n if (marketingCodeResponse) {\n return getCarlineConfigurationFromMkc(marketingCodeResponse);\n }\n\n let configuration: TrackingConfiguration = {};\n if (selectedCarline) {\n configuration = {\n CarlineId: String(selectedCarline.code),\n CarlineName: selectedCarline.title,\n };\n }\n if (oferta) {\n configuration = {\n ...configuration,\n CarlineId: String(oferta.carline.code),\n CarlineName: oferta.carline.title,\n };\n }\n if (salesGroup) {\n configuration = {\n ...configuration,\n SalesgroupId: salesGroup.salesGroupId,\n SalesgroupName: salesGroup.salesGroupName,\n };\n }\n\n if (match && matchMarketingCodeData) {\n configuration = {\n ...configuration\n };\n }\n return configuration;\n};\n","import { TrackingConfiguration, TrackingOwnership, TrackingPersonalization, TrackingUser } from './tracking-types';\n\nexport const emptyPersonalization: TrackingPersonalization = {\n status: false,\n moduleId: undefined,\n placeholderId: undefined,\n contentId: undefined,\n activityId: undefined,\n personalizable: undefined,\n activityName: undefined,\n experienceId: undefined,\n experienceName: undefined,\n offerId: undefined,\n offerName: undefined,\n};\n\nexport const emptyPriceConfiguration: TrackingConfiguration = {\n PriceType: 'price',\n PriceTypeParameter: undefined,\n PriceRateCurrency: undefined,\n PriceRateBasic: undefined,\n PriceRateAdditional: undefined,\n PriceRateTotal: undefined,\n PriceRateType: undefined,\n PriceTotalCurrency: undefined,\n PriceTotalBasic: undefined,\n PriceTotalAdditional: undefined,\n PriceTotalTotal: undefined,\n};\n\nexport const emptyCarlineConfig: TrackingConfiguration = {\n SalesgroupId: undefined,\n SalesgroupName: undefined,\n EquipmentlineName: undefined,\n CarlineId: undefined,\n CarlineName: undefined,\n};\n\nexport const emptyLatLongZip: TrackingUser = {\n locationLatitude: undefined,\n locationLongitude: undefined,\n locationZIP: undefined,\n};\n\nexport const emptyConfig = { ...emptyPriceConfiguration, ...emptyCarlineConfig };\n\nexport const emptyOwnership: TrackingOwnership = {\n vehicle: undefined,\n};\n\nexport const emptyConfigurationFromVicci = {\n CarlineIsRecommendation: undefined,\n SalesgroupIsRecommendation: undefined,\n BodyTypeName: undefined,\n PriceTotalTotal: undefined,\n ModelId: undefined,\n ModelTrimFeatures: undefined,\n ModelModelVersion: undefined,\n ModelIsRecommendation: undefined,\n ModelName: undefined,\n ModelDriveType: undefined,\n ModelGearType: undefined,\n ModelYear: undefined,\n EnginePowerHPKW: undefined,\n EngineFuelTypePrimary: undefined,\n EngineFuelTypeNonPrimary: undefined,\n ConsumptionCombinedPrimary: undefined,\n ConsumptionCombinedNonPrimary: undefined,\n EmissionConsumptionEfficiencyClass: undefined,\n EmissionConsumptionTestingMethod: undefined,\n ExteriorColorCode: undefined,\n ExteriorColorName: undefined,\n ExteriorColorIsRecommendation: undefined,\n InteriorColorCode: undefined,\n InteriorColorName: undefined,\n InteriorColorIsRecommendation: undefined,\n WheelsBasicId: undefined,\n WheelsBasicName: undefined,\n WheelsBasicIsRecommendation: undefined,\n PriceCurrency: undefined,\n PriceBasis: undefined,\n PriceExterior: undefined,\n PriceOptions: undefined,\n PriceTotalConfiguration: undefined,\n PriceCampaignID: undefined,\n PriceCampaignDescription: undefined,\n PriceCampaignValue: undefined,\n PriceCustomerType: undefined,\n OptionsNumber: undefined,\n OptionsList: undefined,\n};\n","import {\n\tLayout,\n\tBreakpoints,\n\tContainer,\n\tText,\n\tImage,\n\tTextAlignment,\n\tTokenTextAppearance,\n\tCTA,\n\tContainerGutter,\n\tstyled,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { ActionType } from './AutosubmitController';\n\nconst ThankYouAutosubmitWrapper = styled.div`\n\tposition: relative;\n\tleft: 0;\n\tmargin-left: calc(var(--size-grid004) * -1);\n\tmargin-right: calc(var(--size-grid004) * -1);\n\n\t& > div > div > div > div > div:first-child {\n\t\twidth: 70%;\n\t}\n\n\t& img {\n\t\tobject-fit: cover;\n\t\theight: 80vh;\n\t}\n\n\t@media (max-width: 959px) {\n\t\t& > div > div > div > div > div:first-child {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& img {\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t@media (max-width: 559px) {\n\t\tmargin-left: calc(var(--size-grid002) * -1);\n\t\tmargin-right: calc(var(--size-grid002) * -1);\n\t}\n`;\n\ninterface Props {\n\taction: string;\n}\n\nexport const ThankYouAutosubmit = (props: Props) => {\n\tconst { action } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst { formResponse } = formInfo;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: 0, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{action == ActionType.ClubVWUnsubscribeEmail ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tHemos procesado tu solicitud de baja con éxito.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSi necesitas más información, no dudes en contactar con nosotros. ¡Hasta pronto!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tGenial, ¡gracias!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA partir de ahora te informaremos de todas las novedades para que no te pierdas nada sobre nuestros 100%\n\t\t\t\t\t\t\t\teléctricos, la Gama ID. ¡Disfruta de un presente electrizante!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDescubre más sobre nuestros eléctricos\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../dps-utils';\nimport { dpsSend, oneformBFFNdpsSend } from 'src/bff';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { GenericErrorLayer, LoadingEncuestas } from 'src/components';\nimport {\n\tgetParamsForm,\n\tuseFeatureServices,\n\tremoveWhiteSpace,\n\tuseNavigate,\n\tuseTrackingManager,\n\tgetTrackingForm,\n} from 'src/feature-app';\nimport { FormDataGroup, IdPerson, OneFormState } from 'src/types';\nimport { useDispatch, useStore } from 'react-redux';\nimport { TestIDForm } from '../FormsAdhoc/TestID2023/TestIDForm';\nimport { PlanIdealForm } from '../FormsAdhoc/2023PlanIdeal/PlanIdealForm';\nimport { ThankYouAutosubmit } from './ThankYouAutosubmit';\n\nexport enum ActionType {\n\tClubVWUnsubscribeEmail = 'clubvw-unsubscribe-email',\n\tNewsletterElectricos = 'newsletter-electricos',\n\tNewsletterElectricosAdhoc2023TestID = 'newsletter-electricos-adhoc-2023-test_id',\n\tNewsletterElectricosAdhoc2023PlanIdeal = 'newsletter-electricos-adhoc-2023-plan_ideal',\n}\n\ninterface AutosubmitControllerProps {\n\taction: string;\n}\n\nexport function AutosubmitController({ action }: AutosubmitControllerProps): JSX.Element | null {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(false);\n\tconst [showThankYou, setShowThankYou] = useState(false);\n\tconst [renderTestID, setRenderTestID] = useState(false);\n\tconst [renderPlanIdeal, setRenderPlanIdeal] = useState(false);\n\n\tconst dpsDataRef = useRef(null);\n\tconst idPersonRef = useRef(null);\n\tconst oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst { navigateTo } = useNavigate();\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\n\tlet initialData: Partial = {};\n\n\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDPS_TOKEN: 'VW_DDB_CLUB_UNSUSCRIBE_EMAIL',\n\t\t\t\tFORM_OBJECTIVE: 'Club Volkswagen',\n\t\t\t\tFORM_NAME: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Club Volkswagen',\n\t\t\t},\n\t\t};\n\t} else {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDESC_BRAND: 'VW',\n\t\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t\tDESC_TOKEN: 'VW_DDB_FRM_NEWSLETTER_ELECTRICOS',\n\t\t\t\tDESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n\t\t\t\tCOD_FORM_ID: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Suscripción Newsletter',\n\t\t\t},\n\t\t};\n\t}\n\n\tdispatch({ type: 'UPDATE_FORM', payload: { ...initialData } });\n\n\tconst sendNewsletterElectricosForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\tconst { fields } = formData;\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[DESC_URLORIGIN]': url,\n\t\t\t\t'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n\t\t\t\t'headers[DESC_DEVICETYPE]': device,\n\t\t\t\t'headers[DESC_ID_CAMPAIGN]': '7011n000000SLXMAA4',\n\t\t\t\t'headers[FECHA_INSERTION_DATE]': today,\n\t\t\t\t'headers[TC]': tc,\n\t\t\t\t'headers[DESC_VN_VO]': 'VN',\n\n\t\t\t\t'fields[DESC_NAME]': idPerson?.FirstName ? idPerson.FirstName : null,\n\t\t\t\t'fields[DESC_SURNAME_1]': idPerson?.LastName ? idPerson.LastName : null,\n\n\t\t\t\t'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'fields[DESC_EMAIL_ADDRESS]':\n\t\t\t\t\tidPerson && idPerson.TXT_Email__c ? idPerson.TXT_Email__c : removeWhiteSpace(fields.email),\n\t\t\t\t'fields[DESC_LOPD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LSSI]': 'NO INFORMADO',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await dpsSend(formData);\n\n\t\t\tif (response && response.data?.content?.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tswitch (action) {\n\t\t\t\t\tcase ActionType.NewsletterElectricos:\n\t\t\t\t\t\tnavigateTo('inscripcion-newsletter-electricos');\n\t\t\t\t\t\t//setShowThankYou(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023TestID: // Render de form Test ID como continuación\n\t\t\t\t\t\tsetRenderTestID(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023PlanIdeal: // Render de Plan Ideal como continuación\n\t\t\t\t\t\tsetRenderPlanIdeal(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t}\n\t\t});\n\t};\n\n\tconst sendClubVWUnsubscribeForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\t\tconst dpsData: DpsData = dpsDataRef.current;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_DETAILS]': 'Unsubscribe Email',\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t\t'headers[SF_CAMPAIGN_NAME]': 'PENDIENTE',\n\t\t\t\t//'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t\t'headers[FK_SYSTEM]': idPerson && idPerson.Id ? idPerson.Id : '',\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[PERSON_NAME]': idPerson && idPerson.FirstName ? idPerson.FirstName : '',\n\t\t\t\t'fields[PERSON_SURNAME_1]': idPerson && idPerson.LastName ? idPerson.LastName : '',\n\t\t\t\t'fields[PERSON_SURNAME_2]': idPerson && idPerson.MiddleName ? idPerson.MiddleName : '',\n\t\t\t\t'fields[PERSON_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : '',\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson && idPerson.PersonMobilePhone ? idPerson.PersonMobilePhone : '',\n\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': 'NO INFORMADO',\n\n\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tnavigateTo('clubvw-unsubscribe-email-thankyou');\n\t\t\t\t//setShowThankYou(true);\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst handleComplete = () => {\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON');\n\t\ttrackingManager.trackFormLayerLoad();\n\t\tdpsDataRef.current = dpsData;\n\t\tidPersonRef.current = idPerson;\n\n\t\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendClubVWUnsubscribeForm();\n\t\t\t}\n\t\t} else if (action == ActionType.NewsletterElectricos) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendNewsletterElectricosForm();\n\t\t\t}\n\t\t} else {\n\t\t\tsendNewsletterElectricosForm(); // Presubmit para mostrar forms adhoc\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = () => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (showThankYou) {\n\t\treturn ;\n\t} else if (renderTestID) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t} else if (renderPlanIdeal) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t}\n\treturn null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, removeWhiteSpace } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouBaja, BajaComunicacionesFields } from '.';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { IdPerson } from 'src/types';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\n\ninterface BajaComunicacionesProps {\n idPerson: IdPerson;\n dpsData: DpsData;\n}\n\nexport const BajaComunicacionesForm = (props: BajaComunicacionesProps) => {\n const { initializeForm } = useOneFormContext();\n const { idPerson, dpsData } = props;\n const store = useStore();\n const dispatch = useDispatch();\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: } />,\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n let NuevoFormData: Partial = {\n headers: {\n DPS_TOKEN: 'VW_DDB_FRM_BAJA_COMUNICACIONES',\n FORM_OBJECTIVE: 'Baja Comunicaciones',\n FORM_NAME: 'vw-oneform-baja-comunicaciones',\n },\n fields: {\n formName: 'baja-comunicaciones',\n formType: 'otherform',\n pageCategory: 'Baja Comunicaciones',\n }// Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { headers, fields, flags } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[FORM_REFERER]': url,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[FORM_VERSION]': `vw-oneform-baja-comunicaciones-${process.env.VERSION}`,\n 'headers[FK_SYSTEM]': idPerson && idPerson.Id ? idPerson.Id : '',\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : removeWhiteSpace(fields.email),\n 'fields[PERSON_UNSUBSCRIBE_REASON]': fields.motivoBaja,\n 'fields[COMMENTS_PERSON]': fields.masInformacion,\n 'fields[PERSON_NAME]' : idPerson && idPerson.FirstName ? idPerson.FirstName : fields.name,\n 'fields[PERSON_SURNAME_1]' : idPerson && idPerson.LastName ? idPerson.LastName : fields.surname,\n 'fields[PERSON_SURNAME_2]' : idPerson && idPerson.MiddleName ? idPerson.MiddleName : fields.secondSurname,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': 'NO PERMITE',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n 'flags[PERSON_RGPD_ADAPTED]': 'true',\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': 'true',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response?.data?.status?.code == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: true,\n formType: 'inPage',\n alingItemsCenter: true,\n thankYouComponent: ,\n };\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return !steps ? null : ;\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouBaja = () => {\n const {formResponse} = useSelector((state: OneFormState) => state.formInfo);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formResponse?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import {\n styled,\n Container,\n ContainerPadding,\n CTA,\n Text,\n ContainerGutter,\n BreakpointWrapper,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\n\nimport {\n InputError,\n PoliticaPrivacidad,\n Email,\n MultipleCTASelection,\n TextAreaExtended,\n KoScreen,\n LoadingScreen,\n Nombre,\n Apellido,\n} from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState, IdPerson } from 'src/types';\n\nconst TextAreaWrapper = styled.div`\n label {\n width: 100%;\n }\n`;\n\nconst PaddingWrapper = styled.div`\n`;\n\nconst NameLastNameWrapper = styled.div`\n padding-bottom: 2px;\n gap: 20px;\n display: flex;\n flex-direction: column;\n @media all and (min-width: 960px) {\n flex-direction: row;\n gap: 32px;\n }\n & > div {\n\tpadding: 10px 0;\n }\n`;\n\nconst MotivoBaja = () => {\n const { getValues } = useFormContext();\n const { motivoBaja } = getValues();\n\n const motivosOptions = [\n {\n label: 'Ya no me interesa el contenido',\n value: 'No me interesa el contenido'\n },\n {\n label: 'Recibo demasiadas comunicaciones vuestras',\n value: 'Recibo demasiadas comunicaciones'\n },\n {\n label: 'Tengo otras razones',\n value: 'Otras razones'\n },\n ];\n\n return (\n <>\n \n \n );\n};\n\ninterface BajaComunicacionesProps {\n idPerson?: IdPerson;\n}\n\nexport const BajaComunicacionesFields = (props: BajaComunicacionesProps) => {\n const { idPerson } = props;\n const [emailError, setEmailError] = useState(false);\n const [motivoError, setMotivoError] = useState(false);\n const [ masInfoValue, setMasInfoValue ] = useState(null);\n const [ nameError, setNameError ] = useState(false);\n\n return (\n
\n \n \n {\n idPerson && idPerson.FirstName && idPerson.LastName && idPerson.PersonEmail ? (\n <>\n \n ¿Por qué quieres dar de baja el email {idPerson.PersonEmail}?\n \n \n \n Nos da pena decirte adiós tan pronto. Por eso, antes de darte de baja, nos encantaría entender por qué te\n vas para mejorar la próxima vez.\n \n \n \n ) : (\n <>\n \n ¿Seguro que quieres darte de baja?\n \n \n \n Nos da pena decirte adiós tan pronto. Por eso, antes de darte de baja, nos encantaría entender por qué te\n vas para mejorar la próxima vez.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n />\n \n )\n }\n\n }\n />\n \n {\n setMasInfoValue(e.currentTarget.value);\n }}\n />\n \n }\n />\n \n \n \n
\n );\n};\n\ninterface FieldProps {\n question?: string;\n input: JSX.Element;\n isRequired?: boolean;\n emailError?: boolean;\n motivoError?: boolean;\n}\nconst Field = (props: FieldProps) => {\n const { question, input, isRequired, emailError, motivoError } = props;\n\n return (\n \n {\n question ? (\n \n {question} {isRequired ? * : null}\n \n ) : null\n }\n \n {input}\n {emailError || motivoError ? Necesitamos esta información para seguir : null}\n \n );\n};\n\ninterface lastNavigationsProps {\n setEmailError: (value: boolean) => void;\n setMotivoError: (value: boolean) => void;\n setNameError: (value: boolean) => void;\n masInfoValue?: null | string;\n idPerson?: IdPerson;\n}\n\nfunction LastNavigation(props: lastNavigationsProps) {\n const { setEmailError, setMotivoError, masInfoValue, idPerson, setNameError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido enviar tu petición. ¿Lo intentamos de nuevo?';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n\n\n async function handleConfirmarCita(e: any) {\n\n //activar o desactivar mensajes de error\n const values = await getValues();\n\n if( idPerson && idPerson.PersonEmail ) {\n setEmailError(false);\n } else if (values.email) {\n setEmailError(false);\n } else {\n setEmailError(true);\n }\n\n if( idPerson && idPerson.FirstName && idPerson.LastName) {\n setNameError(false);\n } else if ( values.name && values.surname ) {\n setNameError(false);\n } else {\n setNameError(true);\n }\n\n if (values.motivoBaja) {\n setMotivoError(false);\n } else {\n setMotivoError(true);\n }\n\n trackingManager.trackFormCTAClick({\n contentId: 'Confirmar la baja',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : values.email } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'motivoBaja': values.motivoBaja } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'masInformacion': masInfoValue }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': idPerson && idPerson.FirstName ? idPerson.FirstName : values.name }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': idPerson && idPerson.LastName ? idPerson.LastName : values.surname }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'secondSurname': idPerson && idPerson.MiddleName ? idPerson.MiddleName : values.secondSurname }});\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Confirmar la baja\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFeatureServices } from 'src/feature-app';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { BajaComunicacionesForm } from '.';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface BajaComunicacionesProps {\n idPerson: IdPerson;\n handleError: () => void;\n}\n\nexport function BajaComunicacionesController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n dpsDataRef.current = dpsData;\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setLoading(false);\n } else if (dpsData.pincode.pincodeUsed) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n idPersonRef.current = idPerson;\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n\t\treturn null;\n\t} else {\n return (\n \n );\n }\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n}\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n \n
\n );\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n CTA,\n styled,\n Layout,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from './ConfirmarCallMeLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nfunction ConfirmacionCallMeOferta() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk?: string;\n lssi?: string;\n setTmkError?: React.Dispatch>;\n setLssiError?: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCallMe(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n\n const isValid = await triggerValidation();\n\n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionCallMeOferta);\n\nexport { ConnectedComponent as ConfirmacionCallMeOferta };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TwoElementsTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionCallMeOferta } from './ConfirmacionCallMeOferta';\nimport { Nombre, Telefono } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, useFaContent, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouCallMeOferta } from '.';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\nexport enum CallMeOfertaSteps {\n NombreTelefono,\n Confirmacion,\n}\n\nexport function CallMeOfertaForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const brand = useGetBrand();\n\n const steps: Steps[] = [\n {\n title: (\n \n \n Para llamarte, necesitamos tus datos de contacto\n \n \n Nos pondremos en contacto contigo de lunes a viernes de 9:00 h a 19:30 h (excepto\n festivos nacionales) para darte más información.\n \n \n ),\n fields: (\n \n \n }\n secondElement={}\n />\n \n ),\n screenIndex: CallMeOfertaSteps.NombreTelefono,\n name: 'NombreTelefono',\n outputs: ['name', 'cellphone'],\n outputsText: ['name', 'cellphone'],\n },\n {\n fields: ,\n screenIndex: CallMeOfertaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'callme-oferta', formType: 'contact', pageCategory: 'Call Me Oferta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n //Set de data para Producción\n const dataPro = {\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n //Set de data para Preproducción\n const dataPre = {\n PRE: 1,\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n const response: AxiosResponse = await Axios.post(\n 'https://www.volkswagencomerciales.es/call-me-now/email',\n window.location.hostname === 'www.volkswagen-comerciales.es' ? dataPro : dataPre\n ).catch((err) => {\n return null;\n });\n\n if (response && response.data && response.data.success && response.status == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n notALayer: false,\n formType: 'layer',\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\n\nexport const ThankYouCallMeOferta = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const brand = useGetBrand();\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n const comercialesScreen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, styled, Text, Layout, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { LegalesCEM, LegalesSinConsentimientosCEM } from '.';\n\nconst ContentWrapper = styled.div`\n\tmin-height: calc(100vh - 227px);\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\t@media all and (min-width: 960px) {\n\t\tmin-height: calc(100vh - 227px);\n\t}\n\t.content-wrapper {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const ConfirmacionCem = () => {\n\tconst dispatch = useDispatch();\n\tconst { fields } = useSelector((state: OneFormState) => state.formData);\n\tconst [lssiPincode, setLssiPincode] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (fields) {\n\t\t\tsetLssiPincode(fields.lssiPincode);\n\t\t}\n\t}, [fields]);\n\n\tuseEffect(() => {\n\t\tif (lssiPincode === 'PERMITE') {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n\t\t}\n\t}, [lssiPincode]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMantente al día\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n","import {getInstallations, reportErrorSentry} from 'src/bff';\nimport {DpsData} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {arrayToObject, transformDate} from 'src/helpers';\nimport {IdDealer} from 'src/types';\n\nexport const valueWrongMarca = 1;\nexport const valueWrongModelo = 2;\nexport const valueWrongConcesion = 3;\nexport const valueWrongPersona = 4;\n\nexport const stepNameToFieldName = (str: string) => {\n\tif (!str) return str;\n\treturn str.charAt(0).toLowerCase() + str.slice(1);\n};\n\nexport const sanitizeKvps = (kvps: string) => {\n\t// ESP12345X -> 12345\n\treturn kvps.replace(/^ESP(\\d+)[A-Z]$/, '$1');\n};\n\nexport const formatSinRespuestaValue = (answer: string) => {\n\tif (!answer) return undefined;\n\tif (answer == 'Sin respuesta' || Number(answer) == -1) return '9';\n\treturn answer;\n};\n\ninterface Data {\n\t[key: string]: string;\n}\n\nclass CEMDataError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'CEMDataError';\n\t}\n}\n\nexport const checkUndefinedsInData = (data: Data, form: string) => {\n\tObject.entries(data).map((entry) => {\n\t\tconst [field, data] = entry;\n\t\tif (data?.includes('undefined')) {\n\t\t\tconst error = new CEMDataError(`Undefined en el formulario CEM ${form}. ${field} tiene el valor ${data}`);\n\t\t\treportErrorSentry(error);\n\t\t}\n\t});\n};\n\nexport const getCemDate = (date: string) => {\n\tconst cemDate1 = transformDate(date, 'DD/MM/YYYY', 'YYYY-MM-DD');\n\tconst cemDate2 = transformDate(date, 'DD/MM/YYYY', 'DD-MM-YYYY');\n\tconst cemDate3 = transformDate(date, 'DD/MM/YYYY', 'DD/MM/YYYY');\n\tif (cemDate1) {\n\t\treturn cemDate1 + ' 12:00:00';\n\t} else if (cemDate2) {\n\t\treturn cemDate2 + ' 12:00:00';\n\t} else if (cemDate3) {\n\t\treturn cemDate3 + ' 12:00:00';\n\t}\n\treturn '';\n};\n\nexport const getInstallation = async (dpsData: DpsData, idDealer: IdDealer, domain: string) => {\n\tconst installationsRaw = await getInstallations('VW_DDB_FRM_LEM_REC_LEM', domain);\n\tif (!installationsRaw) {\n\t\tconsole.error('Installations not found');\n\t\treturn null;\n\t}\n\tconst installations = installationsRaw.map((instal) => arrayToObject(instal.attributes)) as IdDealer[];\n\tlet installation = null;\n\n\tif (dpsData.dealer) {\n\t\tinstallation = installations.find((instal) => instal.VGED_DealerCode__c == dpsData.dealer) as IdDealer;\n\t} else if (dpsData.kvps) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => sanitizeKvps(instal.KVPSCode__c) == sanitizeKvps(dpsData.kvps),\n\t\t) as IdDealer;\n\t}\n\n\tif (!installation && idDealer.VGED_DealerCode__c) {\n\t\tinstallation = installations.find((instal) => instal.VGED_DealerCode__c == idDealer.VGED_DealerCode__c) as IdDealer;\n\t} else if (!installation && idDealer.KVPSCode__c) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => sanitizeKvps(instal.KVPSCode__c) == sanitizeKvps(idDealer.KVPSCode__c),\n\t\t) as IdDealer;\n\t}\n\n\tif (installation) {\n\t\tif (\n\t\t\tinstallation.VGED_DealerCode__c == '03905' ||\n\t\t\tsanitizeKvps(installation.KVPSCode__c) == '00494' ||\n\t\t\tinstallation.VGED_CommercialName__c == 'SAFA FUENGIROLA'\n\t\t) {\n\t\t\tinstallation.VGED_CommercialName__c = 'SAFAMOTOR';\n\t\t}\n\n\t\treturn installation;\n\t}\n\n\tconsole.error('Installation not found into installations');\n\treturn null;\n};\n\nexport const getSfAddressRest = (addressSf: string, node?: string) => {\n\tconst address = addressSf\n\t\t.replace(/^SfAddressRest\\(|\\)$/g, '')\n\t\t.split(', ')\n\t\t.reduce((obj, pair) => {\n\t\t\tconst [key, value] = pair.split('=');\n\t\t\tobj[key] = value === 'null' ? null : value;\n\t\t\treturn obj;\n\t\t}, {});\n\n\tif (node) {\n\t\treturn address[node];\n\t} else {\n\t\treturn address;\n\t}\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport dayjs from 'dayjs';\nimport { useFeatureServices, useFaContent } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdOrder, IdPerson, IdVehicle, IdDealer } from 'src/types';\nimport { CemFormVenta, CemFormPosventa } from 'src/forms';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { createPincodeEntity } from 'src/forms/dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { getInstallation } from 'src/forms/Cem/helpers';\n\nexport interface CemFormProps {\n\tidOrder?: IdOrder;\n\tidPerson: IdPerson;\n\tidVehicle: IdVehicle;\n\tidDealer?: IdDealer;\n\tdpsData: DpsData;\n\tinstallation?: IdDealer;\n}\n\nexport function CemController() {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(false);\n\tconst [usado, setUsado] = useState(false);\n\tconst [isPosventa, setIsPosventa] = useState(false);\n\tconst [caducado, setCaducado] = useState(false);\n\tconst today = dayjs(new Date());\n\n\tconst dpsDataRef = useRef(null);\n\tconst idPersonRef = useRef(null);\n\tconst idVehicleRef = useRef(null);\n\tconst idDealerRef = useRef(null);\n\tconst idOrderRef = useRef(null);\n\n\tconst [installation, setInstallation] = useState(null);\n\n\tconst oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\tconst faContent = useFaContent();\n\tconst dpsData = oneFormService.getDpsData();\n\n\tconst handleNext = (value: any) => { };\n\tconst handleComplete = async () => {\n\n\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\thandleError('Pincode not found');\n\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\tsetUsado(true);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n\t\t\tconst idVehicle = createPincodeEntity(dpsData, 'VEHICLE') as IdVehicle;\n\t\t\tconst idDealer = createPincodeEntity(dpsData, 'DEALER') as IdDealer;\n\t\t\tconst idOrder = createPincodeEntity(dpsData, 'ORDER') as IdOrder;\n\n\t\t\tdpsDataRef.current = dpsData;\n\t\t\tidPersonRef.current = idPerson;\n\t\t\tidVehicleRef.current = idVehicle;\n\t\t\tidDealerRef.current = idDealer;\n\t\t\tidOrderRef.current = idOrder;\n\n\t\t\tconst fechaEnvio = dpsData.fe ? dayjs(atob(dpsData.fe), 'DD/MM/YYYY') : null;\n\t\t\tif (!fechaEnvio || today.diff(dayjs(fechaEnvio), 'day') > 0) {\n\t\t\t\tsetCaducado(true);\n\t\t\t} else {\n\t\t\t\tlet domain = 'VOLKSWAGEN_SF_CONCESSION_ALL';\n\t\t\t\tif (faContent.cem == 'POSVENTA' || faContent.encuesta == 'CEM - POSVENTA') {\n\t\t\t\t\tdomain = 'VOLKSWAGEN_SF_INSTALLATION_ALL';\n\t\t\t\t\tsetIsPosventa(true);\n\t\t\t\t} else if ((faContent.cem == 'VENTA' || faContent.encuesta == 'CEM - VENTA')) {\n\t\t\t\t\tsetIsPosventa(false);\n\t\t\t\t} else {\n\t\t\t\t\thandleError('Form not found');\n\t\t\t\t}\n\t\t\t\tconst installation = await getInstallation(dpsData, idDealer, domain);\n\t\t\t\tif (installation) {\n\t\t\t\t\tsetInstallation(installation);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\thandleError();\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = (message?: string) => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t\tif (message) {\n\t\t\tconsole.error(message);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {\n\t\t\t\thandleNext(value);\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (caducado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (usado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport function ThankYouCEM() {\n\tconst { formResponse } = useSelector((state: OneFormState) => state.formInfo);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formResponse.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse)\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: ,\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n\tFormController,\n\tisHighRating,\n\tisLowRating,\n\tisNoRating,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, LastQuestionFlow, getStepsPosVenta } from 'src/forms/Cem';\nimport {\n\tcheckUndefinedsInData,\n\tformatSinRespuestaValue,\n\tgetCemDate,\n\tgetSfAddressRest,\n\tsanitizeKvps,\n\tstepNameToFieldName,\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport {\n\taddRemovedStep,\n\tgetArrayOfStepsNames,\n\tgetIndexInSteps,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tresetStepsScreenIndex,\n} from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormPosventa(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } =\n\t\tprops;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t\tservicioAnteriorIncorrecto,\n\t} = formData.fields;\n\n\tconst modeloRef = useRef(null);\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\t// Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Posventa',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_PV_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Aftersales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-posventa',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !(\n\t\t\t// negation\n\t\t\t(\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongConcesion)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': dpsData.or,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_DealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi\n\t\t\t\t? fields.lssi\n\t\t\t\t: 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'street',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'postalCode',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(\n\t\t\t\tidPerson?.PersonMailingAddress,\n\t\t\t\t'city',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(\n\t\t\t\tgetSfAddressRest(idPerson.PersonMailingAddress, 'stateCode'),\n\t\t\t),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c\n\t\t\t\t? idVehicle.VGED_ModelGroup__c\n\t\t\t\t: dpsData.model\n\t\t\t\t? dpsData.model\n\t\t\t\t: null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]':\n\t\t\t\tfields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]':\n\t\t\t\tfields.datosCorrectos == 'false' && fields.datosIncorrectos == 2\n\t\t\t\t\t? fields.modelo\n\t\t\t\t\t: null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif (sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_04]'] = fields.razonVolverTaller;\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrato,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTratoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizado,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizadoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(\n\t\t\t\tfields.aspectoSatisfaccionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = fields.contactoSatisfaccion;\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = fields.servicioAnteriorIncorrecto;\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(\n\t\t\t\tfields.tiempoSatisfaccion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = !fields.motivoVisita ? '99' : fields.motivoVisita\n\t\t\t\t?.split(',')\n\t\t\t\t.sort((a, b) => a - b)\n\t\t\t\t.join('|');\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_20]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculoMotivo,\n\t\t\t);\n\t\t}\n\n\t\tif (dpsData.dat) {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(dpsData.dat);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Posventa');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps\n\t * ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (\n\t\tstepsToAdd: string[],\n\t\talternativeSteps?: Steps[],\n\t) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd\n\t\t\t.reverse()\n\t\t\t.map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(\n\t\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t\tstepsToUse,\n\t\t\t\t\tstepsToAdd[i],\n\t\t\t\t\tscreenIndex,\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\tsteps,\n\t\t\tstepsToDelete,\n\t\t);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (\n\t\tsteps: Steps[],\n\t\treplaceCallback: (s: string) => string,\n\t) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map(\n\t\t\t\t\t(child: any) => {\n\t\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(\n\t\t\t\t\t\t\t\t\tchild.props.children.props.children,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(\n\t\t\t\t\tstep.title.props.children.props.children,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (\n\t\torder: number,\n\t\tsc4: number,\n\t\tsc5: number,\n\t\tsc6: number,\n\t) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] =>\n\t\tarray.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionTrabajoRealizado');\n\t\tconst sc6Motivo = getIndexInSteps(\n\t\t\tsteps,\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t);\n\n\t\tconst newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst newSteps = modifyTitleSteps(getStepsPosVenta(getInstallationName(), getVehicleName()), replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\t\t\tinitialSteps,\n\t\t\t\t\t['DatosIncorrectos', 'Modelo'],\n\t\t\t\t);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongConcesion ||\n\t\t\tdatosIncorrectos === valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [\n\t\t\t\tpastSteps[0],\n\t\t\t\tpastSteps[1],\n\t\t\t\tpastSteps[pastSteps.length - 1],\n\t\t\t];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = resetStepsScreenIndex(initialSteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tsteps,\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\tuseEffect(() => {\n\t\tif (!servicioAnteriorIncorrecto) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (servicioAnteriorIncorrecto == '1') {\n\t\t\tremoveSteps(['RazonVolverTaller']);\n\t\t} else {\n\t\t\taddSteps(['RazonVolverTaller']);\n\t\t}\n\t}, [servicioAnteriorIncorrecto]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (\n\t\tstepToRemove: string,\n\t\tstepToAdd: string,\n\t) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [\n\t\t\tstepToRemove,\n\t\t]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionOrganizacionMotivo',\n\t\t\tsatisfaccionOrganizacion,\n\t\t);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t\tsatisfaccionTrabajoRealizado,\n\t\t);\n\t\tif (satisfaccionTrabajoRealizado == '5') {\n\t\t\tremoveSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t} else if (satisfaccionTrabajoRealizado) {\n\t\t\taddSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t}\n\t}, [satisfaccionTrabajoRealizado]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\t\t\tconst ratings = [\n\t\t\t\tsatisfaccionTrato,\n\t\t\t\tsatisfaccionOrganizacion,\n\t\t\t\tsatisfaccionTrabajoRealizado,\n\t\t\t];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(\n\t\t\t\tratings,\n\t\t\t\tsatisfaccionConcesion,\n\t\t\t);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps([\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t]);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } =\n\t\t\tgetFormInfo(getStepsPosVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? (\n\t\t\n\t) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { Breakpoints, BreakpointWrapper, Container, ContainerPadding, styled, Text, TokenTextAppearance, } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { MultipleCTASelection, ImageCarNoColorBG } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen, useFaContent, useGetIdVehicle } from 'src/feature-app';\nimport { getVilmaAssets } from 'src/bff';\nimport { useWindowHeight } from '@react-hook/window-size';\nimport { OneFormState } from 'src/types';\nimport { strTitlelize } from 'src/helpers';\n\nconst LayoutWrapper = styled.div`\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t}\n`;\n\nconst InfoWrapper = styled.div`\n\twidth: 100%;\n\tpadding-left: var(--size-grid002);\n\tpadding-right: var(--size-grid002);\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tflex-direction: column;\n\t\twidth: var(--size-grid012);\n\t\tpadding-left: var(--size-grid002);\n\t\tpadding-right: 0;\n\t\tpadding-top: 0;\n\t}\n\t@media all and (min-width: 1280px) {\n\t\tpadding-left: var(--size-grid003);\n\t}\n\t@media all and (min-width: 1600px) {\n\t\tpadding-left: var(--size-grid002);\n\t}\n`;\n\nexport const FirstStepCEM = () => {\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst [model, setModel] = useState(null);\n\tconst { installation } = formData.fields;\n\tconst [imageSrc, setImageSrc] = useState(null);\n\tconst [dataVilma, setDataVilma] = useState(null);\n\tconst idVehicle = useGetIdVehicle();\n\tconst idVehicleModel = idVehicle.VGED_ModelGroup__c;\n\t//const isElectrico = idVehicle.VGED_ModelGroup__c.substring(0, 2) == 'ID';\n\tconst frame = idVehicle.Name;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst modelUrl = urlParams.get('model');\n\tconst faContent = useFaContent();\n\tconst isPosventa = faContent.cem === 'POSVENTA' || faContent.encuesta === 'CEM - POSVENTA';\n\tconst height = useWindowHeight();\n\n\tconst dataVilmaRequest = async () => {\n\t\tif (frame) {\n\t\t\tconst data = await getVilmaAssets(frame);\n\t\t\t//Respuesta cuando el bastidor no es correcto {message: 'No image found for VIN [WVWZZZAUZLW025556]', context: 'the requested image is not available'}\n\t\t\tif (data && data.status?.code == 200) {\n\t\t\t\tsetDataVilma(data.content);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!dataVilma || dataVilma.message == 'SERVICE UNAVAILABLE') {\n\t\t\tsetImageSrc(null);\n\t\t} else if (dataVilma) {\n\t\t\tconst Front_Left = dataVilma.find((e: any) => e.view === 'Front_Left');\n\t\t\tFront_Left === undefined ? setImageSrc(null) : setImageSrc(Front_Left.url);\n\t\t}\n\t}, [dataVilma]);\n\n\tuseEffect(() => {\n\t\tif (idVehicleModel !== 'null') {\n\t\t\tsetModel(idVehicleModel);\n\t\t\tdataVilmaRequest();\n\t\t} else if (modelUrl) {\n\t\t\tsetModel(modelUrl);\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { modelo: modelUrl } });\n\t\t} else {\n\t\t\tsetModel(null);\n\t\t}\n\t}, []);\n\n\tconst BodyCopy = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros datos, visitaste el Servicio Oficial {strTitlelize(installation)} con tu{' '}\n\t\t\t\t\t\t\t{model}.\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros registros compraste un nuevo {model} en nuestro punto de venta{' '}\n\t\t\t\t\t\t\t{strTitlelize(installation)}.\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona que mejor nos puede informar sobre\n\t\t\t\t\t\t\tla última visita al taller?\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>¿Puedes confirmar que estos datos son correctos?\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn dataVilma && imageSrc ? (\n\t\t\n\t\t\t{height <= 600 ? null : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t/>\n\t);\n};\n","import React from 'react';\nimport { Breakpoints, Layout, LayoutRowGap, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, PantallaNombreApellido, MultipleCTASelection, RatingStars, PantallaIntroduccionStars, DetalleMotivo, } from 'src/components';\nimport { Steps } from 'src/types';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { CTAsSiNo, CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element, allowOverflowingContent } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsVenta = (installation: string, vehicle: string) => {\n\n\tconst ctaDatosIncorrectos = [\n\t\t{ \n\t\t\tlabel: 'Marca incorrecta', \n\t\t\tvalue: valueWrongMarca.toString() \n\t\t},\n\t\t{ \n\t\t\tlabel: 'Modelo incorrecto', \n\t\t\tvalue: valueWrongModelo.toString() },\n\t\t{\n\t\t\tlabel: 'Punto de venta incorrecto',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosCorrectos',\n\t\t\talternateTitle: ¿Puedes confirmar que estos datos son correctos?,\n\t\t\toutputs: ['datosCorrectos'],\n\t\t\toutputsText: ['datosCorrectos'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosIncorrectos',\n\t\t\toutputs: ['datosIncorrectos'],\n\t\t\toutputsText: ['datosIncorrectos'],\n\t\t\tctas: ctaDatosIncorrectos,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Compraste tu vehículo en {installation}?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ConfirmacionConcesion',\n\t\t\toutputs: ['confirmacionConcesion'],\n\t\t\toutputsText: ['confirmacionConcesion'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Modelo',\n\t\t\toutputs: ['modelo'],\n\t\t\toutputsText: ['modelo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tA continuación,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos relacionados con la compra de tu coche.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Explicacion',\n\t\t},\n\t\t{\n\t\t\ttitle: El trato recibido,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTrato',\n\t\t\toutputs: ['satisfaccionTrato'],\n\t\t\toutputsText: ['satisfaccionTrato'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTratoMotivo',\n\t\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: La organización del punto de venta,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA la hora de establecer una cita o entregarte el coche, por ejemplo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacion',\n\t\t\toutputs: ['satisfaccionOrganizacion'],\n\t\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: El asesoramiento recibido por parte del asesor comercial Volkswagen,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesor',\n\t\t\toutputs: ['satisfaccionAsesor'],\n\t\t\toutputsText: ['satisfaccionAsesor'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesorMotivo',\n\t\t\toutputs: ['satisfaccionAsesorMotivo'],\n\t\t\toutputsText: ['satisfaccionAsesorMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con nuestros servicios prestados como punto de venta?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesion',\n\t\t\toutputs: ['satisfaccionConcesion'],\n\t\t\toutputsText: ['satisfaccionConcesion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesionMotivo',\n\t\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas mencionado aún?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'AspectoSatisfaccionMotivo',\n\t\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿El asesor comercial te ofreció realizar una prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TestDrive',\n\t\t\toutputs: ['testDrive'],\n\t\t\toutputsText: ['testDrive'],\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con la prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDrive',\n\t\t\toutputs: ['satisfaccionTestDrive'],\n\t\t\toutputsText: ['satisfaccionTestDrive'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDriveMotivo',\n\t\t\toutputs: ['satisfaccionTestDriveMotivo'],\n\t\t\toutputsText: ['satisfaccionTestDriveMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te han ofrecido una segunda cita después de la entrega para darte más información sobre el funcionamiento de tu coche?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'InformacionUsoVehiculo',\n\t\t\toutputs: ['informacionUsoVehiculo'],\n\t\t\toutputsText: ['informacionUsoVehiculo'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te ha contactado {installation} para preguntarte si estás satisfecho con tu {vehicle} después de entregártelo?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ContactoSatisfaccion',\n\t\t\toutputs: ['contactoSatisfaccion'],\n\t\t\toutputsText: ['contactoSatisfaccion'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tFinalmente nos gustaría saber si podemos enviar tus respuestas junto con tu nombre al punto de venta {installation} y el bastidor del vehículo, y puedan usarlos para análisis adicionales.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'EnviarConcesion',\n\t\t\toutputs: ['enviarConcesion'],\n\t\t\toutputsText: ['enviarConcesion'],\n\t\t\tctas: optionsEnviarConcesion,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en la de {installation} sin mencionar tu nombre?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'PublicarRespuestas',\n\t\t\toutputs: ['publicarRespuestas'],\n\t\t\toutputsText: ['publicarRespuestas'],\n\t\t\tctas: optionsPublicarRespuestas,\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t\toutputs: ['confirmacion'],\n\t\t\toutputsText: ['confirmacion'],\n\t\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tLayoutRowGap,\n\tText,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport {\n\tCarlineSelect,\n\tDetalleMotivo,\n\tMultipleCTASelection,\n\tMultipleOptionCTAs,\n\tPantallaIntroduccionStars,\n\tPantallaNombreApellido,\n\tRatingStars,\n} from 'src/components';\nimport { CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { Steps } from 'src/types';\nimport {\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsPosVenta = (installation: string, vehicle: string) => {\n\t\n\tconst ctaMotivoVisita = [\n\t\t{\n\t\t\tlabel: 'Revisión pre-ITV',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Avería circulando con el coche (fue necesario remolcarlo)',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Medida de servicio (excluida la medida de servicio diésel)',\n\t\t\tvalue: '10',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Chapa y pintura',\n\t\t\tvalue: '6',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Cambio de neumáticos',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Actualización de software',\n\t\t\tvalue: '11',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Instalación de accesorios',\n\t\t\tvalue: '7',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio rutinario / de mantenimiento',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otra visita inesperada (el coche pudo seguir circulando y elegiste tu Sercicio Oficial favorito)',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras reparaciones o reclamaciones (por ejemplo, problemas electrónicos)',\n\t\t\tvalue: '8',\n\t\t},\n\t\t// El campo no es required, si no seleccionamos ninguna opción enviamos 99\n\t\t/*{\n\t\t\tlabel: 'Sin respuesta',\n\t\t\tvalue: '99',\n\t\t},*/\n\t];\n\t\n\tconst ctaServicioAnteriorIncorrecto = [\n\t\t{\n\t\t\tlabel: 'Sí',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, pero tendré que volver de nuevo por otra razón diferente (mantenimiento, cambio de neumáticos, etc.)',\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\t\n\tconst ctaRazonVolverTaller = [\n\t\t{\n\t\t\tlabel: 'No había recambios disponibles, no eran los correctos o estaban defectuosos',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No hubo tiempo suficiente para terminar el servicio',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'El problema no fue resuelto o solo parcialmente',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Los problemas surgieron de nuevo',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Es necesario realizar trabajos adicionales',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras razones',\n\t\t\tvalue: '10',\n\t\t},\n\t];\n\t\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t\t\n\t\t},\n\t];\n\t\n\tconst ctaDatosIncorrectos = [\n\t\t{\n\t\t\tlabel: 'Marca incorrecta',\n\t\t\tvalue: valueWrongMarca.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Modelo incorrecto',\n\t\t\tvalue: valueWrongModelo.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio Oficial',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\t\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados y a la marca [info-datenschutz@volkswagen.de] para el numero de bastidor. Declaración de Privacidad de datos de VW: https://datenschutz.volkswagen.de.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el Servicio Oficial no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\t\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'DatosCorrectos',\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona\n\t\t\t\tque mejor nos puede informar sobre la última visita al taller?\n\t\t\t\n\t\t),\n\t\toutputs: ['datosCorrectos'],\n\t\toutputsText: ['datosCorrectos'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosIncorrectos',\n\t\toutputs: ['datosIncorrectos'],\n\t\toutputsText: ['datosIncorrectos'],\n\t\tctas: ctaDatosIncorrectos,\n\t},\n\t{\n\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Modelo',\n\t\toutputs: ['modelo'],\n\t\toutputsText: ['modelo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tA continuación,{' '}\n\t\t\t\t\n\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos\n\t\t\t\t\trelacionados con tu visita al Servicio Oficial.\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Explicacion',\n\t},\n\t{\n\t\ttitle: El trato recibido,\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrato',\n\t\toutputs: ['satisfaccionTrato'],\n\t\toutputsText: ['satisfaccionTrato'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTratoMotivo',\n\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa organización de {installation}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPor ejemplo: el establecimiento de la cita, tiempos de espera en\n\t\t\t\t\t\t\tel taller, la fecha de entrega o el tiempo que estuvo el coche en\n\t\t\t\t\t\t\tel taller.{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacion',\n\t\toutputs: ['satisfaccionOrganizacion'],\n\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa calidad del trabajo realizado en tu {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizado',\n\t\toutputs: ['satisfaccionTrabajoRealizado'],\n\t\toutputsText: ['satisfaccionTrabajoRealizado'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizadoMotivo',\n\t\toutputs: ['satisfaccionTrabajoRealizadoMotivo'],\n\t\toutputsText: ['satisfaccionTrabajoRealizadoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu última visita a {installation},{' '}\n\t\t\t\t\n\t\t\t\t\t¿cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPensando en tu última visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesion',\n\t\toutputs: ['satisfaccionConcesion'],\n\t\toutputsText: ['satisfaccionConcesion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesionMotivo',\n\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas\n\t\t\t\tmencionado aún?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'AspectoSatisfaccionMotivo',\n\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Tienes que volver a pasar por taller por un servicio\n\t\t\t\trealizado de manera incorrecta o incompleta durante la última visita?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ServicioAnteriorIncorrecto',\n\t\toutputs: ['ServicioAnteriorIncorrecto'],\n\t\toutputsText: ['servicioAnteriorIncorrecto'],\n\t\tctas: ctaServicioAnteriorIncorrecto,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es la razón por la que tienes que volver a pasar\n\t\t\t\tpor taller?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'RazonVolverTaller',\n\t\toutputs: ['RazonVolverTaller'],\n\t\toutputsText: ['razonVolverTaller'],\n\t\tctas: ctaRazonVolverTaller,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es tu nivel de satisfacción con la{' '}\n\t\t\t\tgestión que hizo el Servicio Oficial de tu tiempo?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEl tiempo total desde que entró y desde que salió tu vehículo del\n\t\t\t\t\t\t\ttaller.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'TiempoSatisfaccion',\n\t\toutputs: ['tiempoSatisfaccion'],\n\t\toutputsText: ['tiempoSatisfaccion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tDespués de tu última visita,{' '}\n\t\t\t\t\n\t\t\t\t\t¿{installation} se puso en contacto contigo para comprobar tu nivel de\n\t\t\t\t\tsatisfacción con el servicio recibido?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ContactoSatisfaccion',\n\t\toutputs: ['ContactoSatisfaccion'],\n\t\toutputsText: ['contactoSatisfaccion'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPuedes elegir tres opciones\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'MotivoVisita',\n\t\toutputs: ['motivoVisita'],\n\t\toutputsText: ['motivoVisita'],\n\t\tctas: ctaMotivoVisita,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu actual {vehicle}, ¿cuál es tu nivel de\n\t\t\t\tsatisfacción?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculo',\n\t\toutputs: ['satisfaccionVehiculo'],\n\t\toutputsText: ['satisfaccionVehiculo'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, háblanos de tu{' '}\n\t\t\t\texperiencia con tu nuevo {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculoMotivo',\n\t\toutputs: ['satisfaccionVehiculoMotivo'],\n\t\toutputsText: ['satisfaccionVehiculoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPara finalizar, nos gustaría saber si podemos enviar tus respuestas, junto con tu nombre y el número de bastidor de tu vehículo, al Servicio Oficial {installation} para que puedan usarlos para análisis de producto adicionales. Puedes encontrar más información sobre el trato de tus datos personales en el link disponible al finalizar la encuesta.\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'EnviarConcesion',\n\t\toutputs: ['enviarConcesion'],\n\t\toutputsText: ['enviarConcesion'],\n\t\tctas: optionsEnviarConcesion,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosPersonales',\n\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en\n\t\t\t\tla de {installation} sin mencionar tu nombre?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'PublicarRespuestas',\n\t\toutputs: ['publicarRespuestas'],\n\t\toutputsText: ['publicarRespuestas'],\n\t\tctas: optionsPublicarRespuestas,\n\t},\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'Confirmacion',\n\t\toutputs: ['confirmacion'],\n\t\toutputsText: ['confirmacion'],\n\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, isHighRating, isLowRating, isNoRating, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, getStepsVenta, LastQuestionFlow } from 'src/forms/Cem';\nimport { checkUndefinedsInData, formatSinRespuestaValue, getCemDate, getSfAddressRest, sanitizeKvps, stepNameToFieldName, valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getArrayOfStepsNames, getIndexInSteps, removeMultipleStepsAndResetScreenIndex, resetStepsScreenIndex, } from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormVenta(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } = props;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tconfirmacionConcesion,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionAsesor,\n\t\tsatisfaccionConcesion,\n\t\tsatisfaccionTestDrive,\n\t\ttestDrive,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t} = formData.fields;\n\n\tconst isElectrico = idVehicle.VGED_ModelGroup__c?.substring(0, 2) == 'ID';\n\n\tconst modeloRef = useRef(null); // Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Venta',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_VN_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Sales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-venta',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !( // negation\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongConcesion && fields.confirmacionConcesion == 'false')\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': idOrder.VGED_ClimaproOrderID__c,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_ConcessionDealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(idPerson.PersonMailingAddress, 'street'),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(idPerson?.PersonMailingAddress, 'postalCode'),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(idPerson?.PersonMailingAddress, 'city'),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(getSfAddressRest(idPerson?.PersonMailingAddress, 'stateCode')),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c ? idVehicle.VGED_ModelGroup__c : dpsData.model ? dpsData.model : null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 2 ? fields.modelo : null,\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 3 ? fields.confirmacionConcesion == 'true' ? '1' : '2' : null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif(sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(fields.satisfaccionTrato);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(fields.satisfaccionTratoMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacion);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(fields.satisfaccionAsesor);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(fields.satisfaccionAsesorMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(fields.satisfaccionConcesion);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(fields.satisfaccionConcesionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(fields.aspectoSatisfaccionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = formatSinRespuestaValue(fields.testDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = formatSinRespuestaValue(fields.contactoSatisfaccion);\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(fields.informacionUsoVehiculo);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = formatSinRespuestaValue(fields.satisfaccionTestDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(fields.satisfaccionTestDriveMotivo);\n\t\t}\n\n\t\tif (dpsData.agency) {\n\t\t\tdata['flags[FLAG_AGENCY]'] = dpsData.agency == 'AGENCIA' ? 'true' : 'false';\n\t\t}\n\n\t\tif (idOrder.VGED_CEMDeliveryDate__c && idOrder.VGED_CEMDeliveryDate__c != 'null') {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(idOrder.VGED_CEMDeliveryDate__c);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif(dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\n\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Venta');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t *\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (stepsToAdd: string[], alternativeSteps?: Steps[]) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd.reverse().map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(getStepsVenta(getInstallationName(), getVehicleName()), stepsToUse, stepsToAdd[i], screenIndex);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(steps, stepsToDelete);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (steps: Steps[], replaceCallback: (s: string) => string) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map((child: any) => {\n\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(child.props.children.props.children);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t});\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(step.title.props.children.props.children);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (order: number, sc4: number, sc5: number, sc6: number) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] => array.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionAsesor');\n\t\tconst sc6Motivo = getIndexInSteps(steps, 'SatisfaccionAsesorMotivo');\n\n\t\tlet newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newSteps = modifyTitleSteps(pastSteps, replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, [\n\t\t\t\t\t'DatosIncorrectos',\n\t\t\t\t\t'Modelo',\n\t\t\t\t\t'ConfirmacionConcesion',\n\t\t\t\t]);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongConcesion) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['ConfirmacionConcesion']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (confirmacionConcesion === 'false') {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[2], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t} else if (confirmacionConcesion === 'true') {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [confirmacionConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(getStepsVenta(getInstallationName(), getVehicleName()), 'MasPreguntas', 'EnviarConcesion');\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(steps, 'MasPreguntas', 'EnviarConcesion');\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (stepToRemove: string, stepToAdd: string) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [stepToRemove]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionOrganizacionMotivo', satisfaccionOrganizacion);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionAsesorMotivo', satisfaccionAsesor);\n\t}, [satisfaccionAsesor]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\n\t\t\tconst ratings = [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(ratings, satisfaccionConcesion);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.sspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo');\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('AspectoSatisfaccionMotivo', 'SatisfaccionConcesionMotivo');\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor, satisfaccionConcesion]);\n\n\tuseEffect(() => {\n\t\tif(testDrive == '1') {\n\t\t\taddSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t\telse if(testDrive) {\n\t\t\tremoveSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t}, [testDrive]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTestDriveMotivo', satisfaccionTestDrive);\n\t}, [satisfaccionTestDrive]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(getStepsVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { isHighRating, isLowRating, isNoRating, allHighRatings, allLowRatings, allNoRatings, allHighOrNoRatings } from 'src/feature-app';\n\n\nexport function LastQuestionFlow(ratings: string[], lastQuestion: string) {\n\n\tconst goodRating = allHighRatings(ratings);\n\tconst badRating = allLowRatings(ratings);\n\tconst emptyRating = allNoRatings(ratings);\n\tconst goodOrEmptyRating = allHighOrNoRatings(ratings);\n\n\t/* \n\tQfinal=4,5 AND NOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\tOR\n\tQfinal=3,2,1 AND Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9\n\t*/\n\tconst mostrarQlast1 =\n\t\t(isHighRating(lastQuestion) && !badRating)\n\t\t||\n\t\t(isLowRating(lastQuestion) && goodOrEmptyRating);\n\n\t/* \n\tQfinal=3,2,1 \n\tAND\n\tNOT [Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9]\n\tAND\n\tNOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\t*/\n\tconst mostrarQlast2 = isLowRating(lastQuestion) && !goodOrEmptyRating && !badRating;\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tif(dev) {\n\t\tconsole.log('LAST RATING:', lastQuestion, 'isHigh:', isHighRating(lastQuestion), 'isLow:', isLowRating(lastQuestion));\n\t\tconsole.log('RATINGS:', ratings, 'allgood:', goodRating, 'allbad:', badRating, 'allempty:', emptyRating, 'allgoodroempty:', goodOrEmptyRating);\n\t\tconsole.log('show1:', mostrarQlast1, 'show2:', mostrarQlast2);\n\t}\n\n\treturn {\n\t\tmostrarQlast1: mostrarQlast1,\n\t\tmostrarQlast2: mostrarQlast2\n\t};\n\n}\n","import React from 'react';\nimport { Layout, Breakpoints, Text, styled, Container, ContainerGutter, CTA, TokenTextAppearance, TokenTextColor, } from '@volkswagen-onehub/components-core';\n\nconst PaddingWrapper = styled.div`\n\tpadding-top: 32px;\n`;\ninterface LegalesCEMProps {\n\tisPosventa?: boolean;\n}\n\nexport const LegalesCEM = (props: LegalesCEMProps) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tEl responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas y, en el caso que hayas consentido, para elaborar tu perfil como usuario para enviarte comunicaciones comerciales según lo indicado en el consentimiento. También en el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al {props.isPosventa ? 'Servicio Oficial' : 'punto de venta'}.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tTienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tatencioncliente@volkswagen.es\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tPuedes consultar la información adicional en la{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tpolítica de privacidad\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport { Layout, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { LegalFullScreenSinConsentmientos } from 'src/components';\n\nexport const LegalesSinConsentimientosCEM = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, {useEffect} from 'react';\nimport {getDealerKvps} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehicleCalculadora} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehicleCalculadora): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.vin,\n\t\tmillage: transformMillage(vehicle.mileage),\n\t\tmodelVersion: vehicle.modelDescr,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.plate.toUpperCase(),\n\t\tplateDate: `${vehicle.plateDate} 00:00:00`,\n\t\ttmaimg: vehicle.modelKey,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyCode,\n\t\t\tkey: vehicle.familyCode,\n\t\t\tname: vehicle.familyDesc,\n\t\t},\n\t};\n};\n\n//NO SE USA\n\nexport function CitaPosventaCalculadoraForm({setSelectedJourney}: TriggerProps) {\n\t// const faContent = useFaContent();\n\t// const { loading } = useGetDealers(faContent?.dealer);\n\n\t// const renderForm = (fields: FormDataFields) => {\n\t// setSelectedJourney(\n\t// ,\n\t// true\n\t// );\n\t// };\n\t// useEffect(() => {\n\t// if (loading) return;\n\n\t// const fields = {\n\t// motivo: 'MANTENIMIENTO',\n\t// formName: 'cita-posventa-calculadora',\n\t// matricula: faContent?.vehicle[0]?.plate,\n\t// vehicleForCalculadora: getAppointmentVehicle(faContent?.vehicle[0]),\n\t// kilometros: transformMillage(faContent?.vehicle[0]?.mileage),\n\t// anoMatriculacion: faContent?.vehicle[0]?.plateDate,\n\t// modelo: faContent?.vehicle[0]?.modelDescr,\n\t// budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t// deepLink: faContent?.deepLink,\n\t// };\n\t// const kvps = faContent?.dealer;\n\n\t// getDealerKvps(kvps)\n\t// .then((dealer) => {\n\t// renderForm({ ...fields, dealer });\n\t// })\n\t// .catch((err) => {\n\t// renderForm({ ...fields, dealer: {} }); // Hay que ver que hacer en estos casos.\n\t// });\n\t// }, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nexport function CitaPosventaBonosForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'OTROS',\n\t\t\tformName: 'cita-posventa-bono',\n\t\t\tmasInformacion: faContent?.bono[0].desc,\n\t\t\tdeepLink: faContent?.deepLink,\n\t\t};\n\t\tconst kvps = faContent?.dealer;\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehiclePortal} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaMaintenanceForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'MANTENIMIENTO',\n\t\t\tformName: 'cita-posventa-maintenance-plan',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, { useEffect } from 'react';\nimport { getDealers } from 'src/bff';\nimport { TriggerProps, useFaContent, useGetDealers, VehiclePortal } from 'src/feature-app';\nimport { FormDataFields } from 'src/types';\nimport { AppointmentVehicle } from 'src/forms';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaPortalForm({ setSelectedJourney }: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst { loading } = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: faContent.motivo ?? null,\n\t\t\tformName: 'cita-posventa-portal',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({ ...fields });\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({ ...fields }); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import {Breakpoints, BreakpointWrapper} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tisNull,\n\tLayerManagerWrapper,\n\tNewDealerCard,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {LoadingLayer, ReservaCitaLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tDmsInfo,\n\tHorario,\n\tOneFormState,\n\tSelectedTab,\n\tPoints,\n\tSteps,\n} from 'src/types';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita/';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {\n\tgetDistanceFromLatLngCenter,\n\tcreateNoDmsSlotAndAssessor,\n\tLayerDesktopView,\n\tLayerMobileView,\n} from 'src/feature-app/NewMap';\nimport {getEarliestSlot, sortPointsByDistance} from 'src/feature-app/NewMap/sort-points';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getEapiAvailability} from 'src/bff';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer}: {horario?: Horario; dealer?: DealersData} = formData.fields;\n\tconst {formEnded, showCalendarOnLoad} = formInfo;\n\tconst {points, selectedDealer} = dealersInfo;\n\tconst {handleNextStep, handleScreenChange, setIsFullScreen} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [preSelectedOrderValue, setPreSelectedOrderValue] = useState('ubicacion');\n\tconst pointsByTimeRef = useRef(null);\n\tconst pointsByDistanceRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {\n\t\tclusters,\n\t\tcenterToCalculateDistance,\n\t\tsuperClusterRef,\n\t\tcardsDistanceRef,\n\t\tcardsTimeRef,\n\t\tselectedPoint,\n\t\thandleSelectedPoint,\n\t} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tif ((formEnded && dealer && showCalendarOnLoad) || selectedDealer || showCalendarOnLoad) {\n\t\t\tconst point = points.find((point: Points) => {\n\t\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === selectedDealer?.kvps) {\n\t\t\t\t\treturn point;\n\t\t\t\t}\n\t\t\t});\n\t\t\thandleShowCalendarOnClick(point);\n\t\t}\n\t}, []);\n\n\t//\n\t// Este useEffect sustituye a los anteriores.\n\t//\n\tuseEffect(() => {\n\t\tif (clusters && superClusterRef.current) {\n\t\t\tconst pointsByDistance = sortPointsByDistance(\n\t\t\t\tclusters,\n\t\t\t\tcenterToCalculateDistance.current,\n\t\t\t\tsuperClusterRef.current,\n\t\t\t);\n\t\t\tpointsByDistanceRef.current = pointsByDistance;\n\t\t\tsetPointsToList(pointsByDistance);\n\t\t}\n\t}, [clusters, superClusterRef.current]);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\t\t\tsetError(false);\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start < dealerAv.to,\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{\n\t\t\t\t\tdealerkvps: dealer.kvps,\n\t\t\t\t\tavailabilityHistory: [availabilityHistoryDealer],\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\n\t\t// Validamos que la cita a crear sea sin DMS mediante el flag dmsAvailable en false\n\t\tif (dealer && dealer.dmsInfo) {\n\t\t\tdealer.dmsInfo.dmsAvailable = false;\n\t\t}\n\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer},\n\t\t});\n\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst handleShowSlots = useCallback((point: Points): string | null => {\n\t\tconst {slots} = point.properties?.dealer;\n\t\tlet finalSlot;\n\n\t\tif (!isNull(slots)) {\n\t\t\tfinalSlot = getFinalSlot(getEarliestSlot(slots));\n\n\t\t\treturn finalSlot ? finalSlot : null;\n\t\t}\n\n\t\treturn null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tif (!from) {\n\t\t\treturn null;\n\t\t}\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst handleShowCalendarOnClick = useCallback(async (point: Points) => {\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t// if (point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.dmsAvailable) {\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth);\n\t\t// if (availability && availability.content.calendar) {\n\t\t// handleSelectedPoint(point);\n\t\t// setShowCalendar(true);\n\t\t// }\n\t\t// } else {\n\t\thandleSelectedPoint(point);\n\t\tsetShowCalendar(true);\n\t\t// }\n\t}, []);\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst handleDealerFlags = (dealer: DealersData) => {\n\t\tconst {formInfo, formData} = store.getState();\n\t\tconst {steps} = formInfo;\n\t\tconst {initialSteps, formEnded}: {initialSteps: Steps[]; formEnded: boolean} = formInfo;\n\t\tconst {\n\t\t\tcocheSustitucion,\n\t\t\tcocheAlTaller,\n\t\t\tdealer: pastDealer,\n\t\t}: {\n\t\t\tcocheSustitucion: 'true' | 'false';\n\t\t\tcocheAlTaller: 'true' | 'false';\n\t\t\tdealer: DealersData;\n\t\t} = formData.fields;\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\tconst tallerIndex = newSteps.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\tnewSteps.splice(tallerIndex, 1);\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\tconst sustitucionIndex = newSteps.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\tnewSteps.splice(sustitucionIndex, 1);\n\t\t}\n\n\t\tconst newStepsWithIndex = newSteps.map((step, index) => {\n\t\t\tstep.screenIndex = index;\n\t\t\treturn step;\n\t\t});\n\n\t\t// Pasamos de dealer sin dms a uno con dms después de llegar a la pantalla de confirmación y volvemos a atrás con editar.\n\t\tlet newIndex: number;\n\t\tlet newCocheAlTaller = cocheAlTaller;\n\t\tlet newCocheSustitucion = cocheSustitucion;\n\t\tif (formEnded) {\n\t\t\t// dispatch({ type: 'UPDATE_FIELDS', payload: { cocheSustitucion: null, cocheAlTaller: null } });\n\t\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: false});\n\n\t\t\tif (pastDealer.kvps !== dealer.kvps) {\n\t\t\t\tif (dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.pickupCarServiceAvailabe\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\t\t\t\tnewCocheAlTaller = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.replacementCarServiceAvailable\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\t\t\t\tnewCocheSustitucion = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdispatch({type: 'UPDATE_STEPS', payload: newStepsWithIndex});\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_LAST_STEP',\n\t\t\tpayload: newStepsWithIndex[newStepsWithIndex.length - 1],\n\t\t});\n\t\tdispatch({\n\t\t\ttype: 'SET_NUMBER_OF_SCREENS',\n\t\t\tpayload: newStepsWithIndex.length,\n\t\t});\n\t\t// Solo se llega a esta parte después de finalizar el journey y volver al mapa para editar la concesión.\n\t\tif (formEnded) {\n\t\t\tnewIndex = newIndex ? newIndex : newStepsWithIndex.length - 1;\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {\n\t\t\t\t\tcocheSustitucion: newCocheSustitucion,\n\t\t\t\t\tcocheAlTaller: newCocheAlTaller,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STEP',\n\t\t\t\tpayload: newStepsWithIndex[newIndex],\n\t\t\t});\n\t\t\thandleScreenChange(newIndex);\n\t\t\tif (newStepsWithIndex[newIndex].name !== 'Confirmacion') {\n\t\t\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: false});\n\t\t\t\tsetIsFullScreen(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderPoints = (\n\t\tpoints: Points[],\n\t\tcarPickupSelected?: boolean,\n\t\treplacementCarSelected?: boolean,\n\t): JSX.Element[] => {\n\t\treturn pointsByDistanceRef.current\n\t\t\t? pointsByDistanceRef.current.map((point: Points, index: number) => {\n\t\t\t\t\tif (!point.properties.cluster) {\n\t\t\t\t\t\tconst {dealer} = point.properties;\n\t\t\t\t\t\tconst distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tcardsDistanceRef.current[index] = el;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t })\n\t\t\t: null;\n\t};\n\n\t// Gestión del point seleccionado y del boton de seleccionar (dms)\n\tconst handleSeleccionarOnClick = useCallback((point: any) => {\n\t\thandleSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t}, []);\n\n\tconst renderReservaCita = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleReservaCitaLayer = (point: Points) => {\n\t\tlayerManager.openFocusLayer(renderReservaCita, {selectedPoint: point}, {size: FocusLayerSizeV2.A});\n\t};\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn (\n\t\t
\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n","import {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport {AxiosResponse} from 'axios';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n} from 'src/feature-app';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {LoadingLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {Assessors, Availability, CalendarSlot, DealersData, DmsInfo, Horario, OneFormState, Points} from 'src/types';\nimport {createNoDmsSlotAndAssessor} from 'src/feature-app/NewMap';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\nimport {getEapiAvailability} from 'src/bff';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaDealerController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer, dealerKvps}: {horario?: Horario; dealer?: DealersData; dealerKvps?: string} = formData.fields;\n\tconst {points} = dealersInfo;\n\tconst {handleNextStep} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [loadingPoint, setLoadingPoint] = useState(true);\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {selectedPoint, handleSelectedPoint} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetLoadingPoint(true);\n\t\t// setTimeout(() => {\n\t\tconst point = points.find((point: Points) => {\n\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === dealerKvps) {\n\t\t\t\treturn point;\n\t\t\t}\n\t\t});\n\t\t// handleShowCalendarOnClick(point);\n\t\tsetLoadingPoint(false);\n\t\t// }, 0);\n\t}, []);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tif (availabilityHistory.current.length === 0) {\n\t\t\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t\t\tstart = firstDayOfMonth;\n\t\t\t\tend = lastDayOfMonth;\n\t\t\t}\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsetError(false);\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start <= dealerAv.to || Math.abs(start - dealerAv.to) < 1000, // Cuando compara dos valores practicamente identicos no hace bien la resta y devuelve error.\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{dealerkvps: dealer.kvps, availabilityHistory: [availabilityHistoryDealer]},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer, appointmentDealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\thandleNextStep();\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst {markerInfo, dmsInfo} = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId ? {...dmsInfo.dealerId} : {...markerInfo.dealerInfo.dealerId},\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t\tpickupCarServiceAvailabe: false,\n\t\t\t\treplacementCarServiceAvailable: false,\n\t\t\t\toverhaulingServiceAvialable: false,\n\t\t\t},\n\t\t};\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer, appointmentDealer},\n\t\t});\n\n\t\thandleNextStep();\n\t};\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn !loadingPoint ? renderCalendar() : null;\n};\n","import React from 'react';\nimport {JourneyCitaPosventaDealerController} from './JourneyCitaPosventaDealerController';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaDealerWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport {JourneyCitaPosventaController} from 'src/forms/CitaPosventa';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import {styled, Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport {LocateUser} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {JourneyCitaPosventaWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper';\n\nexport enum MapaCitaSteps {\n\tDealer,\n\tSeleccionCita,\n\tHorario,\n}\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nconst SaltoDeLinea = styled.div`\n\tdisplay: none;\n\t@media all and (min-width: 736px) {\n\t\tdisplay: inline;\n\t}\n`;\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function NewMapaCita(props: MapaCitaProps) {\n\tconst {formName, showHorario} = props;\n\tconst dispatch = useDispatch();\n\tconst store = useStore();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {selectedDealer} = dealersInfo;\n\tconst {firstMapLoad, multiStepScreenIndex, navigationMovingForward} = formInfo;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\twaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\tBien, empecemos con los detalles de tu visita.{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿A dónde quieres llevar tu{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcoche?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: MapaCitaSteps.Dealer,\n\t\t\tname: 'MapSearch',\n\t\t\toutputs: ['location'],\n\t\t\toutputsText: ['location'],\n\t\t\tshowOverflow: true,\n\t\t},\n\t\t{\n\t\t\tscreenIndex: MapaCitaSteps.SeleccionCita,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\t/**\n\t * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n\t */\n\tconst onMapLoad = () => {\n\t\thandleFirstLoad();\n\t};\n\n\t//\n\t//\n\t//\n\t// Falta añadir la parte del dealer precargado\n\t//\n\t//\n\t//\n\tconst handleFirstLoad = async () => {\n\t\tif (firstMapLoad) {\n\t\t\t// Inicialización\n\t\t\tif (dealer) {\n\t\t\t\tinitializeMultiStep(dealer);\n\t\t\t\treturn;\n\t\t\t} else if (selectedDealer) {\n\t\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tinitializeMultiStep();\n\t\t\t}\n\t\t} else {\n\t\t\tif (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n\t\t\t\t// Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n\t\t\t\tinitializeMultiStep();\n\t\t\t} else {\n\t\t\t\t// En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n\t\t\t\tconst newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n\t\t\t\t// Lo mismo para previous, solo le desactivamos si estamos en la primera.\n\t\t\t\tconst newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n\t\t\t\tupdateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n\t\t\t\tupdateScreenChangeVariables(multiStepScreenIndex);\n\n\t\t\t\ttimeoutPreviousStep();\n\t\t\t\t// En caso de volver al mapa con el cta de editar en confirmación se muestra el previous step, por lo que añadimos este timeout para asegurarnos de que no se muestra.\n\t\t\t\ttimeoutPreviousStep(1000);\n\t\t\t}\n\t\t}\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {horario: 'before'}}); // Al eliminar la pantalla de horario seleccionamos por defecto \"before\" para preseleccionar el primer slot disponible.\n\n\t\tsetNextMultiStep(() => nextMapaCita);\n\t\tsetPreviousMultiStep(() => previousMapaCita);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateWaitForNextAndPreviousStep(false, true);\n\t\t\tupdateScreenChangeVariables(steps.length - 1);\n\t\t\ttimeoutPreviousStep();\n\t\t} else {\n\t\t\tupdateWaitForNextAndPreviousStep(true, false);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst nextMapaCita = () => {\n\t\tconst {multiStepScreenIndex} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Una vez avanzamos dentro de los multisteps se activa el wait\n\t\t// previous step para volver hacia atrás dentro del propio multistep.\n\t\tif (!waitForPreviousStep || multiStepScreenIndex === 0) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, true);\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex + 1);\n\t\t\t// Si estamos en el último paso del multistep se desactiva el\n\t\t\t// wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n\t\t\tif (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n\t\t\t\tupdateWaitForNextAndPreviousStep(false, null);\n\t\t\t\tif (multiStepScreenIndex === 0) {\n\t\t\t\t\tsetShowPreviousStep(false);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowPreviousStep(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\tconst previousMapaCita = () => {\n\t\tconst {multiStepScreenIndex, waitForNextStep} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Se desactiva el wait previous step en la segunda pantalla para que\n\t\t// en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n\t\tif (multiStepScreenIndex === 1) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, false);\n\t\t}\n\n\t\tif (!waitForNextStep) {\n\t\t\tupdateWaitForNextAndPreviousStep(true, null);\n\t\t}\n\n\t\t// Se fija en la pantalla previa a la primera para que cuando se cambie\n\t\t// a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex - 1);\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n\t\tsetShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {MapaCitaSteps} from 'src/forms/CitaPosventa/MapaCita/MapaCita';\nimport {JourneyCitaPosventaDealerWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper';\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nexport function MapaCitaDealer(props: MapaCitaProps) {\n\tconst dispatch = useDispatch();\n\tconst {formData, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {selectedDealer, urlDealer} = dealersInfo;\n\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\tconst handleFirstLoad = async () => {\n\t\tif (urlDealer) {\n\t\t\tinitializeMultiStep(urlDealer);\n\t\t\treturn;\n\t\t} else if (selectedDealer) {\n\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\treturn;\n\t\t} else {\n\t\t\tinitializeMultiStep();\n\t\t}\n\n\t\tsetNextMultiStep(() => navigateMultiStep);\n\t\tsetPreviousMultiStep(() => navigateMultiStep);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 0});\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t\ttimeoutPreviousStep();\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst navigateMultiStep = () => {\n\t\thandleScreenChange();\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetIsFullScreen(true);\n\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: true});\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetShowPreviousStep(false);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {Alert} from 'src/icons-core-imports';\n\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState, useCallback} from 'react';\nimport {useDispatch, useStore} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tcreateNoDmsSlotAndAssessor,\n\tgetFranjaAndDayFrom,\n\tweekDay_DayNumber_De_Month,\n\tuseFeatureAppConfig,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {DealersData, OneFormState, Slot, Horario} from 'src/types';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\ttext-align: left;\n\t> div {\n\t\ttext-align: left;\n\t}\n\t> button {\n\t\t@media screen and (min-width: 560px) {\n\t\t\twidth: auto;\n\t\t}\n\t}\n`;\n\ninterface InvalidFormProps {\n\tnotSavedField?: string;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function InvalidForm(props: InvalidFormProps) {\n\tconst {notSavedField, closeLayerCallback} = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Quieres conservar estos últimos cambios?\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSi es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstretchContent\n\t\t\t\t\t>\n\t\t\t\t\t\tEntendido\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface loadingSreenProps {\n\tisleads?: boolean;\n\tcopy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{props.copy ? {props.copy} : Enviando tu petición}\n\t\t\n\t);\n}\n\ninterface KoScreenProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\ttitle?: string;\n\tbodyCopy?: string;\n\tisLEM?: boolean;\n\thideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n\tconst {retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{title ? title : 'Uy, algo ha pasado'}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{bodyCopy ? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\ninterface IntermitenciaDMSKoProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function IntermitenciaDMSKo(props: IntermitenciaDMSKoProps) {\n\tconst {retrySubmit, closeLayerCallback} = props;\n\tconst [dmsFailed, setDmsFailed] = useState(false);\n\tconst store: Store = useStore();\n\tconst dispatch = useDispatch();\n\tconst config = useFeatureAppConfig();\n\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\tconst [name, setName] = useState(null);\n\tconst [selectedPoint, setSelectedPoint] = useState(null);\n\tconst {horario}: {horario?: Horario} = store.getState().formData.fields;\n\n\tuseEffect(() => {\n\t\tconst {sendDmsFailed} = store.getState().formInfo;\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\n\t\tsetDmsFailed(sendDmsFailed);\n\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slot.from);\n\n\t\tsetDay(weekDay_DayNumber_De_Month(slot.from));\n\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\tsetName(dealer.name);\n\t\tsetSelectedPoint(slot);\n\t}, []);\n\n\tconst handleShowSlots = useCallback((): string | null => {\n\t\tlet {slot}: {slot?: Slot} = store.getState().formData.fields;\n\n\t\tconst finalSlot = getFinalSlot(slot.from);\n\n\t\treturn finalSlot ? finalSlot : null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst createNoDmsSlot = async (e: any) => {\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t},\n\t\t};\n\t\tconst {franjaHoraria, day} = getFranjaAndDayFrom(slot.from);\n\t\tconst {slot: newSlot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {slot: newSlot, assessor, dealer}});\n\n\t\tretrySubmit(e);\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t{handleShowSlots()}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres que {name} se ponga en contacto contigo para\n\t\t\t\t\t\tcerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tawait createNoDmsSlot(e);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tConsultar con mi taller\n\t\t\t\t\t\t\n\t\t\t\t\t\t{config.trigger === 'cita-posventa-dealer' ? null : (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { createEapiAppointment, deleteEapiAppointment, getEapiCarlines, oneformBFFNdpsSend } from 'src/bff';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport {\n\tDetalleMotivo,\n\tEmail,\n\tKilometros,\n\tMatriculaYModelo,\n\tMultipleCTASelection,\n\tPantallaNombreApellido,\n\tTelefono,\n} from 'src/components';\nimport { formatPrefix, removeWhiteSpace, useFaContent, useOneFormContext, useGetWaidLitera } from 'src/feature-app';\nimport { MapaCitaDealer, NewMapaCita } from 'src/forms/CitaPosventa/MapaCita';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n\tresetStepsScreenIndex,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tremoveStep,\n} from 'src/forms/helpers/add-remove-steps';\nimport {\n\tFormDataFields,\n\tDealerInfo,\n\tDealersData,\n\tDmsInfo,\n\tFormDataGroup,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n\tCarlineBase,\n} from 'src/types';\nimport { NuevaCitaPosventaFormDefault, NuevaCitaPosventaFormLogged } from '..';\nimport { CitaFormDataFields } from '../types';\nimport { ConfirmacionCita } from './ConfirmacionCita';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { Store } from 'redux';\nimport { useIsComerciales, useGetBrand } from 'src/feature-app/hooks';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { transformDate } from 'src/helpers';\nimport { InputRegex } from 'src/components/inputs/InputRegex';\n\nexport enum CitaPosventaSteps {\n\tMotivo,\n\tMiembroTheOriginals,\n\tChequeoSeguridad,\n\tMasInformacion,\n\tMapa,\n\tNombreApellido,\n\tMatricula,\n\tKilometros,\n\tTelefono,\n\tEmail,\n\tCocheSustitucion,\n\tCocheAlTaller,\n\tConfirmacion,\n}\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n\tisCitaPosventaEmbeddedCalculadora?: boolean;\n\tisCitaPosventaEmbeddedBonos?: boolean;\n\tisCitaPosventaEmbeddedBeneficios?: boolean;\n\tisCitaPosventaEmbeddedMaintenance?: boolean;\n\tisCitaPosventaEmbeddedPortal?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nconst spliceSteps = (steps: Steps[], step: string, stepName: string) => {\n\tif (step) {\n\t\tconst index = steps.findIndex((step) => step.name === stepName);\n\t\tsteps.splice(index, 1);\n\t\treturn steps;\n\t}\n\treturn steps;\n};\n\nfunction updateTitle(detalles: any): any {\n\treturn (\n\t\t<>\n\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\n\t);\n}\n\nconst getFormName = (\n\tisCitaPosventaDealer: boolean,\n\tisCitaPosventaEmbeddedCalculadora: boolean,\n\tisCitaPosventaEmbeddedBonos: boolean,\n\tisCitaPosventaEmbeddedBeneficios: boolean,\n\tisCitaPosventaEmbeddedMaintenance: boolean,\n) => {\n\treturn isCitaPosventaDealer\n\t\t? 'cita-posventa-dealer'\n\t\t: isCitaPosventaEmbeddedCalculadora\n\t\t? 'cita-posventa-calculadora'\n\t\t: isCitaPosventaEmbeddedBonos\n\t\t? 'cita-posventa-bono'\n\t\t: isCitaPosventaEmbeddedBeneficios\n\t\t? 'cita-posventa-beneficios'\n\t\t: isCitaPosventaEmbeddedMaintenance\n\t\t? 'cita-posventa-maintenance'\n\t\t: 'cita-posventa';\n};\n\n// importante usar OTROS-* para correcto uso del metodo isFakeMotivo(motivo)\nexport const fakeMotivoValues = {\n\tsoftwareId : 'OTROS-SOFTWARE_ID',\n\tplacaOriginals: 'OTROS-PLACA_THE_ORIGINALS',\n};\n\nexport const CTAsMotivos = (isComerciales: boolean) => [\n\t{\n\t\tlabel: 'Mantenimiento',\n\t\tvalue: 'MANTENIMIENTO',\n\t\tdetalles: 'la revisión de mantenimiento',\n\t\tdetallesPrevStep: 'Revisión de mantenimiento',\n\t},\n\t{\n\t\tlabel: 'Neumáticos',\n\t\tvalue: 'NEUMATICOS',\n\t\tdetalles: 'el cambio de neumáticos',\n\t\tdetallesPrevStep: 'Cambio de neumáticos',\n\t},\n\t{\n\t\tlabel: 'Avería',\n\t\tvalue: 'REPARACION',\n\t\tdetalles: 'la avería',\n\t\tdetallesPrevStep: 'Reparación de avería'\n\t},\n\t{\n\t\tlabel: 'Revisión pre-ITV',\n\t\tvalue: 'PREITV',\n\t\tdetalles: (\n\t\t\t<>\n\t\t\t\tla revisión{' '}\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\tpre-ITV\n\t\t\t\n\t\t),\n\t\tdetallesPrevStep: 'Revisión pre-ITV',\n\t},\n\t{\n\t\tlabel: 'Chapa y pintura',\n\t\tvalue: 'CARROCERIA',\n\t\tdetalles: 'la reparación de chapa y pintura',\n\t\tdetallesPrevStep: 'Reparación de chapa y pintura',\n\t},\n\t{\n\t\tlabel: 'Accesorios',\n\t\tvalue: 'ACCESORIOS',\n\t\tdetalles: 'la instalación de los accesorios',\n\t\tdetallesPrevStep: 'Instalación de accesorios',\n\t},\n\t{\n\t\tlabel: 'Actualización Software ID',\n\t\tvalue: fakeMotivoValues.softwareId,\n\t\tdetalles: 'Actualización Software ID',\n\t\tdetallesPrevStep: 'Actualización Software ID'\n\t},\n\t...(false\n\t\t? [{\n\t\t\tlabel: 'Instalación placa The Originals',\n\t\t\tvalue: fakeMotivoValues.placaOriginals,\n\t\t\tdetalles: 'Instalación placa The Originals',\n\t\t\tdetallesPrevStep: 'Instalación placa The Originals'\n\t\t}]\n\t\t: []),\n\t{\n\t\tlabel: 'Otros',\n\t\tvalue: 'OTROS',\n\t\tdetalles: 'el motivo de tu visita',\n\t\tdetallesPrevStep: 'Visita'\n\t},\n];\n\n\nexport const NuevaCitaPosventaFormController = ({\n\tisCitaPosventaDealer,\n\tisCitaPosventaEmbeddedCalculadora,\n\tisCitaPosventaEmbeddedBonos,\n\tisCitaPosventaEmbeddedBeneficios,\n\tisCitaPosventaEmbeddedMaintenance,\n\tisCitaPosventaEmbeddedPortal,\n\tupdatedFormData,\n}: NuevaCitaPosventaFormProps) => {\n\tconst { nextScreenIndex } = useOneFormContext();\n\tconst { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst { selectedDealer } = dealersInfo;\n\tconst { userIsAuthenticated } = formInfo;\n\tconst dispatch = useDispatch();\n\tconst store: Store = useStore();\n\tconst faContent = useFaContent();\n\tconst [loaded, setLoaded] = useState(false);\n\tconst [steps, setSteps] = useState([]);\n\tconst [firstStep, setFirstStep] = useState(null);\n\tconst [stepsHistory, setStepsHistory] = useState(null);\n\tconst isComerciales = useIsComerciales();\n\tconst groupBrand = useGetBrand();\n\tconst waid = useGetWaidLitera();\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst wa = urlParams.get('wa');\n\tconst useLoggedJourney = false; // De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\tconst CTAsMotivo = CTAsMotivos(isComerciales);\n\n\tconst CitaPosventaData: Partial = {\n\t\theaders: {\n\t\t\tDESC_BRAND: 'VW',\n\t\t\tDESC_CAMPAIGNBLOCK: '7011n000000Ajm0AAC',\n\t\t\tDESC_FORMOBJECTIVE: 'Call Me Now',\n\t\t\tDESC_ID_CAMPAIGN: '9. VW LEM',\n\t\t\tDESC_TOKEN: 'VW_DDB_FRM_CALL_ME',\n\t\t\tDESC_VN_VO: 'VN',\n\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t...updatedFormData?.headers,\n\t\t},\n\t\tfields: {\n\t\t\tformName: getFormName(\n\t\t\t\tisCitaPosventaDealer,\n\t\t\t\tisCitaPosventaEmbeddedCalculadora,\n\t\t\t\tisCitaPosventaEmbeddedBonos,\n\t\t\t\tisCitaPosventaEmbeddedBeneficios,\n\t\t\t\tisCitaPosventaEmbeddedMaintenance,\n\t\t\t),\n\t\t\tformType: 'servicerequest',\n\t\t\tpageCategory: 'Cita Posventa',\n\t\t\t...updatedFormData?.fields,\n\t\t},\n\t};\n\tconst [citaPosventaData, setCitaPosventaData] = useState(CitaPosventaData);\n\n\t// Lógica común a los formularios independientemente del estado del login.\n\tconst getMotivoTitle = (): JSX.Element => {\n\t\tif (!fields.motivo)\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre el motivo de tu{' '}\n\t\t\t\t\tvisita?\n\t\t\t\t\n\t\t\t);\n\t\telse {\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst detalles = selectedMotivo ? selectedMotivo.detalles : 'string';\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst isFakeMotivo = (motivo: string) => {\n\t\treturn motivo?.substring(0, 6) == 'OTROS-';\n\t};\n\n\tconst getFilteredValueMotivo = (motivo: string) => {\n\t\t// Para los casos OTROS-* devolver solo OTROS\n\t\treturn isFakeMotivo(motivo) ? 'OTROS' : motivo;\n\t};\n\n\tconst getFilteredLabelMotivo = (motivo: string) => {\n\t\t// motivo literal excepto si OTROS-* devolvemos Otros\n\t\tif(isFakeMotivo(motivo)) {\n\t\t\treturn 'Otros';\n\t\t}\n\t\treturn CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === motivo)?.label;\n\t};\n\n\tuseEffect(() => {\n\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...steps];\n\n\t\tif(fields.motivo != fakeMotivoValues.placaOriginals) {\n\t\t\tnewSteps = removeStep(newSteps, 'MiembroTheOriginals');\n\t\t\tnewSteps = removeStep(newSteps, 'ChequeoSeguridad');\n\t\t}\n\t\telse if(fields.chequeoSeguridad == 'false') {\n\t\t\tnewSteps = removeStep(newSteps, 'CocheSustitucion');\n\t\t\tnewSteps = removeStep(newSteps, 'CocheAlTaller');\n\t\t}\n\t\tupdateSteps(newSteps);\n\n\t\tif (isFakeMotivo(fields.motivo)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MasInformacion');\n\t\t\tupdateSteps(newSteps);\n\t\t} else if (selectedMotivo && actualSteps.length < defaultSteps.length) {\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\n\t\tif (selectedMotivo && formInfo?.steps && !isFakeMotivo(fields.motivo)) {\n\t\t\tconst formSteps = formInfo.steps;\n\t\t\tconst masInformacionIndex = formSteps.findIndex((step) => step.name === 'MasInformacion');\n\t\t\tif (masInformacionIndex !== -1) {\n\t\t\t\tformSteps[masInformacionIndex].title = updateTitle(selectedMotivo.detalles);\n\t\t\t}\n\t\t}\n\n\t}, [fields.motivo, fields.chequeoSeguridad]);\n\n\tconst defaultSteps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Por qué motivo quieres{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tvisitarnos?*\n\t\t\t\t\t\n\t\t\t\t\t{nextScreenIndex !== null && nextScreenIndex === 1 ? null : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSelecciona la razón principal de tu visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: }/>,\n\t\t\thidePreviousStep: false,\n\t\t\tisFirstStep: true,\n\t\t\tscreenIndex: CitaPosventaSteps.Motivo,\n\t\t\tname: 'Motivo',\n\t\t\tctas: CTAsMotivo,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Nos puedes indicar tu número The Originals?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tEncontrarás tu número The Originals en el QR que puedes descargar desde tu perfil.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MiembroTheOriginals,\n\t\t\tname: 'MiembroTheOriginals',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres realizar un chequeo de seguridad gratuito?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.ChequeoSeguridad,\n\t\t\tname: 'ChequeoSeguridad',\n\t\t},\n\t\t{\n\t\t\ttitle: getMotivoTitle(),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MasInformacion,\n\t\t\tname: 'MasInformacion',\n\t\t\toutputs: ['masInformacion'],\n\t\t\toutputsText: ['masInformacion'],\n\t\t},\n\t\t{\n\t\t\tscreenIndex: CitaPosventaSteps.Mapa,\n\t\t\tname: 'Mapa',\n\t\t\tmultiStep: true,\n\t\t\tcomponent: isCitaPosventaDealer ? : ,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPara poder preparar tu visita, necesitamos saber quién eres\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.NombreApellido,\n\t\t\tname: 'NombreApellido',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tCuéntanos más sobre tu coche. ¿Qué matrícula tiene y qué modelo es?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Matricula,\n\t\t\tname: 'Matricula',\n\t\t\toutputs: ['modelo', 'matricula'],\n\t\t\toutputsText: ['modelo', 'con matrícula', 'matricula'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿cuántos kilómetros?\n\t\t\t\t\t*\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Kilometros,\n\t\t\tname: 'Kilometros',\n\t\t\toutputs: ['kilometros'],\n\t\t\toutputsText: ['kilometros'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tEn caso de necesitar contactar contigo, ¿a qué número podemos llamarte?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.Telefono,\n\t\t\tname: 'Telefono',\n\t\t\toutputs: ['cellphone'],\n\t\t\toutputsText: ['cellphone'],\n\t\t},\n\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿a qué email te enviamos la confirmación y los datos de tu cita?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Email,\n\t\t\tname: 'Email',\n\t\t\toutputs: ['email'],\n\t\t\toutputsText: ['email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Necesitarás otro coche mientras el tuyo está en el{' '}\n\t\t\t\t\t\n\t\t\t\t\t\ttaller?\n\t\t\t\t\t\t*\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCoche de sustitución: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheSustitucion,\n\t\t\tname: 'CocheSustitucion',\n\t\t\toutputs: ['cocheSustitucion'],\n\t\t\toutputsText: ['cocheSustitucion', 'quiero otro coche'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY para facilitar tu visita,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t¿llevamos tu coche al{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRecogida a domicilio: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheAlTaller,\n\t\t\tname: 'CocheAlTaller',\n\t\t\toutputs: ['cocheAlTaller'],\n\t\t\toutputsText: ['cocheAlTaller', 'quiero servicio de recogida y entrega'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Confirmacion,\n\t\t\tname: 'Confirmacion',\n\t\t\tisLastStep: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst getLssiTmk = (value: string) => {\n\t\tswitch (value) {\n\t\t\tcase 'PERMITE':\n\t\t\t\treturn 'PERMITIDO';\n\t\t\t\tbreak;\n\t\t\tcase 'NO PERMITE':\n\t\t\t\treturn 'ROBINSON';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst getModelo = (fields: FormDataFields, carlines: CarlineBase[]) => {\n\t\tif (fields.idBuzzExclusive && carlines?.length > 0) {\n\t\t\treturn carlines.find((carline) => carline.name.includes('Buzz'));\n\t\t}\n\t\treturn fields.modeloList\n\t\t\t? fields.modeloList\n\t\t\t: carlines?.length > 0 && fields.modelo\n\t\t\t? carlines.find((carline) => carline.name === fields.modelo)\n\t\t\t: {\n\t\t\t\t\tcode: null,\n\t\t\t\t\tkey: null,\n\t\t\t\t\tname: null,\n\t\t\t};\n\t};\n\n\tconst getInstallationAdress = (markerInfo) => {\n\t\treturn (\n\t\t\tmarkerInfo.dealerInfo?.address +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.zipCode +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.city +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.province\n\t\t);\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst { markerInfo, dmsInfo } = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId,\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve) => {\n\t\t\tconst { tc, today, device } = getParamsForm();\n\t\t\tconst { formData, dealersInfo } = store.getState();\n\n\t\t\tconst { fields } = formData;\n\t\t\tconst { citaCarlines } = dealersInfo;\n\t\t\tconst { dealer } = fields;\n\t\t\tconst { dmsInfo, markerInfo }: { dmsInfo: DmsInfo; markerInfo: DealerInfo } = dealer;\n\t\t\tconst modelo = getModelo(fields, citaCarlines);\n\t\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\t\t\tconst appointmentDate = dayjs(fields.slot.from).format('DD/MM/YYYY HH:mm:ss');\n\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst info = isFakeMotivo(fields.motivo) ? selectedMotivo?.label ?? '' : fields.masInformacion ?? '';\n\t\t\tconst miembro = isComerciales && fields.miembroTheOriginals ? ' ' + fields.miembroTheOriginals.toUpperCase() : '';\n\t\t\tconst chequeo = fields.chequeoSeguridad === true || fields.chequeoSeguridad === 'true' ? ' con chequeo de seguridad gratuito solicitado' : '';\n\t\t\tconst comments = info + miembro + chequeo;\n\n\t\t\tconst appointmentNode = {\n\t\t\t\tappointment: {\n\t\t\t\t\tcomments: comments,\n\t\t\t\t\tcustomer: {\n\t\t\t\t\t\tcontactPhone: `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n\t\t\t\t\t\tcustomerType: 'F',\n\t\t\t\t\t\tdocumentNumber: null,\n\t\t\t\t\t\tdocumentType: null, // Parametrizar [DNI,NIF,NIE] || null\n\t\t\t\t\t\temail: removeWhiteSpace(fields.email),\n\t\t\t\t\t\tgender: 'M', // Parametrizar [M,V]\n\t\t\t\t\t\tname: fields.name?.trim(),\n\t\t\t\t\t\towner: false,\n\t\t\t\t\t\tsurname: fields.surname?.trim(),\n\t\t\t\t\t\tsurname2: fields.secondSurname?.trim(),\n\t\t\t\t\t},\n\t\t\t\t\tvehicle: fields.vehicleForMaintenance\n\t\t\t\t\t\t? fields.vehicleForMaintenance\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbrand: groupBrand,\n\t\t\t\t\t\t\t\tframe: null,\n\t\t\t\t\t\t\t\tmillage: Array.isArray(fields.kilometros) ? fields.kilometros[0] : fields.kilometros,\n\t\t\t\t\t\t\t\tmodelVersion: 'NO INFORMADO',\n\t\t\t\t\t\t\t\tmodelYear: 0,\n\t\t\t\t\t\t\t\tplate: fields.matricula?.toUpperCase(),\n\t\t\t\t\t\t\t\t// countryPlate: fields.countryPlate,\n\t\t\t\t\t\t\t\tplateDate: `${fields.anoMatriculacion}-01-01 00:00:00`,\n\t\t\t\t\t\t\t\ttmaimg: null,\n\t\t\t\t\t\t\t\tmodel: modelo,\n\t\t\t\t\t\t},\n\t\t\t\t\tdealer: appointmentDealer,\n\t\t\t\t\tslot: {\n\t\t\t\t\t\tfrom: fields.slot.from,\n\t\t\t\t\t\tto: fields.slot.to,\n\t\t\t\t\t\treplacementCarServiceAvailable: fields.slot.replacementCarServiceAvailable,\n\t\t\t\t\t\tdayMoment: fields.slot.dayMoment,\n\t\t\t\t\t\tassessorCode: fields.slot.assessorCode,\n\t\t\t\t\t},\n\t\t\t\t\tassessor: {\n\t\t\t\t\t\tcode: fields.assessor.code,\n\t\t\t\t\t\tname: fields.assessor.name,\n\t\t\t\t\t},\n\t\t\t\t\tintervention: {\n\t\t\t\t\t\tcode: getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t\tname: getFilteredLabelMotivo(fields.motivo),\n\t\t\t\t\t},\n\t\t\t\t\tlopd: 'PERMITIDO',\n\t\t\t\t\tlssi: getLssiTmk(fields.lssi),\n\t\t\t\t\tpickupServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : undefined,\n\t\t\t\t\treplacementCarServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : undefined,\n\t\t\t\t\tstatus: 'P',\n\t\t\t\t\ttmk: getLssiTmk(fields.tmk),\n\t\t\t\t\tsms: null,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst surveyNode = null; // Flag para que Eapi no grabe survey\n\t\t\t/*const surveyNode = {\n\t\t\t\tsurvey: {\n\t\t\t\t\tdealer: {\n\t\t\t\t\t\tdmsInfo: dmsInfo,\n\t\t\t\t\t\tmarkerInfo: markerInfo,\n\t\t\t\t\t},\n\t\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t\t\tformId: `vw-oneform-${fields.formName}`,\n\t\t\t\t\tformVersion: `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\ttc: getTrackingCode(),\n\t\t\t\t\turl,\n\t\t\t\t\turlOrigin: document.referrer || null,\n\t\t\t\t\tdeepLink: fields.deepLink,\n\t\t\t\t\tbudget: fields.budget,\n\t\t\t\t\twaid,\n\t\t\t\t},\n\t\t\t};*/\n\n\t\t\tconst eapiData: CitaFormDataFields = {\n\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\tkvps: dealer.kvps,\n\t\t\t\tcod_instalacion: dealer.codInstalacion,\n\t\t\t\t...appointmentNode,\n\t\t\t\t...surveyNode,\n\t\t\t};\n\n\t\t\tconst eapiDataToSend = new FormData();\n\t\t\tfor (const key in eapiData) {\n\t\t\t\tif (typeof eapiData[key] === 'object') {\n\t\t\t\t\teapiDataToSend.append(key, JSON.stringify(eapiData[key]));\n\t\t\t\t} else {\n\t\t\t\t\teapiDataToSend.append(key, eapiData[key]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst eapiResponse = await createEapiAppointment(eapiDataToSend);\n\n\t\t\tif (eapiResponse && eapiResponse.data?.status?.code == 200) {\n\t\t\t\tconst pincode = eapiResponse.data?.content?.pincode;\n\t\t\t\tconst ndpsData = {\n\t\t\t\t\t'headers[DPS_TOKEN]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FK_SYSTEM]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FORM_ID]': wa,\n\t\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t\t'headers[FORM_OBJECTIVE]': 'Cita Posventa',\n\t\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t\t\t'fields[DPS_BRAND]': isComerciales ? 'Volkswagen CV' : 'Volkswagen',\n\n\t\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t\t'fields[COMMENTS_PERSON]': comments,\n\t\t\t\t\t'fields[CREATIVITY_PERSONALIZATION_DATA]': fields.budget,\n\t\t\t\t\t//'fields[]': fields.deepLink,\n\n\t\t\t\t\t'fields[SURVEY_ANSWER_01]': pincode,\n\n\t\t\t\t\t'fields[VEH_ACTUAL_MODEL]': appointmentNode.appointment.vehicle.model?.name,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE]': appointmentNode.appointment.vehicle.plate,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE_DATE]': transformDate(\n\t\t\t\t\t\tappointmentNode.appointment.vehicle.plateDate,\n\t\t\t\t\t\t'DD/MM/YYYY HH:mm:ss',\n\t\t\t\t\t\t'YYYY-MM-DD HH:mm:ss',\n\t\t\t\t\t),\n\t\t\t\t\t'fields[VEH_ACTUAL_MILEAGE]': appointmentNode.appointment.vehicle.millage,\n\t\t\t\t\t'fields[VEH_ACTUAL_FRAME]': appointmentNode.appointment.vehicle.frame,\n\n\t\t\t\t\t'fields[APPOINTMENT_TYPE]': 'NUEVA',\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_NAME]': appointmentDealer.name,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_CODE]': appointmentDealer.dealerId?.codInstalacion,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_ADDRESS]': getInstallationAdress(markerInfo),\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_EMAIL]': appointmentDealer.email,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_PHONE]': appointmentDealer.phone?.replace(/\\s+/g, ''),\n\t\t\t\t\t'fields[APPOINTMENT_REQUESTED_TYPE]': getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t'fields[APPOINTMENT_DATE]': appointmentDate,\n\t\t\t\t\t'fields[PERSON_PREFERRED_SLOT]': fields.slot.dayMoment?.code, // ej: MEDIODIA\n\t\t\t\t\t'fields[APPOINTMENT_COMMERCIAL_ADVISER]': fields.assessor.name,\n\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_PICK_UP_SERVICE]':\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_SUBSTITUTION_VEHICLE]':\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_HAS_DMS]': appointmentDealer.dmsAvailable,\n\t\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\n\t\t\t\t\t'flags[FLAG_RELACION_MARCA_SIN_IC]': 'true',\n\t\t\t\t\t'flags[FLAG_IS_MYSTERY_LEAD]': 'false',\n\t\t\t\t};\n\n\t\t\t\tconst ndpsDataToSend = formDataBuilder(JSON.parse(JSON.stringify(ndpsData)));\n\t\t\t\tconst ndpsResponse = await oneformBFFNdpsSend(ndpsDataToSend);\n\t\t\t\tif (ndpsResponse && ndpsResponse.data?.status?.code == 200) {\n\t\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: ndpsResponse.data });\n\t\t\t\t\treturn resolve(true);\n\t\t\t\t} else {\n\t\t\t\t\tconst eapiDelete = {\n\t\t\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\t\t\tpincode: pincode,\n\t\t\t\t\t};\n\t\t\t\t\tawait deleteEapiAppointment(formDataBuilder(eapiDelete));\n\t\t\t\t\tresolve(false);\n\t\t\t\t}\n\t\t\t} else if (!eapiResponse?.data?.content && dmsInfo?.dmsAvailable) {\n\t\t\t\tdispatch({ type: 'SET_SEND_DMS_FAILED', payload: true });\n\t\t\t\tresolve(false);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst repeatKvpsRequest = async (kvps: string) => {\n\t\tconst newSelectedDealer = await getDealerKvps(kvps);\n\n\t\tif (newSelectedDealer) {\n\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: newSelectedDealer } });\n\t\t\t// CitaPosventaData.fields.dealer = newSelectedDealer;\n\t\t}\n\t};\n\n\tconst getFinalSteps = (steps: Steps[], motivo: string, observaciones: string) => {\n\t\tlet newSteps = [...steps];\n\n\t\tnewSteps = spliceSteps(newSteps, motivo, 'Motivo');\n\t\tnewSteps = spliceSteps(newSteps, observaciones, 'MasInformacion');\n\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\t/**\n\t * Dependiendo del journey que siga el usuario se empezará en una pantalla o en otra, pero hay que adaptar stepHistory para que aun así pueda volver hacia atrás.\n\t */\n\tconst getFirstStepAndStepsHistory = (): { firstStep: Steps; stepsHistory: number[]; finalSteps: Steps[] } => {\n\t\t// Obtención de los parametros de la url\n\t\tlet selectedMotivo = null;\n\t\tconst observaciones = faContent?.observaciones;\n\n\t\tif (isCitaPosventaEmbeddedCalculadora || isCitaPosventaEmbeddedMaintenance) {\n\t\t\t// En los forms de Calculadora y Mi Manteniemto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\t'Motivo',\n\t\t\t\t'MasInformacion',\n\t\t\t\t'Matricula',\n\t\t\t\t'Kilometros',\n\t\t\t]);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (isCitaPosventaEmbeddedPortal) {\n\t\t\t// En los forms de Calculadora y Mi Manteniemto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\tfaContent.motivo && 'Motivo',\n\t\t\t\t'Matricula',\n\t\t\t\t'Kilometros',\n\t\t\t]);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (isCitaPosventaEmbeddedBonos) {\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, ['Motivo', 'MasInformacion']);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (window && window.location) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst motivoParam = urlParams.get('motivo');\n\t\t\tconst dealer = urlParams.get('dealer');\n\n\t\t\tif (motivoParam) {\n\t\t\t\tselectedMotivo = CTAsMotivo.find((ctaMotivo) => {\n\t\t\t\t\treturn ctaMotivo.value === motivoParam;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (dealer && selectedDealer) {\n\t\t\t\t// CitaPosventaData.fields.dealer = selectedDealer;\n\t\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: selectedDealer } });\n\t\t\t} else if (dealer && !selectedDealer) {\n\t\t\t\t// En caso de que por algun motivo haya dealer pero no se haya cargado correctamente en el cms repetimos la request\n\t\t\t\trepeatKvpsRequest(dealer);\n\t\t\t}\n\t\t}\n\n\t\tconst finalSteps = getFinalSteps(\n\t\t\tdefaultSteps, \n\t\t\tfaContent?.motivo ? faContent.motivo : fields.motivo, \n\t\t\tobservaciones\n\t\t);\n\n\t\tconst defaultFirstStep = finalSteps[CitaPosventaSteps.Motivo];\n\n\t\tlet firstStep = finalSteps.find((step: Steps) => {\n\t\t\tif (selectedMotivo && (!faContent || !faContent.motivo)) {\n\t\t\t\treturn step.screenIndex === CitaPosventaSteps.MasInformacion;\n\t\t\t} else {\n\t\t\t\treturn step.screenIndex === defaultFirstStep.screenIndex;\n\t\t\t}\n\t\t});\n\n\t\tfirstStep = firstStep ? firstStep : defaultFirstStep;\n\t\tfirstStep.isFirstStep = true;\n\n\t\tlet stepsHistory = [0];\n\t\tif (firstStep.screenIndex === defaultFirstStep.screenIndex) {\n\t\t\tstepsHistory = [0];\n\t\t} else {\n\t\t\tstepsHistory = [0, firstStep.screenIndex];\n\t\t}\n\n\t\tconst motivoData = faContent?.motivo ? faContent.motivo : selectedMotivo ? selectedMotivo.value : null;\n\t\tconst masInformacionData = faContent?.observaciones\n\t\t\t? faContent.observaciones\n\t\t\t: isFakeMotivo(motivoData)\n\t\t\t? selectedMotivo.detalles\n\t\t\t: null;\n\n\t\tsetCitaPosventaData({\n\t\t\t...citaPosventaData,\n\t\t\tfields: { ...citaPosventaData.fields, motivo: motivoData, masInformacion: masInformacionData },\n\t\t});\n\n\t\treturn { firstStep, stepsHistory, finalSteps };\n\t};\n\n\tconst handleStepsOfCitaDealer = (steps: Steps[], dealer: DealersData) => {\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!dealer.dmsInfo?.pickupCarServiceAvailabe || fields.motivo == fakeMotivoValues.placaOriginals) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheAlTaller']);\n\t\t}\n\t\tif (!dealer.dmsInfo?.replacementCarServiceAvailable || fields.motivo == fakeMotivoValues.placaOriginals) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheSustitucion']);\n\t\t}\n\n\t\tsetSteps(newSteps);\n\t\tsetFirstStep(newSteps[0]);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tconst getSteps = (steps: Steps[]) => {\n\t\tif (isCitaPosventaDealer && selectedDealer) {\n\t\t\thandleStepsOfCitaDealer(defaultSteps, selectedDealer);\n\t\t\treturn;\n\t\t}\n\t\tconst { firstStep, stepsHistory, finalSteps } = getFirstStepAndStepsHistory();\n\t\tsetSteps(finalSteps);\n\t\tsetFirstStep(firstStep);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tuseEffect(() => {\n\t\tgetSteps(defaultSteps);\n\t\tgetEapiCarlines().then((response) => {\n\t\t\tdispatch({ type: 'SET_CITA_CARLINES', payload: response.data?.content });\n\t\t});\n\t}, []);\n\n\treturn loaded ? (\n\t\tuserIsAuthenticated && useLoggedJourney ? (\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t)\n\t) : null;\n};\n","import * as React from 'react';\nexport var ChevronUp = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M22.016 17.708 12.55 7.814c-.28-.298-.418-.397-.551-.397-.145 0-.31.114-.572.393l-9.443 9.897-.962-.918 9.439-9.893A2.108 2.108 0 0 1 12 6.086a2.083 2.083 0 0 1 1.517.813l9.46 9.89z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M44.301 35.205 25.344 15.387c-1.085-1.159-1.482-1.338-2.732-.005L3.699 35.204l-1.447-1.381 18.906-19.816A3.943 3.943 0 0 1 24 12.487a3.883 3.883 0 0 1 2.797 1.526l18.95 19.809z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M10.784 9.092 6.037 4.13l-.043-.046-.04.041-4.737 4.966-.962-.918 4.734-4.962A1.39 1.39 0 0 1 6 2.703a1.365 1.365 0 0 1 1.003.513l4.742 4.956z\" }));\n }\n return null;\n}, { displayName: 'ChevronUp' }));\n","import * as React from 'react';\nexport var ChevronDown = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.984 6.19 9.465 9.893c.28.299.418.397.551.397.145 0 .31-.114.572-.392l9.443-9.898.962.918-9.439 9.893a2.108 2.108 0 0 1-1.538.81 2.083 2.083 0 0 1-1.517-.813l-9.46-9.889z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m3.698 12.641 18.957 19.817c1.085 1.16 1.482 1.34 2.732.006l18.912-19.822 1.447 1.381L26.84 33.839a3.943 3.943 0 0 1-2.842 1.52 3.883 3.883 0 0 1-2.797-1.526L2.252 14.023z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.216 2.805 4.746 4.962.043.046.04-.041 4.738-4.966.962.918L7.01 8.686A1.39 1.39 0 0 1 6 9.195a1.365 1.365 0 0 1-1.004-.514L.255 3.725z\" }));\n }\n return null;\n}, { displayName: 'ChevronDown' }));\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError } from 'src/components';\nimport { TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\n\ninterface Props {\n\tname: string;\n\tregex: RegExp;\n\trequired?: boolean;\n\tlabel?: string;\n\tdisabled?: boolean;\n\tlength?: number;\n\tmaxLength?: number;\n\tminlength?: number;\n\tpaddingTop?: string;\n\terrorLabel?: string;\n}\n\nexport function InputRegex(props: Props) {\n\tconst { name, regex, required, label, disabled, length, maxLength, minlength, paddingTop } = props;\n\tconst errorLabel = props.errorLabel ? props.errorLabel : 'Formato no válido';\n\n\tconst { register, errors } = useFormContext();\n\tconst { error: contextError, setError: setContextError } = useOneFormContext();\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [value, setValue] = useState('');\n\tconst [error, setError] = useState(false);\n\tconst dispatch = useDispatch();\n\n\tconst validateLenght = (value: string) => {\n\t\tif(length) {\n\t\t\treturn value?.length == length;\n\t\t}\n\t\telse if(minlength && maxLength) {\n\t\t\treturn value?.length >= minlength && value?.length <= maxLength;\n\t\t}\n\t\telse if(minlength){\n\t\t\treturn value?.length >= minlength;\n\t\t}\n\t\telse if(maxLength) {\n\t\t\treturn value?.length <= maxLength;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\t\tsetValue(value);\n\t\tsetError(false);\n\t\tif (validateLenght(value)) {\n\t\t\tif (regex.test(value) && required) {\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t\t} else {\n\t\t\t\tsetError(true);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={length ? length : maxLength}\n\t\t\t/>\n\t\t\t{error && {errorLabel}}\n\t\t\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tFieldset,\n\tLayout,\n\tLayoutRowGap,\n\tRadioButton,\n\tstyled,\n\tSwitch,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useStore, useSelector} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tApellido,\n\tAreYouSureLayer,\n\tEmail,\n\tLegalesFormatoLayer,\n\tLssiTkmQuestionsTurismos,\n\tMatriculaYModelo,\n\tNombre,\n\tSelectExtended,\n\tTelefono,\n\tCarlineSelect,\n\tPoliticaPrivacidad,\n\tLastNavigation,\n\tLegalesTemporales,\n} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseFeatureServices,\n\tuseOneFormContext,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {OneFormState, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getKilometrosInfo, franjaHoraria} from 'src/feature-app/InputsValues';\nimport {ArrowDown, ArrowUp, ChevronDown, ChevronUp} from '@volkswagen-onehub/icons-core';\nimport {fakeMotivoValues} from './NuevaCitaPosventaFormController';\n\nconst AllWrapper = styled.div`\n\tpadding-top: 82px;\n`;\n\nconst TopInfoBox = styled.div`\n\tborder: 1px solid rgba(255, 255, 255, 0.44);\n\tpadding: 0 20px;\n\twidth: 100%;\n\t@media all and (min-width: 560px) {\n\t\tpadding: 0 24px;\n\t}\n`;\n\ntype BorderType = 'top' | 'bottom' | 'none';\n\ntype ItemProps = {\n\tboxItem?: boolean;\n\tborder: BorderType;\n\tshowEdit?: boolean;\n\tnoPaddingTop?: boolean;\n\tshowOperacionesMantenimiento?: boolean;\n};\n\nconst ItemWrapper = styled.div`\n\twidth: 100%;\n\ttext-align: left;\n\tborder-bottom: ${(props) => (props.border === 'bottom' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tborder-top: ${(props) => (props.border === 'top' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tpadding: ${(props) => (props.boxItem ? '24px 0' : props.noPaddingTop ? '0 24px 44px' : '44px 24px')};\n\n\t.item-header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tpadding-bottom: ${(props) => (props.showOperacionesMantenimiento ? '32px' : props.showEdit ? '44px' : '12px')};\n\t\tbutton > * {\n\t\t\tfont-weight: ${(props) => (props.showEdit ? 'normal' : 'bold')};\n\t\t}\n\t\t&--legal {\n\t\t\tpadding-bottom: ${(props) => (props.showEdit ? 'unset' : '31.5px')};\n\t\t}\n\t}\n\t.edit-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tlabel:not(:last-of-type) {\n\t\t\tmargin-bottom: 23px;\n\t\t}\n\t}\n\t.input-error {\n\t\tmargin-left: 0px !important;\n\t}\n`;\n\nconst SelectWrapper = styled.div`\n\tmargin-bottom: 2px;\n\tlabel {\n\t\twidth: 100%;\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: 303px;\n\t\t}\n\t\t@media all and (min-width: 960px) {\n\t\t\twidth: 320px;\n\t\t}\n\t}\n`;\n\nconst InputWidthWrapper = styled.div`\n\twidth: 100%;\n\tmargin-bottom: 2px;\n\t@media all and (min-width: 560px) {\n\t\twidth: 303px;\n\t}\n\t@media all and (min-width: 960px) {\n\t\twidth: 320px;\n\t}\n`;\n\nconst RadioButtonWrapper = styled.div`\n\tborder: 1px solid #ffffff;\n\tpadding: 20px;\n`;\n\nconst MotivoCalculadora = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: space-between;\n`;\n\nconst isCalculadoraForm = (formName: string) => formName === 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el motivo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditMotivo = (formName: string) => !isCalculadoraForm(formName);\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el taller no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditTaller = (formName: string) => formName !== 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el vehículo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' &&\n\tformName !== 'cita-posventa-calculadora' &&\n\tformName !== 'cita-posventa-my-benefits';\n\n/**\n * En maintenance plan se tiene que ocultar los km ya que no se deben mostrar\n * @param formName\n * @returns\n */\nconst showKMVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' && formName !== 'cita-posventa-my-benefits';\n\nconst getStepNumber = (steps: Steps[], layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\tconst index = steps.findIndex((step) => {\n\t\tif (layerName === 'isMotivoLayer' && step.name === 'Motivo') {\n\t\t\treturn step;\n\t\t}\n\t\tif (layerName !== 'isMotivoLayer' && step.name === 'Mapa') {\n\t\t\treturn step;\n\t\t}\n\t});\n\treturn index;\n};\n\nconst formatPlateDate = (plateDate: string) => {\n\tif (plateDate.includes('-')) {\n\t\treturn plateDate.split('-')[0];\n\t}\n\treturn plateDate;\n};\n\nexport const ConfirmacionCita = () => {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {userIsAuthenticated} = formInfo;\n\tconst {fields} = formData;\n\tconst {tmk: tmkData, lssi: lssiData, userVehicles, matricula} = formData.fields;\n\tconst dispatch = useDispatch();\n\tconst {handleScreenChange, setShowPreviousStep} = useOneFormContext();\n\tconst {getValues, register, triggerValidation} = useFormContext();\n\tconst faContent = useFaContent();\n\tconst isComerciales = useIsComerciales();\n\tconst {kilometrosValues, millageValues} = getKilometrosInfo(isComerciales);\n\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [cocheAlTaller, setCocheAlTaller] = useState(false);\n\tconst [cocheSustitucion, setCocheSustitucion] = useState(false);\n\tconst [chequeoSeguridad, setChequeoSeguridad] = useState(false);\n\n\tconst [showEditServicios, setShowEditServicios] = useState(false);\n\tconst [showEditSobreVW, setShowEditSobreVW] = useState(false);\n\tconst [showEditSobreTi, setShowEditSobreTi] = useState(false);\n\n\tconst [inputValueMatricula, setInputValueMatricula] = useState('');\n\tconst [errorMatricula, setErrorMatricula] = useState(false);\n\tconst [irConOtroCoche, setIrConOtroCoche] = useState(false);\n\n\tconst [lssi, setLssi] = useState(() => (lssiData ? lssiData : null));\n\tconst [tmk, setTmk] = useState(() => (tmkData ? tmkData : null));\n\tconst [lssiError, setLssiError] = useState(false);\n\tconst [tmkError, setTmkError] = useState(false);\n\n\tconst [preselectedDealerForm, setPreselectedDealerForm] = useState(false);\n\tconst config = useFeatureAppConfig();\n\n\tconst useLoggedJourney = false;\n\n\tconst today = dayjs();\n\tconst showLegalTemporal = today.isBetween('2025-02-17', '2025-04-18', 'day', '[]'); // [] dias incluidos, () dias excluidos\n\n\t// De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\n\tuseEffect(() => {\n\t\tif (config.trigger === 'cita-posventa-dealer') {\n\t\t\tsetPreselectedDealerForm(true);\n\t\t} else {\n\t\t\tsetPreselectedDealerForm(false);\n\t\t}\n\t}, []);\n\n\t//Layer confirmacion edicion:\n\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store: Store = useStore();\n\tconst env = useFeatureAppEnvironment();\n\n\tconst handleEdit = (layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\t\tconst {steps} = formInfo;\n\t\tconst stepNumber = getStepNumber(steps, layerName);\n\n\t\thandleScreenChange(stepNumber);\n\t\tdispatch({type: 'UPDATE_STEP', payload: steps[stepNumber]});\n\t\tif (layerName !== 'isMotivoLayer') {\n\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: layerName === 'isTimeLayer'});\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 1});\n\t\t\tdispatch({type: 'SET_NAVIGATION_MOVING_FORWARD', payload: false});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t}, TIME_FOR_TRANSFORM + 200);\n\t\t}\n\t};\n\n\tconst handleAreYouSureLayer = (layerName: string) => {\n\t\tconst layer = layerManager.openFocusLayer(renderAreYouSureLayer, {layerName}, {size: FocusLayerSizeV2.A});\n\t\treturn layer;\n\t};\n\n\tconst renderAreYouSureLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\thandleEdit(state.layerName);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t};\n\t//fin códgo layers\n\n\tconst showLegales = () => userIsAuthenticated && useLoggedJourney && tmk && lssi;\n\n\tconst getKmInitialValue = () => {\n\t\tif (fields.kilometros && Array.isArray(fields.kilometros)) {\n\t\t\tconst indexOfMillage = millageValues.findIndex((e) => e[0] === fields.kilometros[0]);\n\t\t\treturn indexOfMillage !== -1 ? kilometrosValues[indexOfMillage] : kilometrosValues[kilometrosValues.length - 2];\n\t\t} else {\n\t\t\treturn kilometrosValues[kilometrosValues.length - 2];\n\t\t}\n\t};\n\n\tconst [kilometros, setKilometros] = useState(getKmInitialValue());\n\n\tconst CTAsSiNo = [{label: 'Sí'}, {label: 'No'}];\n\n\tconst [millageValue, setMillageValue] = useState(null);\n\n\tfunction updateKilometros(event: any) {\n\t\tconst newMillVal = event.currentTarget.value;\n\t\tsetKilometros(newMillVal);\n\t\tnewMillVal ? setMillageValue(newMillVal) : setMillageValue(0);\n\t\tconst newIndex = kilometrosValues?.findIndex((value) => value === event.target.value);\n\t\tif (newIndex !== -1) {\n\t\t\tconst newValues = millageValues[newIndex];\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {kilometros: newValues}});\n\t\t}\n\t}\n\n\tasync function updateValues(showEdit: React.Dispatch>) {\n\t\tconst values = getValues();\n\t\tconst isValid = await triggerValidation();\n\t\tif (isValid) {\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tshowEdit(false);\n\t\t}\n\t}\n\n\t// función para checkear que no se haya dejado ninguna sección editada sin guardar\n\tfunction checkNotSavedFields() {\n\t\tif (showEditServicios && !showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Servicios Adicionales';\n\t\t} else if (!showEditServicios && showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Sobre tu Volkswagen';\n\t\t} else if (!showEditServicios && !showEditSobreVW && showEditSobreTi) {\n\t\t\treturn 'en Sobre ti';\n\t\t} else if (\n\t\t\t(showEditServicios && showEditSobreVW && !showEditSobreTi) ||\n\t\t\t(showEditServicios && showEditSobreVW && showEditSobreTi) ||\n\t\t\t(showEditServicios && !showEditSobreVW && showEditSobreTi) ||\n\t\t\t(!showEditServicios && showEditSobreVW && showEditSobreTi)\n\t\t) {\n\t\t\treturn '';\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (inputValueMatricula === '' || inputValueMatricula.length > 10) {\n\t\t\tsetErrorMatricula(true);\n\t\t} else {\n\t\t\tsetErrorMatricula(false);\n\t\t}\n\t}, [inputValueMatricula]);\n\n\tuseEffect(() => {\n\t\tif (lssi) {\n\t\t\tconst values = {lssi: lssi};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetLssiError(false);\n\t\t}\n\t\tif (tmk) {\n\t\t\tconst values = {tmk: tmk};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetTmkError(false);\n\t\t}\n\t}, [lssi, tmk]);\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: true});\n\n\t\tconst selectedSlot = fields.slot;\n\t\tlet fromFormatted;\n\n\t\tif (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tfromFormatted = capitalizedSlot.replace('-', ' a las ').replace(',', ' de ').concat('h');\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\n\t\t\tfromFormatted = capitalizedSlot.concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheAlTaller === 'true' ? setCocheAlTaller(true) : setCocheAlTaller(false);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheSustitucion === 'true' ? setCocheSustitucion(true) : setCocheSustitucion(false);\n\t\t}\n\t\tif (fields.chequeoSeguridad !== null) {\n\t\t\tfields.chequeoSeguridad === 'true' ? setChequeoSeguridad(true) : setChequeoSeguridad(false);\n\t\t}\n\n\t\tsetShowPreviousStep(false);\n\t\tif (fields.kilometros || fields.kilometros === 0) {\n\t\t\tsetMillageValue(fields.kilometros);\n\t\t}\n\n\t\tif (fields.matricula) setInputValueMatricula(fields.matricula);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheAlTaller: cocheAlTaller ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheAlTaller]);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheSustitucion: cocheSustitucion ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheSustitucion]);\n\n\tuseEffect(() => {\n\t\tconst values = {chequeoSeguridad: chequeoSeguridad ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [chequeoSeguridad]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAsí quedaría tu cita. ¿Quieres solicitarla?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{faContent?.motivo ? null : }\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTimeLayer');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{fechaHora}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{preselectedDealerForm || !showCTAEditTaller(fields.formName) ? null : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTallerLayer');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.dealer.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.address}, {fields.dealer.markerInfo.dealerInfo.zipCode}{' '}\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.city}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{fields.assessor && fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAsesor {fields.assessor.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t{isComerciales ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tServicios adicionales\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(!showEditServicios);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{isComerciales ||\n\t\t\t\t\t\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheSustitucion(!cocheSustitucion)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheSustitucion ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tCoche de sustitución\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheAlTaller(!cocheAlTaller)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheAlTaller ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\t setChequeoSeguridad(!chequeoSeguridad)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={chequeoSeguridad}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCoche de sustitución: {cocheSustitucion ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega: {cocheAlTaller ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito: {chequeoSeguridad ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre tu Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showCTAEditVW(fields.formName) ? (\n\t\t\t\t\t\t\tshowEditSobreVW ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreVW);\n\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditSobreVW(!showEditSobreVW);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreVW ? (\n\t\t\t\t\t\tuserVehicles && userIsAuthenticated && useLoggedJourney && !irConOtroCoche ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{userVehicles.map((vehicle: VehiclesIdentityKit) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmatricula: vehicle.matricula,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkilometros: vehicle.kilometros,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelo: vehicle.modelo,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={matricula === vehicle.matricula ? true : false}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(true);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tchecked={false}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tupdateKilometros(event);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => null}\n\t\t\t\t\t\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\t\t\t\t\t\tsetOption={setKilometros}\n\t\t\t\t\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.countryPlate} {fields.matricula}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tAño {formatPlateDate(fields.anoMatriculacion)}\n\t\t\t\t\t\t\t{fields.modelo}\n\t\t\t\t\t\t\t{showKMVW(fields.formName) ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{kilometros === 'No estoy seguro' ? null : kilometros}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre ti\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tsetShowEditSobreTi(!showEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.name} {fields.surname} {fields.secondSurname}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.prefix} {fields.cellphone}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.email}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t{showLegales() ? null : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Para comerciales usamos los mismos consentimientos que turismos */}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{fields.formName === 'cita-posventa' && showLegalTemporal ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n\nconst VehicleLabel = (props: {vehicle: VehiclesIdentityKit}) => {\n\treturn (\n\t\t\n\t\t\t{props.vehicle.matricula}\n\t\t\t\n\t\t\t\t{props.vehicle.modelo} |{props.vehicle.kilometros}\n\t\t\t\n\t\t\n\t);\n};\n\nconst OperacionDiv = styled.div<{isLast: boolean}>`\n\tpadding-bottom: ${(props) => (props.isLast ? '0px' : '16px')};\n`;\n\nconst OperacionesDiv = styled.div`\n\tpadding-bottom: 24px;\n`;\n\nconst MotivoCita = ({fields, handleAreYouSureLayer}: any) => {\n\tconst [showOperacionesMantenimiento, setShowOperacionesMantenimiento] = useState(false);\n\tconst faContent = useFaContent();\n\n\tconst formatPvp = (pvp: string) => `${Number(pvp).toFixed(0)}€`;\n\n\tconst getMotivo = () => {\n\t\tif (fields.motivo == fakeMotivoValues.softwareId) {\n\t\t\treturn 'Actualización software ID';\n\t\t}\n\t\telse if (fields.motivo == fakeMotivoValues.placaOriginals) {\n\t\t\treturn'Instalación de placa The Originals';\n\t\t} \n\t\treturn fields.motivoLabel ? fields.motivoLabel : fields.motivo;\n\t};\n\n\tconst renderMotivoCalculadora = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\tPresupuesto total\n\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderOperacionesMantenimiento = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{faContent?.quoteOperations\n\t\t\t\t\t\t? faContent?.quoteOperations.map((operation, indx) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{operation.name}\n\t\t\t\t\t\t\t\t\t\t{formatPvp(operation.pvp)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPresupuesto Total\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{isCalculadoraForm(fields.formName) ? 'Operaciones de mantenimiento' : 'Motivo de tu cita'}\n\t\t\t\t\n\t\t\t\t{showCTAEditMotivo(fields.formName) ? (\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleAreYouSureLayer('isMotivoLayer');\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tEditar\n\t\t\t\t\t\n\t\t\t\t) : isCalculadoraForm(fields.formName) ? (\n\t\t\t\t\t : }\n\t\t\t\t\t\temphasis=\"primary\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tsetShowOperacionesMantenimiento(!showOperacionesMantenimiento);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showOperacionesMantenimiento ? 'Cerrar' : 'Ver más'}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\t{isCalculadoraForm(fields.formName) ? (\n\t\t\t\tshowOperacionesMantenimiento ? null : (\n\t\t\t\t\trenderMotivoCalculadora()\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t{getMotivo()}\n\t\t\t)}\n\t\t\t{showOperacionesMantenimiento ? renderOperacionesMantenimiento() : null}\n\t\t
\n\t);\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tLayout,\n\tSpinner,\n\tstyled,\n\tText,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\ninterface loadingComponentProps {\n\tcopy?: string;\n}\n\nexport function LoadingLayer(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction LoadingComponent(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{props.copy ? {props.copy} : Confirmando tu cita}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tContainer,\n\tCTA,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tContainerGutter,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {PaddingWrapper} from 'src/components';\nimport React from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {isGooglePlace, Suggest, Suggestion} from 'src/feature-app';\nimport {useLocateUser} from 'src/feature-app/hooks';\nimport {Installation, isDealerData} from 'src/types';\n\ninterface LocateUserProps {\n\tisFiltrosSuggest?: boolean;\n}\n\nexport function LocateUser(props: LocateUserProps) {\n\tconst {isFiltrosSuggest} = props;\n\tconst {register} = useFormContext();\n\tconst {\n\t\tvalue,\n\t\tsetValue,\n\t\tsuggestion,\n\t\tsetSuggestion,\n\t\ticon,\n\t\tlocationSuccess,\n\t\tsetLocationSuccess,\n\t\thandleLocate,\n\t\tloading,\n\t\tlocationDisabled,\n\t\tisLocating,\n\t\tonSuggestionSelectedFn,\n\t} = useLocateUser();\n\n\tconst getSuggestionValue = (suggestion: Suggestion) => {\n\t\tif (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n\t\t\treturn (suggestion as Installation).VGED_CommercialName__c;\n\t\t} else {\n\t\t\treturn suggestion.name;\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tif (!locationSuccess) handleLocate();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={loading ? true : false}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLocaliza mi posición actual\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{locationDisabled ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTu localización está deshabilitada\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport FileDownload from 'js-file-download';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { getEapiAppointmentIcs } from 'src/bff';\nimport {\n\tgetTrackingForm,\n\tuseFeatureAppConfig,\n\tuseTrackingManager,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour\n} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersData, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-360deg);\n }\n 80% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n\tanimation: ${lineKeyframe} 0.5s ease-in;\n`;\n\ninterface FieldProps {\n\tcopyBook?: string;\n}\n\ninterface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nfunction Fields(props: FieldProps) {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {pincode}: {pincode: string} = formInfo.formResponse.content;\n\tconst config = useFeatureAppConfig();\n\n\tconst handleGuardar = async () => {\n\t\tconst response = await getEapiAppointmentIcs(pincode);\n\t\tFileDownload(response, 'cita.ics');\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.copyBook}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\thandleGuardar();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGuárdala en tu calendario\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\n\t);\n}\n\ninterface ThankYouProps {\n\tformData: FormDataFields;\n\tformInfo: FormInfo;\n}\n\nfunction ThankYouNuevaCita(props: ThankYouProps) {\n\tconst {formData, formInfo} = props;\n\tconst {formResponse} = formInfo;\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [copyBook, setCopyBook] = useState('');\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo.numberOfScreens;\n\n\t\tdispatch({type: 'SET_FORM_SUBMITTED', payload: true});\n\t\tdispatch({type: 'SET_FORM_INFO', payload: {step: {screenIndex: screenIndexThankyou, name: 'ThankYou'}}});\n\n\t\tconst selectedSlot = formData.slot;\n\t\tconst franjaHoraria = [\n\t\t\t{code: 'MANANA', name: ' por la mañana'},\n\t\t\t{code: 'MEDIODIA', name: ' al mediodía'},\n\t\t\t{code: 'TARDE', name: ' por la tarde'},\n\t\t];\n\t\tlet fromFormatted;\n\n\t\tif (formInfo.sendDmsFailed) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst formattedSlot =\n\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tfromFormatted = formattedSlot.replace('-', ' a las ').concat('h');\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t} else {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t}\n\t\t}\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst copyDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\t\tconst copySinDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\n\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\tsetCopyBook(copyDms);\n\t\t} else {\n\t\t\tsetCopyBook(copySinDms);\n\t\t}\n\t}, []);\n\n\tconst renderTitle = (dmsFailed: boolean) => {\n\t\tif (!dmsFailed && formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst screen: Steps = {\n\t\ttitle: <>{renderTitle(formInfo.sendDmsFailed)},\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n\treturn {\n\t\tformData: state.formData.fields,\n\t\tformInfo: state.formInfo,\n\t};\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouNuevaCita);\n\nexport { ConnectedComponent as ThankYouNuevaCita };\n\n","import React, {useEffect} from 'react';\nimport {FormController, useOneFormContext} from 'src/feature-app';\nimport {FormDataGroup, FormInfo, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n\tstepsHistory?: number[];\n}\n\nexport function NuevaCitaPosventaFormDefault({\n\tdefaultSteps,\n\tsendForm,\n\tfirstStep,\n\tCitaPosventaData,\n\tstepsHistory,\n}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\n\tuseEffect(() => {\n\t\tconst lastStep = defaultSteps[defaultSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tformTheme: 'inverted',\n\t\t\tsteps: defaultSteps,\n\t\t\tstepsHistory: stepsHistory ? stepsHistory : [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import React, {useEffect} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {\n\tFormController,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureServices,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {removeStep, resetStepsScreenIndex} from 'src/forms/helpers/add-remove-steps';\nimport {FormDataGroup, FormInfo, OneFormState, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n}\n\nexport function NuevaCitaPosventaFormLogged({defaultSteps, sendForm, firstStep, CitaPosventaData}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\n\tconst oneFormService = useFeatureServices()['es:oneform-core'];\n\tconst {person} = oneFormService.get();\n\tconst config = useFeatureAppConfig();\n\n\tconst userHasFavouriteDealer = (steps: Steps[]) => {\n\t\tif (person?.favouriteDealer) {\n\t\t\tconst selectedDealer = dealersInfo.dealers?.find((dealer) => dealer.kvps === person.favouriteDealer);\n\t\t\tif (selectedDealer) {\n\t\t\t\t// Sobreescribir el selected dealer en el caso de cita posventa da problemas a la hora de cargar el calendario.\n\t\t\t\tif (config.trigger !== 'cita-posventa-dealer') {\n\t\t\t\t\tdispatch({type: 'SET_SELECTED_DEALER', payload: selectedDealer});\n\t\t\t\t\tdispatch({type: 'UPDATE_SUGGESTION', payload: selectedDealer});\n\t\t\t\t}\n\t\t\t\tdispatch({type: 'SET_FAVOURITE_DEALER', payload: selectedDealer});\n\t\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: true});\n\t\t\t}\n\t\t}\n\n\t\treturn steps;\n\t};\n\tconst userHasPersonalData = (steps: Steps[]) => {\n\t\tlet personalDataSteps = [...steps];\n\n\t\tif (person?.name && person?.surname) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'NombreApellido');\n\t\t}\n\t\tif (person?.cellphone) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Telefono');\n\t\t}\n\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Email');\n\t\tpersonalDataSteps = resetStepsScreenIndex(personalDataSteps);\n\t\treturn personalDataSteps;\n\t};\n\n\tconst userHasVehicleData = (steps: Steps[]) => {\n\t\tlet vehicleDataSteps = [...steps];\n\n\t\tif (person?.userVehicles && person?.userVehicles.length > 0) {\n\t\t\tconst {userVehicles} = person;\n\t\t\tlet mainVehicle: VehiclesIdentityKit;\n\t\t\tif (userVehicles.length === 1) {\n\t\t\t\tmainVehicle = userVehicles[0];\n\t\t\t} else {\n\t\t\t\tmainVehicle = userVehicles.find((vehicle) => vehicle.isMainVehicle);\n\t\t\t}\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {matricula: mainVehicle.matricula, kilometros: mainVehicle.kilometros, modelo: mainVehicle.modelo},\n\t\t\t});\n\n\t\t\t// Consultar si se eliminan las páginas en caso de que falte algún dato (año de matriculación no parece estar disponible desde identity kit)\n\t\t\tif (mainVehicle.matricula && mainVehicle.modelo && mainVehicle.anoMatriculacion) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Matricula');\n\t\t\t}\n\t\t\tif (mainVehicle.kilometros) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Kilometros');\n\t\t\t}\n\n\t\t\tvehicleDataSteps = resetStepsScreenIndex(vehicleDataSteps);\n\t\t}\n\t\treturn vehicleDataSteps;\n\t};\n\n\tconst getLoggedSteps = (steps: Steps[]) => {\n\t\tlet finalSteps = [...steps];\n\t\tfinalSteps = userHasFavouriteDealer(finalSteps);\n\t\tfinalSteps = userHasPersonalData(finalSteps);\n\t\tfinalSteps = userHasVehicleData(finalSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\tuseEffect(() => {\n\t\tconst finalSteps = getLoggedSteps(defaultSteps);\n\n\t\tconst lastStep = finalSteps[finalSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: finalSteps,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tstepsHistory: [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {\n\tgetFranjaAndDayFrom,\n\tisNull,\n\tweekDay_DayNumber_De_Month,\n\tyear_MonthNumber_DayNumber,\n\tgetToAndFromForCheckCita,\n} from 'src/feature-app';\nimport {useTrackingManager} from 'src/feature-app/hooks/use-tracking-manager';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tHorario as HorarioType,\n\tOneFormState,\n\tPoints,\n\tSlot,\n\tSlotsTime,\n} from 'src/types';\nimport {getEarliestSlot} from 'src/feature-app/NewMap/sort-points';\nimport {Close} from '@volkswagen-onehub/icons-core';\nimport dayjs from 'dayjs';\n\nconst ZIndexLayer = styled.div`\n\tz-index: 25;\n\tposition: relative;\n`;\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tposition: relative;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CloseDiv = styled.div`\n\tposition: absolute;\n\ttop: var(--size-dynamic0050);\n\tright: var(--size-dynamic0050);\n\tcursor: pointer;\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-top: 44px;\n\n\t@media screen and (min-width: 960px) {\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t}\n`;\ninterface LayerComponentProps {\n\tselectedPoint: Points;\n\thandleShowSlots: (point: Points) => string | null;\n\thandleDmsMapExit: (slot: CalendarSlot, point: Points) => void;\n\thandleNoDmsMapExit: (franjaHoraria: string, day: string, point: Points) => void;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\t// handleAvailability: (a: Availability, d: DealersData) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\t// waitForNextStep: any;\n\thandleShowCalendarOnClick: (point: Points) => void;\n}\n\nexport function ReservaCitaLayer(props: LayerComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface SlotHorario {\n\tfrom: number;\n\tto: number;\n}\n\nfunction ReservaCita(props: LayerComponentProps) {\n\tconst {\n\t\tselectedPoint,\n\t\thandleShowSlots,\n\t\thandleDmsMapExit,\n\t\thandleNoDmsMapExit,\n\t\tgetAvailability,\n\t\t// handleAvailability,\n\t\tcloseLayerCallback,\n\t\t// waitForNextStep\n\t\thandleShowCalendarOnClick,\n\t} = props;\n\n\tconst trackingManager = useTrackingManager();\n\tconst [assessorName, setAssessorName] = useState('');\n\n\tconst {dealer} = selectedPoint.properties;\n\tconst {motivo, horario, motivoLabel}: {motivo: string; motivoLabel: string; horario: HorarioType} = useSelector(\n\t\t(state: OneFormState) => state.formData.fields,\n\t);\n\tconst {name, address, city, zipCode} = dealer.markerInfo.dealerInfo;\n\n\tconst [loading, setLoading] = useState(false);\n\tconst [DMSError, setDMSError] = useState(false);\n\tconst [slotNotAvailable, setSlotNotAvailable] = useState(false);\n\tconst slotHorarioRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tcheckSlot();\n\t\tif (selectedPoint) {\n\t\t\tgetAssessorName();\n\t\t}\n\t}, []);\n\n\tconst checkSlot = () => {\n\t\tconst {slots} = dealer;\n\t\tlet from: number;\n\t\tlet to: number = null;\n\t\tif (!isNull(slots)) {\n\t\t\tfrom = getEarliestSlot(slots);\n\t\t}\n\n\t\tslotHorarioRef.current = {from, to};\n\t};\n\n\tconst getAssessorName = () => {\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tif (horario !== 'before' && dealer?.slots[horario]) {\n\t\t\tconst assessorCode = dealer.slots[horario].assessorCode;\n\t\t\tconst assessor = findAssessor(assessors, assessorCode);\n\t\t\tsetAssessorName(assessor.name);\n\t\t} else {\n\t\t\t// Primero se comprueba si el dealer tiene disponibles slots en mañana, mediodía o tarde\n\t\t\t// y luego se comparan estos slots con el earliestSlot para seleccionarlo.\n\t\t\tconst {slots} = selectedPoint.properties.dealer;\n\t\t\tconst keys = Object.keys(slots) as SlotsTime[];\n\t\t\tkeys.map((time: SlotsTime) => {\n\t\t\t\tif (slots[time] && selectedPoint.properties.earliestSlot === slots[time].from) {\n\t\t\t\t\tconst slot: Slot = slots[time];\n\t\t\t\t\tconst assessor = findAssessor(assessors, slot.assessorCode);\n\t\t\t\t\tsetAssessorName(assessor.name);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst findAssessor = (assessors: Assessors[], code: string) => {\n\t\treturn assessors.find((assessor) => assessor.code === code);\n\t};\n\n\tconst handleCitaDisponible = (slot: CalendarSlot, assessors: Assessors[]) => {\n\t\tsetLoading(false);\n\t\tcloseLayerCallback({}, {}, {});\n\t\thandleDmsMapExit(slot, selectedPoint);\n\t\treturn;\n\t};\n\n\tconst handleCitaNoDisponible = (availability: Availability) => {\n\t\tsetLoading(false);\n\t\tif (availability?.content?.calendar) {\n\t\t\tsetSlotNotAvailable(true);\n\t\t\tsetDMSError(false);\n\t\t} else {\n\t\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slotHorarioRef.current.from);\n\t\t\tsetDay(weekDay_DayNumber_De_Month(slotHorarioRef.current.from));\n\t\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\t\tsetDMSError(true);\n\t\t\tsetSlotNotAvailable(false);\n\t\t}\n\t};\n\n\t//\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\n\tconst continueWithoutDms = (from: number, point: Points) => {\n\t\tconst {day, franjaHoraria} = getFranjaAndDayFrom(from);\n\n\t\thandleNoDmsMapExit(franjaHoraria, day, point);\n\t};\n\n\tconst getToAndFromForCheckCita = (citaTo: number): {from: number; to: number} => {\n\t\tconst from = Number(dayjs().locale('es').utc().format('x'));\n\t\tconst to = Number(dayjs(citaTo).locale('es').utc().format('x'));\n\t\n\t\treturn {from, to};\n\t};\n\n\tconst checkCita = async () => {\n\t\tsetLoading(true);\n\t\tconst {from, to} = getToAndFromForCheckCita(slotHorarioRef.current.from);\n\n\t\tconst availability = await getAvailability(dealer, from, to);\n\n\t\tif (availability?.content?.calendar) {\n\t\t\tconst fromFormatted = year_MonthNumber_DayNumber(slotHorarioRef.current.from);\n\t\t\tconst selectedDay = availability.content.calendar.find((day) => day.date === fromFormatted);\n\t\t\tconst assessors = dealer.dmsInfo.assessors;\n\n\t\t\tif (selectedDay) {\n\t\t\t\tconst finalSlot = selectedDay.slots\n\t\t\t\t\t.map((slot) => {\n\t\t\t\t\t\tif (slot.from === slotHorarioRef.current.from) {\n\t\t\t\t\t\t\treturn slot;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((a) => a !== undefined);\n\n\t\t\t\tfinalSlot.length > 0 ? handleCitaDisponible(finalSlot[0], assessors) : handleCitaNoDisponible(availability);\n\t\t\t} else {\n\t\t\t\thandleCitaNoDisponible(availability);\n\t\t\t}\n\t\t} else {\n\t\t\thandleCitaNoDisponible(availability);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{!loading && !slotNotAvailable && !DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Quieres reservar esta cita?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMotivo de tu visita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{motivoLabel ? motivoLabel : motivo ? motivo : 'Revisión de mantenimiento'}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{address},
{zipCode} {city}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{assessorName ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAsesor {assessorName}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí­, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t{loading ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\tConfirmando con la agenda del taller\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t¿Quieres continuar con el proceso y que {name} se\n\t\t\t\t\t\t\t\tponga en contacto contigo para cerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcontinueWithoutDms(slotHorarioRef.current.from, selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && slotNotAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\tLamentablemente la cita seleccionada no está disponible\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcontentId: 'Seguir buscando',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSeguir buscando\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tCTA,\n\tTokenTextAppearance,\n\tTokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport {isNull, useOneFormContext} from 'src/feature-app';\nimport {ArrowLeft} from 'src/icons-core-imports';\n\nimport React, {createRef, useEffect, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {DealerCard} from 'src/components';\nimport {SeleccionDealerTabs} from 'src/feature-app';\nimport {CloseComponent} from 'src/feature-app/Screen';\nimport {Availability, DealersData, OneFormState, Points, Center} from 'src/types';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface SeleccionDealerProps {\n\tpointsByDistance: Points[];\n\tpointsByTime: Points[];\n\t// setShowMap: React.Dispatch>;\n\tsetShowCards: React.Dispatch>;\n\tsetLoading: React.Dispatch>;\n\tsetSelectedPoint: React.Dispatch>;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\tselectedPoint: Points;\n\n\thandleShowSlots: (point: Points) => string | null;\n\tshowAllCardsMobile: boolean;\n\tcenter: Center;\n\thandleReservaCitaLayer: (p: Points) => void;\n\thideCards?: () => void;\n}\n\ninterface BoxProps {\n\tselected: boolean;\n\toneCard: boolean;\n}\n\nconst GoBackWrapper = styled.div`\n\tpadding-top: 24px;\n\n\t& button {\n\t\tcolor: #ffffff;\n\t}\n`;\n\nconst Box = styled.div`\n\twidth: 100%;\n\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid rgba(255,255,255,0.44)')};\n\tpadding: 24px;\n\tmargin-top: ${(props) => (props.oneCard ? '0' : '44px')};\n\n\t:hover {\n\t\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid #4cc7f4')};\n\t}\n`;\nconst ScrollWrapper = styled.div`\n\theight: calc(100vh - 80px);\n\toverflow-y: auto;\n\tmargin: auto;\n`;\n\nconst TabsWrapper = styled.div`\n\twidth: 83vw;\n\tpadding-top: 24px;\n\theight: 100%;\n\n\t@media all and (min-width: 960px) {\n\t\twidth: 380px;\n\t\toverflow-y: auto;\n\t\tmargin: auto;\n\t}\n\tul {\n\t\tpadding-left: 5px;\n\t}\n\n\t& > div {\n\t\tpadding-bottom: 24px;\n\t}\n`;\n\nconst ArrowLeftWrapper = styled.div`\n\tpadding: 24px 0px;\n\n\t& svg {\n\t\tfill: #ffffff;\n\t}\n`;\n\ninterface Ref {\n\tref: React.RefObject;\n\tkvps: string;\n}\n\nexport function SeleccionDealer(props: SeleccionDealerProps) {\n\tconst {\n\t\tpointsByDistance,\n\t\tpointsByTime,\n\t\tselectedPoint,\n\t\tsetSelectedPoint,\n\t\tgetAvailability,\n\t\tsetLoading,\n\t\thandleShowSlots,\n\t\thandleReservaCitaLayer,\n\t\tcenter,\n\t\thideCards,\n\t\tsetShowCards,\n\t} = props;\n\n\tconst {horario} = useSelector((state: OneFormState) => state.formData.fields);\n\tconst {handleAreYouSureLayer} = useOneFormContext();\n\n\tconst [defaultIndex, setDefaultIndex] = useState(0);\n\tconst [selectedPoints, setSelectedPoints] = useState(null);\n\n\tconst createRefs = (points: Points[]) => {\n\t\tconst refs = [];\n\t\tconst length = points.length;\n\t\tfor (let ix = 0; ix < length; ix++) {\n\t\t\tlet refObject: Ref = {ref: createRef(), kvps: points[ix].properties.dealer.kvps};\n\t\t\trefs.push(refObject);\n\t\t\trefObject = null;\n\t\t}\n\t\treturn refs;\n\t};\n\tconst [isTimeSelected, setIsTimeSelected] = useState(false);\n\tconst [timeRefs, setTimeRefs] = useState(null);\n\tconst [distanceRefs, setDistanceRefs] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (horario === 'before') {\n\t\t\tsetIsTimeSelected(true);\n\t\t\tsetDefaultIndex(1);\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// setSelectedPoint(null);\n\t\tsetTimeRefs(null);\n\t\tsetDistanceRefs(null);\n\n\t\tconst timeRefs = createRefs(pointsByTime);\n\t\tconst distanceRefs = createRefs(pointsByDistance);\n\t\tsetTimeRefs(timeRefs);\n\t\tsetDistanceRefs(distanceRefs);\n\t}, [pointsByDistance]);\n\n\tuseEffect(() => {\n\t\tsetSelectedPoints(pointsByDistance); // Actualizar con el que está seleccionado.\n\t}, [selectedPoints]);\n\n\tconst handleShowCalendarOnClick = async (point: Points) => {\n\t\tsetSelectedPoint(point);\n\t\tsetLoading(true);\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth); // Devuelve el availability.\n\t\tsetLoading(false);\n\t};\n\n\tconst handleSeleccionarOnClick = (point: any) => {\n\t\tsetSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t};\n\n\tconst renderPoints = (points: any, isTime?: boolean): JSX.Element => {\n\t\treturn points.map((point: Points, i: number) => {\n\t\t\tconst {kvps} = point.properties.dealer;\n\t\t\tconst {cluster} = point.properties;\n\t\t\tconst selected = selectedPoint && selectedPoint.properties.dealer.kvps === kvps ? true : false;\n\n\t\t\tif (selected && !cluster) {\n\t\t\t\tif (\n\t\t\t\t\tisTimeSelected &&\n\t\t\t\t\ttimeRefs[i] &&\n\t\t\t\t\ttimeRefs[i].ref &&\n\t\t\t\t\ttimeRefs[i].ref.current &&\n\t\t\t\t\ttimeRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\ttimeRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t} else if (\n\t\t\t\t\t!isTimeSelected &&\n\t\t\t\t\tdistanceRefs[i] &&\n\t\t\t\t\tdistanceRefs[i].ref &&\n\t\t\t\t\tdistanceRefs[i].ref.current &&\n\t\t\t\t\tdistanceRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\tdistanceRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (!cluster && !isNull(timeRefs) && timeRefs.length > 0 && !isNull(ref) && isTime) {\n\t\t\t\t\t\t\t\tif (timeRefs[i] && timeRefs[i].ref) {\n\t\t\t\t\t\t\t\t\ttimeRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!cluster && !isNull(distanceRefs) && distanceRefs.length > 0 && !isNull(ref) && !isTime) {\n\t\t\t\t\t\t\t\tif (distanceRefs[i] && distanceRefs[i].ref) {\n\t\t\t\t\t\t\t\t\tdistanceRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"Box\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t};\n\n\treturn selectedPoints ? (\n\t\t<>\n\t\t\t\n\t\t\t\t{props.showAllCardsMobile ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thideCards();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr al mapa\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n \n Ordenar por:\n \n {\n setDefaultIndex(index);\n setIsTimeSelected(!isTimeSelected);\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsByDistance, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsByTime, true), key: 'horario' }}\n \n */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : null;\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionEmpresas = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { Text, styled } from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\nimport { CodigoPostal, InputError, TextInputExtended } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media screen and (min-width: 560px) {\n width: 303px;\n }\n @media screen and (min-width: 960px) {\n width: 320px;\n margin-top: 44px;\n }\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nexport const EmpresaInfoComponent = () => {\n const { register } = useFormContext();\n\n // Nombre de la empresa\n const [inputValueName, setInputValueName] = useState('');\n const [pristineName, setPristineName] = useState(true);\n const [errorName, setErrorName] = useState(false);\n const regExpName = /[a-zA-Z]/gi;\n\n const handleChangeName = (e: any) => {\n setInputValueName(e.target.value);\n setPristineName(false);\n };\n\n useEffect(() => {\n if (!pristineName && inputValueName.match(regExpName) === null) {\n setErrorName(true);\n } else {\n setErrorName(false);\n }\n }, [inputValueName, pristineName]);\n\n // CIF\n const [inputValueCIF, setInputValueCIF] = useState('');\n const [pristineCIF, setPristineCIF] = useState(true);\n const [errorCIF, setErrorCIF] = useState(false);\n const regExpCIF = /[A-Z]\\d{8}/gi;\n\n const handleChangeCIF = (e: any) => {\n setInputValueCIF(e.target.value);\n setPristineCIF(false);\n };\n\n useEffect(() => {\n if (!pristineCIF && inputValueCIF.match(regExpCIF) === null) {\n setErrorCIF(true);\n } else {\n setErrorCIF(false);\n }\n }, [inputValueCIF, pristineCIF]);\n\n\n\n return (\n <>\n \n \n handleChangeName(e)}\n required\n />\n {errorName && Solo se aceptan letras}\n \n \n handleChangeCIF(e)}\n required\n />\n {errorCIF && Ejemplo: A00000000}\n \n \n \n \n \n \n\n \n \n );\n};\n","import React, { useState } from 'react';\nimport { MultipleCTASelection} from 'src/components';\n\nconst fleetOptions = [\n {\n value: '1 - 2',\n label: '1 o 2',\n },\n {\n value: '3 - 10',\n label: 'De 3 a 10',\n },\n {\n value: '11 - 50',\n label: 'De 11 a 50',\n },\n];\n\nexport const Fleet = () => {\n\n return (\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, ContactInfoWrapper, Email, PantallaNombreApellido, Telefono } from 'src/components';\nimport {\n\tformatPrefix,\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useGetWaidLitera } from 'src/feature-app/hooks/use-get-waid-litera';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionEmpresas, EmpresaInfoComponent, MapaEmpresas, ThankYouEmpresas } from 'src/forms';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { useInitializeLeadForm } from '../Leads';\nimport { Fleet } from './Fleet';\n\nexport enum EmpresasFormSteps {\n Modelo,\n Mapa,\n NombreApellido,\n EmailTelefono,\n Empresa,\n Fleet,\n Confirmacion,\n}\n\nexport function EmpresasForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const installations = useGetInstalaciones('VW_DDB_FRM_VWEMPRESAS', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa para tu flota?\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n screenIndex: EmpresasFormSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Estamos deseando hacerte una propuesta. Pero antes, nos gustaría saber quién eres\n \n ),\n fields:
} allowOverflowingContent />,\n screenIndex: EmpresasFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EmpresasFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Ahora, nos gustaría conocer algunos detalles sobre tu empresa\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Empresa,\n name: 'Empresa',\n outputs: ['businessName', 'CIF', 'postalCode'],\n outputsText: ['businessName', '/', 'CIF', '/', 'postalCode'],\n },\n {\n title: (\n <>\n ¿Cuántos coches necesitas para tu{' '}\n \n flota?\n *\n \n \n ),\n fields: } />,\n screenIndex: EmpresasFormSteps.Fleet,\n name: 'Fleet',\n outputs: ['fleet'],\n outputsText: ['fleet'],\n },\n {\n fields: ,\n screenIndex: EmpresasFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n\n const EmpresasFormData: Partial = {\n headers: {\n FORM_NAME: 'vw-oneform-empresas',\n FORM_OBJECTIVE: 'Más Información',\n FORM_ID: waid ? waid : 'B10C01_LDEMPR_WA1',\n DPS_TOKEN: 'VW_DDB_FRM_VWEMPRESAS',\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n // FLAG_ISQUALIFIED: 'false',\n // FLAG_MAILRECEPCIONLEAD: 'true',\n // REQUIERE_CONTACTO_DEALER: 'false',\n },\n fields: {\n formName: 'empresas',\n formType: 'contact',\n pageCategory: 'Más Información',\n formularioFlag: 'masInformacion',\n }, // Analítica\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, flags, headers } = formData;\n\n const { selectedInstallation, carlines } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n\n 'headers[FORM_URL]': url,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_VERSION]': `vw-oneform-empresas-${process.env.VERSION}`,\n\n ...formatFlags(flags),\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': formatPrefix(fields.prefix),\n 'fields[PERSON_POSTAL_CP]': fields.postalCode,\n 'fields[COMPANY_NAME]': fields.businessName,\n 'fields[COMPANY_CIF]': fields.CIF,\n 'fields[COMMENTS_PERSON]': 'Tamaño flota: ' + fields.fleet,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': fields.modelo.includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': fields.modelo,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getDpsFields(faContent),\n };\n\n delete data['headers[DETALLE_TIPO_PETICION_SIM]'];\n delete data['headers[DESC_FORM_DETAIL]'];\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(defaultSteps);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n\n const EmpresasFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: steps,\n notALayer: false,\n formType: 'layer',\n formTheme: 'inverted',\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n initializeForm(EmpresasFormInfo, EmpresasFormData);\n }, [loading]);\n\n return loading ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouEmpresas = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { \n getDistanceFromLatLngCenter, \n LayerDesktopView, \n LayerMobileView \n} from 'src/feature-app/NewMap';\n\n\nexport const JourneyEmpresasController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n
\n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvinceLegacy('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyEmpresasController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyEmpresasController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyEmpresasWrapper = () => {\n return (\n \n \n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyEmpresasWrapper } from './JourneyEmpresasWrapper';\n\nenum MapaEmpresasSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\nconst CTAsHorario = [\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n];\n\ninterface MapaEmpresasProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaEmpresas(props: MapaEmpresasProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n fields: ,\n screenIndex: MapaEmpresasSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaEmpresas);\n setPreviousMultiStep(() => previousMapaEmpresas);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaEmpresas = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if(multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaEmpresas = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { PlanIdealForm } from './PlanIdealForm';\n\nexport function PlanIdealController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { InputButton } from 'src/components/inputs/InputButton';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n skippable: boolean;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, skippable} = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n\n const handleOnClick = (e: any) => {\n setTimeout(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n handleNextStep();\n }, 0);\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n {\n skippable ? (\n
\n {\n setValue(\"No, eso es todo\");\n handleOnClick(e);\n }}\n />\n
\n ) : null\n }\n\n \n
\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n max-height: ${(props) => props.isMediumScreen ? \"auto\" : \"25%\"};\n width: ${(props) => props.isMediumScreen ? \"35%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n imageSrc: string;\n videoSrc: string;\n skippable: boolean;\n\n index: number;\n questionName: string;\n intro: JSX.Element | string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n imageSrc,\n videoSrc,\n index,\n questionName,\n intro,\n title,\n skippable\n } = props;\n const height = useWindowHeight();\n const windowWidth = useWindowWidth();\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n useEffect(() => {\n console.log(\"setIsMediumScreen\", windowWidth >= 960);\n setIsMediumScreen(windowWidth >= 960);\n}, [windowWidth]);\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \n
\n
\n )\n }\n \n \n \n \n \n \n <>\n {intro}\n \n \n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationPlanIdeal, ThankYouPlanIdeal } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n DetalleMotivo,\n} from 'src/components';\nimport {\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../../helpers/add-remove-steps';\n\nexport enum PlanIdealSteps {\n PlanIDeal1,\n PlanIDeal2,\n PlanIDeal3,\n PlanIDeal3Otros,\n Confirmacion\n}\n\nconst questions = [\n {\n questionName: 'PlanIDeal1',\n screenIndex: PlanIdealSteps.PlanIDeal1,\n intro: <>En tus escapadas...,\n title: <>¿Cuánto te gusta conducir?,\n answers: [\n 'Mucho, mi coche es mi segundo hogar',\n 'Ni fu ni na, de copiloto se va mejor',\n 'Poco, solo si es necesario'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video01-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal2',\n screenIndex: PlanIdealSteps.PlanIDeal2,\n intro: <>En tus escapadas...,\n title: <>¿Quién suele acompañarte?,\n answers: [\n 'Voy solo y sin que nadie me toque la música',\n 'Mi familia, nada nos separa',\n 'Mi pareja es mi mejor copiloto',\n 'Mis amigxs, con ellxs a todos lados'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video02-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal3',\n screenIndex: PlanIdealSteps.PlanIDeal3,\n intro: <>Ahora es tu turno.,\n title: <>¿Hay algo que quieras saber de nuestros eléctricos?,\n answers: [\n 'La autonomía que tienen',\n 'El tiempo y lugar de carga',\n 'Lo que me ahorro',\n 'Otros'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video03-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: true\n }\n];\n\ninterface PlanIdealFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function PlanIdealForm(props: PlanIdealFormProps) {\n const { idPerson } = props;\n const { initializeForm, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n //Logica eliminar o añadir PlanIdeal3Otros\n const { PlanIDeal3 } = formData.fields;\n const handlePlanIDeal3Otros = (PlanIDeal3: String) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (PlanIDeal3 === \"Otros\") {\n const stepIndex = getIndexInSteps(newSteps, 'PlanIDeal3Otros');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'PlanIDeal3Otros', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'PlanIDeal3Otros');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: question.screenIndex,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n title: <>¿Nos das más detalles?,\n fields: } />,\n screenIndex: PlanIdealSteps.PlanIDeal3Otros,\n name: 'PlanIDeal3Otros'\n },\n {\n fields: ,\n screenIndex: PlanIdealSteps.Confirmacion,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-plan_ideal',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. OneShots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Plan IDeal 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DYShQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_PLAN_IDEAL_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_ID_CLIMAPRO]': idPerson ? idPerson.ID_Person_DIM_IMP__c : \"\",\n\n 'fields[DESC_AUXFIELD1]': fields.PlanIDeal1, // Primera Respuesta\n 'fields[DESC_AUXFIELD2]': fields.PlanIDeal2, // Segunda Respuesta\n 'fields[DESC_AUXFIELD3]': fields.PlanIDeal3, // Tercera Respuesta\n 'fields[M_OBSERVATION]': fields.PlanIDeal3 === 'Otros' ? fields.PlanIDeal3Otros : '', // Mensaje en caso otros en Tercera Respuesta\n\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n useEffect(() => {\n if (PlanIDeal3) handlePlanIDeal3Otros(PlanIDeal3);\n }, [PlanIDeal3]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\nimport { Checks } from './Checks';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesPlanIdeal = 'https://crm.volkswagen.es/email/2023/service/planideal/Sorteo%20Plan%20Ideal.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationPlanIdeal = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n \n Genial, ya está todo a punto. Confírmanos tus datos, para participar en el sorteo del planazo que tenemos para ti junto a uno de nuestros eléctricos 😉\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n\n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n\n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { OneElementTemplate, RenderController } from 'src/feature-app/Screen';\nimport {\n CTA,\n Container,\n ContainerPadding,\n Text,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouPlanIdeal() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n \n ),\n fields: (\n \n \n El día 7 de noviembre realizaremos el sorteo y comunicaremos el ganador/a, ¡te deseamos mucha suerte!\n \n\n \n Mientras tanto, puedes mantenerte al día de todas nuestras novedades sobre la movilidad eléctrica y resolver tus dudas aquí.\n \n\n \n Además, nuestros eléctricos son los nuevos protagonistas de un nuevo evento muy especial, el ID.Street, ¿Quieres saber más? Descúbrelo aquí.\n \n \n } />\n )\n };\n return (\n \n );\n}\n","import React from 'react';\nimport {\n Text,\n ThemeProvider,\n CTA,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TriggerProps, useFaContent } from 'src/feature-app';\nimport { DiaDeLaMadreForm } from 'src/forms/FormsAdhoc/DiaDeLaMadre';\n\nconst MarginWrapper = styled.div`\n width: var(--size-grid020);\n padding: var(--size-grid002) var(--size-grid001) var(--size-grid006) var(--size-grid003);\n display: flex;\n flex-direction: column;\n\n @media all and (min-width: 560px) {\n margin-top: 40px;\n width: var(--size-grid008);\n margin-bottom: var(--size-grid004);\n padding: 0;\n }\n @media all and (min-width: 960px) {\n margin-top: 64px;\n width: var(--size-grid007);\n margin-bottom: calc(var(--size-grid002) + 40px);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n margin-bottom: 0;\n }\n @media all and (min-width: 1600px) {\n margin-top: 80px;\n }\n @media all and (min-width: 1920px) {\n margin: 52px 0 72px var(--size-grid002);\n width: var(--size-grid005);\n }\n`;\n\nexport const CajaCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const faContent = useFaContent();\n\n const getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Dale amor');\n\n return (\n \n \n
\n \n Solo falta la tuya\n \n
\n
\n \n A veces un {'\"'}te quiero{'\"'} no puede esperar. Díselo ahora para entrar en el{' '}\n sorteo* de un finde para dos personas en tu parador favorito al volante del nuevo ID.4\n , haciendo lo que más desea tu madre:{' '}pasar tiempo contigo.\n \n
\n
\n {\n setCTALabel(getCtaLabel());\n setSelectedJourney();\n }}\n >\n {getCtaLabel()}\n \n
\n
\n \n *Sorteo exclusivo para clientes de Volkswagen.\n \n
\n
\n
\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionDiaDeLaMadre() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionDiaDeLaMadre);\n\nexport { ConnectedComponent as ConfirmacionDiaDeLaMadre };\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n styled,\n ThemeProvider,\n BreakpointWrapper,\n Breakpoints,\n Container,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CajaCTATrigger } from '.';\nimport { CarouselComponent } from 'src/components';\nimport { TriggerProps } from 'src/feature-app';\nimport imageOne from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-1_1280x853px.jpg';\nimport imageTwo from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-2_1280x768px.jpg';\nimport imageThree from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-3_1280x768px.jpg';\n\nconst BackgroundBlue = styled.div`\n margin-right: var(--size-grid002);\n margin-top: calc(var(--size-grid002) * -1);\n background-color: #001e50;\n width: var(--size-grid022);\n position: absolute;\n height: 100%;\n z-index: -1;\n\n @media all and (min-width: 560px) {\n width: var(--size-grid022);\n margin-left: var(--size-grid002);\n margin-right: 0;\n margin-top: 0;\n }\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid001);\n width: var(--size-grid020);\n height: calc(100% - 24px);\n margin-top: 24px;\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid002);\n width: var(--size-grid018);\n }\n @media all and (min-width: 1600px) {\n margin-top: 28px;\n height: calc(100% - 28px);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid009);\n width: var(--size-grid011);\n margin-top: 72px;\n margin-bottom: 72px;\n height: calc(100% - 72px);\n }\n`;\n\nconst ImageOneAndTextWrapper = styled.div`\n display: flex;\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n }\n @media all and (min-width: 1920px) {\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n }\n\n .image-one {\n width: var(--size-grid013);\n margin-right: var(--size-grid001);\n height: fit-content;\n @media all and (min-width: 960px) {\n width: var(--size-grid012);\n margin-bottom: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid011);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid010);\n margin-right: 0;\n margin-bottom: 0;\n }\n }\n`;\n\nconst ImageTwoWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid001);\n margin-top: 0;\n }\n\n .image-two {\n width: var(--size-grid010);\n margin-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n margin-right: 0;\n }\n }\n`;\n\nconst ImageThreeWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n\n @media all and (min-width: 960px) {\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-top: calc((var(--size-grid003) + 20px) * -1);\n margin-left: var(--size-grid012);\n }\n\n .image-three {\n width: var(--size-grid010);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n }\n }\n`;\n\nconst BottomImagesWrapper = styled.div`\n width: 100%;\n display: flex;\n`;\n\nconst RelativeWrapper = styled.div`\n position: relative;\n\n @media all and (min-width: 1920px) {\n display: flex;\n }\n`;\n\nconst imageArray = [\n {\n src: 'imageOne',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-one',\n },\n {\n src: 'imageTwo',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-two',\n },\n {\n src: 'imageThree',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-three',\n },\n];\n\nconst CarouselImageWrapper = styled.div`\n padding: 0 2.5%;\n width: 83.2vw;\n height: 83.2vw;\n overflow: hidden;\n\n .wrapper-image-one {\n padding-left: 6.32%;\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n .image-two {\n transform: scale(0.5) translate(-65%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n .image-three {\n transform: scale(0.5) translate(-62%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n`;\n\nconst MovileImageWrapper = styled.div`\n margin: 0 auto;\n width: var(--size-grid020);\n height: var(--size-grid020);\n overflow: hidden;\n margin-left: var(--size-grid002);\n .wrapper-image-one {\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n`;\n\nexport const DisplayImagenesYCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const renderList = (imageArray: Array) => {\n return imageArray.map((image, ind) => {\n return (\n \n
\n {image.name}\n
\n
\n );\n });\n };\n\n return (\n
\n \n \n
\n \n
\n
\n \n \n \n \n
\n {/* maquetación breakpoints a partir de 560*/}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","import React, { useState } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { TextAreaExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n`;\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n}\n\nexport function Mensaje(props: DetalleMotivoProps) {\n const { hideCTA } = props;\n const { register } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const trackingManager = useTrackingManager();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Por ejemplo: Feliz yo de tenerte, mamá <3. Un solo día se te queda corto. Te quiero hoy y los 364 restantes.\"\n rows={3}\n />\n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CSSTransition } from 'react-transition-group';\n\nconst CardsWrapper = styled.div`\n position: relative;\n height: calc((2 *var(--size-grid003)/1.04) + 89px);\n @media screen and (max-width: 780px) {\n height: calc((2 *var(--size-grid003)/1.04) + 140px);\n }\n @media screen and (max-width: 712px) {\n height: 369px;\n }\n @media screen and (max-width: 654px) {\n height: 410px;\n }\n @media screen and (max-width: 654px) {\n height: 388px;\n }\n @media screen and (max-width: 420px) {\n height: 375px;\n }\n`;\n\ntype CardProps = {\n bgColor: string,\n number: number,\n size?: number,\n position: {\n top?: string,\n right?: string,\n bottom?: string,\n left?: string\n }\n}\n\nconst Card = styled.article`\n position: absolute;\n width: var(--size-grid003);\n height: calc(var(--size-grid003)/1.04);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n top: ${props => props.position.top ? `${props.position.top}` : 'unset'};\n right: ${props => props.position.right ? `${props.position.right}` : 'unset'};\n bottom: ${props => props.position.bottom ? `${props.position.bottom}` : 'unset'};\n left: ${props => props.position.left ? `${props.position.left}` : 'unset'};\n background: ${props => props.bgColor === 'dark' ? '#001E50' : '#00B0F0'};\n padding: 16px;\n display: none;\n &.card-enter {\n transform: scale(0);\n display: flex;\n }\n &.card-enter-active {\n transform: scale(1.1);\n transition: transform 150ms;\n display: flex;\n }\n &.card-enter-done {\n transform: scale(1);\n transition: transform 150ms;\n display: flex;\n }\n @media screen and (max-width: 1188px) {\n width: max-content;\n max-width: 165px;\n height: 131px;\n }\n @media screen and (max-width: 654px) {\n text-align: left;\n }\n @media screen and (max-width: 420px) {\n max-width: unset;\n width: ${\n props => props.number === 0 ? '120px'\n : props.number === 1 ? '120px'\n : props.number === 2 ? '164px'\n : props.number === 3 ? '144px'\n : '140px'\n};\n height: ${\n props => props.number === 0 ? '125px'\n : props.number === 1 ? '121px'\n : props.number === 2 ? '145px'\n : props.number === 3 ? '161px'\n : '140px'\n};\n }\n`;\n\nconst mensajes = [\n {\n bgColor: 'light',\n text: 'Mamá, éste sí que es nuestro año. ¡Te quiero!'\n },\n {\n bgColor: 'dark',\n text: 'Mamá, ¿te ape un plan juntos, solos tú y yo?'\n },\n {\n bgColor: 'light',\n text: '¡Felicidades, Carmen! Prepárate, porque se vienen cositas hihi'\n },\n {\n bgColor: 'dark',\n text: 'Madre no hay más que una, y en eso eres la mejor del mundo <3'\n },\n {\n bgColor: 'dark',\n text: 'Feliz día a ti, mami. ¡Eres mi mayor referente!'},\n];\n\nconst mensajesPosition = {\n default: [\n { name: 'default'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '22%',\n },\n {\n top: '10.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b1188: [\n { name: 'b1188'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '7%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b960: [\n { name: 'b960'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '47%',\n left: '10%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b654: [\n { name: 'b654'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '37%',\n left: '30%',\n },\n {\n top: '16.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b420: [\n { name: 'b654'},\n {\n top: '25%',\n right: '14%',\n },\n {\n top: '34%',\n left: '24%',\n },\n {\n top: '6.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ]\n};\n\nexport function MensajesCards(props: {showMessages: boolean}) {\n const { showMessages } = props;\n const [ showCard1, setShowCard1 ] = useState(false);\n const [ showCard2, setShowCard2 ] = useState(false);\n const [ showCard3, setShowCard3 ] = useState(false);\n const [ showCard4, setShowCard4 ] = useState(false);\n const [ showCard5, setShowCard5 ] = useState(false);\n\n const [positionsArray, setPositionsArray] = useState(mensajesPosition.default);\n\n function activateTriggers(num: number) {\n switch(num) {\n case 2:\n setTimeout(() => {\n setShowCard2(true);\n activateTriggers(3);\n }, 450);\n break;\n case 3:\n setTimeout(() => {\n setShowCard3(true);\n activateTriggers(4);\n }, 450);\n break;\n case 4:\n setTimeout(() => {\n setShowCard4(true);\n activateTriggers(5);\n }, 450);\n break;\n case 5:\n setTimeout(() => {\n setShowCard5(true);\n }, 450);\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n if (showMessages) {\n setShowCard1(true);\n activateTriggers(2);\n } else {\n setShowCard1(false);\n setShowCard2(false);\n setShowCard3(false);\n setShowCard4(false);\n setShowCard5(false);\n }\n }, [showMessages]);\n\n useEffect(() => {\n function changeCardsPosition(bp: string) {\n if (bp === '959' && positionsArray[0].name !== 'b960') {\n setPositionsArray(mensajesPosition.b960);\n } else if (bp === '654' && positionsArray[0].name !== 'b654') {\n setPositionsArray(mensajesPosition.b654);\n } else if (bp === '420' && positionsArray[0].name !== 'b420') {\n setPositionsArray(mensajesPosition.b420);\n } else if (bp === '1188' && positionsArray[0].name !== 'b1188') {\n setPositionsArray(mensajesPosition.b1188);\n } else {\n setPositionsArray(mensajesPosition.default);\n }\n }\n\n const mediaQueryListObject1188 = window.matchMedia('(max-width: 1188px)');\n try {\n mediaQueryListObject1188.addEventListener('change', () => changeCardsPosition('1188'));\n } catch (e) {\n try {\n mediaQueryListObject1188.addListener(() => changeCardsPosition('1188'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject959 = window.matchMedia('(max-width: 959px)');\n try {\n mediaQueryListObject959.addEventListener('change', () => changeCardsPosition('959'));\n } catch (e) {\n try {\n mediaQueryListObject959.addListener(() => changeCardsPosition('959'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject654 = window.matchMedia('(max-width: 654px)');\n try {\n mediaQueryListObject654.addEventListener('change', () => changeCardsPosition('654'));\n } catch (e) {\n try {\n mediaQueryListObject654.addListener(() => changeCardsPosition('654'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject420 = window.matchMedia('(max-width: 420px)');\n try {\n mediaQueryListObject420.addEventListener('change', () => changeCardsPosition('420'));\n } catch (e) {\n try {\n mediaQueryListObject420.addListener(() => changeCardsPosition('420'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n if (window.matchMedia('(max-width:420px)').matches) {\n setPositionsArray(mensajesPosition.b420);\n } else if (window.matchMedia('(max-width:654px)').matches) {\n setPositionsArray(mensajesPosition.b654);\n } else if (window.matchMedia('(max-width:959px)').matches) {\n setPositionsArray(mensajesPosition.b960);\n } else if (window.matchMedia('(max-width:1188px)').matches) {\n setPositionsArray(mensajesPosition.b1188);\n }\n\n return () => {\n mediaQueryListObject1188.removeEventListener('change', () => changeCardsPosition('1188'));\n mediaQueryListObject959.removeEventListener('change', () => changeCardsPosition('959'));\n mediaQueryListObject654.removeEventListener('change', () => changeCardsPosition('654'));\n mediaQueryListObject420.removeEventListener('change', () => changeCardsPosition('420'));\n };\n }, []);\n\n return (\n \n \n {mensajes.map((mensaje, i) => {\n return (\n \n \n {mensaje.text}\n \n \n );\n })}\n \n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { MensajesCards } from '.';\nimport { keyframes } from 'styled-components';\nimport { useFaContent } from 'src/feature-app';\n\nconst spinnerKeyframe = keyframes`\n 0% {\n stroke-dasharray: 0 100;\n }\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid003);\n width: var(--size-grid018);\n display: flex;\n justify-content: space-between;\n .cards {\n width: var(--size-grid009);\n @media screen and (max-width: 990px) {\n width: var(--size-grid011);\n }\n @media screen and (max-width: 959px) {\n margin-left: auto;\n width: 56%;\n }\n @media screen and (max-width: 910px) {\n margin-left: auto;\n width: 60%;\n }\n @media screen and (max-width: 840px) {\n margin-left: auto;\n width: 63%;\n }\n @media screen and (max-width: 780px) {\n margin-left: auto;\n width: 70%;\n }\n @media screen and (max-width: 712px) {\n margin-left: auto;\n width: 85%;\n }\n @media screen and (max-width: 654px) {\n width: 100%;\n }\n }\n .info {\n width: var(--size-grid007);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n @media screen and (max-width: 959px) {\n width: 80%;\n }\n @media screen and (max-width: 560px) {\n margin-bottom: 10px;\n width: 90%;\n }\n #number-messages {\n display: inline-block;\n min-width: 100px;\n }\n }\n @media screen and (max-width: 990px) {\n margin-left: var(--size-grid002);\n margin-right: var(--size-grid002);\n width: var(--size-grid020);\n }\n @media screen and (max-width: 959px) {\n flex-wrap: wrap-reverse;\n }\n`;\n\nconst Spinner = styled.div`\n width: 200px;\n height: 200px;\n margin-left: auto;\n margin-bottom: 17px;\n border-radius: 100%;\n position: relative;\n .dashed-circumference {\n position: absolute;\n top: 5.5%;\n left: 4.5%;\n z-index: -1;\n width: 90%;\n height: 90%;\n border-radius: 100%;\n border: 1px dotted #001E50;\n }\n .percentage-bar {\n .circle {\n stroke: #071e50;\n fill: none;\n stroke-width: 0.75;\n animation: ${spinnerKeyframe} 3.5s ease-out forwards;\n }\n }\n .percentage-text {\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate3d(50%, -50%, 0);\n #percentage-messages {\n width: 28px;\n display: inline-block;\n text-align: right;\n @media screen and (min-width: 960px) {\n width: 40px;\n }\n @media screen and (min-width: 1600px) {\n width: 56px;\n }\n }\n }\n @media screen and (max-width: 959px) {\n width: 150px;\n height: 150px;\n position: absolute;\n margin: 0;\n bottom: 0;\n left: 0;\n }\n @media screen and (max-width: 559px) {\n width: 123px;\n height: 123px;\n }\n`;\n\nfunction animateNumber(id: string, start: number, end: number, duration: number) {\n const range = end - start;\n let current = start;\n const increment = id === 'number-messages' ? 2 : 1;\n const stepTime = Math.abs(Math.floor(duration / range));\n let obj = document.getElementById(id);\n const timer = setInterval(function() {\n current += increment;\n if (id === 'percentage-messages' && current < 10) {\n obj.innerHTML = `${current}`;\n } else {\n obj.innerHTML = current.toString();\n }\n if (current === end) {\n clearInterval(timer);\n }\n }, stepTime);\n}\n\nexport function SectionMensajes() {\n const [ showMessages, setShowMessages ] = useState(false);\n const [ madres, setMadres ] = useState(1000);\n const [ porcentaje, setPorcentaje ] = useState(25);\n const faContent = useFaContent();\n\n useEffect(() => {\n if (faContent.madres) setMadres(parseInt(faContent.madres));\n if (faContent.porcentaje) setPorcentaje(parseInt(faContent.porcentaje));\n }, [faContent]);\n\n useEffect(() => {\n if (showMessages) {\n animateNumber('number-messages', 10, madres, 4000);\n animateNumber('percentage-messages', 0, porcentaje, 3000);\n }\n }, [showMessages]);\n\n useEffect(() => {\n const options = { threshold: 0.8 };\n const element = document.querySelector('#mensajes');\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0 && !showMessages) {\n setShowMessages(true);\n }\n });\n }, options);\n observer.observe(element);\n }, []);\n\n return (\n \n
\n \n
\n
\n \n \n Más de 10 madres han recibido\n {' '}\n su carga de amor\n \n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n
\n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Svg = styled.svg`\n width: 100%;\n height: auto;\n fill: #ffffff;\n`;\nconst SvgWrapper = styled.div`\n width: 44px;\n height: 44px;\n`;\n\nexport const FacebookSvg = () => (\n \n \n 631056F4-6CA7-4833-8173-D917CE902E32\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const TwitterSvg = () => (\n \n \n 13918EB6-6D62-43B8-99A2-2965833D2774\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const WhatsappSvg = () => (\n \n \n ic_whatsapp\n Created with Sketch.\n \n \n \n \n \n \n);\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FacebookSvg, TwitterSvg, WhatsappSvg } from '../assets/Svgs';\n\ninterface FieldProps {\n copyBook?: string;\n cliente: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst Anchor = styled.a`\n outline: none;\n color: none;\n`;\n\nfunction Fields() {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {formData.fields.cliente === 'true'\n ? 'Tu madre recibirá tu “te quiero” en su bandeja de entrada y, quizá, también un fin de semana contigo al volante del Nuevo ID.4. ¡Mucha suerte! '\n : 'Tu madre está a punto de recibir tu “te quiero” en su bandeja de entrada. ¡Le alegrarás el día! '}\n \n \n ¿Conoces a más conductores/as Volkswagen? Comparte esta página para que ninguna madre se quede sin su “te\n quiero”.\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouDiaDeLaMadre(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n Seguro que le encanta tu mensaje\n \n \n \n \n Seguro que le encanta tu mensaje\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouDiaDeLaMadre);\n\nexport { ConnectedComponent as ThankYouDiaDeLaMadre };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect, useState } from 'react';\nimport { Text, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { \n Email, \n PantallaNombreApellido, \n Telefono, \n MultipleCTASelection, \n YaTienesVolkswagen, \n NoCliente,\n ContactInfoWrapper \n} from 'src/components';\nimport {\n Mensaje,\n ConfirmacionDiaDeLaMadre,\n ThankYouDiaDeLaMadre\n} from './componentsAndViews';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext,formatPrefix } from 'src/feature-app';\nimport { formDataBuilder } from '../../format-fields';\n\nconst CTAsTipoVehiculo = [\n { label: 'Un eléctrico', value: 'electrico' },\n { label: 'Un híbrido', value: 'hibrido' },\n { label: 'Uno de combustión', value: 'combustion' },\n { label: 'Ninguno, de momento', value: 'ninguno' },\n];\n\nconst getContactoTitle = (cliente: string) => {\n if (cliente === 'true') {\n return (\n <>\n ¡Listo! ¿Cómo podemos contactar contigo en caso de ganar el fin de semana?\n \n );\n } else {\n return (\n <>\n ¿De parte de quién se lo enviamos?\n \n );\n }\n};\n\nexport enum DiaDeLaMadreSteps {\n NombreApellido,\n Cliente,\n NoCliente,\n Mensaje,\n EmailTelefono,\n MotherEmail,\n TipoVehiculo,\n Confirmacion,\n}\n\nexport function DiaDeLaMadreForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const { cliente } = useSelector((state: OneFormState) => state.formData.fields);\n const { formData } = useSelector((state: OneFormState) => state);\n\n const [notAClient, setNotAClient] = useState(true);\n\n const handleNotAClient = (cliente: string) => {\n let newSteps = [...steps];\n\n if (cliente === 'false') {\n newSteps = [...steps];\n } else {\n newSteps.splice(DiaDeLaMadreSteps.NoCliente, 1);\n setNotAClient(false);\n }\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Para poder enviar tu mensaje, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Ya tienes un Volkswagen, \n \n ¿verdad? \n 1\n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Cliente,\n name: 'Cliente',\n outputs: ['cliente'],\n outputsText: ['cliente'],\n },\n {\n title: (\n <>\n Este sorteo es solo para clientes Volkswagen \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NoCliente,\n name: 'NoCliente',\n outputs: ['noCliente'],\n outputsText: ['noCliente'],\n },\n {\n title: (\n <>\n Pues vayamos a lo que importa. ¿Qué te gustaría{' '}\n \n decirle a tu{' '}\n \n madre?*\n \n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Mensaje,\n name: 'Mensaje',\n outputs: ['messageText'],\n outputsText: ['messageText'],\n },\n {\n title: getContactoTitle(cliente),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Y, ¿a qué email le hacemos llegar la sorpresa a tu madre?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.MotherEmail,\n name: 'MotherEmail',\n outputs: ['otherEmail'],\n outputsText: ['otherEmail'],\n },\n {\n title: (\n <>\n Antes de terminar, tenemos curiosidad: ¿qué tipo de coche te ves{' '}\n \n conduciendo{' '}\n \n próximamente?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.TipoVehiculo,\n name: 'TipoVehiculo',\n outputs: ['tipoVehiculo'],\n outputsText: ['tipoVehiculo'],\n },\n {\n fields: ,\n screenIndex: DiaDeLaMadreSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-diamadre', formType: 'otherform', pageCategory: 'Concurso' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_diamadre_2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': 'B16 One Shot',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Participación Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Dia Madre 2021', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000Jo8rAAC',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_DIAMADRE',\n\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': true,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.messageText,\n 'fields[DESC_AUXFIELD2]': removeWhiteSpace(fields.otherEmail),\n 'fields[DESC_AUXFIELD3]': fields.tipoVehiculo,\n 'fields[DESC_AUXFIELD4]': fields.cliente,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_diamadre_2021-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n useEffect(() => {\n if (cliente) handleNotAClient(cliente);\n }, [cliente]);\n\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { \n Layout,\n Breakpoints,\n CTA,\n Text, \n Container, \n ContainerPadding,\n ThemeProvider,\n styled, \n WhiteSpace,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nconst videoURL = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/videos/video_eurocopa.mp4';\nconst Video = styled.video`\n background: linear-gradient(321.56deg, #00437A 0%, #00376C 52.11%, #001E50 100%);\n width: auto;\n height: 98vh;\n\n @media all and (min-width: 960px) {\n width: 100vw;\n height: auto;\n }\n`;\nconst HeaderContentPosition = styled.div`\n position: absolute;\n z-index: 1;\n top : 5%;\n @media all and (min-width: 960px) {\n top : 10%;\n }\n @media all and (min-width: 1280px) {\n top : 15%;\n }\n`;\n\nexport const Portada = () => {\n const trackingManager = useTrackingManager();\n const { nextStep } = useOneFormContext();\n return (\n
\n
\n
\n \n \n \n \n Hay tantos tipos de jugadores{' '}como de conductores.{' '}¿Cuál eres tú? \n \n \n \n Nos encantaría que participaras en este sorteo exclusivo para clientes ID. Compártenos tu experiencia.\n \n \n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Comenzar\n \n \n \n \n \n
\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { TextAreaExtended } from 'src/components/inputs';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TextAlignment,\n styled,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\n\nexport const Experiencia = () => {\n const [currentValue, setCurrentValue] = useState('');\n const { register } = useFormContext();\n\n const adMaxLength = () => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', '350');\n };\n\n useEffect(() => {\n adMaxLength();\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n maxLength={350}\n />\n\n \n 1Tu{' '}testimonio es muy interesante por lo que en un futuro lo compartiremos, junto con tu nombre, en nuestra web.\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {\n Telefono,\n MultipleCTASelection,\n DetalleMotivo,\n MultipleOptionCTAs,\n Email,\n PantallaNombreApellido,\n ContactInfoWrapper\n} from 'src/components';\nimport { Portada, Experiencia } from './ComponentsAndViews';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, IdPerson, IdOrder } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFeatureAppConfig,\n useFeatureServices,\n useGetWaidLitera,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { ThankYouEurocopa, ConfirmacionEurocopa } from './';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { createPincodeEntity } from 'src/forms/dps-utils';\nimport { GenericErrorLayer } from 'src/components/layers';\n\nexport const CTAsSiNoNsNc = [\n { label: 'Sí, sin dudarlo', value: 'true' },\n { label: 'No lo recomiendo', value: 'false' },\n { label: 'Aún no lo sé, es pronto', value: 'NS/NC' },\n];\nexport const CTASCarga = [\n { label: 'En casa', value: 'casa' },\n { label: 'En el trabajo', value: 'trabajo' },\n { label: 'En ruta', value: 'ruta' },\n { label: 'Otro', value: 'otro' },\n];\nexport const CTAsConduccion = [\n { label: 'Sí, siempre utilizo mi vehículo eléctrico', value: 'electrico' },\n { label: 'Lo combino con otro vehículo no eléctrico', value: 'combinado' },\n];\nexport const CTAsGusta = [\n { label: 'La innovación', value: 'innovacion' },\n { label: 'La velocidad de la carga', value: 'velocidad carga' },\n { label: 'La practicidad para el día a día', value: 'practicidad' },\n { label: 'Que se adapta a mis escapadas/planes', value: 'adaptacion' },\n { label: 'Lo chulísimo que es', value: 'chulisimo' },\n { label: 'El ahorro económico', value: 'ahorro' },\n { label: 'Otro', value: 'otro' },\n];\n\nconst getExperienciaTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n }\n};\nconst getExperienciaAlternateTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n );\n }\n};\n\nexport enum EurocopaSteps {\n Trigger,\n Carga,\n MasInformacion,\n Coduccion,\n MultipleChoice,\n MultipleChoiceDetalle,\n Recomendacion,\n Experiencia,\n NombreApellido,\n EmailTelefono,\n Confirmacion,\n}\n\nconst getIndexInSteps = (steps: Steps[], stepName: string) => steps.findIndex((step) => step.name === stepName);\n\nexport function EurocopaForm() {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const [formError, setFormError] = useState(false);\n const [formCaducado, setFormCaducado] = useState(false);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const { formData } = useSelector((state: OneFormState) => state);\n const [idOrder, setIdOrder] = useState(false);\n const { carga, multipleChoice } = formData.fields;\n const trackingManager = useTrackingManager();\n const waid = useGetWaidLitera();\n\n const updateExperienciaStep = (conCoche: string, auxSteps?: Steps[]) => {\n const title = getExperienciaTitle(conCoche);\n const alternateTitle = getExperienciaAlternateTitle(conCoche);\n\n let newSteps = auxSteps ? auxSteps : [...steps];\n\n const experienciIndex = newSteps.findIndex((step: Steps) => step.name === 'Experiencia');\n\n newSteps[experienciIndex].title = title;\n newSteps[experienciIndex].alternateTitle = alternateTitle;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };\n\n const handleDetalle = (field: string, fieldName: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (field === 'otro' || field.includes('otro')) {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n\n if (detalleIndex === -1) {\n // En caso de haber eliminado el step hay que volver a añadirlo de nuevo y llamar a la función handleNextStep ya que\n // ésta se llama antes de volver a añadir el mapa y realiza el cálculo con los steps sin actualizar.\n const detalleStepIndex = getIndexInSteps(steps, fieldName);\n newSteps.splice(screenIndex + 1, 0, steps[detalleStepIndex]);\n\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n newSteps.splice(detalleIndex, 1);\n }\n updateExperienciaStep('true', newSteps);\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n updateSteps(newStepsWithIndex);\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: EurocopaSteps.Trigger,\n name: 'Trigger',\n outputs: ['trigger'],\n outputsText: ['trigger'],\n },\n {\n title: (\n <>\n ¿Dónde sueles cargar las pilas de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Carga,\n name: 'Carga',\n outputs: ['carga'],\n outputsText: ['carga'],\n },\n {\n title: (\n <>\n ¿Cuál?\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MasInformacion,\n name: 'masInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n ¿Es tu ID. tu{' '}\n \n vehículo{' '}\n \n titular?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Coduccion,\n name: 'Conduccion',\n outputs: ['conduccion'],\n outputsText: ['conduccion'],\n },\n {\n title: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n \n Puedes elegir más de una respuesta.\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n } />\n ),\n screenIndex: EurocopaSteps.MultipleChoice,\n name: 'MultipleChoice',\n outputs: ['multipleChoice'],\n outputsText: ['multipleChoice'],\n },\n {\n title: (\n <>\n Cuéntanos más\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MultipleChoiceDetalle,\n name: 'MultipleChoiceDetalle',\n outputs: ['multipleChoiceDetalle'],\n outputsText: ['multipleChoiceDetalle'],\n },\n {\n title: (\n <>\n ¿Recomendarías a tus amigos o conocidos{' '}\n \n que se pasen al equipo{' '}\n \n eléctrico?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Recomendacion,\n name: 'Recomendacion',\n outputs: ['recomendacion'],\n outputsText: ['recomendacion'],\n },\n {\n title: <>, //Se actualiza en updateExperienciaStep\n alternateTitle: <>, //Se actualiza en updateExperienciaStep\n fields: } />,\n screenIndex: EurocopaSteps.Experiencia,\n name: 'Experiencia',\n outputs: ['experiencia'],\n outputsText: ['experiencia'],\n },\n {\n title: (\n <>\n Para poder entrar en el sorteo, necesitamos confirmar quién eres\n \n ),\n fields: } />,\n screenIndex: EurocopaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Y confirmar los datos para poder contactar contigo\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EurocopaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n screenIndex: EurocopaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const getFormInfo = (\n idOrder: IdOrder\n ): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n let newSteps = [...steps];\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n updateExperienciaStep('false');\n } else if (!idOrder?.SLI_State__c || (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70)) {\n updateExperienciaStep('true');\n }\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n const indexFinalCorte = newSteps.findIndex((step) => step.name === 'Recomendacion');\n newSteps.splice(1, indexFinalCorte);\n setIdOrder(true);\n newSteps = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n }\n\n return {\n firstStep: newSteps[0],\n lastStep: newSteps[newSteps.length - 1],\n stepsHistory: [0],\n numberOfScreens: newSteps.length,\n newSteps,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[PINCODE]': fields.pincode,\n 'headers[DESC_ID_CLIMAPRO]': fields.idClimapro,\n\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_2021_eurocopa',\n 'headers[DESC_WAID_LITERA]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '2. VW Sponsorship',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JooQAAS',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${fields.prefix}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.experiencia,\n 'fields[DESC_AUXFIELD2]': fields.enCurso,\n 'fields[DESC_AUXFIELD3]': fields.carga,\n 'fields[DESC_AUXFIELD4]': fields.masInformacion,\n 'fields[DESC_AUXFIELD5]': fields.conduccion,\n 'fields[DESC_AUXFIELD6]': fields.multipleChoice,\n 'fields[DESC_AUXFIELD7]': fields.multipleChoiceDetalle,\n 'fields[DESC_AUXFIELD8]': fields.recomendacion,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_2021_eurocopa-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n const idOrder = createPincodeEntity(dpsData, 'ORDER') as IdOrder;\n\n const enCursoAux = idOrder && parseFloat(idOrder.SLI_State__c) < 70 ? 'true' : 'false';\n\n if (!idPerson) {\n if (dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n console.log(dpsData);\n setFormError(true);\n } else if (dpsData.pincode.pincodeUsed) {\n setFormCaducado(true);\n }\n }\n\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(idOrder);\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n COD_FORM_ID: 'vw-oneform-adhoc_2021_eurocopa',\n DESC_WAID_LITERA: waid ? waid : 'Sorteo Eurocopa 2021',\n DESC_CAMPAIGNBLOCK: '2. VW Sponsorship',\n DESC_FORMOBJECTIVE: 'Concurso',\n DESC_FORM_DETAIL: 'Sorteo Eurocopa 2021',\n DESC_ID_CAMPAIGN: '7011n000000JooQAAS',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n },\n\n fields: {\n name: idPerson?.FirstName,\n surname: idPerson?.LastName,\n secondSurname: idPerson?.TXT_2_Surname__c,\n email: idPerson?.TXT_Email__c,\n cellphone: idPerson?.NUM_Phone_mobile__c,\n pincode: dpsData.pincode?.pincodeResponse?.params?.pincode,\n enCurso: enCursoAux,\n idClimapro: idPerson?.ID_Person_DIM_IMP__c,\n formName: 'adhoc-2021-eurocopa',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {},\n error(err) {\n console.error(err);\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n useEffect(() => {\n if (!idOrder) {\n if (carga) {\n handleDetalle(carga, 'masInformacion');\n }\n }\n }, [carga]);\n useEffect(() => {\n if (!idOrder) {\n if (multipleChoice) {\n handleDetalle(multipleChoice, 'MultipleChoiceDetalle');\n }\n }\n }, [multipleChoice]);\n\n return (\n <>\n {loading ? null : (\n <>\n {formError ? (\n \n ) : formCaducado ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Pronto sabrás si eres una de las personas afortunadas. Mientras tanto, ¡sigue disfrutando de la movilidad eléctrica!\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouEurocopa(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por participar!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouEurocopa);\n\nexport { ConnectedComponent as ThankYouEurocopa };\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport {\n CloseHandleV2,\n FocusLayerSizeV2,\n LayerHandleV2,\n LayerManagerV2\n} from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionEurocopa() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n ¡Gracias! Unas{' '}últimas preguntas{' '} para tenerlo todo claro\n \n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n \n \n
\n \n \n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionEurocopa);\n\nexport { ConnectedComponent as ConfirmacionEurocopa };\n","import {\n BreakpointWrapper,\n Breakpoints,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from '../../CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\n\ninterface lastNavigationProps {\n refProps?: any;\n formMin?: any;\n setShowError?: any;\n}\n\nconst NavigationWrapper = styled.div`\n display: block;\n padding-top: 44px;\n`;\n\nexport const LastNavigationFidelizacion = (props: lastNavigationProps) => {\n const { setShowError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset, getValues, triggerValidation } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const [isValid, setIsValid] = useState(false);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleConfirmarEnvio = async (e: any) => {\n const values = getValues();\n const isValid = await triggerValidation();\n setShowError(false);\n\n if (isValid) {\n setShowError(false);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n } else {\n setShowError(true);\n }\n };\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n if (fields.otrosServicios) setIsValid(true);\n }, [fields]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n \n\n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n >\n Enviar\n \n \n \n \n \n );\n};\n","import React, { useState, useEffect} from 'react';\nimport { Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { RatingStars} from 'src/components';\nimport styled from 'styled-components';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager } from 'src/feature-app/hooks';\nimport { OneElementTemplateFullScreen } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport {LastNavigationFidelizacion} from '.';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n & > button {\n margin: 12px;\n width: 81px;\n }\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nfunction Fields() {\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const [ selectedValue, setSelectedValue] = useState('');\n const { control, register, setValue } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [showError, setShowError] = useState(false);\n\n useEffect(() => {\n if (fields.enviarInformacion) setSelectedValue(fields.enviarInformacion);\n }, []);\n\n return (\n <>\n \n {\n showError ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null\n }\n \n \n );\n}\n\nexport function FidelizacionLastScreenFields() {\n return (\n } />\n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeFidelizacionForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } else {\n requestCarlines();\n }\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport {\n Text,\n CTA,\n Container,\n ContainerPadding,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FidelizacionLastScreenFields } from './FidelizacionLastScreenFields';\nimport { TextAreaExtended, MultipleOptionCTAs, RatingStars } from 'src/components';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n useOneFormContext\n} from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { ThankYouFidelizacion } from '.';\nimport { formDataBuilder } from '../../format-fields';\nimport { FidelizacionFormProps } from './FidelizacionController';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useInitializeFidelizacionForm } from './use-initialize-fidelizacion-form';\n\nconst CTAsObtenerNuevas = [\n { label: 'Participando en encuestas, en experiencias, en sorteos, en eventos...', value: 'lealtad' },\n { label: 'Con Volkswagen Long Drive, utilizando el servicio de recogida y entrega, pidiendo cita online...', value: 'relacion' },\n { label: 'Otras formas', value: 'otros' },\n];\n\nconst CTAsListadoVentajas = [\n { label: 'Mantenimiento incluido', value: 'mantenimiento' },\n { label: 'Garantías Volkswagen', value: 'garantias' },\n { label: 'Asistencia en carretera', value: 'asistencia' },\n { label: 'Coche de sustitución', value: 'coche-sustitucion' },\n { label: 'Revisión Pre-ITV gratuita', value: 'pre-itv' },\n { label: 'Servicio de recogida y entrega', value: 'recogida-entrega' },\n { label: 'Volkswagen Long Drive¹', value: 'long-drive' },\n { label: 'Experiencias de conducción²', value: 'experiencias' },\n { label: 'We: Coche conectado³', value: 'we' },\n];\n\nexport enum FidelizacionSteps {\n QuieroTener,\n MasConoces,\n ListadoVentajas,\n Valoracion,\n ServicioPosventa,\n ProcesoCompra,\n OpcionesFinanciacion,\n VentajasBeneficions,\n InformacionExclusiva,\n InformacionTecnologia,\n OtrosServicios,\n Confirmacion,\n}\n\nexport function FidelizacionForm(props: FidelizacionFormProps) {\n const { dpsData, idPerson, trackFormLoad } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { obtenerNuevas } = formData.fields;\n const { screenIndex } = formInfo;\n const { initializeForm, nextStep, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const { register } = useFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const dispatch = useDispatch();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n const stepsForm: Steps[] = [\n {\n title: (\n <>\n ¿Qué beneficios y ventajas te gustaría tener como cliente Volkswagen?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Hace 7 años que soy clienta de Volkswagen, y me encantaría que mi fidelidad se viera recompensada con descuentos, ofertas exclusivas e incluso experiencias con otros miembros de la comunidad.\"\n rows={3}\n maxLength={1500}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.QuieroTener,\n name: 'QuieroTener',\n outputs: ['quieroTener'],\n outputsText: ['quieroTener'],\n },\n {\n title: (\n <>\n ¿Cuáles son los beneficios y ventajas de Volkswagen que más conoces/utilizas?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Me parece muy útil el servicio de recogida y entrega de Volkswagen. A veces hacer un hueco para ir al taller es misión imposible, ¡así que toda acción que te facilite la vida es bienvenida!\"\n rows={3}\n maxLength={350}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.MasConoces,\n name: 'MasConoces',\n outputs: ['masConoces'],\n outputsText: ['masConoces'],\n },\n {\n title: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n \n Selecciona 3 opciones.\n \n \n \n ),\n alternateTitle: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n ),\n fields: (\n \n \n \n
    \n
  1. Planes de mantenimiento Volkswagen Long Drive (Standard y Advance)
  2. \n
  3. Race Tours y otras experiencias de conducción para clientes
  4. \n
  5. Servicios de conectividad como We Connect, We Connect GO...
  6. \n
\n
\n }\n />\n ),\n screenIndex: FidelizacionSteps.ListadoVentajas,\n name: 'ListadoVentajas',\n outputs: ['listadoVentajas'],\n outputsText: ['listadoVentajas'],\n },\n {\n title: (\n <>\n ¿Qué importancia le darías a los siguientes conceptos?\n \n ),\n fields: (\n \n \n \n Como cliente de Volkswagen, siendo 1 {'\"'}mayor importancia{'\"'} y 5 {'\"'}menor importancia{'\"'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n \n \n ),\n screenIndex: FidelizacionSteps.Valoracion,\n name: 'Valoracion',\n },\n {\n title: (\n <>\n Servicio de Posventa: trato, precio y planes de mantenimiento.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ServicioPosventa,\n name: 'ServicioPosventa',\n outputs: ['servicioPosventa'],\n outputsText: ['servicioPosventa'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Proceso de compra o renovación: personalización por ser cliente, ofrecimiento de prueba test drive, asesoramiento comercial...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ProcesoCompra,\n name: 'ProcesoCompra',\n outputs: ['procesoCompra'],\n outputsText: ['procesoCompra'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Opciones de financiación en la venta: nuevas fórmulas, condiciones ventajosas...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.OpcionesFinanciacion,\n name: 'OpcionesFinanciacion',\n outputs: ['opcionesFinanciacion'],\n outputsText: ['opcionesFinanciacion'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Ventajas y Beneficios como descuentos, premios, entradas a eventos, posibilidad de participar en foros de la marca...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.VentajasBeneficions,\n name: 'VentajasBeneficions',\n outputs: ['ventajasBeneficions'],\n outputsText: ['ventajasBeneficions'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Información exclusiva sobre novedades de la marca y del sector: nuevos lanzamientos, productos o funcionalidades, recomendaciones, noticias...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionExclusiva,\n name: 'InformacionExclusiva',\n outputs: ['informacionExclusiva'],\n outputsText: ['informacionExclusiva'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Innovación y Tecnología: coche conectado, coche autónomo, sostenibilidad...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionTecnologia,\n name: 'InformacionTecnologia',\n outputs: ['informacionTecnologia'],\n outputsText: ['informacionTecnologia'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Otros Servicios: servicio de atención al cliente, garantía de movilidad Volkswagen, asistencia...\n \n ),\n fields: ,\n screenIndex: FidelizacionSteps.OtrosServicios,\n name: 'OtrosServicios',\n outputs: ['otrosServicios'],\n outputsText: ['otrosServicios'],\n isLastStep: true\n },\n ];\n\n const FidelizacionFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-fidelizacion_clientes', formType: 'otherform', pageCategory: 'Fidelización Clientes 2021' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. VW One Shots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Encuesta',\n 'headers[DESC_FORM_DETAIL]': fields.pageCategory,\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JqqSAAS',\n 'headers[DESC_ID_CLIMAPRO]': idPerson.ID_Person_DIM_IMP__c,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_ENCUESTA_FIDELIZACION_CLIENTES',\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[M_OBSERVATION]': fields.quieroTener,\n 'fields[DESC_AUXFIELD1]': fields.masConoces,\n 'fields[DESC_AUXFIELD2]': fields.listadoVentajas,\n 'fields[DESC_AUXFIELD5]': fields.servicioPosventa,\n 'fields[DESC_AUXFIELD6]': fields.procesoCompra,\n 'fields[DESC_AUXFIELD7]': fields.opcionesFinanciacion,\n 'fields[DESC_AUXFIELD8]': fields.ventajasBeneficions,\n 'fields[DESC_AUXFIELD9]': fields.informacionExclusiva,\n 'fields[DESC_AUXFIELD10]': fields.informacionTecnologia,\n 'fields[DESC_AUXFIELD11]': fields.otrosServicios,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE'\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeFidelizacionForm(stepsForm, null);\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const FidelizacionFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(FidelizacionFormInfo, FidelizacionFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n\n return loading || !steps ? null : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { FidelizacionForm } from './FidelizacionForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { createPincodeEntity } from '../../dps-utils';\n\nexport interface FidelizacionFormProps {\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n showPantallaModelo: boolean;\n}\n\nexport function FidelizacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [showPantallaModelo, setShowPantallaModelo] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Las tendremos en cuenta para seguir mejorando tu experiencia Volkswagen 😊\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouFidelizacion(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por tu tiempo y tus respuestas!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouFidelizacion);\n\nexport { ConnectedComponent as ThankYouFidelizacion };\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { TestIDForm } from './TestIDForm';\n\nexport function TestIDController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n correctAnswer?: string;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, avoidNextStep, correctAnswer } = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const currentCorrectAnswers = fields.answers || 0;\n\n const handleOnClick = (e: any) => {\n if (avoidNextStep) {\n // si no vamos a next step guardaremos el valor en store\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n } else {\n setTimeout(\n () => {\n if (correctAnswer && correctAnswer === e.target.value) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['answers']: currentCorrectAnswers + 1 } });\n }\n handleNextStep();\n }, 0\n );\n }\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n \n
\n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n Image,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n correctAnswer?: string;\n imageSrc: string;\n index: number;\n questionName: string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n correctAnswer,\n imageSrc,\n index,\n questionName,\n title,\n } = props;\n const height = useWindowHeight();\n const width = useWindowWidth();\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \"\"\n
\n
\n )\n }\n \n \"imagen\n \n \n \n {index === 0 && Y... ¡que empiece el test!}\n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationTestID, ThankYouTestID } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { questions } from './';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\n\ninterface TestIDFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function TestIDForm(props: TestIDFormProps) {\n const { idPerson } = props;\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: index,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n fields: ,\n screenIndex: questions.length,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-test_id',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Test ID 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_TEST_ID_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n\n 'fields[DESC_AUXFIELD1]': fields.answers, // respuestas correctas\n 'fields[DESC_AUXFIELD2]': fields.location,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_PREFERRED_CONTACT_CHANNEL]': fields.contact,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesTestID2023 = 'https://crm.volkswagen.es/email/2023/service/recertificacion_may23/Sorteo%20Test%20Ele%CC%81ctrico.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationTestID = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n\n {!idPerson &&\n \n ¡Genial! Ya lo tenemos casi todo. Ahora solo falta que nos confirmes tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n {idPerson &&\n \n ¡Genial! Aunque el sorteo ya está cerrado, confírmanos tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n FixedWidthContainer,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n TokenTextColor,\n} from \"@volkswagen-onehub/components-core\";\nimport {\n getParamsForm,\n getTrackingForm,\n LayerManagerWrapper,\n removeWhiteSpace,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from \"src/feature-app\";\nimport styled from \"styled-components\";\nimport { useDispatch, useStore } from \"react-redux\";\nimport { Apellido, Email, GenericErrorLayer, LegalFullScreenSinConsentmientos, LegalItem, Nombre, PoliticaPrivacidad } from \"src/components\";\nimport { FormDataGroup, OneFormState } from \"src/types\";\nimport { formDataBuilder, formatHeaders } from \"src/forms/format-fields\";\nimport { dpsSend } from \"src/bff\";\nimport { TestIDForm } from \"./\";\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from \"@volkswagen-onehub/layer-manager\";\nimport { useWindowWidth } from \"@react-hook/window-size\";\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n width: ${(props) => props.isMediumScreen ? \"50%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n position: relative;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nconst initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_TEST_ID_2023',\n DESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n COD_FORM_ID: 'vw-newsletter-electricos-adhoc-2023-test_id',\n },\n fields: {\n formName: 'newsletter-electricos-adhoc-2023-test_id',\n formType: 'newsletter',\n pageCategory: 'Suscripción Newsletter',\n }, // Analítica\n};\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\n\nexport function EmailForm() {\n const [email, setEmail] = useState(null);\n const [showError, setShowError] = useState(false);\n const dispatch = useDispatch();\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const [renderFormID, setRenderFormID] = useState(false);\n const store = useStore();\n const { formData }: OneFormState = store.getState();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const windowWidth = useWindowWidth();\n const [error, setError] = useState(false);\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n\n useEffect(() => {\n initializeForm(\n {},\n initialData,\n );\n }, []);\n\n useEffect(() => {\n setIsMediumScreen(windowWidth >= 960 && windowWidth < 1280);\n }, [windowWidth]);\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n const sendForm = (): Promise => {\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(email),\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n const response = await dpsSend(formData);\n\n if (response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(response));\n setRenderFormID(true);\n } else {\n setError(true);\n }\n\n });\n };\n\n if (error) {\n return (\n <>\n \n \n );\n } else {\n\n return (\n\n renderFormID ?\n \n :\n <>\n \n\n \n\n <>\n \n Demuestra que eres un pro y entra en el sorteo de uno de los dos cursos de conducción eléctrica.\n \n \n El curso de la escuela ID. es una\n experiencia única al volante de nuestros eléctricos con pilotos profesionales a tu lado. {' '}\n Para participar, haz nuestro test de solo 5 preguntas.\n \n \n \n \n \n ¿Te animas a estar al día de todo sobre los eléctricos, demostrar lo que sabes y participar en el sorteo?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n {\n showError ? (\n <>\n \n \n Necesitamos esta información para seguir\n \n \n \n ) : null\n }\n {\n e.preventDefault();\n if (email && !showError) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email: email } });\n sendForm();\n } else {\n setShowError(true);\n }\n }}\n >\n Enviar y participar\n \n \n \n \n\n \n \n \n \n )\n }\n\n}\n","import { Text } from \"@volkswagen-onehub/components-core\";\nimport React from \"react\";\n\nexport const questions = [\n {\n questionName: 'Test ID 01',\n title: <>1. Estás en Madrid y te apetece hacer una escapada en tu ID.7.{' '}¿Hasta dónde podrías llegar aproximadamente?,\n answers: [\n 'Hasta Barcelona, podría llegar a hacer 700 km.',\n 'Hasta Zaragoza y no más que esos 300 km.',\n 'Hasta Toledo. Hombre, ni que pudiera recorrer más de 70km.',\n ],\n correctAnswer: 'Hasta Barcelona, podría llegar a hacer 700 km.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 02',\n title: <>​2. Estás organizando el viaje de verano con tu ID.5 y quieres saber dónde podrás cargarlo.{' '}¿Cuántos puntos habilitados de carga hay en España?,\n answers: [\n '4.444, como las cuatro ruedas de un coche.',\n 'Más de 18.000, es casi imposible no toparse con uno.',\n '93, como días tiene el verano.',\n ],\n correctAnswer: 'Más de 18.000, es casi imposible no toparse con uno.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020AL01387_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjImaGVpPTQ2MiZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmZTJiZQ=='\n },\n {\n questionName: 'Test ID 03',\n title: <>3. Oh no...está empezando a sonar la canción de tu ex en tu ID.7 y quieres cambiarla.{' '} ¿Cómo lo haces?,\n answers: [\n 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n 'Se lo pido a mi copiloto, que es muy majo.',\n 'Me desespero y toco todos los botones del coche a la vez.',\n ],\n correctAnswer: 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00281_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 04',\n title: <>4. Estás subiendo los pirineos con un ID.4 y quieres cambiar de marcha para que el coche tenga más potencia.{' '}¿Cómo lo haces?,\n answers: [\n '¡Muy fácil! Con el cambio de marchas de toda la vida.',\n '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n 'Le pongo la banda sonora de UP para que siga subiendo.',\n ],\n correctAnswer: '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2022AU00678_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 05',\n title: <>5. Quieres parar a tomarte un descanso y de paso aprovechar para cargar tu ID.3 en un punto de carga rápida.{' '}¿Cuántos minutos necesitarás para cargarlo al 80%?,\n answers: [\n '30 minutos, lo que tardo en tomarme un descansito y un café.',\n '80 minutos, lo mismo que un capítulo de Juego de Tronos.',\n '60 minutos, lo que dura una clase de Cycling en el gimnasio.',\n ],\n correctAnswer: '30 minutos, lo que tardo en tomarme un descansito y un café.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020NR00454_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n];\n\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouTestID() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n ¡Ha llegado la hora de la verdad eléctrica! Ve a tu email y descubre tus resultados del test. \n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useState } from 'react';\nimport { useStore } from 'react-redux';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Legales,\n Email,\n CodigoPostal,\n LegalItem,\n} from 'src/components';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices, useGetIdPerson } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GridWrapper = styled.div`\n width: 100%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 10%;\n padding-bottom: 6%;\n padding-top: 3%;\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n margin-left: 35px;\n`;\n\nconst InputWrapper = styled.div`\n input, span:first-child, div:last-child {\n width: 320px;\n }\n`;\n\ninterface ConcursoRodajeProps {\n idPerson?: IdPerson;\n sendForm?: () => Promise;\n}\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nconst legalesRodaje = 'https://crm.volkswagen.es/email/2023/newsletter/trimestre_jun23/BBLL_Rodaje_NL_2023.pdf';\n\nexport const ConcursoRodajeConfirmacion = (props: ConcursoRodajeProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n
\n \n Acompáñanos en el rodaje de nuestro próximo spot{' '}\n y descubre cómo sucede la magia detrás de cámara.\n Completa tus datos y ¡ven a vivirlo!\n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n {!idPerson &&\n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n }\n \n \n Enviando el formulario declaro haber leído y estar informado acerca del tratamiento de mis datos personales y declaro aceptar las condiciones de participación recogidas en las{' '}\n \n bases legales\n .\n
\n
\n
\n \n
\n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n {/* \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n */}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { ConcursoRodajeForm } from './';\n\nexport function ConcursoRodajeController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n \n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return ;\n }\n}\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouConcursoRodaje() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n Te confirmamos que tus datos se han registrado correctamente\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { ThankYouTestID } from '../TestID2023';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n FormController,\n formatPrefix,\n removeWhiteSpace,\n useGetIdPerson,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder, formatHeaders } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore } from 'react-redux';\nimport { ConcursoRodajeConfirmacion } from './ConcursoRodajeConfirmacion';\nimport { ThankYouConcursoRodaje } from './ThankYouConcursoRodaje';\n\ninterface ConcursoRodajeFieldsProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function ConcursoRodajeForm(props: ConcursoRodajeFieldsProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const idPerson = useGetIdPerson();\n\n useEffect(() => {\n const {\n FirstName: name,\n LastName: surname,\n TXT_Email__c: email,\n TXT_Postal_Code__c: postalCode,\n NUM_Phone_mobile__c: telefono,\n } = idPerson || {};\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname, postalCode, telefono } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: 0,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_RODAJE_2023',\n DESC_FORMOBJECTIVE: 'Concurso',\n },\n fields: {\n formName: 'adhoc-2023-concurso_rodaje',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_CAMPAIGNBLOCK]': '7. VW Driving Experience',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUlUQAW',\n 'headers[DESC_FORM_DETAIL]': 'Concurso Rodaje 2023',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_POSTAL_CODE]': fields.postalCode ? fields.postalCode : idPerson.TXT_Postal_Code__c,\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson ? idPerson.TXT_Email__c : null,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, initialData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport { findCarline } from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.VGED_CodeOfInterestCarline__c &&\n propertyHasValue(idLead.VGED_CodeOfInterestCarline__c);\n\nexport function useInitializeForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n\n const carline = findCarline(carlines, Number(idLead.VGED_CodeOfInterestCarline__c));\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } \n requestCarlines();\n\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { PantallaNombreApellido, CarlineSelect, DetalleMotivo, MultipleCTASelection, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\n\n\nconst getPeriodoContactoTitle = (modeloPrecargado: boolean) => {\n if (modeloPrecargado) {\n return (\n <>\n Y ¿cuándo te{' '}\n \n respondieron?*\n \n \n );\n } else {\n return (\n <>\n Nos encantaría saber más sobre tu experiencia.{' '}\n \n ¿Cuándo te{' '}\n \n respondieron?*\n \n \n \n );\n }\n};\n\nexport function LEMContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const { enviarConcesion } = useSelector((state: OneFormState) => state.formData.fields);\n const { dealersInfo }: OneFormState = store.getState();\n const dispatch = useDispatch();\n\n const ctasPeriodoContacto = [\n {\n label: 'En las primeras 8 horas',\n value: 'En las primeras 8h'\n },\n {\n label: 'En las primeras 24 horas',\n value: 'En las primeras 24h'\n },\n {\n label: 'En más de 24 horas',\n value: 'En más de 24h'\n },\n ];\n\n const ctasInformacionUtil = [\n {\n label: 'Sí, resolvieron mis dudas y/o me dieron una cita',\n value: 'Sí, resolvieron mis dudas y/o me dieron una cita'\n },\n {\n label: 'No, necesito más información',\n value: 'No, necesito más información'\n },\n {\n label: 'Aún la estoy valorando',\n value: 'Aún la estoy valorando'\n },\n ];\n\n const optionsEnviarConcesion = [\n { \n label: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre', \n info: 'El consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*.',\n value: '1' \n },\n {\n label: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre',\n info: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n value: '2',\n },\n {\n label: 'Mis respuestas solo deben ser analizadas de manera anónima',\n info: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n value: '0',\n },\n\t];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: getPeriodoContactoTitle(checkIdLeadHasCarline(idLead)),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'PeriodoContacto',\n outputs: ['periodoContacto'],\n outputsText: ['periodoContacto'],\n ctas: ctasPeriodoContacto,\n },\n {\n title: (\n <>\n ¿Fue útil la información que te dieron?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'InformacionUtil',\n outputs: ['informacionUtil'],\n outputsText: ['InformacionUtil'],\n ctas: ctasInformacionUtil,\n },\n {\n title: (\n <>\n Finalmente nos gustaría saber si podemos{' '}\n enviar tus respuestas junto con tu nombre al punto de venta\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'EnviarConcesion',\n outputs: ['enviarConcesion'],\n outputsText: ['enviarConcesion'],\n ctas: optionsEnviarConcesion,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n
\n }\n />\n ),\n screenIndex: index++,\n name: 'DatosPersonales',\n outputs: ['datosPersonales'],\n outputsText: ['datosPersonales'],\n },\n {\n title: (\n <>\n ¿Quieres añadir algún comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n outputs: ['comentario'],\n outputsText: ['comentario'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMContactadoData: Partial = {\n headers: {},\n fields: {\n formName: 'lem-contactado',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n useEffect(() => {\n if (enviarConcesion) {\n modifySteps(enviarConcesion == '1' || enviarConcesion == 'true', 'DatosPersonales');\n }\n }, [enviarConcesion]);\n\n const modifySteps = (add: boolean, screen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n if (add) {\n const stepIndex = getIndexInSteps(newSteps, screen);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, screen, screenIndex);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\thandleNextStep();\n\t\t\t\t}, 0);\n\t\t\t}\n }\n else {\n newSteps = removeStep(newSteps, screen);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}`: `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_01]': dpsData.rating,\n 'fields[SURVEY_ANSWER_03]': fields.periodoContacto,\n 'fields[SURVEY_ANSWER_18]': fields.informacionUtil,\n 'fields[SURVEY_ANSWER_10]': fields.enviarConcesion,\n 'fields[SURVEY_ANSWER_11]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n useEffect(() => {\n if(!presubmitSent && presubmit) sendForm(true);\n }, []);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMContactadoInfo, LEMContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, Email, PantallaNombreApellido, Telefono, ContactInfoWrapper, MultipleCTASelection, DetalleMotivo, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, IdPerson, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\n\nexport function LEMNoContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { dealersInfo }: OneFormState = store.getState();\n\n const ctasHorarios = [\n {\n label: 'Mañana',\n value: 'Mañana'\n },\n {\n label: 'Tarde',\n value: 'Tarde'\n },\n ];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n },\n /*{\n title: (\n <>\n Para averiguar qué ha pasado, necesitamos saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'NombreApellidos',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },*/\n {\n title: (\n <>\n ¿Nos podrías confirmar tus datos de contacto?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿En qué horario prefieres ser contactado?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'Horario',\n },\n {\n title: (\n <>\n ¿Quieres añadir algun comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMNoContactadoData: Partial = {\n headers: {},\n fields: {\n name: idLead.FirstName,\n surname: idLead.LastName,\n secondSurname: idLead.MiddleName,\n email: idLead.Email,\n cellphone: idLead.MobilePhone,\n formName: 'lem-no_contactado',\n formType: 'otherform',\n pageCategory: 'Más Información',\n }, // Analítica\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM No Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_13]': fields.horario,\n 'fields[SURVEY_ANSWER_14]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMNoContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n const sendPresubmit = (): boolean => {\n\t\tif (presubmitSent || !presubmit) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!checkIdLeadHasCarline(idLead) || (checkIdLeadHasCarline(idLead) && dealersInfo.selectedCarline)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tuseEffect(() => {\n\t\tif (sendPresubmit()) sendForm(true);\n\t}, [dealersInfo]);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMNoContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMNoContactadoInfo, LEMNoContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { DomainAttributesValues } from 'src';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdDealer, IdLead, IdPerson } from 'src/types';\nimport { LEMContactadoForm } from './LEMContactadoForm';\nimport { LEMNoContactadoForm } from './LEMNoContactadoForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { getInstallations } from 'src/bff';\nimport { arrayToObject } from 'src/helpers';\n\nexport interface LEMFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n installation: IdDealer;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n}\n\nexport function LEMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [contactado, setContactado] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const [installation, setInstallation] = useState(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n const leadCreatedDate = dayjs(idLead.CreatedDate);\n const fechaEnvio = dpsData.fe ? dayjs(atob(dpsData.fe), 'DD/MM/YYYY') : null;\n let onTime = false;\n if (fechaEnvio) {\n onTime = today.diff(fechaEnvio, 'day') < 7;\n }\n else {\n onTime = today.diff(leadCreatedDate, 'day') < 7;\n }\n\n if (dpsData.push !== 'true' && onTime) {\n setPresubmit(true);\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else if (dpsData.push == 'true') {\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else {\n setCaducado(true);\n }\n setLoading(false);\n }\n };\n\n // Guardamos la instalacion por Id (idLead.Dealership__c)\n const findInstallation = () => {\n getInstallations('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION').then((dealers) => {\n\t\tconst installations = dealers.map((inst) => inst.attributes);\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n\n\t\tlet found = false;\n\t\tlet i = 0;\n\t\twhile (i < installations.length && !found) {\n\t\t\tconst element = installations[i].find((ele: DomainAttributesValues) => \n\t\t\t\ttypeof ele.value !== 'undefined' && \n\t\t\t\ttypeof ele.name !== 'undefined' &&\n\t\t\t\tele.name.includes('Id') && \n\t\t\t\tele.value.includes(idLead.Dealership__c)\n\t\t\t);\n\t\t\tif (element) {\n\t\t\t\tsetInstallation(arrayToObject(installations[i]));\n\t\t\t\tfound = true;\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t\tif(!found) {\n\t\t\tconsole.error('Installation not found');\n\t\t\thandleError();\n\t\t}\n });\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n }\n\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad(true);\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else if(installation) {\n return (\n <>\n {contactado ? (\n \n ) : (\n \n )}\n \n );\n }\n else {\n return ;\n }\n}\n","import { Breakpoints, styled, Text, TokenTextAppearance, Layout } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\nconst ContentWrapper = styled.div`\n min-height: calc(100vh - 227px);\n width: 100%;\n display: flex;\n align-items: center;\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 227px);\n }\n .content-wrapper {\n width: 100%;\n }\n`;\n\nexport const ConfirmacionLEM = () => {\n const dispatch = useDispatch();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [lssiPincode, setLssiPincode] = useState('PERMITE');\n\n /*useEffect(() => {\n if (fields) {\n setLssiPincode(fields.lssiPincode);\n }\n }, [fields]);\n\n useEffect(() => {\n if (lssiPincode === 'PERMITE') {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n } \n }, [lssiPincode]);*/\n\n return (\n \n \n \n
\n {lssiPincode === 'PERMITE' ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n \n Mantente al día\n \n )}\n\n {lssiPincode === 'PERMITE' ? null : (\n \n )}\n \n\n \n
\n
\n \n {lssiPincode === 'PERMITE' ? (\n null\n ) : (\n null\n )}\n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThanKYouLEM = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { FormInfo } from 'src/types';\nimport { LeadGenericoForm, LeadsFormsProps } from '../LeadGenericoForm';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads } from 'src/forms/Leads';\nimport { Steps } from 'src/types';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { leadsCitaVentaData, leadsCitaVentaDealerData } from '.';\nimport { MapaLeadsInPage, partialDataCitaConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum CitaVentaSteps {\n Mapa,\n Modelo,\n NombreApellido,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\n\nexport function CitaVentaForm({ inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (isLeadDealer) {\n setPartialData(leadsCitaVentaDealerData);\n } else {\n setPartialData(leadsCitaVentaData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n isLeadDealer ? null :\n {\n screenIndex: CitaVentaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n ¿{isLeadDealer ? \"Qué \" : \"Y qué \"}modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: CitaVentaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsCitaVentaData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n\nexport const leadsCitaVentaDealerData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-dealer',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, Layout, Text, TextAlignment, TokenTextAppearance, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { GeneralConfirmacionLayerWrapper, LastNavigation, LegalesFormatoLayer, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { formatCalculatedLegal, removePTags } from './helpers';\nimport icon from './icon.svg';\n\nconst PoliticaWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n`;\n\nexport const ConfirmacionLeadsNoQuestions = () => {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst isLayer = formInfo?.formType === 'layer' || !formInfo?.notALayer;\n\tconst store = useStore();\n\tconst { dealersInfo }: OneFormState = store.getState();\n\tconst { oferta } = dealersInfo;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"icon\"\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t{isLayer && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{oferta && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{oferta.calculatedFinance?.rawResponse ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{formatCalculatedLegal(oferta.calculatedFinance.rawResponse.Response.Parameters.GlobalDisclaimer)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.legal)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.cuotaLegal)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { MultipleCTASelection } from 'src/components/inputs/MultipleCTASelection';\nimport {\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseGetWaidLitera,\n\tuseOneFormContext\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport {\n\tCarlineBase,\n\tFormDataGroup,\n\tFormDataHeaders,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n} from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport {\n\tgetConfiguradorComercialesData,\n\tgetDescInterestCarline,\n\tgetOfertasComercialesData\n} from './helpers';\nimport { LeadGenericoFormProps } from './LeadGenericoForm';\n\nconst isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) =>\n isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas\n ? carline.campaign.dfo.ofertas\n : headers.DESC_FORMOBJECTIVE;\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName[\"headers[SF_CAMPAIGN_NAME]\"]=carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n\t};\n\nexport const horarioContactoOptions = [\n {\n value: 'Mañana',\n detallesPrevStep: 'Por la mañana',\n label: 'Por la mañana',\n },\n {\n value: 'Mediodia',\n detallesPrevStep: 'Al mediodía',\n label: 'Al mediodía',\n },\n {\n value: 'Tarde',\n detallesPrevStep: 'Por la tarde',\n label: 'Por la tarde',\n },\n {\n value: 'A cualquier hora',\n detallesPrevStep: 'A cualquier hora',\n label: 'A cualquier hora',\n },\n];\n\nconst stepHorario = {\n title: (\n <>\n ¿Cúando prefieres que te llamemos?\n *\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: 100, // Se reiniciará más adelante\n name: 'HorarioContacto',\n outputs: ['horarioContacto'],\n outputsText: ['horarioContacto'],\n};\n\nexport function LeadGenericoComercialesForm({ steps, leadData, leadInfo, firstStep, lastStep }: LeadGenericoFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { contacto } = useSelector((state: OneFormState) => state.formData.fields);\n const store = useStore();\n const installations = useGetInstalaciones('LCV_DDB_FRM_LEM_REC_LEM', 'LCV_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields, headers, flags } = formData;\n const { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_OBJECTIVE]': getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\n ...formatFlags(flags), // Flags comunes a todos los formularios de leads\n ...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n 'fields[DPS_BRAND]': 'Volkswagen CV',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Contact Center Qualification',\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n 'fields[PERSON_PREFERRED_SLOT]': fields.contacto === 'Teléfono' ? fields.horarioContacto : undefined,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen CV',\n 'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n 'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n 'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_LINK]': url,\n ...getDpsFields(faContent),\n //...getSalesGroup(salesGroup),\n //...getHorario(fields.horario),\n\n ...(await getOfertasComercialesData(formData, dealersInfo)),\n //...(await getMatchData(formData, dealersInfo, faContent)), Match no disponible en LCV\n ...(await getConfiguradorComercialesData(formData)),\n\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n // const response = await dpsSend(formDataInfo);\n const response = await oneformBFFNdpsSend(formDataInfo);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n useEffect(() => {\n if (contacto === 'Teléfono' || contacto === 'Telefono') {\n const indexOfContacto = getIndexInSteps(steps, 'Contacto');\n const newSteps = [...steps];\n newSteps.splice(indexOfContacto + 1, 0, stepHorario);\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n handleNextStep();\n } else if (contacto === 'Email') {\n const { steps } = store.getState().formInfo;\n const indexOfContacto = getIndexInSteps(steps, 'HorarioContacto');\n\n if (indexOfContacto === -1) {\n return;\n } else {\n const newSteps = removeStep(steps, 'HorarioContacto');\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n }\n }\n }, [contacto]);\n\n const leadGenericoData: Partial = {\n headers: {\n // DESC_CAMPAIGNBLOCK: '9. VW LEM',\n FK_SYSTEM: 'LCV_DDB_FRM_LEM_REC_LEM',\n DPS_TOKEN: 'LCV_DDB_FRM_LEM_REC_LEM',\n FORM_ID: waid ? waid : '',\n ...leadData.headers,\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_IS_COMPANY: 'false'\n },\n fields: { ...leadData.fields },\n };\n\n const leadGenericoInfo: Partial = {\n formStarted: true,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n sendFormCallback: sendForm,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n notALayer: false,\n stepsHistory: [steps[0].screenIndex],\n thankYouComponent: ,\n ...leadInfo,\n };\n\n useEffect(() => {\n initializeForm(leadGenericoInfo, leadGenericoData);\n setLoading(false);\n }, []);\n\n return loading ? null : ;\n}\n","import React from 'react';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { LeadGenericoComercialesForm } from './LeadGenericoComercialesForm';\nimport { LeadGenericoForm, LeadGenericoFormProps } from './LeadGenericoForm';\n\nexport const LeadGenericoController = (props: LeadGenericoFormProps) => {\n const brand = useGetBrand();\n\n return brand === 'V' ? : brand === 'N' ? : null;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { CalculatorDefaultResponse, CalculatorFormatedSummaries } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\n\nexport const getFinanceCalculation = async (faContent: OneFormContent) => {\n\tif (faContent.financeCalculation != undefined) {\n\t\tconst calculatedFinanceRaw = faContent.financeCalculation as CalculatorDefaultResponse['rawResponse'];\n\t\tconst formatedSummaries = formatSummaries(calculatedFinanceRaw);\n\n\t\tconst headers = {\n\t\t\tFORM_NAME: 'vw-oneform-lead-oferta',\n\t\t};\n\n\t\tconst ofertaCalculatedFields = {\n\t\t\t'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': calculatedFinanceRaw.Response.Parameters.Description,\n\t\t\t'fields[VEH_INTEREST_OFFER_PRICE]': `${formatedSummaries.Full.Rate.Value + '€/mes'}`,\n\t\t\t'fields[VEH_INTEREST_OFFER_DETAIL]': formatOfferDetail(formatedSummaries, calculatedFinanceRaw.Response.Parameters.Description),\n\t\t};\n\t\treturn { ...formatHeaders(headers), ...ofertaCalculatedFields };\n\t}\n\treturn null;\n};\n\nexport function formatSummaries(response: CalculatorDefaultResponse['rawResponse']): CalculatorFormatedSummaries | undefined {\n\tconst Summaries = response?.Response?.Result?.Summaries?.Summary.reduce((acc: any, detail: any) => {\n\t\tacc[detail['@Type']] = detail;\n\t\treturn acc;\n\t}, {});\n\n\tif (!Summaries) return undefined;\n\n\tObject.keys(Summaries).forEach((key) => {\n\t\tconst summary = Summaries[key];\n\t\tconst details = summary?.DetailGroups?.DetailGroup?.Details?.Detail;\n\n\t\tif (details) {\n\t\t\tconst detailsArray = Array.isArray(details) ? details : [details];\n\t\t\tSummaries[key] = detailsArray.reduce((acc, detail) => {\n\t\t\t\tacc[detail['@ID']] = detail;\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\t\t}\n\t});\n\n\treturn Summaries;\n}\nexport function formatOfferDetail(formatedSummaries: CalculatorFormatedSummaries, financialProduct: string): string {\n\treturn `${financialProduct == 'My Way' ? 'Financiación ' + financialProduct : financialProduct} calculada por el usuario` + `\\r\\n* Entrada inicial: ${formatedSummaries.Full.DownPayment.Value} €` + `\\r\\n* Meses de financiación: ${formatedSummaries.Full.Duration.Value} Meses` + `${formatedSummaries.Full.Kilometers?.Value ? `\\r\\n* Kilómetros anuales: ${formatedSummaries.Full.Kilometers.Value} km` : ''}` + `\\r\\n* Cuota: ${formatedSummaries.Full.Rate.Value} €` + `${formatedSummaries.Full.FinalRate?.Value ? `\\r\\n* Cuota Final (Opcional): ${formatedSummaries.Full.FinalRate.Value} €` : ''}`;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, removeWhiteSpace, useFaContent, useFeatureAppConfig, useGetInstalaciones, useGetWaidLitera, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CarlineBase, FormDataGroup, FormDataHeaders, FormInfo, Horario, OneFormState, Steps } from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getConfiguradorData, getDescInterestCarline, getMatchData, getOfertasData } from './helpers';\nimport { getFinanceCalculation } from './helpers/get-financeCalculation';\n\nexport enum LeadGenerico {\n\tEmpezar,\n\tMapa,\n\tModelo,\n\tNombreApellido,\n\tEmailTelefono,\n\tContacto,\n\tConfirmacion,\n}\n\nexport interface LeadGenericoFormProps {\n\tsteps: Steps[];\n\tleadData: Partial;\n\tleadInfo: Partial;\n\tfirstStep: Steps;\n\tlastStep: Steps;\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n}\n\nexport interface LeadsFormsProps {\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n\tisLeadDealer?: boolean;\n\tisOfertasOrMatch?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nexport const isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) => (isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas ? carline.campaign.dfo.ofertas : headers.FORM_OBJECTIVE);\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName['headers[SF_CAMPAIGN_NAME]'] = carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n};\n\nconst getFormDetails = (callCenterCampaign: string) => {\n\tif (callCenterCampaign) {\n\t\tconst formDetails = [];\n\t\tformDetails['headers[FORM_DETAILS]'] = callCenterCampaign;\n\t\treturn { ...formDetails };\n\t}\n\treturn null;\n};\n\nexport function LeadGenericoForm({ steps, leadData, leadInfo, firstStep, lastStep, inPage, isConfigurador }: LeadGenericoFormProps) {\n\tconst { initializeForm } = useOneFormContext();\n\tconst store = useStore();\n\tconst config = useFeatureAppConfig();\n\tconst installations = useGetInstalaciones('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(true);\n\tconst faContent = useFaContent();\n\tconst waid = useGetWaidLitera();\n\n\tconst getHorario = (horario: Horario) => {\n\t\tlet horarioField = null;\n\n\t\tif (horario) {\n\t\t\tconst horarioFormatted = horario === 'morning' ? 'MANANA' : horario === 'evening' ? 'MEDIODIA' : 'TARDE';\n\n\t\t\thorarioField = { 'fields[PERSON_PREFERRED_SLOT]': horarioFormatted };\n\t\t}\n\t\treturn horarioField;\n\t};\n\n\tconst sendForm = (): Promise => {\n\t\tconst { formData, dealersInfo }: OneFormState = store.getState();\n\t\tconst { fields, headers, flags } = formData;\n\t\tconst { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n\t\tconst { VGED_CommercialName__c, ShippingStreet, VGED_DealerCode__c, ShippingStateCode, KVPSCode__c, Id } = selectedInstallation;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, referalUrl, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[FORM_OBJECTIVE]': fields.formObjective ? fields.formObjective : getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\t\t\t\t...getFormDetails(fields.callCenterCampaign),\n\n\t\t\t\t...formatFlags(flags), // Flags comunes a todos los formularios de leads\n\t\t\t\t...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n\t\t\t\t'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n\t\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t\t'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ID]': Id,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n\t\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n\t\t\t\t'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n\t\t\t\t'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n\t\t\t\t'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n\t\t\t\t'fields[VEH_INTEREST_LINK]': inPage ? referalUrl : url,\n\t\t\t\t'fields[COMMENTS_PERSON]': fields.comments,\n\t\t\t\t'fields[COMMENTS_CONTACT_CENTER]': fields.commentsCC,\n\t\t\t\t...getDpsFields(faContent),\n\t\t\t\t//...getSalesGroup(salesGroup),\n\t\t\t\t...getHorario(fields.horario),\n\n\t\t\t\t...(await getOfertasData(formData, dealersInfo)),\n\t\t\t\t...(await getMatchData(formData, dealersInfo, faContent)),\n\t\t\t\t...(await getConfiguradorData(formData)),\n\t\t\t\t...(await getFinanceCalculation(faContent)),\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\n\t\t\tconst formDataInfo = formDataBuilder(dataParsed);\n\t\t\t// const response = await dpsSend(formDataInfo);\n\t\t\tconst response = await oneformBFFNdpsSend(formDataInfo);\n\n\t\t\tif (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst leadGenericoData: Partial = {\n\t\theaders: {\n\t\t\t// DESC_CAMPAIGNBLOCK: '9. VW LEM',\n\t\t\tFK_SYSTEM: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tFORM_ID: waid ? waid : 'B09C01_LEM_WA1',\n\t\t\t...leadData.headers,\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t\tFLAG_IS_MYSTERY_LEAD: 'false',\n\t\t\tFLAG_RELACION_MARCA_SIN_IC: 'false',\n\t\t\tFLAG_SF_INTEGRATION: 'true',\n\t\t\tFLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n\t\t\t// FLAG_ISQUALIFIED: 'false',\n\t\t\t// FLAG_MAILRECEPCIONLEAD: 'true',\n\t\t\t// REQUIERE_CONTACTO_DEALER: 'false',\n\t\t},\n\t\tfields: {\n\t\t\t...leadData.fields,\n\t\t},\n\t};\n\n\tconst leadGenericoInfo: Partial = {\n\t\tformStarted: true,\n\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\tlastStep,\n\t\tsendFormCallback: sendForm,\n\t\tnumberOfScreens: steps.length,\n\t\tscreenIndex: firstStep.screenIndex,\n\t\tstep: firstStep,\n\t\tsteps,\n\t\tstepsHistory: [steps[0].screenIndex],\n\t\tthankYouComponent: ,\n\t\tnotALayer: inPage ? true : false,\n\t\tformTheme: inPage ? 'main' : 'inverted',\n\t\tformType: inPage ? 'inPage' : 'layer',\n\t\t...leadInfo,\n\t};\n\n\tuseEffect(() => {\n\t\tinitializeForm(leadGenericoInfo, leadGenericoData);\n\t\tsetLoading(false);\n\t}, []);\n\n\treturn loading ? null : ;\n}\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadsController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[]): JSX.Element[] => {\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadsController } from './';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyLeadsController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsWrapper = () => {\n return (\n \n \n \n );\n};\n","\nimport React, { useEffect, useState } from 'react';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MultipleCTASelection } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController, OneElementTemplate } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyLeadsWrapper } from './JourneyLeadsWrapper';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nenum MapaLeadsSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' || formName === 'oferta' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeads(props: MapaLeadsProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n let stepsHorario: Steps[] = [\n {\n title: <>{renderTitle(formName)},\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n } />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaLeads);\n setPreviousMultiStep(() => previousMapaLeads);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaLeads = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaLeads = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, CarlineSelect, PantallaNombreApellido, Email, Telefono, CodigoPostal, ContactInfoWrapper } from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport {\n DetalleMotivo,\n ConsentQuestion\n} from 'src/components';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsMasInformacionDealerPartialData, leadsMasInformacionPartialData } from '.';\nimport { MapaLeadsInPage, PartialDataMasInformacionConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum MasInformacionSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Comentarios,\n Confirmacion,\n}\n\n\nexport function MasInformacionForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if (isLeadDealer) {\n setPartialData(leadsMasInformacionDealerPartialData);\n } else {\n setPartialData(leadsMasInformacionPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: MasInformacionSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: MasInformacionSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Quieres saber algo en concreto?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Comentarios,\n name: 'Comentarios',\n outputs: ['comments'],\n outputsText: ['comments'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsMasInformacionPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsMasInformacionDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-dealer',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, Email, ContactInfoWrapper, PantallaNombreApellido, Telefono, CodigoPostal, ConsentQuestion } from 'src/components';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormDataGroup, FormInfo, Steps } from 'src/types';\nimport { ConfirmacionLeads } from '../ConfirmacionLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport enum OfertaSteps {\n Contacto,\n EmailTelefono,\n Mapa,\n NombreApellido,\n CodigoPostal,\n}\n\nexport function OfertaForm() {\n const isComerciales = useIsComerciales();\n\n const formSteps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: OfertaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n screenIndex: OfertaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n ];\n\n const confirmSteps: Steps[] =\n [\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n screenIndex: formSteps.length,\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n screenIndex: formSteps.length + 1,\n },\n {\n fields: ,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n screenIndex: formSteps.length + 2,\n },\n ]\n ;\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm([...formSteps, ...confirmSteps], true);\n\n const citaVentaData: Partial = {\n headers: isComerciales ? { FORM_OBJECTIVE : 'SF201903221335'} : {FORM_OBJECTIVE : 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'Presupuesto',\n formName: 'lead-oferta',\n formType: 'quote',\n pageCategory: 'Oferta',\n },\n };\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormInfo, Steps } from 'src/types';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { leadsPresupuestoDealerPartialData, leadsPresupuestoPartialData } from '.';\nimport { MapaLeadsInPage, PresupuestoPartialDataConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum PresupuestoSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function PresupuestoForm({ updatedFormData, isOfertasOrMatch, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if(isLeadDealer){\n setPartialData(leadsPresupuestoDealerPartialData);\n }\n else {\n setPartialData(leadsPresupuestoPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: PresupuestoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n }\n />\n :\n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsPresupuestoPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n\n};\n\nexport const leadsPresupuestoDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-dealer',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import React from 'react';\nimport { MasInformacionForm } from '../MasInformacion';\nimport { leadsStockPartialData } from '.';\n\nexport function StockForm() {\n return ;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsStockPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Usuario interesado en vehículos de stock sin haber encontrado disponibilidad en el rango de KM seleccionados' },\n formularioFlag: 'masInformacion',\n formName: 'lead-stock',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsStockInPagePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n ...leadsStockPartialData.fields,\n formFields: undefined\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { MapaLeads } from '../MapaLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsTestDriveDealerPartialData, leadsTestDrivePartialData } from '.';\nimport { MapaLeadsInPage, PartialDataTestDriveConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum TestDriveSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function TestDriveForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } if (isLeadDealer) {\n setPartialData(leadsTestDriveDealerPartialData);\n } else {\n setPartialData(leadsTestDrivePartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: TestDriveSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields:\n (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: TestDriveSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsTestDrivePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n\nexport const leadsTestDriveDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-dealer',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersInfo, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n dealersInfo: DealersInfo;\n inPage?: boolean;\n}\n\nconst copysThankYou = [\n {\n name: 'lead-presupuesto',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'el presupuesto para tu ',\n bodyCopy: ['Un asesor contactará contigo para hacerte llegar la información que necesitas.'],\n },\n {\n name: 'lead-oferta',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará contigo muy pronto para darte todos los detalles sobre esta oferta.'],\n },\n {\n name: 'lead-match',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará muy pronto contigo para hacerte una oferta a medida.'],\n },\n {\n name: 'lead-mas_informacion',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'más información sobre el ',\n bodyCopy: ['Un asesor contactará contigo para responder a todas tus preguntas.'],\n },\n {\n name: 'lead-stock',\n titleCopyRegular: 'Pronto ',\n titleCopyBold: 'responderemos a tus preguntas',\n bodyCopy: ['Un asesor contactará contigo para explicártelo todo sobre nuestros modelos con disponibilidad inmediata.'],\n },\n {\n name: 'lead-cita',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Ya hemos recibido tu solicitud, ',\n '. Muy pronto, un asesor contactará contigo para terminar de cerrar tu cita.',\n ],\n },\n {\n name: 'lead-test_drive',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor te llamará pronto para terminar de confirmar contigo los detalles de la prueba de conducción.',\n ],\n },\n {\n name: 'lead-call_center',\n titleCopyRegular: 'Lead enviado a',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor contactará con el lead para responder a sus preguntas.',\n ],\n }\n];\n\nfunction ThankYouLeads(props: ThankYouProps) {\n const { dealersInfo, inPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const { modelo, formName, name: nombre } = formData.fields;\n const { oferta } = dealersInfo;\n const { match } = dealersInfo;\n\n const dispatch = useDispatch();\n const brand = useGetBrand();\n const trackingManager = useTrackingManager();\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [completarBold, setCompletarBold] = useState(null);\n const [bodyCopy, setbodyCopy] = useState('');\n const [ctaUrl, setCtaUrl] = useState(null);\n\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n const aux = copysThankYou.filter((a: any) => {\n return formName.includes(a.name);\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n useEffect(() => {\n if (completeInfo && completeInfo.length > 0) {\n\n if (completeInfo[0].bodyCopy.length === 1) {\n setbodyCopy(completeInfo[0].bodyCopy[0]);\n } else {\n const aux = completeInfo[0].bodyCopy[0] + nombre + completeInfo[0].bodyCopy[1];\n setbodyCopy(aux);\n }\n\n if (formName === 'lead-oferta') {\n setCompletarBold(oferta.carline.title);\n } else if (formName === 'lead-match') {\n setCompletarBold(match.carline.title);\n } else if (formName === 'lead-stock') {\n setCompletarBold('');\n } else {\n if (formName.includes('lead-presupuesto') || formName.includes('lead-mas_informacion')) {\n setCompletarBold(modelo);\n } else {\n setCompletarBold(dealersInfo.selectedInstallation.VGED_CommercialName__c);\n }\n }\n }\n }, [completeInfo]);\n\n useEffect(() => {\n if (formName === 'lead-oferta') {\n if (brand === 'V') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${oferta.carline.name}.html`);\n } else if (brand === 'N') {\n setCtaUrl(`https://www.volkswagen-comerciales.es/es/modelos/${oferta.carline.name}.html`);\n }\n } else if (formName === 'lead-match') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${match.carline.name}.html`);\n }\n }, [dealersInfo]);\n\n const ofertasComercialesFields = 'En breve te llamaremos desde un número terminado en 904.';\n\n const screen: Steps = {\n title: (\n <>\n {completeInfo && completeInfo.length > 0 ? (\n inPage ?\n \n : (\n formName === 'lead-oferta' && brand === 'N' ?\n \n :\n \n )\n\n ) : null\n }\n \n ),\n fields: (\n <>\n {\n inPage ?\n \n :\n \n }\n \n ),\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n dealersInfo: state.dealersInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouLeads);\n\nexport { ConnectedComponent as ThankYouLeads };\n","export const appendJsonKey = (result: any) => `JSONKEY${JSON.stringify(result)}`;\n","import { appendJsonKey } from 'src/forms';\nimport { DealersData, FormDataGroup } from 'src/types';\n\nexport const isCalculadoraForm = (formName: string) => formName === 'prospect-posventa-calculadora';\n\nexport const getCalculadoraData = (formData: FormDataGroup) => {\n const { fields } = formData;\n const dealer: DealersData = fields.dealer;\n\n if (!isCalculadoraForm(fields.formName)) {\n return null;\n } else {\n const calculadoraFields = {\n 'fields[DESC_DEALER_CODE]': dealer?.dmsInfo?.dealerId?.codInstalacion,\n 'fields[DESC_DEALER_CODE_KVPS]': dealer?.kvps,\n 'fields[DESC_DEALER]': dealer?.name,\n 'fields[DESC_DEALER_ADDRESS]': getAddress(dealer),\n 'fields[NUM_PHONE_ALTERNATIVE]': dealer?.markerInfo?.dealerInfo?.phone,\n 'fields[DESC_AUXFIELD1]': dealer?.markerInfo?.dealerInfo?.mail,\n 'fields[DESC_VEH_PLATE]': fields.matricula,\n 'fields[DESC_VEH_PLATE_DATE]': fields.anoMatriculacion + ' 00:00:00',\n 'fields[DESC_ACTUAL_VEHICLE_MODEL]': fields.modelo,\n 'fields[DESC_RATING_MILEAGE]': fields.kilometros,\n 'fields[DESC_BUDGET]': appendJsonKey(fields.budget),\n 'fields[DESC_AUXFIELD11]': fields.deepLink,\n };\n\n return { ...calculadoraFields };\n }\n};\n\nconst getAddress = (dealerData: DealersData) => {\n const { address, zipCode, city, province, country } = dealerData?.markerInfo?.dealerInfo;\n return `${address} ${zipCode} ${city} ${province} ${country}`;\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getCodInterestCarline = (dealersInfo: DealersInfo, code: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!code && !selectedCarline) return '';\n if (code && !selectedCarline) {\n return code;\n }\n\n return String(selectedCarline.code);\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getDescInterestCarline = (dealersInfo: DealersInfo, modelo: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!modelo && !selectedCarline) return '';\n if (modelo && !selectedCarline) {\n return modelo;\n }\n\n return `${selectedCarline.nuevo ? 'Nuevo ' : ''}${selectedCarline.title}`;\n};\n","import { getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport { FormDataGroup } from 'src/types';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getConfiguradorData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1],\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n\nexport const getConfiguradorComercialesData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\tconsole.log(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': `${marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1]}_${salesgroup?.option.code.replace('SALESGROUP:', '')}`,\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n","import { OneFormContent } from 'src';\nimport { appendJsonKey } from 'src/forms';\nimport { getFeatures, getMarketingCode, getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport {\n DealersInfo,\n FormDataGroup,\n HighlightsReturn,\n LuggageReturn,\n MatchSelectedOptions,\n Offer,\n PassengersTypes,\n RankedPreconfiguration,\n UsageReturn,\n} from 'src/types';\n\nconst getMatchHash = () => {\n const searchParams = new URLSearchParams(window?.location?.search);\n const hash = searchParams.get('match-app');\n return hash;\n};\n\nexport const isMatchForm = (formName: string) => formName === 'lead-match' || formName === 'prospect-match';\n\nexport const getMatchData = async (formData: FormDataGroup, dealersInfo: DealersInfo, faContent: OneFormContent) => {\n const { fields } = formData;\n const { match } = dealersInfo;\n\n if (!isMatchForm(fields.formName)) {\n return null;\n } else {\n const { response: marketingCodeResponse } = await getMarketingCode(match.marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCodeResponse?.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\n const matchFields = {\n ...marketingCodeFields,\n // 'fields[COD_INTEREST_CARLINE]': match?.carlineCode,\n // 'fields[DESC_INTEREST_CARLINE]': match?.carlineTitle,\n // 'fields[DESC_FINANCIAL_PRODUCT]': match?.financiacionText?.slice(4),\n // 'fields[DESC_VEH_MARKETING_CODE]': match?.marketingCode,\n // 'fields[DESC_VEH_OFFER_PRICE]': createOfferPrice(match),\n // 'fields[COD_INTEREST_PR]': getFeatures(response?.consolidatedData?.features),\n 'fields[CREATIVITY_PERSONALIZATION_DATA]': getMatchHash(),\n 'fields[MATCH_AFFINITY]': match?.affinity,\n 'fields[MATCH_PRICE]': match?.precio,\n 'fields[MATCH_DGT_BADGE]': match?.etiquetaDGT.toUpperCase(),\n 'fields[MATCH_USER_JOURNEY]': fields?.argumentatives,\n };\n\n const matchOptions = getMatchOptions(faContent?.matchOptions);\n\n return { ...matchFields, ...matchOptions };\n }\n};\n\n\n\nconst getMatchOptions = (options: MatchSelectedOptions) => {\n if (!options) {\n return null;\n }\n\n return {\n 'fields[MATCH_BUDGET]': options.budget,\n 'fields[MATCH_COMPANION]': appendJsonKey(getPassengers(options.passengers)),\n 'fields[MATCH_TRIP]': appendJsonKey(getUsage(options.usage)),\n 'fields[MATCH_BAGGAGE]': appendJsonKey(getLuggage(options.luggage)),\n 'fields[MATCH_CAR_CHARACTERISTICS]': appendJsonKey(getHighlights(options.highlights)),\n 'fields[MATCH_ENGINE]': options.fuel,\n };\n};\n\nconst getPassengers = (passengers: PassengersTypes) => {\n if (!Array.isArray(passengers)) {\n return { adult: 0, kid: 0 };\n }\n return { adult: passengers[0], kids: passengers[1] };\n};\n\nconst getLuggage = (lugagge: number[]): string[] => {\n const lugaggeOptions: LuggageReturn[] = [\n 'unaMaleta',\n 'escapada',\n 'unaSemana',\n 'unMes',\n 'mascota',\n 'bici',\n 'surf',\n 'snow',\n ];\n const [unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow] = lugagge;\n const options = { unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow };\n\n return lugaggeOptions.filter((option) => options[option] === 1);\n};\n\nconst getUsage = (usage: number[]): string[] => {\n const usageOptions: UsageReturn[] = ['urban', 'interurban', 'long', 'allterrain'];\n const [urban, interurban, long, allterrain] = usage;\n const options = { urban, interurban, long, allterrain };\n\n return usageOptions.filter((option) => options[option] === 1);\n};\n\nconst getHighlights = (highlights: number[]): string[] => {\n const hihglightsOptions: HighlightsReturn[] = [\n 'atrevido',\n 'comodo',\n 'deportivo',\n 'sostenible',\n 'elegante',\n 'seguro',\n 'sonido',\n 'tecnologico',\n ];\n const [atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico] = highlights;\n const options = { atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico };\n\n return hihglightsOptions.filter((option) => options[option] === 1);\n};\n\nconst createOfferPrice = (match: RankedPreconfiguration) => {\n return `Precio final de la configuración: ${match.precio}Eur`;\n};\n","import { DealersInfo, FormDataGroup, Offer } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getOfertasData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.title}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nexport const getOfertasComercialesData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code+\"_\"+oferta.carline.salesgroup.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.salesgroup.name}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nconst createOfferPrice = (offer: Offer) => {\n return `Cuota: ${offer.cuota} Eur / \\r\\nPeriodicidad Cuota: ${offer.cuotaTipo} / \\r\\nNum Cuotas: ${offer.plazos\n } / \\r\\nEntrada: ${offer.cuotaEntrada} Eur / \\r\\nCuota final: ${offer.cuotaFinal} Eur ${offer.tin || offer.tae ? '/' : ''\n }\\r\\n${offer.tin ? `TIN: ${offer.tin}% ${offer.tae ? '/ \\r\\n' : '\\r\\n'}` : ''}${offer.tae ? `TAE: ${offer.tae}%\\r\\n` : ''\n }`;\n};\n\nconst getObservationBrand = (oferta: Offer) => {\n if (!oferta.promociones || oferta.promociones.length === 0) {\n return null;\n }\n\n return oferta.promociones.map((promo) => promo.name);\n};\n","export const removePTags = (htmlString: string) => {\n\tconst regex = /<\\/?p[^>]*>/g;\n\treturn htmlString.replace(regex, '');\n};\n\nexport function formatCalculatedLegal(legal: string) {\n\treturn legal\n\t\t.replace(/^\\*/, '')\n\t\t.replace(//g, '**')\n\t\t.replace(/<\\/u>/g, '**')\n\t\t.replace(/<\\/?[^>]+(>|$)/g, '');\n}\n","import {useEffect, useReducer} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {getDataUrl, getSalesgroups} from 'src/bff';\nimport {OneFormContent, useFaContent, useFeatureServices} from 'src/feature-app';\nimport {findCarlineFromSalesgroup, findCarline, isCarlineMode, isConfiguratorMode} from 'src/components';\nimport {CarlineBase, CarlinesWithSalesgroups, SalesGroupInfo, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {removeStep, resetStepsScreenIndex} from '../helpers/add-remove-steps';\nimport {getMarketingCode} from 'src/bff';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\nconst carlineInFaContent = (faContent: OneFormContent) => faContent?.carlines && faContent.carlines.length === 1;\nconst salesgroupInFaContent = (faContent: OneFormContent) =>\n\tfaContent?.salesgroups && faContent.salesgroups.length === 1;\nconst findSalesgroup = (carline: CarlinesWithSalesgroups, salesgroupId: string) =>\n\tcarline?.salesGroups?.find((salesgroup) => salesgroup.code === Number(salesgroupId));\n\ninterface LeadsInitialConfig {\n\tloading: boolean;\n\tsteps: Steps[];\n\tfirstStep: Steps;\n\tlastStep: Steps;\n}\n\nconst updateSteps = (steps: Steps[]) => {\n\treturn {\n\t\ttype: 'UPDATE_STEPS',\n\t\tpayload: steps,\n\t};\n};\n\nconst reducer = (state: LeadsInitialConfig, action: any): LeadsInitialConfig => {\n\tswitch (action.type) {\n\t\tcase 'UPDATE_STEPS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsteps: action.payload,\n\t\t\t\tfirstStep: action.payload[0],\n\t\t\t\tlastStep: getLastItemOfSteps(action.payload),\n\t\t\t\tloading: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst initialState: LeadsInitialConfig = {\n\tloading: true,\n\tsteps: [],\n\tfirstStep: null,\n\tlastStep: null,\n};\n\nexport const createSalesgroup = (code: string | number, name: string) => {\n\tif (!code && !name) {\n\t\treturn null;\n\t}\n\treturn {salesGroupId: String(code), salesGroupName: String(name)};\n};\n\nexport function useInitializeLeadForm(defaultSteps: Steps[], isEmbedded?: boolean, isInPage?: boolean) {\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\tconst {'car-configuration': carConfigurationService} = useFeatureServices();\n\tconst [state, dispatchLead] = useReducer(reducer, initialState);\n\tconst {loading, firstStep, lastStep, steps} = state;\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * Functions\n\t */\n\tconst requestCarlines = async () => {\n\t\tlet carlines = await getSalesgroups();\n\n\t\tdispatch({type: 'SET_CARLINES', payload: carlines});\n\n\t\treturn carlines;\n\t};\n\n\tconst getCarlineInfo = async (carline: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${carline}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst getModelFromUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\tlet htmlIndex: number;\n\t\tlet carlineName: string;\n\t\tlet salesGroup: string;\n\t\tconst splittedPath = path.split('/');\n\t\tsplittedPath.filter((e, index) => e.includes('.html') && (htmlIndex = index));\n\t\tcarlineName = splittedPath[htmlIndex + 1]?.replace('.app', '');\n\n\t\tconst hasSalesGroup = () => splittedPath[htmlIndex + 2]?.includes('.app');\n\t\thasSalesGroup() && (salesGroup = splittedPath[htmlIndex + 2]?.replace('.app', ''));\n\t\treturn [carlineName, salesGroup];\n\t};\n\n\tconst findAsset = (mediaAssets: any[], assetName: string) => mediaAssets.find((asset) => asset.mpsId === assetName);\n\n\tconst getAsset = (mediaAssets: any[], assetName: string): string => {\n\t\tconst asset = findAsset(mediaAssets, assetName);\n\t\tlet assetUrl = asset.asset;\n\n\t\tif (assetUrl.includes('r-media') && assetUrl.includes('.jpg')) {\n\t\t\tassetUrl = assetUrl.replace('.jpg', '.png');\n\t\t}\n\n\t\treturn assetUrl;\n\t};\n\n\t/**\n\t * Set initial Product Data based on Form Context and returns Carline and Salesgroup.\n\t */\n\tconst setInitialProductData = (carlines: CarlineBase[]): {carline: CarlineBase; salesgroup: SalesGroupInfo} => {\n\t\tlet carlineCode: string = carConfigurationService.get().carlineId;\n\t\tlet salesgroupId = carConfigurationService.get().salesGroupId;\n\n\t\tlet carline = undefined;\n\t\tlet salesgroup = undefined;\n\n\t\tif ((isEmbedded && faContent?.oferta) || (isEmbedded && faContent?.match)) {\n\t\t\t// Ofertas or Match Form Embedded\n\t\t\tlet offerOrPreconfiguration = faContent?.oferta ? faContent.oferta : faContent.match;\n\t\t\tcarline = findCarline(carlines, offerOrPreconfiguration.carline.code);\n\t\t\tsalesgroup = createSalesgroup(\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupId,\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupName,\n\t\t\t);\n\n\t\t\t//Initialize MarketingCode and store it\n\t\t\tgetMarketingCode(offerOrPreconfiguration.marketingCode)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(res);\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\tpayload: {marketingCodeResponse: res.response},\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((err) => {});\n\n\t\t\tdispatch({type: 'SET_OFERTA', payload: offerOrPreconfiguration});\n\t\t} else if (isConfiguratorMode(faContent) && carlineCode && salesgroupId) {\n\t\t\t// Showroom Context\n\t\t\tcarline = findCarline(carlines, Number(carlineCode), Number(salesgroupId));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, salesgroupId);\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t} else if (carlineInFaContent(faContent)) {\n\t\t\tcarline = findCarline(carlines, faContent.carlines[0]);\n\t\t} else if (salesgroupInFaContent(faContent) && !isCarlineMode(faContent)) {\n\t\t\t// Salesgroup in faContent\n\t\t\tcarline = findCarlineFromSalesgroup(carlines, Number(faContent.salesgroups[0]));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, String(faContent.salesgroups[0]));\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SELECTED_CARLINE',\n\t\t\tpayload: carline,\n\t\t});\n\n\t\tif (carline) {\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {modelo: carline.title},\n\t\t\t});\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: salesgroup,\n\t\t});\n\n\t\treturn {carline, salesgroup};\n\t};\n\n\tconst removeStepAndReset = (steps: Steps[], stepName: string) => {\n\t\tlet updatedSteps = [...steps];\n\t\tupdatedSteps = removeStep(steps, stepName);\n\t\tupdatedSteps = resetStepsScreenIndex(steps);\n\t\treturn updatedSteps;\n\t};\n\n\t/**\n\t * Set initial Form with Marketing Code\n\t */\n\tconst useLeadsWithMarketingCode = (marketingCode: string) => {\n\t\tgetMarketingCode(marketingCode)\n\t\t\t.then((res) => {\n\t\t\t\tconst D6MOFASideview = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6MOFASideview');\n\t\t\t\tconst D6Explore1 = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6Explore1');\n\t\t\t\tconsole.log(res);\n\t\t\t\tconst modelName = res.marketingCodeConfig.ModelName;\n\t\t\t\tconst marketingCodeData = {marketingCode, modelName, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {marketingCodeData, marketingCodeResponse: res.response},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\t/**\n\t * Set initial form with Model\n\t */\n\tconst useLeadsWithModel = async (carline: string, salesGroup?: string) => {\n\t\tawait getCarlineInfo(carline)\n\t\t\t.then((res) => {\n\t\t\t\tlet colorCode = res.carline.colores.exterior.hexadecimal;\n\t\t\t\tlet D6MOFASideview: string, D6Explore1: string, modelName: string, salesGroupData: any;\n\t\t\t\tconst carlineCode: number = res.carline.code;\n\n\t\t\t\tconst setDataNoSalesGroup = () => {\n\t\t\t\t\tD6MOFASideview = res.carline.mediaAssets.D6MOFASideview;\n\t\t\t\t\tD6Explore1 = res.carline.mediaAssets.D6MainStageExterior;\n\t\t\t\t\tmodelName = res.carline.title;\n\t\t\t\t};\n\n\t\t\t\tif (salesGroup) {\n\t\t\t\t\tconst salesGroupCoincidences = res.carline.salesgroups.filter((e) => e.name === salesGroup);\n\t\t\t\t\tsalesGroupData = salesGroupCoincidences[0];\n\t\t\t\t}\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tD6MOFASideview = salesGroupData.mediaAssets.D6MOFASideview;\n\t\t\t\t\t\tD6Explore1 = salesGroupData.mediaAssets.D6MainStageExterior;\n\t\t\t\t\t\tcolorCode = salesGroupData.colores?.exterior?.hexadecimal;\n\t\t\t\t\t\tmodelName = salesGroupData.title;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('No data for salesgroup found');\n\t\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t}\n\n\t\t\t\tconst carlineData = {modelName, colorCode, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {carlineData, carlineResponse: res, carlineCode, modelo: modelName},\n\t\t\t\t});\n\n\t\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: res.carline});\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'SET_SALESGROUP',\n\t\t\t\t\t\tpayload: {salesGroupId: salesGroupData.code, salesGroupName: salesGroupData.title},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\tconst getModelInfo = async (model: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${model}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst ofertasUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\treturn path.includes('ofertas');\n\t};\n\n\tuseEffect(() => {\n\t\t// Si el formulario es inPage la inicialización del formulario dependerá de variables en la URL, sinó de faContent\n\t\tif (isInPage) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst marketingCode = urlParams.get('marketingCode');\n\t\t\tif (marketingCode) {\n\t\t\t\tuseLeadsWithMarketingCode(marketingCode);\n\t\t\t} else {\n\t\t\t\tconst [carline, salesGroup] = getModelFromUrl();\n\t\t\t\tuseLeadsWithModel(carline, salesGroup);\n\t\t\t}\n\t\t} else {\n\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\t\t\t\tif (carline) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t}\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t});\n\t\t}\n\t}, []);\n\n\treturn {loading, steps, firstStep, lastStep};\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const partialDataCitaConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { M_OBSERVATION_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-configure',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import {\n Breakpoints,\n Layout,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\n\nexport const ConfirmacionLeadInPage = () => {\n const store = useStore();\n\n return (\n \n \n \n \n \n \n \n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { useState, useEffect } from 'react';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport car34 from './car_3-4.png';\n\nconst SectionWrapper = styled.div`\n position: relative;\n height: 100%;\n\n @media all and (min-width: 960px) {\n height: max-content;\n min-height: calc(100vh - 164px);\n width: var(--size-grid012);\n margin-top: 0;\n }\n @media all and (min-width: 1600px) {\n min-height: calc(100vh - 180px);\n }\n`;\ninterface CarlineColorCardProps {\n color: string;\n showColorCard: boolean;\n}\nconst CarlineColorCard = styled.div`\n background-color: ${(props) =>\n !props.showColorCard ? '#FFFFFF' : props.color ? props.color : '#C0C5C6'};\n height: 100%;\n z-index: -2;\n position: absolute;\n top: 0;\n width: 100vw;\n @media all and (min-width: 960px) {\n right: 0;\n width: var(--size-grid009);\n height: max-content;\n min-height: calc(100vh - 164px);\n }\n @media all and (min-width: 1600px) {\n right: 0;\n width: var(--size-grid008);\n min-height: calc(100vh - 180px);\n }\n`;\ninterface ImageWrapperProps {\n noMargins?: boolean;\n}\n\nconst ImageWrapper = styled.div`\n @media all and (min-width: 960px) {\n margin-right: var(--size-grid001);\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: 40px 0;\n }\n @media all and (min-width: 1600px) {\n padding: 52px 0;\n }\n img {\n width: var(--size-grid024);\n margin: auto;\n margin-top: ${(props) => props.noMargins ? '-120px' : '0'};\n margin-bottom: ${(props) => props.noMargins ? '-52px' : '0'};\n height: auto;\n @media all and (min-width: 560px) {\n width: var(--size-grid024);\n }\n @media all and (min-width: 960px) {\n margin: auto;\n width: var(--size-grid012);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid011);\n }\n }\n`;\n\ninterface ImageProps {\n image: string;\n color: string;\n modelName: string;\n noMargins?: boolean;\n}\nexport const ImageCar = (props: ImageProps) => {\n const { image, color, modelName, noMargins } = props;\n\n //Ocultar color pastilla en caso de la imagen que llega no sea r-media\n\n const [showColorCard, setShowColorCard] = useState(true);\n const [loadingImage, setLoadingImage] = useState(false);\n\n useEffect(() => {\n if (image) {\n setLoadingImage(false);\n\n if (image.includes('r-media')) {\n setShowColorCard(true);\n } else {\n setShowColorCard(false);\n }\n } else {\n setShowColorCard(true);\n setLoadingImage(true);\n }\n }, [image]);\n\n return (\n \n \n \n {image ? (\n <>\n {loadingImage ? (\n {modelName}\n ) : (\n {modelName}\n )}\n \n ) : null}\n \n\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { getColorInfo, ImageCar } from '.';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n padding-top: 44px;\n @media all and (min-width: 5600px) {\n padding-top: 68px;\n }\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\nexport const renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nexport const LocateUserLeadsInPage = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData, formName } = formData.fields;\n const [imageSrc, setImageSrc] = useState(null);\n const [name, setName] = useState(null);\n const [colorInfo, setColorInfo] = useState(null);\n\n useEffect(() => {\n if (!marketingCodeData) return;\n const { modelName, colorCode, mediaAssets } = marketingCodeData;\n setName(modelName);\n\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [marketingCodeData]);\n\n useEffect(() => {\n if (!carlineData) return;\n const { modelName, colorCode, mediaAssets } = carlineData;\n setName(modelName);\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [carlineData]);\n\n return (\n \n \n \n \n \n \n {name}\n \n \n \n Genial,{' '}\n {formName.includes('mas_informacion') ? (\n te mandamos toda la información\n ) : formName.includes('test_drive') ? (\n te esperamos para una prueba de conducción\n ) : formName.includes('presupuesto') ? (\n te enviamos tu presupuesto personalizado\n ) : formName.includes('cita') ? (\n te esperamos para contártelo todo\n ) : (\n te mandamos toda la información\n )}\n \n \n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadInPageController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadInPageController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsInPageWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen, MultipleCTASelection } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { LocateUserLeadsInPage, renderTitle } from 'src/forms/LeadsInPage';\nimport { JourneyLeadsInPageWrapper } from 'src/forms/LeadsInPage';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nconst getTitle = (data) => {\n if (data) {\n return;\n } else {\n return (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n );\n }\n};\n\nconst getLocatePage = (data) => {\n if (data) {\n return ;\n } else {\n return } />;\n }\n};\n\nenum MapaLeadsInPageSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsInPageProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeadsInPage(props: MapaLeadsInPageProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const mapStep = showHorario ? 2 : 1;\n\n let stepsHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsInPageSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n }\n />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsInPageSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n // handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n if (!showHorario) {\n renderLayer();\n return;\n }\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n if (multiStepScreenIndex === 1) {\n renderLayer();\n updateScreenChangeVariables(mapStep);\n return;\n }\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n /**\n * Necesario para en el caso de que se cierre el mapa se pueda mostrar la pantalla de preferencia horaria\n */\n const onCloseMap = () => {\n updateScreenChangeVariables(mapStep - 1);\n updateWaitForNextAndPreviousStep(true, false);\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[mapStep], nextStepEventEmitter },\n {\n size: InteractionLayerSizeV2.D,\n id: 'mapaLeadInPage',\n shimBackgroundType: ShimBackgroundTypeV2.OPAQUE,\n onClose: onCloseMap,\n }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === mapStep ? null : (\n \n \n \n )\n ) : null;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataMasInformacionConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-configure',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\n export const PresupuestoPartialDataConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-configure',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataTestDriveConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-configure',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import { Color } from 'src';\nimport { getColors } from 'src/bff';\n\nexport const getColorInfo = async (colorCode: string): Promise => {\n if (!colorCode) return null;\n let colorInfo: Color;\n\n const colors = await getColors();\n const aux = colorCode.split(' ');\n if (colorCode.includes('#')) {\n colorInfo = colors.colores.find((a) => a.hex === colorCode);\n }\n else {\n colorInfo = colors.colores.find((a) => a.code === aux[1]);\n }\n\n return colorInfo;\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Image,\n Layout,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFeatureServices, useFaContent } from 'src/feature-app';\n\nconst TitleTextWrapper = styled.div`\n position: relative;\n`;\nconst TextWrapper = styled.div`\n position: absolute;\n bottom: 5%;\n color: #ffffff;\n padding: 0px var(--size-grid002);\n`;\ninterface MGMTitleProps {\n title: string;\n copy: string;\n}\ninterface MGMLayoutProps {\n title: string;\n fields: JSX.Element;\n}\n\nexport function MGMLayout({ title, fields }: MGMLayoutProps) {\n const imageService = useFeatureServices()['image-service'];\n const mgmImgSrc = useFaContent()?.mgmImgSrc;\n\n // const test = imageService.getImageURL({ contentFile: '/content/dam/evhub-sample/images/16-9/16_9.jpg', scene7File: '/content/dam/evhub-sample/images/16-9/16_9.jpg', });\n // console.log(test, 'test');\n return (\n \n \n \"Volkswagen\"\n \n \n \n {title}\n \n \n \n \n <>{fields}\n \n );\n}\n\nexport const MGMTitle = ({ title, copy }: MGMTitleProps) => {\n return (\n <>\n \n \n {title}\n \n \n
\n \n {copy}\n \n \n );\n};\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMFieldsProps } from 'src/forms';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoClienteFields({ title, copy }: MGMFieldsProps) {\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\nfunction LastNavigation() {\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n \n );\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nexport function LegalMGM({ isFriendForm }: { isFriendForm?: boolean }) {\n return (\n \n \n *Promoción solo válida para los 100 primeros pedidos de clientes particulares y autónomos que se adhieran a la presente promoción. El cupón solo puede canjearse con pedidos realizados antes del 28/02/2023. Válido para la compra de vehículos en stock y vehículos a producción. El cupón tendrá un valor de: 1.000€ PVP adicionales para los acabados R-Line, Sport, GTI o R y 500€ PVP adicionales para el resto de acabados. Quedan excluidos vehículos de la promoción los modelos Polo, Tiguan Life y T-Cross Clic2go. El cupón no será acumulable a ofertas ya realizadas por parte del Concesionario ni para pedidos ya realizados, ni cancelados en el último mes. Este cupón no tiene ningún valor en metálico. Solo se aceptará un único cupón por compra y solo se podrá canjear una única vez.\n \n {isFriendForm ? (\n \n **Te recordamos que en caso de que nos proporciones datos relativos a otra persona física deberás, con carácter previo a su inclusión, informarle de los extremos contenidos en la presente cláusula.\n \n ) : null}\n \n Te informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos. En caso que nos hayas dado tu consentimiento, para las finalidades descritas en los consentimientos adicionales.\n \n \n Te informamos que tienes derecho a retirar tu consentimiento en cualquier momento, así como a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a la portabilidad, mediante petición escrita a :{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar con mayor detalle la información adicional sobre la política de privacidad{' '}\n \n aquí\n \n .\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { BonoClienteFields, ThankYouMGM } from './';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoClienteCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€.',\n copy: '¡Comprueba tus datos y envía!',\n};\n\nexport function BonoClienteForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoClienteData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Cliente Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-cliente',\n formType: 'otherform',\n pageCategory: 'Cupon',\n name: idPerson.FirstName,\n surname: idPerson.LastName,\n secondSurname: idPerson.TXT_2_Surname__c,\n email: idPerson.TXT_Email__c,\n cellphone: idPerson.NUM_Phone_mobile__c,\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Cliente',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'true',\n 'flags[FLAG_VOUCHER]': 'true',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoClienteInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n hideLegal: true,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoClienteInfo, BonoClienteData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import {\n Container,\n CTA,\n styled,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MGMFieldsProps } from 'src/forms';\nimport { Apellido, Email, Nombre, Telefono, LssiTkmQuestions } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError, tmkError, lssiError, setLssi, setTmk } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid && !lssiError && !tmkError) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n
\n );\n}\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { formatPrefix, FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { } from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { BonoRegaloFields } from './BonoRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoRegaloCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€ de descuento.',\n copy: '¡Rellena el formulario con tus datos y envía!',\n};\n\nexport function BonoRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_REGALO_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-regalo',\n formType: 'otherform',\n pageCategory: 'Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': values.secondSurname,\n 'fields[DESC_SURNAME_1]': values.surname,\n 'fields[DESC_NAME]': values.name,\n 'fields[DESC_EMAIL_ADDRESS]': values.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Regalo',\n 'fields[DESC_AUXFIELD2]': idPerson.FirstName,\n 'fields[DESC_AUXFIELD3]': idPerson.LastName,\n 'fields[DESC_AUXFIELD4]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_AUXFIELD5]': idPerson.TXT_Email__c,\n 'fields[DESC_AUXFIELD6]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n hideLegal: true,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoRegaloInfo, BonoRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager\n} from 'src/feature-app';\nimport { MGMFieldsProps } from 'src/forms';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function EnvioRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation() {\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Sí a sorprender',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Sí a sorprender\n \n
\n );\n}\n","\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {} from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { EnvioRegaloFields } from './EnvioRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst envioRegaloCopies = {\n title: 'Di Sí a sorprender a esa persona tan especial.',\n copy: '¡Rellena el formulario con sus datos!',\n};\n\nexport function EnvioRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const EnvioRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Envío Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-envio-regalo',\n formType: 'otherform',\n pageCategory: 'Regalar Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Envío Regalo',\n 'fields[DESC_AUXFIELD2]': values.name,\n 'fields[DESC_AUXFIELD3]': values.surname,\n 'fields[DESC_AUXFIELD4]': values.secondSurname,\n 'fields[DESC_AUXFIELD5]': values.email,\n 'fields[DESC_AUXFIELD6]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'false',\n 'flags[FLAG_VOUCHER]': 'false',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const EnvioRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n hideLegal: true,\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(EnvioRegaloInfo, EnvioRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Spinner, styled, Text } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { BonoClienteForm } from './';\n// import { MGMContactadoForm } from './MGMContactadoForm';\n// import { MGMNoContactadoForm } from './MGMNoContactadoForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { useFeatureServices, useTrackingManager, useFaContent} from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\n// import { checkIdLeadHasCarline } from './use-initialize-MGM-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { EnvioRegaloForm } from './EnvioRegaloForm';\nimport { BonoRegaloForm } from './BonoRegaloForm';\n\nexport interface MGMFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n}\n\nexport interface MGMFieldsProps {\n title: string;\n copy: string;\n}\n\nexport function MGMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [bonoCliente, setBonoCliente] = useState(false);\n const [envioRegalo, setEnvioRegalo] = useState(false);\n const [bonoRegalo, setBonoRegalo] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const faContent = useFaContent();\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (faContent.mgm === 'Bono Cliente') {\n setBonoCliente(true);\n } else if (faContent.mgm === 'Envío Regalo') {\n setEnvioRegalo(true);\n } else if (faContent.mgm === 'Bono Regalo') {\n setBonoRegalo(true);\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {bonoCliente ? (\n \n ) : envioRegalo ? (\n \n ) : bonoRegalo ? (\n \n ) : null}\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function ThankYouMGM({ friend }: { friend?: boolean }) {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: friend ? (\n <>\n ¡Muchas gracias! Esa persona tan especial ya está más cerca de estrenar su Volkswagen.\n \n ) : (\n <>\n ¡Muchas gracias! Ya estás más cerca de estrenar tu Volkswagen.\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n LastNavigation, \n PoliticaPrivacidad,\n GeneralConfirmacionLayerWrapper\n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionNewsletter = () => {\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionNewsletter } from './ConfirmacionNewsletter';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouNewsletter } from './';\nimport { formDataBuilder } from '../format-fields';\n\nexport enum NewsletterSteps {\n NombreApellido,\n Email,\n Confirmacion,\n}\n\nexport function NewsletterForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: (\n <>\n Queremos contártelo todo sobre la familia ID. Pero antes, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos nuestras novedades?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: NewsletterSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'newsletter', formType: 'newsletter', pageCategory: 'Suscripción Newsletter' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_ID_NEWSLETTER',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'ID', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[FORM_NAME]': 'vw-oneform-newsletter',\n 'headers[FORM_OBJECTIVE]': 'Suscripción Newsletter',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-newsletter-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Prospect',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: false,\n formType: 'layer',\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNewsletter = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoCompraForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FRM_ENCUESTA_NO_COMPRA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\nimport { NoCompraYaTengo, NoCompraNoTengo, NoCompraNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarline } from './use-initialize-no-compra-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoCompraFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoCompraController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarline(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, getVehiculosModelo } from 'src/bff';\nimport { FechaCompra, PantallaIntroduccionStars, SelectMarcaModelo, MultipleCTASelection } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { useInitializeNoCompraForm, NoCompraFormProps, ConfirmacionNoCompra, ThankYouNoCompra, getCommonFormData, RatingSteps } from '.';\n\nexport enum NoCompraYaTengoSteps {\n //FechaCompra,\n TipoCompra,\n Modelo,\n Valoracion,\n Plazos,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Confirmacion,\n}\n\nexport function NoCompraYaTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasTipoCompra = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1'\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2'\n },\n ];\n \n /*\n const getModeloInteresOutputs = (modelo: string, list: any) => {\n const aux = list.find((mod: any) => mod.name === 'modelo');\n return [aux.title];\n };\n\n const { modelo } = formData;\n\n\tuseEffect(() => {\n if (modelo) updateModelo(modelo);\n }, [modelo]);\n\n const updateModelo = (modelo: string) => {\n const outputs = getModeloInteresOutputs(modelo, list);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name === 'Modelo');\n newSteps[modeloIndex].outputsText = outputs;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };*/\n\n const [list, setList] = useState(null);\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n });\n }, []);\n\n const steps: Steps[] = [\n /*{\n title: (\n <>\n Nos encantaría saber más. ¿Desde cuándo tienes coche nuevo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.FechaCompra,\n name: 'FechaCompra',\n },*/\n {\n title: (\n <>\n ¿Podrías indicarnos si has comprado finalmente un vehículo nuevo o de ocasión?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.TipoCompra,\n name: 'TipoCompra',\n },\n {\n title: (\n <>\n Por curiosidad,{' '}\n \n ¿qué modelo{' '}\n \n es?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n Nos hubiera encantado que fuera un Volkswagen. ¿Nos ayudas a mejorar?\n \n ),\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('ya_tengo', NoCompraYaTengoSteps.Valoracion),\n \n {\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: { \n formName: 'no_compra-ya_tengo', \n formType: 'otherform', \n pageCategory: 'Encuesta' \n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData; \n\n const submitData = !isPresubmit ? {\n //'fields[SURVEY_ANSWER_02]': fields.fecha,\n 'fields[SURVEY_ANSWER_02]': fields.tipoCompra,\n 'fields[SURVEY_ANSWER_03]': fields.marca,\n 'fields[SURVEY_ANSWER_04]': fields.modelo,\n 'fields[SURVEY_ANSWER_05]': fields.plazos,\n 'fields[SURVEY_ANSWER_06]': fields.visita,\n 'fields[SURVEY_ANSWER_08]': fields.precio,\n 'fields[SURVEY_ANSWER_09]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_10]': fields.consumo,\n 'fields[SURVEY_ANSWER_11]': fields.garantia,\n 'fields[SURVEY_ANSWER_12]': fields.financiacion,\n 'flags[FLAG_SF_INTEGRATION]' : false,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, MultipleCTASelection, PoliticaPrivacidad } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdLead, OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\ninterface ConfirmacionNoCompraProps {\n idLead: IdLead;\n}\n\nexport const ConfirmacionNoCompra = (props: ConfirmacionNoCompraProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n\n const noTengo = formData.fields.formName == 'no_compra-no_tengo';\n const quieroContacto: boolean = store.getState().formData.fields.quieroContacto == 'true';\n const lssiPermite: boolean = props.idLead?.LSSI__c == 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermite) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idLead]);\n\n return (\n \n \n { lssiPermite && (!quieroContacto || !noTengo) ? \n (\n
\n \n ¿Listo para enviar?\n \n
\n ) \n :\n (\n \n Y unas últimas preguntas\n \n )\n }\n { noTengo && quieroContacto ?\n (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es obligatorio : null}\n
\n )\n :\n null\n }\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst ctasNoCompra = [\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/stock/',\n label: 'Ofertas y stock'\n },\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/es/financiacion-seguros.html',\n label: 'Tipos de financiación'\n },\n];\n\nexport const ThankYouNoCompra = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: (\n \n ),\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoCompraController = () => {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { MapSearch: point.properties.installation.VGED_CommercialName__c } });\n\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleAvailabilityErrorLayer = () => {\n layerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, { size: FocusLayerSizeV2.A });\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoCompraController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoCompraWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, CTA, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyNoCompraWrapper } from './JourneyNoCompraWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoCompraSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaNoCompraProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaNoCompra(props: MapaNoCompraProps) {\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n nextStep,\n handleNextStep\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoCompraSteps.Dealer,\n name: 'MapSearch',\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoCompra', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, MultipleCTASelection, PantallaIntroduccionStars } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, RatingSteps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoTengoSteps {\n ContactoConcesionario,\n QuieroVolkswagen,\n QuieroContacto,\n Modelo,\n Valoracion,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Mapa,\n Confirmacion,\n}\n\nexport function NoCompraNoTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { contactoConcesionario, quieroVolkswagen, quieroContacto } = formData.fields;\n const dispatch = useDispatch();\n const store = useStore();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasContactoConcesionario = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No he tenido contacto con el punto de venta',\n value: 'false'\n },\n ];\n\n const ctasQuieroContacto = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No, ya no tengo interés',\n value: 'false'\n },\n ];\n\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Sabiendo que sigues buscando un vehículo que se ajuste a tus necesidades, nos gustaría confirmar contigo algunos datos. ¿Has estado en contacto con el punto de venta Volkswagen recientemente?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.ContactoConcesionario,\n name: 'contactoConcesionario',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Aún te interesa conducir un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroVolkswagen,\n name: 'QuieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n ¿Quieres que un punto de venta contacte contigo para resolver tus{' '}\n \n dudas?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroContacto,\n name: 'QuieroContacto',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n\t\t{\n title: (\n <>\n Nos gustan los detalles. ¿Nos ayudas a mejorar?\n
\n Cuéntanos, por favor.\n
\n \n ),\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('no_tengo', NoCompraNoTengoSteps.Valoracion),\n\n {\n screenIndex: NoCompraNoTengoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\tuseEffect(() => {\n\t\tif (contactoConcesionario) {\n\t\t\tupdateSteps('QuieroVolkswagen', contactoConcesionario == 'true');\n\t\t\tupdateSteps('QuieroContacto', contactoConcesionario == 'false');\n\t\t}\n\t}, [contactoConcesionario]);\n\n\tuseEffect(() => {\n\t\tif (quieroVolkswagen) {\n\t\t\tupdateSteps('Modelo', quieroVolkswagen == 'true');\n\t\t}\n\t}, [quieroVolkswagen]);\n\n\tuseEffect(() => {\n\t\tif (quieroContacto) {\n\t\t\tconst steps = ['Modelo', 'Valoracion', 'Gestion', 'Precio', 'Equipamiento', 'Consumo', 'Garantia', 'Financiacion', 'Mapa'];\n\n\t\t\tsteps.reverse().forEach(function(step) {\n\t\t\t\tupdateSteps(step, quieroContacto == 'true');\n\t\t\t});\n\t\t}\n\t}, [quieroContacto]);\n\n\n\tconst updateSteps = (stepName: string, conditional: boolean) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n formName: 'no_compra-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.quieroContacto == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_13]': fields.contactoConcesionario,\n 'fields[SURVEY_ANSWER_15]': fields.quieroVolkswagen == 'true' ? getDescInterestCarline(dealersInfo, fields.modelo) : null,\n 'fields[SURVEY_ANSWER_28]': fields.gestion,\n 'fields[SURVEY_ANSWER_30]': fields.precio,\n 'fields[SURVEY_ANSWER_31]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_32]': fields.consumo,\n 'fields[SURVEY_ANSWER_33]': fields.garantia,\n 'fields[SURVEY_ANSWER_34]': fields.financiacion,\n 'fields[SURVEY_ANSWER_35]': fields.quieroContacto,\n 'flags[FLAG_SF_INTEGRATION]' : fields.quieroContacto == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n\n}\n","import React from 'react';\nimport { \n Text, \n styled, \n Container, \n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo } from 'src/components';\n\n\nconst Wrapper = styled.div`\n margin-top: 44px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n`;\nconst MarginTop = styled.div`\n margin-top: 44px;\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\nexport const PantallaOtrosModelos = () => {\n\n return (\n \n \n
\n Dudo entre este modelo*:\n
\n \n
\n \n \n Y este otro:\n \n \n \n
\n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, DetalleMotivo, MultipleCTASelection, PantallaNombreApellido } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoQuieroSteps {\n Decision,\n Motivo,\n MotivoDetalle,\n Modelo,\n Mapa,\n DatosPersonales,\n Confirmacion,\n}\n\nexport function NoCompraNoQuiero({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const { decision, motivo } = formData.fields;\n\n const CTAsDecision = [\n {\n label: 'He decidido aplazar la compra',\n value: 'true',\n },\n {\n label: 'Finalmente he decidido no comprar ningún coche',\n value: 'false',\n },\n ];\n\n const CTAsMotivoNoQuiero = [\n {\n label: 'Coche compartido (car sharing o moto sharing)',\n value: '1',\n },\n {\n label: 'Transporte público',\n value: '2',\n },\n {\n label: 'Patinete - Moto - Bicicleta',\n value: '3',\n },\n {\n label: 'Más adelante, en coche',\n value: '4',\n },\n {\n label: 'Otros',\n value: '6',\n },\n ];\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Entendemos que ya no estás interesado en la compra de un Volkswagen.{' '}\n \n ¿Podríamos conocer más detalles respecto a tu{' '}\n \n decisión?\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Decision,\n name: 'Decision',\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Cómo vas a moverte de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Motivo,\n name: 'Motivo',\n },\n {\n title: (\n <>\n ¿Nos lo podrías concretar un poco más?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.MotivoDetalle,\n name: 'MotivoDetalle',\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n screenIndex: NoCompraNoQuieroSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.DatosPersonales,\n name: 'DatosPersonales',\n },\n {\n fields: ,\n screenIndex: NoCompraNoQuieroSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (decision) {\n // Si en la updateSteps realiza la accion de añadir step, es necesario añadirlos por el orden inverso de aparición\n updateSteps('DatosPersonales', decision == 'true' );\n updateSteps('Mapa', decision == 'true' );\n updateSteps('Modelo', decision == 'true' );\n updateSteps('MotivoDetalle', decision == 'false' );\n updateSteps('Motivo', decision == 'false' );\n };\n }, [decision]);\n\n useEffect(() => {\n if (motivo) {\n updateSteps('MotivoDetalle', motivo == '6' );\n };\n }, [motivo]);\n\n\n const updateSteps = (stepName: string, conditional: boolean) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n if (conditional) {\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n name: idLead?.FirstName ? idLead.FirstName : (idPerson?.FirstName ? idPerson.FirstName : ''),\n surname: idLead?.LastName ? idLead.LastName : (idPerson?.LastName ? idPerson.LastName : ''),\n secondSurname: idLead?.MiddleName ? idLead.MiddleName : (idPerson?.MiddleName ? idPerson.MiddleName : ''),\n formName: 'no_compra-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.decision == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.decision == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_47]': fields.motivo,\n 'fields[SURVEY_ANSWER_49]': fields.motivoDetalle,\n 'flags[FLAG_SF_INTEGRATION]' : fields.decision == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (isPresubmit, idLead, dpsData, fields, data) => {\n\n\tconst formName = fields.formName ? fields.formName : data.fields.formName;\n\n\treturn {\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FRM_ENCUESTA_NO_COMPRA_PREGRABACION' : 'VW_DDB_FRM_ENCUESTA_NO_COMPRA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${formName}`,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoCompra Pregrabación' : 'NoCompra Grabación',\n 'headers[FORM_OBJECTIVE]': fields.quieroContacto == 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_VERSION]': `vw-oneform-${formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n //'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n\t\t'fields[SURVEY_ANSWER_01]': formName == 'no_compra-no_quiero' ? '3' : formName == 'no_compra-no_tengo' ? '2' : '1',\n\n\t\t//'fields[DESC_LOPD]': isPresubmit ? '' : 'PERMITE',\n\t\t//'fields[DESC_TRANF_DATA_THIRD]': isPresubmit ? '' : 'NO INFORMADO',\n\n\t\t// Para no_tengo y ya_tengo: todo false\n\t\t//'flags[FLAG_ISLEAD]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t\t//'flags[FLAG_ISPROSPECT]': fields.quieroVolkswagen == 'true' && fields.quieroContacto == 'false' ? 'true' : 'false',\n\t\t//'flags[FLAG_GENERATELEM]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t}\n};\n","import React from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { Steps } from 'src/types';\nimport { RatingStars } from 'src/components';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\n\nconst resetStepsScreenIndex = (steps: Steps[], offset: number) => {\n return steps.map((step, index) => {\n step.screenIndex = index + offset;\n return step;\n });\n};\n\nexport function RatingSteps(formName: string, startIndex: number) {\n\t\n\tconst steps: Steps[] = [\n\n\t\t{\n\t\t\ttitle: El precio del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Precio',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Características del vehículo, equipamiento y asistentes adicionales,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Equipamiento',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: El consumo del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Consumo',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: La garantía del modelo,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Garantia',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Las condiciones de financiación,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Financiacion',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t];\n\n\tif (formName == 'ya_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Los plazos de entrega,\n\t\t\t\talternateTitle: Los plazos de entrega,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Plazos',\n\t\t\t\toutputsIsStars: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: Tu visita al punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Visita',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse if(formName == 'no_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Gestión del punto de venta,\n\t\t\t\talternateTitle: Gestión del punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Gestion',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse {\n\t\treturn resetStepsScreenIndex(steps, startIndex + 1);\n\t}\n}\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarlineNoRenovacion = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoRenovacionForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FORM_NORENUEVA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson, IdVehicle } from 'src/types';\nimport { NoRenovacionYaTengo, NoRenovacionNoTengo, NoRenovacionNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarlineNoRenovacion } from './use-initialize-no-renovacion-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoRenovacionFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n idVehicle: IdVehicle;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoRenovacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const idVehicleRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n const idVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n idVehicleRef.current = idVehicle;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarlineNoRenovacion(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","\n\nimport { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\nconst urlParams = new URLSearchParams(window.location.search);\n\nexport const getCommonFormData = (isPresubmit, idPerson, idVehicle, dpsData, fields, data, surveyAnswer01) =>{\n\n const submitData = !isPresubmit ? {\n 'headers[FORM_SOURCE_INFO]': 'Encuesta Renovación',\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n } : null;\n\n return {\n ...submitData,\n\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FORM_NORENUEVA_PREGRABACION': 'VW_DDB_FORM_NORENUEVA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoRenovación Pregrabación' : 'NoRenovación Grabación',\n 'headers[FORM_MKT_CHANNEL]': 'CRM',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': fields.formName ==='no_renovacion-no_tengo' && fields.quieroContacto === 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_WEB_SECTION]': 'Genérica',\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n 'headers[FK_SYSTEM]': urlParams.get('assetid') || urlParams.get('assetId'),\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_NAME]': idPerson.FirstName,\n 'fields[PERSON_SURNAME_1]': idPerson.LastName,\n 'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n 'fields[PERSON_PHONE_MOBILE]': idPerson.MobilePhone,\n 'fields[SURVEY_ANSWER_01]': surveyAnswer01,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_ALLOWS_DATA_ENRICHMENT]': false,\n 'flags[FLAG_IS_MYSTERY_LEAD]': false,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[FLAG_SF_INTEGRATION]': fields.quieroVolkswagen === 'true' && fields.quieroContacto === 'true' ? 'true' : 'false',\n }\n};\n","export const valueMotivoProblemas = '14';\nexport const valueMotivoOtros = '13';\n\nexport const CTAsMotivoRenovador = [\n\t{\n\t\tlabel: 'Los plazos de entrega',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'El precio y las opciones de financiación',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'El diseño del coche',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'El equipamiento del coche',\n\t\tvalue: '4',\n\t},\n\t{\n\t\tlabel: 'Relación calidad/precio',\n\t\tvalue: '5',\n\t},\n\t{\n\t\tlabel: 'La poca variedad de modelos y tecnologías disponibles',\n\t\tvalue: '6',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia con el concesionario de venta',\n\t\tvalue: '7',\n\t},\n\t{\n\t\tlabel: 'Por problemas con mi vehículo anterior',\n\t\tvalue: valueMotivoProblemas\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: valueMotivoOtros\n\t},\n];\n\nexport const CTAsMotivoRenovadorProblemas = [\n\t{\n\t\tlabel: 'El consumo de combustible del vehículo anterior',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tlabel: 'Los costes de mantenimiento del vehículo anterior',\n\t\tvalue: '9',\n\t},\n\t{\n\t\tlabel: 'Las averías sufridas con el vehículo anterior',\n\t\tvalue: '10',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia previa con el servicio de posventa',\n\t\tvalue: '11',\n\t},\n\t{\n\t\tlabel: 'Otras experiencias con la marca',\n\t\tvalue: '12',\n\t},\n];\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, } from 'src/types';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { MultipleCTASelection, MultipleOptionCTAs, DetalleMotivo, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionYaTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { formData } = useSelector((state: OneFormState) => state);\n const { selectMotivos, brand } = formData.fields;\n\n const vwBrandCode = '36';\n\n const CTAsUsadoNuevo = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1',\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2',\n },\n ];\n \n const CTAsLugarCompra = [\n {\n label: 'Punto de venta oficial',\n value: '1',\n },\n {\n label: 'Punto de venta no oficial',\n value: '2',\n },\n {\n label: 'Empresa de Renting/Leasing',\n value: '3',\n },\n {\n label: 'Compra-venta privada',\n value: '4',\n },\n ];\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encanta viajar contigo, pero sabemos que la vida da muchas vueltas y tenemos curiosidad…{' '}\n ¿Qué modelo te ha conquistado?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Qué modelo{' '}\n \n elegiste?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n \n ¿Qué tipo de vehículo has{' '}\n \n escogido?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'usadoNuevo',\n ctas: CTAsUsadoNuevo,\n },\n {\n title: (\n \n ¿Dónde has adquirido tu nuevo{' '}\n \n vehículo?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'lugarCompra',\n ctas: CTAsLugarCompra,\n },\n {\n title: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: CTAsMotivoRenovador,\n },\n {\n title: (\n <>\n \n ¿Nos puedes decir cuáles{' '}\n \n son?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleMotivoRenovar',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con {' '}\n \n tu vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectProblemas',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (brand) {\n updateSteps('lugarCompra', brand == vwBrandCode, 'usadoNuevo');\n updateSteps('selectMotivos', brand != vwBrandCode, 'usadoNuevo');\n updateSteps('selectProblemas', brand != vwBrandCode, 'selectMotivos');\n updateSteps('detalleMotivoRenovar', brand != vwBrandCode, 'selectProblemas');\n }\n }, [brand]);\n\n useEffect(() => {\n if (selectMotivos) handleMotivosRenovar();\n }, [selectMotivos]);\n\n const handleMotivosRenovar = () => {\n if (!(selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros))) {\n if (selectMotivos.includes(valueMotivoProblemas)) {\n updateSteps('detalleMotivoRenovar', false);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n updateSteps('selectProblemas', false);\n }\n else {\n updateSteps('detalleMotivoRenovar', false);\n updateSteps('selectProblemas', false);\n }\n }\n };\n\n const updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n \n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: { formName: 'no_renovacion-ya_tengo', formType: 'otherform', pageCategory: 'Encuesta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectProblemas){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectProblemas);\n }\n else {\n motivos = deleteProblema(motivos);\n }\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_02]': fields.brand,\n 'fields[SURVEY_ANSWER_03]': fields.modelo,\n 'fields[SURVEY_ANSWER_04]': fields.usadoNuevo,\n 'fields[SURVEY_ANSWER_05]': orderString(motivos),\n 'fields[SURVEY_ANSWER_06]': fields.lugarCompra,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '1'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n }\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport {\n LssiTkmQuestions,\n PoliticaPrivacidad,\n LastNavigation,\n MultipleCTASelection\n} from 'src/components';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n `;\ninterface ConfirmacionNoRenovacionProps {\n idPerson: IdPerson;\n}\n\nexport const ConfirmacionNoRenovacion = (props: ConfirmacionNoRenovacionProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n const isLead: boolean = store.getState().formData.fields.quieroContacto === 'true';\n const lssiPermited: boolean = props.idPerson?.LSSI__c === 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermited) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idPerson]);\n\n const generateLastQuestionTitle = () => {\n return lssiPermited ?\n (\n < Text bold >Mantente al día\n\n ) : (\n < Text bold >Mantente al día\n );\n };\n\n return (\n \n \n {lssiPermited && !isLead ||\n formData.fields.formName !== 'no_renovacion-no_tengo' && lssiPermited ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n < Text appearance={TokenTextAppearance.headline300}>\n {generateLastQuestionTitle()}\n \n )}\n\n {formData.fields.formName === 'no_renovacion-no_tengo' && isLead && (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es oblligatorio : null}\n
\n )}\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNoRenovacion = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoRenovacionController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoRenovacionController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoRenovacionController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoRenovacionWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, styled, CTA } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen, TwoElementsTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { JourneyNoRenovacionWrapper } from './JourneyNoRenovacionWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoRenovacionSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport const MapaNoRenovacion = () => {\n\n const dispatch = useDispatch();\n const store = useStore();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const { nextStep } = useOneFormContext();\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoRenovacionSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n Elige{' '}\n el concesionario que{' '}\n \n prefieras*\n \n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoRenovacion);\n setPreviousMultiStep(() => previousMapaNoRenovacion);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoRenovacion = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoRenovacion = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoRenovacion', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n};\n","import React, { useEffect, useState } from 'react';\nimport { FormController, getParamsForm, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { Text, Container, ContainerPadding, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, MultipleCTASelection, DetalleMotivo, MultipleOptionCTAs, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, MapaNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getDescInterestCarline } from '../Leads/helpers';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionNoTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { quieroVolkswagen, selectMotivos } = formData.fields;\n const { screenIndex } = formInfo;\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const store = useStore();\n\n const CTAsNuevoOcasion = [\n {\n label: 'Uno nuevo',\n value: 'nuevo',\n },\n {\n label: 'Uno de ocasión',\n value: 'ocasión',\n },\n ];\n\n const CTAsMotivoRenovadorNoTengoExclusivo = [\n {\n label: 'Nada',\n value: 'nada',\n },\n ];\n\n\n const getModeloInteresTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Qué modelo te llama más la{' '}\n \n atención?\n *\n \n \n );\n } else {\n return (\n <>\n ¿Qué otra marca y modelo estás valorando principalmente?\n \n );\n }\n };\n \n const getModeloInteresFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n \n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n \n const getModeloInteresOutputs = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n const getModeloInteresOutputsText = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n \n const getDudasTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n \n Elige un máximo de 3 opciones\n \n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivos \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n );\n }\n };\n \n const getDudasAlternatTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivo \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n );\n }\n };\n \n \n \n const getDudasFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encantaría seguir siendo tu compañero de viaje. \n Cuéntanos qué te hace dudar para poder ayudarte.\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'quieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: <>, // Se actualiza en updateModeloInteresStep\n fields: <>, // Se actualiza en updateModeloInteresStep\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué tipo de coche \n te{' '}\n \n interesa?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'tipoCoche',\n ctas: CTAsNuevoOcasion,\n },\n {\n title: (\n <>\n ¿Estás valorando algún{' '}\n \n modelo de otra{' '}\n \n marca?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'otraMarca',\n showOverflow: true,\n },\n {\n title: getDudasTitle(quieroVolkswagen),\n alternateTitle: getDudasAlternatTitle(quieroVolkswagen),\n fields: getDudasFields(quieroVolkswagen),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: [...CTAsMotivoRenovador, ...CTAsMotivoRenovadorNoTengoExclusivo],\n },\n {\n title: (\n <>\n ¿Qué otros motivos te hacen dudar?\n \n ),\n fields: (\n } />\n ),\n screenIndex: index++,\n name: 'motivoDudas',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con tu {' '}\n \n vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivosProblems',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n screenIndex: index++,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const updateModeloInteresStep = (quieroVolkswagen: string) => {\n const { steps: actualSteps } = store.getState().formInfo;\n const title = getModeloInteresTitle(quieroVolkswagen);\n const fields = getModeloInteresFields(quieroVolkswagen);\n const outputs = getModeloInteresOutputs(quieroVolkswagen);\n const outputsText = getModeloInteresOutputsText(quieroVolkswagen);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name == 'Modelo');\n\n newSteps[modeloIndex].title = title;\n newSteps[modeloIndex].fields = fields;\n newSteps[modeloIndex].outputs = outputs;\n newSteps[modeloIndex].outputsText = outputsText;\n\n if (quieroVolkswagen == 'false') {\n newSteps = removeStep(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n } else {\n const mapaIndex = getIndexInSteps(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n\n if (mapaIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'Mapa', screenIndex);\n }\n }\n\n updateSteps(newSteps);\n };\n\n const handleStepsNoVolkswagen = (quieroVolkswagen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...steps];\n\n if (quieroVolkswagen == 'true') {\n newSteps = [...steps];\n } else {\n newSteps = removeStep(newSteps, 'tipoCoche');\n newSteps = removeStep(newSteps, 'otraMarca');\n newSteps = removeStep(newSteps, 'Mapa');\n }\n\n updateSteps(newSteps);\n };\n\n const addOrRemoveStep = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n updateSteps(newSteps);\n \n };\n\n const updateSteps = (steps: Steps[]) => {\n const newSteps = resetStepsScreenIndex(steps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newSteps[newSteps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newSteps.length });\n };\n\n\n\n useEffect(() => {\n if (quieroVolkswagen) {\n updateModeloInteresStep(quieroVolkswagen);\n handleStepsNoVolkswagen(quieroVolkswagen);\n }\n }, [quieroVolkswagen]);\n\n useEffect(() => {\n if (selectMotivos) {\n if (selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', true);\n addOrRemoveStep('motivoDudas', true, 'selectMotivosProblems');\n }\n else if (selectMotivos.includes(valueMotivoProblemas)) {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', true);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', false);\n addOrRemoveStep('motivoDudas', true);\n }\n else {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', false);\n }\n }\n }, [selectMotivos]);\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectMotivosProblems){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectMotivosProblems);\n }else{\n motivos = deleteProblema(motivos);\n }\n\n motivos = orderString(motivos);\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': selectedInstallation.ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n } : null;\n\n const submitData = !isPresubmit ? {\n ...installationData,\n 'fields[COMMENTS_BRAND]': fields.motivoDudas\n ? 'Motivos de duda indicados por el cliente en la encuesta: ' + fields.motivoDudas\n : motivos,\n 'fields[SURVEY_ANSWER_11]': fields.quieroVolkswagen,\n 'fields[SURVEY_ANSWER_13]': fields.tipoCoche == 'nuevo' ? '1' : '2',\n 'fields[SURVEY_ANSWER_14]': fields.otraMarca == 'false' ? null : fields.otraMarca,\n 'fields[SURVEY_ANSWER_16]': fields.quieroVolkswagen == 'true' ? motivos : null,\n 'fields[SURVEY_ANSWER_19]': fields.brand,\n 'fields[SURVEY_ANSWER_20]': fields.model,\n 'fields[SURVEY_ANSWER_21]': fields.quieroVolkswagen == 'true' ? null : motivos, \n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo), \n 'fields[VEH_INTEREST_NEW_OR_USED]': fields.tipoCoche == 'nuevo' ? 'New Car' : 'Used Car',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '3'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n \n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { DetalleMotivo, MultipleOptionCTAs, LegalFullScreenSinConsentmientos } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport {\n addRemovedStep,\n getIndexInSteps,\n removeStep,\n resetStepsScreenIndex,\n removeMultipleSteps,\n} from '../helpers/add-remove-steps';\n\nexport function NoRenovacionNoQuiero({\n dpsData,\n idLead,\n idVehicle,\n idPerson,\n trackFormLoad,\n handleError,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [presubmitSent, setPresubmitSent] = useState(false);\n const { razones, formasMovilidad } = formData.fields;\n\n const CTAsFormasMovilidad = [\n {\n label: 'Coche compartido (car sharing)',\n value: '1',\n },\n {\n label: 'Moto compartida (moto sharing)',\n value: '2',\n },\n {\n label: 'Transporte público',\n value: '3',\n },\n {\n label: 'Patinete',\n value: '4',\n },\n {\n label: 'Moto',\n value: '5',\n },\n {\n label: 'Bicicleta',\n value: '6',\n },\n {\n label: 'Otros',\n value: '8', // Si este valor cambia se tiene que revisar handleDetalleFormasMovilidad()\n },\n ];\n\n const CTAsFormasMovilidadExclusive = [\n {\n label:\n 'No tengo necesidad de utilizar ningún medio de transporte para desplazarme',\n value: '7',\n },\n ];\n\n const CTAsRazones = [\n {\n label: 'Económicas',\n value: '1',\n },\n {\n label: 'Medioambientales',\n value: '2',\n },\n {\n label: 'Ahorro de tiempo',\n value: '3',\n },\n {\n label: 'Otras razones',\n value: '4', // Si este valor cambia se tiene que revisar handleDetalleRazones()\n },\n ];\n\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos hubiese encantado seguir siendo tu compañero de viaje. \n ¿Nos cuentas el porqué de este cambio por si te podemos ayudar en un futuro?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'formasMovilidad',\n outputs: ['formasMovilidad'],\n outputsText: ['formasMovilidad'],\n ctas: [...CTAsFormasMovilidad, ...CTAsFormasMovilidadExclusive],\n },\n {\n title: (\n <>\n ¿Nos explicas en{' '}\n \n qué otro medio te vas a{' '}\n \n desplazar?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleFormasMovilidad',\n outputs: ['detalleFormasMovilidad'],\n outputsText: ['detalleFormasMovilidad'],\n },\n {\n title: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'razones',\n outputs: ['razones'],\n outputsText: ['razones'],\n ctas: CTAsRazones,\n },\n {\n title: (\n <>\n \n ¿Puedes{' '}\n \n compartirlas?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleRazones',\n outputs: ['detalleRazones'],\n outputsText: ['detalleRazones'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n useEffect(() => {\n if (formasMovilidad) handleDetalleFormasMovilidad();\n }, [formasMovilidad]);\n\n const handleDetalleFormasMovilidad = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (formasMovilidad.includes('8')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleFormasMovilidad');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleFormasMovilidad', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleFormasMovilidad');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n useEffect(() => {\n if (razones) handleDetalleRazones();\n }, [razones]);\n\n const handleDetalleRazones = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (razones.includes('4')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleRazones');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleRazones', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleRazones');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_07]': orderString(fields.formasMovilidad),\n 'fields[SURVEY_ANSWER_08]': fields.detalleFormasMovilidad,\n 'fields[SURVEY_ANSWER_09]': orderString(fields.razones),\n 'fields[SURVEY_ANSWER_10]': fields.detalleRazones,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '2'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(\",\");\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(\",\");\n \n return orderString;\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n customLegal: idPerson.LSSI__c === 'PERMITE' ? : null,\n hideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React from 'react';\nimport {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo, SuggestMarca } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media all and (min-width: 960px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n }\n`;\n\nexport const PantallaMarcaModelo = () => {\n return (\n \n
\n
\n
\n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nexport const FakeTriggerCTA = () => {\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n
\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n
\n );\n};\n","import { Breakpoints, styled, Layout } from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad, LastNavigation, GeneralConfirmacionLayerWrapper } from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionProspects = () => {\n\n return (\n \n \n \n \n\n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { Email, PantallaNombreApellido, CarlineSelect, findCarline } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines, getMolecularUrl } from 'src/bff';\nimport { isCalculadoraForm } from 'src/forms';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFaContent,\n useFeatureAppConfig,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { ThankYouProspects } from '.';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getCodInterestCarline, getDescInterestCarline, getMatchData, getCalculadoraData } from '../Leads';\n\nexport enum ProspectsSteps {\n Modelo,\n NombreApellido,\n Email,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsVentaForm({ customSteps, updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = customSteps\n ? customSteps\n : [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Queremos contártelo todo sobre nuestro próximo modelo, el Nuevo Taigo. Pero antes, nos gustaría saber{' '}\n quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos las novedades sobre el Nuevo Taigo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: 'B5. VW Launch Prospects',\n DESC_FORMOBJECTIVE: 'Prospect',\n DESC_ID_CAMPAIGN: '7011n000000JrSNAA0',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_LAUNCH',\n ...updatedFormData?.headers,\n },\n fields: {\n formName: 'prospect',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n formType: 'layer',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const getFormDataWithCarline = async () => {\n const carlineCode = faContent?.carlines[0];\n const carlines = await getCarlines();\n const carlineFromFaContent = carlines.find((carline) => carline.code === Number(carlineCode));\n\n return {\n ...NuevoFormData,\n fields: {\n ...NuevoFormData.fields,\n formFields: {\n ...NuevoFormData.fields.formFields,\n COD_INTEREST_CARLINE: carlineFromFaContent?.code,\n DESC_INTEREST_CARLINE: carlineFromFaContent?.title,\n },\n },\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...(await getMatchData(formData, dealersInfo, faContent)),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const getFormDataAndInfo = async () => {\n let formData = { ...NuevoFormData };\n let formInfo = getFormInfo(steps);\n\n if (faContent?.match) {\n let match = faContent.match;\n const carlines = await getCarlines();\n const carline = findCarline(carlines, match.carline.code);\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n dispatch({ type: 'SET_OFERTA', payload: match });\n\n return { formData, formInfo };\n } else if (faContent?.carlines && faContent?.carlines?.length > 0) {\n formData = await getFormDataWithCarline();\n const newSteps = removeStep(steps, 'Modelo');\n const finalSteps = resetStepsScreenIndex(newSteps);\n formInfo = getFormInfo(finalSteps);\n } else {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n }\n\n return { formData, formInfo };\n };\n\n useEffect(() => {\n getFormDataAndInfo().then((response) => {\n const { formData, formInfo } = response;\n initializeForm(formInfo, formData);\n });\n }, []);\n\n return ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { CarlineSelect, Email, findCarline, PantallaNombreApellido } from 'src/components';\nimport { useFaContent } from 'src/feature-app';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { createSalesgroup } from '../Leads';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { ProspectsVentaForm } from './ProspectsVentaForm';\n\nenum ProspectsSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\nexport function MatchProspectForm() {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n const steps = [\n {\n title: (\n <>\n ¿A qué email{' '}quieres que te enviemos esta configuración?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Para hacerlo, nos gustaría saber{' '}quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n \n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n return (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getMolecularUrl } from 'src/bff';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { FormController, removeWhiteSpace, useFaContent, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { isCalculadoraForm } from 'src/forms';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { getCalculadoraData, getCodInterestCarline, getDescInterestCarline, getMatchData } from '../Leads';\nimport { ThankYouProspects } from './';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\n\nexport enum ProspectsPosventaSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsPosventaForm({ updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿A qué email te enviamos este presupuesto de mantenimiento?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Genial. Aunque antes de mandártelo, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n fields: ,\n screenIndex: ProspectsPosventaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_POSVENTA',\n DESC_CAMPAIGNBLOCK: '13. VW Posventa Inbound',\n DESC_FORMOBJECTIVE: 'Presupuesto Posventa',\n DESC_ID_CAMPAIGN: '7011n000000JwcWAAS',\n ...updatedFormData.headers,\n },\n fields: {\n formName: 'prospect-posventa',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getCalculadoraData(formData),\n };\n\n if (isCalculadoraForm(fields.formName)) {\n delete data['fields[COD_INTEREST_CARLINE]'];\n delete data['fields[DESC_INTEREST_CARLINE]'];\n delete data['headers[DESC_VN_VO]'];\n }\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const formInfo = getFormInfo(steps);\n\n initializeForm(formInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\nconst copiesThankYou = [\n {\n name: 'prospect',\n titleCopyRegular: '',\n titleCopyBold: '¡Listo!',\n bodyCopy: [\n 'Muy pronto, recibirás toda la información sobre el Nuevo Taigo.',\n ],\n },\n {\n name: 'prospect-match',\n titleCopyRegular: 'Ya te hemos enviado ',\n titleCopyBold: 'los detalles de tu configuración',\n bodyCopy: [\n 'Muy pronto recibirás un email con las características del Volkswagen que más encaja contigo. ',\n ],\n },\n {\n name: 'prospect-posventa-calculadora',\n titleCopyRegular: 'Ya tienes ',\n titleCopyBold: 'tu presupuesto de mantenimiento',\n bodyCopy: [\n 'Te hemos enviado un email con todos los detalles sobre tu mantenimiento para que puedas consultarlo cuando quieras.',\n ],\n }\n];\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {props.copyBook}\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouProspects(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n const { formName } = formData;\n\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [titleBold, setTitleBold] = useState('');\n const [titleRegular, setTitleRegular] = useState('');\n const [copybook, setCoopybook] = useState('');\n\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n const aux = copiesThankYou.filter((a: any) => {\n return a.name === formName;\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouProspects);\n\nexport { ConnectedComponent as ThankYouProspects };\n","import { CTA, styled, ThemeProvider, Spinner } from '@volkswagen-onehub/components-core';\nimport { ArrowRight } from '@volkswagen-onehub/icons-core/dist/ArrowRight';\nimport { Checkmark } from '@volkswagen-onehub/icons-core/dist/Checkmark';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TelefonoInput, PrefijoInput } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport { Phone } from '@volkswagen-onehub/icons-core/dist/Phone';\nimport { keyframes, css } from 'styled-components';\nimport { useTrackingManager, getTrackingForm, useOneFormContext } from 'src/feature-app';\n\nconst moveLeft = keyframes`\n from {\n /* left: 70%; */\n left: 75%;\n }\n to {\n left: 0;\n /* right: auto; */\n }\n`;\n\nconst RaceFormWrapper = styled.div<{ width: number; isSending: boolean; isSent: boolean; showFullWidth: boolean }>`\n display: flex;\n margin-bottom: 24px;\n margin-top: 24px;\n width: ${(props) => {\n if (props.showFullWidth) {\n return '605px';\n }\n if (window.innerWidth < 418) {\n if (props.isSending || props.isSent) {\n return '100%';\n return `${props.width}px`;\n }\n return '75%';\n } else {\n if (props.isSending || props.isSent) {\n return '100%';\n }\n return 'fit-content';\n }\n }};\n\n min-height: 44px;\n position: relative;\n`;\n\nconst PrefijoWrapper = styled.div`\n width: 78px;\n padding-top: 3px;\n margin-right: 24px;\n\n & label {\n color: #001e50 !important;\n }\n`;\n\ninterface CTAWrapperProps{\n width: number;\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\nconst CTAWrapper = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '100%')};\n width: auto;\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '15px')};\n margin-top: 5px;\n width: ${(props) => {\n if (props.isSending || props.isSent) {\n if (props.showFullWidth) {\n return '250px';\n } else {\n if (props.isSending) {\n return '250px';\n }\n return '100%';\n }\n }\n return '44px';\n }};\n height: 44px;\n background-color: ${(props) => (props.isSent ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent ? '2px solid #029640' : '2px solid #ffaa27')};\n /* transition: all 1s ease; */\n cursor: ${(props) => (props.isSent ? 'auto' : 'pointer')};\n\n @media all and (min-width: 375px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '25px')};\n }\n @media all and (min-width: 560px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n }\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: 2px ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n }\n`;\n\ninterface CTAWrapperFullScreenProps {\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\n\nconst CTAWrapperFullScreen = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '45%')};\n width: auto;\n\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n @media all and (min-width: 1600px) {\n left: ${(props) => (props.isSent || props.isSending ? '0' : '49%')};\n }\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n margin-top: 5px;\n width: ${(props) => (props.isSending ? '250px' : props.isSent || props.showFullWidth ? 'auto' : '44px')};\n height: 44px;\n background-color: ${(props) => (props.isSent && props.successful ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent && props.successful ? '2px solid #029640' : '2px solid #ffaa27')};\n cursor: ${(props) => (props.isSent && props.successful ? 'auto' : 'pointer')};\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && props.successful && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: ${(props) => (props.successful ? '2px solid #029640' : '2px solid #DFE4E8')};\n }\n`;\n\ninterface RaceFormProps {\n isSent: boolean;\n isSending: boolean;\n disabledButton: boolean;\n sendForm: () => Promise;\n isPristine: boolean;\n isFullScreen: boolean;\n copyWidth?: number; // Con el resize en algunos dispositivos móviles se pierde el tamaño necesario del cta y se descuadra.\n setIsPristine: React.Dispatch>;\n successful?: boolean;\n error?: boolean;\n}\n\nconst showFullCta = (isFullScreen: boolean) => isFullScreen && window.innerWidth > 1279;\n\nexport const RaceForm = ({\n isSent,\n isSending,\n isPristine,\n disabledButton,\n sendForm,\n copyWidth,\n isFullScreen,\n setIsPristine,\n successful,\n}: RaceFormProps) => {\n const initialSizeRef = useRef(null); // Hay que determinar el width del contenedor al principio para que cuando desaparezcan los campos de telf y prefijo no cambie el ancho y la animación del cta empiece desde otro sitio.\n const [containerWidth, setContainerWidth] = useState(0);\n const windowWidth = useWindowWidth();\n const { initializeForm } = useOneFormContext();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n initializeForm(\n {},\n {\n headers: {},\n fields: {\n formName: 'race',\n formType: 'otherform',\n pageCategory: 'other',\n },\n },\n isFullScreen\n );\n }, []);\n\n useEffect(() => {\n if (initialSizeRef) {\n if (copyWidth && copyWidth <= 346) {\n // El contenedor crece hasta 346px\n setContainerWidth(copyWidth);\n } else {\n setContainerWidth(initialSizeRef.current.offsetWidth);\n }\n }\n }, [windowWidth, copyWidth]);\n\n useEffect(() => {\n if (successful){\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }\n }, [successful]);\n\n return (\n \n <>\n {isSending || isSent ? null : (\n <>\n \n \n \n \n \n
\n {\n setIsPristine(false);\n }}\n onFocusHandler={() => {\n setIsPristine(false);\n }}\n name='raceCellphone'\n />\n
\n \n )}\n\n {showFullCta(isFullScreen) ? (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n stretchContent\n >\n {isSending ? 'Enviando' : isSent && successful ? 'Te llamaremos pronto' : 'Te llamamos'}\n \n \n ) : (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n >\n {isSending ? 'Enviando' : isSent ? 'Te llamaremos pronto' : null}\n \n
\n )}\n \n \n );\n};\n","import { OneFormState } from 'src';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { raceSend } from 'src/bff';\nimport { useEffect, useState } from 'react';\nimport { cellphoneIsInvalid } from 'src/components';\nimport { useSelector } from 'react-redux';\n\nexport const useRaceFormController = (raceCellphone: string) => {\n const [isPristine, setIsPristine] = useState(true);\n const [isSent, setIsSent] = useState(false);\n const [isSending, setIsSending] = useState(false);\n const [error, setError] = useState(false);\n const [successful, setSuccessful] = useState(false);\n const [disabledButton, setDisabledButton] = useState(true);\n const {racePrefix }= useSelector((state: OneFormState) => state.formData.fields);\n\n useEffect(() => {\n if (\n raceCellphone &&\n !cellphoneIsInvalid(raceCellphone) &&\n /[6|7|8|9][0-9]{8}/gi.test(raceCellphone) &&\n raceCellphone.length === 9\n ) {\n setDisabledButton(false);\n } else {\n setDisabledButton(true);\n }\n }, [raceCellphone]);\n\n const retry = () => {\n reset();\n sendForm();\n };\n\n const reset = () => {\n setError(false);\n setIsSent(false);\n setIsSending(false);\n setIsPristine(true);\n setSuccessful(false);\n setDisabledButton(true);\n };\n\n const sendForm = async (): Promise => {\n setIsSending(true);\n setDisabledButton(true);\n setIsPristine(false);\n\n const data = {\n id: 'CTC VOLKSWAGEN',\n canal: 'FORM',\n telefono: `${racePrefix}${raceCellphone}`,\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n const response = await raceSend(formDataInfo);\n\n setIsSending(false);\n setDisabledButton(false);\n\n if (response?.data?.status?.result === 'success' && response?.data?.status?.code === 1) {\n setSuccessful(true);\n } else {\n setError(true);\n }\n setIsSent(true);\n };\n\n return { isSent, isSending, isPristine, disabledButton, error, sendForm, retry, setIsPristine, successful, reset };\n};\n","import { getParamsForm } from 'src/feature-app/get-params-form';\nimport { removeWhiteSpace, formatPrefix } from 'src/feature-app';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (fields) =>{\n return {\n\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_SAC',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Atención al cliente',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SURVEY_ANSWER_01]': fields.motivoSac ? fields.motivoSac : 'ONESHOP',\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contactoSAC ? fields.contactoSAC : 'TELEFONO',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n }\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n FormController,\n useOneFormContext,\n formatPrefix,\n removeWhiteSpace\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { getCommonFormData } from '../FormData';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouOneShop, SACOneShopFields } from '.';\nimport { formDataBuilder, formatHeaders } from '../../format-fields';\nimport { IdPerson } from 'src/types';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\n\n\n\nlet NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_SAC',\n DESC_FORMOBJECTIVE: 'Atención al cliente',\n DESC_ID_CAMPAIGN: '7011n000000AglrAAC',\n COD_FORM_ID: 'vw-oneform-sac-oneshop',\n DESC_FORM_DETAIL: 'SAC OneShop',\n DESC_CAMPAIGNBLOCK: '18 - VW Customer Care',\n },\n fields: {\n formName: 'sac-oneshop',\n formType: 'otherform',\n pageCategory: 'SAC OneShop',\n }, // Analítica\n};\n\ninterface SACOneShopProps {\n idPerson?: IdPerson;\n dpsData?: DpsData;\n}\n\nexport const SACOneShopForm = (props: SACOneShopProps) => {\n const { initializeForm } = useOneFormContext();\n const { idPerson } = props;\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: } />,\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n useEffect(() => {\n if (idPerson) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': idPerson.NUM_Phone_mobile__c } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': idPerson.FirstName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': idPerson.LastName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': idPerson.TXT_Email__c } });\n }\n }, [idPerson]);\n\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const info = urlParams.get('q');\n if (info) {\n const decodedParms = atob(info);\n const splittedParams = decodedParms.split(';');\n const [DESC_ID_CLIMAPRO] = splittedParams;\n\n NuevoFormData = {\n headers: { ...NuevoFormData.headers, DESC_ID_CLIMAPRO },\n fields: { ...NuevoFormData.fields },\n };\n }\n setLoading(false);\n }, []);\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n 'headers[FORM_DETAILS]': 'SAC OneShop',\n ...getCommonFormData(fields),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: true,\n formType: 'inPage',\n alingItemsCenter: true,\n thankYouComponent: ,\n };\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, [loading]);\n\n return !steps ? null : ;\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouOneShop = () => {\n const {formResponse} = useSelector((state: OneFormState) => state.formInfo);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formResponse.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import {\n styled,\n Container,\n ContainerPadding,\n CTA,\n Text,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\n\nimport {\n InputError,\n PoliticaPrivacidad,\n Telefono,\n MultipleCTASelection,\n KoScreen,\n LoadingScreen,\n Nombre,\n Apellido,\n Email,\n} from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n formatPrefix,\n} from 'src/feature-app';\nimport { OneFormState, IdPerson } from 'src/types';\n\nconst TextAreaWrapper = styled.div`\n label {\n width: 100%;\n }\n`;\n\nconst PaddingWrapper = styled.div`\n`;\n\nconst NameLastNameWrapper = styled.div`\n padding-bottom: 2px;\n gap: 20px;\n display: flex;\n flex-direction: column;\n @media all and (min-width: 960px) {\n flex-direction: row;\n gap: 32px;\n }\n`;\n\ninterface OneShopProps {\n idPerson?: IdPerson;\n}\n\nexport const SACOneShopFields = (props: OneShopProps) => {\n const { idPerson } = props;\n const [motivoError, setMotivoError] = useState(false);\n const [masInfoValue, setMasInfoValue] = useState(null);\n const [nameError, setNameError] = useState(false);\n\n return (\n
\n \n <>\n \n \n Confirma tus datos y te llamaremos lo antes posible\n \n \n \n Sea cual sea tu duda, estamos aquí para ayudarte. Solo necesitamos que completes la siguiente\n información y nos pondremos en contacto contigo.\n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n
\n );\n};\n\ninterface FieldProps {\n question?: string;\n input: JSX.Element;\n isRequired?: boolean;\n emailError?: boolean;\n motivoError?: boolean;\n}\nconst Field = (props: FieldProps) => {\n const { question, input, isRequired, emailError, motivoError } = props;\n\n return (\n \n {\n question ? (\n \n {question} {isRequired ? * : null}\n \n ) : null\n }\n\n {input}\n {emailError || motivoError ? Necesitamos esta información para seguir : null}\n \n );\n};\n\ninterface lastNavigationsProps {\n setMotivoError: (value: boolean) => void;\n setNameError: (value: boolean) => void;\n masInfoValue?: null | string;\n idPerson?: IdPerson;\n}\n\nfunction LastNavigation(props: lastNavigationsProps) {\n const { setMotivoError, masInfoValue, idPerson, setNameError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido enviar tu petición. ¿Lo intentamos de nuevo?';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n\n\n async function handleConfirmarCita(e: any) {\n\n //activar o desactivar mensajes de error\n const values = await getValues();\n\n trackingManager.trackFormCTAClick({\n contentId: 'Confirmar',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': values.name } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': values.surname } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': values.email } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': `${formatPrefix(values.prefix)}${values.cellphone}` } });\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Confirmar\n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { BreakpointWrapper, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\n\ninterface HeaderImageProps {\n imageSmall?: string;\n imageBig?: string;\n imageLogo?: string;\n}\nconst ImageWrapper = styled.div<{ background: string }>`\n div{\n display: flex;\n justify-content: center;\n background-image: ${(props) => `url(${props.background})`};\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n height: 30vh;\n }\n @media screen and (max-width: 700px) {\n div{\n height: 40vh;\n }\n } \n`;\nconst LogoCenter = styled.div`\n .image-front{\n position: relative;\n width: 50vw;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n display: block;\n margin: auto; \n }\n @media screen and (min-width: 500px) {\n .image-front{\n width: 40vw;\n }\n }\n @media screen and (min-width: 700px) {\n .image-front{\n width: 30vw;\n }\n }\n`;\n\n\nexport const HeaderImage = (props: HeaderImageProps) => {\n return (\n <>\n \n \n \n \"logo\"\n \n \n \n \n \n \n \"logo\"\n \n \n \n \n );\n}","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFeatureServices } from 'src/feature-app';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { SACOneShopForm } from '.';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { HeaderImage } from \"../../../components/HeaderImage\";\n\nexport interface SACOneShopProps {\n idPerson: IdPerson;\n handleError: () => void;\n\n}\n\nexport function SACOneShopController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const imagesUrl = {\n imageBigUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-2560x760?Zml0PWNyb3AlMkMxJndpZD0yNTYwJmhlaT03NjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmYTYzZA==',\n imageSmallUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-1080x520?Zml0PWNyb3AlMkMxJndpZD0xMDgwJmhlaT01MjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmMjAxZA==',\n imageLogoUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-logo-v2?Zml0PWNyb3AlMkMxJndpZD0zNjImaGVpPTc0JmZtdD1wbmctYWxwaGEmYmZjPW9mZiZjZmYy'\n }\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n \n );\n } else {\n return (\n <>\n \n \n \n );\n }\n}\n","import React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { Email, PantallaNombreApellido, DetalleMotivo, Telefono, MultipleCTASelection, ContactInfoWrapper } from 'src/components';\nimport { PantallaMotivoSAC, ConfirmacionSAC, ThankYouSAC } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useStore, useDispatch } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n formatPrefix,\n} from 'src/feature-app';\nimport { formDataBuilder } from '../format-fields';\nimport { contactoOptionsSAC } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport enum SACFormSteps {\n Motivo,\n MasInformacion,\n NombreApellido,\n EmailTelefono,\n Contacto,\n Confirmacion,\n}\n\nexport const SACForm = () => {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo podemos ayudarte?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.Motivo,\n name: 'motivoSac',\n outputs: ['motivoSac'],\n outputsText: ['motivoSac'],\n },\n {\n title: (\n <>\n ¿Podrías darnos más detalles sobre tu{' '}\n \n petición?*\n \n \n ),\n fields: } />,\n screenIndex: SACFormSteps.MasInformacion,\n name: 'MasInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n Para responderte, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que te{' '}\n \n respondamos?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: SACFormSteps.Contacto,\n name: 'contactoSAC',\n outputs: ['contactoSAC'],\n outputsText: ['contactoSAC'],\n },\n {\n fields: ,\n screenIndex: SACFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const SACFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'sac', formType: 'otherform', pageCategory: 'Atención al cliente' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n ...getCommonFormData(fields),\n 'fields[COMMENTS_PERSON]': fields.masInformacion,\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const SACFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n formType: 'layer',\n formTheme: 'inverted',\n notALayer: false,\n thankYouComponent: ,\n };\n\n initializeForm(SACFormInfo, SACFormData);\n }, []);\n\n return ;\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { SelectExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { styled } from '@volkswagen-onehub/components-core';\n\nconst InputsWrapper = styled.div`\n padding-top: 44px;\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nconst motivoOptions = [\n { code: null, name: null },\n {\n code: 'VE',\n name: 'Venta',\n },\n {\n code: 'PV',\n name: 'Posventa',\n },\n {\n code: 'GDP',\n name: 'Gestión de datos personales y privacidad',\n },\n {\n code: 'OT',\n name: 'Otras consultas',\n },\n];\n\nexport const PantallaMotivoSAC = () => {\n const [motivo, setMotivo] = useState(null);\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (fields.motivoSac) {\n const motivo = getMotivoByCode(fields.motivoSac);\n setMotivo(motivo);\n }\n }, []);\n\n const getMotivoByName = (name) => {\n\t\treturn motivoOptions ? motivoOptions.find(obj => obj.name == name) : null;\n\t}\n\n const getMotivoByCode = (code) => {\n return motivoOptions ? motivoOptions.find(obj => obj.code == code) : null;\n\t}\n\n function handleChangeMotivo(e: any) {\n e.preventDefault();\n if (e.target.value) {\n\t\t\tconst motivo = getMotivoByName(e.target.value);\n setMotivo(motivo);\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['motivoSac']: motivo.code } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { ['motivoSac']: motivo.name } });\n handleNextStep();\n\t\t}\n }\n\n return (\n <>\n \n null}\n setOption={setMotivo}\n handleChange={handleChangeMotivo}\n />\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, TextInputExtended, SelectExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nconst roadOptions = [\n {\n code: 'AUTOP',\n name: 'Autopista',\n },\n {\n code: 'AUTOV',\n name: 'Autovía',\n },\n {\n code: 'AVENI',\n name: 'Avenida',\n },\n {\n code: 'BARIO',\n name: 'Barrio',\n },\n {\n code: 'CALLE',\n name: 'Calle',\n },\n {\n code: 'CAMIN',\n name: 'Camino',\n },\n {\n code: 'CARRT',\n name: 'Carretera',\n },\n {\n code: 'GRANV',\n name: 'Gran vía',\n },\n {\n code: 'PASAJ',\n name: 'Pasaje',\n },\n {\n code: 'PASEO',\n name: 'Paseo',\n },\n {\n code: 'PLAYA',\n name: 'Playa',\n },\n {\n code: 'RAMBL',\n name: 'Rambla',\n },\n {\n code: 'RONDA',\n name: 'Ronda',\n },\n {\n code: 'TRAVE',\n name: 'Travesía',\n },\n {\n code: 'URBAN',\n name: 'Urbanización',\n },\n {\n code: 'VIA',\n name: 'Vía',\n },\n];\n\nexport const PantallaDireccionPostal = () => {\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n\n //tipo de vía\n\n const [tipoVia, setTipoVia] = useState('Autopista');\n\n useEffect(() => {\n if (fields.tipoVia) {\n setTipoVia(fields.tipoVia);\n }\n }, []);\n\n function handleChangeTipoVia(event: any) {\n const newTipoVia = event.currentTarget.value;\n setTipoVia(newTipoVia);\n }\n\n //Nombre de la vía\n const [viaValue, setViaValue] = useState('');\n const [pristineVia, setPristineVia] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineVia, viaValue);\n const numberRegExp = /\\d|[sS]\\/[nN]/gi;\n const handleChangeVia = (e: any) => {\n setViaValue(e.target.value);\n setPristineVia(false);\n };\n\n //Número\n\n const [numberValue, setNumberValue] = useState('');\n const [pristineNumber, setPristineNumber] = useState(true);\n const [numberError, setNumberError] = useState(false);\n const regExpNonDigit = /\\D/;\n\n const handleChangeNumber = (e: any) => {\n setNumberValue(e.target.value);\n if (regExpNonDigit.test(e.target.value) || (numberValue.length > 1 && numberValue.length < 8)) {\n setNumberError(true);\n } else if (numberValue === 's/n') {\n setNumberError(true);\n }\n\n setNumberError(false);\n\n setPristineNumber(false);\n };\n\n //Piso y puerta\n const [pisoPuertaValue, setPisoPuertaValue] = useState('');\n\n const handleChangePisoPuerta = (e: any) => {\n setPisoPuertaValue(e.target.value);\n };\n\n return (\n \n {}}\n setOption={setTipoVia}\n handleChange={handleChangeTipoVia}\n updateFields\n />\n handleChangeVia(e)}\n required\n />\n {error && Solo se aceptan letras}\n handleChangeNumber(e)}\n required\n />\n {numberError && Se aceptan números o la expresión s/n}\n handleChangePisoPuerta(e)}\n />\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, Provincia, TextInputExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\n\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nexport const PantallaMunicipio = () => {\n const { register } = useFormContext();\n\n //Localidad\n const [localidadValue, setLocalidadValue] = useState('');\n const [pristineLocalidad, setPristineLocalidad] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineLocalidad, localidadValue);\n\n const handleChangeLocalidad = (e: any) => {\n setLocalidadValue(e.target.value);\n setPristineLocalidad(false);\n };\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n\n const handleChangePostalCode = (e: any) => {\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n //Provincia\n\n const [provinceValue, setProvinceValue] = useState('');\n const [pristineProvince, setPristineProvince] = useState(true);\n const { error: errorProvincia, regExp: regExpProvincia } = useOnlyLettersControl(pristineProvince, provinceValue);\n\n const handleChangeProvince = (e: any) => {\n setProvinceValue(e.target.value);\n setPristineProvince(false);\n };\n\n return (\n \n handleChangeLocalidad(e)}\n required\n />\n {error && Solo se aceptan letras}\n\n handleChangePostalCode(e)}\n required\n />\n {errorPostalCode && Solo se aceptan números}\n\n \n\n \n );\n};\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\n\nexport const ConfirmacionSAC = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouSAC = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { PincodeResponseOk } from 'src/bff';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdLead, IdPerson, IdOrder, IdVehicle, IdDealer } from 'src/types';\n\nexport const createPincodeEntity = (dpsData: DpsData, stringToFind: 'LEAD' | 'PERSON' | 'ORDER' | 'VEHICLE' | 'DEALER') => {\n if (!dpsData.pincode?.pincodeResponse) {\n return null;\n }\n const atts = (dpsData.pincode?.pincodeResponse?.content as PincodeResponseOk[]).find((att: any) =>\n att.attributes.find((att: any) => att.name === 'ID' && att.value === stringToFind)\n );\n\n if (!atts) {\n return null;\n }\n\n const id: IdLead | IdPerson | IdOrder | IdVehicle | IdDealer = atts.attributes.reduce((obj: any, att: any) => {\n const key = Object.values(att)[0] as any;\n const value = Object.values(att)[1] as any;\n obj[key] = value;\n return obj;\n }, {});\n\n return id;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { FormDataFields, FormDataFlags, FormDataHeaders } from 'src/types';\n\nexport const formDataBuilder = (data: any): FormData => {\n const formData = new FormData();\n\n for (const key in data) {\n if (data[key] === null || data[key] === 'null') {\n formData.append(key, '');\n } else {\n formData.append(key, data[key]);\n }\n }\n return formData;\n};\n\nexport const formatFormData = (object: object, string: string) => {\n if (typeof object !== 'object' || Object.keys(object).length === 0) {\n return {};\n }\n return Object.entries(object)\n .map((key) => [`${string}[${key[0]}]`, key[1]])\n .reduce((accum: FormDataFields, [k, v]) => {\n accum[k] = v;\n return accum;\n }, {});\n};\n\n/**\n * Formato de entrada: {DESC_FORM_VERSION: ''}\n * Formato de salida: {fields[DESC_FORM_VERSION]: ''}\n * @param fields\n */\nexport const formatFields = (fields: FormDataFields): FormDataFields => {\n return formatFormData(fields, 'fields');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {headers[DESC_FORM_DETAIL]: ''}\n * @param headers\n */\nexport const formatHeaders = (headers: FormDataHeaders): FormDataHeaders => {\n return formatFormData(headers, 'headers');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {flags[DESC_FORM_DETAIL]: ''}\n * @param flags\n */\nexport const formatFlags = (flags: FormDataFlags): FormDataFlags => {\n return formatFormData(flags, 'flags');\n};\n\nexport const getDpsFields = (faContent: OneFormContent) => {\n if (faContent && faContent.dpsFields && faContent.dpsFields.length > 0) {\n const headers = faContent.dpsFields.reduce((initialValue, header) => {\n const key = header.field;\n const value = header.value;\n const obj = { [key]: value };\n initialValue = { ...initialValue, ...obj };\n return initialValue;\n }, {});\n\n return { ...headers };\n }\n return null;\n};\n","import { Steps } from 'src/types';\n\nexport const getIndexInSteps = (steps: Steps[], stepName: string) => {\n if (steps?.length === 0 || !stepName) {\n return;\n }\n return steps.findIndex((step) => step.name === stepName);\n};\n\n/**\n * En caso de haber eliminado un step hay que volver a añadirlo de nuevo con los steps por defecto y llamar a la función handleNextStep ya que \n * ésta se llama antes de tiempo y realiza el cálculo con los steps sin actualizar.\n * @param steps \n * @param stepName \n */\nexport const addRemovedStep = (initialSteps: Steps[], actualSteps: Steps[], stepName: string, screenIndex: number) => {\n const addedStep = getIndexInSteps(initialSteps, stepName);\n actualSteps.splice(screenIndex + 1, 0, initialSteps[addedStep]);\n return actualSteps;\n};\n\n\nexport const removeStep = (steps: Steps[], stepName: string): Steps[] => {\n const indexToSplice = getIndexInSteps(steps, stepName);\n \n if (indexToSplice !== -1) {\n steps.splice(indexToSplice, 1);\n }\n return steps;\n};\n\nexport const removeMultipleSteps = (steps: Steps[], stepNames: string[]): Steps[] => {\n const indexesToSplice = stepNames.map(stepName => getIndexInSteps(steps, stepName));\n\n const newSteps = steps.filter((step, index) => {\n return indexesToSplice.indexOf(index) === -1;\n });\n\n return newSteps;\n};\n\nexport const removeMultipleStepsAndResetScreenIndex = (steps: Steps[], stepNames: string[]): Steps[] => {\n const newSteps = removeMultipleSteps(steps, stepNames);\n\n return resetStepsScreenIndex(newSteps);\n};\n\nexport const resetStepsScreenIndex = (steps: Steps[]) => {\n return steps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n};\n\n/**\n * Utilizamos esta función cuando queremos eliminar muchos steps seguidos, cuando por ejemplo hay \n * una pregunta que en caso negativo elimina una serie de preguntas condicionales. \n * Hay que pasar el firstStep como el step que desencadena la pregunta y el lastStep como el primer step que tendremos que mostrar\n * después de eliminar.\n * @param steps \n * @param firstStep Este step no se eliminará, se eliminará el siguiente.\n * @param lastStep Este step no se eliminará, se eliminará el anterior.\n */\nexport const getArrayOfStepsNames = (steps: Steps[], firstStep: string, lastStep: string) => {\n const indexOfFirstStep = getIndexInSteps(steps, firstStep);\n const indexOfLastStep = getIndexInSteps(steps, lastStep);\n\n if (indexOfFirstStep !== -1 && indexOfLastStep !== -1) {\n const newSteps = [...steps];\n const stepsToRemove = newSteps.slice(indexOfFirstStep + 1, indexOfLastStep);\n const arrayOfStepsNames = stepsToRemove.map(step => step.name);\n return arrayOfStepsNames;\n }\n return [];\n};\n","/**\n * @param kmCalculadora\n */\nexport const transformMillage = (kmCalculadora: number) => {\n try {\n if (kmCalculadora && !Number.isNaN(kmCalculadora)) {\n return Number(kmCalculadora);\n } else {\n return 0;\n } \n } catch (error) {\n return 0;\n }\n};\n","export const TIME_FOR_TRANSFORM = 400;\nexport const TIME_FOR_TRANSFORM_MS = `${TIME_FOR_TRANSFORM}ms`;\n\nexport const TIME_FOR_OPACITY = 600;\nexport const TIME_FOR_OPACITY_MS = `${TIME_FOR_OPACITY}ms`;\n","import dayjs from 'dayjs';\nimport { DomainAttributesValues } from 'src';\n\nexport const formatToTwoChars = (str: string) => {\n\tif (str === null || str === undefined || str === '') {\n\t\treturn '';\n\t}\n\n\tstr = String(str);\n\n\treturn str.length === 1 ? '0' + str : str;\n};\n\nexport const arrayToObject = (arr: DomainAttributesValues[]) => {\n\tif (!arr) return null;\n\tconst obj = {};\n\tfor (const i in arr) {\n\t\tobj[arr[i].name] = arr[i].value;\n\t}\n\treturn obj;\n};\n\nexport const strTitlelize = (str: string) => {\n\tif (!str) return '';\n\treturn str\n\t\t.toLowerCase()\n\t\t.split(' ') // separar palabras para capitalizar\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n\t\t.split('.') // separar sociedades para capitalizar (S.A., S.L.U.)\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join('.');\n};\n\nexport const transformDate = (date: string, outputFormat: string, inputFormat?: string) => {\n\tif (inputFormat) {\n\t\tif (dayjs(date, inputFormat, true).isValid()) {\n\t\t\treturn dayjs(date, inputFormat).format(outputFormat);\n\t\t}\n\t} else if (dayjs(date, 'YYYY-MM-DD', true).isValid()) {\n\t\treturn dayjs(date, 'YYYY-MM-DD').format(outputFormat);\n\t}\n\treturn null;\n};\n\nexport const getFirstAndLastDayOfMonth = (\n\tmonthNumber?: string,\n\tyearNumber?: string,\n): { firstDayOfMonth: number; lastDayOfMonth: number } => {\n\tlet firstDayOfMonth;\n\tlet lastDayOfMonth;\n\n\tif (yearNumber && monthNumber) {\n\t\tfirstDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t.month(Number(monthNumber) - 1) // Months are zero indexed, so January is month 0.\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.startOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t} else {\n\t\tfirstDayOfMonth = Number(dayjs().add(1, 'day').locale('es').utc().format('x'));\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t}\n\n\treturn { firstDayOfMonth, lastDayOfMonth };\n};\n","import { Container, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, yumiwiBffSend } from 'src/bff';\nimport { CodigoPostal, Country, Date, DetalleMotivo, DniNif, Email, Matricula, MultipleCTASelection, NextStepCTA, PantallaNombreApellido, SelectDpsDomain, Telefono } from 'src/components';\nimport { CTAsSiNo, FormController, OneElementTemplate, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder, formatFlags, formatHeaders } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { TheOriginalsConfirmacion, TheOriginalsThankYou } from './';\n\ninterface TheOriginalsFormProps {\n\tfullScreen: boolean;\n\tintroTitle?: JSX.Element;\n\tintroCopy?: JSX.Element;\n }\n\nexport function TheOriginalsForm(props: TheOriginalsFormProps) {\n\tconst { fullScreen, introTitle, introCopy } = props;\n\tconst { initializeForm } = useOneFormContext();\n\tconst trackingManager = useTrackingManager();\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;\n\tconst { tengoFurgo, tengoVW } = fields;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst ctaSkipTuHistoria = 'Ahora no';\n\tconst dpsToken = 'LCV_DDB_FRM_FURGOCONCENTRACION';\n\n\t/*\n\t *\n\t * DATA AND SEND FORM\n\t *\n\t */\n\tconst initialData: Partial = {\n\t\theaders: {\n\t\t\tDPS_TOKEN: dpsToken,\n\t\t\tFORM_OBJECTIVE: 'Evento',\n\t\t\tFORM_DETAILS: 'The Originals 2025',\n\t\t\tFORM_NAME: 'adhoc-2025-the_originals',\n\t\t},\n\t\tfields: {\n\t\t\tformName: 'adhoc-2025-the_originals',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'The Originals 2025',\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t},\n\t};\n\n\tconst generateData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(initialData.headers),\n\t\t\t'headers[SF_CAMPAIGN_NAME]': 'Web Formulario Inscripcion THOF 2025',\n\t\t\t//'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen CV',\n\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t//'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t'fields[PERSON_DNI_NIF]': fields.dniNif,\n\t\t\t'fields[PERSON_BIRTHDATE]': dayjs(fields.fechaNacimiento).format('DD/MM/YYYY'),\n\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t'fields[EVENT_NAME]': 'The Originals 2025',\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.tengoFurgo,\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.tengoVW,\n\t\t\t'fields[SURVEY_ANSWER_03]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.countryCode,\n\t\t\t'fields[SURVEY_ANSWER_05]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_06]': fields.tuHistoria != ctaSkipTuHistoria ? fields.tuHistoria : '',\n\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\n\t\t\t...formatFlags(initialData.flags),\n\t\t};\n\n\t\tif (fields.tengoFurgo == 'true') {\n\t\t\tif(fields.tengoVW == 'true') {\n\t\t\t\tdata['fields[VEH_ACTUAL_MODEL]'] = fields.model;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdata['fields[VEH_ACTUAL_BRAND]'] = fields.brand;\n\t\t\t}\n\t\t\tdata['fields[VEH_ACTUAL_PLATE]'] = fields.matricula;\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tawait sendYumiwiForm();\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst generateYumiwiData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\tconst data = {\n\t\t\t'title': fields.trato == 'Sra.' ? 'ms' : 'mr',\n\t\t\t'name': fields.name,\n\t\t\t'surname': fields.surname,\n\t\t\t'email': fields.email,\n\t\t\t'phone': fields.cellphone,\n\t\t\t'nid': fields.dniNif,\n\t\t\t'birth_date': dayjs(fields.fechaNacimiento).format('YYYY-MM-DD'),\n\t\t\t'postal_code': fields.postalCode,\n\t\t\t'status': 'confirmed',\n\t\t\t'extra[custom#second_last_name]': fields.secondSurname,\n\t\t\t'extra[custom#9q6s50]': fields.countryName,\n\t\t\t'extra[custom#l0y4ul]': '',\n\t\t\t'extra[custom#iqw52l]': '',\n\t\t\t'extra[custom#n8m4w6]': fields.tengoFurgo == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#ssze5o]': fields.tengoVW == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#rxirdh]': fields.tengoFurgo == 'true' && fields.tengoVW == 'true' ? fields.model : '',\n\t\t\t'extra[custom#s3w5si]': fields.tengoFurgo == 'true' && fields.tengoVW == 'false' ? fields.brand : '',\n\t\t\t'extra[custom#vkb1zj]': fields.tengoFurgo == 'true' ? fields.matricula : '',\n\t\t\t'extra[custom#legal_lssi]': fields.lssi == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#legal_gdpr]': fields.tmk == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#fgq902]': true,\n\t\t\t'extra[custom#accept_terms_and_conditions]': true,\n\t\t};\n\n\t\treturn data;\n\t};\n\n\tconst sendYumiwiForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateYumiwiData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await yumiwiBffSend(formData, '1Ec8VLmNvEvOrMZrB8MUBKsbmStfcrnVcyvA0ni4228be0ca');\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(generateData());\n\t\t\tconsole.log(generateYumiwiData());\n\t\t\tconsole.log(store.getState());\n\t\t}\n\t}, [formData]);\n\n\t/*\n\t *\n\t * STEPS AND INIT FORM\n\t *\n\t */\n\n\tlet index = 0;\n\tconst steps: Steps[] = [\n\t\t...(fullScreen\n\t\t\t? [{\n\t\t\t\ttitle: (\n\t\t\t\t\t\n\t\t\t\t\t\t{introTitle}\n\t\t\t\t\t\t{introCopy}\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t\tfields: } />,\n\t\t\t\tscreenIndex: index++,\n\t\t\t\tname: 'Introduccion',\n\t\t\t}] : []\n\t\t),\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu fecha de nacimiento?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'FechaNacimiento',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DniEmailTelefono',\n\t\t\toutputs: ['cellphone', 'email'],\n\t\t\toutputsText: ['cellphone', '/', 'email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCuéntanos, ¿desde dónde vendrás a la concentración?\n\t\t\t\t\t\n\t\t\t\t\t* Lugar de residencia actual\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Country',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Vienes en furgo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoFurgo',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Es Volkswagen?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoVW',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu modelo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Model',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Qué marca de furgo tienes?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Brand',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tu matrícula:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Matricula',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tSabemos que tener una furgo es algo muy especial. ¡Queremos conocer tu historia! Cuéntanosla y si es una de las seleccionadas te contactaremos para difundirla a lo grande.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TuHistoria',\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t},\n\t];\n\n\tuseEffect(() => {\n\n\t\tif (tengoFurgo && tengoFurgo == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Matricula', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', true);\n\t\t\tupdateSteps('TengoVW', true);\n\t\t} else if (tengoFurgo && tengoFurgo == 'false') {\n\t\t\tupdateSteps('TengoVW', false);\n\t\t\tupdateSteps('Brand', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Matricula', false);\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t}\n\t}, [tengoFurgo]);\n\n\tuseEffect(() => {\n\t\tif (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', false);\n\t\t} else if (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'false') {\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Brand', true);\n\t\t}\n\t}, [tengoVW]);\n\n\tconst updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tlet newScreenIndex = screenIndex;\n\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tif (addOnNextStepName) {\n\t\t\t\t\tnewScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n\t\t\t\t}\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\tconst getFormInfo = (): {\n\t\tfirstStep: Steps;\n\t\tlastStep: Steps;\n\t\tstepsHistory: number[];\n\t\tnumberOfScreens: number;\n\t\tnewSteps?: Steps[];\n\t} => {\n\t\treturn {\n\t\t\tfirstStep: steps[0],\n\t\t\tlastStep: steps[steps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: steps.length,\n\t\t\tnewSteps: null,\n\t\t};\n\t};\n\n\tuseEffect(() => {\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : steps,\n\t\t\tstepsHistory,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tformTheme: fullScreen ? 'main' : 'inverted',\n\t\t\tfullScreen: fullScreen,\n\t\t\tnotALayer: fullScreen,\n\t\t\tformType: fullScreen ? 'inPage' : 'layer',\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, initialData, true);\n\t\ttrackingManager.trackFormLoad();\n\t}, []);\n\n\treturn !steps ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { Container, CTA, Text, TextAlignment, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { TrackingForm, useFaContent, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function TheOriginalsThankYou() {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst getTrackingForm = (): TrackingForm => ({\n\t\tLeadID: undefined,\n\t\tFormFields: undefined,\n\t});\n\tconst faContent = useFaContent();\n\tconst campingSoldOut = faContent?.campingSoldOut ? faContent.campingSoldOut == 'true' : false;\n\tconst link = faContent?.campingUrl ? faContent?.campingUrl : 'https://www.ballena-alegre.com';\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;console.log(fields);\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo?.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({\n\t\t\ttype: 'SET_FORM_INFO',\n\t\t\tpayload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } },\n\t\t});\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(),\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¡Ya estás inscrito!\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tPronto recibirás un correo electrónico de confirmación con el código QR para acceder a la concentración. ¡Guárdalo bien!\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{campingSoldOut ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEl camping La Ballena Alegre está completo, ¡pero no te preocupes! Puedes RESERVAR TU PARCELA O BUNGALOW en los siguientes campings cercanos de la Asociación de Campings de Sant Pere Pescador:\n\t\t\t\t\t\t\t\t\tCamping Aquarius\n\t\t\t\t\t\t\t\t\tCamping La Gaviota\n\t\t\t\t\t\t\t\t\tCamping Las Palmeras\n\t\t\t\t\t\t\t\t\tCamping Las Dunas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t): (\n\t\t\t\t\t\t\t\tPuedes hacer la reserva de tu parcela o bungalow directamente desde la web del camping\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{fields.tengoVW == 'true' ? (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Todavía no eres un The Originals?\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tÚnete a la comunidad de propietarios The Originals y disfruta de ventajas en la Concentración: fast track en la inscripción y ventajas y actividades exclusivas por ser un The originals.\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tRegístrate ahora\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\t\t\t\n\t\t),\n\t\tfields: <>,\n\t};\n\treturn ;\n}\n","import * as React from 'react';\nexport var CheckboxSelected = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm3.93 8.338 4.113-4.402-.971-.909L5.079 7.3 3.246 5.331l-.973.906 1.953 2.099c.46.494 1.243.495 1.704.002\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm7.462 13.698 6.953-7.441-.972-.909-6.953 7.442a.035.035 0 0 1-.051 0l-3.353-3.603-.973.907 3.352 3.602c.54.579 1.457.58 1.997.002\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'CheckboxSelected' }));\n","import * as React from 'react';\nexport var Checkbox = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M10 1.33H2c-.37 0-.67.3-.67.67v8c0 .37.3.67.67.67h8c.37 0 .67-.3.67-.67V2c0-.37-.3-.67-.67-.67M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M20 3.33H4c-.37 0-.67.3-.67.67v16c0 .37.3.67.67.67h16c.37 0 .67-.3.67-.67V4c0-.37-.3-.67-.67-.67M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'Checkbox' }));\n","import * as React from 'react';\nimport { Checkbox as CheckboxIcon, CheckboxSelected as CheckboxSelectedIcon, } from '@volkswagen-onehub/icons-core';\nimport { Text, TokenTextAppearance, TokenTextColor } from '../text';\nimport { css, styled } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { createA11yOutlineStyles } from '../helpers/a11y';\nconst noop = () => undefined;\nconst StyledLabel = styled.label.withConfig({ displayName: \"StyledLabel\", componentId: \"sc-tap8jg\" }) `position:relative;color:${({ theme }) => theme.colors.content.primary};cursor:pointer;`;\nconst transition = css `transition:background ${({ theme }) => theme.animation.duration.color} ease,color ${({ theme }) => theme.animation.duration.color} ease;`;\nconst StyledCheckboxWrapper = styled.span.withConfig({ displayName: \"StyledCheckboxWrapper\", componentId: \"sc-1gajbzj\" }) `position:relative;display:flex;align-items:center;${transition};`;\nconst StyledCheckboxSelectedIcon = styled(CheckboxSelectedIcon).withConfig({ displayName: \"StyledCheckboxSelectedIcon\", componentId: \"sc-moyxv\" }) `position:absolute;opacity:0;display:flex;align-items:center;`;\nconst StyledFocusWrapper = styled.span.withConfig({ displayName: \"StyledFocusWrapper\", componentId: \"sc-1oeagwv\" }) `position:relative;display:grid;grid-column-gap:${({ theme }) => theme.size.static200};grid-template-columns:max-content auto;align-items:flex-start;:hover{${({ disabled }) => !disabled &&\n css `\n\t\t\t\tcolor: ${({ theme }) => theme.colors.controllers.off.hover};\n\t\t\t`}}`;\nconst StyledErrorText = styled.span.withConfig({ displayName: \"StyledErrorText\", componentId: \"sc-uiyaus\" }) `display:block;color:${({ theme }) => theme.colors.signal.error};font-size:${({ theme }) => theme.fonts.label[100].fontSize};`;\nconst StyledInput = styled.input.withConfig({ displayName: \"StyledInput\", componentId: \"sc-h9lzej\" }) `position:absolute;opacity:0;outline:0;user-select:none;pointer-events:none;:focus-visible{+ ${StyledFocusWrapper}{${StyledCheckboxWrapper}{${({ theme }) => createA11yOutlineStyles(theme)};border-radius:${({ theme }) => theme.size.line.active};}}}:checked{+ ${StyledFocusWrapper}{${StyledCheckboxSelectedIcon}{${transition};opacity:1;border-radius:${({ theme }) => theme.size.line.active};background:${({ theme, disabled }) => disabled\n ? theme.colors.controllers.on.disabled\n : theme.colors.content.inverted};color:${({ theme }) => theme.colors.controllers.on.default};&:hover{${({ theme, disabled }) => !disabled &&\n css `\n\t\t\t\t\t\t\tcolor: ${theme.colors.controllers.on.hover};\n\t\t\t\t\t\t`}}}}}:disabled{+ ${StyledFocusWrapper}{cursor:not-allowed;color:${({ theme }) => theme.colors.content.disabled};}}`;\nconst CheckboxInner = (props) => {\n const { checked, defaultChecked, disabled, label = '', name, value, required, appearance, message, tabIndex, textAppearance = TokenTextAppearance.copy200, innerRef, results, onLabelMouseDown = noop, } = props;\n const handleLabelMouseDown = React.useCallback((e) => {\n if (!disabled)\n onLabelMouseDown(e);\n }, [disabled, onLabelMouseDown]);\n const handleChange = React.useCallback((e) => {\n const { onChange = noop } = props;\n onChange(e, props);\n }, [props]);\n const handleBlur = React.useCallback((e) => {\n const { onBlur = noop } = props;\n onBlur(e, props);\n }, [props]);\n const handleFocus = React.useCallback((e) => {\n const { onFocus = noop } = props;\n onFocus(e, props);\n }, [props]);\n const handleClick = React.useCallback((e) => {\n const { onClick = noop } = props;\n onClick(e, props);\n }, [props]);\n const sharedProps = getCommonProps(props);\n return (React.createElement(StyledLabel, Object.assign({ onMouseDown: handleLabelMouseDown }, sharedProps),\n React.createElement(StyledInput, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, name: name, onBlur: handleBlur, onChange: handleChange, onClick: handleClick, onFocus: handleFocus, type: \"checkbox\", value: value, required: required, tabIndex: tabIndex, ref: innerRef }),\n React.createElement(StyledFocusWrapper, { disabled: disabled },\n React.createElement(StyledCheckboxWrapper, { textAppearance: textAppearance, \"aria-hidden\": true },\n React.createElement(CheckboxIcon, { variant: \"default\" }),\n React.createElement(StyledCheckboxSelectedIcon, { variant: \"default\" })),\n React.createElement(\"span\", null,\n label &&\n (typeof label === 'string' ? (React.createElement(Text, { color: TokenTextColor.inherit, appearance: textAppearance },\n label,\n \" \",\n results && `(${results})`)) : (label)),\n React.createElement(StyledErrorText, { \"aria-live\": \"assertive\", \"aria-relevant\": \"all\" }, appearance === 'error' && message)))));\n};\nexport const Checkbox = React.forwardRef((props, ref) => React.createElement(CheckboxInner, Object.assign({}, props, { innerRef: ref })));\nCheckbox.displayName = 'Checkbox';\n","import { Breakpoints, Layout, Checkbox, Text, TokenTextAppearance, Richtext, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { InputError, LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { useFormContext } from 'react-hook-form';\n\nexport const TheOriginalsConfirmacion = () => {\n\tconst { register, errors } = useFormContext();\n\tconst termsUrl = 'https://www.volkswagen-comerciales.es/app/theoriginalsfest/pdf/terminos_condiciones.pdf';\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Seguimos en contacto?\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\tTérminos y condiciones*`} \n\t\t\t\t\t\tdangerouslyParseRawHTML \n\t\t\t\t\t/>} \n\t\t\t\t\tvalue=\"true\" \n\t\t\t\t\tname=\"terms\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tregister(ref, { required: true });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{errors['terms'] ? Este campo es obligatorio : null}\n\t\t\t
\n\n\t\t\t\n\n\t\t\t*Campos obligatorios\n\n\t\t\t\n\t\t\n\t);\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, CTA, Layout, styled, Text, TextAlignment, ThemeProvider, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { ScreenController, TriggerProps, useFaContent, useTransformToHtml } from 'src/feature-app';\nimport { useDispatch } from 'react-redux';\nimport { TheOriginalsForm } from 'src/forms/FormsAdhoc/TheOriginals2025';\n\nconst Content = styled.div`\n\toverflow: hidden;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground: radial-gradient(circle at bottom, #00437a 0%, #001e50 100%);\n\n\t& > div {\n\t\twidth: 100%;\n\t}\n`;\n\nexport function TheOriginals2025Trigger(props: TriggerProps) {\n\tconst { setSelectedJourney, setCTALabel } = props;\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\n\tconst fullScreen = false;\n\n\tconst alternativeHeadline = (faContent?.headline ? useTransformToHtml(faContent.headline) : useTransformToHtml('¡Inscríbete en la 21ª edición de The Originals Fest!'));\n\n\tconst alternativeBodyCopy = (faContent?.bodycopy ? useTransformToHtml(faContent.bodycopy) : useTransformToHtml('Este año celebraremos la 21ª edición y nos encanta que quieras vivirla con nosotros. ¡Empecemos!'));\n\n\tconst getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Empezar');\n\n\n\tif(fullScreen) {\n\treturn } introCopy={
} />}\n\t\tcloseLayerCallback={close}\n\t\thandleAreYouSureLayer={() => null}\n\t\tnotALayer={true}\n\t\tformType='inPage'\n\t/>;\n\t}\n\telse {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch({ type: 'RESET_STATE' });\n\t\t\t\t\t\t\t\t\t\t\t\tsetCTALabel(getCtaLabel());\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedJourney();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tstretchContent={{[Breakpoints.default]: true, [Breakpoints.b560]: false}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{getCtaLabel()}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","import * as React from 'react';\nconst TABINDEX_ORIGINAL = 'data-tabindex-original';\nconst FOCUSABLE_ELEMENTS = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n 'audio',\n 'video',\n '[tabindex]',\n];\nexport class ChildContainerTabIndexManager extends React.Component {\n constructor(props) {\n super(props);\n this.observingNode = React.createRef();\n this.getFocusableElementSelector = (parent = '') => FOCUSABLE_ELEMENTS.map((el) => `${parent} ${el}`).join(',');\n this.handleTabIndexes = () => {\n const { activeChildContainerSelector, childContainerSelector } = this.props;\n const observingNode = this.observingNode.current;\n const allFocusableElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(childContainerSelector));\n const activeContainerElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(activeChildContainerSelector));\n // set -1 tabindex for all interaction elements in all containers\n if (allFocusableElements) {\n allFocusableElements.forEach((item) => {\n const itemTabindex = item.getAttribute('tabindex');\n const originalItemTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n // set original if it doesn't exist or if it exists and tabindex was overwritten\n if (originalItemTabindex == null || itemTabindex !== '-1') {\n item.setAttribute(TABINDEX_ORIGINAL, itemTabindex !== null && itemTabindex !== void 0 ? itemTabindex : 'none');\n }\n item.setAttribute('tabindex', '-1');\n });\n }\n // reset tabIndex for children on active container\n if (activeContainerElements) {\n activeContainerElements.forEach((item) => {\n const itemOriginalTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n if (itemOriginalTabindex === 'none' || itemOriginalTabindex == null) {\n item.removeAttribute('tabindex');\n }\n else {\n item.setAttribute('tabindex', itemOriginalTabindex);\n }\n item.removeAttribute(TABINDEX_ORIGINAL);\n });\n }\n };\n this.observeInteractiveContent = (mutationsList) => {\n const focusable = this.getFocusableElementSelector('');\n const hasFocusableMutation = mutationsList.some((entry) => \n // a tabindex got updated (not by us)\n (entry.type === 'attributes' &&\n entry.attributeName === 'tabindex' &&\n entry.target instanceof Element &&\n entry.target.getAttribute(TABINDEX_ORIGINAL) != null &&\n entry.target.getAttribute('tabindex') !== '-1') ||\n // or a attribute was updated that does not belong to us\n (entry.type === 'attributes' &&\n entry.attributeName !== 'tabindex' &&\n entry.attributeName !== TABINDEX_ORIGINAL) ||\n // or a focusable child got mounted\n (entry.type === 'childList' &&\n Array.from(entry.addedNodes).some((node) => node instanceof Element && node.matches(focusable))));\n if (hasFocusableMutation) {\n this.handleTabIndexes();\n }\n };\n if (typeof window !== 'undefined' && 'MutationObserver' in window) {\n this.contentObserver = new MutationObserver(this.observeInteractiveContent);\n }\n }\n componentDidMount() {\n this.handleTabIndexes();\n const observingNode = this.observingNode.current;\n if (observingNode && this.contentObserver) {\n this.contentObserver.observe(observingNode, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n }\n }\n componentWillUnmount() {\n var _a;\n return (_a = this.contentObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.activeChildContainerSelector !==\n this.props.activeChildContainerSelector) {\n this.handleTabIndexes();\n }\n }\n render() {\n return React.createElement(\"div\", { ref: this.observingNode }, this.props.children);\n }\n}\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from './gallery';\nexport const StyledSlide = styled.div.withConfig({ displayName: \"StyledSlide\", componentId: \"sc-196wn05\" }) `display:flex;flex-grow:0;flex-shrink:0;align-items:start;justify-content:center;scroll-snap-align:${({ withScrollSnap }) => withScrollSnap ? 'start' : 'none'};outline:none;opacity:${({ fadeout }) => fadeout && '0.5'};transition:opacity 0.5s ease-in-out;`;\nconst StyledContainedImageWrapper = styled.div.withConfig({ displayName: \"StyledContainedImageWrapper\", componentId: \"sc-9lvcex\" }) `width:${(props) => props.reduceImageSize\n ? `calc(100% - 2 * ${props.theme.size.grid001})`\n : '100%'};`;\nexport const GallerySlide = ({ ariaLabel, ariaLabelledby, children }) => {\n const { getSlideId, slidesPerPage, fadingEdges, accessibleExtendedIndices, visibleIndices, snappableExtendedIndices, } = React.useContext(GalleryContext);\n const { index: slideIndex, id = NaN } = React.useContext(GallerySlideContext);\n // id (extendedIndex): -2 -1 5 6\n // slideIndex (index): 3 4 0 1 2 3 4 0 1\n const slideId = id || slideIndex;\n const isCopyOfASlide = !Number.isNaN(id);\n // To ensure that screenreaders read out the correct amount of slides in the gallery,\n // hide slide copies from aria when not in view and hide normal slides when their\n // copy gets in to view.\n const ariaHidden = isCopyOfASlide\n ? !accessibleExtendedIndices.includes(slideId)\n : visibleIndices.includes(slideIndex) &&\n !accessibleExtendedIndices.includes(slideIndex);\n return (React.createElement(StyledSlide, { id: getSlideId(slideId), fadeout: fadingEdges && !visibleIndices.includes(slideIndex), \"data-accessible\": accessibleExtendedIndices.includes(slideId), role: \"group\", \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledby, \"aria-roledescription\": \"slide\", \"aria-hidden\": ariaHidden ? true : undefined, withScrollSnap: snappableExtendedIndices.includes(slideIndex) },\n React.createElement(StyledContainedImageWrapper, { reduceImageSize: slidesPerPage === 1 }, children)));\n};\nexport const GallerySlideContext = React.createContext({\n index: 0,\n});\n","import { createContext, useContext } from 'react';\nexport const MediaGalleryContext = createContext(undefined);\nexport const useMediaGalleryContext = () => {\n const context = useContext(MediaGalleryContext);\n if (!context) {\n throw new Error('Media Gallery Context not provided');\n }\n return context;\n};\n","import * as React from 'react';\nimport { useThrottleCallback } from '@react-hook/throttle';\nimport { DesignTokenSizeEnum, styled, useTheme, } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { getValueByScreenSize, } from '../helpers/breakpoint';\nimport { ChildContainerTabIndexManager } from './tabindex-manager';\nimport { GallerySlideContext } from './slide';\nimport { MediaGalleryContext } from '../media-gallery';\n// The index is the index in the range `0 .. length - 1`, it corresponds to the\n// number of the slides.\n//\n// index: 0 1 2 3 4\n//\n// If there is endless scrolling, slides are duplicated (leading and trailing).\n//\n// extendedIndex: -2 -1 0 1 2 3 4 5 6\n// index: 3 4 0 1 2 3 4 0 1\n//\n// The number of duplicated slides on each side is one more than the number of\n// slides per page, so a complete page and a fading edge can be seen beyond\n// either end of the \"real\" slides.\n//\n// If there is no endless scrolling, the extendedIndex is the same as the index.\nconst StyledCarousel = styled.section.withConfig({ displayName: \"StyledCarousel\", componentId: \"sc-1lwge8c\" }) `overflow:none;width:100%;position:relative;:focus{outline:none;}`;\nconst StyledSlides = styled.div.withConfig({ displayName: \"StyledSlides\", componentId: \"sc-17msnuv\" }) `display:grid;grid-auto-columns:calc(\\n\\t\\t(\\n\\t\\t\\t\\t100% -\\n\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t${({ gutter, theme }) => (gutter ? theme.size[gutter] : '0px')} *\\n\\t\\t\\t\\t\\t\\t\\t${({ slidesPerPage }) => slidesPerPage - 1}\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t) / ${({ slidesPerPage }) => slidesPerPage}\\n\\t);grid-auto-flow:column;gap:${({ theme, gutter }) => (gutter ? theme.size[gutter] : '0')};${({ disableSnap }) => !disableSnap && `scroll-snap-type: x mandatory;`} overscroll-behavior-x:contain;overflow:auto;::-webkit-scrollbar{display:none;}scrollbar-width:none;:focus{outline:none;box-shadow:0 0 0 ${({ theme }) => theme.size.border.heavy} ${({ theme }) => theme.colors.border.hover};}scroll-padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};`;\nconst noop = () => {\n // this function is an intentionally blank default\n};\nexport const GalleryContext = React.createContext({\n index: 0,\n extendedIndex: 0,\n endlessScrolling: false,\n triggerChange: noop,\n triggerNext: noop,\n triggerPrevious: noop,\n getSlideId: () => '',\n disableScrollSnap: noop,\n slidesPerPage: 1,\n fadingEdges: false,\n length: 1,\n id: '',\n accessibleExtendedIndices: [],\n visibleIndices: [],\n snappableExtendedIndices: [],\n slidesRef: undefined,\n});\nconst DEFAULT_MULTI_SLIDE_GUTTER = DesignTokenSizeEnum.grid001;\nexport const Gallery = (props) => {\n const { slidesPerPage = 1, fadingEdges = false, endlessScrolling, increment = 'slide', handleChange: externalHandleChange, children, id, ariaLabel, ariaLabelledby, topElements, bottomElements, gutter, } = props;\n const theme = useTheme();\n const commonProps = getCommonProps(props);\n const [extendedIndex, setExtendedIndex] = React.useState(0);\n const [currentSlidesPerPage, setCurrentSlidesPerPage] = React.useState(1);\n const [currentFadingEdges, setCurrentFadingEdges] = React.useState(false);\n const [disableSnap, setDisableSnap] = React.useState(false);\n // A consumer-defined gutter always takes effect, but by default we only\n // have a gutter when there is more than one slide per page.\n const currentGutter = React.useMemo(() => gutter !== null && gutter !== void 0 ? gutter : (currentSlidesPerPage > 1 ? DEFAULT_MULTI_SLIDE_GUTTER : undefined), [currentSlidesPerPage, gutter]);\n const slides = React.useRef(null);\n const childrenLength = React.useMemo(() => React.Children.count(children), [children]);\n const updateSlidesPerPage = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const newCurrentSlidesPerPage = getValueByScreenSize(width, slidesPerPage);\n setCurrentSlidesPerPage(newCurrentSlidesPerPage);\n }, [slidesPerPage]);\n const updateFadingEdges = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const fadingEdgesForScreenSize = getValueByScreenSize(width, fadingEdges);\n const newCurrentFadingEdges = fadingEdgesForScreenSize === 'normal' ||\n ((fadingEdgesForScreenSize === 'auto' ||\n fadingEdgesForScreenSize === true) &&\n childrenLength > currentSlidesPerPage);\n setCurrentFadingEdges(newCurrentFadingEdges);\n }, [childrenLength, currentSlidesPerPage, fadingEdges]);\n const changeSlide = React.useCallback((nextIndex, animate = true) => {\n const slidesElement = slides.current;\n if (!slidesElement || slidesElement.children.length <= 1) {\n return;\n }\n // prevent jsdom based tests from failing because of missing scroll function stubs\n if (!slidesElement.scrollTo) {\n return;\n }\n const targetIndex = endlessScrolling\n ? nextIndex + currentSlidesPerPage + 1\n : (nextIndex + childrenLength) % childrenLength;\n const targetPosition = slidesElement.children[targetIndex].offsetLeft;\n const left = theme.direction === 'rtl' ? -1 * targetPosition : targetPosition;\n slidesElement.scrollTo({\n left,\n behavior: animate ? 'smooth' : 'instant',\n });\n // update index without scroll listener when we are not scrolling\n if (!animate) {\n setExtendedIndex(targetIndex);\n }\n }, [childrenLength, currentSlidesPerPage, endlessScrolling, theme.direction]);\n const handleResize = React.useCallback(() => {\n updateSlidesPerPage();\n updateFadingEdges();\n changeSlide(extendedIndex, false);\n }, [updateSlidesPerPage, updateFadingEdges, changeSlide, extendedIndex]);\n const snappableExtendedIndices = React.useMemo(() => {\n const incrementValue = increment === 'slide' ? 1 : currentSlidesPerPage;\n const snappableSlides = Array.from({\n length: childrenLength / incrementValue,\n }).map((_, index) => index * incrementValue);\n snappableSlides.push(childrenLength - incrementValue);\n snappableSlides.push(childrenLength);\n for (let index = 1; index <= currentSlidesPerPage; index++) {\n const indexOfSlideCopy = 0 - incrementValue * index;\n // Ignore all indices without slides or copies of slides\n if (currentSlidesPerPage + indexOfSlideCopy >= 0) {\n snappableSlides.push(indexOfSlideCopy);\n }\n }\n snappableSlides.sort((a, b) => a - b);\n return snappableSlides;\n }, [currentSlidesPerPage, childrenLength, increment]);\n const slideToNextSlide = React.useCallback(() => {\n changeSlide(extendedIndex + (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const slideToPreviousSlide = React.useCallback(() => {\n changeSlide(extendedIndex - (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const handleScroll = useThrottleCallback(React.useCallback(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const slidesInner = slidesElement.children;\n if (slidesInner.length === 0) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n const firstOffsetLeft = slidesInner.item(0).offsetLeft;\n // sometimes the scroll positions we get from the browsers are off by way more than 1px so simply rounding up or down does not work\n const scrollIndex = Array.from(slidesInner).findIndex((element) => Math.abs(element.offsetLeft - firstOffsetLeft - scrollLeft) < 10);\n if (scrollIndex === -1) {\n // not even close to the edge of a tile\n return;\n }\n if (endlessScrolling) {\n const scrollPosition = theme.direction === 'rtl' ? -1 * scrollLeft : scrollLeft;\n const secondSlideStart = slidesInner[1].offsetLeft;\n if (Math.floor(scrollPosition) <= secondSlideStart) {\n // Overflow on the left side\n // when we reach the second slide, so the first one is still visible for fading edges\n setExtendedIndex(childrenLength - currentSlidesPerPage);\n changeSlide(childrenLength - currentSlidesPerPage, false);\n return;\n }\n const lastSlideStart = slidesInner[slidesInner.length - 1].offsetLeft;\n const slidesWidth = slidesElement.getBoundingClientRect().width;\n if (Math.ceil(scrollPosition + slidesWidth) >= lastSlideStart) {\n // Overflow on the right side\n // when we reach the second last slide, so the last one is still visible for fading edges\n setExtendedIndex(0);\n changeSlide(0, false);\n return;\n }\n const endlessScrollIndex = scrollIndex - currentSlidesPerPage - 1;\n if (endlessScrollIndex !== extendedIndex) {\n setExtendedIndex(endlessScrollIndex);\n }\n }\n else {\n if (scrollIndex !== extendedIndex) {\n setExtendedIndex(scrollIndex);\n }\n }\n }, [\n changeSlide,\n childrenLength,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n theme.direction,\n ]));\n React.useEffect(() => {\n if (externalHandleChange) {\n externalHandleChange(extendedIndex);\n }\n }, [extendedIndex, externalHandleChange]);\n // this is called when control elements change the index\n const handleChange = React.useCallback((nextIndex, animate) => {\n // find previous snappableIndex counting from nextIndex,\n // i.e. beginning of page containing nextIndex\n const snappableArrayIndex = snappableExtendedIndices.findIndex((value) => value > nextIndex) - 1;\n const snappableTargetIndex = snappableExtendedIndices[snappableArrayIndex] || 0;\n changeSlide(snappableTargetIndex, animate);\n }, [changeSlide, snappableExtendedIndices]);\n // reset scroll position when basic props change\n // biome-ignore lint/correctness/useExhaustiveDependencies: should not update on changes to extendedIndex\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n changeSlide(extendedIndex, false);\n }, [changeSlide, childrenLength, currentSlidesPerPage, endlessScrolling]);\n // When endlessScrolling is set scroll to starting position.\n React.useEffect(() => {\n if (endlessScrolling) {\n changeSlide(0, false);\n setExtendedIndex(0);\n }\n }, [changeSlide, endlessScrolling]);\n // Add and remove resize listeners\n React.useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n React.useEffect(() => {\n updateSlidesPerPage();\n }, [updateSlidesPerPage, slidesPerPage]);\n React.useEffect(() => {\n updateFadingEdges();\n }, [updateFadingEdges, fadingEdges]);\n // When react moves around galleries in the DOM, browsers sometimes reset their scrollLeft to 0.\n // Reset the scroll position to the appropriate value.\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n if ((endlessScrolling || extendedIndex !== 0) && scrollLeft === 0) {\n changeSlide(extendedIndex, false);\n }\n });\n // fix index if slide has been deleted\n React.useEffect(() => {\n const newExtendedIndex = endlessScrolling\n ? (extendedIndex + childrenLength) % childrenLength\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n if (extendedIndex !== newExtendedIndex) {\n changeSlide(newExtendedIndex, false);\n }\n }, [\n extendedIndex,\n childrenLength,\n endlessScrolling,\n currentSlidesPerPage,\n changeSlide,\n ]);\n const index = React.useMemo(() => (extendedIndex + childrenLength) % childrenLength, [extendedIndex, childrenLength]);\n // accessibleExtendedIndices,\n // i.e. those that are fully visible\n const accessibleExtendedIndices = React.useMemo(() => {\n const firstAccessibleIndex = endlessScrolling\n ? extendedIndex\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n return Array.from({ length: currentSlidesPerPage }).map((_, index) => firstAccessibleIndex + index);\n }, [endlessScrolling, extendedIndex, childrenLength, currentSlidesPerPage]);\n // visibleIndices include accessibleExtendedIndices\n // slides of accessible duplicated slides.\n //\n // extendedIndex: -2 -1 0 1 2 3 4 5 6\n // index: 3 4 0 1 2 3 4 0 1\n //\n // e.g. if slide with (extended) index 5 is in the view, slides 0 is visible.\n // The slide component will render slide 5 (copy of slide 0) visible, too.\n const visibleIndices = React.useMemo(() => Array.from({ length: currentSlidesPerPage }).map((_, index) => (extendedIndex + index + childrenLength) % childrenLength), [currentSlidesPerPage, extendedIndex, childrenLength]);\n const galleryContextValue = React.useMemo(() => {\n return {\n index,\n extendedIndex,\n endlessScrolling: endlessScrolling || false,\n triggerChange: handleChange,\n triggerPrevious: slideToPreviousSlide,\n triggerNext: slideToNextSlide,\n getSlideId: (index) => `${id}__slide-${index}`,\n disableScrollSnap: (disabled = true) => setDisableSnap(disabled),\n slidesPerPage: currentSlidesPerPage,\n fadingEdges: currentFadingEdges,\n length: childrenLength,\n id: id,\n accessibleExtendedIndices,\n visibleIndices,\n snappableExtendedIndices,\n slidesRef: slides,\n };\n }, [\n accessibleExtendedIndices,\n childrenLength,\n currentFadingEdges,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n handleChange,\n id,\n index,\n slideToNextSlide,\n slideToPreviousSlide,\n snappableExtendedIndices,\n visibleIndices,\n slides,\n ]);\n const slideData = React.useMemo(() => {\n const leadingSlides = [];\n const slides = [];\n const trailingSlides = [];\n React.Children.toArray(children)\n .filter(React.isValidElement)\n .forEach((child, index) => {\n slides.push({\n key: child.key,\n value: {\n index,\n },\n child,\n });\n // Only render copies of slides when endlessScrolling is enabled and\n // we have more children than can be show on a single page\n if (endlessScrolling && childrenLength > currentSlidesPerPage) {\n if (index < currentSlidesPerPage + 1) {\n const id = childrenLength + index;\n trailingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n if (index > childrenLength - currentSlidesPerPage - 2) {\n const id = index - childrenLength;\n leadingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n }\n });\n return [...leadingSlides, ...slides, ...trailingSlides];\n }, [children, childrenLength, currentSlidesPerPage, endlessScrolling]);\n const mediaGalleryContextValue = React.useMemo(() => {\n const mediaGalleryState = {\n // for now we just add the values needed for the lentils\n activeIndex: index,\n slideLength: childrenLength,\n slideKeys: React.Children.toArray(children)\n .filter(React.isValidElement)\n .map((child) => child.key),\n // the following values are not maintained, but they are not needed for the lentils\n lastIndex: NaN,\n animate: false,\n dragStartPosition: NaN,\n dragStartTime: NaN,\n dragEnabled: false,\n slidePosition: NaN,\n };\n const dispatch = (action) => {\n // we currently only handle the lentils' SLIDE_CHANGE action\n if (action.type === 'SLIDE_CHANGE') {\n handleChange(action.index);\n }\n };\n return {\n state: mediaGalleryState,\n dispatch,\n getState: () => mediaGalleryState,\n };\n }, [children, childrenLength, handleChange, index]);\n return (React.createElement(GalleryContext.Provider, { value: galleryContextValue },\n React.createElement(MediaGalleryContext.Provider, { value: mediaGalleryContextValue },\n React.createElement(StyledCarousel, Object.assign({ id: id, tabIndex: -1, \"aria-label\": ariaLabel, role: \"region\", \"aria-roledescription\": \"carousel\", \"aria-labelledby\": ariaLabelledby }, commonProps),\n topElements,\n React.createElement(ChildContainerTabIndexManager, { childContainerSelector: '[data-accessible]', activeChildContainerSelector: '[data-accessible=\"true\"]' },\n React.createElement(StyledSlides, { ref: slides, onScroll: handleScroll, \"aria-atomic\": \"false\", \"aria-live\": \"polite\", slidesPerPage: currentSlidesPerPage, fadingEdges: currentFadingEdges, gutter: currentGutter, tabIndex: 0, disableSnap: disableSnap }, slideData.map(({ key, value, child }) => (React.createElement(GallerySlideContext.Provider, { key: key, value: value }, child))))),\n bottomElements))));\n};\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from '.';\nimport { CTA } from '../call-to-action';\nimport { ChevronLeft, ChevronRight } from '@volkswagen-onehub/icons-core';\nconst StyledArrowWrapper = styled.div.withConfig({ displayName: \"StyledArrowWrapper\", componentId: \"sc-1w8267r\" }) `position:absolute;top:50%;right:0;left:0;display:flex;justify-content:space-between;padding:0 ${(props) => props.theme.size.static150};transform:translateY(-50%);pointer-events:none;button{pointer-events:initial;}`;\nexport const ArrowButtons = ({ ariaHidden, buttonNextAriaLabel, buttonPreviousAriaLabel, }) => {\n const { triggerNext, triggerPrevious, length, slidesPerPage, index, endlessScrolling, } = React.useContext(GalleryContext);\n if (length <= slidesPerPage) {\n return null;\n }\n return (React.createElement(StyledArrowWrapper, null,\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerPrevious, ariaLabel: buttonPreviousAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index === 0 && !endlessScrolling, icon: React.createElement(ChevronLeft, { variant: \"small\", ariaHidden: true }) }),\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerNext, ariaLabel: buttonNextAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index + slidesPerPage === length && !endlessScrolling, icon: React.createElement(ChevronRight, { variant: \"small\", ariaHidden: true }) })));\n};\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n\trequired?: boolean;\n}\n\nexport function TextInputField(props: InputProps) {\n\tconst { name, label, empty, required } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [errorValue, setErrorValue] = useState(false);\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetErrorValue(false);\n\n\t\tif (/\\d/.test(value) || value.trim().length < 3) {\n\t\t\tsetErrorValue(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{errorValue && Introduce un valor correcto}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { styled, TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n}\n\nexport function EmailField(props: InputProps) {\n\tconst { name, label, empty } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [error, setError] = useState(false);\n\tconst regExp =\n\t\t/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetError(false);\n\n\t\tif (!regExp.test(value)) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{error && Ejemplo: nombre@email.com}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst ArrowContainer = styled.div`\n\tmargin-top: -25px;\n\tmargin-bottom: 40px;\n\ttext-align: center;\n\twidth: 100%;\n\tposition: relative;\n\tz-index: 1;\n`;\n\nexport const Arrow = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextArea } from '@volkswagen-onehub/components-core';\n\ninterface TextareaProps {\n\tname: string;\n\tlabel?: string;\n}\n\nexport function TextAreaField(props: TextareaProps) {\n\tconst { name, label } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\n\tconst handleChange = (e: any) => {\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: e.target.value } });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t