{"version":3,"file":"vw-oneform-feature-app.umd.js","mappings":"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EAAcc,IAAKtG,IAGjE,CClFO,MAAMyuC,GAAsB,CACjC,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,UACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,UACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,MACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,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,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,SAAU,UACX,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,KAAM,OAAQ,OAAQ,QACvB,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAA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E,WAAY,cAEd,CACEf,OAAQ,MAId,CACEY,YAAa,MACbC,YAAa,WACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,MACbC,YAAa,cACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,MACbC,YAAa,mBACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,eACbE,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,WACbC,YAAa,WACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,WACbC,YAAa,gBACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,WACbC,YAAa,SACbC,QAAS,CACP,CACEC,WAAY,QAIlB,CACEH,YAAa,WACbC,YAAa,mBACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,WACbC,YAAa,qBACbC,QAAS,CACP,CACEC,WAAY,SAIlB,CACEH,YAAa,OACbC,YAAa,WACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,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,CACEtoE,MAAO,aAIb,CACEooE,YAAa,eACbC,YAAa,WACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,YAAa,eACbC,YAAa,gBACbC,QAAS,CACP,CACEtoE,MAAO,aAIb,CACEooE,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,CACEtoE,MAAO,aAIb,CACEooE,YAAa,aACbE,QAAS,CACP,CACEC,WAAY,SAIl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P,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,QACNyP,MAAO,QAER,CACCzP,KAAM,MACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,MACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,aAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,aAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,kBAER,CACCzP,KAAM,oBACNyP,MAAO,MAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,MAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,oCAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,aAER,CACCzP,KAAM,eACNyP,MAAO,YAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,2CACNyP,MAAO,QAER,CACCzP,KAAM,0CACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,UAER,CACCzP,KAAM,gCACNyP,MAAO,MAER,CACCzP,KAAM,gBACNyP,MAAO,aAER,CACCzP,KAAM,iBACNyP,MAAO,YAER,CACCzP,KAAM,oBACNyP,MAAO,aAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uCACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,uCACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,SC5pEI4yF,EAAqB31C,GAC1B,CACN,CACC1sD,KAAM,KACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MACC,mKAEF,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,OACNyP,MAAO,sCAER,CACCzP,KAAM,cACNyP,MAAOi9C,GAAc,uBAEtB,CACC1sD,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,cAER,CACCzP,KAAM,sBACNyP,MAAO,4BAER,CACCzP,KAAM,gBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,WAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,SAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,cAER,CACCzP,KAAM,qBACNyP,MAAO,gCAER,CACCzP,KAAM,eACNyP,MAAO,iBAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,aAER,CACCzP,KAAM,WACNyP,MAAO,0BAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,MAER,CACCzP,KAAM,uBACNyP,MAAO,sBAER,CACCzP,KAAM,0BACNyP,MAAO,6BAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,UCzJGgzF,EAAkB,CAC9B,CACCziG,KAAM,KACNyP,MAAO,SAER,CACCzP,KAAM,aACNyP,MACC,+IAEF,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,OACNyP,MAAO,gBAER,CACCzP,KAAM,cACNyP,MAAO,gCAER,CACCzP,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,wCACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,KAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,qBAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,qBAER,CACCzP,KAAM,qBACNyP,MAAO,MAER,CACCzP,KAAM,qBACNyP,MAAO,cAER,CACCzP,KAAM,eACNyP,MAAO,MAER,CACCzP,KAAM,6BACNyP,MAAO,MAER,CACCzP,KAAM,4BACNyP,MAAO,KAER,CACCzP,KAAM,0BACNyP,MAAO,sBAER,CACCzP,KAAM,uBACNyP,MAAO,KAER,CACCzP,KAAM,gBACNyP,MAAO,sBAER,CACCzP,KAAM,0BACNyP,MAAO,sBAER,CACCzP,KAAM,wBACNyP,MAAO,sBAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,yBAER,CACCzP,KAAM,yBACNyP,MAAO,cAER,CACCzP,KAAM,eACNyP,MAAO,cAER,CACCzP,KAAM,kBACNyP,MAAO,cAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,gBAER,CACCzP,KAAM,iBACNyP,MAAO,uBCpRI0yF,EAAsBA,CAACY,EAAyBr2C,IACrD,CACN,CACC1sD,KAAM,KACNyP,MAAO,UAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,KACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,OACNyP,MAAO,aAER,CACCzP,KAAM,mBACNyP,MAAO,gBAER,CACCzP,KAAM,WACNyP,MAAO,iBAER,CACCzP,KAAM,YACNyP,MAAO,kBAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,cACNyP,MAAOi9C,GAAc,uBAEtB,CACC1sD,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,uBAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,uBAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,sBAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,UACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,KAER,CACCzP,KAAM,uBACNyP,MAAO,6BAER,CACCzP,KAAM,SACNyP,MAAO,SAER,CACCzP,KAAM,UACNyP,MAAOszF,EAAgB,aAAe,WAEvC,CACC/iG,KAAM,sBACNyP,MAAO,aAER,CACCzP,KAAM,cACNyP,MAAO,WAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,iBAER,CACCzP,KAAM,kBACNyP,MAAO,6BAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,aAER,CACCzP,KAAM,8BACNyP,MAAO,UAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,4BAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uCACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,uCACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,SAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,SAER,CACCzP,KAAM,UACNyP,MAAO,SAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,SCpyBG8yF,EAAwBP,GAC7B,CACN,CACChiG,KAAM,KACNyP,MAAO,WAER,CACCzP,KAAM,aACNyP,MACC,iJAEF,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,OACNyP,MAAO,mBAER,CACCzP,KAAM,cACNyP,MAAO,gCAER,CACCzP,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,YACNyP,MAAO,UAER,CACCzP,KAAM,wBACNyP,MAAO,KAER,CACCzP,KAAM,yBACNyP,MAAO,KAER,CACCzP,KAAM,+BACNyP,MAAOuyF,EAAc,WAAa,qBAEnC,CACChiG,KAAM,qBACNyP,MAAO,cAER,CACCzP,KAAM,WACNyP,MAAOuyF,EAAc,oBAAsB,qBAE5C,CACChiG,KAAM,UACNyP,MAAOuyF,EAAc,YAAc,YAEpC,CACChiG,KAAM,eACNyP,MAAO,gBAER,CACCzP,KAAM,2BACNyP,MAAO,IAER,CACCzP,KAAM,2BACNyP,MAAO,KAER,CACCzP,KAAM,sBACNyP,MAAO,KAER,CACCzP,KAAM,gBACNyP,MAAOuyF,EAAc,OAAS,QAE/B,CACChiG,KAAM,kBACNyP,MAAO,WAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,KAER,CACCzP,KAAM,kBACNyP,MAAO,mBAER,CACCzP,KAAM,eACNyP,MAAO,MAER,CACCzP,KAAM,kBACNyP,MAAOuyF,EAAc,QAAU,SAEhC,CACChiG,KAAM,sBACNyP,MAAO,cAER,CACCzP,KAAM,sBACNyP,MAAO,gBAER,CACCzP,KAAM,gBACNyP,MAAO,sBAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAOuyF,EAAc,QAAU,SAEhC,CACChiG,KAAM,6BACNyP,MAAO,MAER,CACCzP,KAAM,6BACNyP,MAAO,KAER,CACCzP,KAAM,8BACNyP,MAAO,MCrLG2yF,EAAe11C,GACpB,CACN,CACC1sD,KAAM,KACNyP,MAAO,QAER,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,aAER,CACCzP,KAAM,WACNyP,MAAO,aAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,aAER,CACCzP,KAAM,QACNyP,MAAO,uBAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,sBAKR,CACCzP,KAAM,aACNyP,MACC,+IAEF,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,uBAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,QACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MACC,wKAEF,CACCzP,KAAM,QACNyP,MAAO,QAER,CACCzP,KAAM,MACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,6CAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,qBAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,OAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,cACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAOi9C,GAAc,gCAEtB,CACC1sD,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,qBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,cAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,iCACNyP,MAAO,MAER,CACCzP,KAAM,iCACNyP,MAAO,SAER,CACCzP,KAAM,WACNyP,MAAO,cAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,8BAER,CACCzP,KAAM,iBACNyP,MAAO,sBAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,gBAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,aAER,CACCzP,KAAM,0BACNyP,MAAO,iBAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,aAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,WAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,cAER,CACCzP,KAAM,kCACNyP,MAAO,uBAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,2CACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,6BAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,0BACNyP,MAAO,OAER,CACCzP,KAAM,4BACNyP,MAAO,WAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,gCAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,gCAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,sBAER,CACCzP,KAAM,4BACNyP,MAAO,wBAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,SAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,SAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,0CACNyP,MAAO,SAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,UAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,uBAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,gBAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,6CACNyP,MAAO,QAER,CACCzP,KAAM,4CACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,sBAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,+BAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,OAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SC77BGwyF,EAAgBA,CAACc,EAAyBr2C,IAC/C,CACN,CACC1sD,KAAM,KACNyP,MAAO,UAER,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,WACNyP,MAAO,gBAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,kCAER,CACCzP,KAAM,oBACNyP,MAAO,aAER,CACCzP,KAAM,sBACNyP,MAAO,wCAER,CACCzP,KAAM,uBACNyP,MACC,wLAKF,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,MAER,CACCzP,KAAM,aACNyP,MACC,qJAGF,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,sBAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MACC,wKAEF,CACCzP,KAAM,iBACNyP,MACC,uKAEF,CACCzP,KAAM,WACNyP,MAAO,6CAER,CACCzP,KAAM,QACNyP,MAAO,QAER,CACCzP,KAAM,MACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,MACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,OAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,cACNyP,MAAOi9C,GAAc,gCAEtB,CACC1sD,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,qBACNyP,MAAO,gCAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,sBAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MACC,wKAEF,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,sBAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,qCACNyP,MAAO,mBAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,cAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,8FAER,CACCzP,KAAM,qBACNyP,MAAO,cAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,uBAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,SAER,CACCzP,KAAM,yCACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,2BAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,aAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,OAER,CACCzP,KAAM,mCACNyP,MAAO,OAER,CACCzP,KAAM,qCACNyP,MAAO,OAER,CACCzP,KAAM,kCACNyP,MAAO,OAER,CACCzP,KAAM,4BACNyP,MAAO,OAER,CACCzP,KAAM,kCACNyP,MAAO,OAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,KAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,KAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,UAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,cAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,mCACNyP,MAAO,sDAER,CACCzP,KAAM,gBACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,MAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,sBAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,aAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oCACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,4CACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,SAER,CACCzP,KAAM,kCACNyP,MAAO,SAER,CACCzP,KAAM,+BACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,kCACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,SAER,CACCzP,KAAM,qCACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,uCACNyP,MAAO,QAER,CACCzP,KAAM,6CACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,SAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,SC79BG+yF,EAAe,CAC3B,CACCxiG,KAAM,KACNyP,MAAO,SAER,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,0BACNyP,MAAO,cAER,CACCzP,KAAM,4BACNyP,MAAO,cAKR,CACCzP,KAAM,aACNyP,MACC,iJAEF,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,sBAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,sBAER,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,eACNyP,MAAO,sBAER,CACCzP,KAAM,gBACNyP,MAAO,cAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,OACNyP,MAAO,wBAER,CACCzP,KAAM,SACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,OAER,CACCzP,KAAM,cACNyP,MAAO,YAER,CACCzP,KAAM,cACNyP,MAAO,OAER,CACCzP,KAAM,cACNyP,MAAO,gCAER,CACCzP,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,qBAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,wCACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,KAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,YAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,SAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,sBAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SCviBI6yF,EAAkBN,GACvB,CACN,CACChiG,KAAM,KACNyP,MAAO,WAER,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,OACNyP,MAAO,qBAER,CACCzP,KAAM,qBACNyP,MAAOuyF,EAAc,OAAS,QAE/B,CACChiG,KAAM,4BACNyP,MAAO,YAKR,CACCzP,KAAM,aACNyP,MACC,2JAEF,CACCzP,KAAM,UACNyP,MAAO,sBAER,CACCzP,KAAM,YACNyP,MAAO,SAER,CACCzP,KAAM,gBACNyP,MAAOuyF,EAAc,OAAS,QAE/B,CACChiG,KAAM,kBACNyP,MAAO,wBAER,CACCzP,KAAM,kBACNyP,MAAO,OAER,CACCzP,KAAM,cACNyP,MAAO,gCAER,CACCzP,KAAM,cACNyP,MAAO,sBAER,CACCzP,KAAM,mBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,sBAER,CACCzP,KAAM,iBACNyP,MAAO,gCAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,aACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,QAER,CACCzP,KAAM,YACNyP,MAAO,YAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,UACNyP,MAAO,QAER,CACCzP,KAAM,cACNyP,MAAO,UAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,WACNyP,MAAO,QAER,CACCzP,KAAM,iBACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,cAER,CACCzP,KAAM,mBACNyP,MAAO,8FAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,SAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,mCACNyP,MAAO,QAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,uBACNyP,MAAO,MAER,CACCzP,KAAM,uBACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,KAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,6BACNyP,MAAO,gBAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAOuyF,EAAc,QAAU,QAEhC,CACChiG,KAAM,mBACNyP,MAAO,gBAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,mBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,+BACNyP,MAAO,KAER,CACCzP,KAAM,gCACNyP,MAAO,SAER,CACCzP,KAAM,8BACNyP,MAAO,OAER,CACCzP,KAAM,0BACNyP,MAAO,OAER,CACCzP,KAAM,8BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,KAER,CACCzP,KAAM,8BACNyP,MAAO,WAER,CACCzP,KAAM,uBACNyP,MAAO,+BAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAOuyF,EAAc,QAAU,SAEhC,CACChiG,KAAM,eACNyP,MAAO,SAER,CACCzP,KAAM,uBACNyP,MAAO,oBAER,CACCzP,KAAM,yBACNyP,MAAO,KAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,qBACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,KAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,8CACNyP,MAAO,cAER,CACCzP,KAAM,iBACNyP,MAAO,SAER,CACCzP,KAAM,sBACNyP,MAAOuyF,EAAc,QAAU,SAEhC,CACChiG,KAAM,mBACNyP,MAAO,QAER,CACCzP,KAAM,yBACNyP,MAAO,WAER,CACCzP,KAAM,yBACNyP,MAAO,QAER,CACCzP,KAAM,4CACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,gCACNyP,MAAO,OAER,CACCzP,KAAM,2BACNyP,MAAO,QAER,CACCzP,KAAM,eACNyP,MAAO,QAER,CACCzP,KAAM,yCACNyP,MAAO,cAER,CACCzP,KAAM,iCACNyP,MAAO,cAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,kBACNyP,MAAO,QAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,QAER,CACCzP,KAAM,wBACNyP,MAAO,SAER,CACCzP,KAAM,yBACNyP,MAAOuyF,EAAc,QAAU,SAEhC,CACChiG,KAAM,wBACNyP,MAAO,QAER,CACCzP,KAAM,sBACNyP,MAAO,SAER,CACCzP,KAAM,iCACNyP,MAAO,QAER,CACCzP,KAAM,oBACNyP,MAAO,SAER,CACCzP,KAAM,4BACNyP,MAAO,OAER,CACCzP,KAAM,gCACNyP,MAAO,QAER,CACCzP,KAAM,iCACNyP,MAAO,OAER,CACCzP,KAAM,wBACNyP,MAAO,UAER,CACCzP,KAAM,0BACNyP,MAAO,QAER,CACCzP,KAAM,6BACNyP,MAAO,QAER,CACCzP,KAAM,gBACNyP,MAAO,UCxbGizF,EAAgB,CAC5B,CACC1iG,KAAM,KACNyP,MAAO,UAER,CACCzP,KAAM,KACNyP,MAAO,sBAER,CACCzP,KAAM,yBACNyP,MAAO,WAER,CACCzP,KAAM,qBACNyP,MAAO,SAER,CACCzP,KAAM,cACNyP,MAAO,aAER,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IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,YACzB1qL,IAAAA,cAACyqL,GAAa,CAACC,UAAU,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,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,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,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/./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/./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/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/inputs/InputButton.tsx","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/./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/MultipleCTASelection.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/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/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/./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/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/@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/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\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 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 { 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 LegalesMontmelo = (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 Montmeló 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 showTitle: boolean;\n themeColor?: 'main' | 'inverted';\n noCompra?: boolean;\n}\n\nexport function LssiTkmQuestions(props: LssiTkmQuestionsProps) {\n const isComerciales = useIsComerciales();\n\n return 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 * 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 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}\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`\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 ? '58px' : null};\n }\n`;\n\nexport const SelectMarcaModelo = (props: BrandModelProps) => {\n\tconst { stepName, brandName = 'brand', modelName = 'model', notALayer, marginTop, required, formToken, nextOnClick, alternatCTA } = 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(null);\n\tconst [models, setModels] = useState(null);\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\tif (!brands) {\n\t\t\tsetModels(null);\n\t\t\tif (vehiclesInfo.brands) {\n\t\t\t\tsetBrands(vehiclesInfo.brands);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst brands = [];\n\t\t\t\tfetchMarcas(formToken).then((result) => {\n\t\t\t\t\tif (result?.content) {\n\t\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\t\tbrands.push(convertToOption(arr));\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetBrands(brands);\n\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brands: brands } });\n\t\t\t}\n\t\t}\n\t}\n\n\tconst fillModelsCombo = (brandCode: string) => {\n\t\tsetModels(null);\n\t\tif (brandCode == vehiclesInfo.brandSelected) {\n\t\t\tsetModels(vehiclesInfo.models);\n\t\t}\n\t\telse {\n\t\t\tconst models = [];\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\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tmodels.push(convertToOption(arr));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetModels(models);\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { models: models } });\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tfillBrandsCombo();\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\te.preventDefault();\n\t\tif (e.target.value) {\n\t\t\tconst brand = getBrandByName(e.target.value);\n\t\t\tsetBrand(brand);\n\t\t\tsetModel(null);\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: brand, modelSelected: null } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: brand.code } });\n\t\t\tfillModelsCombo(brand.code);\n\t\t}\n\t};\n\n\tconst handleChangeModel = (e: any) => {\n\t\te.preventDefault();\n\t\tif (e.target.value) {\n\t\t\tconst model = getModelByName(e.target.value);\n\t\t\tsetModel(model);\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{brands ? (\n\t\t\t\t\n\t\t\t\t\t 0 ? brands : []}\n\t\t\t\t\t\tname={brandName}\n\t\t\t\t\t\tisRequired={required}\n\t\t\t\t\t\trequired\n\t\t\t\t\t\thandleChange={handleChangeBrand}\n\t\t\t\t\t\tvalue={brand ? brand.name : \"\"}\n\t\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\t\tonClick={() => null}\n\t\t\t\t\t\tsetOption={setBrand}\n\t\t\t\t\t\tisFloating={true}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t 0 ? models : []}\n\t\t\t\t\t\tname={modelName}\n\t\t\t\t\t\tisRequired={required}\n\t\t\t\t\t\trequired\n\t\t\t\t\t\thandleChange={handleChangeModel}\n\t\t\t\t\t\tvalue={model ? model.name : \"\"}\n\t\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\t\tonClick={() => null}\n\t\t\t\t\t\tsetOption={setModel}\n\t\t\t\t\t\tisFloating={true}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\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};","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 { 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","/* @jsx h */\n/**\n * markdown-to-jsx is a fork of [simple-markdown v0.2.2](https://github.com/Khan/simple-markdown)\n * from Khan Academy. Thank you Khan devs for making such an awesome and extensible\n * parsing infra... without it, half of the optimizations here wouldn't be feasible. 🙏🏼\n */\nimport * as React from 'react'\n\nexport namespace MarkdownToJSX {\n /**\n * RequireAtLeastOne<{ ... }> <- only requires at least one key\n */\n type RequireAtLeastOne = Pick<\n T,\n Exclude\n > &\n {\n [K in Keys]-?: Required> & Partial>>\n }[Keys]\n\n export type CreateElement = typeof React.createElement\n\n export type HTMLTags = keyof JSX.IntrinsicElements\n\n export type State = {\n _inAnchor?: boolean\n _inline?: boolean\n _inTable?: boolean\n _key?: React.Key\n _list?: boolean\n _simple?: boolean\n }\n\n export type ParserResult = {\n [key: string]: any\n type?: string\n }\n\n export type NestedParser = (\n input: string,\n state?: MarkdownToJSX.State\n ) => MarkdownToJSX.ParserResult\n\n export type Parser = (\n capture: RegExpMatchArray,\n nestedParse: NestedParser,\n state?: MarkdownToJSX.State\n ) => ParserOutput\n\n export type RuleOutput = (\n ast: MarkdownToJSX.ParserResult,\n state: MarkdownToJSX.State\n ) => JSX.Element\n\n export type Rule = {\n _match: (\n source: string,\n state: MarkdownToJSX.State,\n prevCapturedString?: string\n ) => RegExpMatchArray\n _order: Priority\n _parse: MarkdownToJSX.Parser\n _react?: (\n node: ParserOutput,\n output: RuleOutput,\n state?: MarkdownToJSX.State\n ) => React.ReactChild\n }\n\n export type Rules = {\n [key: string]: Rule\n }\n\n export type Override =\n | RequireAtLeastOne<{\n component: React.ElementType\n props: Object\n }>\n | React.ElementType\n\n export type Overrides = {\n [tag in HTMLTags]?: Override\n } & {\n [customComponent: string]: Override\n }\n\n export type Options = Partial<{\n /**\n * Ultimate control over the output of all rendered JSX.\n */\n createElement: (\n tag: Parameters[0],\n props: JSX.IntrinsicAttributes,\n ...children: React.ReactChild[]\n ) => JSX.Element\n\n /**\n * Disable the compiler's best-effort transcription of provided raw HTML\n * into JSX-equivalent. This is the functionality that prevents the need to\n * use `dangerouslySetInnerHTML` in React.\n */\n disableParsingRawHTML: boolean\n\n /**\n * Forces the compiler to always output content with a block-level wrapper\n * (`

` or any block-level syntax your markdown already contains.)\n */\n forceBlock: boolean\n\n /**\n * Forces the compiler to always output content with an inline wrapper (``)\n */\n forceInline: boolean\n\n /**\n * Supply additional HTML entity: unicode replacement mappings.\n *\n * Pass only the inner part of the entity as the key,\n * e.g. `≤` -> `{ \"le\": \"\\u2264\" }`\n *\n * By default\n * the following entities are replaced with their unicode equivalents:\n *\n * ```\n * &\n * '\n * >\n * <\n *  \n * "\n * ```\n */\n namedCodesToUnicode: {\n [key: string]: string\n }\n\n /**\n * Selectively control the output of particular HTML tags as they would be\n * emitted by the compiler.\n */\n overrides: Overrides\n\n /**\n * Declare the type of the wrapper to be used when there are multiple\n * children to render. Set to `null` to get an array of children back\n * without any wrapper, or use `React.Fragment` to get a React element\n * that won't show up in the DOM.\n */\n wrapper: React.ElementType | null\n\n /**\n * Forces the compiler to wrap results, even if there is only a single\n * child or no children.\n */\n forceWrapper: boolean\n\n /**\n * Override normalization of non-URI-safe characters for use in generating\n * HTML IDs for anchor linking purposes.\n */\n slugify: (source: string) => string\n\n /**\n * Forces the compiler to have space between hash sign and the header text which\n * is explicitly stated in the most of the markdown specs.\n * https://github.github.com/gfm/#atx-heading\n * `The opening sequence of # characters must be followed by a space or by the end of line.`\n */\n enforceAtxHeadings: boolean\n }>\n}\n\n/** TODO: Drop for React 16? */\nconst ATTRIBUTE_TO_JSX_PROP_MAP = [\n 'allowFullScreen',\n 'allowTransparency',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'className',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj, x) => {\n obj[x.toLowerCase()] = x\n return obj\n },\n { for: 'htmlFor' }\n)\n\nconst namedCodesToUnicode = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n} as const\n\nconst DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script']\n\n/**\n * the attribute extractor regex looks for a valid attribute name,\n * followed by an equal sign (whitespace around the equal sign is allowed), followed\n * by one of the following:\n *\n * 1. a single quote-bounded string, e.g. 'foo'\n * 2. a double quote-bounded string, e.g. \"bar\"\n * 3. an interpolation, e.g. {something}\n *\n * JSX can be be interpolated into itself and is passed through the compiler using\n * the same options and setup as the current run.\n *\n * } />\n * ==================\n * ↳ children: []\n *\n * Otherwise, interpolations are handled as strings or simple booleans\n * unless HTML syntax is detected.\n *\n * \n * ===== ====\n * ↓ ↳ disabled: true\n * ↳ color: \"green\"\n *\n * Numbers are not parsed at this time due to complexities around int, float,\n * and the upcoming bigint functionality that would make handling it unwieldy.\n * Parse the string in your component as desired.\n *\n * \n * ==================\n * ↳ someBigNumber: \"123456789123456789\"\n */\nconst ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi\n\n/** TODO: Write explainers for each of these */\n\nconst AUTOLINK_MAILTO_CHECK_R = /mailto:/i\nconst BLOCK_END_R = /\\n{2,}$/\nconst BLOCKQUOTE_R = /^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/\nconst BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm\nconst BREAK_LINE_R = /^ {2,}\\n/\nconst BREAK_THEMATIC_R = /^(?:( *[-*_])){3,} *(?:\\n *)+\\n/\nconst CODE_BLOCK_FENCED_R =\n /^\\s*(`{3,}|~{3,}) *(\\S+)?([^\\n]*?)?\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)*\\n?/\nconst CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/\nconst CODE_INLINE_R = /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/\nconst CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/\nconst CR_NEWLINE_R = /\\r\\n?/g\nconst FOOTNOTE_R = /^\\[\\^([^\\]]+)](:.*)\\n/\nconst FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/\nconst FORMFEED_R = /\\f/g\nconst GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/\nconst HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/\nconst HEADING_ATX_COMPLIANT_R =\n /^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/\nconst HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/\n\n/**\n * Explanation:\n *\n * 1. Look for a starting tag, preceded by any amount of spaces\n * ^ *<\n *\n * 2. Capture the tag name (capture 1)\n * ([^ >/]+)\n *\n * 3. Ignore a space after the starting tag and capture the attribute portion of the tag (capture 2)\n * ?([^>]*)\\/{0}>\n *\n * 4. Ensure a matching closing tag is present in the rest of the input string\n * (?=[\\s\\S]*<\\/\\1>)\n *\n * 5. Capture everything until the matching closing tag -- this might include additional pairs\n * of the same tag type found in step 2 (capture 3)\n * ((?:[\\s\\S]*?(?:<\\1[^>]*>[\\s\\S]*?<\\/\\1>)*[\\s\\S]*?)*?)<\\/\\1>\n *\n * 6. Capture excess newlines afterward\n * \\n*\n */\nconst HTML_BLOCK_ELEMENT_R =\n /^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i\n\nconst HTML_CHAR_CODE_R = /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/ig\n\nconst HTML_COMMENT_R = /^)/\n\n/**\n * borrowed from React 15(https://github.com/facebook/react/blob/894d20744cba99383ffd847dbd5b6e0800355a5c/src/renderers/dom/shared/HTMLDOMPropertyConfig.js)\n */\nconst HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/\n\nconst HTML_SELF_CLOSING_ELEMENT_R =\n /^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i\nconst INTERPOLATION_R = /^\\{.*\\}$/\nconst LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/\nconst LINK_AUTOLINK_MAILTO_R = /^<([^ >]+@[^ >]+)>/\nconst LINK_AUTOLINK_R = /^<([^ >]+:\\/[^ >]+)>/\nconst CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi\nconst NP_TABLE_R = /^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/\nconst PARAGRAPH_R = /^[^\\n]+(?: \\n|\\n{2,})/\nconst REFERENCE_IMAGE_OR_LINK = /^\\[([^\\]]*)\\]:\\s+]+)>?\\s*(\"([^\"]*)\")?/\nconst REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/\nconst REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/\nconst SQUARE_BRACKETS_R = /(\\[|\\])/g\nconst SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/\nconst TAB_R = /\\t/g\nconst TABLE_SEPARATOR_R = /^ *\\| */\nconst TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g\nconst TABLE_CELL_END_TRIM = / *$/\nconst TABLE_CENTER_ALIGN = /^ *:-+: *$/\nconst TABLE_LEFT_ALIGN = /^ *:-+ *$/\nconst TABLE_RIGHT_ALIGN = /^ *-+: *$/\n\nconst TEXT_BOLD_R =\n /^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/\nconst TEXT_EMPHASIZED_R =\n /^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1|\\w)/\nconst TEXT_MARKED_R = /^==((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/\nconst TEXT_STRIKETHROUGHED_R = /^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/\n\nconst TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/\nconst TEXT_PLAIN_R =\n /^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff&#;.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i\n\nconst TRIM_STARTING_NEWLINES = /^\\n+/\n\nconst HTML_LEFT_TRIM_AMOUNT_R = /^([ \\t]*)/\n\nconst UNESCAPE_URL_R = /\\\\([^\\\\])/g\n\ntype LIST_TYPE = 1 | 2\nconst ORDERED: LIST_TYPE = 1\nconst UNORDERED: LIST_TYPE = 2\n\nconst LIST_ITEM_END_R = / *\\n+$/\nconst LIST_LOOKBEHIND_R = /(?:^|\\n)( *)$/\n\n// recognize a `*` `-`, `+`, `1.`, `2.`... list bullet\nconst ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)'\nconst UNORDERED_LIST_BULLET = '(?:[*+-])'\n\nfunction generateListItemPrefix(type: LIST_TYPE) {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n )\n}\n\n// recognize the start of a list item:\n// leading space plus a bullet plus a space (` * `)\nconst ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED)\nconst UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED)\n\nfunction generateListItemPrefixRegex(type: LIST_TYPE) {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n )\n}\n\nconst ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED)\nconst UNORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(UNORDERED)\n\nfunction generateListItemRegex(type: LIST_TYPE) {\n // recognize an individual list item:\n // * hi\n // this is part of the same item\n //\n // as is this, which is a new paragraph in the same item\n //\n // * but this is not part of the same item\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n )\n}\n\nconst ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED)\nconst UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED)\n\n// check whether a list item has paragraphs: if it does,\n// we leave the newlines at the end\nfunction generateListRegex(type: LIST_TYPE) {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n '[\\\\s\\\\S]+?(?:\\\\n{2,}(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // the \\\\s*$ here is so that we can parse the inside of nested\n // lists, where our content might end before we receive two `\\n`s\n '|\\\\s*\\\\n*$)'\n )\n}\n\nconst ORDERED_LIST_R = generateListRegex(ORDERED)\nconst UNORDERED_LIST_R = generateListRegex(UNORDERED)\n\nfunction generateListRule(h: any, type: LIST_TYPE) {\n const ordered = type === ORDERED\n const LIST_R = ordered ? ORDERED_LIST_R : UNORDERED_LIST_R\n const LIST_ITEM_R = ordered ? ORDERED_LIST_ITEM_R : UNORDERED_LIST_ITEM_R\n const LIST_ITEM_PREFIX_R = ordered\n ? ORDERED_LIST_ITEM_PREFIX_R\n : UNORDERED_LIST_ITEM_PREFIX_R\n\n return {\n _match(source, state, prevCapture) {\n // We only want to break into a list if we are at the start of a\n // line. This is to avoid parsing \"hi * there\" with \"* there\"\n // becoming a part of a list.\n // You might wonder, \"but that's inline, so of course it wouldn't\n // start a list?\". You would be correct! Except that some of our\n // lists can be inline, because they might be inside another list,\n // in which case we can parse with inline scope, but need to allow\n // nested lists inside this inline scope.\n const isStartOfLine = LIST_LOOKBEHIND_R.exec(prevCapture)\n const isListBlock = state._list || (!state._inline && !state._simple)\n\n if (isStartOfLine && isListBlock) {\n source = isStartOfLine[1] + source\n\n return LIST_R.exec(source)\n } else {\n return null\n }\n },\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n const bullet = capture[2]\n const start = ordered ? +bullet : undefined\n const items = capture[0]\n // recognize the end of a paragraph block inside a list item:\n // two or more newlines at end end of the item\n .replace(BLOCK_END_R, '\\n')\n .match(LIST_ITEM_R)\n\n let lastItemWasAParagraph = false\n const itemContent = items.map(function (item, i) {\n // We need to see how far indented the item is:\n const space = LIST_ITEM_PREFIX_R.exec(item)[0].length\n\n // And then we construct a regex to \"unindent\" the subsequent\n // lines of the items by that amount:\n const spaceRegex = new RegExp('^ {1,' + space + '}', 'gm')\n\n // Before processing the item, we need a couple things\n const content = item\n // remove indents on trailing lines:\n .replace(spaceRegex, '')\n // remove the bullet:\n .replace(LIST_ITEM_PREFIX_R, '')\n\n // Handling \"loose\" lists, like:\n //\n // * this is wrapped in a paragraph\n //\n // * as is this\n //\n // * as is this\n const isLastItem = i === items.length - 1\n const containsBlocks = content.indexOf('\\n\\n') !== -1\n\n // Any element in a list is a block if it contains multiple\n // newlines. The last element in the list can also be a block\n // if the previous item in the list was a block (this is\n // because non-last items in the list can end with \\n\\n, but\n // the last item can't, so we just \"inherit\" this property\n // from our previous element).\n const thisItemIsAParagraph =\n containsBlocks || (isLastItem && lastItemWasAParagraph)\n lastItemWasAParagraph = thisItemIsAParagraph\n\n // backup our state for restoration afterwards. We're going to\n // want to set state._list to true, and state._inline depending\n // on our list's looseness.\n const oldStateInline = state._inline\n const oldStateList = state._list\n state._list = true\n\n // Parse inline if we're in a tight list, or block if we're in\n // a loose list.\n let adjustedContent\n if (thisItemIsAParagraph) {\n state._inline = false\n adjustedContent = content.replace(LIST_ITEM_END_R, '\\n\\n')\n } else {\n state._inline = true\n adjustedContent = content.replace(LIST_ITEM_END_R, '')\n }\n\n const result = parse(adjustedContent, state)\n\n // Restore our state before returning\n state._inline = oldStateInline\n state._list = oldStateList\n\n return result\n })\n\n return {\n _items: itemContent,\n _ordered: ordered,\n _start: start,\n }\n },\n _react(node, output, state) {\n const Tag = node._ordered ? 'ol' : 'ul'\n\n return (\n \n {node._items.map(function generateListItem(item, i) {\n return

  • {output(item, state)}
  • \n })}\n \n )\n },\n } as MarkdownToJSX.Rule<{\n _items: MarkdownToJSX.ParserResult[]\n _ordered: boolean\n _start?: number\n }>\n}\n\nconst LINK_R = /^\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/\nconst IMAGE_R = /^!\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/\n\nconst NON_PARAGRAPH_BLOCK_SYNTAXES = [\n BLOCKQUOTE_R,\n CODE_BLOCK_FENCED_R,\n CODE_BLOCK_R,\n HEADING_R,\n HEADING_SETEXT_R,\n HEADING_ATX_COMPLIANT_R,\n HTML_COMMENT_R,\n NP_TABLE_R,\n ORDERED_LIST_ITEM_R,\n ORDERED_LIST_R,\n UNORDERED_LIST_ITEM_R,\n UNORDERED_LIST_R,\n]\n\nconst BLOCK_SYNTAXES = [\n ...NON_PARAGRAPH_BLOCK_SYNTAXES,\n PARAGRAPH_R,\n HTML_BLOCK_ELEMENT_R,\n HTML_SELF_CLOSING_ELEMENT_R,\n]\n\nfunction containsBlockSyntax(input: string) {\n return BLOCK_SYNTAXES.some(r => r.test(input))\n}\n\n/** Remove symmetrical leading and trailing quotes */\nfunction unquote(str: string) {\n const first = str[0]\n if (\n (first === '\"' || first === \"'\") &&\n str.length >= 2 &&\n str[str.length - 1] === first\n ) {\n return str.slice(1, -1)\n }\n return str\n}\n\n// based on https://stackoverflow.com/a/18123682/1141611\n// not complete, but probably good enough\nfunction slugify(str: string) {\n return str\n .replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g, 'a')\n .replace(/[çÇ]/g, 'c')\n .replace(/[ðÐ]/g, 'd')\n .replace(/[ÈÉÊËéèêë]/g, 'e')\n .replace(/[ÏïÎîÍíÌì]/g, 'i')\n .replace(/[Ññ]/g, 'n')\n .replace(/[øØœŒÕõÔôÓóÒò]/g, 'o')\n .replace(/[ÜüÛûÚúÙù]/g, 'u')\n .replace(/[ŸÿÝý]/g, 'y')\n .replace(/[^a-z0-9- ]/gi, '')\n .replace(/ /gi, '-')\n .toLowerCase()\n}\n\nfunction parseTableAlignCapture(alignCapture: string) {\n if (TABLE_RIGHT_ALIGN.test(alignCapture)) {\n return 'right'\n } else if (TABLE_CENTER_ALIGN.test(alignCapture)) {\n return 'center'\n } else if (TABLE_LEFT_ALIGN.test(alignCapture)) {\n return 'left'\n }\n\n return null\n}\n\nfunction parseTableRow(\n source: string,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n const prevInTable = state._inTable\n state._inTable = true\n const tableRow = parse(source.trim(), state)\n state._inTable = prevInTable\n\n let cells = [[]]\n tableRow.forEach(function (node, i) {\n if (node.type === 'tableSeparator') {\n // Filter out empty table separators at the start/end:\n if (i !== 0 && i !== tableRow.length - 1) {\n // Split the current row:\n cells.push([])\n }\n } else {\n if (\n node.type === 'text' &&\n (tableRow[i + 1] == null || tableRow[i + 1].type === 'tableSeparator')\n ) {\n node._content = node._content.replace(TABLE_CELL_END_TRIM, '')\n }\n cells[cells.length - 1].push(node)\n }\n })\n return cells\n}\n\nfunction parseTableAlign(source: string /*, parse, state*/) {\n const alignText = source.replace(TABLE_TRIM_PIPES, '').split('|')\n\n return alignText.map(parseTableAlignCapture)\n}\n\nfunction parseTableCells(\n source: string,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n const rowsText = source.trim().split('\\n')\n\n return rowsText.map(function (rowText) {\n return parseTableRow(rowText, parse, state)\n })\n}\n\nfunction parseTable(\n capture: RegExpMatchArray,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n state._inline = true\n const header = parseTableRow(capture[1], parse, state)\n const align = parseTableAlign(capture[2])\n const cells = parseTableCells(capture[3], parse, state)\n state._inline = false\n\n return {\n _align: align,\n _cells: cells,\n _header: header,\n type: 'table',\n }\n}\n\nfunction getTableStyle(node, colIndex) {\n return node._align[colIndex] == null\n ? {}\n : {\n textAlign: node._align[colIndex],\n }\n}\n\n/** TODO: remove for react 16 */\nfunction normalizeAttributeKey(key) {\n const hyphenIndex = key.indexOf('-')\n\n if (hyphenIndex !== -1 && key.match(HTML_CUSTOM_ATTR_R) === null) {\n key = key.replace(CAPTURE_LETTER_AFTER_HYPHEN, function (_, letter) {\n return letter.toUpperCase()\n })\n }\n\n return key\n}\n\nfunction attributeValueToJSXPropValue(\n key: keyof React.AllHTMLAttributes,\n value: string\n): any {\n if (key === 'style') {\n return value.split(/;\\s?/).reduce(function (styles, kvPair) {\n const key = kvPair.slice(0, kvPair.indexOf(':'))\n\n // snake-case to camelCase\n // also handles PascalCasing vendor prefixes\n const camelCasedKey = key.replace(/(-[a-z])/g, substr =>\n substr[1].toUpperCase()\n )\n\n // key.length + 1 to skip over the colon\n styles[camelCasedKey] = kvPair.slice(key.length + 1).trim()\n\n return styles\n }, {})\n } else if (key === 'href') {\n return sanitizeUrl(value)\n } else if (value.match(INTERPOLATION_R)) {\n // return as a string and let the consumer decide what to do with it\n value = value.slice(1, value.length - 1)\n }\n\n if (value === 'true') {\n return true\n } else if (value === 'false') {\n return false\n }\n\n return value\n}\n\nfunction normalizeWhitespace(source: string): string {\n return source\n .replace(CR_NEWLINE_R, '\\n')\n .replace(FORMFEED_R, '')\n .replace(TAB_R, ' ')\n}\n\n/**\n * Creates a parser for a given set of rules, with the precedence\n * specified as a list of rules.\n *\n * @rules: an object containing\n * rule type -> {match, order, parse} objects\n * (lower order is higher precedence)\n * (Note: `order` is added to defaultRules after creation so that\n * the `order` of defaultRules in the source matches the `order`\n * of defaultRules in terms of `order` fields.)\n *\n * @returns The resulting parse function, with the following parameters:\n * @source: the input source string to be parsed\n * @state: an optional object to be threaded through parse\n * calls. Allows clients to add stateful operations to\n * parsing, such as keeping track of how many levels deep\n * some nesting is. For an example use-case, see passage-ref\n * parsing in src/widgets/passage/passage-markdown.jsx\n */\nfunction parserFor(\n rules: MarkdownToJSX.Rules\n): (\n source: string,\n state: MarkdownToJSX.State\n) => ReturnType {\n // Sorts rules in order of increasing order, then\n // ascending rule name in case of ties.\n let ruleList = Object.keys(rules)\n\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n ruleList.forEach(function (type) {\n let order = rules[type]._order\n if (\n process.env.NODE_ENV !== 'production' &&\n (typeof order !== 'number' || !isFinite(order))\n ) {\n console.warn(\n 'markdown-to-jsx: Invalid order for rule `' + type + '`: ' + order\n )\n }\n })\n }\n\n ruleList.sort(function (typeA, typeB) {\n let orderA = rules[typeA]._order\n let orderB = rules[typeB]._order\n\n // First sort based on increasing order\n if (orderA !== orderB) {\n return orderA - orderB\n\n // Then based on increasing unicode lexicographic ordering\n } else if (typeA < typeB) {\n return -1\n }\n\n return 1\n })\n\n function nestedParse(\n source: string,\n state: MarkdownToJSX.State\n ): MarkdownToJSX.ParserResult[] {\n let result = []\n\n // We store the previous capture so that match functions can\n // use some limited amount of lookbehind. Lists use this to\n // ensure they don't match arbitrary '- ' or '* ' in inline\n // text (see the list rule for more information).\n let prevCapture = ''\n while (source) {\n let i = 0\n while (i < ruleList.length) {\n const ruleType = ruleList[i]\n const rule = rules[ruleType]\n const capture = rule._match(source, state, prevCapture)\n\n if (capture) {\n const currCaptureString = capture[0]\n source = source.substring(currCaptureString.length)\n const parsed = rule._parse(capture, nestedParse, state)\n\n // We also let rules override the default type of\n // their parsed node if they would like to, so that\n // there can be a single output function for all links,\n // even if there are several rules to parse them.\n if (parsed.type == null) {\n parsed.type = ruleType\n }\n\n result.push(parsed)\n\n prevCapture = currCaptureString\n break\n }\n\n i++\n }\n }\n\n return result\n }\n\n return function outerParse(source, state) {\n return nestedParse(normalizeWhitespace(source), state)\n }\n}\n\n// Creates a match function for an inline scoped or simple element from a regex\nfunction inlineRegex(regex: RegExp) {\n return function match(source, state: MarkdownToJSX.State) {\n if (state._inline) {\n return regex.exec(source)\n } else {\n return null\n }\n }\n}\n\n// basically any inline element except links\nfunction simpleInlineRegex(regex: RegExp) {\n return function match(source: string, state: MarkdownToJSX.State) {\n if (state._inline || state._simple) {\n return regex.exec(source)\n } else {\n return null\n }\n }\n}\n\n// Creates a match function for a block scoped element from a regex\nfunction blockRegex(regex: RegExp) {\n return function match(source: string, state: MarkdownToJSX.State) {\n if (state._inline || state._simple) {\n return null\n } else {\n return regex.exec(source)\n }\n }\n}\n\n// Creates a match function from a regex, ignoring block/inline scope\nfunction anyScopeRegex(regex: RegExp) {\n return function match(source: string /*, state*/) {\n return regex.exec(source)\n }\n}\n\nfunction matchParagraph(\n source: string,\n state: MarkdownToJSX.State,\n prevCapturedString?: string\n) {\n if (state._inline || state._simple) {\n return null\n }\n\n if (prevCapturedString && !prevCapturedString.endsWith('\\n')) {\n // don't match continuation of a line\n return null\n }\n\n let match = ''\n\n source.split('\\n').every(line => {\n // bail out on first sign of non-paragraph block\n if (NON_PARAGRAPH_BLOCK_SYNTAXES.some(regex => regex.test(line))) {\n return false\n }\n match += line + '\\n'\n return line.trim()\n })\n\n const captured = match.trimEnd()\n if (captured == '') {\n return null\n }\n\n return [match, captured]\n}\n\nfunction reactFor(outputFunc) {\n return function nestedReactOutput(\n ast: MarkdownToJSX.ParserResult | MarkdownToJSX.ParserResult[],\n state: MarkdownToJSX.State = {}\n ): React.ReactChild[] {\n if (Array.isArray(ast)) {\n const oldKey = state._key\n const result = []\n\n // map nestedOutput over the ast, except group any text\n // nodes together into a single string output.\n let lastWasString = false\n\n for (let i = 0; i < ast.length; i++) {\n state._key = i\n\n const nodeOut = nestedReactOutput(ast[i], state)\n const isString = typeof nodeOut === 'string'\n\n if (isString && lastWasString) {\n result[result.length - 1] += nodeOut\n } else if (nodeOut !== null) {\n result.push(nodeOut)\n }\n\n lastWasString = isString\n }\n\n state._key = oldKey\n\n return result\n }\n\n return outputFunc(ast, nestedReactOutput, state)\n }\n}\n\nfunction sanitizeUrl(url: string): string | undefined {\n try {\n const decoded = decodeURIComponent(url).replace(/[^A-Za-z0-9/:]/g, '')\n\n if (decoded.match(/^\\s*(javascript|vbscript|data(?!:image)):/i)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Anchor URL contains an unsafe JavaScript/VBScript/data expression, it will not be rendered.',\n decoded\n )\n }\n\n return undefined\n }\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Anchor URL could not be decoded due to malformed syntax or characters, it will not be rendered.',\n url\n )\n }\n\n // decodeURIComponent sometimes throws a URIError\n // See `decodeURIComponent('a%AFc');`\n // http://stackoverflow.com/questions/9064536/javascript-decodeuricomponent-malformed-uri-exception\n return null\n }\n\n return url\n}\n\nfunction unescapeUrl(rawUrlString: string): string {\n return rawUrlString.replace(UNESCAPE_URL_R, '$1')\n}\n\n/**\n * Everything inline, including links.\n */\nfunction parseInline(\n parse: MarkdownToJSX.NestedParser,\n content: string,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n const isCurrentlyInline = state._inline || false\n const isCurrentlySimple = state._simple || false\n state._inline = true\n state._simple = true\n const result = parse(content, state)\n state._inline = isCurrentlyInline\n state._simple = isCurrentlySimple\n return result\n}\n\n/**\n * Anything inline that isn't a link.\n */\nfunction parseSimpleInline(\n parse: MarkdownToJSX.NestedParser,\n content: string,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n const isCurrentlyInline = state._inline || false\n const isCurrentlySimple = state._simple || false\n state._inline = false\n state._simple = true\n const result = parse(content, state)\n state._inline = isCurrentlyInline\n state._simple = isCurrentlySimple\n return result\n}\n\nfunction parseBlock(\n parse,\n content,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n state._inline = false\n return parse(content, state)\n}\n\nconst parseCaptureInline: MarkdownToJSX.Parser<\n ReturnType\n> = (capture, parse, state: MarkdownToJSX.State) => {\n return {\n _content: parseInline(parse, capture[1], state),\n }\n}\n\nfunction captureNothing() {\n return {}\n}\n\nfunction renderNothing() {\n return null\n}\n\nfunction ruleOutput(rules: MarkdownToJSX.Rules) {\n return function nestedRuleOutput(\n ast: MarkdownToJSX.ParserResult,\n outputFunc: MarkdownToJSX.RuleOutput,\n state: MarkdownToJSX.State\n ): React.ReactChild {\n return rules[ast.type]._react(ast, outputFunc, state)\n }\n}\n\nfunction cx(...args) {\n return args.filter(Boolean).join(' ')\n}\n\nfunction get(src: Object, path: string, fb?: any) {\n let ptr = src\n const frags = path.split('.')\n\n while (frags.length) {\n ptr = ptr[frags[0]]\n\n if (ptr === undefined) break\n else frags.shift()\n }\n\n return ptr || fb\n}\n\nfunction getTag(tag: string, overrides: MarkdownToJSX.Overrides) {\n const override = get(overrides, tag)\n\n if (!override) return tag\n\n return typeof override === 'function' ||\n (typeof override === 'object' && 'render' in override)\n ? override\n : get(overrides, `${tag}.component`, tag)\n}\n\nenum Priority {\n /**\n * anything that must scan the tree before everything else\n */\n MAX,\n /**\n * scans for block-level constructs\n */\n HIGH,\n /**\n * inline w/ more priority than other inline\n */\n MED,\n /**\n * inline elements\n */\n LOW,\n /**\n * bare text and stuff that is considered leftovers\n */\n MIN,\n}\n\nexport function compiler(\n markdown: string,\n options: MarkdownToJSX.Options = {}\n) {\n options.overrides = options.overrides || {}\n options.slugify = options.slugify || slugify\n options.namedCodesToUnicode = options.namedCodesToUnicode\n ? { ...namedCodesToUnicode, ...options.namedCodesToUnicode }\n : namedCodesToUnicode\n\n const createElementFn = options.createElement || React.createElement\n\n // JSX custom pragma\n // eslint-disable-next-line no-unused-vars\n function h(\n // locally we always will render a known string tag\n tag: MarkdownToJSX.HTMLTags,\n props: Parameters[1] & {\n className?: string\n id?: string\n },\n ...children\n ) {\n const overrideProps = get(options.overrides, `${tag}.props`, {})\n\n return createElementFn(\n getTag(tag, options.overrides),\n {\n ...props,\n ...overrideProps,\n className: cx(props?.className, overrideProps.className) || undefined,\n },\n ...children\n )\n }\n\n function compile(input: string): JSX.Element {\n let _inline = false\n\n if (options.forceInline) {\n _inline = true\n } else if (!options.forceBlock) {\n /**\n * should not contain any block-level markdown like newlines, lists, headings,\n * thematic breaks, blockquotes, tables, etc\n */\n _inline = SHOULD_RENDER_AS_BLOCK_R.test(input) === false\n }\n\n const arr = emitter(\n parser(\n _inline\n ? input\n : `${input.trimEnd().replace(TRIM_STARTING_NEWLINES, '')}\\n\\n`,\n {\n _inline,\n }\n )\n )\n\n while (\n typeof arr[arr.length - 1] === 'string' &&\n !arr[arr.length - 1].trim()\n ) {\n arr.pop()\n }\n\n if (options.wrapper === null) {\n return arr\n }\n\n const wrapper = options.wrapper || (_inline ? 'span' : 'div')\n let jsx\n\n if (arr.length > 1 || options.forceWrapper) {\n jsx = arr\n } else if (arr.length === 1) {\n jsx = arr[0]\n\n // TODO: remove this for React 16\n if (typeof jsx === 'string') {\n return {jsx}\n } else {\n return jsx\n }\n } else {\n // TODO: return null for React 16\n jsx = null\n }\n\n return React.createElement(wrapper, { key: 'outer' }, jsx)\n }\n\n function attrStringToMap(str: string): JSX.IntrinsicAttributes {\n const attributes = str.match(ATTR_EXTRACTOR_R)\n if (!attributes) {\n return null\n }\n\n return attributes.reduce(function (map, raw, index) {\n const delimiterIdx = raw.indexOf('=')\n\n if (delimiterIdx !== -1) {\n const key = normalizeAttributeKey(raw.slice(0, delimiterIdx)).trim()\n const value = unquote(raw.slice(delimiterIdx + 1).trim())\n\n const mappedKey = ATTRIBUTE_TO_JSX_PROP_MAP[key] || key\n const normalizedValue = (map[mappedKey] = attributeValueToJSXPropValue(\n key,\n value\n ))\n\n if (\n typeof normalizedValue === 'string' &&\n (HTML_BLOCK_ELEMENT_R.test(normalizedValue) ||\n HTML_SELF_CLOSING_ELEMENT_R.test(normalizedValue))\n ) {\n map[mappedKey] = React.cloneElement(compile(normalizedValue.trim()), {\n key: index,\n })\n }\n } else if (raw !== 'style') {\n map[ATTRIBUTE_TO_JSX_PROP_MAP[raw] || raw] = true\n }\n\n return map\n }, {})\n }\n\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n if (typeof markdown !== 'string') {\n throw new Error(`markdown-to-jsx: the first argument must be\n a string`)\n }\n\n if (\n Object.prototype.toString.call(options.overrides) !== '[object Object]'\n ) {\n throw new Error(`markdown-to-jsx: options.overrides (second argument property) must be\n undefined or an object literal with shape:\n {\n htmltagname: {\n component: string|ReactComponent(optional),\n props: object(optional)\n }\n }`)\n }\n }\n\n const footnotes: { _footnote: string; _identifier: string }[] = []\n const refs: { [key: string]: { _target: string; _title: string } } = {}\n\n /**\n * each rule's react() output function goes through our custom h() JSX pragma;\n * this allows the override functionality to be automatically applied\n */\n const rules: MarkdownToJSX.Rules = {\n blockQuote: {\n _match: blockRegex(BLOCKQUOTE_R),\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n return {\n _content: parse(\n capture[0].replace(BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, ''),\n state\n ),\n }\n },\n _react(node, output, state) {\n return (\n
    \n {output(node._content, state)}\n
    \n )\n },\n } as MarkdownToJSX.Rule<{ _content: MarkdownToJSX.ParserResult }>,\n\n breakLine: {\n _match: anyScopeRegex(BREAK_LINE_R),\n _order: Priority.HIGH,\n _parse: captureNothing,\n _react(_, __, state) {\n return
    \n },\n },\n\n breakThematic: {\n _match: blockRegex(BREAK_THEMATIC_R),\n _order: Priority.HIGH,\n _parse: captureNothing,\n _react(_, __, state) {\n return
    \n },\n },\n\n codeBlock: {\n _match: blockRegex(CODE_BLOCK_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[0].replace(/^ {4}/gm, '').replace(/\\n+$/, ''),\n _lang: undefined,\n }\n },\n\n _react(node, output, state) {\n return (\n
    \n            \n              {node._content}\n            \n          
    \n )\n },\n } as MarkdownToJSX.Rule<{\n _attrs?: ReturnType\n _content: string\n _lang?: string\n }>,\n\n codeFenced: {\n _match: blockRegex(CODE_BLOCK_FENCED_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n // if capture[3] it's additional metadata\n _attrs: attrStringToMap(capture[3] || ''),\n _content: capture[4],\n _lang: capture[2] || undefined,\n type: 'codeBlock',\n }\n },\n },\n\n codeInline: {\n _match: simpleInlineRegex(CODE_INLINE_R),\n _order: Priority.LOW,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[2],\n }\n },\n _react(node, output, state) {\n return {node._content}\n },\n } as MarkdownToJSX.Rule<{ _content: string }>,\n\n /**\n * footnotes are emitted at the end of compilation in a special
    block\n */\n footnote: {\n _match: blockRegex(FOOTNOTE_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n footnotes.push({\n _footnote: capture[2],\n _identifier: capture[1],\n })\n\n return {}\n },\n _react: renderNothing,\n },\n\n footnoteReference: {\n _match: inlineRegex(FOOTNOTE_REFERENCE_R),\n _order: Priority.HIGH,\n _parse(capture /*, parse*/) {\n return {\n _content: capture[1],\n _target: `#${options.slugify(capture[1])}`,\n }\n },\n _react(node, output, state) {\n return (\n \n {node._content}\n \n )\n },\n } as MarkdownToJSX.Rule<{ _content: string; _target: string }>,\n\n gfmTask: {\n _match: inlineRegex(GFM_TASK_R),\n _order: Priority.HIGH,\n _parse(capture /*, parse, state*/) {\n return {\n _completed: capture[1].toLowerCase() === 'x',\n }\n },\n _react(node, output, state) {\n return (\n \n )\n },\n } as MarkdownToJSX.Rule<{ _completed: boolean }>,\n\n heading: {\n _match: blockRegex(\n options.enforceAtxHeadings ? HEADING_ATX_COMPLIANT_R : HEADING_R\n ),\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n return {\n _content: parseInline(parse, capture[2], state),\n _id: options.slugify(capture[2]),\n _level: capture[1].length,\n }\n },\n _react(node, output, state) {\n return h(\n `h${node._level}`,\n { id: node._id, key: state._key },\n output(node._content, state)\n )\n },\n } as MarkdownToJSX.Rule<{\n _content: MarkdownToJSX.ParserResult\n _id: string\n _level: 1 | 2 | 3 | 4 | 5 | 6\n _tag: MarkdownToJSX.HTMLTags\n }>,\n\n headingSetext: {\n _match: blockRegex(HEADING_SETEXT_R),\n _order: Priority.MAX,\n _parse(capture, parse, state) {\n return {\n _content: parseInline(parse, capture[1], state),\n _level: capture[2] === '=' ? 1 : 2,\n type: 'heading',\n }\n },\n },\n\n htmlComment: {\n _match: anyScopeRegex(HTML_COMMENT_R),\n _order: Priority.HIGH,\n _parse() {\n return {}\n },\n _react: renderNothing,\n },\n\n image: {\n _match: simpleInlineRegex(IMAGE_R),\n _order: Priority.HIGH,\n _parse(capture /*, parse, state*/) {\n return {\n _alt: capture[1],\n _target: unescapeUrl(capture[2]),\n _title: capture[3],\n }\n },\n _react(node, output, state) {\n return (\n \n )\n },\n } as MarkdownToJSX.Rule<{\n _alt?: string\n _target: string\n _title?: string\n }>,\n\n link: {\n _match: inlineRegex(LINK_R),\n _order: Priority.LOW,\n _parse(capture, parse, state) {\n return {\n _content: parseSimpleInline(parse, capture[1], state),\n _target: unescapeUrl(capture[2]),\n _title: capture[3],\n }\n },\n _react(node, output, state) {\n return (\n \n {output(node._content, state)}\n \n )\n },\n } as MarkdownToJSX.Rule<{\n _content: MarkdownToJSX.ParserResult\n _target: string\n _title?: string\n }>,\n\n // https://daringfireball.net/projects/markdown/syntax#autolink\n linkAngleBraceStyleDetector: {\n _match: inlineRegex(LINK_AUTOLINK_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n _content: [\n {\n _content: capture[1],\n type: 'text',\n },\n ],\n _target: capture[1],\n type: 'link',\n }\n },\n },\n\n linkBareUrlDetector: {\n _match: (source, state) => {\n if (state._inAnchor) {\n return null\n }\n return inlineRegex(LINK_AUTOLINK_BARE_URL_R)(source, state)\n },\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n _content: [\n {\n _content: capture[1],\n type: 'text',\n },\n ],\n _target: capture[1],\n _title: undefined,\n type: 'link',\n }\n },\n },\n\n linkMailtoDetector: {\n _match: inlineRegex(LINK_AUTOLINK_MAILTO_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n let address = capture[1]\n let target = capture[1]\n\n // Check for a `mailto:` already existing in the link:\n if (!AUTOLINK_MAILTO_CHECK_R.test(target)) {\n target = 'mailto:' + target\n }\n\n return {\n _content: [\n {\n _content: address.replace('mailto:', ''),\n type: 'text',\n },\n ],\n _target: target,\n type: 'link',\n }\n },\n },\n\n orderedList: generateListRule(h, ORDERED),\n unorderedList: generateListRule(h, UNORDERED),\n\n newlineCoalescer: {\n _match: blockRegex(CONSECUTIVE_NEWLINE_R),\n _order: Priority.LOW,\n _parse: captureNothing,\n _react(/*node, output, state*/) {\n return '\\n'\n },\n },\n\n paragraph: {\n _match: matchParagraph,\n _order: Priority.LOW,\n _parse: parseCaptureInline,\n _react(node, output, state) {\n return

    {output(node._content, state)}

    \n },\n } as MarkdownToJSX.Rule>,\n\n ref: {\n _match: inlineRegex(REFERENCE_IMAGE_OR_LINK),\n _order: Priority.MAX,\n _parse(capture /*, parse*/) {\n refs[capture[1]] = {\n _target: capture[2],\n _title: capture[4],\n }\n\n return {}\n },\n _react: renderNothing,\n },\n\n refImage: {\n _match: simpleInlineRegex(REFERENCE_IMAGE_R),\n _order: Priority.MAX,\n _parse(capture) {\n return {\n _alt: capture[1] || undefined,\n _ref: capture[2],\n }\n },\n _react(node, output, state) {\n return (\n \n )\n },\n } as MarkdownToJSX.Rule<{ _alt?: string; _ref: string }>,\n\n refLink: {\n _match: inlineRegex(REFERENCE_LINK_R),\n _order: Priority.MAX,\n _parse(capture, parse, state) {\n return {\n _content: parse(capture[1], state),\n _fallbackContent: parse(\n capture[0].replace(SQUARE_BRACKETS_R, '\\\\$1'),\n state\n ),\n _ref: capture[2],\n }\n },\n _react(node, output, state) {\n return refs[node._ref] ? (\n \n {output(node._content, state)}\n \n ) : (\n {output(node._fallbackContent, state)}\n )\n },\n } as MarkdownToJSX.Rule<{\n _content: MarkdownToJSX.ParserResult\n _fallbackContent: MarkdownToJSX.ParserResult\n _ref: string\n }>,\n\n table: {\n _match: blockRegex(NP_TABLE_R),\n _order: Priority.HIGH,\n _parse: parseTable,\n _react(node, output, state) {\n return (\n \n \n \n {node._header.map(function generateHeaderCell(content, i) {\n return (\n \n )\n })}\n \n \n\n \n {node._cells.map(function generateTableRow(row, i) {\n return (\n \n {row.map(function generateTableCell(content, c) {\n return (\n \n )\n })}\n \n )\n })}\n \n
    \n {output(content, state)}\n
    \n {output(content, state)}\n
    \n )\n },\n } as MarkdownToJSX.Rule>,\n\n tableSeparator: {\n _match: function (source, state) {\n if (!state._inTable) {\n return null\n }\n state._inline = true\n return TABLE_SEPARATOR_R.exec(source)\n },\n _order: Priority.HIGH,\n _parse: function () {\n return { type: 'tableSeparator' }\n },\n // These shouldn't be reached, but in case they are, be reasonable:\n _react() {\n return ' | '\n },\n },\n\n text: {\n // Here we look for anything followed by non-symbols,\n // double newlines, or double-space-newlines\n // We break on any symbol characters so that this grammar\n // is easy to extend without needing to modify this regex\n _match: anyScopeRegex(TEXT_PLAIN_R),\n _order: Priority.MIN,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[0]\n // nbsp -> unicode equivalent for named chars\n .replace(HTML_CHAR_CODE_R, (full, inner) => {\n return options.namedCodesToUnicode[inner]\n ? options.namedCodesToUnicode[inner]\n : full\n }),\n }\n },\n _react(node /*, output, state*/) {\n return node._content\n },\n } as MarkdownToJSX.Rule<{ _content: string }>,\n\n textBolded: {\n _match: simpleInlineRegex(TEXT_BOLD_R),\n _order: Priority.MED,\n _parse(capture, parse, state) {\n return {\n // capture[1] -> the syntax control character\n // capture[2] -> inner content\n _content: parse(capture[2], state),\n }\n },\n _react(node, output, state) {\n return {output(node._content, state)}\n },\n } as MarkdownToJSX.Rule>,\n\n textEmphasized: {\n _match: simpleInlineRegex(TEXT_EMPHASIZED_R),\n _order: Priority.LOW,\n _parse(capture, parse, state) {\n return {\n // capture[1] -> opening * or _\n // capture[2] -> inner content\n _content: parse(capture[2], state),\n }\n },\n _react(node, output, state) {\n return {output(node._content, state)}\n },\n } as MarkdownToJSX.Rule>,\n\n textEscaped: {\n // We don't allow escaping numbers, letters, or spaces here so that\n // backslashes used in plain text still get rendered. But allowing\n // escaping anything else provides a very flexible escape mechanism,\n // regardless of how this grammar is extended.\n _match: simpleInlineRegex(TEXT_ESCAPED_R),\n _order: Priority.HIGH,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[1],\n type: 'text',\n }\n },\n },\n\n textMarked: {\n _match: simpleInlineRegex(TEXT_MARKED_R),\n _order: Priority.LOW,\n _parse: parseCaptureInline,\n _react(node, output, state) {\n return {output(node._content, state)}\n },\n } as MarkdownToJSX.Rule>,\n\n textStrikethroughed: {\n _match: simpleInlineRegex(TEXT_STRIKETHROUGHED_R),\n _order: Priority.LOW,\n _parse: parseCaptureInline,\n _react(node, output, state) {\n return {output(node._content, state)}\n },\n } as MarkdownToJSX.Rule>,\n }\n\n // Object.keys(rules).forEach(key => {\n // let { _match: match, _parse: parse } = rules[key]\n\n // rules[key]._match = (...args) => {\n // const start = performance.now()\n // const result = match(...args)\n // const delta = performance.now() - start\n\n // if (delta > 5)\n // console.warn(\n // `Slow match for ${key}: ${delta.toFixed(3)}ms, input: ${args[0]}`\n // )\n\n // return result\n // }\n\n // rules[key]._parse = (...args) => {\n // const start = performance.now()\n // const result = parse(...args)\n // const delta = performance.now() - start\n\n // if (delta > 5)\n // console.warn(`Slow parse for ${key}: ${delta.toFixed(3)}ms`)\n\n // console.log(`${key}:parse`, `${delta.toFixed(3)}ms`, args[0])\n\n // return result\n // }\n // })\n\n if (options.disableParsingRawHTML !== true) {\n rules.htmlBlock = {\n /**\n * find the first matching end tag and process the interior\n */\n _match: anyScopeRegex(HTML_BLOCK_ELEMENT_R),\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n const [, whitespace] = capture[3].match(HTML_LEFT_TRIM_AMOUNT_R)\n const trimmer = new RegExp(`^${whitespace}`, 'gm')\n const trimmed = capture[3].replace(trimmer, '')\n\n const parseFunc = containsBlockSyntax(trimmed)\n ? parseBlock\n : parseInline\n\n const tagName = capture[1].toLowerCase() as MarkdownToJSX.HTMLTags\n const noInnerParse =\n DO_NOT_PROCESS_HTML_ELEMENTS.indexOf(tagName) !== -1\n\n state._inAnchor = state._inAnchor || tagName === 'a'\n\n /**\n * if another html block is detected within, parse as block,\n * otherwise parse as inline to pick up any further markdown\n */\n const content = noInnerParse\n ? capture[3]\n : parseFunc(parse, trimmed, state)\n\n state._inAnchor = false\n\n return {\n _attrs: attrStringToMap(capture[2]),\n _content: content,\n _noInnerParse: noInnerParse,\n _tag: noInnerParse ? tagName : capture[1],\n }\n },\n _react(node, output, state) {\n return (\n // @ts-ignore\n \n {node._noInnerParse\n ? (node._content as string)\n : output(node._content as MarkdownToJSX.ParserResult, state)}\n \n )\n },\n } as MarkdownToJSX.Rule<{\n _attrs: ReturnType\n _content: string | ReturnType\n _noInnerParse: Boolean\n _tag: string\n }>\n\n rules.htmlSelfClosing = {\n /**\n * find the first matching end tag and process the interior\n */\n _match: anyScopeRegex(HTML_SELF_CLOSING_ELEMENT_R),\n _order: Priority.HIGH,\n _parse(capture /*, parse, state*/) {\n return {\n _attrs: attrStringToMap(capture[2] || ''),\n _tag: capture[1],\n }\n },\n _react(node, output, state) {\n return \n },\n } as MarkdownToJSX.Rule<{\n _attrs: ReturnType\n _tag: string\n }>\n }\n\n const parser = parserFor(rules)\n const emitter: Function = reactFor(ruleOutput(rules))\n\n const jsx = compile(markdown)\n\n if (footnotes.length) {\n return (\n
    \n {jsx}\n
    \n {footnotes.map(function createFootnote(def) {\n return (\n
    \n {def._identifier}\n {emitter(parser(def._footnote, { _inline: true }))}\n
    \n )\n })}\n
    \n
    \n )\n }\n\n return jsx\n}\n\n/**\n * A simple HOC for easy React use. Feed the markdown content as a direct child\n * and the rest is taken care of automatically.\n */\nconst Markdown: React.FC<{\n [key: string]: any\n children: string\n options?: MarkdownToJSX.Options\n}> = ({ children, options, ...props }) => {\n if (process.env.NODE_ENV !== 'production' && typeof children !== 'string') {\n console.error('markdown-to-jsx: component only accepts a single string as a child, received:', children)\n }\n\n return React.cloneElement(\n compiler(children, options),\n props as JSX.IntrinsicAttributes\n )\n}\n\nexport default Markdown\n","import * as React from 'react';\nimport { DesignTokenSizeEnum, styled } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nexport { DesignTokenSizeEnum as ListGutter };\nconst StyledList = styled.ul.withConfig({ displayName: \"StyledList\", componentId: \"sc-1v05jo\" }) `list-style-type:none;padding:0;margin:0;display:grid;row-gap:${({ theme, gutter }) => theme.size[gutter || 'static300']};`;\nexport const List = (props) => {\n const { children, gutter, isOrdered = false, appearance } = props;\n const commonProps = getCommonProps(props);\n const childrenArr = React.Children.toArray(children);\n const markerSize = Math.floor(Math.pow(childrenArr.length, 1 / 10));\n const childrenElements = childrenArr.map((child) => React.cloneElement(child, {\n appearance,\n markerSize,\n }));\n return (React.createElement(StyledList, Object.assign({ as: isOrdered ? 'ol' : 'ul', gutter: gutter }, commonProps), childrenElements));\n};\n","import * as React from 'react';\nimport { warnWithTrace } from '../helpers/logger';\nimport { css, styled, useTheme } from '../theme-provider';\nconst getTextAppearance = (theme, appearance) => {\n if (!appearance) {\n return theme.fonts['copy']['200'];\n }\n const [, fontKey, fontSizeKey] = appearance.match(/([a-z]{1,25})(\\d{1,10})/);\n return theme.fonts[fontKey][parseInt(fontSizeKey, 10)];\n};\nfunction createFontStyles(props) {\n const { appearance, theme, textColor } = props;\n const textAppearance = getTextAppearance(theme, appearance);\n if (!textAppearance) {\n warnWithTrace(`The textAppearance ${appearance} could not be found`);\n return '';\n }\n const { fontFamily, fontSize, letterSpacing, lineHeight } = textAppearance;\n return css `font-family:${fontFamily};font-size:${fontSize};line-height:${lineHeight};letter-spacing:${letterSpacing};color:${textColor};margin:unset;`;\n}\nconst translateX = css `translateX(\\n\\t${({ theme }) => theme.direction === 'rtl'\n ? `min(2em, ${theme.size.static510})`\n : `max(-2em, -${theme.size.static510})`}\\n);`;\nconst StyledListItem = styled.li.withConfig({ displayName: \"StyledListItem\", componentId: \"sc-112v5tu\" }) `${(props) => createFontStyles(props)};padding-inline-start:min(2em, ${({ theme }) => theme.size.static510});position:relative;&::before{transform:translateX(max(-2em, -${({ theme }) => theme.size.static510}));position:absolute;font-weight:bold;}ul > &::before{transform:${translateX};position:absolute;content:'\\\\2014';}ol > &{counter-increment:items;::before{transform:${translateX};content:${({ markerSize }) => `\"${'0'.repeat(markerSize)}\" counter(items)`};}}`;\nexport const ListItem = ({ children, markerSize = 2, appearance, }) => {\n const theme = useTheme();\n return (React.createElement(StyledListItem, { markerSize: markerSize, appearance: appearance, textColor: theme.colors.content.primary }, children));\n};\n","import * as React from 'react';\nimport Markdown from 'markdown-to-jsx';\nimport { CTA } from '../call-to-action';\nimport { List, ListItem } from '../list';\nimport { Text, TextTag, TokenTextAppearance } from '../text';\nimport { getCommonProps } from '../helpers/common-props';\nconst { headline500, headline400, headline200, headline100, copy200 } = TokenTextAppearance;\nconst { div, h1, h2, h3, h4, strong, p, span } = TextTag;\nconst allowedHTMLTags = [\n 'a',\n 'b',\n 'br',\n 'div',\n 'em',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'li',\n 'ol',\n 'p',\n 'span',\n 'strong',\n 'sub',\n 'sup',\n 'table',\n 'tbody',\n 'thead',\n 'td',\n 'th',\n 'tr',\n 'u',\n 'ul',\n];\nexport function createTagOverride(component, props) {\n return props ? { component, props } : { component };\n}\n// wrapper for CTA to handle required href prop\nexport const RichtextLink = (props) => (React.createElement(CTA, Object.assign({}, props, { href: (props && props.href) || '#', tag: \"a\", emphasis: \"tertiary\" })));\nconst createDefaultMdOverrides = (color) => ({\n h1: createTagOverride(Text, {\n tag: h1,\n appearance: headline500,\n color,\n }),\n h2: createTagOverride(Text, {\n tag: h2,\n appearance: headline400,\n color,\n }),\n h3: createTagOverride(Text, {\n tag: h3,\n appearance: headline200,\n color,\n }),\n h4: createTagOverride(Text, {\n tag: h4,\n appearance: headline100,\n color,\n }),\n p: createTagOverride(Text, {\n tag: p,\n appearance: copy200,\n color,\n }),\n span: createTagOverride(Text, {\n tag: span,\n appearance: copy200,\n color,\n }),\n div: createTagOverride(Text, {\n tag: div,\n appearance: copy200,\n color,\n }),\n strong: createTagOverride(Text, { tag: strong, bold: true, color }),\n a: createTagOverride(RichtextLink),\n ul: createTagOverride(List),\n ol: createTagOverride(List, { isOrdered: true }),\n li: createTagOverride(ListItem),\n});\nexport const Richtext = (props) => {\n const { markdown, overrides = {}, color, dangerouslyParseRawHTML } = props;\n const commonProps = getCommonProps(props);\n const mdOptions = React.useMemo(() => ({\n disableParsingRawHTML: dangerouslyParseRawHTML ? false : true,\n overrides: Object.assign(Object.assign({}, createDefaultMdOverrides(color)), overrides),\n createElement(type, _elementProps, children) {\n if (typeof type === 'string' && !allowedHTMLTags.includes(type)) {\n return React.createElement(React.Fragment, null, children);\n }\n // biome-ignore lint/suspicious/noExplicitAny: there's no better type for arguments, literally could be anything\n // biome-ignore lint/correctness/noUndeclaredVariables: arguments cannot be undeclared in non-arrow functions\n // biome-ignore lint/style/noArguments: I'd rather pass type, elementProps, and children as normal arguments to React.createElement, but somehow that breaks tables somewhere deep in markdown-to-jsx. ¯\\_(ツ)_/¯\n return React.createElement.apply(this, arguments);\n },\n wrapper: React.Fragment,\n forceWrapper: true,\n }), [dangerouslyParseRawHTML, color, overrides]);\n return (React.createElement(Markdown, Object.assign({ options: mdOptions }, commonProps), markdown));\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 { 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 {\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 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\n// No renovador\n\nexport const CTAsMotor = [\n\t{\n\t\tlabel: 'Gasolina',\n\t\tvalue: 'gasolina',\n\t},\n\t{\n\t\tlabel: 'Diesel',\n\t\tvalue: 'diesel',\n\t},\n\t{\n\t\tlabel: 'Híbrido',\n\t\tvalue: 'híbrido',\n\t},\n\t{\n\t\tlabel: 'Eléctrico',\n\t\tvalue: 'electrico',\n\t},\n];\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: '14',\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: '13',\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\nexport const CTAsMotivoRenovadorNoTengoExclusivo = [\n\t{\n\t\tlabel: 'Nada',\n\t\tvalue: 'nada',\n\t},\n];\n\nexport const CTAsUsadoNuevo = [\n\t{\n\t\tlabel: 'He comprado un vehículo nuevo',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'He comprado un vehículo de ocasión',\n\t\tvalue: '2',\n\t},\n];\n\nexport const CTAsLugarCompra = [\n\t{\n\t\tlabel: 'Concesionario oficial',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'Concesionario no oficial',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'Empresa de Renting/Leasing',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'Compra-venta privada',\n\t\tvalue: '4',\n\t},\n];\n\nexport const CTAsNuevoOcasión = [\n\t{\n\t\tlabel: 'Uno nuevo',\n\t\tvalue: 'nuevo',\n\t},\n\t{\n\t\tlabel: 'Uno de ocasión',\n\t\tvalue: 'ocasión',\n\t},\n];\n\nexport const CTAsFormasMovilidad = [\n\t{\n\t\tlabel: 'Coche compartido (car sharing)',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'Moto compartida (moto sharing)',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'Transporte público',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'Patinete',\n\t\tvalue: '4',\n\t},\n\t{\n\t\tlabel: 'Moto',\n\t\tvalue: '5',\n\t},\n\t{\n\t\tlabel: 'Bicicleta',\n\t\tvalue: '6',\n\t},\n\t{\n\t\tlabel: 'Otros',\n\t\tvalue: '8',\n\t},\n];\n\nexport const CTAsFormasMovilidadExclusive = [\n\t{\n\t\tlabel: 'No tengo necesidad de utilizar ningún medio de transporte para desplazarme',\n\t\tvalue: '7',\n\t},\n];\n\nexport const CTAsRazones = [\n\t{\n\t\tlabel: 'Económicas',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'Medioambientales',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'Ahorro de tiempo',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'Otras razones',\n\t\tvalue: '4',\n\t},\n];\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 CTAsNuevoOcasión,\n CTAsUsadoNuevo,\n CTAsFormasMovilidad,\n CTAsRazones, \n contactoOptionsTurismos,\n CTAsLugarCompra\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 'tipoCoche':\n return changeValueForLabel(CTAsNuevoOcasión, fields, field);\n case 'usadoNuevo':\n return changeValueForLabel(CTAsUsadoNuevo, fields, field);\n case 'desplazamiento':\n return changeValueForLabel(CTAsDesplazamientoTaigo, fields, field);\n case 'motivacionCompra' : \n return changeValueForLabel(CTAsMotivacionCompraTaigo, fields, field);\n case 'lugarCompra':\n return changeValueForLabel(CTAsLugarCompra, 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 case 'formasMovilidad':\n return formatMultipleOptionText(CTAsFormasMovilidad, fields, field); \n case 'razones':\n return formatMultipleOptionText(CTAsRazones, fields, field); \n default:\n return getUnknowOutput(fields, field);\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-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 | '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\tWidgetTrigger,\n\tSuvperheroesTrigger,\n\tAutosubmitTrigger,\n\tConcursoRodajeTrigger,\n\tPlanIdealTrigger,\n\tFeedbackTrigger,\n\tTestIDTrigger,\n\tNavidadGTI2024Trigger,\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\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 '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\tLegalesMontmelo,\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 showMontmeloLegales = today.isBetween('2024-06-26', '2024-08-15', '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' && showMontmeloLegales ? (\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 React, { useEffect } from 'react';\nimport { Text, styled } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { Email, PantallaNombreApellido, Telefono, CarlineSelect, ContactInfoWrapper } from 'src/components';\nimport { MapaEmpresas, EmpresaInfoComponent, ConfirmacionEmpresas, ThankYouEmpresas } from 'src/forms';\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 } from 'src/types';\nimport {\n formatPrefix,\n FormController,\n removeWhiteSpace,\n useFaContent,\n useGetInstalaciones,\n useOneFormContext,\n} from 'src/feature-app';\nimport { useInitializeLeadForm } from '../Leads';\nimport { Fleet } from './Fleet';\nimport { formatHeaders, formatFlags, formDataBuilder, getDpsFields } from '../format-fields';\nimport { useGetWaidLitera } from 'src/feature-app/hooks/use-get-waid-litera';\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]': 'PENDIENTE',\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 {\n FormController,\n removeWhiteSpace,\n useFaContent,\n useGetInstalaciones,\n useGetWaidLitera,\n useOneFormContext\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n CarlineBase,\n FormDataGroup,\n FormDataHeaders,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport {\n getDescInterestCarline,\n getConfiguradorComercialesData,\n getOfertasComercialesData\n} from './helpers';\nimport { LeadGenericoFormProps } from './LeadGenericoForm';\nimport { MultipleCTASelection } from 'src/components';\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'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]': 'PENDIENTE', -> Pendiente mapear\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 FormController,\n removeWhiteSpace,\n useFaContent,\n useFeatureAppConfig,\n useGetInstalaciones,\n useGetWaidLitera,\n useOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n CarlineBase,\n FormDataGroup,\n FormDataHeaders,\n FormInfo,\n Horario,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { ThankYouLeads } from '.';\nimport {\n formatFields,\n formatFlags,\n formatHeaders,\n formDataBuilder,\n getDpsFields\n} from '../format-fields';\nimport {\n getDescInterestCarline,\n getConfiguradorData,\n getOfertasData,\n getMatchData,\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]': 'PENDIENTE', -> Pendiente mapear\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'fields[COMMENTS_PERSON]': fields.comments,\n\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 const { fields } = formData;\n const { marketingCodeData, marketingCodeResponse } = fields;\n\n if (!marketingCodeResponse) return null;\n //const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\n const type = getOption(\"TYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const salesgroup = getOption(\"SALESGROUP\",marketingCodeResponse?.content.consolidatedData.options);\n const trimline = getModelFilter(\"EquipmentLine\",marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\n let configuradorData = {\n 'fields[VEH_INTEREST_ID]': marketingCodeResponse?.content.consolidatedData.model_code.split(\"_\")[1],\n 'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n 'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n 'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(\":\")[1],\n 'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n 'fields[VEH_INTEREST_DETAILS]': type.option.description,\n // 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n 'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n /*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n };\n\n //Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n if(isOfertasForm(fields.formName)){\n delete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n // delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n }\n\n return configuradorData;\n};\n\nexport const getConfiguradorComercialesData = async (formData: FormDataGroup) => {\n const { fields } = formData;\n const { marketingCodeData, marketingCodeResponse } = fields;\n\n if (!marketingCodeResponse) return null;\n //const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n console.log(marketingCodeResponse);\n\n const type = getOption(\"TYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const salesgroup = getOption(\"SALESGROUP\",marketingCodeResponse?.content.consolidatedData.options);\n const trimline = getModelFilter(\"EquipmentLine\",marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\n\n let configuradorData = {\n 'fields[VEH_INTEREST_ID]': `${marketingCodeResponse?.content.consolidatedData.model_code.split(\"_\")[1]}_${salesgroup?.option.code.replace('SALESGROUP:','')}`,\n 'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n 'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n 'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(\":\")[1],\n 'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n 'fields[VEH_INTEREST_DETAILS]': type.option.description,\n // 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n 'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n /*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n };\n\n //Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n if(isOfertasForm(fields.formName)){\n delete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n // delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n }\n\n return 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 [loadingPresubmit, setLoadingPresubmit] = useState(true);\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 useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n sendPresubmit();\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 const NuevoFormData: Partial = {\n headers: {},\n\t\tfields: { \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\t\tconst 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\t\t} : null;\n\n return {\n\t\t\t...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n\t\t\t...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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 loading || loadingPresubmit || !steps ? 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 { useInitializeNoCompraForm, NoCompraFormProps, MapaNoCompra, PantallaOtrosModelos, ConfirmacionNoCompra, ThankYouNoCompra, getCommonFormData, RatingSteps } 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 [loadingPresubmit, setLoadingPresubmit] = useState(true);\n const store = useStore();\n\n const ctasContactoConcesionario = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No he tenido contacto con el concesionario',\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 concesionario 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 concesionario 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 hubiera encantado que fuera un Volkswagen. ¿Nos ayudas a mejorar?\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\t\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 useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n sendPresubmit();\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 } : 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\t\t\t'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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 loading || loadingPresubmit || !steps ? null : ;\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 Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, PantallaNombreApellido, DetalleMotivo, MultipleCTASelection, MultipleOptionCTAs } 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 { useInitializeNoCompraForm, NoCompraFormProps, ConfirmacionNoCompra, ThankYouNoCompra, getCommonFormData, MapaNoCompra } 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 [loadingPresubmit, setLoadingPresubmit] = useState(true);\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\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 useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n sendPresubmit();\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?.TXT_2_Surname__c ? idPerson.TXT_2_Surname__c : ''),\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 } : 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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 loading || loadingPresubmit || !steps ? 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}","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'),\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","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, CTAsUsadoNuevo, CTAsLugarCompra } from 'src/feature-app/InputsValues';\n\nexport enum NoRenovacionNewCar {\n Introduccion,\n Modelo,\n UsadoNuevo,\n LugarCompra,\n Motivo,\n MasInformacion,\n ProblemasVehiculo,\n Confirmacion,\n}\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 { formData } = useSelector((state: OneFormState) => state);\n const [loadingPresubmit, setLoadingPresubmit] = useState(false);\n const { selectMotivos, brand } = formData.fields;\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 sendPresubmit();\n }, []);\n\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: NoRenovacionNewCar.Introduccion,\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: NoRenovacionNewCar.Modelo,\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: NoRenovacionNewCar.UsadoNuevo,\n name: 'usadoNuevo',\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: NoRenovacionNewCar.LugarCompra,\n name: 'lugarCompra',\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: NoRenovacionNewCar.Motivo,\n name: 'selectMotivos',\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: NoRenovacionNewCar.ProblemasVehiculo,\n name: 'selectMotivosProblems',\n },\n {\n title: (\n <>\n \n ¿Nos puedes decir cuáles{' '}\n \n son?*\n \n \n \n ),\n fields: } />,\n screenIndex: NoRenovacionNewCar.MasInformacion,\n name: 'masInformacion',\n },\n {\n fields: ,\n screenIndex: NoRenovacionNewCar.Confirmacion,\n name: 'Confirmacion',\n },\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 useEffect(() => {\n if (brand) {\n updateSteps('lugarCompra', brand == '36', 'usadoNuevo');\n updateSteps('selectMotivos', brand != '36', 'usadoNuevo');\n updateSteps('selectMotivosProblems', brand != '36', 'selectMotivos');\n updateSteps('masInformacion', brand != '36', 'selectMotivosProblems');\n };\n }, [brand]);\n\n useEffect(() => {\n if (selectMotivos){\n if (!(selectMotivos.includes('14') && selectMotivos.includes('13'))) {\n if (selectMotivos.includes('14')) {\n updateSteps('masInformacion', false);\n }else if (selectMotivos.includes('13')) {\n updateSteps('selectMotivosProblems', false);\n }else{\n updateSteps('masInformacion', false);\n updateSteps('selectMotivosProblems', false);\n }\n }\n }\n }, [selectMotivos]);\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 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.selectMotivosProblems){\n motivos = motivos.replace(\"14\", fields.selectMotivosProblems);\n }else{\n motivos = deleteProblema(motivos);\n }\n\n motivos = orderString(motivos);\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]': 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\n if (motivosProblema != null) {\n const array = motivosProblema.split(\",\");\n \n if (array.length == 1 && (array[0] == \"14\" || array[0] == \"nada\")) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != \"14\");\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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 loading || loadingPresubmit || !steps ? 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 {\n CTAsSiNo,\n CTAsNuevoOcasión,\n CTAsMotivoRenovador,\n CTAsMotivoRenovadorNoTengoExclusivo,\n CTAsMotivoRenovadorProblemas\n} from 'src/feature-app/InputsValues/CTAsObjects';\n\nconst 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\nconst 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\nconst getModeloInteresOutputs = (quieroVolkswagen: string) => {\n if (quieroVolkswagen === 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n};\nconst getModeloInteresOutputsText = (quieroVolkswagen: string) => {\n if (quieroVolkswagen === 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n};\n\nconst 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};\nconst 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\nconst getDudasFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen === 'true') {\n return (\n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n};\n\nexport enum NoRenovacionSigueBuscando {\n Introduccion,\n QuieroVolkswagen,\n Modelo,\n TipoCoche,\n OtraMarca,\n Motivo,\n MasInformacion,\n ProblemasVehiculo,\n // QuieroContacto,\n Mapa,\n Confirmacion,\n}\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 [loadingPresubmit, setLoadingPresubmit] = useState(false);\n const store = useStore();\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 sendPresubmit();\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 newSteps = resetStepsScreenIndex(newSteps);\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 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 newSteps = resetStepsScreenIndex(newSteps);\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 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: NoRenovacionSigueBuscando.Introduccion,\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: NoRenovacionSigueBuscando.QuieroVolkswagen,\n name: 'quieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: <>, // Se actualiza en updateModeloInteresStep\n fields: <>, // Se actualiza en updateModeloInteresStep\n screenIndex: NoRenovacionSigueBuscando.Modelo,\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: NoRenovacionSigueBuscando.TipoCoche,\n name: 'tipoCoche',\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: NoRenovacionSigueBuscando.OtraMarca,\n name: 'otraMarca',\n showOverflow: true,\n },\n {\n title: getDudasTitle(quieroVolkswagen),\n alternateTitle: getDudasAlternatTitle(quieroVolkswagen),\n fields: getDudasFields(quieroVolkswagen),\n screenIndex: NoRenovacionSigueBuscando.Motivo,\n name: 'selectMotivos',\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: NoRenovacionSigueBuscando.ProblemasVehiculo,\n name: 'selectMotivosProblems',\n },\n {\n title: (\n <>\n ¿Qué otros motivos te hacen dudar?\n \n ),\n fields: (\n } />\n ),\n screenIndex: NoRenovacionSigueBuscando.MasInformacion,\n name: 'masInformacion',\n },\n {\n screenIndex: NoRenovacionSigueBuscando.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: NoRenovacionSigueBuscando.Confirmacion,\n name: 'Confirmacion',\n },\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 //mostrar u ocultar pantalla mas información según los ctas de dudas seleccionados\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 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(\"14\", 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.masInformacion\n ? 'Motivos de duda indicados por el cliente en la encuesta: ' + fields.masInformacion\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] == \"14\" || array[0] == \"nada\")) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != \"14\");\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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 //activación de lógica para la gestion de steps\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('14') && selectMotivos.includes('13'))) {\n if (selectMotivos.includes('14')) {\n updateSteps('masInformacion', false);\n }else if (selectMotivos.includes('13')) {\n updateSteps('selectMotivosProblems', false);\n }else{\n updateSteps('masInformacion', false);\n updateSteps('selectMotivosProblems', false);\n }\n }\n }\n }, [selectMotivos]);\n\n return loading || loadingPresubmit || !steps ? 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';\nimport { CTAsFormasMovilidad, CTAsRazones, CTAsFormasMovilidadExclusive } from 'src/feature-app/InputsValues';\n\nexport enum NoRenovacionNoBuscaSteps {\n Introduccion,\n FormasMovilidad,\n MasInformacion,\n Razones,\n MasInformacionRazones,\n Confirmacion,\n}\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 [loadingPresubmit, setLoadingPresubmit] = useState(false);\n const [loadingForm, setLoadingForm] = useState(false);\n\n const { motivo, razones, formasMovilidad } = formData.fields;\n\n const handleSteps = (formasMovilidad: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...steps];\n setLoadingForm(true);\n if (formasMovilidad.includes('7')) {\n const aux = formasMovilidad.split(',');\n if (aux.length <= 1) {\n newSteps = removeMultipleSteps(newSteps, ['razones', 'masInformacionRazones']);\n // newSteps = removeStep(newSteps, 'razones');\n // newSteps = removeStep(newSteps, 'masInformacionRazones');\n }\n } else {\n const razones = getIndexInSteps(newSteps, 'razones');\n const masInformacionRazones = getIndexInSteps(newSteps, 'masInformacionRazones');\n\n if (razones === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'razones', screenIndex);\n }\n if (masInformacionRazones === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'masInformacionRazones', screenIndex);\n }\n }\n\n newSteps = resetStepsScreenIndex(newSteps);\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 setTimeout(() => {\n handleNextStep();\n setLoadingForm(false);\n }, 0);\n };\n\n const handleDetalleFormasMovilidad = (motivo: Array) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (formasMovilidad.includes('8')) {\n const stepIndex = getIndexInSteps(newSteps, 'masInformacion');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'masInformacion', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'masInformacion');\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 handleDetalleRazones = (razones: Array) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (razones.includes('8')) {\n const stepIndex = getIndexInSteps(newSteps, 'masInformacionRazones');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'masInformacionRazones', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'masInformacionRazones');\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 useEffect(() => {\n const sendPresubmit = async () => {\n const result = await sendForm(true);\n\n if (!result) {\n handleError();\n }\n setLoadingPresubmit(false);\n };\n\n sendPresubmit();\n }, []);\n\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: NoRenovacionNoBuscaSteps.Introduccion,\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: NoRenovacionNoBuscaSteps.FormasMovilidad,\n name: 'formasMovilidad',\n outputs: ['formasMovilidad'],\n outputsText: ['formasMovilidad'],\n },\n {\n title: (\n <>\n ¿Nos explicas en{' '}\n \n qué medio te vas a{' '}\n \n desplazar?*\n \n \n \n ),\n fields: } />,\n screenIndex: NoRenovacionNoBuscaSteps.MasInformacion,\n name: 'masInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\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: NoRenovacionNoBuscaSteps.Razones,\n name: 'razones',\n outputs: ['razones'],\n outputsText: ['razones'],\n },\n {\n title: (\n <>\n \n ¿Puedes{' '}\n \n compartirlas?*\n \n \n \n ),\n fields: } />,\n screenIndex: NoRenovacionNoBuscaSteps.MasInformacionRazones,\n name: 'masInformacionRazones',\n outputs: ['masInformacionRazones'],\n outputsText: ['masInformacionRazones'],\n },\n {\n fields: ,\n screenIndex: NoRenovacionNoBuscaSteps.Confirmacion,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\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 let formasMovilidad = orderString(fields.formasMovilidad);\n let razones = orderString(fields.razones);\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_07]': formasMovilidad,\n 'fields[SURVEY_ANSWER_08]': fields.masInformacion,\n 'fields[SURVEY_ANSWER_09]': razones,\n 'fields[SURVEY_ANSWER_10]': fields.masInformacionRazones,\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 dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\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 useEffect(() => {\n if (formasMovilidad) {\n handleSteps(formasMovilidad);\n handleDetalleFormasMovilidad(formasMovilidad);\n }\n }, [formasMovilidad]);\n\n useEffect(() => {\n if (razones) handleDetalleRazones(razones);\n }, [razones]);\n\n return loadingForm || loading || loadingPresubmit || !steps ? null : (\n \n );\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 * 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