{"version":3,"file":"vw-oneform-feature-app.umd.js","mappings":"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CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,OACD,CAAC,UACD,CAAC,SAAU,SAAU,UACrB,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,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,QACD,CAAC,OACD,CAAC,QACD,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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WACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,YAAa,WACbC,YAAa,gBACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,YAAa,WACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,WACbC,YAAa,mBACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,YAAa,WACbC,YAAa,qBACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,OACbC,YAAa,WACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,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,CACExjE,MAAO,aAIb,CACEsjE,YAAa,eACbC,YAAa,WACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,YAAa,eACbC,YAAa,gBACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE,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,CACExjE,MAAO,aAIb,CACEsjE,YAAa,aACbE,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,aACbC,YAAa,WACbC,QAAS,CACP,CACExjE,MAAO,WAET,CACEyjE,WAAY,MAEd,CACEf,OAAQ,MAId,CACEY,YAAa,aACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,aACbC,YAAa,cACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,aACbC,YAAa,mBACbC,QAAS,CACP,CACExjE,MAAO,aAIb,CACEsjE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CCnN,KAAM,OACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,QACNmN,MAAO,QAER,CACCnN,KAAM,MACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,MACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,aAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,aAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,kBAER,CACCnN,KAAM,oBACNmN,MAAO,MAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,MAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,oCAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,aAER,CACCnN,KAAM,eACNmN,MAAO,YAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,2CACNmN,MAAO,QAER,CACCnN,KAAM,0CACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,UAER,CACCnN,KAAM,gCACNmN,MAAO,MAER,CACCnN,KAAM,gBACNmN,MAAO,aAER,CACCnN,KAAM,iBACNmN,MAAO,YAER,CACCnN,KAAM,oBACNmN,MAAO,aAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uCACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,uCACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,SC5pEIknF,EAAqBt1C,GAC1B,CACN,CACC/+C,KAAM,KACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MACC,mKAEF,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,OACNmN,MAAO,sCAER,CACCnN,KAAM,cACNmN,MAAO4xC,GAAc,uBAEtB,CACC/+C,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,cAER,CACCnN,KAAM,sBACNmN,MAAO,4BAER,CACCnN,KAAM,gBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,WAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,SAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,cAER,CACCnN,KAAM,qBACNmN,MAAO,gCAER,CACCnN,KAAM,eACNmN,MAAO,iBAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,aAER,CACCnN,KAAM,WACNmN,MAAO,0BAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,MAER,CACCnN,KAAM,uBACNmN,MAAO,sBAER,CACCnN,KAAM,0BACNmN,MAAO,6BAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,UCzJGsnF,EAAkB,CAC9B,CACCz0F,KAAM,KACNmN,MAAO,SAER,CACCnN,KAAM,aACNmN,MACC,+IAEF,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,OACNmN,MAAO,gBAER,CACCnN,KAAM,cACNmN,MAAO,gCAER,CACCnN,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,wCACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,KAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,qBAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,qBAER,CACCnN,KAAM,qBACNmN,MAAO,MAER,CACCnN,KAAM,qBACNmN,MAAO,cAER,CACCnN,KAAM,eACNmN,MAAO,MAER,CACCnN,KAAM,6BACNmN,MAAO,MAER,CACCnN,KAAM,4BACNmN,MAAO,KAER,CACCnN,KAAM,0BACNmN,MAAO,sBAER,CACCnN,KAAM,uBACNmN,MAAO,KAER,CACCnN,KAAM,gBACNmN,MAAO,sBAER,CACCnN,KAAM,0BACNmN,MAAO,sBAER,CACCnN,KAAM,wBACNmN,MAAO,sBAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,yBAER,CACCnN,KAAM,yBACNmN,MAAO,cAER,CACCnN,KAAM,eACNmN,MAAO,cAER,CACCnN,KAAM,kBACNmN,MAAO,cAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,gBAER,CACCnN,KAAM,iBACNmN,MAAO,uBCpRIgnF,EAAsBA,CAACW,EAAyB/1C,IACrD,CACN,CACC/+C,KAAM,KACNmN,MAAO,UAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,KACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,OACNmN,MAAO,aAER,CACCnN,KAAM,mBACNmN,MAAO,gBAER,CACCnN,KAAM,WACNmN,MAAO,iBAER,CACCnN,KAAM,YACNmN,MAAO,kBAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,cACNmN,MAAO4xC,GAAc,uBAEtB,CACC/+C,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,uBAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,uBAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,sBAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,UACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,KAER,CACCnN,KAAM,uBACNmN,MAAO,6BAER,CACCnN,KAAM,SACNmN,MAAO,SAER,CACCnN,KAAM,UACNmN,MAAO2nF,EAAgB,aAAe,WAEvC,CACC90F,KAAM,sBACNmN,MAAO,aAER,CACCnN,KAAM,cACNmN,MAAO,WAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,iBAER,CACCnN,KAAM,kBACNmN,MAAO,6BAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,aAER,CACCnN,KAAM,8BACNmN,MAAO,UAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,4BAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uCACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,uCACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,SAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,SAER,CACCnN,KAAM,UACNmN,MAAO,SAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,SCpyBGonF,EAAwBP,GAC7B,CACN,CACCh0F,KAAM,KACNmN,MAAO,WAER,CACCnN,KAAM,aACNmN,MACC,iJAEF,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,OACNmN,MAAO,mBAER,CACCnN,KAAM,cACNmN,MAAO,gCAER,CACCnN,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,YACNmN,MAAO,UAER,CACCnN,KAAM,wBACNmN,MAAO,KAER,CACCnN,KAAM,yBACNmN,MAAO,KAER,CACCnN,KAAM,+BACNmN,MAAO6mF,EAAc,WAAa,qBAEnC,CACCh0F,KAAM,qBACNmN,MAAO,cAER,CACCnN,KAAM,WACNmN,MAAO6mF,EAAc,oBAAsB,qBAE5C,CACCh0F,KAAM,UACNmN,MAAO6mF,EAAc,YAAc,YAEpC,CACCh0F,KAAM,eACNmN,MAAO,gBAER,CACCnN,KAAM,2BACNmN,MAAO,IAER,CACCnN,KAAM,2BACNmN,MAAO,KAER,CACCnN,KAAM,sBACNmN,MAAO,KAER,CACCnN,KAAM,gBACNmN,MAAO6mF,EAAc,OAAS,QAE/B,CACCh0F,KAAM,kBACNmN,MAAO,WAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,KAER,CACCnN,KAAM,kBACNmN,MAAO,mBAER,CACCnN,KAAM,eACNmN,MAAO,MAER,CACCnN,KAAM,kBACNmN,MAAO6mF,EAAc,QAAU,SAEhC,CACCh0F,KAAM,sBACNmN,MAAO,cAER,CACCnN,KAAM,sBACNmN,MAAO,gBAER,CACCnN,KAAM,gBACNmN,MAAO,sBAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO6mF,EAAc,QAAU,SAEhC,CACCh0F,KAAM,6BACNmN,MAAO,MAER,CACCnN,KAAM,6BACNmN,MAAO,KAER,CACCnN,KAAM,8BACNmN,MAAO,MCrLGinF,EAAer1C,GACpB,CACN,CACC/+C,KAAM,KACNmN,MAAO,QAER,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,aAER,CACCnN,KAAM,WACNmN,MAAO,aAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,aAER,CACCnN,KAAM,QACNmN,MAAO,uBAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,sBAKR,CACCnN,KAAM,aACNmN,MACC,+IAEF,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,uBAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,QACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MACC,wKAEF,CACCnN,KAAM,QACNmN,MAAO,QAER,CACCnN,KAAM,MACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,6CAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,qBAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,OAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,cACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO4xC,GAAc,gCAEtB,CACC/+C,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,qBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,cAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,iCACNmN,MAAO,MAER,CACCnN,KAAM,iCACNmN,MAAO,SAER,CACCnN,KAAM,WACNmN,MAAO,cAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,8BAER,CACCnN,KAAM,iBACNmN,MAAO,sBAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,gBAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,aAER,CACCnN,KAAM,0BACNmN,MAAO,iBAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,aAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,WAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,cAER,CACCnN,KAAM,kCACNmN,MAAO,uBAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,2CACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,6BAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,0BACNmN,MAAO,OAER,CACCnN,KAAM,4BACNmN,MAAO,WAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,gCAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,gCAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,sBAER,CACCnN,KAAM,4BACNmN,MAAO,wBAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,SAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,SAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,0CACNmN,MAAO,SAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,UAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,uBAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,gBAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,6CACNmN,MAAO,QAER,CACCnN,KAAM,4CACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,sBAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,+BAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,OAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SC77BG8mF,EAAgBA,CAACa,EAAyB/1C,IAC/C,CACN,CACC/+C,KAAM,KACNmN,MAAO,UAER,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,WACNmN,MAAO,gBAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,kCAER,CACCnN,KAAM,oBACNmN,MAAO,aAER,CACCnN,KAAM,sBACNmN,MAAO,wCAER,CACCnN,KAAM,uBACNmN,MACC,wLAKF,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,MAER,CACCnN,KAAM,aACNmN,MACC,qJAGF,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,sBAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MACC,wKAEF,CACCnN,KAAM,iBACNmN,MACC,uKAEF,CACCnN,KAAM,WACNmN,MAAO,6CAER,CACCnN,KAAM,QACNmN,MAAO,QAER,CACCnN,KAAM,MACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,MACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,OAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,cACNmN,MAAO4xC,GAAc,gCAEtB,CACC/+C,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,qBACNmN,MAAO,gCAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,sBAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MACC,wKAEF,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,sBAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,qCACNmN,MAAO,mBAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,cAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,8FAER,CACCnN,KAAM,qBACNmN,MAAO,cAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,uBAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,SAER,CACCnN,KAAM,yCACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,2BAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,aAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,OAER,CACCnN,KAAM,mCACNmN,MAAO,OAER,CACCnN,KAAM,qCACNmN,MAAO,OAER,CACCnN,KAAM,kCACNmN,MAAO,OAER,CACCnN,KAAM,4BACNmN,MAAO,OAER,CACCnN,KAAM,kCACNmN,MAAO,OAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,KAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,KAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,UAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,cAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,mCACNmN,MAAO,sDAER,CACCnN,KAAM,gBACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,MAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,sBAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,aAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oCACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,4CACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,SAER,CACCnN,KAAM,kCACNmN,MAAO,SAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,kCACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,SAER,CACCnN,KAAM,qCACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,uCACNmN,MAAO,QAER,CACCnN,KAAM,6CACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,SAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,SC79BGqnF,EAAe,CAC3B,CACCx0F,KAAM,KACNmN,MAAO,SAER,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,0BACNmN,MAAO,cAER,CACCnN,KAAM,4BACNmN,MAAO,cAKR,CACCnN,KAAM,aACNmN,MACC,iJAEF,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,sBAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,sBAER,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,eACNmN,MAAO,sBAER,CACCnN,KAAM,gBACNmN,MAAO,cAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,OACNmN,MAAO,wBAER,CACCnN,KAAM,SACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,OAER,CACCnN,KAAM,cACNmN,MAAO,YAER,CACCnN,KAAM,cACNmN,MAAO,OAER,CACCnN,KAAM,cACNmN,MAAO,gCAER,CACCnN,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,qBAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,wCACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,KAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,YAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,SAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,sBAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SCviBImnF,EAAkBN,GACvB,CACN,CACCh0F,KAAM,KACNmN,MAAO,WAER,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,OACNmN,MAAO,qBAER,CACCnN,KAAM,qBACNmN,MAAO6mF,EAAc,OAAS,QAE/B,CACCh0F,KAAM,4BACNmN,MAAO,YAKR,CACCnN,KAAM,aACNmN,MACC,2JAEF,CACCnN,KAAM,UACNmN,MAAO,sBAER,CACCnN,KAAM,YACNmN,MAAO,SAER,CACCnN,KAAM,gBACNmN,MAAO6mF,EAAc,OAAS,QAE/B,CACCh0F,KAAM,kBACNmN,MAAO,wBAER,CACCnN,KAAM,kBACNmN,MAAO,OAER,CACCnN,KAAM,cACNmN,MAAO,gCAER,CACCnN,KAAM,cACNmN,MAAO,sBAER,CACCnN,KAAM,mBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,sBAER,CACCnN,KAAM,iBACNmN,MAAO,gCAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,aACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,QAER,CACCnN,KAAM,YACNmN,MAAO,YAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,UACNmN,MAAO,QAER,CACCnN,KAAM,cACNmN,MAAO,UAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,WACNmN,MAAO,QAER,CACCnN,KAAM,iBACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,cAER,CACCnN,KAAM,mBACNmN,MAAO,8FAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,SAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,mCACNmN,MAAO,QAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,uBACNmN,MAAO,MAER,CACCnN,KAAM,uBACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,KAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,6BACNmN,MAAO,gBAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO6mF,EAAc,QAAU,QAEhC,CACCh0F,KAAM,mBACNmN,MAAO,gBAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,mBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,+BACNmN,MAAO,KAER,CACCnN,KAAM,gCACNmN,MAAO,SAER,CACCnN,KAAM,8BACNmN,MAAO,OAER,CACCnN,KAAM,0BACNmN,MAAO,OAER,CACCnN,KAAM,8BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,KAER,CACCnN,KAAM,8BACNmN,MAAO,WAER,CACCnN,KAAM,uBACNmN,MAAO,+BAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO6mF,EAAc,QAAU,SAEhC,CACCh0F,KAAM,eACNmN,MAAO,SAER,CACCnN,KAAM,uBACNmN,MAAO,oBAER,CACCnN,KAAM,yBACNmN,MAAO,KAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,qBACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,KAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,8CACNmN,MAAO,cAER,CACCnN,KAAM,iBACNmN,MAAO,SAER,CACCnN,KAAM,sBACNmN,MAAO6mF,EAAc,QAAU,SAEhC,CACCh0F,KAAM,mBACNmN,MAAO,QAER,CACCnN,KAAM,yBACNmN,MAAO,WAER,CACCnN,KAAM,yBACNmN,MAAO,QAER,CACCnN,KAAM,4CACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,gCACNmN,MAAO,OAER,CACCnN,KAAM,2BACNmN,MAAO,QAER,CACCnN,KAAM,eACNmN,MAAO,QAER,CACCnN,KAAM,yCACNmN,MAAO,cAER,CACCnN,KAAM,iCACNmN,MAAO,cAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,kBACNmN,MAAO,QAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,QAER,CACCnN,KAAM,wBACNmN,MAAO,SAER,CACCnN,KAAM,yBACNmN,MAAO6mF,EAAc,QAAU,SAEhC,CACCh0F,KAAM,wBACNmN,MAAO,QAER,CACCnN,KAAM,sBACNmN,MAAO,SAER,CACCnN,KAAM,iCACNmN,MAAO,QAER,CACCnN,KAAM,oBACNmN,MAAO,SAER,CACCnN,KAAM,4BACNmN,MAAO,OAER,CACCnN,KAAM,gCACNmN,MAAO,QAER,CACCnN,KAAM,iCACNmN,MAAO,OAER,CACCnN,KAAM,wBACNmN,MAAO,UAER,CACCnN,KAAM,0BACNmN,MAAO,QAER,CACCnN,KAAM,6BACNmN,MAAO,QAER,CACCnN,KAAM,gBACNmN,MAAO,UCxbGunF,EAAgB,CAC5B,CACC10F,KAAM,KACNmN,MAAO,UAER,CACCnN,KAAM,KACNmN,MAAO,sBAER,CACCnN,KAAM,yBACNmN,MAAO,WAER,CACCnN,KAAM,qBACNmN,MAAO,SAER,CACCnN,KAAM,cACNmN,MAAO,aAER,CACCnN,KAAM,+BACNmN,MAAO,SAER,CACCnN,KAAM,i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AC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K,IAAAA,cAAC+5K,GAAa,CAACC,UAAU,YACzBh6K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,EAAI,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,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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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/./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/./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/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/InputWidthWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/GeneralInputWidthWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ContactoInfoWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/GeneralConfirmacionLayerWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/WhiteLinkWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/GeneralConfirmacionWrapper.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/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/./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/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/NuevaCitaPosventaFormController.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/ChecksEnvio.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/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/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/forms/FormsAdhoc/TheOriginals2025/TheOriginalsForm.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/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 sendMultipartFiles = async (\n\tformData: FormData\n): Promise> => {\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/files/store`, 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 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 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","import * as React from 'react';\nexport var ChevronDown = 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: \"m1.216 2.805 4.746 4.962.043.046.04-.041 4.738-4.966.962.918L7.01 8.686A1.4 1.4 0 0 1 6 9.195a1.37 1.37 0 0 1-1.004-.514L.255 3.725z\" }));\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: \"M3.698 12.641 22.655 32.46c1.085 1.159 1.482 1.338 2.732.005l18.912-19.822 1.447 1.381L26.84 33.839a3.94 3.94 0 0 1-2.842 1.52 3.88 3.88 0 0 1-2.797-1.526L2.252 14.023z\" }));\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: \"M12 18.999c-.45 0-.873-.178-1.189-.5L1.025 8.502l.95-.93 9.785 9.996a.34.34 0 0 0 .48-.001l9.784-9.995.951.93-9.785 9.996c-.317.324-.74.501-1.19.501\" }));\n }\n return null;\n}, { displayName: 'ChevronDown' }));\n","import * as React from 'react';\nimport { ChevronDown } from '@volkswagen-onehub/icons-core';\nimport { styled, css } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { getAuxillaryColor } from '../helpers/input';\nimport { InputNotification } from '../helpers/input-notification';\nconst ANIMATION_FUNCTION = '0.3s cubic-bezier(0.14, 1.12, 0.67, 0.99)';\nconst selectHeight = '50'; // static size of the input field, we don't have a token to represent this number currently; add in the future if needed\nconst iconDefaultVariantSize = '24'; // default icon size, 24x24px\n// the icon needs to be moved up by the size of the wrapper's bottom padding\nconst StyledIconWrapper = styled.span.withConfig({ displayName: \"StyledIconWrapper\", componentId: \"sc-jne68a\" }) `position:absolute;top:${(parseInt(selectHeight) - parseInt(iconDefaultVariantSize)) / 2}px;right:${({ theme }) => theme.size.static250};display:flex;justify-content:flex-end;pointer-events:none;transition:${({ theme }) => `transform ${ANIMATION_FUNCTION}, color ${theme.animation.timingFunction.cubicOut} ${theme.animation.duration.color}`};align-items:center;white-space:nowrap;`;\nconst StyledLabelText = styled.span.withConfig({ displayName: \"StyledLabelText\", componentId: \"sc-62bnde\" }) `font-size:${({ theme }) => theme.fonts.label[100].fontSize};width:100%;display:block;margin:0;padding:0;color:${({ isFloating, theme }) => isFloating ? 'transparent' : theme.colors.content.active};pointer-events:none;visibility:${({ isFloating }) => (isFloating ? 'hidden' : 'initial')};max-height:${({ isFloating, theme }) => isFloating ? '0' : `${theme.size.static250}`};transition:${({ theme }) => `max-height ${theme.animation.timingFunction.cubicOut} ${theme.animation.duration.color}`};`;\nconst StyledSelect = styled.select.withConfig({ displayName: \"StyledSelect\", componentId: \"sc-131xm3f\" }) `appearance:none;box-shadow:none;opacity:unset;pointer-events:auto;height:auto;width:100%;padding:0;padding-top:1px;${({ theme }) => theme.direction === 'rtl'\n ? css `\n\t\t\t\t\tpadding-left: ${theme.size.static400};\n\t\t\t\t`\n : css `\n\t\t\t\t\tpadding-right: ${theme.size.static400};\n\t\t\t\t`} color:inherit;background:transparent;font-size:${({ theme }) => theme.fonts.copy[200].fontSize};font-family:${({ theme }) => theme.fonts.copy[200].fontFamily};outline:none;border:none;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};transition:${({ theme }) => `all ${theme.animation.timingFunction.cubicOut} ${theme.animation.duration.color}`};&:focus{color:${({ theme }) => theme.colors.content.primary};}option{color:initial;&:disabled{color:revert;}}`;\nconst StyledLabelTextWithFloating = styled.span.withConfig({ displayName: \"StyledLabelTextWithFloating\", componentId: \"sc-e96ov\" }) `transition:${({ theme }) => `all ${theme.animation.timingFunction.cubicOut} ${theme.animation.duration.color}`};position:absolute;bottom:0;left:0;color:inherit;${({ hasValue, theme }) => {\n // Label-style, above the input\n if (hasValue) {\n return css `\n\t\t\t\tbottom: 100%;\n\t\t\t\tcursor: initial;\n\t\t\t\tfont-size: ${theme.fonts.label[100].fontSize};\n\t\t\t\tpadding: 0;\n\t\t\t`;\n }\n // Placeholder style, \"inside\" the input\n return css `\n\t\t\tbottom: 0;\n\t\t\tcursor: text;\n\t\t\tfont-size: ${theme.fonts.copy[200].fontSize};\n\t\t\tpadding: ${theme.size.static100} 0;\n\t\t`;\n}} ${StyledSelect}:focus ~ &{bottom:100%;}`;\nconst StyledLabel = styled.label.withConfig({ displayName: \"StyledLabel\", componentId: \"sc-1wmcxnr\" }) `position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;height:${selectHeight}px;color:${({ disabled, theme }) => theme.colors.content[disabled ? 'disabled' : 'primary']};pointer-events:none;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'auto')};padding:0 ${({ theme }) => theme.size.static250};box-shadow:0 0 0 ${({ theme }) => theme.size.border.light} ${getAuxillaryColor};border-radius:${({ theme }) => theme.size.static150};${({ appearance }) => !appearance &&\n css `\n\t\t\t&:focus-within {\n\t\t\t\tbox-shadow: 0 0 0 ${({ theme }) => theme.size.border.heavy}\n\t\t\t\t\t${({ theme }) => theme.colors.focus.main};\n\t\t\t}\n\t\t`} &:focus-within ${StyledLabelTextWithFloating},&:focus-within ${StyledLabelText}{padding:${({ theme }) => theme.size.static0};font-size:${({ theme }) => theme.fonts.label[100].fontSize};}${({ appearance }) => (appearance === 'success' || appearance === 'error') &&\n css `\n\t\t\tbox-shadow: 0 0 0 ${({ theme }) => theme.size.border.heavy}\n\t\t\t\t${getAuxillaryColor};\n\t\t`} ${({ hasValue, theme }) => hasValue &&\n css `\n\t\t\t${StyledLabelText} {\n\t\t\t\tmax-height: ${theme.size.static250};\n\t\t\t}\n\t\t`} ${({ theme, disabled, appearance }) => !disabled &&\n !appearance &&\n css `\n\t\t\t:hover,\n\t\t\t:focus-within {\n\t\t\t\tcolor: ${theme.colors.content.hover};\n\t\t\t}\n\t\t\t:hover {\n\t\t\t\tbox-shadow: 0 0 0 ${({ theme }) => theme.size.border.light}\n\t\t\t\t\t${({ theme }) => theme.colors.border.hover};\n\t\t\t}\n\t\t\t:hover ${StyledLabelText} {\n\t\t\t\tcolor: ${theme.colors.content.hover};\n\t\t\t}\n\t\t`} ${({ isFloatingLabel, theme }) => isFloatingLabel &&\n css `\n\t\t\t/* On focus / while typing: Label-style, above the input */\n\t\t\t&:focus-within ${StyledLabelText} {\n\t\t\t\tmax-height: ${theme.size.static250};\n\t\t\t}\n\t\t`}`;\nconst StyledSelectWrapper = styled.div.withConfig({ displayName: \"StyledSelectWrapper\", componentId: \"sc-1jc3d6n\" }) `position:relative;`;\nexport const Select = (props) => {\n const ref = React.createRef();\n const labelRef = React.createRef();\n const { appearance, children, disabled, label, defaultValue, value, message, onFocus, onChange, onBlur, required, name, autoComplete, autoFocus, isFloating, } = props;\n const [hasValue, setHasValue] = React.useState(false);\n const [labelHeight, setLabelHeight] = React.useState(0);\n const [isFocused, setIsFocused] = React.useState(false);\n const handleChange = React.useCallback((e) => {\n if (onChange) {\n onChange(e, props);\n }\n setHasValue(true);\n }, [onChange, props]);\n React.useEffect(() => {\n if (ref.current &&\n ref.current.selectedIndex <= 0 &&\n ref.current.querySelector('option:first-child:disabled')) {\n ref.current.selectedIndex = -1;\n }\n else {\n setHasValue(true);\n }\n }, [ref]);\n React.useEffect(() => {\n var _a;\n setLabelHeight(((_a = labelRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) || 0);\n }, [labelRef]);\n const handleResize = React.useCallback(() => { var _a; return setLabelHeight(((_a = labelRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) || 0); }, [labelRef]);\n React.useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [handleResize]);\n const handleFocus = (event) => {\n setIsFocused(true);\n if (onFocus) {\n onFocus(event);\n }\n };\n const commonProps = getCommonProps(props);\n const errorMessage = appearance && message ? (React.createElement(InputNotification, { appearance: appearance, text: message, isFocused: isFocused, hideIcon: true })) : undefined;\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledLabel, Object.assign({ disabled: disabled, isFloatingLabel: isFloating, appearance: appearance, hasValue: hasValue }, commonProps),\n label && (React.createElement(StyledLabelText, { \"aria-hidden\": true, ref: labelRef, isFloating: isFloating },\n label,\n required && '*')),\n React.createElement(StyledSelectWrapper, null,\n React.createElement(StyledSelect, { autoComplete: autoComplete, disabled: disabled, required: required, ref: ref || undefined, defaultValue: defaultValue, value: value, onChange: handleChange, onFocus: handleFocus, onBlur: onBlur, name: name, autoFocus: autoFocus }, children),\n label && isFloating && (React.createElement(StyledLabelTextWithFloating, { hasValue: hasValue, labelHeight: labelHeight },\n label,\n required && '*'))),\n React.createElement(StyledIconWrapper, null,\n React.createElement(ChevronDown, { variant: \"default\", ariaHidden: true }))),\n errorMessage));\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 { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError, TextInputExtended } from 'src/components';\n\n\nconst Wrapper = styled.div`\n width: 100%;\n margin-top: 12px;\n label {\n width: 100%;\n @media screen and (min-width: 960px) {\n width: 170px;\n }\n }\n`;\n\ninterface CodigoPostalProps {\n setFieldValue?: boolean;\n}\n\nexport const CodigoPostal = ({ setFieldValue = false }: CodigoPostalProps) => {\n const { register } = useFormContext();\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 } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { fetchTreatment, fetchTreatmentLegacy } from 'src/bff';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { SelectExtended } from './SelectExtended';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport const Trato = () => {\n const [options, setOptions] = useState([]);\n const dispatch = useDispatch();\n const isComerciales = useIsComerciales();\n\n useEffect(() => {\n const getTreatment = async () => {\n const response = isComerciales ? await fetchTreatment('LCV_DDB_FRM_LEM_REC_LEM') : await fetchTreatment('VW_DDB_FRM_LEM_REC_LEM');\n const options: SelectExtendedList[] = response.content.map((att, indx) => ({ name: att.attributes[0].value, code: att.attributes[0].name, key: String(indx) }));\n setOptions(options);\n dispatch({ type: 'UPDATE_FIELDS', payload: { trato: options[0].name } });\n };\n getTreatment();\n }, []);\n\n const handleChange = (event: React.SyntheticEvent) => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { trato: event.currentTarget.value } });\n };\n\n return (\n { }} />\n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { Apellido, Nombre, PaddingWrapper, LabelInputWidthWrapper } 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 = ({ notALayer }: pantallaNombreApellidoProps) => {\n const isComerciales = useIsComerciales();\n\n return (\n \n \n {isComerciales ? \n\t\t\n\t\t\t\n\t\t : null}\n \n \n \n \n \n \n \n \n \n \n \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 { fetchCountries } 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 { useIsComerciales } from 'src/feature-app';\nexport interface CountryProps {\n formToken?: string;\n notALayer?: boolean;\n noPaddingTop?: boolean;\n}\n\nexport function Country(props: CountryProps) {\n const { formToken, notALayer, noPaddingTop } = props;\n const { register, errors } = useFormContext();\n const [errorCountry, setErrorCountry] = useState(false);\n const { formData } = useSelector((state: OneFormState) => state);\n const { fields } = formData;\n\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 requestContries = async () => {\n const isComerciales = useIsComerciales() ? 'true' : 'false';\n const response = await fetchCountries(formToken);\n const countries = 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(countries);\n\n // Default country\n if(defaultCountryCode && defaultCountryName) {\n updateCountryValues('ES', 'España');\n }\n };\n\n useEffect(() => {\n requestContries();\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 setCountry(newCountryValue);\n const newCountry = list.find((country) => country.name === newCountryValue);\n if (newCountry) {\n updateCountryValues(newCountry.code, newCountry.name);\n }\n if (newCountryValue !== '') {\n setErrorCountry(false);\n }\n }\n\n const updateCountryValues = (countryCode: string, countryName: string) => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { countryCode, 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 { useOneFormContext } from 'src/feature-app/OneForm';\n\ninterface dniNifProps {\n\tname?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tnotALayer?: boolean;\n\tdisabled?: boolean;\n\tpaddingTop?: string;\n\tcheckLetter?: boolean;\n\tcheckLength?: boolean;\n}\n\nexport function DniNif(props: dniNifProps) {\n\tconst { required, notALayer, name, label, disabled, paddingTop, checkLetter, checkLength } = props;\n\n\tconst { register } = useFormContext();\n\tconst dispatch = useDispatch();\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 } from 'src/components';\nimport { TextInputExtended } from './TextInputExtended';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\n\ninterface DateProps {\n\tname?: string;\n\tvalue?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tminDate?: Dayjs;\n\tmaxDate?: Dayjs;\n}\n\nexport function Date(props: DateProps) {\n\tconst { register, errors } = useFormContext();\n\tconst { name, label, required, value, minDate, maxDate } = props;\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 isValidDate(value),\n\t\t\t\t})}\n\t\t\t\ttype=\"date\"\n\t\t\t\tonChange={(e) => handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t/>\n\t\t\t{inputError && Esta fecha no es válida}\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 PaddingWrapperProps {\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 {\n styled\n} from '@volkswagen-onehub/components-core';\n\ninterface IputWidthProps {\n notALayer?: boolean;\n}\n\nexport const InputWidthWrapper = styled.div`\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\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\ninterface WithProps {\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","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 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 { 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","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\n//Cita posventa\n\nexport interface CTAsMotivoDef {\n\tlabel: string;\n\tvalue: string;\n\tdetalles?: string | JSX.Element;\n\tdetallesPrevStep?: string;\n}\n\nexport const CTAsMotivo: CTAsMotivoDef[] = [\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: 'Chequeo',\n\t\tvalue: 'CHEQUEO',\n\t\tdetalles: 'el chequeo de tu coche',\n\t\tdetallesPrevStep: 'Chequeo'\n\t}, */\n\t{\n\t\tlabel: 'Actualización Software ID',\n\t\tvalue: 'OTROS',\n\t\tdetalles: 'Actualización Software ID',\n\t\tdetallesPrevStep: 'Actualización Software ID'\n\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\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';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nfunction OneElementTemplate(props: OneElementTemplateProps) {\n const { element, allowOverflowingContent } = 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\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 CTAsMotivo,\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';\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 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 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 styled,\n} from '@volkswagen-onehub/components-core';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n noPadding?: boolean;\n}\n\n// Refactorizar\nexport function OneElementTemplateFullScreen(props: OneElementTemplateProps) {\n const { element, allowOverflowingContent, noPadding = false } = 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: '0011i00001dahM6AAI',\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: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-07-12T14:28:35.000+0000',\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();\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 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 (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 { DealersData, MatchSelectedOptions, Offer } from 'src/types';\n\nexport type EmbeddedFeatureApp =\n\t| 'es-ofertas'\n\t| 'es-stock-teaser'\n\t| 'es-match'\n\t| 'es-calculadora'\n\t| 'es-maintenance-plan'\n\t| 'es-portal'\n\t| 'es-bono'\n\t| 'es-my-benefits'\n\t| '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'?:\n\t\t| 'CEM - VENTA'\n\t\t| 'CEM - VENTA PRODUCTO'\n\t\t| 'CEM - POSVENTA'\n\t\t| 'CEM - ONESHOP'\n\t\t| 'CEM - SEGUNDA ENTREGA - INVITACION'\n\t\t| 'CEM - SEGUNDA ENTREGA - VALORACION'\n\t\t| 'LEM'\n\t\t| 'NO COMPRA'\n\t\t| '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'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}\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 { 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\n useEffect(() => {\n const requestInstallations = async () => {\n\t\t\n\t\tconst installationsResponse = await getInstallations(token, domain);\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 { TrackingForm } from 'src/feature-app';\n\nexport interface NDPSField {\n name: string;\n value: string;\n}\n\nexport const getTrackingForm = (formResponse): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n //LeadID Molecular\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 }else if (formResponse && formResponse.content && formResponse.content.headers){\n //LeadID OneFormBFF\n const leadField: NDPSField = formResponse.content.headers.find(\n (header: NDPSField) => header.name === 'FK_SYSTEM'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\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","import { combineReducers } from 'redux';\nimport { VehiclesInfo, DealersInfo, FormDataGroup, FormInfo, OneFormState } from 'src/types';\nimport { vehiclesReducer, dealersReducer, formDataReducer, formInfoReducer } 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};\n\nexport const initialState: OneFormState = {\n formInfo: formInfoInitialState,\n formData,\n dealersInfo,\n vehiclesInfo,\n};\n\nexport const oneFormReducer = combineReducers({\n formData: formDataReducer,\n formInfo: formInfoReducer,\n dealersInfo: dealersReducer,\n vehiclesInfo: vehiclesReducer,\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 GeneralInputWidthWrapper,\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`;\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 \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, GeneralInputWidthWrapper } 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 \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\tif (kvps.substring(0, 3) == 'ESP') {\n\t\tkvps = kvps.substring(3);\n\t}\n\n\tif (kvps.substring(kvps.length - 1) == 'V') {\n\t\tkvps = kvps.substring(0, kvps.length - 1);\n\t}\n\n\tif (kvps.substring(kvps.length - 1) == 'N') {\n\t\tkvps = kvps.substring(0, kvps.length - 1);\n\t}\n\n\treturn kvps;\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) => {\n\tconst installationsRaw = await getInstallations('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_INSTALLATION_ALL');\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\tif (faContent.cem == 'POSVENTA' || faContent.encuesta == 'CEM - POSVENTA') {\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);\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\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 adviser = urlParams.get('adviser');\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(\n\t\t\t\tinstallation.KVPSCode__c,\n\t\t\t),\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]': 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 adviser = urlParams.get('adviser');\n\tconst agency = urlParams.get('agency');\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]': 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 (agency) {\n\t\t\tdata['flags[FLAG_AGENCY]'] = 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 * 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 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';\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:first-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\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\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\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
\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\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\tlet motivo: string;\n\t\tif (fields.masInformacion == 'Actualización Software ID') {\n\t\t\tmotivo = 'Actualización software ID';\n\t\t} else {\n\t\t\tfields.motivoLabel ? (motivo = fields.motivoLabel) : (motivo = fields.motivo);\n\t\t}\n\t\treturn 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 dayjs from 'dayjs';\nimport {\n\tBreakpoints,\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, CTAsMotivo, CTAsMotivoDef } 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';\n\nexport enum CitaPosventaSteps {\n\tMotivo,\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\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 { motivo } = formData.fields;\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\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 (!formData.fields || !formData.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((motivo) => motivo.value === formData.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 isMotivoSoftware = () => {\n\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === motivo);\n\t\treturn selectedMotivo?.detalles === 'Actualización Software ID';\n\t};\n\n\tuseEffect(() => {\n\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === motivo);\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...steps];\n\n\t\tif (isMotivoSoftware()) {\n\t\t\tnewSteps = removeStep(newSteps, 'MasInformacion');\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { masInformacion: 'Actualización Software ID' } });\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 && !isMotivoSoftware()) {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { masInformacion: '' } });\n\n\t\t\tconst formSteps = formInfo.steps;\n\n\t\t\tconst masInformacionIndex = formSteps.findIndex((step) => step.name === 'MasInformacion');\n\n\t\t\tif (masInformacionIndex !== -1) {\n\t\t\t\tformSteps[masInformacionIndex].title = updateTitle(selectedMotivo.detalles);\n\t\t\t}\n\t\t}\n\t}, [motivo]);\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\n\t\t\t),\n\t\t\talternateTitle: (\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\n\t\t\t),\n\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t{nextScreenIndex !== null && nextScreenIndex === 1 ? null : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSelecciona la razón principal de tu visita.\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\n\t\t\t\t\n\t\t\t),\n\t\t\thidePreviousStep: false,\n\t\t\tisFirstStep: true,\n\t\t\tscreenIndex: CitaPosventaSteps.Motivo,\n\t\t\tname: 'Motivo',\n\t\t\toutputs: ['motivo'],\n\t\t\toutputsText: ['motivo'],\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 ctaLabel = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo).label;\n\n\t\t\tconst appointmentNode = {\n\t\t\t\tappointment: {\n\t\t\t\t\tcomments: fields.masInformacion,\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}-1-1 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: fields.motivo, // Parametrizar [NEUMATICOS, OTROS, MANTENIMIENTO, CARROCERIA, REPARACION, ACCESORIOS, EA189, PREITV, ITV]\n\t\t\t\t\t\tname: ctaLabel === 'Actualización Software ID' ? 'Otros' : ctaLabel, // motivo literal excepto si es software tiene que tener el mismo valor que OTROS\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\tlet 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\tgroupBrand == 'N' ? '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\tgroupBrand == 'N' ? '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]': groupBrand == 'N' ? '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]': fields.masInformacion,\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-M-D 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]': 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: eapiResponse.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: CTAsMotivoDef = null;\n\t\tlet motivo: string;\n\t\tlet 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 motivo = urlParams.get('motivo');\n\t\t\tconst dealer = urlParams.get('dealer');\n\n\t\t\tif (motivo) {\n\t\t\t\tselectedMotivo = CTAsMotivo.find((CTAmotivo) => {\n\t\t\t\t\treturn CTAmotivo.value === motivo;\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\tmotivo = faContent?.motivo ? faContent.motivo : motivo;\n\t\tconst finalSteps = getFinalSteps(defaultSteps, motivo, observaciones);\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: isMotivoSoftware()\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) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheAlTaller']);\n\t\t}\n\t\tif (!dealer.dmsInfo?.replacementCarServiceAvailable) {\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 {\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, getMolecularUrl} from 'src/bff';\nimport {\n\tuseFeatureAppConfig,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour,\n\tuseTrackingManager,\n\tTrackingForm,\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\tconst getTrackingForm = (): TrackingForm => {\n\t\tlet LeadID;\n\t\tif (\n\t\t\tformResponse &&\n\t\t\tformResponse.contentNDPS &&\n\t\t\tformResponse.contentNDPS.data &&\n\t\t\tformResponse.contentNDPS.data.fields\n\t\t) {\n\t\t\tconst leadField: NDPSField = formResponse.contentNDPS.data.fields.find(\n\t\t\t\t(field: NDPSField) => field.name === 'COD_LEAD_ID',\n\t\t\t);\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t}\n\t\treturn {\n\t\t\tLeadID,\n\t\t\tFormFields: undefined,\n\t\t};\n\t};\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(),\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","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 Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { PantallaNombreApellido, CarlineSelect, DetalleMotivo, MultipleCTASelection } 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 { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport enum LEMContactadoSteps {\n Modelo,\n PeriodoContacto,\n ProximoContacto,\n TipoVisita,\n Comentario,\n EnviarConcesion,\n DatosPersonales,\n Confirmacion\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 [loadingPresubmit, setLoadingPresubmit] = useState(true);\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 ctasProximoContacto = [\n {\n label: 'Sí, una visita al punto de venta',\n value: 'Si, una visita al punto de venta'\n },\n {\n label: 'Sí, una llamada',\n value: 'Si, una llamada'\n },\n {\n label: 'Sí, una videollamada',\n value: 'Si, una videollamada'\n },\n {\n label: 'No, no estoy interesado',\n value: 'No, no estoy interesado'\n },\n {\n label: 'No, pero me hubiera gustado',\n value: 'No, pero me hubiera gustado'\n },\n ];\n\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: } />,\n screenIndex: LEMContactadoSteps.Modelo,\n name: 'Modelo',\n },\n {\n title: getPeriodoContactoTitle(checkIdLeadHasCarline(idLead)),\n fields: (\n }\n />\n ),\n screenIndex: LEMContactadoSteps.PeriodoContacto,\n name: 'PeriodoContacto',\n },\n {\n title: (\n <>\n ¿Habéis acordado un{' '}\n \n próximo{' '}\n \n contacto o cita?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: LEMContactadoSteps.ProximoContacto,\n name: 'ProximoContacto',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n ¿Quieres compartir tus valoraciones con el punto de venta?*\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: LEMContactadoSteps.EnviarConcesion,\n name: 'EnviarConcesion',\n trueOrFalseQuestion: true,\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: LEMContactadoSteps.DatosPersonales,\n name: 'DatosPersonales',\n },\n {\n title: (\n <>\n ¿Quieres añadir algún comentario adicional?\n \n ),\n fields: } />,\n screenIndex: LEMContactadoSteps.Comentario,\n name: 'Comentario',\n },\n {\n fields: ,\n screenIndex: LEMContactadoSteps.Confirmacion,\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\n\n useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n if (presubmit) {\n\t\tsendPresubmit();\n } else {\n\t\tsetLoadingPresubmit(false);\n }\n }, []);\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_04]': fields.proximoContacto,\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 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 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 } = 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 loading || loadingPresubmit || !steps ? 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, Email, PantallaNombreApellido, Telefono, ContactInfoWrapper, MultipleCTASelection, DetalleMotivo } 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 enum LEMNoContactadoSteps {\n Modelo,\n //NombreApellidos,\n EmailTelefono,\n Horario,\n Comentario,\n Confirmacion\n}\n\nexport function LEMNoContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, handleError, presubmit, trackFormLoad } = props;\n const [loadingPresubmit, setLoadingPresubmit] = useState(true);\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 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: LEMNoContactadoSteps.Modelo,\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: LEMNoContactadoSteps.NombreApellidos,\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: LEMNoContactadoSteps.EmailTelefono,\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: LEMNoContactadoSteps.Horario,\n name: 'Horario',\n },\n {\n title: (\n <>\n ¿Quieres añadir algun comentario adicional?\n \n ),\n fields: } />,\n screenIndex: LEMNoContactadoSteps.Comentario,\n name: 'Comentario',\n },\n {\n fields: ,\n screenIndex: LEMNoContactadoSteps.Confirmacion,\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 useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n if (presubmit) {\n if(checkIdLeadHasCarline(idLead) && dealersInfo.selectedCarline) {\n sendPresubmit();\n }\n else if(!checkIdLeadHasCarline(idLead)) {\n sendPresubmit();\n }\n } else {\n setLoadingPresubmit(false);\n }\n }, [dealersInfo]);\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\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 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 } = 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 loading || loadingPresubmit || !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 { 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 [installations, setInstallations] = useState(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');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\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 setAllInstallations();\n } \n else if (dpsData.push == 'true') {\n setContactado(dpsData.contactado === 'true');\n setAllInstallations();\n } \n else {\n setCaducado(true);\n }\n setLoading(false);\n }\n };\n\n const setAllInstallations = () => {\n getInstallations('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION').then((dealers) => {\n const installationsDomainAtt = dealers.map((inst) => inst.attributes);\n setInstallations(installationsDomainAtt);\n });\n }\n\n // Guardamos la instalacion por Id (idLead.Dealership__c)\n\tuseEffect(() => {\n if (installations && !installation) {\n const dpsData = oneFormService.getDpsData();\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n\n let found = false;\n let i = 0;\n while (i < installations.length && found === false) {\n const found = installations[i].find((ele: DomainAttributesValues) => {\n if (\n typeof ele.value != 'undefined' && typeof ele.name != 'undefined' &&\n (ele.name.includes('Id') &&\n ele.value.includes(idLead.Dealership__c))\n ) {\n return ele;\n }\n return false;\n });\n if (found) {\n setInstallation(arrayToObject(installations[i]));\n }\n i++;\n }\n }\n\t}, [installations]);\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 null\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Info } from 'src/icons-core-imports';\nimport { useDispatch } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\n\nconst LabelInfoWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n`;\n\nconst InfoWrapper = styled.div`\n margin-left: 16px;\n cursor: pointer;\n svg {\n fill: #001e50;\n }\n`;\n\nexport const ChecksEnvioLEM = () => {\n\n const ctaEnviarRespuesta = [\n { \n label: 'Mis respuestas pueden ser enviadas junto a mi nombre', value: '1' \n },\n {\n label: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre',\n extraInfo: '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 extraInfo: '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 ];\n\n const { handleNextStep } = useOneFormContext();\n const dispatch = useDispatch();\n const [firstCta, secondCta, thirdCta] = ctaEnviarRespuesta;\n const [firstOpen, setFirstOpen] = useState(false);\n const [secondOpen, setSecondOpen] = useState(false);\n\n const [checkedOne, setCheckedOne] = useState(false);\n const [checkedTwo, setCheckedTwo] = useState(false);\n const [checkedThree, setCheckedThree] = useState(false);\n\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n\n const handleOnClick = (e: any) => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { enviarConcesion: e.currentTarget.value } });\n setTimeout(\n () => {\n handleNextStep();\n }, 0\n );\n };\n\n return (\n
\n
\n {\n setValue(firstCta.value);\n setCheckedOne(true);\n setCheckedTwo(false);\n setCheckedThree(false);\n handleOnClick(e);\n }}\n checked={checkedOne}\n />\n
\n
\n \n {\n setValue(secondCta.value);\n setCheckedOne(false);\n setCheckedTwo(true);\n setCheckedThree(false);\n handleOnClick(e);\n }}\n checked={checkedTwo}\n />\n {\n e.preventDefault();\n setFirstOpen(!firstOpen);\n }}\n >\n \n \n \n {firstOpen ? (\n
\n \n {secondCta.extraInfo}\n \n
\n ) : null}\n
\n
\n \n {\n setValue(thirdCta.value);\n setCheckedOne(false);\n setCheckedTwo(false);\n setCheckedThree(true);\n handleOnClick(e);\n }}\n checked={checkedThree}\n />\n {\n e.preventDefault();\n setSecondOpen(!secondOpen);\n }}\n >\n \n \n \n {secondOpen ? (\n
\n \n {thirdCta.extraInfo}\n \n
\n ) : null}\n
\n \n
\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 {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { LastNavigation, PoliticaPrivacidad, GeneralConfirmacionLayerWrapper, LegalesFormatoLayer } from 'src/components';\nimport icon from './icon.svg'\nimport { useSelector, useStore } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { removePTags } from './helpers';\n\nconst PoliticaWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`\n\nexport const ConfirmacionLeadsNoQuestions = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const isLayer = formInfo?.formType === 'layer' || !formInfo?.notALayer;\n const store = useStore();\n const { dealersInfo }: OneFormState = store.getState();\n const { oferta } = dealersInfo;\n\n return (\n \n \n \n
\n \"icon\"\n
\n \n ¿Listo para enviar?\n \n \n \n \n \n \n {isLayer &&\n \n \n Texto legal de Volkswagen\n \n {oferta ? (\n \n {removePTags(oferta.legal)}\n \n ) : null}\n \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 { 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 React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseGetInstalaciones,\n\tuseGetWaidLitera,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n\tCarlineBase,\n\tFormDataGroup,\n\tFormDataHeaders,\n\tFormInfo,\n\tHorario,\n\tOneFormState,\n\tSteps,\n} from 'src/types';\nimport { ThankYouLeads } from '.';\nimport {\n\tformatFields,\n\tformatFlags,\n\tformatHeaders,\n\tformDataBuilder,\n\tgetDpsFields\n} from '../format-fields';\nimport {\n\tgetConfiguradorData,\n\tgetDescInterestCarline,\n\tgetMatchData,\n\tgetOfertasData,\n} from './helpers';\n\nexport enum LeadGenerico {\n Empezar,\n Mapa,\n Modelo,\n NombreApellido,\n EmailTelefono,\n Contacto,\n Confirmacion,\n}\n\nexport interface LeadGenericoFormProps {\n steps: Steps[];\n leadData: Partial;\n leadInfo: Partial;\n firstStep: Steps;\n lastStep: Steps;\n inPage?: boolean;\n isConfigurador?: boolean;\n}\n\nexport interface LeadsFormsProps {\n inPage?: boolean;\n isConfigurador?: boolean;\n isLeadDealer?: boolean;\n isOfertasOrMatch?: boolean;\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport const 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.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\t};\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\t};\n\n\nexport function LeadGenericoForm({\n steps,\n leadData,\n leadInfo,\n firstStep,\n lastStep,\n inPage,\n isConfigurador,\n}: LeadGenericoFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const installations = useGetInstalaciones('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_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 getHorario = (horario: Horario) => {\n let horarioField = null;\n\n if (horario) {\n const horarioFormatted = horario === 'morning' ? 'MANANA' : horario === 'evening' ? 'MEDIODIA' : 'TARDE';\n\n horarioField = { 'fields[PERSON_PREFERRED_SLOT]': horarioFormatted };\n }\n return horarioField;\n };\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]': fields.formObjective ? fields.formObjective : getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\t\t...getFormDetails(fields.callCenterCampaign),\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',\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_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_TREATMENT]': fields.trato,\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_POSTAL_CP]': fields.postalCode,\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\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',\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]': 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 ...getDpsFields(faContent),\n //...getSalesGroup(salesGroup),\n ...getHorario(fields.horario),\n\n ...(await getOfertasData(formData, dealersInfo)),\n ...(await getMatchData(formData, dealersInfo, faContent)),\n ...(await getConfiguradorData(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 leadGenericoData: Partial = {\n headers: {\n // DESC_CAMPAIGNBLOCK: '9. VW LEM',\n FK_SYSTEM: 'VW_DDB_FRM_LEM_REC_LEM',\n DPS_TOKEN: 'VW_DDB_FRM_LEM_REC_LEM',\n FORM_ID: waid ? waid : 'B09C01_LEM_WA1',\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_ALLOWS_DATA_ENRICHMENT: 'false',\n // FLAG_ISQUALIFIED: 'false',\n // FLAG_MAILRECEPCIONLEAD: 'true',\n // REQUIERE_CONTACTO_DEALER: 'false',\n },\n fields: {\n ...leadData.fields\n },\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 stepsHistory: [steps[0].screenIndex],\n thankYouComponent: ,\n notALayer: inPage ? true : false,\n formTheme: inPage ? 'main' : 'inverted',\n formType: inPage ? 'inPage' : 'layer',\n ...leadInfo,\n };\n\n useEffect(() => {\n initializeForm(leadGenericoInfo, leadGenericoData);\n setLoading(false);\n }, []);\n\n return 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 const regex = /<\\/?p[^>]*>/g;\n return htmlString.replace(regex, '');\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, GeneralInputWidthWrapper } 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
\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, GeneralInputWidthWrapper } 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
\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, GeneralInputWidthWrapper, 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
\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 GeneralInputWidthWrapper,\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 \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 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 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.tengoFurgo == '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, sorteos, descuentos y experiencias exclusivas.\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 React, { useEffect } from 'react';\nimport { Container, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CTAsSiNo, FormController, OneElementTemplateFullScreen, 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 { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { TheOriginalsThankYou, TheOriginalsConfirmacion } from './';\nimport { CarlineSelect, Matricula, Date, CodigoPostal, Email, MultipleCTASelection, PantallaNombreApellido, SelectMarcaModelo, Telefono, DniNif, Country, NextStepCTA, DetalleMotivo } from 'src/components';\nimport { getIndexInSteps, addRemovedStep, removeStep, resetStepsScreenIndex } from 'src/forms/helpers';\n\nexport function TheOriginalsForm() {\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: 'vw-adhoc-2025-the_originals',\n\t\t},\n\t\tfields: {\n\t\t\tformName: 'vw-adhoc-2025-the_originals',\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_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-adhoc_2025_the_originals-${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_RGPD_COM_COMERCIALES]': 'true',\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]': fields.fechaNacimiento,\n\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\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\n\t\t\t...formatFlags(initialData.flags),\n\t\t};\n\n\t\tif (fields.tengoFurgo == 'true') {\n\t\t\tdata['fields[VEH_ACTUAL_BRAND]'] = fields.tengoVW == 'true' ? 'VW' : fields.brand;\n\t\t\tdata['fields[VEH_ACTUAL_MODEL]'] = fields.tengoVW == 'true' ? fields.modelo : fields.model;\n\t\t\tdata['fields[VEH_ACTUAL_PLATE]'] = fields.matricula;\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(generateData());\n\t\t\tconsole.log(store.getState());\n\t\t}\n\t}, [formData]);\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\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 *\n\t * STEPS AND INIT FORM\n\t *\n\t */\n\n\tlet index = 0;\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t¡Inscríbete en la 20ª edición de The Originals Fest! \n\t\t\t\t\tEste año celebraremos la 20ª edición por todo lo alto y nos encanta que quieras vivirla con nosotros. Así que... ¡empecemos!\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Introduccion',\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¿Cual 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: 'EnviarConcesion',\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 una 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¿Cual 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: 'Carline',\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: 'MarcaModelo',\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\t¡Nos interesa tu historia! Quieres contarnos tu historia con la furgo? Escríbela a continuación y te contactaremos.\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\t\tif (tengoFurgo && tengoFurgo == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('Matricula', true);\n\t\t\tupdateSteps('Carline', true);\n\t\t\tupdateSteps('MarcaModelo', 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('MarcaModelo', false);\n\t\t\tupdateSteps('Carline', false);\n\t\t\tupdateSteps('Matricula', false);\n\t\t}\n\t\tif (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'true') {\n\t\t\tupdateSteps('MarcaModelo', false);\n\t\t\tupdateSteps('Carline', true);\n\t\t} else if (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'false') {\n\t\t\tupdateSteps('Carline', false);\n\t\t\tupdateSteps('MarcaModelo', true);\n\t\t}\n\t}, [tengoFurgo, 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\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : steps,\n\t\t\tstepsHistory,\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 from 'react';\nimport { ScreenController } from 'src/feature-app';\nimport { TheOriginalsForm } from 'src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsForm';\n\nexport function TheOriginals2025Trigger() {\n return }\n closeLayerCallback={close}\n handleAreYouSureLayer={() => null}\n notALayer={true}\n formType='inPage'\n />;\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